langwatch 0.3.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -2
- package/dist/{add-LBBS4I3H.js → add-35QACTIV.js} +34 -28
- package/dist/add-35QACTIV.js.map +1 -0
- package/dist/{add-RD3ZKFAT.mjs → add-TRJAXM4D.mjs} +22 -16
- package/dist/add-TRJAXM4D.mjs.map +1 -0
- package/dist/chunk-4ZSSHX6F.js +636 -0
- package/dist/chunk-4ZSSHX6F.js.map +1 -0
- package/dist/chunk-5EVBOHJY.js +155 -0
- package/dist/chunk-5EVBOHJY.js.map +1 -0
- package/dist/{chunk-YN4436PK.mjs → chunk-CU3443HD.mjs} +14 -9
- package/dist/{chunk-2JU376G7.js → chunk-D2CSG4SJ.js} +4 -4
- package/dist/chunk-D2CSG4SJ.js.map +1 -0
- package/dist/chunk-DISMHYXC.js +184 -0
- package/dist/chunk-DISMHYXC.js.map +1 -0
- package/dist/{chunk-E7UE2MPD.mjs → chunk-ECUXLXFT.mjs} +2 -2
- package/dist/chunk-EJWJXTPU.mjs +626 -0
- package/dist/chunk-EJWJXTPU.mjs.map +1 -0
- package/dist/chunk-GQMDZ4GY.mjs +155 -0
- package/dist/chunk-GQMDZ4GY.mjs.map +1 -0
- package/dist/{chunk-3GKPQB4R.mjs → chunk-HUI45ULC.mjs} +4 -4
- package/dist/chunk-HUI45ULC.mjs.map +1 -0
- package/dist/{chunk-HJU67C7H.js → chunk-K64Y6YUG.js} +10 -10
- package/dist/{chunk-HJU67C7H.js.map → chunk-K64Y6YUG.js.map} +1 -1
- package/dist/chunk-LP76VXI3.mjs +636 -0
- package/dist/chunk-LP76VXI3.mjs.map +1 -0
- package/dist/chunk-M4VUHTT2.js +626 -0
- package/dist/chunk-M4VUHTT2.js.map +1 -0
- package/dist/{chunk-PR3JDWC3.mjs → chunk-N2V6J3U2.mjs} +28 -3
- package/dist/chunk-N2V6J3U2.mjs.map +1 -0
- package/dist/chunk-OUCVXP4G.js +258 -0
- package/dist/chunk-OUCVXP4G.js.map +1 -0
- package/dist/{chunk-FJLK5CFL.js → chunk-OXBO24RB.js} +13 -8
- package/dist/chunk-OXBO24RB.js.map +1 -0
- package/dist/chunk-PGWR3OQY.mjs +258 -0
- package/dist/chunk-PGWR3OQY.mjs.map +1 -0
- package/dist/{chunk-SMXXAVMB.js → chunk-SGNJDRCT.js} +2 -2
- package/dist/chunk-SGNJDRCT.js.map +1 -0
- package/dist/{chunk-W5ZEP3CI.mjs → chunk-SYMZPWZE.mjs} +2 -2
- package/dist/chunk-SYMZPWZE.mjs.map +1 -0
- package/dist/{chunk-KGDAENGD.js → chunk-YH5TIVK2.js} +28 -3
- package/dist/chunk-YH5TIVK2.js.map +1 -0
- package/dist/chunk-YNQ44U6D.mjs +184 -0
- package/dist/chunk-YNQ44U6D.mjs.map +1 -0
- package/dist/cli/index.js +8 -8
- package/dist/cli/index.mjs +8 -8
- package/dist/{create-G5MTGOOH.js → create-7K2CC4KQ.js} +11 -11
- package/dist/{create-G5MTGOOH.js.map → create-7K2CC4KQ.js.map} +1 -1
- package/dist/{create-QUZYBMQB.mjs → create-MK7NEGCM.mjs} +8 -8
- package/dist/implementation-C4lvooSg.d.mts +576 -0
- package/dist/implementation-CzemP9jY.d.ts +576 -0
- package/dist/index-DTEZr0Jn.d.mts +34 -0
- package/dist/index-DTEZr0Jn.d.ts +34 -0
- package/dist/index.d.mts +122 -41
- package/dist/index.d.ts +122 -41
- package/dist/index.js +16 -12
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +27 -23
- package/dist/index.mjs.map +1 -1
- package/dist/init-GDKJICSS.js +16 -0
- package/dist/{init-XU2JFY6N.js.map → init-GDKJICSS.js.map} +1 -1
- package/dist/{init-H67RW22E.mjs → init-RINSTP4L.mjs} +5 -5
- package/dist/{list-7NPSX2E4.mjs → list-7L23G5DY.mjs} +28 -16
- package/dist/list-7L23G5DY.mjs.map +1 -0
- package/dist/{list-ZXFLAF52.js → list-OLLQ7XKZ.js} +29 -17
- package/dist/list-OLLQ7XKZ.js.map +1 -0
- package/dist/{login-EK4WVOI2.mjs → login-RCNKL5AM.mjs} +6 -5
- package/dist/login-RCNKL5AM.mjs.map +1 -0
- package/dist/{login-76NQIHKR.js → login-XF3BQQPV.js} +7 -6
- package/dist/login-XF3BQQPV.js.map +1 -0
- package/dist/observability-sdk/index.d.mts +134 -0
- package/dist/observability-sdk/index.d.ts +134 -0
- package/dist/observability-sdk/index.js +41 -0
- package/dist/observability-sdk/index.js.map +1 -0
- package/dist/observability-sdk/index.mjs +41 -0
- package/dist/observability-sdk/instrumentation/langchain/index.d.mts +69 -0
- package/dist/observability-sdk/instrumentation/langchain/index.d.ts +69 -0
- package/dist/observability-sdk/instrumentation/langchain/index.js +518 -0
- package/dist/observability-sdk/instrumentation/langchain/index.js.map +1 -0
- package/dist/observability-sdk/instrumentation/langchain/index.mjs +518 -0
- package/dist/observability-sdk/instrumentation/langchain/index.mjs.map +1 -0
- package/dist/observability-sdk/setup/node/index.d.mts +368 -0
- package/dist/observability-sdk/setup/node/index.d.ts +368 -0
- package/dist/observability-sdk/setup/node/index.js +276 -0
- package/dist/observability-sdk/setup/node/index.js.map +1 -0
- package/dist/observability-sdk/setup/node/index.mjs +276 -0
- package/dist/observability-sdk/setup/node/index.mjs.map +1 -0
- package/dist/{remove-SDJYEPAY.mjs → remove-3VLQNVHN.mjs} +11 -8
- package/dist/remove-3VLQNVHN.mjs.map +1 -0
- package/dist/{remove-XBNGIVMR.js → remove-L6JVJBWY.js} +18 -15
- package/dist/remove-L6JVJBWY.js.map +1 -0
- package/dist/{sync-ST2IWXSB.mjs → sync-DPMTUTVL.mjs} +39 -33
- package/dist/sync-DPMTUTVL.mjs.map +1 -0
- package/dist/{sync-EISKGPTL.js → sync-PSU3F5Z4.js} +52 -46
- package/dist/sync-PSU3F5Z4.js.map +1 -0
- package/dist/{prompt-D-jpMrLS.d.mts → types-1q5wIYP5.d.mts} +628 -14
- package/dist/{prompt-D-jpMrLS.d.ts → types-C9k5gGhU.d.ts} +628 -14
- package/dist/types-DRiQaKFG.d.mts +254 -0
- package/dist/types-DRiQaKFG.d.ts +254 -0
- package/dist/types-Dmazk5Bk.d.mts +44 -0
- package/dist/types-Dmazk5Bk.d.ts +44 -0
- package/package.json +40 -40
- package/dist/add-LBBS4I3H.js.map +0 -1
- package/dist/add-RD3ZKFAT.mjs.map +0 -1
- package/dist/chunk-2JU376G7.js.map +0 -1
- package/dist/chunk-2ODBGSBI.js +0 -4
- package/dist/chunk-2ODBGSBI.js.map +0 -1
- package/dist/chunk-3GKPQB4R.mjs.map +0 -1
- package/dist/chunk-52GXX3MA.js +0 -426
- package/dist/chunk-52GXX3MA.js.map +0 -1
- package/dist/chunk-5NC5ILKA.js +0 -94
- package/dist/chunk-5NC5ILKA.js.map +0 -1
- package/dist/chunk-6I4EA43Y.js +0 -39
- package/dist/chunk-6I4EA43Y.js.map +0 -1
- package/dist/chunk-DTEKFQ4U.js +0 -159
- package/dist/chunk-DTEKFQ4U.js.map +0 -1
- package/dist/chunk-F63YKTXA.mjs +0 -47
- package/dist/chunk-F63YKTXA.mjs.map +0 -1
- package/dist/chunk-FJLK5CFL.js.map +0 -1
- package/dist/chunk-GJSEBQXF.mjs +0 -392
- package/dist/chunk-GJSEBQXF.mjs.map +0 -1
- package/dist/chunk-J7ICRUU4.mjs +0 -426
- package/dist/chunk-J7ICRUU4.mjs.map +0 -1
- package/dist/chunk-KGDAENGD.js.map +0 -1
- package/dist/chunk-LD74LVRU.js +0 -47
- package/dist/chunk-LD74LVRU.js.map +0 -1
- package/dist/chunk-PCQVQ7SB.js +0 -45
- package/dist/chunk-PCQVQ7SB.js.map +0 -1
- package/dist/chunk-PR3JDWC3.mjs.map +0 -1
- package/dist/chunk-PWZBLTHR.js +0 -118
- package/dist/chunk-PWZBLTHR.js.map +0 -1
- package/dist/chunk-QEWDG5QE.mjs +0 -45
- package/dist/chunk-QEWDG5QE.mjs.map +0 -1
- package/dist/chunk-SMXXAVMB.js.map +0 -1
- package/dist/chunk-STV4ZVNA.mjs +0 -118
- package/dist/chunk-STV4ZVNA.mjs.map +0 -1
- package/dist/chunk-T5AZMMVS.mjs +0 -94
- package/dist/chunk-T5AZMMVS.mjs.map +0 -1
- package/dist/chunk-UU33HCCZ.mjs +0 -159
- package/dist/chunk-UU33HCCZ.mjs.map +0 -1
- package/dist/chunk-VGHLQXKB.js +0 -392
- package/dist/chunk-VGHLQXKB.js.map +0 -1
- package/dist/chunk-W5ZEP3CI.mjs.map +0 -1
- package/dist/chunk-Y666BJA5.mjs +0 -4
- package/dist/chunk-YFUZF7JM.mjs +0 -39
- package/dist/chunk-YFUZF7JM.mjs.map +0 -1
- package/dist/chunk-YN4436PK.mjs.map +0 -1
- package/dist/client-B2HqIKg6.d.ts +0 -51
- package/dist/client-XyCqclCi.d.mts +0 -51
- package/dist/client-browser.d.mts +0 -8
- package/dist/client-browser.d.ts +0 -8
- package/dist/client-browser.js +0 -85
- package/dist/client-browser.js.map +0 -1
- package/dist/client-browser.mjs +0 -85
- package/dist/client-browser.mjs.map +0 -1
- package/dist/client-node.d.mts +0 -8
- package/dist/client-node.d.ts +0 -8
- package/dist/client-node.js +0 -92
- package/dist/client-node.js.map +0 -1
- package/dist/client-node.mjs +0 -92
- package/dist/client-node.mjs.map +0 -1
- package/dist/evaluation/index.d.mts +0 -897
- package/dist/evaluation/index.d.ts +0 -897
- package/dist/evaluation/index.js +0 -14
- package/dist/evaluation/index.js.map +0 -1
- package/dist/evaluation/index.mjs +0 -14
- package/dist/filterable-batch-span-processor-zO5kcjBY.d.mts +0 -64
- package/dist/filterable-batch-span-processor-zO5kcjBY.d.ts +0 -64
- package/dist/init-XU2JFY6N.js +0 -16
- package/dist/list-7NPSX2E4.mjs.map +0 -1
- package/dist/list-ZXFLAF52.js.map +0 -1
- package/dist/login-76NQIHKR.js.map +0 -1
- package/dist/login-EK4WVOI2.mjs.map +0 -1
- package/dist/observability/index.d.mts +0 -260
- package/dist/observability/index.d.ts +0 -260
- package/dist/observability/index.js +0 -21
- package/dist/observability/index.js.map +0 -1
- package/dist/observability/index.mjs +0 -21
- package/dist/observability/index.mjs.map +0 -1
- package/dist/observability/instrumentation/langchain/index.d.mts +0 -40
- package/dist/observability/instrumentation/langchain/index.d.ts +0 -40
- package/dist/observability/instrumentation/langchain/index.js +0 -668
- package/dist/observability/instrumentation/langchain/index.js.map +0 -1
- package/dist/observability/instrumentation/langchain/index.mjs +0 -668
- package/dist/observability/instrumentation/langchain/index.mjs.map +0 -1
- package/dist/prompt/index.d.mts +0 -10
- package/dist/prompt/index.d.ts +0 -10
- package/dist/prompt/index.js +0 -22
- package/dist/prompt/index.js.map +0 -1
- package/dist/prompt/index.mjs +0 -22
- package/dist/prompt/index.mjs.map +0 -1
- package/dist/record-evaluation-CmxMXa-3.d.mts +0 -25
- package/dist/record-evaluation-CmxMXa-3.d.ts +0 -25
- package/dist/remove-SDJYEPAY.mjs.map +0 -1
- package/dist/remove-XBNGIVMR.js.map +0 -1
- package/dist/sync-EISKGPTL.js.map +0 -1
- package/dist/sync-ST2IWXSB.mjs.map +0 -1
- package/dist/trace-CqaKo0kZ.d.ts +0 -622
- package/dist/trace-DtVc5GhF.d.mts +0 -622
- /package/dist/{chunk-Y666BJA5.mjs.map → chunk-CU3443HD.mjs.map} +0 -0
- /package/dist/{chunk-E7UE2MPD.mjs.map → chunk-ECUXLXFT.mjs.map} +0 -0
- /package/dist/{create-QUZYBMQB.mjs.map → create-MK7NEGCM.mjs.map} +0 -0
- /package/dist/{init-H67RW22E.mjs.map → init-RINSTP4L.mjs.map} +0 -0
- /package/dist/{evaluation → observability-sdk}/index.mjs.map +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/observability/processors/filterable-batch-span-processor.ts"],"sourcesContent":["/**\n * Filterable Batch Span Exporter for OpenTelemetry\n *\n * This module provides a BatchSpanProcessor subclass that allows filtering of spans before export\n * based on configurable rules. Spans matching any exclude rule are dropped and not exported.\n *\n * @module filterable-batch-span-exporter\n */\n\nimport {\n BatchSpanProcessor,\n ReadableSpan,\n SpanExporter,\n} from '@opentelemetry/sdk-trace-base';\n\n/**\n * A rule for excluding spans from export based on their name or instrumentation scope name.\n *\n * @property fieldName - The span field to match against ('span_name' or 'instrumentation_scope_name').\n * @property matchValue - The value to match against the field.\n * @property matchOperation - The operation to use for matching ('includes', 'exact_match', 'starts_with', 'ends_with').\n *\n * @example\n * const rule: SpanProcessingExcludeRule = {\n * fieldName: 'span_name',\n * matchValue: 'heartbeat',\n * matchOperation: 'exact_match',\n * };\n */\nexport interface SpanProcessingExcludeRule {\n fieldName: \"span_name\" | \"instrumentation_scope_name\";\n matchValue: string;\n matchOperation: \"includes\" | \"exact_match\" | \"starts_with\" | \"ends_with\";\n}\n\n/**\n * A BatchSpanProcessor that filters out spans matching any of the provided exclude rules before export.\n *\n * This is useful for dropping noisy or irrelevant spans (e.g., health checks, heartbeats) from being exported to your tracing backend.\n *\n * @example\n * import { FilterableBatchSpanProcessor } from './filterable-batch-span-exporter';\n * import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';\n *\n * const exporter = new OTLPTraceExporter({ url: '...' });\n * const filters = [\n * { fieldName: 'span_name', matchValue: 'heartbeat', matchOperation: 'exact_match' },\n * { fieldName: 'instrumentation_scope_name', matchValue: 'internal', matchOperation: 'starts_with' },\n * ];\n * provider.addSpanProcessor(new FilterableBatchSpanProcessor(exporter, filters));\n */\nexport class FilterableBatchSpanProcessor extends BatchSpanProcessor {\n private readonly _filters: SpanProcessingExcludeRule[];\n\n /**\n * Create a new FilterableBatchSpanProcessor.\n *\n * @param exporter - The underlying SpanExporter to use for exporting spans.\n * @param filters - An array of rules for excluding spans from export.\n */\n constructor(exporter: SpanExporter, filters: SpanProcessingExcludeRule[]) {\n super(exporter);\n this._filters = filters;\n }\n\n /**\n * Called when a span ends. If the span matches any exclude rule, it is dropped and not exported.\n *\n * @param span - The ReadableSpan that has ended.\n */\n override onEnd(span: ReadableSpan): void {\n for (const filter of this._filters) {\n let sourceValue: string;\n\n if (filter.fieldName === \"span_name\") {\n sourceValue = span.name;\n } else if (filter.fieldName === \"instrumentation_scope_name\") {\n sourceValue = span.instrumentationScope.name;\n } else {\n continue;\n }\n\n const matchValue = filter.matchValue;\n const matchOperation = filter.matchOperation;\n\n switch (true) {\n case matchOperation === \"exact_match\" && sourceValue === matchValue:\n case matchOperation === \"includes\" && sourceValue.includes(matchValue):\n case matchOperation === \"starts_with\" && sourceValue.startsWith(matchValue):\n case matchOperation === \"ends_with\" && sourceValue.endsWith(matchValue):\n return;\n\n default: break;\n }\n }\n\n super.onEnd(span);\n }\n}\n"],"mappings":";AASA;AAAA,EACE;AAAA,OAGK;AAsCA,IAAM,+BAAN,cAA2C,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASnE,YAAY,UAAwB,SAAsC;AACxE,UAAM,QAAQ;AACd,SAAK,WAAW;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOS,MAAM,MAA0B;AACvC,eAAW,UAAU,KAAK,UAAU;AAClC,UAAI;AAEJ,UAAI,OAAO,cAAc,aAAa;AACpC,sBAAc,KAAK;AAAA,MACrB,WAAW,OAAO,cAAc,8BAA8B;AAC5D,sBAAc,KAAK,qBAAqB;AAAA,MAC1C,OAAO;AACL;AAAA,MACF;AAEA,YAAM,aAAa,OAAO;AAC1B,YAAM,iBAAiB,OAAO;AAE9B,cAAQ,MAAM;AAAA,QACZ,MAAK,mBAAmB,iBAAiB,gBAAgB;AAAA,QACzD,MAAK,mBAAmB,cAAc,YAAY,SAAS,UAAU;AAAA,QACrE,MAAK,mBAAmB,iBAAiB,YAAY,WAAW,UAAU;AAAA,QAC1E,MAAK,mBAAmB,eAAe,YAAY,SAAS,UAAU;AACpE;AAAA,QAEF;AAAS;AAAA,MACX;AAAA,IACF;AAEA,UAAM,MAAM,IAAI;AAAA,EAClB;AACF;","names":[]}
|
package/dist/chunk-PWZBLTHR.js
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var _chunkPCQVQ7SBjs = require('./chunk-PCQVQ7SB.js');
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var _chunk52GXX3MAjs = require('./chunk-52GXX3MA.js');
|
|
9
|
-
|
|
10
|
-
// src/internal/api/errors.ts
|
|
11
|
-
var LangWatchApiError = class extends Error {
|
|
12
|
-
constructor(message, response) {
|
|
13
|
-
super(message);
|
|
14
|
-
this.httpStatus = response.status;
|
|
15
|
-
this.httpStatusText = response.statusText;
|
|
16
|
-
}
|
|
17
|
-
async safeParseBody(response) {
|
|
18
|
-
var _a;
|
|
19
|
-
try {
|
|
20
|
-
if ((_a = response.headers.get("Content-Type")) == null ? void 0 : _a.includes("application/json")) {
|
|
21
|
-
const json = await response.json();
|
|
22
|
-
this.body = json;
|
|
23
|
-
if (json.error && typeof json.error === "string") {
|
|
24
|
-
this.apiError = json.error;
|
|
25
|
-
}
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
this.body = await response.text();
|
|
29
|
-
} catch (e) {
|
|
30
|
-
this.body = null;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
// src/evaluation/run-evaluation.ts
|
|
36
|
-
var _api = require('@opentelemetry/api');
|
|
37
|
-
async function runEvaluation(details) {
|
|
38
|
-
return await _chunk52GXX3MAjs.tracer.startActiveSpan("run evaluation", async (span) => {
|
|
39
|
-
var _a, _b;
|
|
40
|
-
span.setType(details.asGuardrail ? "guardrail" : "evaluation");
|
|
41
|
-
try {
|
|
42
|
-
const evaluatorId = "slug" in details ? details.slug : details.evaluator;
|
|
43
|
-
const request = {
|
|
44
|
-
trace_id: span.spanContext().traceId,
|
|
45
|
-
span_id: span.spanContext().spanId,
|
|
46
|
-
data: details.data,
|
|
47
|
-
name: details.name,
|
|
48
|
-
settings: details.settings,
|
|
49
|
-
as_guardrail: details.asGuardrail
|
|
50
|
-
};
|
|
51
|
-
if (_chunkPCQVQ7SBjs.canAutomaticallyCaptureInput.call(void 0, )) {
|
|
52
|
-
span.setInput(request);
|
|
53
|
-
}
|
|
54
|
-
const url = new URL(
|
|
55
|
-
`/api/evaluations/${evaluatorId}/evaluate`,
|
|
56
|
-
_chunkPCQVQ7SBjs.getEndpoint.call(void 0, )
|
|
57
|
-
);
|
|
58
|
-
const response = await fetch(url.toString(), {
|
|
59
|
-
method: "POST",
|
|
60
|
-
headers: {
|
|
61
|
-
"X-Auth-Token": _chunkPCQVQ7SBjs.getApiKey.call(void 0, ),
|
|
62
|
-
"Content-Type": "application/json"
|
|
63
|
-
},
|
|
64
|
-
body: JSON.stringify(request)
|
|
65
|
-
});
|
|
66
|
-
if (!response.ok) {
|
|
67
|
-
const err = new LangWatchApiError("Unable to run evaluation", response);
|
|
68
|
-
await err.safeParseBody(response);
|
|
69
|
-
throw err;
|
|
70
|
-
}
|
|
71
|
-
const result = await response.json();
|
|
72
|
-
span.setMetrics({
|
|
73
|
-
cost: (_a = result.cost) == null ? void 0 : _a.amount
|
|
74
|
-
});
|
|
75
|
-
span.setOutputEvaluation((_b = details.asGuardrail) != null ? _b : false, result);
|
|
76
|
-
if (result.status === "processed") {
|
|
77
|
-
return {
|
|
78
|
-
status: "processed",
|
|
79
|
-
passed: result.passed,
|
|
80
|
-
score: result.score,
|
|
81
|
-
details: result.details,
|
|
82
|
-
label: result.label,
|
|
83
|
-
cost: result.cost
|
|
84
|
-
};
|
|
85
|
-
} else if (result.status === "skipped") {
|
|
86
|
-
return {
|
|
87
|
-
status: "skipped",
|
|
88
|
-
details: result.details
|
|
89
|
-
};
|
|
90
|
-
} else if (result.status === "error") {
|
|
91
|
-
return {
|
|
92
|
-
status: "error",
|
|
93
|
-
error_type: result.error_type || "Unknown",
|
|
94
|
-
details: result.details || "Unknown error",
|
|
95
|
-
traceback: result.traceback || []
|
|
96
|
-
};
|
|
97
|
-
} else {
|
|
98
|
-
return {
|
|
99
|
-
status: "error",
|
|
100
|
-
error_type: "UnknownStatus",
|
|
101
|
-
details: `Unknown evaluation status: ${result.status}`,
|
|
102
|
-
traceback: []
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
} catch (error) {
|
|
106
|
-
span.recordException(error);
|
|
107
|
-
span.setStatus({ code: _api.SpanStatusCode.ERROR, message: error == null ? void 0 : error.message });
|
|
108
|
-
throw error;
|
|
109
|
-
} finally {
|
|
110
|
-
span.end();
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
exports.runEvaluation = runEvaluation;
|
|
118
|
-
//# sourceMappingURL=chunk-PWZBLTHR.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/chunk-PWZBLTHR.js","../src/internal/api/errors.ts","../src/evaluation/run-evaluation.ts"],"names":[],"mappings":"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","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/chunk-PWZBLTHR.js","sourcesContent":[null,"export class LangWatchApiError extends Error {\n public readonly httpStatus: number;\n public readonly httpStatusText: string;\n public apiError: string | undefined;\n public body: unknown;\n\n constructor(message: string, response: Response) {\n super(message);\n this.httpStatus = response.status;\n this.httpStatusText = response.statusText;\n }\n\n async safeParseBody(response: Response): Promise<void> {\n try {\n if (response.headers.get(\"Content-Type\")?.includes(\"application/json\")) {\n const json = await response.json();\n\n this.body = json;\n\n if (json.error && typeof json.error === \"string\") {\n this.apiError = json.error;\n }\n\n return;\n }\n\n this.body = await response.text();\n } catch {\n this.body = null;\n }\n }\n}\n","import { LangWatchApiError } from \"../internal/api/errors\";\nimport { canAutomaticallyCaptureInput, getApiKey, getEndpoint } from \"../client\";\nimport { Conversation } from \"../internal/generated/types/evaluations\";\nimport {\n Evaluators,\n EvaluatorTypes,\n SingleEvaluationResult,\n} from \"../internal/generated/types/evaluators.generated\";\nimport { RAGChunk } from \"../internal/generated/types/tracer\";\nimport { tracer } from \"./tracer\";\nimport { EvaluationResultModel } from \"./types\";\nimport { SpanStatusCode } from \"@opentelemetry/api\";\n\nexport interface BasicEvaluationData {\n input?: string;\n output?: string;\n expected_output?: unknown;\n contexts?: RAGChunk[] | string[];\n expected_contexts?: RAGChunk[] | string[];\n conversation?: Conversation;\n}\n\nexport interface EvaluationDetailsBase {\n name?: string;\n data: BasicEvaluationData | Record<string, unknown>;\n contexts?: RAGChunk[] | string[];\n conversation?: Conversation;\n asGuardrail?: boolean;\n}\n\nexport interface SavedEvaluationDetails extends EvaluationDetailsBase {\n slug: string;\n settings?: Record<string, unknown>;\n}\n\nexport interface LangEvalsEvaluationDetails<T extends EvaluatorTypes>\n extends EvaluationDetailsBase {\n evaluator: T;\n settings?: Evaluators[T][\"settings\"];\n}\n\nexport type EvaluationDetails =\n | SavedEvaluationDetails\n | LangEvalsEvaluationDetails<EvaluatorTypes>;\n\nexport async function runEvaluation(\n details: EvaluationDetails,\n): Promise<SingleEvaluationResult> {\n return await tracer.startActiveSpan(\"run evaluation\", async (span) => {\n span.setType(details.asGuardrail ? \"guardrail\" : \"evaluation\");\n\n try {\n const evaluatorId =\n \"slug\" in details ? details.slug : details.evaluator;\n const request = {\n trace_id: span.spanContext().traceId,\n span_id: span.spanContext().spanId,\n data: details.data,\n name: details.name,\n settings: details.settings,\n as_guardrail: details.asGuardrail,\n };\n\n if (canAutomaticallyCaptureInput()) {\n span.setInput(request);\n }\n\n const url = new URL(\n `/api/evaluations/${evaluatorId}/evaluate`,\n getEndpoint(),\n );\n\n const response = await fetch(url.toString(), {\n method: \"POST\",\n headers: {\n \"X-Auth-Token\": getApiKey(),\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(request),\n });\n if (!response.ok) {\n const err = new LangWatchApiError(\"Unable to run evaluation\", response);\n await err.safeParseBody(response);\n\n throw err;\n }\n\n const result: EvaluationResultModel = await response.json();\n\n span.setMetrics({\n cost: result.cost?.amount,\n });\n\n span.setOutputEvaluation(details.asGuardrail ?? false, result);\n\n if (result.status === \"processed\") {\n return {\n status: \"processed\",\n passed: result.passed,\n score: result.score,\n details: result.details,\n label: result.label,\n cost: result.cost,\n } as SingleEvaluationResult;\n } else if (result.status === \"skipped\") {\n return {\n status: \"skipped\",\n details: result.details,\n } as SingleEvaluationResult;\n } else if (result.status === \"error\") {\n return {\n status: \"error\",\n error_type: (result as any).error_type || \"Unknown\",\n details: result.details || \"Unknown error\",\n traceback: (result as any).traceback || [],\n } as SingleEvaluationResult;\n } else {\n return {\n status: \"error\",\n error_type: \"UnknownStatus\",\n details: `Unknown evaluation status: ${result.status}`,\n traceback: [],\n } as SingleEvaluationResult;\n }\n } catch (error) {\n span.recordException(error as Error);\n span.setStatus({ code: SpanStatusCode.ERROR, message: (error as Error)?.message });\n throw error;\n } finally {\n span.end();\n }\n });\n}\n"]}
|
package/dist/chunk-QEWDG5QE.mjs
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
// src/client.ts
|
|
2
|
-
var _a, _b;
|
|
3
|
-
var config = {
|
|
4
|
-
apiKey: (_a = process.env.LANGWATCH_API_KEY) != null ? _a : "",
|
|
5
|
-
endpoint: (_b = process.env.LANGWATCH_ENDPOINT) != null ? _b : "https://app.langwatch.ai",
|
|
6
|
-
setupCalled: false,
|
|
7
|
-
skipOpenTelemetrySetup: false,
|
|
8
|
-
disableAutomaticInputCapture: false,
|
|
9
|
-
disableAutomaticOutputCapture: false,
|
|
10
|
-
baseAttributes: {}
|
|
11
|
-
};
|
|
12
|
-
function setConfig(options) {
|
|
13
|
-
var _a2, _b2, _c, _d, _e, _f;
|
|
14
|
-
config.setupCalled = true;
|
|
15
|
-
config.apiKey = options.apiKey !== void 0 ? options.apiKey : (_a2 = process.env.LANGWATCH_API_KEY) != null ? _a2 : config.apiKey;
|
|
16
|
-
config.endpoint = options.endpoint !== void 0 ? options.endpoint : (_b2 = process.env.LANGWATCH_ENDPOINT) != null ? _b2 : config.endpoint;
|
|
17
|
-
if (config.apiKey === "") {
|
|
18
|
-
console.warn("[langwatch setup] No API key provided. Please set the LANGWATCH_API_KEY environment variable or pass it to the setup function. The SDK will perform no operations.");
|
|
19
|
-
}
|
|
20
|
-
config.skipOpenTelemetrySetup = (_c = options.skipOpenTelemetrySetup) != null ? _c : config.skipOpenTelemetrySetup;
|
|
21
|
-
config.disableAutomaticInputCapture = (_d = options.disableAutomaticInputCapture) != null ? _d : config.disableAutomaticInputCapture;
|
|
22
|
-
config.disableAutomaticOutputCapture = (_e = options.disableAutomaticOutputCapture) != null ? _e : config.disableAutomaticOutputCapture;
|
|
23
|
-
config.baseAttributes = (_f = options.baseAttributes) != null ? _f : config.baseAttributes;
|
|
24
|
-
}
|
|
25
|
-
function getApiKey() {
|
|
26
|
-
return config.apiKey;
|
|
27
|
-
}
|
|
28
|
-
function getEndpoint() {
|
|
29
|
-
return config.endpoint;
|
|
30
|
-
}
|
|
31
|
-
function canAutomaticallyCaptureInput() {
|
|
32
|
-
return !config.disableAutomaticInputCapture;
|
|
33
|
-
}
|
|
34
|
-
function canAutomaticallyCaptureOutput() {
|
|
35
|
-
return !config.disableAutomaticOutputCapture;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export {
|
|
39
|
-
setConfig,
|
|
40
|
-
getApiKey,
|
|
41
|
-
getEndpoint,
|
|
42
|
-
canAutomaticallyCaptureInput,
|
|
43
|
-
canAutomaticallyCaptureOutput
|
|
44
|
-
};
|
|
45
|
-
//# sourceMappingURL=chunk-QEWDG5QE.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/client.ts"],"sourcesContent":["import { SpanProcessor } from \"@opentelemetry/sdk-trace-base\";\nimport { SpanProcessingExcludeRule } from \"./observability\";\nimport { Attributes } from \"@opentelemetry/api\";\n\nexport interface SetupOptions {\n /**\n * The API key to use for the LangWatch API.\n */\n apiKey?: string;\n\n /**\n * The endpoint to use for the LangWatch API.\n */\n endpoint?: string;\n\n /**\n * The span processors to use for the OpenTelemetry SDK.\n *\n * If provided, these will be added to the OpenTelemetry SDK after the LangWatch SDK has\n * been initialized.\n */\n otelSpanProcessors?: SpanProcessor[];\n\n /**\n * The span processing exclude rules to use for the OpenTelemetry SDK.\n *\n * If provided, these will be added to the OpenTelemetry SDK after the LangWatch SDK has\n * been initialized.\n *\n * If you are using the `otelSpanProcessors` option, then these will be ignored.\n */\n otelSpanProcessingExcludeRules?: SpanProcessingExcludeRule[];\n\n /**\n * Whether to skip the automatic setup of the OpenTelemetry SDK. If this is set, then\n * the LangWatch SDK will not attempt to setup the OpenTelemetry SDK. You will need to\n * setup the OpenTelemetry yourself, and ensure that a SpanProcessor is added to the\n * OpenTelemetry SDK that will send traces to the LangWatch API.\n */\n skipOpenTelemetrySetup?: boolean;\n\n /**\n * Whether to disable the automatic capture of input.\n */\n disableAutomaticInputCapture?: boolean;\n\n /**\n * Whether to disable the automatic capture of output.\n */\n disableAutomaticOutputCapture?: boolean;\n\n /**\n * The base attributes to use for the OpenTelemetry SDK.\n */\n baseAttributes?: Attributes;\n}\n\ninterface InternalConfig {\n apiKey: string;\n endpoint: string;\n setupCalled: boolean;\n skipOpenTelemetrySetup: boolean;\n disableAutomaticInputCapture: boolean;\n disableAutomaticOutputCapture: boolean;\n\n baseAttributes: Attributes;\n}\n\nconst config: InternalConfig = {\n apiKey: process.env.LANGWATCH_API_KEY ?? \"\",\n endpoint: process.env.LANGWATCH_ENDPOINT ?? \"https://app.langwatch.ai\",\n setupCalled: false,\n skipOpenTelemetrySetup: false,\n disableAutomaticInputCapture: false,\n disableAutomaticOutputCapture: false,\n baseAttributes: {},\n};\n\nexport function setConfig(options: SetupOptions) {\n config.setupCalled = true;\n\n config.apiKey = options.apiKey !== void 0\n ? options.apiKey\n : (process.env.LANGWATCH_API_KEY ?? config.apiKey);\n\n config.endpoint = options.endpoint !== void 0\n ? options.endpoint\n : (process.env.LANGWATCH_ENDPOINT ?? config.endpoint);\n\n if (config.apiKey === \"\") {\n console.warn(\"[langwatch setup] No API key provided. Please set the LANGWATCH_API_KEY environment variable or pass it to the setup function. The SDK will perform no operations.\");\n }\n\n config.skipOpenTelemetrySetup = options.skipOpenTelemetrySetup ?? config.skipOpenTelemetrySetup;\n config.disableAutomaticInputCapture = options.disableAutomaticInputCapture ?? config.disableAutomaticInputCapture;\n config.disableAutomaticOutputCapture = options.disableAutomaticOutputCapture ?? config.disableAutomaticOutputCapture;\n\n config.baseAttributes = options.baseAttributes ?? config.baseAttributes;\n}\n\nexport function getApiKey(): string {\n return config.apiKey;\n}\n\nexport function getEndpoint(): string {\n return config.endpoint;\n}\n\nexport function canAutomaticallyCaptureInput(): boolean {\n return !config.disableAutomaticInputCapture;\n}\n\nexport function canAutomaticallyCaptureOutput(): boolean {\n return !config.disableAutomaticOutputCapture;\n}\n\nexport function isSetupCalled(): boolean {\n return config.setupCalled;\n}\n"],"mappings":";AAAA;AAoEA,IAAM,SAAyB;AAAA,EAC7B,SAAQ,aAAQ,IAAI,sBAAZ,YAAiC;AAAA,EACzC,WAAU,aAAQ,IAAI,uBAAZ,YAAkC;AAAA,EAC5C,aAAa;AAAA,EACb,wBAAwB;AAAA,EACxB,8BAA8B;AAAA,EAC9B,+BAA+B;AAAA,EAC/B,gBAAgB,CAAC;AACnB;AAEO,SAAS,UAAU,SAAuB;AA9EjD,MAAAA,KAAAC,KAAA;AA+EE,SAAO,cAAc;AAErB,SAAO,SAAS,QAAQ,WAAW,SAC/B,QAAQ,UACPD,MAAA,QAAQ,IAAI,sBAAZ,OAAAA,MAAiC,OAAO;AAE7C,SAAO,WAAW,QAAQ,aAAa,SACnC,QAAQ,YACPC,MAAA,QAAQ,IAAI,uBAAZ,OAAAA,MAAkC,OAAO;AAE9C,MAAI,OAAO,WAAW,IAAI;AACxB,YAAQ,KAAK,oKAAoK;AAAA,EACnL;AAEA,SAAO,0BAAyB,aAAQ,2BAAR,YAAkC,OAAO;AACzE,SAAO,gCAA+B,aAAQ,iCAAR,YAAwC,OAAO;AACrF,SAAO,iCAAgC,aAAQ,kCAAR,YAAyC,OAAO;AAEvF,SAAO,kBAAiB,aAAQ,mBAAR,YAA0B,OAAO;AAC3D;AAEO,SAAS,YAAoB;AAClC,SAAO,OAAO;AAChB;AAEO,SAAS,cAAsB;AACpC,SAAO,OAAO;AAChB;AAEO,SAAS,+BAAwC;AACtD,SAAO,CAAC,OAAO;AACjB;AAEO,SAAS,gCAAyC;AACvD,SAAO,CAAC,OAAO;AACjB;","names":["_a","_b"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/chunk-SMXXAVMB.js","../src/prompt/converter.ts"],"names":["_a"],"mappings":"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","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/chunk-SMXXAVMB.js","sourcesContent":[null,"import type { Prompt } from \"./prompt\";\nimport type { LocalPromptConfig, MaterializedPrompt } from \"../cli/types\";\n\n/**\n * Converter utility for transforming between YAML prompt format and API service format.\n *\n * The YAML format follows the GitHub .prompt.yaml file format standard,\n * while the API format is our internal prompt service schema tied to the database.\n *\n * This separation allows us to maintain and evolve both formats independently\n * while keeping the conversion logic centralized and well-tested.\n */\nexport class PromptConverter {\n /**\n * Converts a Prompt instance from the API service to the MaterializedPrompt format\n * used for saving to the .materialized directory.\n */\n static fromApiToMaterialized(prompt: Prompt): MaterializedPrompt {\n return {\n id: prompt.id,\n name: prompt.name,\n version: prompt.version,\n versionId: prompt.versionId,\n model: prompt.model,\n messages: prompt.messages,\n prompt: prompt.prompt,\n updatedAt: prompt.updatedAt,\n versionCreatedAt: prompt.versionCreatedAt,\n };\n }\n\n /**\n * Converts a MaterializedPrompt to the YAML content structure\n * for saving to .prompt.yaml files.\n */\n static fromMaterializedToYaml(prompt: MaterializedPrompt): {\n model: string;\n messages: Array<{\n role: \"system\" | \"user\" | \"assistant\";\n content: string;\n }>;\n } {\n return {\n model: prompt.model,\n messages: prompt.messages,\n };\n }\n\n /**\n * Converts a LocalPromptConfig (loaded from YAML) to the format\n * expected by the API service for upserting.\n */\n static fromLocalToApiFormat(config: LocalPromptConfig): {\n model: string;\n modelParameters?: {\n temperature?: number;\n max_tokens?: number;\n };\n messages: Array<{\n role: \"system\" | \"user\" | \"assistant\";\n content: string;\n }>;\n } {\n return {\n model: config.model,\n modelParameters: config.modelParameters,\n messages: config.messages,\n };\n }\n\n /**\n * Extracts the system prompt from messages array.\n * Used when converting to API format that separates system prompt from messages.\n */\n static extractSystemPrompt(messages: Array<{ role: string; content: string }>): string {\n return messages.find(m => m.role === \"system\")?.content || \"\";\n }\n\n /**\n * Filters out system messages from the messages array.\n * Used when converting to API format that handles system prompt separately.\n */\n static filterNonSystemMessages(messages: Array<{ role: string; content: string }>) {\n return messages.filter(m => m.role !== \"system\");\n }\n\n /**\n * Converts version specification strings to actual version constraints.\n * Handles npm-style version specs like \"latest\", \"5\", \"^5\", etc.\n */\n static parseVersionSpec(versionSpec: string): {\n type: \"latest\" | \"exact\" | \"tag\";\n value: string;\n } {\n if (versionSpec === \"latest\") {\n return { type: \"latest\", value: \"latest\" };\n }\n\n // For now, treat everything else as tags until we implement proper semver\n if (/^\\d+$/.test(versionSpec)) {\n return { type: \"exact\", value: versionSpec };\n }\n\n // Handle prefixes like ^, ~, etc. as tags for now\n return { type: \"tag\", value: versionSpec };\n }\n\n /**\n * Validates that a YAML config can be safely converted to API format.\n * Returns validation errors if any, or null if valid.\n */\n static validateForApiConversion(config: LocalPromptConfig): string[] {\n const errors: string[] = [];\n\n if (!config.model?.trim()) {\n errors.push(\"Model is required and cannot be empty\");\n }\n\n if (!config.messages || config.messages.length === 0) {\n errors.push(\"At least one message is required\");\n }\n\n if (config.messages) {\n config.messages.forEach((message, index) => {\n if (![\"system\", \"user\", \"assistant\"].includes(message.role)) {\n errors.push(`Message ${index}: role must be 'system', 'user', or 'assistant'`);\n }\n if (!message.content?.trim()) {\n errors.push(`Message ${index}: content cannot be empty`);\n }\n });\n }\n\n return errors;\n }\n}"]}
|
package/dist/chunk-STV4ZVNA.mjs
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
canAutomaticallyCaptureInput,
|
|
3
|
-
getApiKey,
|
|
4
|
-
getEndpoint
|
|
5
|
-
} from "./chunk-QEWDG5QE.mjs";
|
|
6
|
-
import {
|
|
7
|
-
tracer
|
|
8
|
-
} from "./chunk-J7ICRUU4.mjs";
|
|
9
|
-
|
|
10
|
-
// src/internal/api/errors.ts
|
|
11
|
-
var LangWatchApiError = class extends Error {
|
|
12
|
-
constructor(message, response) {
|
|
13
|
-
super(message);
|
|
14
|
-
this.httpStatus = response.status;
|
|
15
|
-
this.httpStatusText = response.statusText;
|
|
16
|
-
}
|
|
17
|
-
async safeParseBody(response) {
|
|
18
|
-
var _a;
|
|
19
|
-
try {
|
|
20
|
-
if ((_a = response.headers.get("Content-Type")) == null ? void 0 : _a.includes("application/json")) {
|
|
21
|
-
const json = await response.json();
|
|
22
|
-
this.body = json;
|
|
23
|
-
if (json.error && typeof json.error === "string") {
|
|
24
|
-
this.apiError = json.error;
|
|
25
|
-
}
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
this.body = await response.text();
|
|
29
|
-
} catch (e) {
|
|
30
|
-
this.body = null;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
// src/evaluation/run-evaluation.ts
|
|
36
|
-
import { SpanStatusCode } from "@opentelemetry/api";
|
|
37
|
-
async function runEvaluation(details) {
|
|
38
|
-
return await tracer.startActiveSpan("run evaluation", async (span) => {
|
|
39
|
-
var _a, _b;
|
|
40
|
-
span.setType(details.asGuardrail ? "guardrail" : "evaluation");
|
|
41
|
-
try {
|
|
42
|
-
const evaluatorId = "slug" in details ? details.slug : details.evaluator;
|
|
43
|
-
const request = {
|
|
44
|
-
trace_id: span.spanContext().traceId,
|
|
45
|
-
span_id: span.spanContext().spanId,
|
|
46
|
-
data: details.data,
|
|
47
|
-
name: details.name,
|
|
48
|
-
settings: details.settings,
|
|
49
|
-
as_guardrail: details.asGuardrail
|
|
50
|
-
};
|
|
51
|
-
if (canAutomaticallyCaptureInput()) {
|
|
52
|
-
span.setInput(request);
|
|
53
|
-
}
|
|
54
|
-
const url = new URL(
|
|
55
|
-
`/api/evaluations/${evaluatorId}/evaluate`,
|
|
56
|
-
getEndpoint()
|
|
57
|
-
);
|
|
58
|
-
const response = await fetch(url.toString(), {
|
|
59
|
-
method: "POST",
|
|
60
|
-
headers: {
|
|
61
|
-
"X-Auth-Token": getApiKey(),
|
|
62
|
-
"Content-Type": "application/json"
|
|
63
|
-
},
|
|
64
|
-
body: JSON.stringify(request)
|
|
65
|
-
});
|
|
66
|
-
if (!response.ok) {
|
|
67
|
-
const err = new LangWatchApiError("Unable to run evaluation", response);
|
|
68
|
-
await err.safeParseBody(response);
|
|
69
|
-
throw err;
|
|
70
|
-
}
|
|
71
|
-
const result = await response.json();
|
|
72
|
-
span.setMetrics({
|
|
73
|
-
cost: (_a = result.cost) == null ? void 0 : _a.amount
|
|
74
|
-
});
|
|
75
|
-
span.setOutputEvaluation((_b = details.asGuardrail) != null ? _b : false, result);
|
|
76
|
-
if (result.status === "processed") {
|
|
77
|
-
return {
|
|
78
|
-
status: "processed",
|
|
79
|
-
passed: result.passed,
|
|
80
|
-
score: result.score,
|
|
81
|
-
details: result.details,
|
|
82
|
-
label: result.label,
|
|
83
|
-
cost: result.cost
|
|
84
|
-
};
|
|
85
|
-
} else if (result.status === "skipped") {
|
|
86
|
-
return {
|
|
87
|
-
status: "skipped",
|
|
88
|
-
details: result.details
|
|
89
|
-
};
|
|
90
|
-
} else if (result.status === "error") {
|
|
91
|
-
return {
|
|
92
|
-
status: "error",
|
|
93
|
-
error_type: result.error_type || "Unknown",
|
|
94
|
-
details: result.details || "Unknown error",
|
|
95
|
-
traceback: result.traceback || []
|
|
96
|
-
};
|
|
97
|
-
} else {
|
|
98
|
-
return {
|
|
99
|
-
status: "error",
|
|
100
|
-
error_type: "UnknownStatus",
|
|
101
|
-
details: `Unknown evaluation status: ${result.status}`,
|
|
102
|
-
traceback: []
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
} catch (error) {
|
|
106
|
-
span.recordException(error);
|
|
107
|
-
span.setStatus({ code: SpanStatusCode.ERROR, message: error == null ? void 0 : error.message });
|
|
108
|
-
throw error;
|
|
109
|
-
} finally {
|
|
110
|
-
span.end();
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
export {
|
|
116
|
-
runEvaluation
|
|
117
|
-
};
|
|
118
|
-
//# sourceMappingURL=chunk-STV4ZVNA.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/internal/api/errors.ts","../src/evaluation/run-evaluation.ts"],"sourcesContent":["export class LangWatchApiError extends Error {\n public readonly httpStatus: number;\n public readonly httpStatusText: string;\n public apiError: string | undefined;\n public body: unknown;\n\n constructor(message: string, response: Response) {\n super(message);\n this.httpStatus = response.status;\n this.httpStatusText = response.statusText;\n }\n\n async safeParseBody(response: Response): Promise<void> {\n try {\n if (response.headers.get(\"Content-Type\")?.includes(\"application/json\")) {\n const json = await response.json();\n\n this.body = json;\n\n if (json.error && typeof json.error === \"string\") {\n this.apiError = json.error;\n }\n\n return;\n }\n\n this.body = await response.text();\n } catch {\n this.body = null;\n }\n }\n}\n","import { LangWatchApiError } from \"../internal/api/errors\";\nimport { canAutomaticallyCaptureInput, getApiKey, getEndpoint } from \"../client\";\nimport { Conversation } from \"../internal/generated/types/evaluations\";\nimport {\n Evaluators,\n EvaluatorTypes,\n SingleEvaluationResult,\n} from \"../internal/generated/types/evaluators.generated\";\nimport { RAGChunk } from \"../internal/generated/types/tracer\";\nimport { tracer } from \"./tracer\";\nimport { EvaluationResultModel } from \"./types\";\nimport { SpanStatusCode } from \"@opentelemetry/api\";\n\nexport interface BasicEvaluationData {\n input?: string;\n output?: string;\n expected_output?: unknown;\n contexts?: RAGChunk[] | string[];\n expected_contexts?: RAGChunk[] | string[];\n conversation?: Conversation;\n}\n\nexport interface EvaluationDetailsBase {\n name?: string;\n data: BasicEvaluationData | Record<string, unknown>;\n contexts?: RAGChunk[] | string[];\n conversation?: Conversation;\n asGuardrail?: boolean;\n}\n\nexport interface SavedEvaluationDetails extends EvaluationDetailsBase {\n slug: string;\n settings?: Record<string, unknown>;\n}\n\nexport interface LangEvalsEvaluationDetails<T extends EvaluatorTypes>\n extends EvaluationDetailsBase {\n evaluator: T;\n settings?: Evaluators[T][\"settings\"];\n}\n\nexport type EvaluationDetails =\n | SavedEvaluationDetails\n | LangEvalsEvaluationDetails<EvaluatorTypes>;\n\nexport async function runEvaluation(\n details: EvaluationDetails,\n): Promise<SingleEvaluationResult> {\n return await tracer.startActiveSpan(\"run evaluation\", async (span) => {\n span.setType(details.asGuardrail ? \"guardrail\" : \"evaluation\");\n\n try {\n const evaluatorId =\n \"slug\" in details ? details.slug : details.evaluator;\n const request = {\n trace_id: span.spanContext().traceId,\n span_id: span.spanContext().spanId,\n data: details.data,\n name: details.name,\n settings: details.settings,\n as_guardrail: details.asGuardrail,\n };\n\n if (canAutomaticallyCaptureInput()) {\n span.setInput(request);\n }\n\n const url = new URL(\n `/api/evaluations/${evaluatorId}/evaluate`,\n getEndpoint(),\n );\n\n const response = await fetch(url.toString(), {\n method: \"POST\",\n headers: {\n \"X-Auth-Token\": getApiKey(),\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(request),\n });\n if (!response.ok) {\n const err = new LangWatchApiError(\"Unable to run evaluation\", response);\n await err.safeParseBody(response);\n\n throw err;\n }\n\n const result: EvaluationResultModel = await response.json();\n\n span.setMetrics({\n cost: result.cost?.amount,\n });\n\n span.setOutputEvaluation(details.asGuardrail ?? false, result);\n\n if (result.status === \"processed\") {\n return {\n status: \"processed\",\n passed: result.passed,\n score: result.score,\n details: result.details,\n label: result.label,\n cost: result.cost,\n } as SingleEvaluationResult;\n } else if (result.status === \"skipped\") {\n return {\n status: \"skipped\",\n details: result.details,\n } as SingleEvaluationResult;\n } else if (result.status === \"error\") {\n return {\n status: \"error\",\n error_type: (result as any).error_type || \"Unknown\",\n details: result.details || \"Unknown error\",\n traceback: (result as any).traceback || [],\n } as SingleEvaluationResult;\n } else {\n return {\n status: \"error\",\n error_type: \"UnknownStatus\",\n details: `Unknown evaluation status: ${result.status}`,\n traceback: [],\n } as SingleEvaluationResult;\n }\n } catch (error) {\n span.recordException(error as Error);\n span.setStatus({ code: SpanStatusCode.ERROR, message: (error as Error)?.message });\n throw error;\n } finally {\n span.end();\n }\n });\n}\n"],"mappings":"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","names":[]}
|
package/dist/chunk-T5AZMMVS.mjs
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
PromptService
|
|
3
|
-
} from "./chunk-GJSEBQXF.mjs";
|
|
4
|
-
import {
|
|
5
|
-
canAutomaticallyCaptureInput,
|
|
6
|
-
canAutomaticallyCaptureOutput
|
|
7
|
-
} from "./chunk-QEWDG5QE.mjs";
|
|
8
|
-
import {
|
|
9
|
-
getLangWatchTracer
|
|
10
|
-
} from "./chunk-J7ICRUU4.mjs";
|
|
11
|
-
import {
|
|
12
|
-
ATTR_LANGWATCH_PROMPT_ID,
|
|
13
|
-
ATTR_LANGWATCH_PROMPT_VARIABLES,
|
|
14
|
-
ATTR_LANGWATCH_PROMPT_VERSION_ID,
|
|
15
|
-
ATTR_LANGWATCH_PROMPT_VERSION_NUMBER
|
|
16
|
-
} from "./chunk-UU33HCCZ.mjs";
|
|
17
|
-
|
|
18
|
-
// src/prompt/tracer.ts
|
|
19
|
-
var tracer = getLangWatchTracer("langwatch.prompt");
|
|
20
|
-
|
|
21
|
-
// src/prompt/get-prompt.ts
|
|
22
|
-
async function getPrompt(id, variables) {
|
|
23
|
-
return tracer.withActiveSpan("retrieve prompt", async (span) => {
|
|
24
|
-
span.setType("prompt");
|
|
25
|
-
span.setAttribute(ATTR_LANGWATCH_PROMPT_ID, id);
|
|
26
|
-
const service = PromptService.getInstance();
|
|
27
|
-
const prompt = await service.get(id);
|
|
28
|
-
if (!prompt) {
|
|
29
|
-
throw new Error(`Prompt with ID "${id}" not found`);
|
|
30
|
-
}
|
|
31
|
-
if (canAutomaticallyCaptureOutput()) {
|
|
32
|
-
span.setOutput(prompt);
|
|
33
|
-
}
|
|
34
|
-
span.setAttributes({
|
|
35
|
-
[ATTR_LANGWATCH_PROMPT_ID]: id,
|
|
36
|
-
[ATTR_LANGWATCH_PROMPT_VERSION_ID]: prompt.versionId,
|
|
37
|
-
[ATTR_LANGWATCH_PROMPT_VERSION_NUMBER]: prompt.version
|
|
38
|
-
});
|
|
39
|
-
if (variables) {
|
|
40
|
-
if (canAutomaticallyCaptureInput()) {
|
|
41
|
-
span.setAttribute(
|
|
42
|
-
ATTR_LANGWATCH_PROMPT_VARIABLES,
|
|
43
|
-
JSON.stringify({
|
|
44
|
-
type: "json",
|
|
45
|
-
value: variables
|
|
46
|
-
})
|
|
47
|
-
);
|
|
48
|
-
}
|
|
49
|
-
return prompt.compile(variables);
|
|
50
|
-
}
|
|
51
|
-
return prompt;
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
// src/prompt/get-prompt-version.ts
|
|
56
|
-
async function getPromptVersion(id, versionId, variables) {
|
|
57
|
-
return tracer.withActiveSpan("retrieve prompt version", async (span) => {
|
|
58
|
-
span.setType("prompt");
|
|
59
|
-
span.setAttribute(ATTR_LANGWATCH_PROMPT_ID, id);
|
|
60
|
-
const service = PromptService.getInstance();
|
|
61
|
-
const prompt = await service.getVersions(id);
|
|
62
|
-
const promptVersion = prompt[versionId];
|
|
63
|
-
if (!promptVersion) {
|
|
64
|
-
throw new Error(`Prompt version ${versionId} not found for prompt ${id}`);
|
|
65
|
-
}
|
|
66
|
-
if (canAutomaticallyCaptureOutput()) {
|
|
67
|
-
span.setOutput(prompt);
|
|
68
|
-
}
|
|
69
|
-
span.setAttributes({
|
|
70
|
-
[ATTR_LANGWATCH_PROMPT_ID]: id,
|
|
71
|
-
[ATTR_LANGWATCH_PROMPT_VERSION_ID]: promptVersion.id,
|
|
72
|
-
[ATTR_LANGWATCH_PROMPT_VERSION_NUMBER]: promptVersion.version
|
|
73
|
-
});
|
|
74
|
-
if (variables) {
|
|
75
|
-
if (canAutomaticallyCaptureInput()) {
|
|
76
|
-
span.setAttribute(
|
|
77
|
-
ATTR_LANGWATCH_PROMPT_VARIABLES,
|
|
78
|
-
JSON.stringify({
|
|
79
|
-
type: "json",
|
|
80
|
-
value: variables
|
|
81
|
-
})
|
|
82
|
-
);
|
|
83
|
-
}
|
|
84
|
-
return promptVersion.compile(variables);
|
|
85
|
-
}
|
|
86
|
-
return promptVersion;
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
export {
|
|
91
|
-
getPrompt,
|
|
92
|
-
getPromptVersion
|
|
93
|
-
};
|
|
94
|
-
//# sourceMappingURL=chunk-T5AZMMVS.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/prompt/tracer.ts","../src/prompt/get-prompt.ts","../src/prompt/get-prompt-version.ts"],"sourcesContent":["import { getLangWatchTracer } from \"../observability/trace\";\n\nexport const tracer = getLangWatchTracer(\"langwatch.prompt\");\n","import { PromptService } from \"./service\";\nimport { CompiledPrompt, Prompt, TemplateVariables } from \"./prompt\";\nimport * as intSemconv from \"../observability/semconv\";\nimport { tracer } from \"./tracer\";\nimport { canAutomaticallyCaptureInput, canAutomaticallyCaptureOutput } from \"../client\";\n\nexport async function getPrompt(id: string, variables: TemplateVariables): Promise<CompiledPrompt>;\nexport async function getPrompt(id: string): Promise<Prompt>;\n\nexport async function getPrompt(id: string, variables?: TemplateVariables): Promise<Prompt | CompiledPrompt> {\n return tracer.withActiveSpan(\"retrieve prompt\", async (span) => {\n span.setType(\"prompt\");\n span.setAttribute(intSemconv.ATTR_LANGWATCH_PROMPT_ID, id);\n\n const service = PromptService.getInstance();\n const prompt = await service.get(id);\n\n if (!prompt) {\n throw new Error(`Prompt with ID \"${id}\" not found`);\n }\n\n if (canAutomaticallyCaptureOutput()) {\n span.setOutput(prompt);\n }\n\n span.setAttributes({\n [intSemconv.ATTR_LANGWATCH_PROMPT_ID]: id,\n [intSemconv.ATTR_LANGWATCH_PROMPT_VERSION_ID]: prompt.versionId,\n [intSemconv.ATTR_LANGWATCH_PROMPT_VERSION_NUMBER]: prompt.version,\n });\n\n if (variables) {\n if (canAutomaticallyCaptureInput()) {\n span.setAttribute(\n intSemconv.ATTR_LANGWATCH_PROMPT_VARIABLES,\n JSON.stringify({\n type: \"json\",\n value: variables,\n }),\n );\n }\n\n return prompt.compile(variables);\n }\n\n return prompt;\n });\n}\n","import { PromptService } from \"./service\";\nimport { CompiledPrompt, Prompt, TemplateVariables } from \"./prompt\";\nimport * as intSemconv from \"../observability/semconv\";\nimport { tracer } from \"./tracer\";\nimport { canAutomaticallyCaptureInput, canAutomaticallyCaptureOutput } from \"../client\";\n\nexport async function getPromptVersion(id: string, versionId: string, variables: TemplateVariables): Promise<CompiledPrompt>;\nexport async function getPromptVersion(id: string, versionId: string): Promise<Prompt>;\n\nexport async function getPromptVersion(id: string, versionId: string, variables?: TemplateVariables): Promise<Prompt | CompiledPrompt> {\n return tracer.withActiveSpan(\"retrieve prompt version\", async (span) => {\n span.setType(\"prompt\");\n span.setAttribute(intSemconv.ATTR_LANGWATCH_PROMPT_ID, id);\n\n const service = PromptService.getInstance();\n const prompt = await service.getVersions(id);\n const promptVersion = prompt[versionId];\n\n if (!promptVersion) {\n throw new Error(`Prompt version ${versionId} not found for prompt ${id}`);\n }\n\n if (canAutomaticallyCaptureOutput()) {\n span.setOutput(prompt);\n }\n\n span.setAttributes({\n [intSemconv.ATTR_LANGWATCH_PROMPT_ID]: id,\n [intSemconv.ATTR_LANGWATCH_PROMPT_VERSION_ID]: promptVersion.id,\n [intSemconv.ATTR_LANGWATCH_PROMPT_VERSION_NUMBER]: promptVersion.version,\n });\n\n if (variables) {\n if (canAutomaticallyCaptureInput()) {\n span.setAttribute(\n intSemconv.ATTR_LANGWATCH_PROMPT_VARIABLES,\n JSON.stringify({\n type: \"json\",\n value: variables,\n }),\n );\n }\n\n return promptVersion.compile(variables);\n }\n\n return promptVersion;\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAEO,IAAM,SAAS,mBAAmB,kBAAkB;;;ACO3D,eAAsB,UAAU,IAAY,WAAiE;AAC3G,SAAO,OAAO,eAAe,mBAAmB,OAAO,SAAS;AAC9D,SAAK,QAAQ,QAAQ;AACrB,SAAK,aAAwB,0BAA0B,EAAE;AAEzD,UAAM,UAAU,cAAc,YAAY;AAC1C,UAAM,SAAS,MAAM,QAAQ,IAAI,EAAE;AAEnC,QAAI,CAAC,QAAQ;AACX,YAAM,IAAI,MAAM,mBAAmB,EAAE,aAAa;AAAA,IACpD;AAEA,QAAI,8BAA8B,GAAG;AACnC,WAAK,UAAU,MAAM;AAAA,IACvB;AAEA,SAAK,cAAc;AAAA,MACjB,CAAY,wBAAwB,GAAG;AAAA,MACvC,CAAY,gCAAgC,GAAG,OAAO;AAAA,MACtD,CAAY,oCAAoC,GAAG,OAAO;AAAA,IAC5D,CAAC;AAED,QAAI,WAAW;AACb,UAAI,6BAA6B,GAAG;AAClC,aAAK;AAAA,UACQ;AAAA,UACX,KAAK,UAAU;AAAA,YACb,MAAM;AAAA,YACN,OAAO;AAAA,UACT,CAAC;AAAA,QACH;AAAA,MACF;AAEA,aAAO,OAAO,QAAQ,SAAS;AAAA,IACjC;AAEA,WAAO;AAAA,EACT,CAAC;AACH;;;ACtCA,eAAsB,iBAAiB,IAAY,WAAmB,WAAiE;AACrI,SAAO,OAAO,eAAe,2BAA2B,OAAO,SAAS;AACtE,SAAK,QAAQ,QAAQ;AACrB,SAAK,aAAwB,0BAA0B,EAAE;AAEzD,UAAM,UAAU,cAAc,YAAY;AAC1C,UAAM,SAAS,MAAM,QAAQ,YAAY,EAAE;AAC3C,UAAM,gBAAgB,OAAO,SAAS;AAEtC,QAAI,CAAC,eAAe;AAClB,YAAM,IAAI,MAAM,kBAAkB,SAAS,yBAAyB,EAAE,EAAE;AAAA,IAC1E;AAEA,QAAI,8BAA8B,GAAG;AACnC,WAAK,UAAU,MAAM;AAAA,IACvB;AAEA,SAAK,cAAc;AAAA,MACjB,CAAY,wBAAwB,GAAG;AAAA,MACvC,CAAY,gCAAgC,GAAG,cAAc;AAAA,MAC7D,CAAY,oCAAoC,GAAG,cAAc;AAAA,IACnE,CAAC;AAED,QAAI,WAAW;AACb,UAAI,6BAA6B,GAAG;AAClC,aAAK;AAAA,UACQ;AAAA,UACX,KAAK,UAAU;AAAA,YACb,MAAM;AAAA,YACN,OAAO;AAAA,UACT,CAAC;AAAA,QACH;AAAA,MACF;AAEA,aAAO,cAAc,QAAQ,SAAS;AAAA,IACxC;AAEA,WAAO;AAAA,EACT,CAAC;AACH;","names":[]}
|
package/dist/chunk-UU33HCCZ.mjs
DELETED
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
__export
|
|
3
|
-
} from "./chunk-YN4436PK.mjs";
|
|
4
|
-
|
|
5
|
-
// src/observability/semconv/attributes.ts
|
|
6
|
-
var ATTR_LANGWATCH_INPUT = "langwatch.input";
|
|
7
|
-
var ATTR_LANGWATCH_OUTPUT = "langwatch.output";
|
|
8
|
-
var ATTR_LANGWATCH_SPAN_TYPE = "langwatch.span.type";
|
|
9
|
-
var ATTR_LANGWATCH_RAG_CONTEXTS = "langwatch.contexts";
|
|
10
|
-
var ATTR_LANGWATCH_METRICS = "langwatch.metrics";
|
|
11
|
-
var ATTR_LANGWATCH_SDK_VERSION = "langwatch.sdk.version";
|
|
12
|
-
var ATTR_LANGWATCH_SDK_NAME = "langwatch.sdk.name";
|
|
13
|
-
var ATTR_LANGWATCH_SDK_LANGUAGE = "langwatch.sdk.language";
|
|
14
|
-
var ATTR_LANGWATCH_TIMESTAMPS = "langwatch.timestamps";
|
|
15
|
-
var ATTR_LANGWATCH_EVALUATION_CUSTOM = "langwatch.evaluation.custom";
|
|
16
|
-
var ATTR_LANGWATCH_PARAMS = "langwatch.params";
|
|
17
|
-
var ATTR_LANGWATCH_CUSTOMER_ID = "langwatch.customer.id";
|
|
18
|
-
var ATTR_LANGWATCH_THREAD_ID = "langwatch.thread.id";
|
|
19
|
-
var ATTR_LANGWATCH_STREAMING = "langwatch.gen_ai.streaming";
|
|
20
|
-
var ATTR_LANGWATCH_PROMPT_ID = "langwatch.prompt.id";
|
|
21
|
-
var ATTR_LANGWATCH_PROMPT_VERSION_ID = "langwatch.prompt.version.id";
|
|
22
|
-
var ATTR_LANGWATCH_PROMPT_VARIABLES = "langwatch.prompt.variables";
|
|
23
|
-
var ATTR_LANGWATCH_PROMPT_SELECTED_ID = "langwatch.prompt.selected.id";
|
|
24
|
-
var ATTR_LANGWATCH_PROMPT_VERSION_NUMBER = "langwatch.prompt.version.number";
|
|
25
|
-
var ATTR_LANGWATCH_GEN_AI_LOG_EVENT_IMPOSTER = "langwatch.gen_ai.log_event.imposter";
|
|
26
|
-
var ATTR_LANGWATCH_GEN_AI_LOG_EVENT_BODY = "langwatch.gen_ai.log_event.body";
|
|
27
|
-
var ATTR_LANGWATCH_LANGCHAIN_TAGS = "langwatch.langchain.tags";
|
|
28
|
-
var ATTR_LANGWATCH_LANGCHAIN_EVENT_NAME = "langwatch.langchain.event_name";
|
|
29
|
-
var ATTR_LANGWATCH_LANGCHAIN_RUN_ID = "langwatch.langchain.run.id";
|
|
30
|
-
var ATTR_LANGWATCH_LANGCHAIN_RUN_TAGS = "langwatch.langchain.run.tags";
|
|
31
|
-
var ATTR_LANGWATCH_LANGCHAIN_RUN_TYPE = "langwatch.langchain.run.type";
|
|
32
|
-
var ATTR_LANGWATCH_LANGCHAIN_RUN_METADATA = "langwatch.langchain.run.metadata";
|
|
33
|
-
var ATTR_LANGWATCH_LANGCHAIN_RUN_EXTRA_PARAMS = "langwatch.langchain.run.extra_params";
|
|
34
|
-
var ATTR_LANGWATCH_LANGCHAIN_RUN_PARENT_ID = "langwatch.langchain.run.parent.id";
|
|
35
|
-
|
|
36
|
-
// src/observability/semconv/events.ts
|
|
37
|
-
var LOG_EVNT_GEN_AI_SYSTEM_MESSAGE = "gen.ai.system_message";
|
|
38
|
-
var LOG_EVNT_GEN_AI_USER_MESSAGE = "gen.ai.user_message";
|
|
39
|
-
var LOG_EVNT_GEN_AI_ASSISTANT_MESSAGE = "gen.ai.assistant_message";
|
|
40
|
-
var LOG_EVNT_GEN_AI_TOOL_MESSAGE = "gen.ai.tool_message";
|
|
41
|
-
var LOG_EVNT_GEN_AI_CHOICE = "gen.ai.choice";
|
|
42
|
-
var EVNT_LANGWATCH_LANGCHAIN_CALLBACK = "langwatch.langchain.callback";
|
|
43
|
-
|
|
44
|
-
// src/observability/semconv/index.ts
|
|
45
|
-
var semconv_exports = {};
|
|
46
|
-
__export(semconv_exports, {
|
|
47
|
-
ATTR_LANGWATCH_CUSTOMER_ID: () => ATTR_LANGWATCH_CUSTOMER_ID,
|
|
48
|
-
ATTR_LANGWATCH_EVALUATION_CUSTOM: () => ATTR_LANGWATCH_EVALUATION_CUSTOM,
|
|
49
|
-
ATTR_LANGWATCH_GEN_AI_LOG_EVENT_BODY: () => ATTR_LANGWATCH_GEN_AI_LOG_EVENT_BODY,
|
|
50
|
-
ATTR_LANGWATCH_GEN_AI_LOG_EVENT_IMPOSTER: () => ATTR_LANGWATCH_GEN_AI_LOG_EVENT_IMPOSTER,
|
|
51
|
-
ATTR_LANGWATCH_INPUT: () => ATTR_LANGWATCH_INPUT,
|
|
52
|
-
ATTR_LANGWATCH_LANGCHAIN_EVENT_NAME: () => ATTR_LANGWATCH_LANGCHAIN_EVENT_NAME,
|
|
53
|
-
ATTR_LANGWATCH_LANGCHAIN_RUN_EXTRA_PARAMS: () => ATTR_LANGWATCH_LANGCHAIN_RUN_EXTRA_PARAMS,
|
|
54
|
-
ATTR_LANGWATCH_LANGCHAIN_RUN_ID: () => ATTR_LANGWATCH_LANGCHAIN_RUN_ID,
|
|
55
|
-
ATTR_LANGWATCH_LANGCHAIN_RUN_METADATA: () => ATTR_LANGWATCH_LANGCHAIN_RUN_METADATA,
|
|
56
|
-
ATTR_LANGWATCH_LANGCHAIN_RUN_PARENT_ID: () => ATTR_LANGWATCH_LANGCHAIN_RUN_PARENT_ID,
|
|
57
|
-
ATTR_LANGWATCH_LANGCHAIN_RUN_TAGS: () => ATTR_LANGWATCH_LANGCHAIN_RUN_TAGS,
|
|
58
|
-
ATTR_LANGWATCH_LANGCHAIN_RUN_TYPE: () => ATTR_LANGWATCH_LANGCHAIN_RUN_TYPE,
|
|
59
|
-
ATTR_LANGWATCH_LANGCHAIN_TAGS: () => ATTR_LANGWATCH_LANGCHAIN_TAGS,
|
|
60
|
-
ATTR_LANGWATCH_METRICS: () => ATTR_LANGWATCH_METRICS,
|
|
61
|
-
ATTR_LANGWATCH_OUTPUT: () => ATTR_LANGWATCH_OUTPUT,
|
|
62
|
-
ATTR_LANGWATCH_PARAMS: () => ATTR_LANGWATCH_PARAMS,
|
|
63
|
-
ATTR_LANGWATCH_PROMPT_ID: () => ATTR_LANGWATCH_PROMPT_ID,
|
|
64
|
-
ATTR_LANGWATCH_PROMPT_SELECTED_ID: () => ATTR_LANGWATCH_PROMPT_SELECTED_ID,
|
|
65
|
-
ATTR_LANGWATCH_PROMPT_VARIABLES: () => ATTR_LANGWATCH_PROMPT_VARIABLES,
|
|
66
|
-
ATTR_LANGWATCH_PROMPT_VERSION_ID: () => ATTR_LANGWATCH_PROMPT_VERSION_ID,
|
|
67
|
-
ATTR_LANGWATCH_PROMPT_VERSION_NUMBER: () => ATTR_LANGWATCH_PROMPT_VERSION_NUMBER,
|
|
68
|
-
ATTR_LANGWATCH_RAG_CONTEXTS: () => ATTR_LANGWATCH_RAG_CONTEXTS,
|
|
69
|
-
ATTR_LANGWATCH_SDK_LANGUAGE: () => ATTR_LANGWATCH_SDK_LANGUAGE,
|
|
70
|
-
ATTR_LANGWATCH_SDK_NAME: () => ATTR_LANGWATCH_SDK_NAME,
|
|
71
|
-
ATTR_LANGWATCH_SDK_VERSION: () => ATTR_LANGWATCH_SDK_VERSION,
|
|
72
|
-
ATTR_LANGWATCH_SPAN_TYPE: () => ATTR_LANGWATCH_SPAN_TYPE,
|
|
73
|
-
ATTR_LANGWATCH_STREAMING: () => ATTR_LANGWATCH_STREAMING,
|
|
74
|
-
ATTR_LANGWATCH_THREAD_ID: () => ATTR_LANGWATCH_THREAD_ID,
|
|
75
|
-
ATTR_LANGWATCH_TIMESTAMPS: () => ATTR_LANGWATCH_TIMESTAMPS,
|
|
76
|
-
EVNT_LANGWATCH_LANGCHAIN_CALLBACK: () => EVNT_LANGWATCH_LANGCHAIN_CALLBACK,
|
|
77
|
-
LOG_EVNT_GEN_AI_ASSISTANT_MESSAGE: () => LOG_EVNT_GEN_AI_ASSISTANT_MESSAGE,
|
|
78
|
-
LOG_EVNT_GEN_AI_CHOICE: () => LOG_EVNT_GEN_AI_CHOICE,
|
|
79
|
-
LOG_EVNT_GEN_AI_SYSTEM_MESSAGE: () => LOG_EVNT_GEN_AI_SYSTEM_MESSAGE,
|
|
80
|
-
LOG_EVNT_GEN_AI_TOOL_MESSAGE: () => LOG_EVNT_GEN_AI_TOOL_MESSAGE,
|
|
81
|
-
LOG_EVNT_GEN_AI_USER_MESSAGE: () => LOG_EVNT_GEN_AI_USER_MESSAGE,
|
|
82
|
-
VAL_GEN_AI_FINISH_REASON_CONTENT_FILTER: () => VAL_GEN_AI_FINISH_REASON_CONTENT_FILTER,
|
|
83
|
-
VAL_GEN_AI_FINISH_REASON_ERROR: () => VAL_GEN_AI_FINISH_REASON_ERROR,
|
|
84
|
-
VAL_GEN_AI_FINISH_REASON_LENGTH: () => VAL_GEN_AI_FINISH_REASON_LENGTH,
|
|
85
|
-
VAL_GEN_AI_FINISH_REASON_STOP: () => VAL_GEN_AI_FINISH_REASON_STOP,
|
|
86
|
-
VAL_GEN_AI_FINISH_REASON_TOOL_CALLS: () => VAL_GEN_AI_FINISH_REASON_TOOL_CALLS,
|
|
87
|
-
VAL_GEN_AI_SYSTEM_ANTHROPIC: () => VAL_GEN_AI_SYSTEM_ANTHROPIC,
|
|
88
|
-
VAL_GEN_AI_SYSTEM_AWS_BEDROCK: () => VAL_GEN_AI_SYSTEM_AWS_BEDROCK,
|
|
89
|
-
VAL_GEN_AI_SYSTEM_AZURE_AI_INFERENCE: () => VAL_GEN_AI_SYSTEM_AZURE_AI_INFERENCE,
|
|
90
|
-
VAL_GEN_AI_SYSTEM_AZURE_AI_OPENAI: () => VAL_GEN_AI_SYSTEM_AZURE_AI_OPENAI,
|
|
91
|
-
VAL_GEN_AI_SYSTEM_COHERE: () => VAL_GEN_AI_SYSTEM_COHERE,
|
|
92
|
-
VAL_GEN_AI_SYSTEM_DEEPSEEK: () => VAL_GEN_AI_SYSTEM_DEEPSEEK,
|
|
93
|
-
VAL_GEN_AI_SYSTEM_GCP_GEMINI: () => VAL_GEN_AI_SYSTEM_GCP_GEMINI,
|
|
94
|
-
VAL_GEN_AI_SYSTEM_GCP_GEN_AI: () => VAL_GEN_AI_SYSTEM_GCP_GEN_AI,
|
|
95
|
-
VAL_GEN_AI_SYSTEM_GCP_VERTEX_AI: () => VAL_GEN_AI_SYSTEM_GCP_VERTEX_AI,
|
|
96
|
-
VAL_GEN_AI_SYSTEM_GROQ: () => VAL_GEN_AI_SYSTEM_GROQ,
|
|
97
|
-
VAL_GEN_AI_SYSTEM_IBM_WATSONX_AI: () => VAL_GEN_AI_SYSTEM_IBM_WATSONX_AI,
|
|
98
|
-
VAL_GEN_AI_SYSTEM_MISTRAL_AI: () => VAL_GEN_AI_SYSTEM_MISTRAL_AI,
|
|
99
|
-
VAL_GEN_AI_SYSTEM_OPENAI: () => VAL_GEN_AI_SYSTEM_OPENAI,
|
|
100
|
-
VAL_GEN_AI_SYSTEM_PERPLEXITY: () => VAL_GEN_AI_SYSTEM_PERPLEXITY,
|
|
101
|
-
VAL_GEN_AI_SYSTEM_XAI: () => VAL_GEN_AI_SYSTEM_XAI
|
|
102
|
-
});
|
|
103
|
-
|
|
104
|
-
// src/observability/semconv/values.ts
|
|
105
|
-
var VAL_GEN_AI_SYSTEM_ANTHROPIC = "anthropic";
|
|
106
|
-
var VAL_GEN_AI_SYSTEM_AWS_BEDROCK = "aws.bedrock";
|
|
107
|
-
var VAL_GEN_AI_SYSTEM_AZURE_AI_INFERENCE = "azure.ai.inference";
|
|
108
|
-
var VAL_GEN_AI_SYSTEM_AZURE_AI_OPENAI = "azure.ai.openai";
|
|
109
|
-
var VAL_GEN_AI_SYSTEM_COHERE = "cohere";
|
|
110
|
-
var VAL_GEN_AI_SYSTEM_DEEPSEEK = "deepseek";
|
|
111
|
-
var VAL_GEN_AI_SYSTEM_GCP_GEMINI = "gcp.gemini";
|
|
112
|
-
var VAL_GEN_AI_SYSTEM_GCP_GEN_AI = "gcp.gen_ai";
|
|
113
|
-
var VAL_GEN_AI_SYSTEM_GCP_VERTEX_AI = "gcp.vertex_ai";
|
|
114
|
-
var VAL_GEN_AI_SYSTEM_GROQ = "groq";
|
|
115
|
-
var VAL_GEN_AI_SYSTEM_IBM_WATSONX_AI = "ibm.watsonx.ai";
|
|
116
|
-
var VAL_GEN_AI_SYSTEM_MISTRAL_AI = "mistral_ai";
|
|
117
|
-
var VAL_GEN_AI_SYSTEM_OPENAI = "openai";
|
|
118
|
-
var VAL_GEN_AI_SYSTEM_PERPLEXITY = "perplexity";
|
|
119
|
-
var VAL_GEN_AI_SYSTEM_XAI = "xai";
|
|
120
|
-
var VAL_GEN_AI_FINISH_REASON_CONTENT_FILTER = "content_filter";
|
|
121
|
-
var VAL_GEN_AI_FINISH_REASON_ERROR = "error";
|
|
122
|
-
var VAL_GEN_AI_FINISH_REASON_LENGTH = "length";
|
|
123
|
-
var VAL_GEN_AI_FINISH_REASON_STOP = "stop";
|
|
124
|
-
var VAL_GEN_AI_FINISH_REASON_TOOL_CALLS = "tool_calls";
|
|
125
|
-
|
|
126
|
-
export {
|
|
127
|
-
ATTR_LANGWATCH_INPUT,
|
|
128
|
-
ATTR_LANGWATCH_OUTPUT,
|
|
129
|
-
ATTR_LANGWATCH_SPAN_TYPE,
|
|
130
|
-
ATTR_LANGWATCH_RAG_CONTEXTS,
|
|
131
|
-
ATTR_LANGWATCH_METRICS,
|
|
132
|
-
ATTR_LANGWATCH_SDK_VERSION,
|
|
133
|
-
ATTR_LANGWATCH_SDK_NAME,
|
|
134
|
-
ATTR_LANGWATCH_SDK_LANGUAGE,
|
|
135
|
-
ATTR_LANGWATCH_EVALUATION_CUSTOM,
|
|
136
|
-
ATTR_LANGWATCH_PROMPT_ID,
|
|
137
|
-
ATTR_LANGWATCH_PROMPT_VERSION_ID,
|
|
138
|
-
ATTR_LANGWATCH_PROMPT_VARIABLES,
|
|
139
|
-
ATTR_LANGWATCH_PROMPT_SELECTED_ID,
|
|
140
|
-
ATTR_LANGWATCH_PROMPT_VERSION_NUMBER,
|
|
141
|
-
ATTR_LANGWATCH_GEN_AI_LOG_EVENT_IMPOSTER,
|
|
142
|
-
ATTR_LANGWATCH_GEN_AI_LOG_EVENT_BODY,
|
|
143
|
-
ATTR_LANGWATCH_LANGCHAIN_TAGS,
|
|
144
|
-
ATTR_LANGWATCH_LANGCHAIN_EVENT_NAME,
|
|
145
|
-
ATTR_LANGWATCH_LANGCHAIN_RUN_ID,
|
|
146
|
-
ATTR_LANGWATCH_LANGCHAIN_RUN_TAGS,
|
|
147
|
-
ATTR_LANGWATCH_LANGCHAIN_RUN_TYPE,
|
|
148
|
-
ATTR_LANGWATCH_LANGCHAIN_RUN_METADATA,
|
|
149
|
-
ATTR_LANGWATCH_LANGCHAIN_RUN_EXTRA_PARAMS,
|
|
150
|
-
ATTR_LANGWATCH_LANGCHAIN_RUN_PARENT_ID,
|
|
151
|
-
LOG_EVNT_GEN_AI_SYSTEM_MESSAGE,
|
|
152
|
-
LOG_EVNT_GEN_AI_USER_MESSAGE,
|
|
153
|
-
LOG_EVNT_GEN_AI_ASSISTANT_MESSAGE,
|
|
154
|
-
LOG_EVNT_GEN_AI_TOOL_MESSAGE,
|
|
155
|
-
LOG_EVNT_GEN_AI_CHOICE,
|
|
156
|
-
EVNT_LANGWATCH_LANGCHAIN_CALLBACK,
|
|
157
|
-
semconv_exports
|
|
158
|
-
};
|
|
159
|
-
//# sourceMappingURL=chunk-UU33HCCZ.mjs.map
|