langwatch 1.19.0 → 2.0.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 +27 -13
  2. package/dist/agent/index.d.mts +122 -79
  3. package/dist/agent/index.d.ts +122 -79
  4. package/dist/agent/index.js +541 -301
  5. package/dist/agent/index.js.map +1 -1
  6. package/dist/agent/index.mjs +540 -302
  7. package/dist/agent/index.mjs.map +1 -1
  8. package/dist/{chunk-NPEK4RSD.mjs → chunk-2GKEMCKT.mjs} +7757 -2409
  9. package/dist/chunk-2GKEMCKT.mjs.map +1 -0
  10. package/dist/chunk-5VYEG3RS.js +117 -0
  11. package/dist/chunk-5VYEG3RS.js.map +1 -0
  12. package/dist/chunk-AYPQNLCC.mjs +852 -0
  13. package/dist/chunk-AYPQNLCC.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-DLZCOUXC.js +852 -0
  19. package/dist/chunk-DLZCOUXC.js.map +1 -0
  20. package/dist/{chunk-O4J3ZPZY.js → chunk-F7BVJW3S.js} +7912 -2564
  21. package/dist/chunk-F7BVJW3S.js.map +1 -0
  22. package/dist/{chunk-SY5HSL5G.mjs → chunk-M3DSPR5S.mjs} +124 -112
  23. package/dist/chunk-M3DSPR5S.mjs.map +1 -0
  24. package/dist/{chunk-CSV7B7B5.js → chunk-MAO3SIBB.js} +141 -129
  25. package/dist/chunk-MAO3SIBB.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 +853 -552
  37. package/dist/implementation-BXVPzwOt.d.mts +261 -0
  38. package/dist/implementation-DJ-JveZl.d.ts +261 -0
  39. package/dist/index.d.mts +479 -1130
  40. package/dist/index.d.ts +479 -1130
  41. package/dist/index.js +7908 -3525
  42. package/dist/index.js.map +1 -1
  43. package/dist/index.mjs +7883 -3500
  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 +13 -10
  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--ExXvd26.d.mts +16583 -0
  68. package/dist/{types-VOZv9LYO.d.ts → types-CoS5PmeU.d.mts} +22 -59
  69. package/dist/{types-VOZv9LYO.d.mts → types-CoS5PmeU.d.ts} +22 -59
  70. package/dist/types-CpT3iEIj.d.ts +16583 -0
  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 +94 -64
  76. package/dist/chunk-57L2K66L.mjs.map +0 -1
  77. package/dist/chunk-73QOHSHU.js.map +0 -1
  78. package/dist/chunk-CSV7B7B5.js.map +0 -1
  79. package/dist/chunk-LCG5Y2EG.js.map +0 -1
  80. package/dist/chunk-NPEK4RSD.mjs.map +0 -1
  81. package/dist/chunk-O4J3ZPZY.js.map +0 -1
  82. package/dist/chunk-PIYOJF6V.mjs +0 -566
  83. package/dist/chunk-PIYOJF6V.mjs.map +0 -1
  84. package/dist/chunk-SY5HSL5G.mjs.map +0 -1
  85. package/dist/chunk-WGLVIV4J.js +0 -566
  86. package/dist/chunk-WGLVIV4J.js.map +0 -1
  87. package/dist/chunk-WMDQVWA6.mjs.map +0 -1
  88. package/dist/implementation-CeTvnq6e.d.mts +0 -716
  89. package/dist/implementation-CsQrexpY.d.ts +0 -716
  90. package/dist/types-ofe1fAYQ.d.mts +0 -38143
  91. package/dist/types-wuYJPoFb.d.ts +0 -38143
@@ -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 };