langwatch 1.18.0 → 1.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/README.md +25 -11
  2. package/dist/agent/index.d.mts +122 -79
  3. package/dist/agent/index.d.ts +122 -79
  4. package/dist/agent/index.js +523 -300
  5. package/dist/agent/index.js.map +1 -1
  6. package/dist/agent/index.mjs +522 -301
  7. package/dist/agent/index.mjs.map +1 -1
  8. package/dist/chunk-5VYEG3RS.js +117 -0
  9. package/dist/chunk-5VYEG3RS.js.map +1 -0
  10. package/dist/{chunk-O4J3ZPZY.js → chunk-5ZNEXSAB.js} +7912 -2564
  11. package/dist/chunk-5ZNEXSAB.js.map +1 -0
  12. package/dist/chunk-BDQ2RG7R.mjs +852 -0
  13. package/dist/chunk-BDQ2RG7R.mjs.map +1 -0
  14. package/dist/chunk-BL3GHEKF.js +59 -0
  15. package/dist/chunk-BL3GHEKF.js.map +1 -0
  16. package/dist/chunk-C7IWJ2GJ.mjs +59 -0
  17. package/dist/chunk-C7IWJ2GJ.mjs.map +1 -0
  18. package/dist/chunk-EQ5CFQGJ.js +852 -0
  19. package/dist/chunk-EQ5CFQGJ.js.map +1 -0
  20. package/dist/{chunk-NPEK4RSD.mjs → chunk-ET5KYCG2.mjs} +7757 -2409
  21. package/dist/chunk-ET5KYCG2.mjs.map +1 -0
  22. package/dist/{chunk-MVQJMRM6.mjs → chunk-FKYYEGJ7.mjs} +120 -112
  23. package/dist/chunk-FKYYEGJ7.mjs.map +1 -0
  24. package/dist/{chunk-JJASOJOK.js → chunk-HCK7TCSK.js} +138 -130
  25. package/dist/chunk-HCK7TCSK.js.map +1 -0
  26. package/dist/{chunk-LCG5Y2EG.js → chunk-N76BG37W.js} +15 -101
  27. package/dist/chunk-N76BG37W.js.map +1 -0
  28. package/dist/chunk-SERULD4Z.mjs +117 -0
  29. package/dist/chunk-SERULD4Z.mjs.map +1 -0
  30. package/dist/{chunk-73QOHSHU.js → chunk-WDUUAIG3.js} +2 -2
  31. package/dist/chunk-WDUUAIG3.js.map +1 -0
  32. package/dist/{chunk-WMDQVWA6.mjs → chunk-WSGVZ3J2.mjs} +22 -108
  33. package/dist/chunk-WSGVZ3J2.mjs.map +1 -0
  34. package/dist/{chunk-57L2K66L.mjs → chunk-XQ4CP2JK.mjs} +2 -2
  35. package/dist/chunk-XQ4CP2JK.mjs.map +1 -0
  36. package/dist/cli/bundle.js +766 -479
  37. package/dist/implementation-B4Z2ksnA.d.mts +261 -0
  38. package/dist/implementation-BFUgzz5C.d.ts +261 -0
  39. package/dist/index.d.mts +398 -1123
  40. package/dist/index.d.ts +398 -1123
  41. package/dist/index.js +7613 -3566
  42. package/dist/index.js.map +1 -1
  43. package/dist/index.mjs +7419 -3372
  44. package/dist/index.mjs.map +1 -1
  45. package/dist/observability-sdk/index.d.mts +16 -76
  46. package/dist/observability-sdk/index.d.ts +16 -76
  47. package/dist/observability-sdk/index.js +8 -5
  48. package/dist/observability-sdk/index.js.map +1 -1
  49. package/dist/observability-sdk/index.mjs +8 -5
  50. package/dist/observability-sdk/instrumentation/langchain/index.d.mts +3 -5
  51. package/dist/observability-sdk/instrumentation/langchain/index.d.ts +3 -5
  52. package/dist/observability-sdk/instrumentation/langchain/index.js +160 -112
  53. package/dist/observability-sdk/instrumentation/langchain/index.js.map +1 -1
  54. package/dist/observability-sdk/instrumentation/langchain/index.mjs +148 -100
  55. package/dist/observability-sdk/instrumentation/langchain/index.mjs.map +1 -1
  56. package/dist/observability-sdk/semconv/index.d.mts +37 -0
  57. package/dist/observability-sdk/semconv/index.d.ts +37 -0
  58. package/dist/observability-sdk/semconv/index.js +121 -0
  59. package/dist/observability-sdk/semconv/index.js.map +1 -0
  60. package/dist/observability-sdk/semconv/index.mjs +121 -0
  61. package/dist/observability-sdk/semconv/index.mjs.map +1 -0
  62. package/dist/observability-sdk/setup/node/index.d.mts +73 -313
  63. package/dist/observability-sdk/setup/node/index.d.ts +73 -313
  64. package/dist/observability-sdk/setup/node/index.js +6 -4
  65. package/dist/observability-sdk/setup/node/index.js.map +1 -1
  66. package/dist/observability-sdk/setup/node/index.mjs +5 -3
  67. package/dist/types-B696jWYQ.d.mts +16010 -0
  68. package/dist/types-Bo6OvFct.d.ts +16010 -0
  69. package/dist/{types-VOZv9LYO.d.mts → types-CoS5PmeU.d.mts} +22 -59
  70. package/dist/{types-VOZv9LYO.d.ts → types-CoS5PmeU.d.ts} +22 -59
  71. package/dist/{types-DLfhJb38.d.mts → types-RkiBQZ9j.d.mts} +1 -6
  72. package/dist/{types-DLfhJb38.d.ts → types-RkiBQZ9j.d.ts} +1 -6
  73. package/dist/values-1yj9l0Sa.d.mts +112 -0
  74. package/dist/values-1yj9l0Sa.d.ts +112 -0
  75. package/package.json +95 -64
  76. package/dist/chunk-57L2K66L.mjs.map +0 -1
  77. package/dist/chunk-73QOHSHU.js.map +0 -1
  78. package/dist/chunk-HY2N6TO5.mjs +0 -566
  79. package/dist/chunk-HY2N6TO5.mjs.map +0 -1
  80. package/dist/chunk-JJASOJOK.js.map +0 -1
  81. package/dist/chunk-LCG5Y2EG.js.map +0 -1
  82. package/dist/chunk-MVQJMRM6.mjs.map +0 -1
  83. package/dist/chunk-NPEK4RSD.mjs.map +0 -1
  84. package/dist/chunk-O4J3ZPZY.js.map +0 -1
  85. package/dist/chunk-UEJSGC3P.js +0 -566
  86. package/dist/chunk-UEJSGC3P.js.map +0 -1
  87. package/dist/chunk-WMDQVWA6.mjs.map +0 -1
  88. package/dist/implementation-BvX-7vox.d.ts +0 -716
  89. package/dist/implementation-CQ__V0Vc.d.mts +0 -716
  90. package/dist/types-CNEUr6Hm.d.ts +0 -36682
  91. package/dist/types-DfPAHmAh.d.mts +0 -36682
@@ -1,7 +1,5 @@
1
1
  import { AttributeValue } from '@opentelemetry/api';
2
2
  import { AnyValue } from '@opentelemetry/api-logs';
3
- import * as semconvAttributes from '@opentelemetry/semantic-conventions';
4
- import * as semconvIncubatingAttributes from '@opentelemetry/semantic-conventions/incubating';
5
3
 
6
4
  /**
7
5
  * LangWatch input data attribute key
@@ -79,9 +77,7 @@ declare const ATTR_LANGWATCH_USER_ID = "langwatch.user.id";
79
77
  */
80
78
  declare const ATTR_LANGWATCH_LABELS = "langwatch.labels";
81
79
  /**
82
- * LangWatch tags attribute key
83
- * Used to store tags for a span or event
84
- *
80
+ * LangWatch tags attribute key, used to store tags for a span or event.
85
81
  * @deprecated: Please use `ATTR_LANGWATCH_LABELS`.
86
82
  */
87
83
  declare const ATTR_LANGWATCH_TAGS = "langwatch.labels";
@@ -196,67 +192,34 @@ declare namespace langwatchAttributes {
196
192
  export { langwatchAttributes_ATTR_LANGWATCH_CUSTOMER_ID as ATTR_LANGWATCH_CUSTOMER_ID, langwatchAttributes_ATTR_LANGWATCH_EVALUATION_CUSTOM as ATTR_LANGWATCH_EVALUATION_CUSTOM, langwatchAttributes_ATTR_LANGWATCH_INPUT as ATTR_LANGWATCH_INPUT, langwatchAttributes_ATTR_LANGWATCH_LABELS as ATTR_LANGWATCH_LABELS, langwatchAttributes_ATTR_LANGWATCH_LANGCHAIN_EVENT_NAME as ATTR_LANGWATCH_LANGCHAIN_EVENT_NAME, langwatchAttributes_ATTR_LANGWATCH_LANGCHAIN_RUN_EXTRA_PARAMS as ATTR_LANGWATCH_LANGCHAIN_RUN_EXTRA_PARAMS, langwatchAttributes_ATTR_LANGWATCH_LANGCHAIN_RUN_ID as ATTR_LANGWATCH_LANGCHAIN_RUN_ID, langwatchAttributes_ATTR_LANGWATCH_LANGCHAIN_RUN_METADATA as ATTR_LANGWATCH_LANGCHAIN_RUN_METADATA, langwatchAttributes_ATTR_LANGWATCH_LANGCHAIN_RUN_PARENT_ID as ATTR_LANGWATCH_LANGCHAIN_RUN_PARENT_ID, langwatchAttributes_ATTR_LANGWATCH_LANGCHAIN_RUN_TAGS as ATTR_LANGWATCH_LANGCHAIN_RUN_TAGS, langwatchAttributes_ATTR_LANGWATCH_LANGCHAIN_RUN_TYPE as ATTR_LANGWATCH_LANGCHAIN_RUN_TYPE, langwatchAttributes_ATTR_LANGWATCH_LANGCHAIN_TAGS as ATTR_LANGWATCH_LANGCHAIN_TAGS, langwatchAttributes_ATTR_LANGWATCH_METRICS as ATTR_LANGWATCH_METRICS, langwatchAttributes_ATTR_LANGWATCH_OUTPUT as ATTR_LANGWATCH_OUTPUT, langwatchAttributes_ATTR_LANGWATCH_PARAMS as ATTR_LANGWATCH_PARAMS, langwatchAttributes_ATTR_LANGWATCH_PROMPT_HANDLE as ATTR_LANGWATCH_PROMPT_HANDLE, langwatchAttributes_ATTR_LANGWATCH_PROMPT_ID as ATTR_LANGWATCH_PROMPT_ID, langwatchAttributes_ATTR_LANGWATCH_PROMPT_SELECTED_ID as ATTR_LANGWATCH_PROMPT_SELECTED_ID, langwatchAttributes_ATTR_LANGWATCH_PROMPT_VARIABLES as ATTR_LANGWATCH_PROMPT_VARIABLES, langwatchAttributes_ATTR_LANGWATCH_PROMPT_VERSION_ID as ATTR_LANGWATCH_PROMPT_VERSION_ID, langwatchAttributes_ATTR_LANGWATCH_PROMPT_VERSION_NUMBER as ATTR_LANGWATCH_PROMPT_VERSION_NUMBER, langwatchAttributes_ATTR_LANGWATCH_RAG_CONTEXTS as ATTR_LANGWATCH_RAG_CONTEXTS, langwatchAttributes_ATTR_LANGWATCH_SDK_LANGUAGE as ATTR_LANGWATCH_SDK_LANGUAGE, langwatchAttributes_ATTR_LANGWATCH_SDK_NAME as ATTR_LANGWATCH_SDK_NAME, langwatchAttributes_ATTR_LANGWATCH_SDK_VERSION as ATTR_LANGWATCH_SDK_VERSION, langwatchAttributes_ATTR_LANGWATCH_SPAN_TYPE as ATTR_LANGWATCH_SPAN_TYPE, langwatchAttributes_ATTR_LANGWATCH_STREAMING as ATTR_LANGWATCH_STREAMING, langwatchAttributes_ATTR_LANGWATCH_TAGS as ATTR_LANGWATCH_TAGS, langwatchAttributes_ATTR_LANGWATCH_THREAD_ID as ATTR_LANGWATCH_THREAD_ID, langwatchAttributes_ATTR_LANGWATCH_TIMESTAMPS as ATTR_LANGWATCH_TIMESTAMPS, langwatchAttributes_ATTR_LANGWATCH_USER_ID as ATTR_LANGWATCH_USER_ID };
197
193
  }
198
194
 
195
+ declare const ATTR_SERVICE_NAME = "service.name";
196
+ declare const ATTR_GEN_AI_REQUEST_MODEL = "gen_ai.request.model";
197
+ declare const ATTR_GEN_AI_RESPONSE_MODEL = "gen_ai.response.model";
198
+
199
+ declare const otelAttributes_ATTR_GEN_AI_REQUEST_MODEL: typeof ATTR_GEN_AI_REQUEST_MODEL;
200
+ declare const otelAttributes_ATTR_GEN_AI_RESPONSE_MODEL: typeof ATTR_GEN_AI_RESPONSE_MODEL;
201
+ declare const otelAttributes_ATTR_SERVICE_NAME: typeof ATTR_SERVICE_NAME;
202
+ declare namespace otelAttributes {
203
+ export { otelAttributes_ATTR_GEN_AI_REQUEST_MODEL as ATTR_GEN_AI_REQUEST_MODEL, otelAttributes_ATTR_GEN_AI_RESPONSE_MODEL as ATTR_GEN_AI_RESPONSE_MODEL, otelAttributes_ATTR_SERVICE_NAME as ATTR_SERVICE_NAME };
204
+ }
205
+
199
206
  type OnlyStringValues<T> = {
200
207
  [K in keyof T]: T[K] extends string ? T[K] : never;
201
208
  }[keyof T];
202
209
  /**
203
- * Union type representing all possible attribute keys that can be used in spans.
204
- *
205
- * This includes:
206
- * - Standard OpenTelemetry semantic convention attributes
207
- * - LangWatch-specific attributes
208
- * - Custom string attributes
209
- *
210
- * @example
211
- * ```typescript
212
- * const attributes: SemconvAttributes = {
213
- * "http.method": "GET",
214
- * "http.url": "https://api.example.com",
215
- * "langwatch.span.type": "llm",
216
- * "custom.attribute": "value"
217
- * };
218
- * ```
219
- */
220
- type SemConvAttributeKey = OnlyStringValues<typeof semconvIncubatingAttributes> | OnlyStringValues<typeof semconvAttributes> | OnlyStringValues<typeof langwatchAttributes> | (string & {});
221
- /**
222
- * Record type representing span attributes with semantic convention keys.
223
- *
224
- * This type ensures type safety when setting attributes on spans while
225
- * allowing both standard OpenTelemetry semantic conventions and custom attributes.
226
- *
227
- * @example
228
- * ```typescript
229
- * const spanAttributes: SemConvAttributes = {
230
- * "service.name": "my-service",
231
- * "service.version": "1.0.0",
232
- * "langwatch.span.type": "llm",
233
- * "custom.user.id": "user123"
234
- * };
235
- * ```
210
+ * All attribute keys usable on a span: OpenTelemetry keys the SDK writes, LangWatch's
211
+ * own attributes, or any custom string.
212
+ */
213
+ type SemConvAttributeKey = OnlyStringValues<typeof otelAttributes> | OnlyStringValues<typeof langwatchAttributes> | (string & {});
214
+ /**
215
+ * Span attributes keyed by {@link SemConvAttributeKey}, typed to OpenTelemetry's
216
+ * `AttributeValue`.
236
217
  */
237
218
  type SemConvAttributes = Partial<Record<SemConvAttributeKey, AttributeValue>>;
238
219
  /**
239
- * Record type representing log record attributes with semantic convention keys.
240
- *
241
- * This type ensures type safety when setting attributes on log records while
242
- * allowing both standard OpenTelemetry semantic conventions and custom attributes.
243
- *
244
- * @example
245
- * ```typescript
246
- * const logRecordAttributes: SemConvLogRecordAttributes = {
247
- * "log.level": "INFO",
248
- * "log.source": "my-service",
249
- * "log.category": "test",
250
- * "user.id": "12345",
251
- * "string.attr": "string value",
252
- * "number.attr": 42,
253
- * "boolean.attr": true,
254
- * "array.attr": ["item1", "item2", "item3"],
255
- * "object.attr": { key1: "value1", key2: "value2" },
256
- * "null.attr": null,
257
- * };
258
- * ```
220
+ * Log record attributes keyed by {@link SemConvAttributeKey}, typed to OpenTelemetry's
221
+ * `AnyValue`.
259
222
  */
260
223
  type SemConvLogRecordAttributes = Partial<Record<SemConvAttributeKey, AnyValue>>;
261
224
 
262
- export { type SemConvAttributeKey as S, type SemConvAttributes as a, type SemConvLogRecordAttributes as b, langwatchAttributes as l };
225
+ export { ATTR_LANGWATCH_CUSTOMER_ID as A, ATTR_LANGWATCH_SDK_VERSION as B, ATTR_LANGWATCH_SPAN_TYPE as C, ATTR_LANGWATCH_STREAMING as D, ATTR_LANGWATCH_TAGS as E, ATTR_LANGWATCH_THREAD_ID as F, ATTR_LANGWATCH_TIMESTAMPS as G, ATTR_LANGWATCH_USER_ID as H, type SemConvAttributeKey as S, type SemConvAttributes as a, type SemConvLogRecordAttributes as b, ATTR_LANGWATCH_EVALUATION_CUSTOM as c, ATTR_LANGWATCH_INPUT as d, ATTR_LANGWATCH_LABELS as e, ATTR_LANGWATCH_LANGCHAIN_EVENT_NAME as f, ATTR_LANGWATCH_LANGCHAIN_RUN_EXTRA_PARAMS as g, ATTR_LANGWATCH_LANGCHAIN_RUN_ID as h, ATTR_LANGWATCH_LANGCHAIN_RUN_METADATA as i, ATTR_LANGWATCH_LANGCHAIN_RUN_PARENT_ID as j, ATTR_LANGWATCH_LANGCHAIN_RUN_TAGS as k, langwatchAttributes as l, ATTR_LANGWATCH_LANGCHAIN_RUN_TYPE as m, ATTR_LANGWATCH_LANGCHAIN_TAGS as n, ATTR_LANGWATCH_METRICS as o, ATTR_LANGWATCH_OUTPUT as p, ATTR_LANGWATCH_PARAMS as q, ATTR_LANGWATCH_PROMPT_HANDLE as r, ATTR_LANGWATCH_PROMPT_ID as s, ATTR_LANGWATCH_PROMPT_SELECTED_ID as t, ATTR_LANGWATCH_PROMPT_VARIABLES as u, ATTR_LANGWATCH_PROMPT_VERSION_ID as v, ATTR_LANGWATCH_PROMPT_VERSION_NUMBER as w, ATTR_LANGWATCH_RAG_CONTEXTS as x, ATTR_LANGWATCH_SDK_LANGUAGE as y, ATTR_LANGWATCH_SDK_NAME as z };
@@ -1,7 +1,5 @@
1
1
  import { AttributeValue } from '@opentelemetry/api';
2
2
  import { AnyValue } from '@opentelemetry/api-logs';
3
- import * as semconvAttributes from '@opentelemetry/semantic-conventions';
4
- import * as semconvIncubatingAttributes from '@opentelemetry/semantic-conventions/incubating';
5
3
 
6
4
  /**
7
5
  * LangWatch input data attribute key
@@ -79,9 +77,7 @@ declare const ATTR_LANGWATCH_USER_ID = "langwatch.user.id";
79
77
  */
80
78
  declare const ATTR_LANGWATCH_LABELS = "langwatch.labels";
81
79
  /**
82
- * LangWatch tags attribute key
83
- * Used to store tags for a span or event
84
- *
80
+ * LangWatch tags attribute key, used to store tags for a span or event.
85
81
  * @deprecated: Please use `ATTR_LANGWATCH_LABELS`.
86
82
  */
87
83
  declare const ATTR_LANGWATCH_TAGS = "langwatch.labels";
@@ -196,67 +192,34 @@ declare namespace langwatchAttributes {
196
192
  export { langwatchAttributes_ATTR_LANGWATCH_CUSTOMER_ID as ATTR_LANGWATCH_CUSTOMER_ID, langwatchAttributes_ATTR_LANGWATCH_EVALUATION_CUSTOM as ATTR_LANGWATCH_EVALUATION_CUSTOM, langwatchAttributes_ATTR_LANGWATCH_INPUT as ATTR_LANGWATCH_INPUT, langwatchAttributes_ATTR_LANGWATCH_LABELS as ATTR_LANGWATCH_LABELS, langwatchAttributes_ATTR_LANGWATCH_LANGCHAIN_EVENT_NAME as ATTR_LANGWATCH_LANGCHAIN_EVENT_NAME, langwatchAttributes_ATTR_LANGWATCH_LANGCHAIN_RUN_EXTRA_PARAMS as ATTR_LANGWATCH_LANGCHAIN_RUN_EXTRA_PARAMS, langwatchAttributes_ATTR_LANGWATCH_LANGCHAIN_RUN_ID as ATTR_LANGWATCH_LANGCHAIN_RUN_ID, langwatchAttributes_ATTR_LANGWATCH_LANGCHAIN_RUN_METADATA as ATTR_LANGWATCH_LANGCHAIN_RUN_METADATA, langwatchAttributes_ATTR_LANGWATCH_LANGCHAIN_RUN_PARENT_ID as ATTR_LANGWATCH_LANGCHAIN_RUN_PARENT_ID, langwatchAttributes_ATTR_LANGWATCH_LANGCHAIN_RUN_TAGS as ATTR_LANGWATCH_LANGCHAIN_RUN_TAGS, langwatchAttributes_ATTR_LANGWATCH_LANGCHAIN_RUN_TYPE as ATTR_LANGWATCH_LANGCHAIN_RUN_TYPE, langwatchAttributes_ATTR_LANGWATCH_LANGCHAIN_TAGS as ATTR_LANGWATCH_LANGCHAIN_TAGS, langwatchAttributes_ATTR_LANGWATCH_METRICS as ATTR_LANGWATCH_METRICS, langwatchAttributes_ATTR_LANGWATCH_OUTPUT as ATTR_LANGWATCH_OUTPUT, langwatchAttributes_ATTR_LANGWATCH_PARAMS as ATTR_LANGWATCH_PARAMS, langwatchAttributes_ATTR_LANGWATCH_PROMPT_HANDLE as ATTR_LANGWATCH_PROMPT_HANDLE, langwatchAttributes_ATTR_LANGWATCH_PROMPT_ID as ATTR_LANGWATCH_PROMPT_ID, langwatchAttributes_ATTR_LANGWATCH_PROMPT_SELECTED_ID as ATTR_LANGWATCH_PROMPT_SELECTED_ID, langwatchAttributes_ATTR_LANGWATCH_PROMPT_VARIABLES as ATTR_LANGWATCH_PROMPT_VARIABLES, langwatchAttributes_ATTR_LANGWATCH_PROMPT_VERSION_ID as ATTR_LANGWATCH_PROMPT_VERSION_ID, langwatchAttributes_ATTR_LANGWATCH_PROMPT_VERSION_NUMBER as ATTR_LANGWATCH_PROMPT_VERSION_NUMBER, langwatchAttributes_ATTR_LANGWATCH_RAG_CONTEXTS as ATTR_LANGWATCH_RAG_CONTEXTS, langwatchAttributes_ATTR_LANGWATCH_SDK_LANGUAGE as ATTR_LANGWATCH_SDK_LANGUAGE, langwatchAttributes_ATTR_LANGWATCH_SDK_NAME as ATTR_LANGWATCH_SDK_NAME, langwatchAttributes_ATTR_LANGWATCH_SDK_VERSION as ATTR_LANGWATCH_SDK_VERSION, langwatchAttributes_ATTR_LANGWATCH_SPAN_TYPE as ATTR_LANGWATCH_SPAN_TYPE, langwatchAttributes_ATTR_LANGWATCH_STREAMING as ATTR_LANGWATCH_STREAMING, langwatchAttributes_ATTR_LANGWATCH_TAGS as ATTR_LANGWATCH_TAGS, langwatchAttributes_ATTR_LANGWATCH_THREAD_ID as ATTR_LANGWATCH_THREAD_ID, langwatchAttributes_ATTR_LANGWATCH_TIMESTAMPS as ATTR_LANGWATCH_TIMESTAMPS, langwatchAttributes_ATTR_LANGWATCH_USER_ID as ATTR_LANGWATCH_USER_ID };
197
193
  }
198
194
 
195
+ declare const ATTR_SERVICE_NAME = "service.name";
196
+ declare const ATTR_GEN_AI_REQUEST_MODEL = "gen_ai.request.model";
197
+ declare const ATTR_GEN_AI_RESPONSE_MODEL = "gen_ai.response.model";
198
+
199
+ declare const otelAttributes_ATTR_GEN_AI_REQUEST_MODEL: typeof ATTR_GEN_AI_REQUEST_MODEL;
200
+ declare const otelAttributes_ATTR_GEN_AI_RESPONSE_MODEL: typeof ATTR_GEN_AI_RESPONSE_MODEL;
201
+ declare const otelAttributes_ATTR_SERVICE_NAME: typeof ATTR_SERVICE_NAME;
202
+ declare namespace otelAttributes {
203
+ export { otelAttributes_ATTR_GEN_AI_REQUEST_MODEL as ATTR_GEN_AI_REQUEST_MODEL, otelAttributes_ATTR_GEN_AI_RESPONSE_MODEL as ATTR_GEN_AI_RESPONSE_MODEL, otelAttributes_ATTR_SERVICE_NAME as ATTR_SERVICE_NAME };
204
+ }
205
+
199
206
  type OnlyStringValues<T> = {
200
207
  [K in keyof T]: T[K] extends string ? T[K] : never;
201
208
  }[keyof T];
202
209
  /**
203
- * Union type representing all possible attribute keys that can be used in spans.
204
- *
205
- * This includes:
206
- * - Standard OpenTelemetry semantic convention attributes
207
- * - LangWatch-specific attributes
208
- * - Custom string attributes
209
- *
210
- * @example
211
- * ```typescript
212
- * const attributes: SemconvAttributes = {
213
- * "http.method": "GET",
214
- * "http.url": "https://api.example.com",
215
- * "langwatch.span.type": "llm",
216
- * "custom.attribute": "value"
217
- * };
218
- * ```
219
- */
220
- type SemConvAttributeKey = OnlyStringValues<typeof semconvIncubatingAttributes> | OnlyStringValues<typeof semconvAttributes> | OnlyStringValues<typeof langwatchAttributes> | (string & {});
221
- /**
222
- * Record type representing span attributes with semantic convention keys.
223
- *
224
- * This type ensures type safety when setting attributes on spans while
225
- * allowing both standard OpenTelemetry semantic conventions and custom attributes.
226
- *
227
- * @example
228
- * ```typescript
229
- * const spanAttributes: SemConvAttributes = {
230
- * "service.name": "my-service",
231
- * "service.version": "1.0.0",
232
- * "langwatch.span.type": "llm",
233
- * "custom.user.id": "user123"
234
- * };
235
- * ```
210
+ * All attribute keys usable on a span: OpenTelemetry keys the SDK writes, LangWatch's
211
+ * own attributes, or any custom string.
212
+ */
213
+ type SemConvAttributeKey = OnlyStringValues<typeof otelAttributes> | OnlyStringValues<typeof langwatchAttributes> | (string & {});
214
+ /**
215
+ * Span attributes keyed by {@link SemConvAttributeKey}, typed to OpenTelemetry's
216
+ * `AttributeValue`.
236
217
  */
237
218
  type SemConvAttributes = Partial<Record<SemConvAttributeKey, AttributeValue>>;
238
219
  /**
239
- * Record type representing log record attributes with semantic convention keys.
240
- *
241
- * This type ensures type safety when setting attributes on log records while
242
- * allowing both standard OpenTelemetry semantic conventions and custom attributes.
243
- *
244
- * @example
245
- * ```typescript
246
- * const logRecordAttributes: SemConvLogRecordAttributes = {
247
- * "log.level": "INFO",
248
- * "log.source": "my-service",
249
- * "log.category": "test",
250
- * "user.id": "12345",
251
- * "string.attr": "string value",
252
- * "number.attr": 42,
253
- * "boolean.attr": true,
254
- * "array.attr": ["item1", "item2", "item3"],
255
- * "object.attr": { key1: "value1", key2: "value2" },
256
- * "null.attr": null,
257
- * };
258
- * ```
220
+ * Log record attributes keyed by {@link SemConvAttributeKey}, typed to OpenTelemetry's
221
+ * `AnyValue`.
259
222
  */
260
223
  type SemConvLogRecordAttributes = Partial<Record<SemConvAttributeKey, AnyValue>>;
261
224
 
262
- export { type SemConvAttributeKey as S, type SemConvAttributes as a, type SemConvLogRecordAttributes as b, langwatchAttributes as l };
225
+ export { ATTR_LANGWATCH_CUSTOMER_ID as A, ATTR_LANGWATCH_SDK_VERSION as B, ATTR_LANGWATCH_SPAN_TYPE as C, ATTR_LANGWATCH_STREAMING as D, ATTR_LANGWATCH_TAGS as E, ATTR_LANGWATCH_THREAD_ID as F, ATTR_LANGWATCH_TIMESTAMPS as G, ATTR_LANGWATCH_USER_ID as H, type SemConvAttributeKey as S, type SemConvAttributes as a, type SemConvLogRecordAttributes as b, ATTR_LANGWATCH_EVALUATION_CUSTOM as c, ATTR_LANGWATCH_INPUT as d, ATTR_LANGWATCH_LABELS as e, ATTR_LANGWATCH_LANGCHAIN_EVENT_NAME as f, ATTR_LANGWATCH_LANGCHAIN_RUN_EXTRA_PARAMS as g, ATTR_LANGWATCH_LANGCHAIN_RUN_ID as h, ATTR_LANGWATCH_LANGCHAIN_RUN_METADATA as i, ATTR_LANGWATCH_LANGCHAIN_RUN_PARENT_ID as j, ATTR_LANGWATCH_LANGCHAIN_RUN_TAGS as k, langwatchAttributes as l, ATTR_LANGWATCH_LANGCHAIN_RUN_TYPE as m, ATTR_LANGWATCH_LANGCHAIN_TAGS as n, ATTR_LANGWATCH_METRICS as o, ATTR_LANGWATCH_OUTPUT as p, ATTR_LANGWATCH_PARAMS as q, ATTR_LANGWATCH_PROMPT_HANDLE as r, ATTR_LANGWATCH_PROMPT_ID as s, ATTR_LANGWATCH_PROMPT_SELECTED_ID as t, ATTR_LANGWATCH_PROMPT_VARIABLES as u, ATTR_LANGWATCH_PROMPT_VERSION_ID as v, ATTR_LANGWATCH_PROMPT_VERSION_NUMBER as w, ATTR_LANGWATCH_RAG_CONTEXTS as x, ATTR_LANGWATCH_SDK_LANGUAGE as y, ATTR_LANGWATCH_SDK_NAME as z };
@@ -22,12 +22,7 @@ interface DataCaptureContext {
22
22
  * @returns Capture mode to use for this specific operation
23
23
  */
24
24
  type DataCapturePredicate = (context: DataCaptureContext) => DataCaptureMode;
25
- /**
26
- * Configuration for what data should be captured in spans.
27
- *
28
- * This provides simple control over input/output data capture
29
- * by LangWatch instrumentations.
30
- */
25
+ /** Configuration for what data (input/output) LangWatch instrumentations capture in spans. */
31
26
  interface DataCaptureConfig {
32
27
  /**
33
28
  * Controls data capture behavior.
@@ -22,12 +22,7 @@ interface DataCaptureContext {
22
22
  * @returns Capture mode to use for this specific operation
23
23
  */
24
24
  type DataCapturePredicate = (context: DataCaptureContext) => DataCaptureMode;
25
- /**
26
- * Configuration for what data should be captured in spans.
27
- *
28
- * This provides simple control over input/output data capture
29
- * by LangWatch instrumentations.
30
- */
25
+ /** Configuration for what data (input/output) LangWatch instrumentations capture in spans. */
31
26
  interface DataCaptureConfig {
32
27
  /**
33
28
  * Controls data capture behavior.
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Anthropic AI system identifier
3
+ * Used to identify Anthropic's Claude models
4
+ */
5
+ declare const VAL_GEN_AI_SYSTEM_ANTHROPIC = "anthropic";
6
+ /**
7
+ * AWS Bedrock system identifier
8
+ * Used to identify AWS Bedrock AI services
9
+ */
10
+ declare const VAL_GEN_AI_SYSTEM_AWS_BEDROCK = "aws.bedrock";
11
+ /**
12
+ * Azure AI Inference system identifier
13
+ * Used to identify Azure AI Inference services
14
+ */
15
+ declare const VAL_GEN_AI_SYSTEM_AZURE_AI_INFERENCE = "azure.ai.inference";
16
+ /**
17
+ * Azure AI OpenAI system identifier
18
+ * Used to identify Azure OpenAI services
19
+ */
20
+ declare const VAL_GEN_AI_SYSTEM_AZURE_AI_OPENAI = "azure.ai.openai";
21
+ /**
22
+ * Cohere system identifier
23
+ * Used to identify Cohere AI models
24
+ */
25
+ declare const VAL_GEN_AI_SYSTEM_COHERE = "cohere";
26
+ /**
27
+ * DeepSeek system identifier
28
+ * Used to identify DeepSeek AI models
29
+ */
30
+ declare const VAL_GEN_AI_SYSTEM_DEEPSEEK = "deepseek";
31
+ /**
32
+ * GCP Gemini system identifier
33
+ * Used to identify Google Cloud Gemini models
34
+ */
35
+ declare const VAL_GEN_AI_SYSTEM_GCP_GEMINI = "gcp.gemini";
36
+ /**
37
+ * GCP Gen AI system identifier
38
+ * Used to identify Google Cloud Generative AI services
39
+ */
40
+ declare const VAL_GEN_AI_SYSTEM_GCP_GEN_AI = "gcp.gen_ai";
41
+ /**
42
+ * GCP Vertex AI system identifier
43
+ * Used to identify Google Cloud Vertex AI services
44
+ */
45
+ declare const VAL_GEN_AI_SYSTEM_GCP_VERTEX_AI = "gcp.vertex_ai";
46
+ /**
47
+ * Groq system identifier
48
+ * Used to identify Groq AI models
49
+ */
50
+ declare const VAL_GEN_AI_SYSTEM_GROQ = "groq";
51
+ /**
52
+ * IBM WatsonX AI system identifier
53
+ * Used to identify IBM WatsonX AI services
54
+ */
55
+ declare const VAL_GEN_AI_SYSTEM_IBM_WATSONX_AI = "ibm.watsonx.ai";
56
+ /**
57
+ * Mistral AI system identifier
58
+ * Used to identify Mistral AI models
59
+ */
60
+ declare const VAL_GEN_AI_SYSTEM_MISTRAL_AI = "mistral_ai";
61
+ /**
62
+ * OpenAI system identifier
63
+ * Used to identify OpenAI models and services
64
+ */
65
+ declare const VAL_GEN_AI_SYSTEM_OPENAI = "openai";
66
+ /**
67
+ * Perplexity system identifier
68
+ * Used to identify Perplexity AI models
69
+ */
70
+ declare const VAL_GEN_AI_SYSTEM_PERPLEXITY = "perplexity";
71
+ /**
72
+ * XAI system identifier
73
+ * Used to identify XAI models and services
74
+ */
75
+ declare const VAL_GEN_AI_SYSTEM_XAI = "xai";
76
+ /**
77
+ * Content filter finish reason
78
+ * Used when generation stops due to content filtering
79
+ */
80
+ declare const VAL_GEN_AI_FINISH_REASON_CONTENT_FILTER = "content_filter";
81
+ /**
82
+ * Error finish reason
83
+ * Used when generation stops due to an error
84
+ */
85
+ declare const VAL_GEN_AI_FINISH_REASON_ERROR = "error";
86
+ /**
87
+ * Length finish reason
88
+ * Used when generation stops due to length limits
89
+ */
90
+ declare const VAL_GEN_AI_FINISH_REASON_LENGTH = "length";
91
+ /**
92
+ * Stop finish reason
93
+ * Used when generation stops due to stop tokens
94
+ */
95
+ declare const VAL_GEN_AI_FINISH_REASON_STOP = "stop";
96
+ /**
97
+ * Tool calls finish reason
98
+ * Used when generation stops due to tool calls
99
+ */
100
+ declare const VAL_GEN_AI_FINISH_REASON_TOOL_CALLS = "tool_calls";
101
+ /**
102
+ * Union type of all supported GenAI system identifiers
103
+ * Used for type safety when working with system identification
104
+ */
105
+ type VAL_GEN_AI_SYSTEMS = typeof VAL_GEN_AI_SYSTEM_ANTHROPIC | typeof VAL_GEN_AI_SYSTEM_AWS_BEDROCK | typeof VAL_GEN_AI_SYSTEM_AZURE_AI_INFERENCE | typeof VAL_GEN_AI_SYSTEM_AZURE_AI_OPENAI | typeof VAL_GEN_AI_SYSTEM_COHERE | typeof VAL_GEN_AI_SYSTEM_DEEPSEEK | typeof VAL_GEN_AI_SYSTEM_GCP_GEMINI | typeof VAL_GEN_AI_SYSTEM_GCP_GEN_AI | typeof VAL_GEN_AI_SYSTEM_GCP_VERTEX_AI | typeof VAL_GEN_AI_SYSTEM_GROQ | typeof VAL_GEN_AI_SYSTEM_IBM_WATSONX_AI | typeof VAL_GEN_AI_SYSTEM_MISTRAL_AI | typeof VAL_GEN_AI_SYSTEM_OPENAI | typeof VAL_GEN_AI_SYSTEM_PERPLEXITY | typeof VAL_GEN_AI_SYSTEM_XAI;
106
+ /**
107
+ * Union type of all supported GenAI finish reasons
108
+ * Used for type safety when working with generation completion reasons
109
+ */
110
+ type VAL_GEN_AI_FINISH_REASONS = typeof VAL_GEN_AI_FINISH_REASON_CONTENT_FILTER | typeof VAL_GEN_AI_FINISH_REASON_ERROR | typeof VAL_GEN_AI_FINISH_REASON_LENGTH | typeof VAL_GEN_AI_FINISH_REASON_STOP | typeof VAL_GEN_AI_FINISH_REASON_TOOL_CALLS;
111
+
112
+ export { type VAL_GEN_AI_SYSTEMS as V, type VAL_GEN_AI_FINISH_REASONS as a, VAL_GEN_AI_FINISH_REASON_CONTENT_FILTER as b, VAL_GEN_AI_FINISH_REASON_ERROR as c, VAL_GEN_AI_FINISH_REASON_LENGTH as d, VAL_GEN_AI_FINISH_REASON_STOP as e, VAL_GEN_AI_FINISH_REASON_TOOL_CALLS as f, VAL_GEN_AI_SYSTEM_ANTHROPIC as g, VAL_GEN_AI_SYSTEM_AWS_BEDROCK as h, VAL_GEN_AI_SYSTEM_AZURE_AI_INFERENCE as i, VAL_GEN_AI_SYSTEM_AZURE_AI_OPENAI as j, VAL_GEN_AI_SYSTEM_COHERE as k, VAL_GEN_AI_SYSTEM_DEEPSEEK as l, VAL_GEN_AI_SYSTEM_GCP_GEMINI as m, VAL_GEN_AI_SYSTEM_GCP_GEN_AI as n, VAL_GEN_AI_SYSTEM_GCP_VERTEX_AI as o, VAL_GEN_AI_SYSTEM_GROQ as p, VAL_GEN_AI_SYSTEM_IBM_WATSONX_AI as q, VAL_GEN_AI_SYSTEM_MISTRAL_AI as r, VAL_GEN_AI_SYSTEM_OPENAI as s, VAL_GEN_AI_SYSTEM_PERPLEXITY as t, VAL_GEN_AI_SYSTEM_XAI as u };
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Anthropic AI system identifier
3
+ * Used to identify Anthropic's Claude models
4
+ */
5
+ declare const VAL_GEN_AI_SYSTEM_ANTHROPIC = "anthropic";
6
+ /**
7
+ * AWS Bedrock system identifier
8
+ * Used to identify AWS Bedrock AI services
9
+ */
10
+ declare const VAL_GEN_AI_SYSTEM_AWS_BEDROCK = "aws.bedrock";
11
+ /**
12
+ * Azure AI Inference system identifier
13
+ * Used to identify Azure AI Inference services
14
+ */
15
+ declare const VAL_GEN_AI_SYSTEM_AZURE_AI_INFERENCE = "azure.ai.inference";
16
+ /**
17
+ * Azure AI OpenAI system identifier
18
+ * Used to identify Azure OpenAI services
19
+ */
20
+ declare const VAL_GEN_AI_SYSTEM_AZURE_AI_OPENAI = "azure.ai.openai";
21
+ /**
22
+ * Cohere system identifier
23
+ * Used to identify Cohere AI models
24
+ */
25
+ declare const VAL_GEN_AI_SYSTEM_COHERE = "cohere";
26
+ /**
27
+ * DeepSeek system identifier
28
+ * Used to identify DeepSeek AI models
29
+ */
30
+ declare const VAL_GEN_AI_SYSTEM_DEEPSEEK = "deepseek";
31
+ /**
32
+ * GCP Gemini system identifier
33
+ * Used to identify Google Cloud Gemini models
34
+ */
35
+ declare const VAL_GEN_AI_SYSTEM_GCP_GEMINI = "gcp.gemini";
36
+ /**
37
+ * GCP Gen AI system identifier
38
+ * Used to identify Google Cloud Generative AI services
39
+ */
40
+ declare const VAL_GEN_AI_SYSTEM_GCP_GEN_AI = "gcp.gen_ai";
41
+ /**
42
+ * GCP Vertex AI system identifier
43
+ * Used to identify Google Cloud Vertex AI services
44
+ */
45
+ declare const VAL_GEN_AI_SYSTEM_GCP_VERTEX_AI = "gcp.vertex_ai";
46
+ /**
47
+ * Groq system identifier
48
+ * Used to identify Groq AI models
49
+ */
50
+ declare const VAL_GEN_AI_SYSTEM_GROQ = "groq";
51
+ /**
52
+ * IBM WatsonX AI system identifier
53
+ * Used to identify IBM WatsonX AI services
54
+ */
55
+ declare const VAL_GEN_AI_SYSTEM_IBM_WATSONX_AI = "ibm.watsonx.ai";
56
+ /**
57
+ * Mistral AI system identifier
58
+ * Used to identify Mistral AI models
59
+ */
60
+ declare const VAL_GEN_AI_SYSTEM_MISTRAL_AI = "mistral_ai";
61
+ /**
62
+ * OpenAI system identifier
63
+ * Used to identify OpenAI models and services
64
+ */
65
+ declare const VAL_GEN_AI_SYSTEM_OPENAI = "openai";
66
+ /**
67
+ * Perplexity system identifier
68
+ * Used to identify Perplexity AI models
69
+ */
70
+ declare const VAL_GEN_AI_SYSTEM_PERPLEXITY = "perplexity";
71
+ /**
72
+ * XAI system identifier
73
+ * Used to identify XAI models and services
74
+ */
75
+ declare const VAL_GEN_AI_SYSTEM_XAI = "xai";
76
+ /**
77
+ * Content filter finish reason
78
+ * Used when generation stops due to content filtering
79
+ */
80
+ declare const VAL_GEN_AI_FINISH_REASON_CONTENT_FILTER = "content_filter";
81
+ /**
82
+ * Error finish reason
83
+ * Used when generation stops due to an error
84
+ */
85
+ declare const VAL_GEN_AI_FINISH_REASON_ERROR = "error";
86
+ /**
87
+ * Length finish reason
88
+ * Used when generation stops due to length limits
89
+ */
90
+ declare const VAL_GEN_AI_FINISH_REASON_LENGTH = "length";
91
+ /**
92
+ * Stop finish reason
93
+ * Used when generation stops due to stop tokens
94
+ */
95
+ declare const VAL_GEN_AI_FINISH_REASON_STOP = "stop";
96
+ /**
97
+ * Tool calls finish reason
98
+ * Used when generation stops due to tool calls
99
+ */
100
+ declare const VAL_GEN_AI_FINISH_REASON_TOOL_CALLS = "tool_calls";
101
+ /**
102
+ * Union type of all supported GenAI system identifiers
103
+ * Used for type safety when working with system identification
104
+ */
105
+ type VAL_GEN_AI_SYSTEMS = typeof VAL_GEN_AI_SYSTEM_ANTHROPIC | typeof VAL_GEN_AI_SYSTEM_AWS_BEDROCK | typeof VAL_GEN_AI_SYSTEM_AZURE_AI_INFERENCE | typeof VAL_GEN_AI_SYSTEM_AZURE_AI_OPENAI | typeof VAL_GEN_AI_SYSTEM_COHERE | typeof VAL_GEN_AI_SYSTEM_DEEPSEEK | typeof VAL_GEN_AI_SYSTEM_GCP_GEMINI | typeof VAL_GEN_AI_SYSTEM_GCP_GEN_AI | typeof VAL_GEN_AI_SYSTEM_GCP_VERTEX_AI | typeof VAL_GEN_AI_SYSTEM_GROQ | typeof VAL_GEN_AI_SYSTEM_IBM_WATSONX_AI | typeof VAL_GEN_AI_SYSTEM_MISTRAL_AI | typeof VAL_GEN_AI_SYSTEM_OPENAI | typeof VAL_GEN_AI_SYSTEM_PERPLEXITY | typeof VAL_GEN_AI_SYSTEM_XAI;
106
+ /**
107
+ * Union type of all supported GenAI finish reasons
108
+ * Used for type safety when working with generation completion reasons
109
+ */
110
+ type VAL_GEN_AI_FINISH_REASONS = typeof VAL_GEN_AI_FINISH_REASON_CONTENT_FILTER | typeof VAL_GEN_AI_FINISH_REASON_ERROR | typeof VAL_GEN_AI_FINISH_REASON_LENGTH | typeof VAL_GEN_AI_FINISH_REASON_STOP | typeof VAL_GEN_AI_FINISH_REASON_TOOL_CALLS;
111
+
112
+ export { type VAL_GEN_AI_SYSTEMS as V, type VAL_GEN_AI_FINISH_REASONS as a, VAL_GEN_AI_FINISH_REASON_CONTENT_FILTER as b, VAL_GEN_AI_FINISH_REASON_ERROR as c, VAL_GEN_AI_FINISH_REASON_LENGTH as d, VAL_GEN_AI_FINISH_REASON_STOP as e, VAL_GEN_AI_FINISH_REASON_TOOL_CALLS as f, VAL_GEN_AI_SYSTEM_ANTHROPIC as g, VAL_GEN_AI_SYSTEM_AWS_BEDROCK as h, VAL_GEN_AI_SYSTEM_AZURE_AI_INFERENCE as i, VAL_GEN_AI_SYSTEM_AZURE_AI_OPENAI as j, VAL_GEN_AI_SYSTEM_COHERE as k, VAL_GEN_AI_SYSTEM_DEEPSEEK as l, VAL_GEN_AI_SYSTEM_GCP_GEMINI as m, VAL_GEN_AI_SYSTEM_GCP_GEN_AI as n, VAL_GEN_AI_SYSTEM_GCP_VERTEX_AI as o, VAL_GEN_AI_SYSTEM_GROQ as p, VAL_GEN_AI_SYSTEM_IBM_WATSONX_AI as q, VAL_GEN_AI_SYSTEM_MISTRAL_AI as r, VAL_GEN_AI_SYSTEM_OPENAI as s, VAL_GEN_AI_SYSTEM_PERPLEXITY as t, VAL_GEN_AI_SYSTEM_XAI as u };