langwatch 0.3.0-prerelease.1 → 0.3.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 (184) hide show
  1. package/dist/chunk-4BZATFKJ.mjs +181 -0
  2. package/dist/chunk-4BZATFKJ.mjs.map +1 -0
  3. package/dist/chunk-76KNOWLS.js +39 -0
  4. package/dist/chunk-76KNOWLS.js.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-OM7VY3XT.mjs.map +1 -0
  19. package/dist/chunk-PCQVQ7SB.js +45 -0
  20. package/dist/chunk-PCQVQ7SB.js.map +1 -0
  21. package/dist/chunk-PMBEK6YE.mjs +424 -0
  22. package/dist/chunk-PMBEK6YE.mjs.map +1 -0
  23. package/dist/chunk-PR3JDWC3.mjs +50 -0
  24. package/dist/chunk-PR3JDWC3.mjs.map +1 -0
  25. package/dist/chunk-PTJ6AAI7.js +360 -0
  26. package/dist/chunk-PTJ6AAI7.js.map +1 -0
  27. package/dist/chunk-QEWDG5QE.mjs +45 -0
  28. package/dist/chunk-QEWDG5QE.mjs.map +1 -0
  29. package/dist/chunk-SVJ7SCGB.js +424 -0
  30. package/dist/chunk-SVJ7SCGB.js.map +1 -0
  31. package/dist/chunk-VJSOCNPA.js +181 -0
  32. package/dist/chunk-VJSOCNPA.js.map +1 -0
  33. package/dist/chunk-X62YT4WB.mjs +39 -0
  34. package/dist/chunk-X62YT4WB.mjs.map +1 -0
  35. package/dist/chunk-Z5J5UI5E.mjs +360 -0
  36. package/dist/chunk-Z5J5UI5E.mjs.map +1 -0
  37. package/dist/client-B2HqIKg6.d.ts +51 -0
  38. package/dist/client-XyCqclCi.d.mts +51 -0
  39. package/dist/client-browser.d.mts +8 -0
  40. package/dist/client-browser.d.ts +8 -0
  41. package/dist/client-browser.js +83 -0
  42. package/dist/client-browser.js.map +1 -0
  43. package/dist/client-browser.mjs +83 -0
  44. package/dist/client-browser.mjs.map +1 -0
  45. package/dist/client-node.d.mts +8 -0
  46. package/dist/client-node.d.ts +8 -0
  47. package/dist/client-node.js +90 -0
  48. package/dist/client-node.js.map +1 -0
  49. package/dist/client-node.mjs +90 -0
  50. package/dist/client-node.mjs.map +1 -0
  51. package/dist/evaluation/index.d.mts +897 -0
  52. package/dist/evaluation/index.d.ts +897 -0
  53. package/dist/evaluation/index.js +13 -0
  54. package/dist/evaluation/index.js.map +1 -0
  55. package/dist/evaluation/index.mjs +13 -0
  56. package/dist/evaluation/index.mjs.map +1 -0
  57. package/dist/filterable-batch-span-processor-zO5kcjBY.d.mts +64 -0
  58. package/dist/filterable-batch-span-processor-zO5kcjBY.d.ts +64 -0
  59. package/dist/index.d.mts +48 -0
  60. package/{src/observability/exporters/langwatch-exporter.ts → dist/index.d.ts} +13 -18
  61. package/dist/index.js +30 -0
  62. package/dist/index.js.map +1 -0
  63. package/dist/index.mjs +30 -0
  64. package/dist/index.mjs.map +1 -0
  65. package/dist/observability/index.d.mts +260 -0
  66. package/dist/observability/index.d.ts +260 -0
  67. package/dist/observability/index.js +20 -0
  68. package/dist/observability/index.js.map +1 -0
  69. package/dist/observability/index.mjs +20 -0
  70. package/dist/observability/index.mjs.map +1 -0
  71. package/dist/observability/instrumentation/langchain/index.d.mts +40 -0
  72. package/dist/observability/instrumentation/langchain/index.d.ts +40 -0
  73. package/dist/observability/instrumentation/langchain/index.js +666 -0
  74. package/dist/observability/instrumentation/langchain/index.js.map +1 -0
  75. package/dist/observability/instrumentation/langchain/index.mjs +666 -0
  76. package/dist/observability/instrumentation/langchain/index.mjs.map +1 -0
  77. package/dist/prompt/index.d.mts +10 -0
  78. package/dist/prompt/index.d.ts +10 -0
  79. package/dist/prompt/index.js +18 -0
  80. package/dist/prompt/index.js.map +1 -0
  81. package/dist/prompt/index.mjs +18 -0
  82. package/dist/prompt/index.mjs.map +1 -0
  83. package/dist/prompt-BXJWdbQp.d.mts +1967 -0
  84. package/dist/prompt-BXJWdbQp.d.ts +1967 -0
  85. package/dist/record-evaluation-CmxMXa-3.d.mts +25 -0
  86. package/dist/record-evaluation-CmxMXa-3.d.ts +25 -0
  87. package/dist/trace-D-bZOuqb.d.mts +622 -0
  88. package/dist/trace-G2312klE.d.ts +622 -0
  89. package/package.json +9 -4
  90. package/.editorconfig +0 -16
  91. package/.eslintrc.cjs +0 -37
  92. package/copy-types.sh +0 -28
  93. package/examples/langchain/.env.example +0 -2
  94. package/examples/langchain/README.md +0 -42
  95. package/examples/langchain/package-lock.json +0 -2930
  96. package/examples/langchain/package.json +0 -27
  97. package/examples/langchain/src/cli-markdown.d.ts +0 -137
  98. package/examples/langchain/src/index.ts +0 -109
  99. package/examples/langchain/tsconfig.json +0 -25
  100. package/examples/langgraph/.env.example +0 -2
  101. package/examples/langgraph/README.md +0 -42
  102. package/examples/langgraph/package-lock.json +0 -3031
  103. package/examples/langgraph/package.json +0 -28
  104. package/examples/langgraph/src/cli-markdown.d.ts +0 -137
  105. package/examples/langgraph/src/index.ts +0 -196
  106. package/examples/langgraph/tsconfig.json +0 -25
  107. package/examples/mastra/.env.example +0 -2
  108. package/examples/mastra/README.md +0 -57
  109. package/examples/mastra/package-lock.json +0 -5296
  110. package/examples/mastra/package.json +0 -32
  111. package/examples/mastra/src/cli-markdown.d.ts +0 -137
  112. package/examples/mastra/src/index.ts +0 -120
  113. package/examples/mastra/src/mastra/agents/weather-agent.ts +0 -30
  114. package/examples/mastra/src/mastra/index.ts +0 -21
  115. package/examples/mastra/src/mastra/tools/weather-tool.ts +0 -102
  116. package/examples/mastra/tsconfig.json +0 -25
  117. package/examples/vercel-ai/.env.example +0 -2
  118. package/examples/vercel-ai/README.md +0 -38
  119. package/examples/vercel-ai/package-lock.json +0 -2571
  120. package/examples/vercel-ai/package.json +0 -27
  121. package/examples/vercel-ai/src/cli-markdown.d.ts +0 -137
  122. package/examples/vercel-ai/src/index.ts +0 -110
  123. package/examples/vercel-ai/src/instrumentation.ts +0 -9
  124. package/examples/vercel-ai/tsconfig.json +0 -25
  125. package/src/__tests__/client-browser.test.ts +0 -92
  126. package/src/__tests__/client-node.test.ts +0 -76
  127. package/src/__tests__/client.test.ts +0 -71
  128. package/src/__tests__/integration/client-browser.test.ts +0 -46
  129. package/src/__tests__/integration/client-node.test.ts +0 -46
  130. package/src/client-browser.ts +0 -70
  131. package/src/client-node.ts +0 -82
  132. package/src/client-shared.ts +0 -72
  133. package/src/client.ts +0 -119
  134. package/src/evaluation/__tests__/record-evaluation.test.ts +0 -112
  135. package/src/evaluation/__tests__/run-evaluation.test.ts +0 -171
  136. package/src/evaluation/index.ts +0 -2
  137. package/src/evaluation/record-evaluation.ts +0 -101
  138. package/src/evaluation/run-evaluation.ts +0 -133
  139. package/src/evaluation/tracer.ts +0 -3
  140. package/src/evaluation/types.ts +0 -23
  141. package/src/index.ts +0 -13
  142. package/src/internal/api/__tests__/errors.test.ts +0 -98
  143. package/src/internal/api/client.ts +0 -30
  144. package/src/internal/api/errors.ts +0 -32
  145. package/src/internal/generated/openapi/.gitkeep +0 -0
  146. package/src/internal/generated/types/.gitkeep +0 -0
  147. package/src/observability/__tests__/integration/base.test.ts +0 -74
  148. package/src/observability/__tests__/integration/browser-setup-ordering.test.ts +0 -60
  149. package/src/observability/__tests__/integration/complex-nested-spans.test.ts +0 -29
  150. package/src/observability/__tests__/integration/error-handling.test.ts +0 -24
  151. package/src/observability/__tests__/integration/langwatch-disabled-otel.test.ts +0 -24
  152. package/src/observability/__tests__/integration/langwatch-first-then-vercel.test.ts +0 -24
  153. package/src/observability/__tests__/integration/multiple-setup-attempts.test.ts +0 -27
  154. package/src/observability/__tests__/integration/otel-ordering.test.ts +0 -27
  155. package/src/observability/__tests__/integration/vercel-configurations.test.ts +0 -20
  156. package/src/observability/__tests__/integration/vercel-first-then-langwatch.test.ts +0 -27
  157. package/src/observability/__tests__/span.test.ts +0 -214
  158. package/src/observability/__tests__/trace.test.ts +0 -180
  159. package/src/observability/exporters/index.ts +0 -1
  160. package/src/observability/index.ts +0 -4
  161. package/src/observability/instrumentation/langchain/__tests__/integration/langchain-chatbot.test.ts +0 -112
  162. package/src/observability/instrumentation/langchain/__tests__/langchain.test.ts +0 -284
  163. package/src/observability/instrumentation/langchain/index.ts +0 -624
  164. package/src/observability/processors/__tests__/filterable-batch-span-exporter.test.ts +0 -98
  165. package/src/observability/processors/filterable-batch-span-processor.ts +0 -99
  166. package/src/observability/processors/index.ts +0 -1
  167. package/src/observability/semconv/attributes.ts +0 -185
  168. package/src/observability/semconv/events.ts +0 -42
  169. package/src/observability/semconv/index.ts +0 -16
  170. package/src/observability/semconv/values.ts +0 -159
  171. package/src/observability/span.ts +0 -728
  172. package/src/observability/trace.ts +0 -301
  173. package/src/prompt/__tests__/prompt.test.ts +0 -139
  174. package/src/prompt/get-prompt-version.ts +0 -49
  175. package/src/prompt/get-prompt.ts +0 -44
  176. package/src/prompt/index.ts +0 -3
  177. package/src/prompt/prompt.ts +0 -133
  178. package/src/prompt/service.ts +0 -221
  179. package/src/prompt/tracer.ts +0 -3
  180. package/src/prompt/types.ts +0 -0
  181. package/ts-to-zod.config.js +0 -35
  182. package/tsconfig.json +0 -26
  183. package/tsup.config.ts +0 -20
  184. package/vitest.config.ts +0 -9
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/observability/instrumentation/langchain/index.js","../../../../src/observability/instrumentation/langchain/index.ts","../../../../src/internal/generated/types/tracer.generated.ts"],"names":["content"],"mappings":"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","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/observability/instrumentation/langchain/index.js","sourcesContent":[null,"import type { AgentAction, AgentFinish } from \"@langchain/core/agents\";\nimport { BaseCallbackHandler } from \"@langchain/core/callbacks/base\";\nimport { type DocumentInterface } from \"@langchain/core/documents\";\nimport type { Serialized } from \"@langchain/core/load/serializable\";\nimport {\n AIMessage,\n AIMessageChunk,\n FunctionMessage,\n FunctionMessageChunk,\n HumanMessage,\n HumanMessageChunk,\n SystemMessage,\n SystemMessageChunk,\n ToolMessage,\n ToolMessageChunk,\n mapChatMessagesToStoredMessages,\n type BaseMessage,\n type StoredMessage,\n} from \"@langchain/core/messages\";\nimport type { ChatGeneration, LLMResult } from \"@langchain/core/outputs\";\nimport type { ChainValues } from \"@langchain/core/utils/types\";\nimport { getLangWatchTracer } from \"../../trace\";\nimport type { LangWatchSpan } from \"../../span\";\nimport { context, trace, SpanStatusCode, Attributes } from \"@opentelemetry/api\";\nimport { chatMessageSchema } from \"../../../internal/generated/types/tracer.generated\";\nimport {\n canAutomaticallyCaptureInput,\n canAutomaticallyCaptureOutput,\n} from \"../../../client\";\nimport * as intSemconv from \"../../semconv\";\nimport { z } from \"zod\";\n\nexport class LangWatchCallbackHandler extends BaseCallbackHandler {\n name = \"LangWatchCallbackHandler\";\n tracer = getLangWatchTracer(\"langwatch.instrumentation.langchain\");\n spans: Record<string, LangWatchSpan | undefined> = {};\n\n constructor() {\n super();\n }\n\n private getParentContext(parentRunId?: string): any {\n if (parentRunId && this.spans[parentRunId]) {\n return trace.setSpan(context.active(), this.spans[parentRunId]);\n }\n\n return context.active();\n }\n\n private getSpan(runId: string): LangWatchSpan | undefined {\n return this.spans[runId];\n }\n\n async handleLLMStart(\n llm: Serialized,\n prompts: string[],\n runId: string,\n parentRunId?: string | undefined,\n extraParams?: Record<string, unknown> | undefined,\n _tags?: string[] | undefined,\n metadata?: Record<string, unknown> | undefined,\n name?: string,\n ): Promise<void> {\n const parentContext = this.getParentContext(parentRunId);\n const span = this.tracer.startSpan(\n name ?? llm.id?.[llm.id.length - 1]?.toString() ?? \"llm\",\n {},\n parentContext,\n );\n\n span.setType(\"llm\");\n\n if (canAutomaticallyCaptureInput()) {\n span.setInput(prompts);\n }\n\n if (_tags) {\n span.setAttribute(intSemconv.ATTR_LANGWATCH_LANGCHAIN_RUN_TAGS, _tags);\n }\n if (extraParams) {\n span.setAttributes(\n Object.fromEntries(\n Object.entries(extraParams).map(([key, value]) => [\n [`${intSemconv.ATTR_LANGWATCH_LANGCHAIN_RUN_EXTRA_PARAMS}.${key}`],\n wrapNonScalarValues(value),\n ]),\n ),\n );\n }\n if (metadata) {\n if (metadata.ls_model_name) {\n span.setRequestModel(metadata.ls_model_name as string);\n metadata.ls_model_name = void 0;\n }\n\n span.setAttributes(\n Object.fromEntries(\n Object.entries(metadata).map(([key, value]) => [\n [`${intSemconv.ATTR_LANGWATCH_LANGCHAIN_RUN_METADATA}.${key}`],\n wrapNonScalarValues(value),\n ]),\n ),\n );\n }\n this.spans[runId] = span;\n }\n\n async handleChatModelStart(\n llm: Serialized,\n messages: BaseMessage[][],\n runId: string,\n parentRunId?: string | undefined,\n extraParams?: Record<string, unknown> | undefined,\n _tags?: string[] | undefined,\n metadata?: Record<string, unknown> | undefined,\n name?: string,\n ): Promise<void> {\n const parentContext = this.getParentContext(parentRunId);\n const span = this.tracer.startSpan(\n name ?? llm.id?.[llm.id.length - 1]?.toString() ?? \"chat_model\",\n {},\n parentContext,\n );\n\n span.setType(\"llm\");\n\n if (canAutomaticallyCaptureInput()) {\n span.setInput(messages.flatMap(convertFromLangChainMessages));\n }\n\n if (_tags) {\n span.setAttribute(intSemconv.ATTR_LANGWATCH_LANGCHAIN_RUN_TAGS, _tags);\n }\n if (extraParams) {\n span.setAttributes(\n Object.fromEntries(\n Object.entries(extraParams).map(([key, value]) => [\n [`${intSemconv.ATTR_LANGWATCH_LANGCHAIN_RUN_EXTRA_PARAMS}.${key}`],\n wrapNonScalarValues(value),\n ]),\n ),\n );\n }\n if (metadata) {\n if (metadata.ls_model_name) {\n span.setRequestModel(metadata.ls_model_name as string);\n metadata.ls_model_name = void 0;\n }\n span.setAttributes(\n Object.fromEntries(\n Object.entries(metadata).map(([key, value]) => [\n [`${intSemconv.ATTR_LANGWATCH_LANGCHAIN_RUN_METADATA}.${key}`],\n wrapNonScalarValues(value),\n ]),\n ),\n );\n }\n\n this.spans[runId] = span;\n }\n\n async handleLLMEnd(\n response: LLMResult,\n runId: string,\n _parentRunId?: string | undefined,\n ): Promise<void> {\n const span = this.getSpan(runId);\n if (!span) return;\n const outputs: unknown[] = [];\n for (const generation of response.generations) {\n for (const generation_ of generation) {\n if (\"message\" in generation_ && generation_.message) {\n outputs.push(\n convertFromLangChainMessages([\n (generation_ as ChatGeneration).message,\n ]),\n );\n } else if (\"text\" in generation_) {\n outputs.push(generation_.text);\n } else {\n outputs.push(JSON.stringify(generation_));\n }\n }\n }\n const output = outputs.length === 1 ? outputs[0] : outputs;\n\n if (canAutomaticallyCaptureOutput()) {\n span.setOutput(output);\n }\n\n addLangChainEvent(span, \"handleLLMEnd\", runId, _parentRunId);\n span.end();\n this.spans[runId] = void 0;\n }\n\n async handleLLMError(\n err: Error,\n runId: string,\n _parentRunId?: string | undefined,\n ): Promise<void> {\n const span = this.getSpan(runId);\n if (!span) return;\n\n addLangChainEvent(span, \"handleLLMError\", runId, _parentRunId);\n\n span.recordException(err);\n span.setStatus({ code: SpanStatusCode.ERROR, message: err.message });\n span.end();\n this.spans[runId] = void 0;\n }\n\n async handleChainStart(\n chain: Serialized,\n inputs: ChainValues,\n runId: string,\n parentRunId?: string | undefined,\n _tags?: string[] | undefined,\n _metadata?: Record<string, unknown> | undefined,\n _runType?: string,\n name?: string,\n ): Promise<void> {\n const parentContext = this.getParentContext(parentRunId);\n const span = this.tracer.startSpan(\n name ?? chain.id?.[chain.id.length - 1]?.toString() ?? \"chain\",\n {},\n parentContext,\n );\n span.setType(\"chain\");\n\n if (canAutomaticallyCaptureInput()) {\n span.setInput(inputs);\n }\n\n if (_tags) {\n span.setAttribute(intSemconv.ATTR_LANGWATCH_LANGCHAIN_RUN_TAGS, _tags);\n }\n if (_metadata) {\n span.setAttributes(\n Object.fromEntries(\n Object.entries(_metadata).map(([key, value]) => [\n [`${intSemconv.ATTR_LANGWATCH_LANGCHAIN_RUN_METADATA}.${key}`],\n wrapNonScalarValues(value),\n ]),\n ),\n );\n }\n if (_runType) {\n span.setAttribute(intSemconv.ATTR_LANGWATCH_LANGCHAIN_RUN_TYPE, _runType);\n }\n\n this.spans[runId] = span;\n }\n\n async handleChainEnd(\n output: ChainValues,\n runId: string,\n _parentRunId?: string | undefined,\n ): Promise<void> {\n const span = this.getSpan(runId);\n if (!span) return;\n\n addLangChainEvent(span, \"handleChainEnd\", runId, _parentRunId);\n span.setOutput(output);\n span.end();\n this.spans[runId] = void 0;\n }\n\n async handleChainError(\n err: Error,\n runId: string,\n _parentRunId?: string | undefined,\n _tags?: string[] | undefined,\n _kwargs?: { inputs?: Record<string, unknown> | undefined } | undefined,\n ): Promise<void> {\n const span = this.getSpan(runId);\n if (!span) return;\n\n addLangChainEvent(span, \"handleChainError\", runId, _parentRunId);\n span.recordException(err);\n span.setStatus({ code: SpanStatusCode.ERROR, message: err.message });\n span.end();\n\n this.spans[runId] = void 0;\n }\n\n async handleToolStart(\n tool: Serialized,\n input: string,\n runId: string,\n parentRunId?: string | undefined,\n _tags?: string[] | undefined,\n _metadata?: Record<string, unknown> | undefined,\n name?: string,\n ): Promise<void> {\n const parentContext = this.getParentContext(parentRunId);\n const span = this.tracer.startSpan(\n name ?? tool.id?.[tool.id.length - 1]?.toString() ?? \"tool\",\n {},\n parentContext,\n );\n span.setType(\"tool\");\n\n if (canAutomaticallyCaptureInput()) {\n span.setInputString(input);\n }\n\n span.setAttributes({\n [intSemconv.ATTR_LANGWATCH_LANGCHAIN_RUN_ID]: runId,\n [intSemconv.ATTR_LANGWATCH_LANGCHAIN_RUN_PARENT_ID]: parentRunId,\n });\n\n if (_tags) {\n span.setAttribute(intSemconv.ATTR_LANGWATCH_LANGCHAIN_RUN_TAGS, _tags);\n }\n if (_metadata) {\n span.setAttributes(\n Object.fromEntries(\n Object.entries(_metadata).map(([key, value]) => [\n [`${intSemconv.ATTR_LANGWATCH_LANGCHAIN_RUN_METADATA}.${key}`],\n wrapNonScalarValues(value),\n ]),\n ),\n );\n }\n this.spans[runId] = span;\n }\n\n async handleToolEnd(\n output: string,\n runId: string,\n _parentRunId?: string | undefined,\n ): Promise<void> {\n const span = this.getSpan(runId);\n if (!span) return;\n if (canAutomaticallyCaptureOutput()) {\n span.setOutputString(output);\n }\n\n addLangChainEvent(span, \"handleToolEnd\", runId, _parentRunId);\n\n span.end();\n this.spans[runId] = void 0;\n }\n\n async handleToolError(\n err: Error,\n runId: string,\n _parentRunId?: string | undefined,\n _tags?: string[] | undefined,\n ): Promise<void> {\n const span = this.getSpan(runId);\n if (!span) return;\n\n addLangChainEvent(span, \"handleToolError\", runId, _parentRunId, _tags);\n\n span.recordException(err);\n span.setStatus({ code: SpanStatusCode.ERROR, message: err.message });\n span.end();\n this.spans[runId] = void 0;\n }\n\n async handleRetrieverStart(\n retriever: Serialized,\n query: string,\n runId: string,\n parentRunId?: string | undefined,\n _tags?: string[] | undefined,\n _metadata?: Record<string, unknown> | undefined,\n name?: string | undefined,\n ) {\n const parentContext = this.getParentContext(parentRunId);\n const span = this.tracer.startSpan(\n name ??\n retriever.id?.[retriever.id.length - 1]?.toString() ??\n \"retriever\",\n {},\n parentContext,\n );\n span.setType(\"rag\");\n\n if (canAutomaticallyCaptureInput()) {\n span.setInputString(query);\n }\n if (_tags) {\n span.setAttribute(intSemconv.ATTR_LANGWATCH_LANGCHAIN_RUN_TAGS, _tags);\n }\n if (_metadata) {\n span.setAttributes(\n Object.fromEntries(\n Object.entries(_metadata).map(([key, value]) => [\n [`${intSemconv.ATTR_LANGWATCH_LANGCHAIN_RUN_METADATA}.${key}`],\n wrapNonScalarValues(value),\n ]),\n ),\n );\n }\n\n span.setAttributes({\n [intSemconv.ATTR_LANGWATCH_LANGCHAIN_RUN_ID]: runId,\n [intSemconv.ATTR_LANGWATCH_LANGCHAIN_RUN_PARENT_ID]: parentRunId,\n });\n\n this.spans[runId] = span;\n }\n\n async handleRetrieverEnd(\n documents: DocumentInterface<Record<string, any>>[],\n runId: string,\n _parentRunId?: string | undefined,\n _tags?: string[] | undefined,\n ) {\n const span = this.getSpan(runId);\n if (!span) return;\n if (canAutomaticallyCaptureOutput()) {\n span.setOutput(documents);\n }\n\n addLangChainEvent(span, \"handleRetrieverEnd\", runId, _parentRunId, _tags);\n\n span.setRAGContexts(\n documents.map((document) => ({\n document_id: document.metadata.id,\n chunk_id: document.metadata.chunk_id,\n content: canAutomaticallyCaptureInput() ? document.pageContent : \"\",\n })),\n );\n\n span.end();\n this.spans[runId] = void 0;\n }\n\n async handleRetrieverError(\n err: Error,\n runId: string,\n _parentRunId?: string | undefined,\n _tags?: string[] | undefined,\n ) {\n const span = this.getSpan(runId);\n if (!span) return;\n\n addLangChainEvent(span, \"handleRetrieverError\", runId, _parentRunId, _tags);\n\n span.recordException(err);\n span.setStatus({ code: SpanStatusCode.ERROR, message: err.message });\n span.end();\n this.spans[runId] = void 0;\n }\n\n async handleAgentAction(\n _action: AgentAction,\n runId: string,\n _parentRunId?: string | undefined,\n _tags?: string[] | undefined,\n ): Promise<void> {\n const span = this.getSpan(runId);\n if (!span) return;\n\n addLangChainEvent(span, \"handleAgentAction\", runId, _parentRunId, _tags);\n span.setType(\"agent\");\n }\n\n async handleAgentEnd(\n action: AgentFinish,\n runId: string,\n _parentRunId?: string | undefined,\n _tags?: string[] | undefined,\n ): Promise<void> {\n const span = this.getSpan(runId);\n if (!span) return;\n\n addLangChainEvent(span, \"handleAgentEnd\", runId, _parentRunId, _tags);\n\n if (canAutomaticallyCaptureOutput()) {\n span.setOutput(action.returnValues);\n }\n\n span.end();\n this.spans[runId] = void 0;\n }\n}\n\nexport const convertFromLangChainMessages = (\n messages: BaseMessage[],\n): any[] => {\n const chatMessages: any[] = [];\n for (const message of messages) {\n chatMessages.push(\n convertFromLangChainMessage(message as BaseMessage & { id?: string[] }),\n );\n }\n return chatMessages;\n};\n\nconst convertFromLangChainMessage = (\n message: BaseMessage & { id?: string[] },\n): any => {\n let role: string = \"user\";\n const message_: (BaseMessage | StoredMessage) & {\n id?: string[];\n type?: string;\n } = message.lc_serializable\n ? mapChatMessagesToStoredMessages([message])[0]!\n : message;\n if (\n message_ instanceof HumanMessage ||\n message_ instanceof HumanMessageChunk ||\n message_.id?.[message_.id.length - 1] === \"HumanMessage\" ||\n message_.id?.[message_.id.length - 1] === \"HumanMessageChunk\" ||\n message_.type === \"human\"\n ) {\n role = \"user\";\n } else if (\n message instanceof AIMessage ||\n message instanceof AIMessageChunk ||\n message.id?.[message.id.length - 1] === \"AIMessage\" ||\n message.id?.[message.id.length - 1] === \"AIMessageChunk\" ||\n message_.type === \"ai\"\n ) {\n role = \"assistant\";\n } else if (\n message instanceof SystemMessage ||\n message instanceof SystemMessageChunk ||\n message.id?.[message.id.length - 1] === \"SystemMessage\" ||\n message.id?.[message.id.length - 1] === \"SystemMessageChunk\" ||\n message_.type === \"system\"\n ) {\n role = \"system\";\n } else if (\n message instanceof FunctionMessage ||\n message instanceof FunctionMessageChunk ||\n message.id?.[message.id.length - 1] === \"FunctionMessage\" ||\n message.id?.[message.id.length - 1] === \"FunctionMessageChunk\" ||\n message_.type === \"function\"\n ) {\n role = \"function\";\n } else if (\n message instanceof ToolMessage ||\n message instanceof ToolMessageChunk ||\n message.id?.[message.id.length - 1] === \"ToolMessage\" ||\n message.id?.[message.id.length - 1] === \"ToolMessageChunk\" ||\n message_.type === \"tool\"\n ) {\n role = \"tool\";\n }\n const content =\n typeof message.content === \"string\"\n ? message.content\n : message.content.map((content: any) =>\n content.type === \"text\"\n ? { type: \"text\", text: content.text }\n : content.type == \"image_url\"\n ? { type: \"image_url\", image_url: content.image_url }\n : { type: \"text\", text: JSON.stringify(content) },\n );\n const functionCall = message.additional_kwargs as any;\n return {\n role,\n content,\n ...(functionCall &&\n typeof functionCall === \"object\" &&\n Object.keys(functionCall).length > 0\n ? { function_call: functionCall }\n : {}),\n };\n};\n\nfunction wrapNonScalarValues(value: unknown): string | number | boolean | undefined {\n if (value === void 0) {\n return void 0;\n }\n if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n return value;\n }\n\n const chatMessages = z.array(chatMessageSchema).safeParse(value);\n if (Array.isArray(value) && chatMessages.success) {\n return JSON.stringify({\n type: \"chat_messages\",\n value: chatMessages.data,\n });\n }\n\n try {\n JSON.stringify(value);\n\n return JSON.stringify({\n type: \"json\",\n value: value as object,\n });\n } catch (e) {\n return JSON.stringify({\n type: \"raw\",\n value: value as any,\n });\n }\n}\n\nfunction addLangChainEvent(\n span: LangWatchSpan,\n eventName: string,\n runId: string,\n parentRunId: string | undefined,\n tags?: string[] | undefined,\n metadata?: Record<string, unknown> | undefined,\n attributes?: Attributes,\n) {\n const attrs: Attributes = {\n [intSemconv.ATTR_LANGWATCH_LANGCHAIN_RUN_ID]: runId,\n [intSemconv.ATTR_LANGWATCH_LANGCHAIN_RUN_PARENT_ID]: parentRunId,\n [intSemconv.ATTR_LANGWATCH_LANGCHAIN_EVENT_NAME]: eventName,\n ...attributes,\n };\n\n if (tags) {\n attrs[intSemconv.ATTR_LANGWATCH_LANGCHAIN_TAGS] = tags;\n }\n if (metadata) {\n Object.entries(metadata).forEach(([key, value]) => {\n attrs[key] = wrapNonScalarValues(value);\n });\n }\n\n span.addEvent(intSemconv.EVNT_LANGWATCH_LANGCHAIN_CALLBACK, attrs);\n}\n","// Generated by ts-to-zod\nimport { z } from \"zod\";\nimport { type SpanInputOutput } from \"./tracer\";\n\nconst chatRoleSchema = z.union([\n z.literal(\"system\"),\n z.literal(\"user\"),\n z.literal(\"assistant\"),\n z.literal(\"function\"),\n z.literal(\"tool\"),\n z.literal(\"unknown\"),\n]);\n\nconst functionCallSchema = z.object({\n name: z.string().optional(),\n arguments: z.string().optional(),\n});\n\nconst toolCallSchema = z.object({\n id: z.string(),\n type: z.string(),\n function: functionCallSchema,\n});\n\nexport const rAGChunkSchema = z.object({\n document_id: z.string().optional().nullable(),\n chunk_id: z.string().optional().nullable(),\n content: z.union([z.string(), z.record(z.string(), z.any()), z.array(z.any())]),\n});\n\nexport const chatRichContentSchema = z.union([\n z.object({\n type: z.literal(\"text\"),\n text: z.string().optional(),\n }),\n z.object({\n text: z.string(),\n }),\n z.object({\n type: z.literal(\"image_url\"),\n image_url: z\n .object({\n url: z.string(),\n detail: z\n .union([z.literal(\"auto\"), z.literal(\"low\"), z.literal(\"high\")])\n .optional(),\n })\n .optional(),\n }),\n z.object({\n type: z.literal(\"tool_call\"),\n toolName: z.string().optional(),\n toolCallId: z.string().optional(),\n args: z.string().optional(),\n }),\n z.object({\n type: z.literal(\"tool_result\"),\n toolName: z.string().optional(),\n toolCallId: z.string().optional(),\n result: z.any().optional(),\n }),\n]);\n\nexport const chatMessageSchema = z.object({\n role: chatRoleSchema.optional(),\n content: z\n .union([z.string(), z.array(chatRichContentSchema)])\n .optional()\n .nullable(),\n function_call: functionCallSchema.optional().nullable(),\n tool_calls: z.array(toolCallSchema).optional().nullable(),\n tool_call_id: z.string().optional().nullable(),\n name: z.string().optional().nullable(),\n});\n\nconst typedValueTextSchema = z.object({\n type: z.literal(\"text\"),\n value: z.string(),\n});\n\nconst typedValueRawSchema = z.object({\n type: z.literal(\"raw\"),\n value: z.string(),\n});\n\nconst jSONSerializableSchema = z\n .union([\n z.string(),\n z.number(),\n z.boolean(),\n z.record(z.string(), z.any()),\n z.array(z.any()),\n ])\n .nullable();\n\nexport const typedValueJsonSchema = z.object({\n type: z.literal(\"json\"),\n value: jSONSerializableSchema,\n});\n\nexport const moneySchema = z.object({\n currency: z.string(),\n amount: z.number(),\n});\n\nexport const evaluationResultSchema = z.object({\n status: z.union([\n z.literal(\"processed\"),\n z.literal(\"skipped\"),\n z.literal(\"error\"),\n ]),\n passed: z.boolean().optional().nullable(),\n score: z.number().optional().nullable(),\n label: z.string().optional().nullable(),\n details: z.string().optional().nullable(),\n cost: moneySchema.optional().nullable(),\n});\n\nexport const typedValueGuardrailResultSchema = z.object({\n type: z.literal(\"guardrail_result\"),\n value: evaluationResultSchema,\n});\n\nexport const typedValueEvaluationResultSchema = z.object({\n type: z.literal(\"evaluation_result\"),\n value: evaluationResultSchema,\n});\n\nexport const typedValueChatMessagesSchema = z.object({\n type: z.literal(\"chat_messages\"),\n value: z.array(chatMessageSchema),\n});\n\nexport const spanInputOutputSchema: z.ZodSchema<SpanInputOutput> = z.lazy(() =>\n z.union([\n typedValueTextSchema,\n typedValueChatMessagesSchema,\n typedValueGuardrailResultSchema,\n typedValueEvaluationResultSchema,\n typedValueJsonSchema,\n typedValueRawSchema,\n z.object({\n type: z.literal(\"list\"),\n value: z.array(spanInputOutputSchema),\n }),\n ]),\n);\n\nexport const errorCaptureSchema = z.object({\n has_error: z.literal(true),\n message: z.string(),\n stacktrace: z.array(z.string()),\n});\n\nexport const spanMetricsSchema = z.object({\n prompt_tokens: z.number().optional().nullable(),\n completion_tokens: z.number().optional().nullable(),\n tokens_estimated: z.boolean().optional().nullable(),\n cost: z.number().optional().nullable(),\n});\n\nexport const spanTimestampsSchema = z.object({\n ignore_timestamps_on_write: z.boolean().optional().nullable(),\n started_at: z.number(),\n first_token_at: z.number().optional().nullable(),\n finished_at: z.number(),\n});\n\nexport const spanTypesSchema = z.union([\n z.literal(\"span\"),\n z.literal(\"llm\"),\n z.literal(\"chain\"),\n z.literal(\"tool\"),\n z.literal(\"agent\"),\n z.literal(\"rag\"),\n z.literal(\"guardrail\"),\n z.literal(\"evaluation\"),\n z.literal(\"workflow\"),\n z.literal(\"component\"),\n z.literal(\"module\"),\n z.literal(\"server\"),\n z.literal(\"client\"),\n z.literal(\"producer\"),\n z.literal(\"consumer\"),\n z.literal(\"task\"),\n z.literal(\"unknown\"),\n]);\n\nconst spanInputOutputValidatorSchema = spanInputOutputSchema.and(\n z.object({\n value: z.any(),\n }),\n);\n\nexport const traceInputSchema = z.object({\n value: z.string(),\n satisfaction_score: z.number().optional(),\n});\n\nexport const traceOutputSchema = z.object({\n value: z.string(),\n});\n\nconst primitiveTypeSchema = z\n .union([z.string(), z.number(), z.boolean(), z.undefined()])\n .nullable();\n\nexport const reservedTraceMetadataSchema = z.object({\n thread_id: z.string().optional().nullable(),\n user_id: z.string().optional().nullable(),\n customer_id: z.string().optional().nullable(),\n labels: z.array(z.string()).optional().nullable(),\n topic_id: z.string().optional().nullable(),\n subtopic_id: z.string().optional().nullable(),\n sdk_name: z.string().optional().nullable(),\n sdk_version: z.string().optional().nullable(),\n sdk_language: z.string().optional().nullable(),\n telemetry_sdk_language: z.string().optional().nullable(),\n telemetry_sdk_name: z.string().optional().nullable(),\n telemetry_sdk_version: z.string().optional().nullable(),\n prompt_ids: z.array(z.string()).optional().nullable(),\n prompt_version_ids: z.array(z.string()).optional().nullable(),\n});\n\nconst evaluationStatusSchema = z.union([\n z.literal(\"scheduled\"),\n z.literal(\"in_progress\"),\n z.literal(\"error\"),\n z.literal(\"skipped\"),\n z.literal(\"processed\"),\n]);\n\nexport const evaluationSchema = z.object({\n evaluation_id: z.string(),\n evaluator_id: z.string(),\n span_id: z.string().optional().nullable(),\n name: z.string(),\n type: z.string().optional().nullable(),\n is_guardrail: z.boolean().optional().nullable(),\n status: evaluationStatusSchema,\n passed: z.boolean().optional().nullable(),\n score: z.number().optional().nullable(),\n label: z.string().optional().nullable(),\n details: z.string().optional().nullable(),\n error: errorCaptureSchema.optional().nullable(),\n retries: z.number().optional().nullable(),\n timestamps: z.object({\n ignore_timestamps_on_write: z.boolean().optional().nullable(),\n inserted_at: z.number().optional().nullable(),\n started_at: z.number().optional().nullable(),\n finished_at: z.number().optional().nullable(),\n updated_at: z.number().optional().nullable(),\n }),\n});\n\nexport const elasticSearchEvaluationSchema = evaluationSchema;\n\nexport const rESTEvaluationSchema = evaluationSchema\n .omit({\n evaluation_id: true,\n evaluator_id: true,\n status: true,\n timestamps: true,\n retries: true,\n })\n .and(\n z.object({\n evaluation_id: z.string().optional().nullable(),\n evaluator_id: z.string().optional().nullable(),\n status: z\n .union([\n z.literal(\"processed\"),\n z.literal(\"skipped\"),\n z.literal(\"error\"),\n ])\n .optional()\n .nullable(),\n timestamps: z\n .object({\n started_at: z.number().optional().nullable(),\n finished_at: z.number().optional().nullable(),\n })\n .optional()\n .nullable(),\n }),\n );\n\nexport const contextsSchema = z.object({\n traceId: z.string(),\n contexts: z.array(rAGChunkSchema),\n});\n"]}