langwatch 0.2.0 → 0.3.0-prerelease.2

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 (229) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +268 -1
  3. package/dist/chunk-4BZATFKJ.mjs +181 -0
  4. package/dist/chunk-4BZATFKJ.mjs.map +1 -0
  5. package/dist/chunk-CSC3CMIT.mjs +118 -0
  6. package/dist/chunk-CSC3CMIT.mjs.map +1 -0
  7. package/dist/chunk-F63YKTXA.mjs +47 -0
  8. package/dist/chunk-F63YKTXA.mjs.map +1 -0
  9. package/dist/chunk-G3AUABT7.js +4 -0
  10. package/dist/chunk-G3AUABT7.js.map +1 -0
  11. package/dist/chunk-HPC6Z7J4.js +118 -0
  12. package/dist/chunk-HPC6Z7J4.js.map +1 -0
  13. package/dist/chunk-KGDAENGD.js +50 -0
  14. package/dist/chunk-KGDAENGD.js.map +1 -0
  15. package/dist/chunk-LD74LVRU.js +47 -0
  16. package/dist/chunk-LD74LVRU.js.map +1 -0
  17. package/dist/chunk-OM7VY3XT.mjs +4 -0
  18. package/dist/chunk-PCQVQ7SB.js +45 -0
  19. package/dist/chunk-PCQVQ7SB.js.map +1 -0
  20. package/dist/chunk-PMBEK6YE.mjs +424 -0
  21. package/dist/chunk-PMBEK6YE.mjs.map +1 -0
  22. package/dist/chunk-PR3JDWC3.mjs +50 -0
  23. package/dist/chunk-PR3JDWC3.mjs.map +1 -0
  24. package/dist/chunk-PTJ6AAI7.js +360 -0
  25. package/dist/chunk-PTJ6AAI7.js.map +1 -0
  26. package/dist/chunk-QEWDG5QE.mjs +45 -0
  27. package/dist/chunk-QEWDG5QE.mjs.map +1 -0
  28. package/dist/chunk-REUCVT7A.mjs +39 -0
  29. package/dist/chunk-REUCVT7A.mjs.map +1 -0
  30. package/dist/chunk-SVJ7SCGB.js +424 -0
  31. package/dist/chunk-SVJ7SCGB.js.map +1 -0
  32. package/dist/chunk-VJSOCNPA.js +181 -0
  33. package/dist/chunk-VJSOCNPA.js.map +1 -0
  34. package/dist/chunk-WM2GRSRW.js +39 -0
  35. package/dist/chunk-WM2GRSRW.js.map +1 -0
  36. package/dist/chunk-Z5J5UI5E.mjs +360 -0
  37. package/dist/chunk-Z5J5UI5E.mjs.map +1 -0
  38. package/dist/client-B2HqIKg6.d.ts +51 -0
  39. package/dist/client-XyCqclCi.d.mts +51 -0
  40. package/dist/client-browser.d.mts +8 -0
  41. package/dist/client-browser.d.ts +8 -0
  42. package/dist/client-browser.js +83 -0
  43. package/dist/client-browser.js.map +1 -0
  44. package/dist/client-browser.mjs +83 -0
  45. package/dist/client-browser.mjs.map +1 -0
  46. package/dist/client-node.d.mts +8 -0
  47. package/dist/client-node.d.ts +8 -0
  48. package/dist/client-node.js +90 -0
  49. package/dist/client-node.js.map +1 -0
  50. package/dist/client-node.mjs +90 -0
  51. package/dist/client-node.mjs.map +1 -0
  52. package/dist/evaluation/index.d.mts +897 -0
  53. package/dist/evaluation/index.d.ts +897 -0
  54. package/dist/evaluation/index.js +13 -0
  55. package/dist/evaluation/index.js.map +1 -0
  56. package/dist/evaluation/index.mjs +13 -0
  57. package/dist/evaluation/index.mjs.map +1 -0
  58. package/dist/filterable-batch-span-processor-zO5kcjBY.d.mts +64 -0
  59. package/dist/filterable-batch-span-processor-zO5kcjBY.d.ts +64 -0
  60. package/dist/index.d.mts +45 -1027
  61. package/dist/index.d.ts +45 -1027
  62. package/dist/index.js +11 -27291
  63. package/dist/index.js.map +1 -1
  64. package/dist/index.mjs +23 -956
  65. package/dist/index.mjs.map +1 -1
  66. package/dist/observability/index.d.mts +260 -0
  67. package/dist/observability/index.d.ts +260 -0
  68. package/dist/observability/index.js +20 -0
  69. package/dist/observability/index.js.map +1 -0
  70. package/dist/observability/index.mjs +20 -0
  71. package/dist/observability/index.mjs.map +1 -0
  72. package/dist/observability/instrumentation/langchain/index.d.mts +40 -0
  73. package/dist/observability/instrumentation/langchain/index.d.ts +40 -0
  74. package/dist/observability/instrumentation/langchain/index.js +666 -0
  75. package/dist/observability/instrumentation/langchain/index.js.map +1 -0
  76. package/dist/observability/instrumentation/langchain/index.mjs +666 -0
  77. package/dist/observability/instrumentation/langchain/index.mjs.map +1 -0
  78. package/dist/prompt/index.d.mts +10 -0
  79. package/dist/prompt/index.d.ts +10 -0
  80. package/dist/prompt/index.js +18 -0
  81. package/dist/prompt/index.js.map +1 -0
  82. package/dist/prompt/index.mjs +18 -0
  83. package/dist/prompt/index.mjs.map +1 -0
  84. package/dist/prompt-BXJWdbQp.d.mts +1967 -0
  85. package/dist/prompt-BXJWdbQp.d.ts +1967 -0
  86. package/dist/record-evaluation-CmxMXa-3.d.mts +25 -0
  87. package/dist/record-evaluation-CmxMXa-3.d.ts +25 -0
  88. package/dist/trace-D-bZOuqb.d.mts +622 -0
  89. package/dist/trace-G2312klE.d.ts +622 -0
  90. package/package.json +86 -37
  91. package/.eslintrc.cjs +0 -37
  92. package/copy-types.sh +0 -17
  93. package/dist/chunk-LKD2K67J.mjs +0 -717
  94. package/dist/chunk-LKD2K67J.mjs.map +0 -1
  95. package/dist/utils-Cv-rUjJ1.d.mts +0 -313
  96. package/dist/utils-Cv-rUjJ1.d.ts +0 -313
  97. package/dist/utils.d.mts +0 -2
  98. package/dist/utils.d.ts +0 -2
  99. package/dist/utils.js +0 -709
  100. package/dist/utils.js.map +0 -1
  101. package/dist/utils.mjs +0 -11
  102. package/example/.env.example +0 -12
  103. package/example/.eslintrc.json +0 -26
  104. package/example/LICENSE +0 -13
  105. package/example/README.md +0 -12
  106. package/example/app/(chat)/chat/[id]/page.tsx +0 -60
  107. package/example/app/(chat)/layout.tsx +0 -14
  108. package/example/app/(chat)/page.tsx +0 -27
  109. package/example/app/actions.ts +0 -156
  110. package/example/app/globals.css +0 -76
  111. package/example/app/guardrails/page.tsx +0 -26
  112. package/example/app/langchain/page.tsx +0 -27
  113. package/example/app/langchain-rag/page.tsx +0 -28
  114. package/example/app/late-update/page.tsx +0 -27
  115. package/example/app/layout.tsx +0 -64
  116. package/example/app/login/actions.ts +0 -71
  117. package/example/app/login/page.tsx +0 -18
  118. package/example/app/manual/page.tsx +0 -27
  119. package/example/app/new/page.tsx +0 -5
  120. package/example/app/opengraph-image.png +0 -0
  121. package/example/app/share/[id]/page.tsx +0 -58
  122. package/example/app/signup/actions.ts +0 -111
  123. package/example/app/signup/page.tsx +0 -18
  124. package/example/app/twitter-image.png +0 -0
  125. package/example/auth.config.ts +0 -42
  126. package/example/auth.ts +0 -45
  127. package/example/components/button-scroll-to-bottom.tsx +0 -36
  128. package/example/components/chat-history.tsx +0 -49
  129. package/example/components/chat-list.tsx +0 -52
  130. package/example/components/chat-message-actions.tsx +0 -40
  131. package/example/components/chat-message.tsx +0 -80
  132. package/example/components/chat-panel.tsx +0 -139
  133. package/example/components/chat-share-dialog.tsx +0 -95
  134. package/example/components/chat.tsx +0 -84
  135. package/example/components/clear-history.tsx +0 -75
  136. package/example/components/empty-screen.tsx +0 -38
  137. package/example/components/external-link.tsx +0 -29
  138. package/example/components/footer.tsx +0 -19
  139. package/example/components/header.tsx +0 -114
  140. package/example/components/login-button.tsx +0 -42
  141. package/example/components/login-form.tsx +0 -97
  142. package/example/components/markdown.tsx +0 -9
  143. package/example/components/prompt-form.tsx +0 -115
  144. package/example/components/providers.tsx +0 -17
  145. package/example/components/sidebar-actions.tsx +0 -125
  146. package/example/components/sidebar-desktop.tsx +0 -19
  147. package/example/components/sidebar-footer.tsx +0 -16
  148. package/example/components/sidebar-item.tsx +0 -124
  149. package/example/components/sidebar-items.tsx +0 -42
  150. package/example/components/sidebar-list.tsx +0 -38
  151. package/example/components/sidebar-mobile.tsx +0 -31
  152. package/example/components/sidebar-toggle.tsx +0 -24
  153. package/example/components/sidebar.tsx +0 -21
  154. package/example/components/signup-form.tsx +0 -95
  155. package/example/components/stocks/events-skeleton.tsx +0 -31
  156. package/example/components/stocks/events.tsx +0 -30
  157. package/example/components/stocks/index.tsx +0 -36
  158. package/example/components/stocks/message.tsx +0 -134
  159. package/example/components/stocks/spinner.tsx +0 -16
  160. package/example/components/stocks/stock-purchase.tsx +0 -146
  161. package/example/components/stocks/stock-skeleton.tsx +0 -22
  162. package/example/components/stocks/stock.tsx +0 -210
  163. package/example/components/stocks/stocks-skeleton.tsx +0 -9
  164. package/example/components/stocks/stocks.tsx +0 -67
  165. package/example/components/tailwind-indicator.tsx +0 -14
  166. package/example/components/theme-toggle.tsx +0 -31
  167. package/example/components/ui/alert-dialog.tsx +0 -141
  168. package/example/components/ui/badge.tsx +0 -36
  169. package/example/components/ui/button.tsx +0 -57
  170. package/example/components/ui/codeblock.tsx +0 -148
  171. package/example/components/ui/dialog.tsx +0 -122
  172. package/example/components/ui/dropdown-menu.tsx +0 -205
  173. package/example/components/ui/icons.tsx +0 -507
  174. package/example/components/ui/input.tsx +0 -25
  175. package/example/components/ui/label.tsx +0 -26
  176. package/example/components/ui/select.tsx +0 -164
  177. package/example/components/ui/separator.tsx +0 -31
  178. package/example/components/ui/sheet.tsx +0 -140
  179. package/example/components/ui/sonner.tsx +0 -31
  180. package/example/components/ui/switch.tsx +0 -29
  181. package/example/components/ui/textarea.tsx +0 -24
  182. package/example/components/ui/tooltip.tsx +0 -30
  183. package/example/components/user-menu.tsx +0 -53
  184. package/example/components.json +0 -17
  185. package/example/instrumentation.ts +0 -11
  186. package/example/lib/chat/guardrails.tsx +0 -181
  187. package/example/lib/chat/langchain-rag.tsx +0 -191
  188. package/example/lib/chat/langchain.tsx +0 -112
  189. package/example/lib/chat/late-update.tsx +0 -208
  190. package/example/lib/chat/manual.tsx +0 -605
  191. package/example/lib/chat/vercel-ai.tsx +0 -576
  192. package/example/lib/hooks/use-copy-to-clipboard.tsx +0 -33
  193. package/example/lib/hooks/use-enter-submit.tsx +0 -23
  194. package/example/lib/hooks/use-local-storage.ts +0 -24
  195. package/example/lib/hooks/use-scroll-anchor.tsx +0 -86
  196. package/example/lib/hooks/use-sidebar.tsx +0 -60
  197. package/example/lib/hooks/use-streamable-text.ts +0 -25
  198. package/example/lib/types.ts +0 -41
  199. package/example/lib/utils.ts +0 -89
  200. package/example/middleware.ts +0 -8
  201. package/example/next-env.d.ts +0 -5
  202. package/example/next.config.js +0 -16
  203. package/example/package-lock.json +0 -10917
  204. package/example/package.json +0 -84
  205. package/example/pnpm-lock.yaml +0 -5712
  206. package/example/postcss.config.js +0 -6
  207. package/example/prettier.config.cjs +0 -34
  208. package/example/public/apple-touch-icon.png +0 -0
  209. package/example/public/favicon-16x16.png +0 -0
  210. package/example/public/favicon.ico +0 -0
  211. package/example/public/next.svg +0 -1
  212. package/example/public/thirteen.svg +0 -1
  213. package/example/public/vercel.svg +0 -1
  214. package/example/tailwind.config.ts +0 -81
  215. package/example/tsconfig.json +0 -35
  216. package/src/LangWatchExporter.ts +0 -96
  217. package/src/evaluations.ts +0 -219
  218. package/src/index.test.ts +0 -402
  219. package/src/index.ts +0 -596
  220. package/src/langchain.ts +0 -557
  221. package/src/server/types/.gitkeep +0 -0
  222. package/src/typeUtils.ts +0 -89
  223. package/src/types.ts +0 -82
  224. package/src/utils.ts +0 -205
  225. package/ts-to-zod.config.js +0 -24
  226. package/tsconfig.json +0 -32
  227. package/tsup.config.ts +0 -10
  228. package/vitest.config.ts +0 -8
  229. /package/dist/{utils.mjs.map → chunk-OM7VY3XT.mjs.map} +0 -0
@@ -0,0 +1,13 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkHPC6Z7J4js = require('../chunk-HPC6Z7J4.js');
4
+ require('../chunk-PCQVQ7SB.js');
5
+
6
+
7
+ var _chunkSVJ7SCGBjs = require('../chunk-SVJ7SCGB.js');
8
+ require('../chunk-VJSOCNPA.js');
9
+
10
+
11
+
12
+ exports.recordEvaluation = _chunkSVJ7SCGBjs.recordEvaluation; exports.runEvaluation = _chunkHPC6Z7J4js.runEvaluation;
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/evaluation/index.js"],"names":[],"mappings":"AAAA;AACE;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACF,qHAAC","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/evaluation/index.js"}
@@ -0,0 +1,13 @@
1
+ import {
2
+ runEvaluation
3
+ } from "../chunk-CSC3CMIT.mjs";
4
+ import "../chunk-QEWDG5QE.mjs";
5
+ import {
6
+ recordEvaluation
7
+ } from "../chunk-PMBEK6YE.mjs";
8
+ import "../chunk-4BZATFKJ.mjs";
9
+ export {
10
+ recordEvaluation,
11
+ runEvaluation
12
+ };
13
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,64 @@
1
+ import { BatchSpanProcessor, SpanExporter, ReadableSpan } from '@opentelemetry/sdk-trace-base';
2
+
3
+ /**
4
+ * Filterable Batch Span Exporter for OpenTelemetry
5
+ *
6
+ * This module provides a BatchSpanProcessor subclass that allows filtering of spans before export
7
+ * based on configurable rules. Spans matching any exclude rule are dropped and not exported.
8
+ *
9
+ * @module filterable-batch-span-exporter
10
+ */
11
+
12
+ /**
13
+ * A rule for excluding spans from export based on their name or instrumentation scope name.
14
+ *
15
+ * @property fieldName - The span field to match against ('span_name' or 'instrumentation_scope_name').
16
+ * @property matchValue - The value to match against the field.
17
+ * @property matchOperation - The operation to use for matching ('includes', 'exact_match', 'starts_with', 'ends_with').
18
+ *
19
+ * @example
20
+ * const rule: SpanProcessingExcludeRule = {
21
+ * fieldName: 'span_name',
22
+ * matchValue: 'heartbeat',
23
+ * matchOperation: 'exact_match',
24
+ * };
25
+ */
26
+ interface SpanProcessingExcludeRule {
27
+ fieldName: "span_name" | "instrumentation_scope_name";
28
+ matchValue: string;
29
+ matchOperation: "includes" | "exact_match" | "starts_with" | "ends_with";
30
+ }
31
+ /**
32
+ * A BatchSpanProcessor that filters out spans matching any of the provided exclude rules before export.
33
+ *
34
+ * This is useful for dropping noisy or irrelevant spans (e.g., health checks, heartbeats) from being exported to your tracing backend.
35
+ *
36
+ * @example
37
+ * import { FilterableBatchSpanProcessor } from './filterable-batch-span-exporter';
38
+ * import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
39
+ *
40
+ * const exporter = new OTLPTraceExporter({ url: '...' });
41
+ * const filters = [
42
+ * { fieldName: 'span_name', matchValue: 'heartbeat', matchOperation: 'exact_match' },
43
+ * { fieldName: 'instrumentation_scope_name', matchValue: 'internal', matchOperation: 'starts_with' },
44
+ * ];
45
+ * provider.addSpanProcessor(new FilterableBatchSpanProcessor(exporter, filters));
46
+ */
47
+ declare class FilterableBatchSpanProcessor extends BatchSpanProcessor {
48
+ private readonly _filters;
49
+ /**
50
+ * Create a new FilterableBatchSpanProcessor.
51
+ *
52
+ * @param exporter - The underlying SpanExporter to use for exporting spans.
53
+ * @param filters - An array of rules for excluding spans from export.
54
+ */
55
+ constructor(exporter: SpanExporter, filters: SpanProcessingExcludeRule[]);
56
+ /**
57
+ * Called when a span ends. If the span matches any exclude rule, it is dropped and not exported.
58
+ *
59
+ * @param span - The ReadableSpan that has ended.
60
+ */
61
+ onEnd(span: ReadableSpan): void;
62
+ }
63
+
64
+ export { FilterableBatchSpanProcessor as F, type SpanProcessingExcludeRule as S };
@@ -0,0 +1,64 @@
1
+ import { BatchSpanProcessor, SpanExporter, ReadableSpan } from '@opentelemetry/sdk-trace-base';
2
+
3
+ /**
4
+ * Filterable Batch Span Exporter for OpenTelemetry
5
+ *
6
+ * This module provides a BatchSpanProcessor subclass that allows filtering of spans before export
7
+ * based on configurable rules. Spans matching any exclude rule are dropped and not exported.
8
+ *
9
+ * @module filterable-batch-span-exporter
10
+ */
11
+
12
+ /**
13
+ * A rule for excluding spans from export based on their name or instrumentation scope name.
14
+ *
15
+ * @property fieldName - The span field to match against ('span_name' or 'instrumentation_scope_name').
16
+ * @property matchValue - The value to match against the field.
17
+ * @property matchOperation - The operation to use for matching ('includes', 'exact_match', 'starts_with', 'ends_with').
18
+ *
19
+ * @example
20
+ * const rule: SpanProcessingExcludeRule = {
21
+ * fieldName: 'span_name',
22
+ * matchValue: 'heartbeat',
23
+ * matchOperation: 'exact_match',
24
+ * };
25
+ */
26
+ interface SpanProcessingExcludeRule {
27
+ fieldName: "span_name" | "instrumentation_scope_name";
28
+ matchValue: string;
29
+ matchOperation: "includes" | "exact_match" | "starts_with" | "ends_with";
30
+ }
31
+ /**
32
+ * A BatchSpanProcessor that filters out spans matching any of the provided exclude rules before export.
33
+ *
34
+ * This is useful for dropping noisy or irrelevant spans (e.g., health checks, heartbeats) from being exported to your tracing backend.
35
+ *
36
+ * @example
37
+ * import { FilterableBatchSpanProcessor } from './filterable-batch-span-exporter';
38
+ * import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
39
+ *
40
+ * const exporter = new OTLPTraceExporter({ url: '...' });
41
+ * const filters = [
42
+ * { fieldName: 'span_name', matchValue: 'heartbeat', matchOperation: 'exact_match' },
43
+ * { fieldName: 'instrumentation_scope_name', matchValue: 'internal', matchOperation: 'starts_with' },
44
+ * ];
45
+ * provider.addSpanProcessor(new FilterableBatchSpanProcessor(exporter, filters));
46
+ */
47
+ declare class FilterableBatchSpanProcessor extends BatchSpanProcessor {
48
+ private readonly _filters;
49
+ /**
50
+ * Create a new FilterableBatchSpanProcessor.
51
+ *
52
+ * @param exporter - The underlying SpanExporter to use for exporting spans.
53
+ * @param filters - An array of rules for excluding spans from export.
54
+ */
55
+ constructor(exporter: SpanExporter, filters: SpanProcessingExcludeRule[]);
56
+ /**
57
+ * Called when a span ends. If the span matches any exclude rule, it is dropped and not exported.
58
+ *
59
+ * @param span - The ReadableSpan that has ended.
60
+ */
61
+ onEnd(span: ReadableSpan): void;
62
+ }
63
+
64
+ export { FilterableBatchSpanProcessor as F, type SpanProcessingExcludeRule as S };