langwatch 0.3.0 → 0.3.1

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 (131) hide show
  1. package/dist/add-LBBS4I3H.js +114 -0
  2. package/dist/add-LBBS4I3H.js.map +1 -0
  3. package/dist/add-RD3ZKFAT.mjs +114 -0
  4. package/dist/add-RD3ZKFAT.mjs.map +1 -0
  5. package/dist/chunk-2JU376G7.js +242 -0
  6. package/dist/chunk-2JU376G7.js.map +1 -0
  7. package/dist/chunk-2ODBGSBI.js +4 -0
  8. package/dist/{chunk-G3AUABT7.js.map → chunk-2ODBGSBI.js.map} +1 -1
  9. package/dist/chunk-3GKPQB4R.mjs +242 -0
  10. package/dist/chunk-3GKPQB4R.mjs.map +1 -0
  11. package/dist/chunk-4NRLVT2U.mjs +35 -0
  12. package/dist/chunk-4NRLVT2U.mjs.map +1 -0
  13. package/dist/{chunk-SVJ7SCGB.js → chunk-52GXX3MA.js} +33 -31
  14. package/dist/chunk-52GXX3MA.js.map +1 -0
  15. package/dist/chunk-5NC5ILKA.js +94 -0
  16. package/dist/chunk-5NC5ILKA.js.map +1 -0
  17. package/dist/{chunk-76KNOWLS.js → chunk-6I4EA43Y.js} +2 -2
  18. package/dist/chunk-6I4EA43Y.js.map +1 -0
  19. package/dist/chunk-DHJKJVY7.mjs +20 -0
  20. package/dist/chunk-DHJKJVY7.mjs.map +1 -0
  21. package/dist/{chunk-VJSOCNPA.js → chunk-DTEKFQ4U.js} +6 -28
  22. package/dist/chunk-DTEKFQ4U.js.map +1 -0
  23. package/dist/chunk-E7UE2MPD.mjs +93 -0
  24. package/dist/chunk-E7UE2MPD.mjs.map +1 -0
  25. package/dist/chunk-F6E4XQQU.js +20 -0
  26. package/dist/chunk-F6E4XQQU.js.map +1 -0
  27. package/dist/chunk-FJLK5CFL.js +37 -0
  28. package/dist/chunk-FJLK5CFL.js.map +1 -0
  29. package/dist/{chunk-Z5J5UI5E.mjs → chunk-GJSEBQXF.mjs} +139 -107
  30. package/dist/chunk-GJSEBQXF.mjs.map +1 -0
  31. package/dist/chunk-HA3LI5IK.js +35 -0
  32. package/dist/chunk-HA3LI5IK.js.map +1 -0
  33. package/dist/chunk-HJU67C7H.js +93 -0
  34. package/dist/chunk-HJU67C7H.js.map +1 -0
  35. package/dist/{chunk-PMBEK6YE.mjs → chunk-J7ICRUU4.mjs} +5 -3
  36. package/dist/{chunk-PMBEK6YE.mjs.map → chunk-J7ICRUU4.mjs.map} +1 -1
  37. package/dist/{chunk-HPC6Z7J4.js → chunk-PWZBLTHR.js} +3 -3
  38. package/dist/{chunk-HPC6Z7J4.js.map → chunk-PWZBLTHR.js.map} +1 -1
  39. package/dist/chunk-SMXXAVMB.js +100 -0
  40. package/dist/chunk-SMXXAVMB.js.map +1 -0
  41. package/dist/{chunk-CSC3CMIT.mjs → chunk-STV4ZVNA.mjs} +2 -2
  42. package/dist/chunk-T5AZMMVS.mjs +94 -0
  43. package/dist/chunk-T5AZMMVS.mjs.map +1 -0
  44. package/dist/{chunk-4BZATFKJ.mjs → chunk-UU33HCCZ.mjs} +4 -26
  45. package/dist/{chunk-4BZATFKJ.mjs.map → chunk-UU33HCCZ.mjs.map} +1 -1
  46. package/dist/{chunk-PTJ6AAI7.js → chunk-VGHLQXKB.js} +138 -106
  47. package/dist/chunk-VGHLQXKB.js.map +1 -0
  48. package/dist/chunk-W5ZEP3CI.mjs +100 -0
  49. package/dist/chunk-W5ZEP3CI.mjs.map +1 -0
  50. package/dist/chunk-Y666BJA5.mjs +4 -0
  51. package/dist/{chunk-X62YT4WB.mjs → chunk-YFUZF7JM.mjs} +2 -2
  52. package/dist/chunk-YFUZF7JM.mjs.map +1 -0
  53. package/dist/chunk-YN4436PK.mjs +37 -0
  54. package/dist/chunk-YN4436PK.mjs.map +1 -0
  55. package/dist/cli/index.d.mts +1 -0
  56. package/dist/cli/index.d.ts +1 -0
  57. package/dist/cli/index.js +106 -0
  58. package/dist/cli/index.js.map +1 -0
  59. package/dist/cli/index.mjs +106 -0
  60. package/dist/cli/index.mjs.map +1 -0
  61. package/dist/client-browser.js +12 -10
  62. package/dist/client-browser.js.map +1 -1
  63. package/dist/client-browser.mjs +5 -3
  64. package/dist/client-browser.mjs.map +1 -1
  65. package/dist/client-node.js +11 -9
  66. package/dist/client-node.js.map +1 -1
  67. package/dist/client-node.mjs +7 -5
  68. package/dist/client-node.mjs.map +1 -1
  69. package/dist/create-G5MTGOOH.js +70 -0
  70. package/dist/create-G5MTGOOH.js.map +1 -0
  71. package/dist/create-QUZYBMQB.mjs +70 -0
  72. package/dist/create-QUZYBMQB.mjs.map +1 -0
  73. package/dist/evaluation/index.js +5 -4
  74. package/dist/evaluation/index.js.map +1 -1
  75. package/dist/evaluation/index.mjs +4 -3
  76. package/dist/index.d.mts +2 -2
  77. package/dist/index.d.ts +2 -2
  78. package/dist/index.js +10 -7
  79. package/dist/index.js.map +1 -1
  80. package/dist/index.mjs +9 -6
  81. package/dist/init-H67RW22E.mjs +16 -0
  82. package/dist/init-H67RW22E.mjs.map +1 -0
  83. package/dist/init-XU2JFY6N.js +16 -0
  84. package/dist/init-XU2JFY6N.js.map +1 -0
  85. package/dist/list-7NPSX2E4.mjs +136 -0
  86. package/dist/list-7NPSX2E4.mjs.map +1 -0
  87. package/dist/list-ZXFLAF52.js +136 -0
  88. package/dist/list-ZXFLAF52.js.map +1 -0
  89. package/dist/login-76NQIHKR.js +110 -0
  90. package/dist/login-76NQIHKR.js.map +1 -0
  91. package/dist/login-EK4WVOI2.mjs +110 -0
  92. package/dist/login-EK4WVOI2.mjs.map +1 -0
  93. package/dist/observability/index.d.mts +3 -3
  94. package/dist/observability/index.d.ts +3 -3
  95. package/dist/observability/index.js +5 -4
  96. package/dist/observability/index.js.map +1 -1
  97. package/dist/observability/index.mjs +4 -3
  98. package/dist/observability/instrumentation/langchain/index.d.mts +2 -2
  99. package/dist/observability/instrumentation/langchain/index.d.ts +2 -2
  100. package/dist/observability/instrumentation/langchain/index.js +29 -27
  101. package/dist/observability/instrumentation/langchain/index.js.map +1 -1
  102. package/dist/observability/instrumentation/langchain/index.mjs +5 -3
  103. package/dist/observability/instrumentation/langchain/index.mjs.map +1 -1
  104. package/dist/prompt/index.d.mts +2 -2
  105. package/dist/prompt/index.d.ts +2 -2
  106. package/dist/prompt/index.js +8 -4
  107. package/dist/prompt/index.js.map +1 -1
  108. package/dist/prompt/index.mjs +10 -6
  109. package/dist/{prompt-BXJWdbQp.d.mts → prompt-D-jpMrLS.d.mts} +245 -0
  110. package/dist/{prompt-BXJWdbQp.d.ts → prompt-D-jpMrLS.d.ts} +245 -0
  111. package/dist/remove-SDJYEPAY.mjs +106 -0
  112. package/dist/remove-SDJYEPAY.mjs.map +1 -0
  113. package/dist/remove-XBNGIVMR.js +106 -0
  114. package/dist/remove-XBNGIVMR.js.map +1 -0
  115. package/dist/sync-EISKGPTL.js +403 -0
  116. package/dist/sync-EISKGPTL.js.map +1 -0
  117. package/dist/sync-ST2IWXSB.mjs +403 -0
  118. package/dist/sync-ST2IWXSB.mjs.map +1 -0
  119. package/dist/{trace-G2312klE.d.ts → trace-CqaKo0kZ.d.ts} +1 -1
  120. package/dist/{trace-D-bZOuqb.d.mts → trace-DtVc5GhF.d.mts} +1 -1
  121. package/package.json +13 -2
  122. package/dist/chunk-76KNOWLS.js.map +0 -1
  123. package/dist/chunk-G3AUABT7.js +0 -4
  124. package/dist/chunk-OM7VY3XT.mjs +0 -4
  125. package/dist/chunk-PTJ6AAI7.js.map +0 -1
  126. package/dist/chunk-SVJ7SCGB.js.map +0 -1
  127. package/dist/chunk-VJSOCNPA.js.map +0 -1
  128. package/dist/chunk-X62YT4WB.mjs.map +0 -1
  129. package/dist/chunk-Z5J5UI5E.mjs.map +0 -1
  130. /package/dist/{chunk-CSC3CMIT.mjs.map → chunk-STV4ZVNA.mjs.map} +0 -0
  131. /package/dist/{chunk-OM7VY3XT.mjs.map → chunk-Y666BJA5.mjs.map} +0 -0
@@ -1 +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"]}
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"]}
@@ -4,7 +4,7 @@ import {
4
4
  } from "../../../chunk-QEWDG5QE.mjs";
5
5
  import {
6
6
  getLangWatchTracer
7
- } from "../../../chunk-PMBEK6YE.mjs";
7
+ } from "../../../chunk-J7ICRUU4.mjs";
8
8
  import {
9
9
  ATTR_LANGWATCH_LANGCHAIN_EVENT_NAME,
10
10
  ATTR_LANGWATCH_LANGCHAIN_RUN_EXTRA_PARAMS,
@@ -14,9 +14,11 @@ import {
14
14
  ATTR_LANGWATCH_LANGCHAIN_RUN_TAGS,
15
15
  ATTR_LANGWATCH_LANGCHAIN_RUN_TYPE,
16
16
  ATTR_LANGWATCH_LANGCHAIN_TAGS,
17
- EVNT_LANGWATCH_LANGCHAIN_CALLBACK,
17
+ EVNT_LANGWATCH_LANGCHAIN_CALLBACK
18
+ } from "../../../chunk-UU33HCCZ.mjs";
19
+ import {
18
20
  __spreadValues
19
- } from "../../../chunk-4BZATFKJ.mjs";
21
+ } from "../../../chunk-YN4436PK.mjs";
20
22
 
21
23
  // src/observability/instrumentation/langchain/index.ts
22
24
  import { BaseCallbackHandler } from "@langchain/core/callbacks/base";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/observability/instrumentation/langchain/index.ts","../../../../src/internal/generated/types/tracer.generated.ts"],"sourcesContent":["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"],"mappings":"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","names":["z","content","z"]}
1
+ {"version":3,"sources":["../../../../src/observability/instrumentation/langchain/index.ts","../../../../src/internal/generated/types/tracer.generated.ts"],"sourcesContent":["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"],"mappings":"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","names":["z","content","z"]}
@@ -1,5 +1,5 @@
1
- import { T as TemplateVariables, C as CompiledPrompt, P as Prompt } from '../prompt-BXJWdbQp.mjs';
2
- export { a as PromptCompilationError } from '../prompt-BXJWdbQp.mjs';
1
+ import { T as TemplateVariables, C as CompiledPrompt, P as Prompt } from '../prompt-D-jpMrLS.mjs';
2
+ export { a as PromptCompilationError } from '../prompt-D-jpMrLS.mjs';
3
3
 
4
4
  declare function getPrompt(id: string, variables: TemplateVariables): Promise<CompiledPrompt>;
5
5
  declare function getPrompt(id: string): Promise<Prompt>;
@@ -1,5 +1,5 @@
1
- import { T as TemplateVariables, C as CompiledPrompt, P as Prompt } from '../prompt-BXJWdbQp.js';
2
- export { a as PromptCompilationError } from '../prompt-BXJWdbQp.js';
1
+ import { T as TemplateVariables, C as CompiledPrompt, P as Prompt } from '../prompt-D-jpMrLS.js';
2
+ export { a as PromptCompilationError } from '../prompt-D-jpMrLS.js';
3
3
 
4
4
  declare function getPrompt(id: string, variables: TemplateVariables): Promise<CompiledPrompt>;
5
5
  declare function getPrompt(id: string): Promise<Prompt>;
@@ -1,18 +1,22 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
+ var _chunk5NC5ILKAjs = require('../chunk-5NC5ILKA.js');
4
5
 
5
6
 
6
7
 
7
- var _chunkPTJ6AAI7js = require('../chunk-PTJ6AAI7.js');
8
+
9
+ var _chunkVGHLQXKBjs = require('../chunk-VGHLQXKB.js');
10
+ require('../chunk-SMXXAVMB.js');
8
11
  require('../chunk-PCQVQ7SB.js');
9
- require('../chunk-SVJ7SCGB.js');
10
- require('../chunk-VJSOCNPA.js');
12
+ require('../chunk-52GXX3MA.js');
13
+ require('../chunk-DTEKFQ4U.js');
14
+ require('../chunk-FJLK5CFL.js');
11
15
 
12
16
 
13
17
 
14
18
 
15
19
 
16
20
 
17
- exports.CompiledPrompt = _chunkPTJ6AAI7js.CompiledPrompt; exports.Prompt = _chunkPTJ6AAI7js.Prompt; exports.PromptCompilationError = _chunkPTJ6AAI7js.PromptCompilationError; exports.getPrompt = _chunkPTJ6AAI7js.getPrompt; exports.getPromptVersion = _chunkPTJ6AAI7js.getPromptVersion;
21
+ exports.CompiledPrompt = _chunkVGHLQXKBjs.CompiledPrompt; exports.Prompt = _chunkVGHLQXKBjs.Prompt; exports.PromptCompilationError = _chunkVGHLQXKBjs.PromptCompilationError; exports.getPrompt = _chunk5NC5ILKAjs.getPrompt; exports.getPromptVersion = _chunk5NC5ILKAjs.getPromptVersion;
18
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/prompt/index.js"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACF,2RAAC","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/prompt/index.js"}
1
+ {"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/prompt/index.js"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,uDAA6B;AAC7B;AACE;AACA;AACA;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACF,2RAAC","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/prompt/index.js"}
@@ -1,13 +1,17 @@
1
1
  import {
2
- CompiledPrompt,
3
- Prompt,
4
- PromptCompilationError,
5
2
  getPrompt,
6
3
  getPromptVersion
7
- } from "../chunk-Z5J5UI5E.mjs";
4
+ } from "../chunk-T5AZMMVS.mjs";
5
+ import {
6
+ CompiledPrompt,
7
+ Prompt,
8
+ PromptCompilationError
9
+ } from "../chunk-GJSEBQXF.mjs";
10
+ import "../chunk-W5ZEP3CI.mjs";
8
11
  import "../chunk-QEWDG5QE.mjs";
9
- import "../chunk-PMBEK6YE.mjs";
10
- import "../chunk-4BZATFKJ.mjs";
12
+ import "../chunk-J7ICRUU4.mjs";
13
+ import "../chunk-UU33HCCZ.mjs";
14
+ import "../chunk-YN4436PK.mjs";
11
15
  export {
12
16
  CompiledPrompt,
13
17
  Prompt,