langwatch 0.7.4 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +48 -0
- package/dist/{add-XLEUNNZI.mjs → add-3MRUJN46.mjs} +5 -5
- package/dist/{add-Y543UEBX.js → add-S6GXVJE5.js} +10 -10
- package/dist/{add-Y543UEBX.js.map → add-S6GXVJE5.js.map} +1 -1
- package/dist/{chunk-VMI2XPCC.mjs → chunk-2BFLRROK.mjs} +2 -2
- package/dist/{chunk-VMI2XPCC.mjs.map → chunk-2BFLRROK.mjs.map} +1 -1
- package/dist/{chunk-BKVMRI32.js → chunk-4NB5C6GH.js} +2 -2
- package/dist/{chunk-BKVMRI32.js.map → chunk-4NB5C6GH.js.map} +1 -1
- package/dist/{chunk-MZ2O5ZJL.js → chunk-4XNHIYPE.js} +121 -32
- package/dist/chunk-4XNHIYPE.js.map +1 -0
- package/dist/{chunk-GC7VHCU5.js → chunk-BYG3QS2X.js} +35 -72
- package/dist/chunk-BYG3QS2X.js.map +1 -0
- package/dist/{chunk-HRPIRC67.mjs → chunk-LW62ZSAR.mjs} +109 -20
- package/dist/chunk-LW62ZSAR.mjs.map +1 -0
- package/dist/{chunk-QPHTXDJ5.mjs → chunk-M57C3BU5.mjs} +2 -2
- package/dist/{chunk-J4YLJUX5.js → chunk-PQZCGMWT.js} +9 -9
- package/dist/{chunk-J4YLJUX5.js.map → chunk-PQZCGMWT.js.map} +1 -1
- package/dist/{chunk-MBXENFRR.mjs → chunk-W3V3NX7P.mjs} +34 -71
- package/dist/chunk-W3V3NX7P.mjs.map +1 -0
- package/dist/cli/index.js +7 -7
- package/dist/cli/index.mjs +7 -7
- package/dist/{create-YUOTG2TS.mjs → create-KEEZMNMH.mjs} +2 -2
- package/dist/{create-ACGBGFVO.js → create-SWMCGN2Y.js} +3 -3
- package/dist/{create-ACGBGFVO.js.map → create-SWMCGN2Y.js.map} +1 -1
- package/dist/{implementation-JKO2kHPl.d.ts → implementation-TF91Gn0l.d.ts} +154 -20
- package/dist/{implementation-BhgBtqp4.d.mts → implementation-pq0g2B5y.d.mts} +154 -20
- package/dist/index.d.mts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +11 -11
- package/dist/index.mjs +3 -3
- package/dist/{init-UFZF26SF.js → init-DWQKRJV4.js} +3 -3
- package/dist/{init-UFZF26SF.js.map → init-DWQKRJV4.js.map} +1 -1
- package/dist/{init-ED3OW3TK.mjs → init-EHVUZ7TR.mjs} +2 -2
- package/dist/{list-LULA2BWM.js → list-HV2QUNQG.js} +7 -7
- package/dist/{list-LULA2BWM.js.map → list-HV2QUNQG.js.map} +1 -1
- package/dist/{list-5C6V2OEO.mjs → list-XDVFYGVF.mjs} +4 -4
- package/dist/{login-XY2RAXYR.mjs → login-AVTZS3NG.mjs} +2 -2
- package/dist/{login-RUMQOHW4.js → login-CHJE7P5F.js} +3 -3
- package/dist/{login-RUMQOHW4.js.map → login-CHJE7P5F.js.map} +1 -1
- package/dist/observability-sdk/index.d.mts +4 -3
- package/dist/observability-sdk/index.d.ts +4 -3
- package/dist/observability-sdk/index.js +3 -3
- package/dist/observability-sdk/index.mjs +2 -2
- 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/setup/node/index.js +10 -10
- package/dist/observability-sdk/setup/node/index.mjs +2 -2
- package/dist/{remove-GA3OQ5AQ.mjs → remove-5W3I5SID.mjs} +4 -4
- package/dist/{remove-NIEHQCQN.js → remove-XUWNNMPS.js} +6 -6
- package/dist/{remove-NIEHQCQN.js.map → remove-XUWNNMPS.js.map} +1 -1
- package/dist/{sync-J2FH4OZC.js → sync-DK52GMDG.js} +8 -8
- package/dist/{sync-J2FH4OZC.js.map → sync-DK52GMDG.js.map} +1 -1
- package/dist/{sync-X3KE2DNE.mjs → sync-DRZDUADJ.mjs} +5 -5
- package/dist/{types-DOVKZCnN.d.ts → types-CAQOMGrf.d.ts} +141 -33
- package/dist/{types-DoNHhlm6.d.mts → types-DhEYjnRD.d.mts} +141 -33
- package/package.json +1 -1
- package/dist/chunk-GC7VHCU5.js.map +0 -1
- package/dist/chunk-HRPIRC67.mjs.map +0 -1
- package/dist/chunk-MBXENFRR.mjs.map +0 -1
- package/dist/chunk-MZ2O5ZJL.js.map +0 -1
- /package/dist/{add-XLEUNNZI.mjs.map → add-3MRUJN46.mjs.map} +0 -0
- /package/dist/{chunk-QPHTXDJ5.mjs.map → chunk-M57C3BU5.mjs.map} +0 -0
- /package/dist/{create-YUOTG2TS.mjs.map → create-KEEZMNMH.mjs.map} +0 -0
- /package/dist/{init-ED3OW3TK.mjs.map → init-EHVUZ7TR.mjs.map} +0 -0
- /package/dist/{list-5C6V2OEO.mjs.map → list-XDVFYGVF.mjs.map} +0 -0
- /package/dist/{login-XY2RAXYR.mjs.map → login-AVTZS3NG.mjs.map} +0 -0
- /package/dist/{remove-GA3OQ5AQ.mjs.map → remove-5W3I5SID.mjs.map} +0 -0
- /package/dist/{sync-X3KE2DNE.mjs.map → sync-DRZDUADJ.mjs.map} +0 -0
package/README.md
CHANGED
|
@@ -170,6 +170,54 @@ span.end();
|
|
|
170
170
|
|
|
171
171
|
## Advanced
|
|
172
172
|
|
|
173
|
+
### Filtering Spans
|
|
174
|
+
|
|
175
|
+
Control which spans are sent to LangWatch using the built-in filter DSL. By default, HTTP request spans are excluded to reduce framework noise.
|
|
176
|
+
|
|
177
|
+
#### Using Presets
|
|
178
|
+
|
|
179
|
+
```ts
|
|
180
|
+
import { LangWatchTraceExporter } from "langwatch";
|
|
181
|
+
|
|
182
|
+
// Keep only Vercel AI SDK spans
|
|
183
|
+
const exporter = new LangWatchTraceExporter({
|
|
184
|
+
filters: [{ preset: "vercelAIOnly" }],
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
// No filtering (send all spans)
|
|
188
|
+
const exporter = new LangWatchTraceExporter({
|
|
189
|
+
filters: null, // or filters: []
|
|
190
|
+
});
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
#### Custom Filters
|
|
194
|
+
|
|
195
|
+
```ts
|
|
196
|
+
// Include only specific scopes
|
|
197
|
+
const exporter = new LangWatchTraceExporter({
|
|
198
|
+
filters: [
|
|
199
|
+
{ include: { instrumentationScopeName: [{ equals: "ai" }] } },
|
|
200
|
+
],
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
// Exclude spans by name pattern
|
|
204
|
+
const exporter = new LangWatchTraceExporter({
|
|
205
|
+
filters: [
|
|
206
|
+
{ exclude: { name: [{ startsWith: "internal." }] } },
|
|
207
|
+
],
|
|
208
|
+
});
|
|
209
|
+
|
|
210
|
+
// Combine filters (AND pipeline)
|
|
211
|
+
const exporter = new LangWatchTraceExporter({
|
|
212
|
+
filters: [
|
|
213
|
+
{ include: { instrumentationScopeName: [{ equals: "ai" }] } },
|
|
214
|
+
{ preset: "excludeHttpRequests" },
|
|
215
|
+
],
|
|
216
|
+
});
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
**Learn more:** See the [Filtering Spans Tutorial](https://docs.langwatch.ai/integration/typescript/tutorials/filtering-spans) for comprehensive examples and best practices.
|
|
220
|
+
|
|
173
221
|
### Custom OpenTelemetry Integration
|
|
174
222
|
```ts
|
|
175
223
|
import { FilterableBatchSpanProcessor, LangWatchExporter } from "langwatch";
|
|
@@ -4,15 +4,15 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
PromptsApiService,
|
|
6
6
|
PromptsError
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-M57C3BU5.mjs";
|
|
8
8
|
import "./chunk-FEL5FLHA.mjs";
|
|
9
9
|
import "./chunk-DQU2PZAL.mjs";
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-LW62ZSAR.mjs";
|
|
11
|
+
import "./chunk-2BFLRROK.mjs";
|
|
12
12
|
import "./chunk-I2SOBPAF.mjs";
|
|
13
13
|
import {
|
|
14
14
|
ensureProjectInitialized
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-W3V3NX7P.mjs";
|
|
16
16
|
import {
|
|
17
17
|
FileManager,
|
|
18
18
|
PromptConverter
|
|
@@ -143,4 +143,4 @@ var addCommand = async (name, options) => {
|
|
|
143
143
|
export {
|
|
144
144
|
addCommand
|
|
145
145
|
};
|
|
146
|
-
//# sourceMappingURL=add-
|
|
146
|
+
//# sourceMappingURL=add-3MRUJN46.mjs.map
|
|
@@ -4,15 +4,15 @@ var _chunkF6E4XQQUjs = require('./chunk-F6E4XQQU.js');
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunkPQZCGMWTjs = require('./chunk-PQZCGMWT.js');
|
|
8
8
|
require('./chunk-SNDTNU3T.js');
|
|
9
9
|
require('./chunk-BP2WGNIV.js');
|
|
10
|
-
require('./chunk-
|
|
11
|
-
require('./chunk-
|
|
10
|
+
require('./chunk-4XNHIYPE.js');
|
|
11
|
+
require('./chunk-4NB5C6GH.js');
|
|
12
12
|
require('./chunk-CKIZDPIJ.js');
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var _chunkBYG3QS2Xjs = require('./chunk-BYG3QS2X.js');
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
@@ -38,7 +38,7 @@ var addLocalFile = async (name, localFilePath) => {
|
|
|
38
38
|
}
|
|
39
39
|
try {
|
|
40
40
|
_chunkWAAQLJ67js.FileManager.loadLocalPrompt(localFilePath);
|
|
41
|
-
await
|
|
41
|
+
await _chunkBYG3QS2Xjs.ensureProjectInitialized.call(void 0, );
|
|
42
42
|
const promptsConfig = _chunkWAAQLJ67js.FileManager.loadPromptsConfig();
|
|
43
43
|
promptsConfig.prompts[name] = `file:${localFilePath}`;
|
|
44
44
|
_chunkWAAQLJ67js.FileManager.savePromptsConfig(promptsConfig);
|
|
@@ -78,7 +78,7 @@ var addCommand = async (name, options) => {
|
|
|
78
78
|
return;
|
|
79
79
|
}
|
|
80
80
|
_chunkF6E4XQQUjs.checkApiKey.call(void 0, );
|
|
81
|
-
const promptsApiService = new (0,
|
|
81
|
+
const promptsApiService = new (0, _chunkPQZCGMWTjs.PromptsApiService)();
|
|
82
82
|
const version = (_a = options.version) != null ? _a : "latest";
|
|
83
83
|
const spinner = _ora2.default.call(void 0,
|
|
84
84
|
`Adding ${_chalk2.default.cyan(`${name}@${version}`)}...`
|
|
@@ -91,7 +91,7 @@ var addCommand = async (name, options) => {
|
|
|
91
91
|
process.exit(1);
|
|
92
92
|
}
|
|
93
93
|
spinner.stop();
|
|
94
|
-
await
|
|
94
|
+
await _chunkBYG3QS2Xjs.ensureProjectInitialized.call(void 0, );
|
|
95
95
|
spinner.start(`Adding ${_chalk2.default.cyan(`${name}@${version}`)}...`);
|
|
96
96
|
const materializedPrompt = _chunkWAAQLJ67js.PromptConverter.fromApiToMaterialized(prompt);
|
|
97
97
|
const savedPath = _chunkWAAQLJ67js.FileManager.saveMaterializedPrompt(
|
|
@@ -116,7 +116,7 @@ var addCommand = async (name, options) => {
|
|
|
116
116
|
);
|
|
117
117
|
} catch (error) {
|
|
118
118
|
spinner.fail();
|
|
119
|
-
if (error instanceof
|
|
119
|
+
if (error instanceof _chunkPQZCGMWTjs.PromptsError) {
|
|
120
120
|
console.error(_chalk2.default.red(`Error: ${error.message}`));
|
|
121
121
|
} else {
|
|
122
122
|
console.error(
|
|
@@ -128,7 +128,7 @@ var addCommand = async (name, options) => {
|
|
|
128
128
|
process.exit(1);
|
|
129
129
|
}
|
|
130
130
|
} catch (error) {
|
|
131
|
-
if (error instanceof
|
|
131
|
+
if (error instanceof _chunkPQZCGMWTjs.PromptsError) {
|
|
132
132
|
console.error(_chalk2.default.red(`Error: ${error.message}`));
|
|
133
133
|
} else {
|
|
134
134
|
console.error(
|
|
@@ -143,4 +143,4 @@ var addCommand = async (name, options) => {
|
|
|
143
143
|
|
|
144
144
|
|
|
145
145
|
exports.addCommand = addCommand;
|
|
146
|
-
//# sourceMappingURL=add-
|
|
146
|
+
//# sourceMappingURL=add-S6GXVJE5.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/add-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/add-S6GXVJE5.js","../src/cli/commands/add.ts"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B;AACA;ACtBA,+DAAoB;AACpB,uEAAsB;AACtB,4EAAkB;AAClB,oEAAgB;AAahB,IAAM,aAAA,EAAe,MAAA,CACnB,IAAA,EACA,aAAA,EAAA,GACkB;AAElB,EAAA,GAAA,CAAI,CAAI,EAAA,CAAA,UAAA,CAAW,aAAa,CAAA,EAAG;AACjC,IAAA,OAAA,CAAQ,KAAA,CAAM,eAAA,CAAM,GAAA,CAAI,CAAA,6BAAA,EAAgC,aAAa,CAAA,CAAA;AACvD,IAAA;AAChB,EAAA;AAE6C,EAAA;AACnC,IAAA;AACwD,MAAA;AAChE,IAAA;AACc,IAAA;AAChB,EAAA;AAGI,EAAA;AACuC,IAAA;AAGV,IAAA;AAGqB,IAAA;AACD,IAAA;AACR,IAAA;AAGF,IAAA;AACpB,IAAA;AACV,MAAA;AAAA;AACE,MAAA;AACG,MAAA;AAAA;AAChB,IAAA;AACgC,IAAA;AAExB,IAAA;AACA,MAAA;AACiD,QAAA;AACnD,UAAA;AACD,QAAA;AACH,MAAA;AACF,IAAA;AACc,EAAA;AAC6C,IAAA;AACnD,IAAA;AAC0D,MAAA;AAClE,IAAA;AACc,IAAA;AAChB,EAAA;AACF;AAKoB;AAzEpB,EAAA;AA0EM,EAAA;AAE+B,IAAA;AAC8B,MAAA;AAC/C,MAAA;AAChB,IAAA;AAGuB,IAAA;AACqB,MAAA;AAC1C,MAAA;AACF,IAAA;AAGY,IAAA;AAEoC,IAAA;AACb,IAAA;AAGnB,IAAA;AAC4B,MAAA;AACpC,IAAA;AAEJ,IAAA;AAE6C,MAAA;AAElC,MAAA;AACE,QAAA;AAC+C,QAAA;AAC9C,QAAA;AAChB,MAAA;AAGa,MAAA;AAGkB,MAAA;AAG8B,MAAA;AAGI,MAAA;AACnC,MAAA;AAC5B,QAAA;AACA,QAAA;AACF,MAAA;AAC2D,MAAA;AAGd,MAAA;AACJ,MAAA;AAElB,MAAA;AACqC,MAAA;AAGxB,MAAA;AACJ,MAAA;AAEhB,MAAA;AAKZ,MAAA;AACI,MAAA;AACA,QAAA;AACkD,UAAA;AAC1B,YAAA;AACE,UAAA;AAChC,QAAA;AACF,MAAA;AACc,IAAA;AACD,MAAA;AACsB,MAAA;AACiB,QAAA;AAC7C,MAAA;AACG,QAAA;AACA,UAAA;AAE6B,YAAA;AAEnC,UAAA;AACF,QAAA;AACF,MAAA;AACc,MAAA;AAChB,IAAA;AACc,EAAA;AACqB,IAAA;AACiB,MAAA;AAC7C,IAAA;AACG,MAAA;AACA,QAAA;AAEuC,UAAA;AAE7C,QAAA;AACF,MAAA;AACF,IAAA;AACc,IAAA;AAChB,EAAA;AACF;ADpC0E;AACA;AACA","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/add-S6GXVJE5.js","sourcesContent":[null,"import * as fs from \"fs\";\nimport * as path from \"path\";\nimport chalk from \"chalk\";\nimport ora from \"ora\";\nimport { FileManager } from \"../utils/fileManager\";\nimport { PromptsApiService, PromptsError } from \"@/client-sdk/services/prompts\";\nimport { PromptConverter } from \"../utils/promptConverter\";\nimport { ensureProjectInitialized } from \"../utils/init\";\nimport { checkApiKey } from \"../utils/apiKey\";\nimport { LangWatch } from \"@/client-sdk\";\n\ninterface AddOptions {\n version?: string;\n localFile?: string;\n}\n\nconst addLocalFile = async (\n name: string,\n localFilePath: string,\n): Promise<void> => {\n // Validate that the file exists and has the right extension\n if (!fs.existsSync(localFilePath)) {\n console.error(chalk.red(`Error: Local file not found: ${localFilePath}`));\n process.exit(1);\n }\n\n if (!localFilePath.endsWith(\".prompt.yaml\")) {\n console.error(\n chalk.red(`Error: Local file must have .prompt.yaml extension`),\n );\n process.exit(1);\n }\n\n // Load and validate the YAML file\n try {\n FileManager.loadLocalPrompt(localFilePath);\n\n // Ensure project is initialized\n await ensureProjectInitialized();\n\n // Add to prompts.json as a file: dependency\n const promptsConfig = FileManager.loadPromptsConfig();\n promptsConfig.prompts[name] = `file:${localFilePath}`;\n FileManager.savePromptsConfig(promptsConfig);\n\n // Update lock file\n const lock = FileManager.loadPromptsLock();\n lock.prompts[name] = {\n version: 0, // Local files start at version 0\n versionId: \"local\",\n materialized: localFilePath, // Store the original file path\n };\n FileManager.savePromptsLock(lock);\n\n console.log(\n chalk.green(\n `✓ Added local prompt: ${chalk.cyan(name)} → ${chalk.gray(\n localFilePath,\n )}`,\n ),\n );\n } catch (error) {\n console.error(chalk.red(\"Error loading local prompt file:\"));\n console.error(\n chalk.red(error instanceof Error ? error.message : String(error)),\n );\n process.exit(1);\n }\n};\n\nexport const addCommand = async (\n name: string,\n options: AddOptions,\n): Promise<void> => {\n try {\n // Validate prompt name\n if (!name || name.trim() === \"\") {\n console.error(chalk.red(\"Error: Prompt name cannot be empty\"));\n process.exit(1);\n }\n\n // Handle local file addition\n if (options.localFile) {\n await addLocalFile(name, options.localFile);\n return;\n }\n\n // Check API key before doing anything else\n checkApiKey();\n\n const promptsApiService = new PromptsApiService();\n const version = options.version ?? \"latest\";\n\n // Fetch and materialize the prompt (like sync does for individual prompts)\n const spinner = ora(\n `Adding ${chalk.cyan(`${name}@${version}`)}...`,\n ).start();\n\n try {\n // Fetch the prompt from the API\n const prompt = await promptsApiService.get(name);\n\n if (!prompt) {\n spinner.fail();\n console.error(chalk.red(`Error: Prompt \"${name}\" not found`));\n process.exit(1);\n }\n\n // Stop spinner before any user input prompts\n spinner.stop();\n\n // Ensure project is initialized (prompts.json, lock file, directories)\n await ensureProjectInitialized();\n\n // Restart spinner for the actual work\n spinner.start(`Adding ${chalk.cyan(`${name}@${version}`)}...`);\n\n // Convert to MaterializedPrompt format and save\n const materializedPrompt = PromptConverter.fromApiToMaterialized(prompt);\n const savedPath = FileManager.saveMaterializedPrompt(\n name,\n materializedPrompt,\n );\n const relativePath = path.relative(process.cwd(), savedPath);\n\n // Load existing config and lock, add the new dependency\n const config = FileManager.loadPromptsConfig();\n const lock = FileManager.loadPromptsLock();\n\n config.prompts[name] = version;\n FileManager.updateLockEntry(lock, name, materializedPrompt, savedPath);\n\n // Save the updated config and lock\n FileManager.savePromptsConfig(config);\n FileManager.savePromptsLock(lock);\n\n spinner.succeed();\n\n // Show what was done (add ./ prefix for consistency)\n const displayPath = relativePath.startsWith(\"./\")\n ? relativePath\n : `./${relativePath}`;\n console.log(\n chalk.green(\n `✓ Pulled ${chalk.cyan(`${name}@${version}`)} ${chalk.gray(\n `(version ${prompt.version})`,\n )} → ${chalk.gray(displayPath)}`,\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 adding prompt: ${\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,5 +1,5 @@
|
|
|
1
1
|
// package.json
|
|
2
|
-
var version = "0.
|
|
2
|
+
var version = "0.8.1";
|
|
3
3
|
|
|
4
4
|
// src/internal/runtime.ts
|
|
5
5
|
var _runtime;
|
|
@@ -60,4 +60,4 @@ export {
|
|
|
60
60
|
TRACES_PATH,
|
|
61
61
|
LOGS_PATH
|
|
62
62
|
};
|
|
63
|
-
//# sourceMappingURL=chunk-
|
|
63
|
+
//# sourceMappingURL=chunk-2BFLRROK.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../package.json","../src/internal/runtime.ts","../src/internal/constants.ts"],"sourcesContent":["{\n \"name\": \"langwatch\",\n \"version\": \"0.
|
|
1
|
+
{"version":3,"sources":["../package.json","../src/internal/runtime.ts","../src/internal/constants.ts"],"sourcesContent":["{\n \"name\": \"langwatch\",\n \"version\": \"0.8.1\",\n \"description\": \"LangWatch TypeScript/JavaScript SDK. Interact with the full LangWatch API and use the LangWatch OpenTelemetry SDK to instrument your application. For more information, see https://docs.langwatch.ai/integration/typescript/guide\",\n \"main\": \"dist/index.js\",\n \"module\": \"dist/index.mjs\",\n \"types\": \"dist/index.d.ts\",\n \"author\": \"LangWatch\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=20\",\n \"pnpm\": \">=8\"\n },\n \"files\": [\n \"dist\",\n \"README.md\",\n \"LICENSE\"\n ],\n \"bin\": {\n \"langwatch\": \"./dist/cli/index.js\"\n },\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.mjs\",\n \"require\": \"./dist/index.js\"\n },\n \"./observability\": {\n \"types\": \"./dist/observability-sdk/index.d.ts\",\n \"require\": \"./dist/observability-sdk/index.js\",\n \"import\": \"./dist/observability-sdk/index.mjs\"\n },\n \"./observability/node\": {\n \"types\": \"./dist/observability-sdk/setup/node/index.d.ts\",\n \"require\": \"./dist/observability-sdk/setup/node/index.js\",\n \"import\": \"./dist/observability-sdk/setup/node/index.mjs\"\n },\n \"./observability/instrumentation/langchain\": {\n \"types\": \"./dist/observability-sdk/instrumentation/langchain/index.d.ts\",\n \"require\": \"./dist/observability-sdk/instrumentation/langchain/index.js\",\n \"import\": \"./dist/observability-sdk/instrumentation/langchain/index.mjs\"\n }\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/langwatch/langwatch.git\",\n \"directory\": \"typescript-sdk\"\n },\n \"scripts\": {\n \"prepare\": \"pnpm run generate:server-types && pnpm run generate:openapi-types\",\n \"cli\": \"node dist/cli/index.js\",\n \"lint\": \"eslint .\",\n \"test\": \"vitest\",\n \"test:e2e\": \"vitest run -c ./vitest.e2e.config.mts\",\n \"prebuild\": \"pnpm run prepare\",\n \"build\": \"tsc --noEmit && tsup\",\n \"tarball\": \"pnpm build && pnpm pack\",\n \"typecheck\": \"tsc --noEmit\",\n \"prepublish\": \"pnpm run build\",\n \"generate:openapi-types\": \"npx openapi-typescript ../langwatch/src/app/api/openapiLangWatch.json -o ./src/internal/generated/openapi/api-client.ts\",\n \"generate:server-types\": \"./copy-types.sh\"\n },\n \"devDependencies\": {\n \"@eslint/js\": \"^9.32.0\",\n \"@langchain/core\": \">=0.3.68 <0.4.0\",\n \"@langchain/langgraph\": \">=0.4.0 <1.0.0\",\n \"@langchain/openai\": \">=0.6.0 <1.0.0\",\n \"@opentelemetry/sdk-node\": \"0.205.0\",\n \"@opentelemetry/sdk-trace-node\": \"^2.0.1\",\n \"@opentelemetry/sdk-trace-web\": \">=2.0.1\",\n \"@types/debug\": \"^4.1.12\",\n \"@types/js-yaml\": \"^4.0.9\",\n \"@types/node\": \"^24.1.0\",\n \"@typescript/native-preview\": \"7.0.0-dev.20250804.1\",\n \"@vercel/otel\": \"^1.13.0\",\n \"@vitest/coverage-v8\": \"3.2.4\",\n \"esbuild\": \"^0.25.8\",\n \"eslint\": \"^9.32.0\",\n \"fets\": \"^0.8.5\",\n \"fishery\": \"^2.3.1\",\n \"langchain\": \">=0.3.0 <1.0.0\",\n \"msw\": \"^2.10.4\",\n \"nock\": \"^14.0.8\",\n \"openapi-msw\": \"^1.2.0\",\n \"ts-to-zod\": \"4.0.1\",\n \"tsup\": \"^8.5.0\",\n \"typescript\": \"^5.9.2\",\n \"typescript-eslint\": \"^8.38.0\",\n \"vitest\": \"^3.2.4\",\n \"vitest-mock-extended\": \"^3.1.0\",\n \"yaml\": \"^2.8.1\"\n },\n \"dependencies\": {\n \"@opentelemetry/api\": \"^1.9.0\",\n \"@opentelemetry/api-logs\": \"0.205.0\",\n \"@opentelemetry/core\": \"^2.0.1\",\n \"@opentelemetry/exporter-logs-otlp-http\": \"0.205.0\",\n \"@opentelemetry/exporter-trace-otlp-http\": \"0.205.0\",\n \"@opentelemetry/instrumentation\": \"0.205.0\",\n \"@opentelemetry/resources\": \"^2.0.1\",\n \"@opentelemetry/sdk-logs\": \"0.205.0\",\n \"@opentelemetry/sdk-metrics\": \"^2.0.1\",\n \"@opentelemetry/sdk-trace-base\": \"^2.0.1\",\n \"@opentelemetry/semantic-conventions\": \"^1.36.0\",\n \"@types/prompts\": \"^2.4.9\",\n \"chalk\": \"^4.1.2\",\n \"commander\": \"^12.0.0\",\n \"dotenv\": \"^16.6.1\",\n \"js-yaml\": \"^4.1.0\",\n \"liquidjs\": \"^10.21.1\",\n \"open\": \"^10.2.0\",\n \"openapi-fetch\": \"^0.14.0\",\n \"ora\": \"^5.4.1\",\n \"prompts\": \"^2.4.2\",\n \"xksuid\": \"^0.0.4\",\n \"zod\": \"^4.0.14\"\n },\n \"peerDependencies\": {\n \"@ai-sdk/openai\": \">=2.0.0 <3.0.0\",\n \"@langchain/core\": \">=0.3.0 <1.0.0\",\n \"@langchain/langgraph\": \">=0.4.0 <1.0.0\",\n \"@langchain/openai\": \">=0.6.0 <1.0.0\",\n \"@opentelemetry/context-async-hooks\": \"^2.1.0\",\n \"@opentelemetry/context-zone\": \">=1.19.0 <3.0.0\",\n \"@opentelemetry/sdk-node\": \">=0.200.0 <1.0.0\",\n \"@opentelemetry/sdk-trace-web\": \">=1.19.0 <3.0.0\",\n \"langchain\": \">=0.3.0 <1.0.0\"\n },\n \"pnpm\": {\n \"overrides\": {\n \"@opentelemetry/api\": \"^1.9.0\",\n \"@opentelemetry/core\": \"^2.0.1\",\n \"@opentelemetry/resources\": \"^2.0.1\",\n \"@opentelemetry/sdk-trace-base\": \"^2.0.1\",\n \"@opentelemetry/instrumentation\": \"0.205.0\",\n \"@opentelemetry/sdk-node\": \"0.205.0\",\n \"@opentelemetry/context-async-hooks\": \"^2.1.0\",\n \"@opentelemetry/api-logs\": \"0.205.0\",\n \"@opentelemetry/sdk-logs\": \"0.205.0\",\n \"@opentelemetry/exporter-logs-otlp-http\": \"0.205.0\",\n \"@opentelemetry/exporter-trace-otlp-http\": \"0.205.0\",\n \"zod\": \"^4.0.14\"\n }\n }\n}\n","export type JsRuntime = \"node\" | \"deno\" | \"bun\" | \"web\" | \"unknown\";\n\nlet _runtime: JsRuntime | undefined;\n\n/**\n * Gets the cached JavaScript runtime environment.\n * @returns The detected runtime environment\n */\nexport const getRuntime = (): JsRuntime => {\n _runtime ??= detectRuntime();\n return _runtime;\n};\n\n/**\n * Resets the cached runtime. Only used for testing.\n * @internal\n */\nexport const resetRuntimeCache = (): void => {\n _runtime = undefined;\n};\n\n/**\n * Detects the JavaScript runtime environment.\n * @param globals - (Test only) Optionally override the global object for environment simulation. Only used if NODE_ENV === 'test'.\n */\nexport function detectRuntime(globals?: any): JsRuntime {\n let g = globalThis;\n if (globals) {\n if (process.env.NODE_ENV === \"test\") {\n g = globals;\n } else {\n console.warn(\"[LangWatch Observability] overriding detectRuntime is only supported when running in NODE_ENV=test\");\n }\n }\n\n try {\n if (\n \"Deno\" in g &&\n typeof g.Deno === \"object\" &&\n g.Deno &&\n 'version' in g.Deno &&\n typeof g.Deno.version === \"object\"\n ) {\n return \"deno\";\n }\n if (\n \"Bun\" in g &&\n typeof g.Bun === \"object\" &&\n g.Bun &&\n 'version' in g.Bun &&\n typeof g.Bun.version === \"string\"\n ) {\n return \"bun\";\n }\n if (\n \"process\" in g &&\n typeof g.process === \"object\" &&\n g.process &&\n typeof g.process.versions === \"object\" &&\n typeof g.process.versions.node === \"string\"\n ) {\n return \"node\";\n }\n if (\n typeof g.window?.document !== \"undefined\" &&\n g === g.window\n ) {\n return \"web\";\n }\n return \"unknown\";\n } catch (error) {\n console.warn(\"[LangWatch Observability] Failed to detect runtime\", error);\n return \"unknown\";\n }\n}\n","import { version } from \"../../package.json\";\nimport { getRuntime } from \"./runtime\";\n\nexport const LANGWATCH_SDK_RUNTIME = getRuntime;\n\nexport const LANGWATCH_SDK_NAME_OBSERVABILITY = \"langwatch-observability-sdk\";\nexport const LANGWATCH_SDK_NAME_CLIENT = \"langwatch-client-sdk\";\nexport const LANGWATCH_SDK_LANGUAGE = \"typescript\";\nexport const LANGWATCH_SDK_VERSION = version;\n\nexport const DEFAULT_ENDPOINT = \"https://app.langwatch.ai/\";\nexport const DEFAULT_SERVICE_NAME = \"unknown-service.langwatch\";\n\nexport const TRACES_PATH = \"/api/otel/v1/traces\";\nexport const LOGS_PATH = \"/api/otel/v1/logs\";\nexport const METRICS_PATH = \"/api/otel/v1/metrics\";\n"],"mappings":";AAEI,cAAW;;;ACAf,IAAI;AAMG,IAAM,aAAa,MAAiB;AACzC,2CAAa,cAAc;AAC3B,SAAO;AACT;AAcO,SAAS,cAAc,SAA0B;AAzBxD;AA0BE,MAAI,IAAI;AACR,MAAI,SAAS;AACX,QAAI,QAAQ,IAAI,aAAa,QAAQ;AACnC,UAAI;AAAA,IACN,OAAO;AACL,cAAQ,KAAK,oGAAoG;AAAA,IACnH;AAAA,EACF;AAEA,MAAI;AACF,QACE,UAAU,KACV,OAAO,EAAE,SAAS,YAClB,EAAE,QACF,aAAa,EAAE,QACf,OAAO,EAAE,KAAK,YAAY,UAC1B;AACA,aAAO;AAAA,IACT;AACA,QACE,SAAS,KACT,OAAO,EAAE,QAAQ,YACjB,EAAE,OACF,aAAa,EAAE,OACf,OAAO,EAAE,IAAI,YAAY,UACzB;AACA,aAAO;AAAA,IACT;AACA,QACE,aAAa,KACb,OAAO,EAAE,YAAY,YACrB,EAAE,WACF,OAAO,EAAE,QAAQ,aAAa,YAC9B,OAAO,EAAE,QAAQ,SAAS,SAAS,UACnC;AACA,aAAO;AAAA,IACT;AACA,QACE,SAAO,OAAE,WAAF,mBAAU,cAAa,eAC9B,MAAM,EAAE,QACR;AACA,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT,SAAS,OAAO;AACd,YAAQ,KAAK,sDAAsD,KAAK;AACxE,WAAO;AAAA,EACT;AACF;;;ACvEO,IAAM,wBAAwB;AAE9B,IAAM,mCAAmC;AACzC,IAAM,4BAA4B;AAClC,IAAM,yBAAyB;AAC/B,IAAM,wBAAwB;AAE9B,IAAM,mBAAmB;AACzB,IAAM,uBAAuB;AAE7B,IAAM,cAAc;AACpB,IAAM,YAAY;","names":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// package.json
|
|
2
|
-
var version = "0.
|
|
2
|
+
var version = "0.8.1";
|
|
3
3
|
|
|
4
4
|
// src/internal/runtime.ts
|
|
5
5
|
var _runtime;
|
|
@@ -60,4 +60,4 @@ var LOGS_PATH = "/api/otel/v1/logs";
|
|
|
60
60
|
|
|
61
61
|
|
|
62
62
|
exports.version = version; exports.LANGWATCH_SDK_RUNTIME = LANGWATCH_SDK_RUNTIME; exports.LANGWATCH_SDK_NAME_OBSERVABILITY = LANGWATCH_SDK_NAME_OBSERVABILITY; exports.LANGWATCH_SDK_NAME_CLIENT = LANGWATCH_SDK_NAME_CLIENT; exports.LANGWATCH_SDK_LANGUAGE = LANGWATCH_SDK_LANGUAGE; exports.LANGWATCH_SDK_VERSION = LANGWATCH_SDK_VERSION; exports.DEFAULT_ENDPOINT = DEFAULT_ENDPOINT; exports.DEFAULT_SERVICE_NAME = DEFAULT_SERVICE_NAME; exports.TRACES_PATH = TRACES_PATH; exports.LOGS_PATH = LOGS_PATH;
|
|
63
|
-
//# sourceMappingURL=chunk-
|
|
63
|
+
//# sourceMappingURL=chunk-4NB5C6GH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/chunk-BKVMRI32.js","../package.json","../src/internal/runtime.ts","../src/internal/constants.ts"],"names":[],"mappings":"AAAA;ACEI,IAAA,QAAA,EAAW,OAAA;ADAf;AACA;AEDA,IAAI,QAAA;AAMG,IAAM,WAAA,EAAa,CAAA,EAAA,GAAiB;AACzC,EAAA,SAAA,GAAA,KAAA,EAAA,SAAA,EAAA,SAAA,EAAa,aAAA,CAAc,CAAA;AAC3B,EAAA,OAAO,QAAA;AACT,CAAA;AAcO,SAAS,aAAA,CAAc,OAAA,EAA0B;AAzBxD,EAAA,IAAA,EAAA;AA0BE,EAAA,IAAI,EAAA,EAAI,UAAA;AACR,EAAA,GAAA,CAAI,OAAA,EAAS;AACX,IAAA,GAAA,CAAI,OAAA,CAAQ,GAAA,CAAI,SAAA,IAAa,MAAA,EAAQ;AACnC,MAAA,EAAA,EAAI,OAAA;AAAA,IACN,EAAA,KAAO;AACL,MAAA,OAAA,CAAQ,IAAA,CAAK,oGAAoG,CAAA;AAAA,IACnH;AAAA,EACF;AAEA,EAAA,IAAI;AACF,IAAA,GAAA,CACE,OAAA,GAAU,EAAA,GACV,OAAO,CAAA,CAAE,KAAA,IAAS,SAAA,GAClB,CAAA,CAAE,KAAA,GACF,UAAA,GAAa,CAAA,CAAE,KAAA,GACf,OAAO,CAAA,CAAE,IAAA,CAAK,QAAA,IAAY,QAAA,EAC1B;AACA,MAAA,OAAO,MAAA;AAAA,IACT;AACA,IAAA,GAAA,CACE,MAAA,GAAS,EAAA,GACT,OAAO,CAAA,CAAE,IAAA,IAAQ,SAAA,GACjB,CAAA,CAAE,IAAA,GACF,UAAA,GAAa,CAAA,CAAE,IAAA,GACf,OAAO,CAAA,CAAE,GAAA,CAAI,QAAA,IAAY,QAAA,EACzB;AACA,MAAA,OAAO,KAAA;AAAA,IACT;AACA,IAAA,GAAA,CACE,UAAA,GAAa,EAAA,GACb,OAAO,CAAA,CAAE,QAAA,IAAY,SAAA,GACrB,CAAA,CAAE,QAAA,GACF,OAAO,CAAA,CAAE,OAAA,CAAQ,SAAA,IAAa,SAAA,GAC9B,OAAO,CAAA,CAAE,OAAA,CAAQ,QAAA,CAAS,KAAA,IAAS,QAAA,EACnC;AACA,MAAA,OAAO,MAAA;AAAA,IACT;AACA,IAAA,GAAA,CACE,OAAA,CAAA,CAAO,GAAA,EAAA,CAAA,CAAE,MAAA,EAAA,GAAF,KAAA,EAAA,KAAA,EAAA,EAAA,EAAA,CAAU,QAAA,EAAA,IAAa,YAAA,GAC9B,EAAA,IAAM,CAAA,CAAE,MAAA,EACR;AACA,MAAA,OAAO,KAAA;AAAA,IACT;AACA,IAAA,OAAO,SAAA;AAAA,EACT,EAAA,MAAA,CAAS,KAAA,EAAO;AACd,IAAA,OAAA,CAAQ,IAAA,CAAK,oDAAA,EAAsD,KAAK,CAAA;AACxE,IAAA,OAAO,SAAA;AAAA,EACT;AACF;AFpCA;AACA;AGpCO,IAAM,sBAAA,EAAwB,UAAA;AAE9B,IAAM,iCAAA,EAAmC,6BAAA;AACzC,IAAM,0BAAA,EAA4B,sBAAA;AAClC,IAAM,uBAAA,EAAyB,YAAA;AAC/B,IAAM,sBAAA,EAAwB,OAAA;AAE9B,IAAM,iBAAA,EAAmB,2BAAA;AACzB,IAAM,qBAAA,EAAuB,2BAAA;AAE7B,IAAM,YAAA,EAAc,qBAAA;AACpB,IAAM,UAAA,EAAY,mBAAA;AHmCzB;AACA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,ifAAC","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/chunk-BKVMRI32.js","sourcesContent":[null,"{\n \"name\": \"langwatch\",\n \"version\": \"0.7.4\",\n \"description\": \"LangWatch TypeScript/JavaScript SDK. Interact with the full LangWatch API and use the LangWatch OpenTelemetry SDK to instrument your application. For more information, see https://docs.langwatch.ai/integration/typescript/guide\",\n \"main\": \"dist/index.js\",\n \"module\": \"dist/index.mjs\",\n \"types\": \"dist/index.d.ts\",\n \"author\": \"LangWatch\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=20\",\n \"pnpm\": \">=8\"\n },\n \"files\": [\n \"dist\",\n \"README.md\",\n \"LICENSE\"\n ],\n \"bin\": {\n \"langwatch\": \"./dist/cli/index.js\"\n },\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.mjs\",\n \"require\": \"./dist/index.js\"\n },\n \"./observability\": {\n \"types\": \"./dist/observability-sdk/index.d.ts\",\n \"require\": \"./dist/observability-sdk/index.js\",\n \"import\": \"./dist/observability-sdk/index.mjs\"\n },\n \"./observability/node\": {\n \"types\": \"./dist/observability-sdk/setup/node/index.d.ts\",\n \"require\": \"./dist/observability-sdk/setup/node/index.js\",\n \"import\": \"./dist/observability-sdk/setup/node/index.mjs\"\n },\n \"./observability/instrumentation/langchain\": {\n \"types\": \"./dist/observability-sdk/instrumentation/langchain/index.d.ts\",\n \"require\": \"./dist/observability-sdk/instrumentation/langchain/index.js\",\n \"import\": \"./dist/observability-sdk/instrumentation/langchain/index.mjs\"\n }\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/langwatch/langwatch.git\",\n \"directory\": \"typescript-sdk\"\n },\n \"scripts\": {\n \"prepare\": \"pnpm run generate:server-types && pnpm run generate:openapi-types\",\n \"cli\": \"node dist/cli/index.js\",\n \"lint\": \"eslint .\",\n \"test\": \"vitest\",\n \"test:e2e\": \"vitest run -c ./vitest.e2e.config.mts\",\n \"prebuild\": \"pnpm run prepare\",\n \"build\": \"tsc --noEmit && tsup\",\n \"tarball\": \"pnpm build && pnpm pack\",\n \"typecheck\": \"tsc --noEmit\",\n \"prepublish\": \"pnpm run build\",\n \"generate:openapi-types\": \"npx openapi-typescript ../langwatch/src/app/api/openapiLangWatch.json -o ./src/internal/generated/openapi/api-client.ts\",\n \"generate:server-types\": \"./copy-types.sh\"\n },\n \"devDependencies\": {\n \"@eslint/js\": \"^9.32.0\",\n \"@langchain/core\": \">=0.3.68 <0.4.0\",\n \"@langchain/langgraph\": \">=0.4.0 <1.0.0\",\n \"@langchain/openai\": \">=0.6.0 <1.0.0\",\n \"@opentelemetry/sdk-node\": \"0.205.0\",\n \"@opentelemetry/sdk-trace-node\": \"^2.0.1\",\n \"@opentelemetry/sdk-trace-web\": \">=2.0.1\",\n \"@types/debug\": \"^4.1.12\",\n \"@types/js-yaml\": \"^4.0.9\",\n \"@types/node\": \"^24.1.0\",\n \"@typescript/native-preview\": \"7.0.0-dev.20250804.1\",\n \"@vercel/otel\": \"^1.13.0\",\n \"@vitest/coverage-v8\": \"3.2.4\",\n \"esbuild\": \"^0.25.8\",\n \"eslint\": \"^9.32.0\",\n \"fets\": \"^0.8.5\",\n \"fishery\": \"^2.3.1\",\n \"langchain\": \">=0.3.0 <1.0.0\",\n \"msw\": \"^2.10.4\",\n \"nock\": \"^14.0.8\",\n \"openapi-msw\": \"^1.2.0\",\n \"ts-to-zod\": \"4.0.1\",\n \"tsup\": \"^8.5.0\",\n \"typescript\": \"^5.9.2\",\n \"typescript-eslint\": \"^8.38.0\",\n \"vitest\": \"^3.2.4\",\n \"vitest-mock-extended\": \"^3.1.0\",\n \"yaml\": \"^2.8.1\"\n },\n \"dependencies\": {\n \"@opentelemetry/api\": \"^1.9.0\",\n \"@opentelemetry/api-logs\": \"0.205.0\",\n \"@opentelemetry/core\": \"^2.0.1\",\n \"@opentelemetry/exporter-logs-otlp-http\": \"0.205.0\",\n \"@opentelemetry/exporter-trace-otlp-http\": \"0.205.0\",\n \"@opentelemetry/instrumentation\": \"0.205.0\",\n \"@opentelemetry/resources\": \"^2.0.1\",\n \"@opentelemetry/sdk-logs\": \"0.205.0\",\n \"@opentelemetry/sdk-metrics\": \"^2.0.1\",\n \"@opentelemetry/sdk-trace-base\": \"^2.0.1\",\n \"@opentelemetry/semantic-conventions\": \"^1.36.0\",\n \"@types/prompts\": \"^2.4.9\",\n \"chalk\": \"^4.1.2\",\n \"commander\": \"^12.0.0\",\n \"dotenv\": \"^16.6.1\",\n \"js-yaml\": \"^4.1.0\",\n \"liquidjs\": \"^10.21.1\",\n \"open\": \"^10.2.0\",\n \"openapi-fetch\": \"^0.14.0\",\n \"ora\": \"^5.4.1\",\n \"prompts\": \"^2.4.2\",\n \"xksuid\": \"^0.0.4\",\n \"zod\": \"^4.0.14\"\n },\n \"peerDependencies\": {\n \"@ai-sdk/openai\": \">=2.0.0 <3.0.0\",\n \"@langchain/core\": \">=0.3.0 <1.0.0\",\n \"@langchain/langgraph\": \">=0.4.0 <1.0.0\",\n \"@langchain/openai\": \">=0.6.0 <1.0.0\",\n \"@opentelemetry/context-async-hooks\": \"^2.1.0\",\n \"@opentelemetry/context-zone\": \">=1.19.0 <3.0.0\",\n \"@opentelemetry/sdk-node\": \">=0.200.0 <1.0.0\",\n \"@opentelemetry/sdk-trace-web\": \">=1.19.0 <3.0.0\",\n \"langchain\": \">=0.3.0 <1.0.0\"\n },\n \"pnpm\": {\n \"overrides\": {\n \"@opentelemetry/api\": \"^1.9.0\",\n \"@opentelemetry/core\": \"^2.0.1\",\n \"@opentelemetry/resources\": \"^2.0.1\",\n \"@opentelemetry/sdk-trace-base\": \"^2.0.1\",\n \"@opentelemetry/instrumentation\": \"0.205.0\",\n \"@opentelemetry/sdk-node\": \"0.205.0\",\n \"@opentelemetry/context-async-hooks\": \"^2.1.0\",\n \"@opentelemetry/api-logs\": \"0.205.0\",\n \"@opentelemetry/sdk-logs\": \"0.205.0\",\n \"@opentelemetry/exporter-logs-otlp-http\": \"0.205.0\",\n \"@opentelemetry/exporter-trace-otlp-http\": \"0.205.0\",\n \"zod\": \"^4.0.14\"\n }\n }\n}\n","export type JsRuntime = \"node\" | \"deno\" | \"bun\" | \"web\" | \"unknown\";\n\nlet _runtime: JsRuntime | undefined;\n\n/**\n * Gets the cached JavaScript runtime environment.\n * @returns The detected runtime environment\n */\nexport const getRuntime = (): JsRuntime => {\n _runtime ??= detectRuntime();\n return _runtime;\n};\n\n/**\n * Resets the cached runtime. Only used for testing.\n * @internal\n */\nexport const resetRuntimeCache = (): void => {\n _runtime = undefined;\n};\n\n/**\n * Detects the JavaScript runtime environment.\n * @param globals - (Test only) Optionally override the global object for environment simulation. Only used if NODE_ENV === 'test'.\n */\nexport function detectRuntime(globals?: any): JsRuntime {\n let g = globalThis;\n if (globals) {\n if (process.env.NODE_ENV === \"test\") {\n g = globals;\n } else {\n console.warn(\"[LangWatch Observability] overriding detectRuntime is only supported when running in NODE_ENV=test\");\n }\n }\n\n try {\n if (\n \"Deno\" in g &&\n typeof g.Deno === \"object\" &&\n g.Deno &&\n 'version' in g.Deno &&\n typeof g.Deno.version === \"object\"\n ) {\n return \"deno\";\n }\n if (\n \"Bun\" in g &&\n typeof g.Bun === \"object\" &&\n g.Bun &&\n 'version' in g.Bun &&\n typeof g.Bun.version === \"string\"\n ) {\n return \"bun\";\n }\n if (\n \"process\" in g &&\n typeof g.process === \"object\" &&\n g.process &&\n typeof g.process.versions === \"object\" &&\n typeof g.process.versions.node === \"string\"\n ) {\n return \"node\";\n }\n if (\n typeof g.window?.document !== \"undefined\" &&\n g === g.window\n ) {\n return \"web\";\n }\n return \"unknown\";\n } catch (error) {\n console.warn(\"[LangWatch Observability] Failed to detect runtime\", error);\n return \"unknown\";\n }\n}\n","import { version } from \"../../package.json\";\nimport { getRuntime } from \"./runtime\";\n\nexport const LANGWATCH_SDK_RUNTIME = getRuntime;\n\nexport const LANGWATCH_SDK_NAME_OBSERVABILITY = \"langwatch-observability-sdk\";\nexport const LANGWATCH_SDK_NAME_CLIENT = \"langwatch-client-sdk\";\nexport const LANGWATCH_SDK_LANGUAGE = \"typescript\";\nexport const LANGWATCH_SDK_VERSION = version;\n\nexport const DEFAULT_ENDPOINT = \"https://app.langwatch.ai/\";\nexport const DEFAULT_SERVICE_NAME = \"unknown-service.langwatch\";\n\nexport const TRACES_PATH = \"/api/otel/v1/traces\";\nexport const LOGS_PATH = \"/api/otel/v1/logs\";\nexport const METRICS_PATH = \"/api/otel/v1/metrics\";\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/chunk-4NB5C6GH.js","../package.json","../src/internal/runtime.ts","../src/internal/constants.ts"],"names":[],"mappings":"AAAA;ACEI,IAAA,QAAA,EAAW,OAAA;ADAf;AACA;AEDA,IAAI,QAAA;AAMG,IAAM,WAAA,EAAa,CAAA,EAAA,GAAiB;AACzC,EAAA,SAAA,GAAA,KAAA,EAAA,SAAA,EAAA,SAAA,EAAa,aAAA,CAAc,CAAA;AAC3B,EAAA,OAAO,QAAA;AACT,CAAA;AAcO,SAAS,aAAA,CAAc,OAAA,EAA0B;AAzBxD,EAAA,IAAA,EAAA;AA0BE,EAAA,IAAI,EAAA,EAAI,UAAA;AACR,EAAA,GAAA,CAAI,OAAA,EAAS;AACX,IAAA,GAAA,CAAI,OAAA,CAAQ,GAAA,CAAI,SAAA,IAAa,MAAA,EAAQ;AACnC,MAAA,EAAA,EAAI,OAAA;AAAA,IACN,EAAA,KAAO;AACL,MAAA,OAAA,CAAQ,IAAA,CAAK,oGAAoG,CAAA;AAAA,IACnH;AAAA,EACF;AAEA,EAAA,IAAI;AACF,IAAA,GAAA,CACE,OAAA,GAAU,EAAA,GACV,OAAO,CAAA,CAAE,KAAA,IAAS,SAAA,GAClB,CAAA,CAAE,KAAA,GACF,UAAA,GAAa,CAAA,CAAE,KAAA,GACf,OAAO,CAAA,CAAE,IAAA,CAAK,QAAA,IAAY,QAAA,EAC1B;AACA,MAAA,OAAO,MAAA;AAAA,IACT;AACA,IAAA,GAAA,CACE,MAAA,GAAS,EAAA,GACT,OAAO,CAAA,CAAE,IAAA,IAAQ,SAAA,GACjB,CAAA,CAAE,IAAA,GACF,UAAA,GAAa,CAAA,CAAE,IAAA,GACf,OAAO,CAAA,CAAE,GAAA,CAAI,QAAA,IAAY,QAAA,EACzB;AACA,MAAA,OAAO,KAAA;AAAA,IACT;AACA,IAAA,GAAA,CACE,UAAA,GAAa,EAAA,GACb,OAAO,CAAA,CAAE,QAAA,IAAY,SAAA,GACrB,CAAA,CAAE,QAAA,GACF,OAAO,CAAA,CAAE,OAAA,CAAQ,SAAA,IAAa,SAAA,GAC9B,OAAO,CAAA,CAAE,OAAA,CAAQ,QAAA,CAAS,KAAA,IAAS,QAAA,EACnC;AACA,MAAA,OAAO,MAAA;AAAA,IACT;AACA,IAAA,GAAA,CACE,OAAA,CAAA,CAAO,GAAA,EAAA,CAAA,CAAE,MAAA,EAAA,GAAF,KAAA,EAAA,KAAA,EAAA,EAAA,EAAA,CAAU,QAAA,EAAA,IAAa,YAAA,GAC9B,EAAA,IAAM,CAAA,CAAE,MAAA,EACR;AACA,MAAA,OAAO,KAAA;AAAA,IACT;AACA,IAAA,OAAO,SAAA;AAAA,EACT,EAAA,MAAA,CAAS,KAAA,EAAO;AACd,IAAA,OAAA,CAAQ,IAAA,CAAK,oDAAA,EAAsD,KAAK,CAAA;AACxE,IAAA,OAAO,SAAA;AAAA,EACT;AACF;AFpCA;AACA;AGpCO,IAAM,sBAAA,EAAwB,UAAA;AAE9B,IAAM,iCAAA,EAAmC,6BAAA;AACzC,IAAM,0BAAA,EAA4B,sBAAA;AAClC,IAAM,uBAAA,EAAyB,YAAA;AAC/B,IAAM,sBAAA,EAAwB,OAAA;AAE9B,IAAM,iBAAA,EAAmB,2BAAA;AACzB,IAAM,qBAAA,EAAuB,2BAAA;AAE7B,IAAM,YAAA,EAAc,qBAAA;AACpB,IAAM,UAAA,EAAY,mBAAA;AHmCzB;AACA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,ifAAC","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/chunk-4NB5C6GH.js","sourcesContent":[null,"{\n \"name\": \"langwatch\",\n \"version\": \"0.8.1\",\n \"description\": \"LangWatch TypeScript/JavaScript SDK. Interact with the full LangWatch API and use the LangWatch OpenTelemetry SDK to instrument your application. For more information, see https://docs.langwatch.ai/integration/typescript/guide\",\n \"main\": \"dist/index.js\",\n \"module\": \"dist/index.mjs\",\n \"types\": \"dist/index.d.ts\",\n \"author\": \"LangWatch\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=20\",\n \"pnpm\": \">=8\"\n },\n \"files\": [\n \"dist\",\n \"README.md\",\n \"LICENSE\"\n ],\n \"bin\": {\n \"langwatch\": \"./dist/cli/index.js\"\n },\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.mjs\",\n \"require\": \"./dist/index.js\"\n },\n \"./observability\": {\n \"types\": \"./dist/observability-sdk/index.d.ts\",\n \"require\": \"./dist/observability-sdk/index.js\",\n \"import\": \"./dist/observability-sdk/index.mjs\"\n },\n \"./observability/node\": {\n \"types\": \"./dist/observability-sdk/setup/node/index.d.ts\",\n \"require\": \"./dist/observability-sdk/setup/node/index.js\",\n \"import\": \"./dist/observability-sdk/setup/node/index.mjs\"\n },\n \"./observability/instrumentation/langchain\": {\n \"types\": \"./dist/observability-sdk/instrumentation/langchain/index.d.ts\",\n \"require\": \"./dist/observability-sdk/instrumentation/langchain/index.js\",\n \"import\": \"./dist/observability-sdk/instrumentation/langchain/index.mjs\"\n }\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/langwatch/langwatch.git\",\n \"directory\": \"typescript-sdk\"\n },\n \"scripts\": {\n \"prepare\": \"pnpm run generate:server-types && pnpm run generate:openapi-types\",\n \"cli\": \"node dist/cli/index.js\",\n \"lint\": \"eslint .\",\n \"test\": \"vitest\",\n \"test:e2e\": \"vitest run -c ./vitest.e2e.config.mts\",\n \"prebuild\": \"pnpm run prepare\",\n \"build\": \"tsc --noEmit && tsup\",\n \"tarball\": \"pnpm build && pnpm pack\",\n \"typecheck\": \"tsc --noEmit\",\n \"prepublish\": \"pnpm run build\",\n \"generate:openapi-types\": \"npx openapi-typescript ../langwatch/src/app/api/openapiLangWatch.json -o ./src/internal/generated/openapi/api-client.ts\",\n \"generate:server-types\": \"./copy-types.sh\"\n },\n \"devDependencies\": {\n \"@eslint/js\": \"^9.32.0\",\n \"@langchain/core\": \">=0.3.68 <0.4.0\",\n \"@langchain/langgraph\": \">=0.4.0 <1.0.0\",\n \"@langchain/openai\": \">=0.6.0 <1.0.0\",\n \"@opentelemetry/sdk-node\": \"0.205.0\",\n \"@opentelemetry/sdk-trace-node\": \"^2.0.1\",\n \"@opentelemetry/sdk-trace-web\": \">=2.0.1\",\n \"@types/debug\": \"^4.1.12\",\n \"@types/js-yaml\": \"^4.0.9\",\n \"@types/node\": \"^24.1.0\",\n \"@typescript/native-preview\": \"7.0.0-dev.20250804.1\",\n \"@vercel/otel\": \"^1.13.0\",\n \"@vitest/coverage-v8\": \"3.2.4\",\n \"esbuild\": \"^0.25.8\",\n \"eslint\": \"^9.32.0\",\n \"fets\": \"^0.8.5\",\n \"fishery\": \"^2.3.1\",\n \"langchain\": \">=0.3.0 <1.0.0\",\n \"msw\": \"^2.10.4\",\n \"nock\": \"^14.0.8\",\n \"openapi-msw\": \"^1.2.0\",\n \"ts-to-zod\": \"4.0.1\",\n \"tsup\": \"^8.5.0\",\n \"typescript\": \"^5.9.2\",\n \"typescript-eslint\": \"^8.38.0\",\n \"vitest\": \"^3.2.4\",\n \"vitest-mock-extended\": \"^3.1.0\",\n \"yaml\": \"^2.8.1\"\n },\n \"dependencies\": {\n \"@opentelemetry/api\": \"^1.9.0\",\n \"@opentelemetry/api-logs\": \"0.205.0\",\n \"@opentelemetry/core\": \"^2.0.1\",\n \"@opentelemetry/exporter-logs-otlp-http\": \"0.205.0\",\n \"@opentelemetry/exporter-trace-otlp-http\": \"0.205.0\",\n \"@opentelemetry/instrumentation\": \"0.205.0\",\n \"@opentelemetry/resources\": \"^2.0.1\",\n \"@opentelemetry/sdk-logs\": \"0.205.0\",\n \"@opentelemetry/sdk-metrics\": \"^2.0.1\",\n \"@opentelemetry/sdk-trace-base\": \"^2.0.1\",\n \"@opentelemetry/semantic-conventions\": \"^1.36.0\",\n \"@types/prompts\": \"^2.4.9\",\n \"chalk\": \"^4.1.2\",\n \"commander\": \"^12.0.0\",\n \"dotenv\": \"^16.6.1\",\n \"js-yaml\": \"^4.1.0\",\n \"liquidjs\": \"^10.21.1\",\n \"open\": \"^10.2.0\",\n \"openapi-fetch\": \"^0.14.0\",\n \"ora\": \"^5.4.1\",\n \"prompts\": \"^2.4.2\",\n \"xksuid\": \"^0.0.4\",\n \"zod\": \"^4.0.14\"\n },\n \"peerDependencies\": {\n \"@ai-sdk/openai\": \">=2.0.0 <3.0.0\",\n \"@langchain/core\": \">=0.3.0 <1.0.0\",\n \"@langchain/langgraph\": \">=0.4.0 <1.0.0\",\n \"@langchain/openai\": \">=0.6.0 <1.0.0\",\n \"@opentelemetry/context-async-hooks\": \"^2.1.0\",\n \"@opentelemetry/context-zone\": \">=1.19.0 <3.0.0\",\n \"@opentelemetry/sdk-node\": \">=0.200.0 <1.0.0\",\n \"@opentelemetry/sdk-trace-web\": \">=1.19.0 <3.0.0\",\n \"langchain\": \">=0.3.0 <1.0.0\"\n },\n \"pnpm\": {\n \"overrides\": {\n \"@opentelemetry/api\": \"^1.9.0\",\n \"@opentelemetry/core\": \"^2.0.1\",\n \"@opentelemetry/resources\": \"^2.0.1\",\n \"@opentelemetry/sdk-trace-base\": \"^2.0.1\",\n \"@opentelemetry/instrumentation\": \"0.205.0\",\n \"@opentelemetry/sdk-node\": \"0.205.0\",\n \"@opentelemetry/context-async-hooks\": \"^2.1.0\",\n \"@opentelemetry/api-logs\": \"0.205.0\",\n \"@opentelemetry/sdk-logs\": \"0.205.0\",\n \"@opentelemetry/exporter-logs-otlp-http\": \"0.205.0\",\n \"@opentelemetry/exporter-trace-otlp-http\": \"0.205.0\",\n \"zod\": \"^4.0.14\"\n }\n }\n}\n","export type JsRuntime = \"node\" | \"deno\" | \"bun\" | \"web\" | \"unknown\";\n\nlet _runtime: JsRuntime | undefined;\n\n/**\n * Gets the cached JavaScript runtime environment.\n * @returns The detected runtime environment\n */\nexport const getRuntime = (): JsRuntime => {\n _runtime ??= detectRuntime();\n return _runtime;\n};\n\n/**\n * Resets the cached runtime. Only used for testing.\n * @internal\n */\nexport const resetRuntimeCache = (): void => {\n _runtime = undefined;\n};\n\n/**\n * Detects the JavaScript runtime environment.\n * @param globals - (Test only) Optionally override the global object for environment simulation. Only used if NODE_ENV === 'test'.\n */\nexport function detectRuntime(globals?: any): JsRuntime {\n let g = globalThis;\n if (globals) {\n if (process.env.NODE_ENV === \"test\") {\n g = globals;\n } else {\n console.warn(\"[LangWatch Observability] overriding detectRuntime is only supported when running in NODE_ENV=test\");\n }\n }\n\n try {\n if (\n \"Deno\" in g &&\n typeof g.Deno === \"object\" &&\n g.Deno &&\n 'version' in g.Deno &&\n typeof g.Deno.version === \"object\"\n ) {\n return \"deno\";\n }\n if (\n \"Bun\" in g &&\n typeof g.Bun === \"object\" &&\n g.Bun &&\n 'version' in g.Bun &&\n typeof g.Bun.version === \"string\"\n ) {\n return \"bun\";\n }\n if (\n \"process\" in g &&\n typeof g.process === \"object\" &&\n g.process &&\n typeof g.process.versions === \"object\" &&\n typeof g.process.versions.node === \"string\"\n ) {\n return \"node\";\n }\n if (\n typeof g.window?.document !== \"undefined\" &&\n g === g.window\n ) {\n return \"web\";\n }\n return \"unknown\";\n } catch (error) {\n console.warn(\"[LangWatch Observability] Failed to detect runtime\", error);\n return \"unknown\";\n }\n}\n","import { version } from \"../../package.json\";\nimport { getRuntime } from \"./runtime\";\n\nexport const LANGWATCH_SDK_RUNTIME = getRuntime;\n\nexport const LANGWATCH_SDK_NAME_OBSERVABILITY = \"langwatch-observability-sdk\";\nexport const LANGWATCH_SDK_NAME_CLIENT = \"langwatch-client-sdk\";\nexport const LANGWATCH_SDK_LANGUAGE = \"typescript\";\nexport const LANGWATCH_SDK_VERSION = version;\n\nexport const DEFAULT_ENDPOINT = \"https://app.langwatch.ai/\";\nexport const DEFAULT_SERVICE_NAME = \"unknown-service.langwatch\";\n\nexport const TRACES_PATH = \"/api/otel/v1/traces\";\nexport const LOGS_PATH = \"/api/otel/v1/logs\";\nexport const METRICS_PATH = \"/api/otel/v1/metrics\";\n"]}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunk4NB5C6GHjs = require('./chunk-4NB5C6GH.js');
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
var _chunkCKIZDPIJjs = require('./chunk-CKIZDPIJ.js');
|
|
@@ -17,43 +17,132 @@ var _chunkOHM7JUMRjs = require('./chunk-OHM7JUMR.js');
|
|
|
17
17
|
|
|
18
18
|
// src/observability-sdk/exporters/langwatch-trace-exporter.ts
|
|
19
19
|
var _exportertraceotlphttp = require('@opentelemetry/exporter-trace-otlp-http');
|
|
20
|
+
|
|
21
|
+
// src/observability-sdk/exporters/trace-filters.ts
|
|
22
|
+
function applyFilters(filters, spans) {
|
|
23
|
+
if (!filters || filters.length === 0) return spans;
|
|
24
|
+
return filters.reduce((current, rule) => applyFilterRule(rule, current), spans);
|
|
25
|
+
}
|
|
26
|
+
function applyFilterRule(rule, spans) {
|
|
27
|
+
if ("preset" in rule && rule.preset) {
|
|
28
|
+
return applyPreset(
|
|
29
|
+
rule.preset,
|
|
30
|
+
spans
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
if ("include" in rule && rule.include) {
|
|
34
|
+
const criteria = rule.include;
|
|
35
|
+
return spans.filter((s) => matchesCriteria(s, criteria));
|
|
36
|
+
}
|
|
37
|
+
if ("exclude" in rule && rule.exclude) {
|
|
38
|
+
const criteria = rule.exclude;
|
|
39
|
+
return spans.filter((s) => !matchesCriteria(s, criteria));
|
|
40
|
+
}
|
|
41
|
+
return spans;
|
|
42
|
+
}
|
|
43
|
+
function applyPreset(preset, spans) {
|
|
44
|
+
if (preset === "vercelAIOnly") return spans.filter((s) => isVercelAiSpan(s));
|
|
45
|
+
if (preset === "excludeHttpRequests") return spans.filter((s) => !isHttpRequestSpan(s));
|
|
46
|
+
return spans;
|
|
47
|
+
}
|
|
48
|
+
function matchesCriteria(span, criteria) {
|
|
49
|
+
var _a, _b;
|
|
50
|
+
if (criteria.instrumentationScopeName !== void 0) {
|
|
51
|
+
const scopeName = (_b = (_a = span.instrumentationScope) == null ? void 0 : _a.name) != null ? _b : "";
|
|
52
|
+
const ok = criteria.instrumentationScopeName.some((m) => valueMatches(scopeName, m));
|
|
53
|
+
if (!ok) return false;
|
|
54
|
+
}
|
|
55
|
+
if (criteria.name !== void 0) {
|
|
56
|
+
const ok = criteria.name.some((m) => {
|
|
57
|
+
var _a2;
|
|
58
|
+
return valueMatches((_a2 = span.name) != null ? _a2 : "", m);
|
|
59
|
+
});
|
|
60
|
+
if (!ok) return false;
|
|
61
|
+
}
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
function valueMatches(value, rule) {
|
|
65
|
+
var _a;
|
|
66
|
+
const raw = value != null ? value : "";
|
|
67
|
+
const ignoreCase = (_a = rule.ignoreCase) != null ? _a : false;
|
|
68
|
+
if (rule.equals !== void 0) {
|
|
69
|
+
return ignoreCase ? raw.localeCompare(rule.equals, void 0, { sensitivity: "base" }) === 0 : raw === rule.equals;
|
|
70
|
+
}
|
|
71
|
+
if (rule.startsWith !== void 0) {
|
|
72
|
+
return ignoreCase ? raw.toLowerCase().startsWith(rule.startsWith.toLowerCase()) : raw.startsWith(rule.startsWith);
|
|
73
|
+
}
|
|
74
|
+
if (rule.matches instanceof RegExp) {
|
|
75
|
+
const re = ignoreCase && !rule.matches.flags.includes("i") ? new RegExp(rule.matches.source, (rule.matches.flags || "") + "i") : rule.matches;
|
|
76
|
+
return re.test(raw);
|
|
77
|
+
}
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
function isVercelAiSpan(span) {
|
|
81
|
+
var _a, _b, _c, _d;
|
|
82
|
+
const scope = (_d = (_c = (_b = (_a = span.instrumentationScope) == null ? void 0 : _a.name) == null ? void 0 : _b.toLowerCase) == null ? void 0 : _c.call(_b)) != null ? _d : "";
|
|
83
|
+
return scope === "ai";
|
|
84
|
+
}
|
|
85
|
+
function isHttpRequestSpan(span) {
|
|
86
|
+
var _a;
|
|
87
|
+
const name = (_a = span.name) != null ? _a : "";
|
|
88
|
+
const verbMatch = /^(GET|POST|PUT|DELETE|PATCH|OPTIONS|HEAD)\b/i.test(name);
|
|
89
|
+
return verbMatch;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// src/observability-sdk/exporters/langwatch-trace-exporter.ts
|
|
20
93
|
var LangWatchTraceExporter = class extends _exportertraceotlphttp.OTLPTraceExporter {
|
|
21
94
|
/**
|
|
22
|
-
* Creates a new
|
|
95
|
+
* Creates a new LangWatchTraceExporter instance.
|
|
23
96
|
*
|
|
24
|
-
* @param opts -
|
|
25
|
-
* @param opts.apiKey -
|
|
26
|
-
*
|
|
27
|
-
* @param opts.endpoint -
|
|
28
|
-
*
|
|
29
|
-
* @param opts.
|
|
30
|
-
*
|
|
97
|
+
* @param opts - Configuration options for the exporter
|
|
98
|
+
* @param opts.apiKey - API key for LangWatch authentication.
|
|
99
|
+
* Falls back to `LANGWATCH_API_KEY` environment variable, then empty string.
|
|
100
|
+
* @param opts.endpoint - Custom endpoint URL for LangWatch ingestion.
|
|
101
|
+
* Falls back to `LANGWATCH_ENDPOINT` environment variable, then default endpoint.
|
|
102
|
+
* @param opts.filters - Array of filters applied sequentially to spans before export (AND semantics).
|
|
103
|
+
* When omitted, defaults to `[{ preset: "excludeHttpRequests" }]`.
|
|
104
|
+
* Pass `null` or `[]` to disable all filtering and send all spans.
|
|
105
|
+
*
|
|
106
|
+
* @example
|
|
107
|
+
* ```typescript
|
|
108
|
+
* // With API key and default filtering
|
|
109
|
+
* const exporter = new LangWatchTraceExporter({
|
|
110
|
+
* apiKey: 'your-api-key'
|
|
111
|
+
* });
|
|
112
|
+
*
|
|
113
|
+
* // With custom endpoint and no filtering
|
|
114
|
+
* const exporter = new LangWatchTraceExporter({
|
|
115
|
+
* endpoint: 'https://custom.langwatch.ai',
|
|
116
|
+
* filters: null
|
|
117
|
+
* });
|
|
118
|
+
* ```
|
|
31
119
|
*/
|
|
32
120
|
constructor(opts) {
|
|
33
121
|
var _a, _b, _c, _d;
|
|
34
122
|
const apiKey = (_b = (_a = opts == null ? void 0 : opts.apiKey) != null ? _a : process.env.LANGWATCH_API_KEY) != null ? _b : "";
|
|
35
|
-
const endpoint = (_d = (_c = opts == null ? void 0 : opts.endpoint) != null ? _c : process.env.LANGWATCH_ENDPOINT) != null ? _d :
|
|
36
|
-
|
|
37
|
-
console.warn(
|
|
38
|
-
"[LangWatchExporter] The behavior of `includeAllSpans` is deprecated and will be removed in a future version"
|
|
39
|
-
);
|
|
40
|
-
}
|
|
41
|
-
if (opts && opts.debug !== void 0) {
|
|
42
|
-
console.warn(
|
|
43
|
-
"[LangWatchExporter] The behavior of `debug` is deprecated and will be removed in a future version"
|
|
44
|
-
);
|
|
45
|
-
}
|
|
46
|
-
const url = new URL(_chunkBKVMRI32js.TRACES_PATH, endpoint);
|
|
123
|
+
const endpoint = (_d = (_c = opts == null ? void 0 : opts.endpoint) != null ? _c : process.env.LANGWATCH_ENDPOINT) != null ? _d : _chunk4NB5C6GHjs.DEFAULT_ENDPOINT;
|
|
124
|
+
const url = new URL(_chunk4NB5C6GHjs.TRACES_PATH, endpoint);
|
|
47
125
|
const otelEndpoint = url.toString();
|
|
48
126
|
super({
|
|
49
127
|
headers: _chunkOHM7JUMRjs.__spreadValues.call(void 0, {
|
|
50
|
-
"x-langwatch-sdk-name":
|
|
51
|
-
"x-langwatch-sdk-language":
|
|
52
|
-
"x-langwatch-sdk-version":
|
|
53
|
-
"x-langwatch-sdk-runtime":
|
|
128
|
+
"x-langwatch-sdk-name": _chunk4NB5C6GHjs.LANGWATCH_SDK_NAME_OBSERVABILITY,
|
|
129
|
+
"x-langwatch-sdk-language": _chunk4NB5C6GHjs.LANGWATCH_SDK_LANGUAGE,
|
|
130
|
+
"x-langwatch-sdk-version": _chunk4NB5C6GHjs.LANGWATCH_SDK_VERSION,
|
|
131
|
+
"x-langwatch-sdk-runtime": _chunk4NB5C6GHjs.LANGWATCH_SDK_RUNTIME.call(void 0, )
|
|
54
132
|
}, apiKey ? { authorization: `Bearer ${apiKey}` } : {}),
|
|
55
133
|
url: otelEndpoint.toString()
|
|
56
134
|
});
|
|
135
|
+
if ((opts == null ? void 0 : opts.filters) === null || Array.isArray(opts == null ? void 0 : opts.filters) && opts.filters.length === 0) {
|
|
136
|
+
this.filters = [];
|
|
137
|
+
} else if (Array.isArray(opts == null ? void 0 : opts.filters)) {
|
|
138
|
+
this.filters = opts.filters;
|
|
139
|
+
} else {
|
|
140
|
+
this.filters = [{ preset: "excludeHttpRequests" }];
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
export(spans, resultCallback) {
|
|
144
|
+
const filtered = applyFilters(this.filters, spans);
|
|
145
|
+
super.export(filtered, resultCallback);
|
|
57
146
|
}
|
|
58
147
|
};
|
|
59
148
|
|
|
@@ -72,15 +161,15 @@ var LangWatchLogsExporter = class extends _exporterlogsotlphttp.OTLPLogExporter
|
|
|
72
161
|
constructor(opts) {
|
|
73
162
|
var _a, _b, _c, _d;
|
|
74
163
|
const apiKey = (_b = (_a = opts == null ? void 0 : opts.apiKey) != null ? _a : process.env.LANGWATCH_API_KEY) != null ? _b : "";
|
|
75
|
-
const endpoint = (_d = (_c = opts == null ? void 0 : opts.endpoint) != null ? _c : process.env.LANGWATCH_ENDPOINT) != null ? _d :
|
|
76
|
-
const url = new URL(
|
|
164
|
+
const endpoint = (_d = (_c = opts == null ? void 0 : opts.endpoint) != null ? _c : process.env.LANGWATCH_ENDPOINT) != null ? _d : _chunk4NB5C6GHjs.DEFAULT_ENDPOINT;
|
|
165
|
+
const url = new URL(_chunk4NB5C6GHjs.LOGS_PATH, endpoint);
|
|
77
166
|
const otelEndpoint = url.toString();
|
|
78
167
|
super({
|
|
79
168
|
headers: _chunkOHM7JUMRjs.__spreadValues.call(void 0, {
|
|
80
|
-
"x-langwatch-sdk-name":
|
|
81
|
-
"x-langwatch-sdk-language":
|
|
82
|
-
"x-langwatch-sdk-version":
|
|
83
|
-
"x-langwatch-sdk-runtime":
|
|
169
|
+
"x-langwatch-sdk-name": _chunk4NB5C6GHjs.LANGWATCH_SDK_NAME_OBSERVABILITY,
|
|
170
|
+
"x-langwatch-sdk-language": _chunk4NB5C6GHjs.LANGWATCH_SDK_LANGUAGE,
|
|
171
|
+
"x-langwatch-sdk-version": _chunk4NB5C6GHjs.LANGWATCH_SDK_VERSION,
|
|
172
|
+
"x-langwatch-sdk-runtime": _chunk4NB5C6GHjs.LANGWATCH_SDK_RUNTIME.call(void 0, )
|
|
84
173
|
}, apiKey ? { authorization: `Bearer ${apiKey}` } : {}),
|
|
85
174
|
url: otelEndpoint.toString()
|
|
86
175
|
});
|
|
@@ -204,4 +293,4 @@ function createLangWatchLogger(logger) {
|
|
|
204
293
|
|
|
205
294
|
|
|
206
295
|
exports.LangWatchTraceExporter = LangWatchTraceExporter; exports.LangWatchLogsExporter = LangWatchLogsExporter; exports.setLangWatchLoggerProvider = setLangWatchLoggerProvider; exports.getLangWatchLogger = getLangWatchLogger; exports.getLangWatchLoggerFromProvider = getLangWatchLoggerFromProvider;
|
|
207
|
-
//# sourceMappingURL=chunk-
|
|
296
|
+
//# sourceMappingURL=chunk-4XNHIYPE.js.map
|