@langchain/classic 1.0.0-alpha.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -0
- package/LICENSE +6 -6
- package/README.md +174 -66
- package/dist/agents/chat/outputParser.d.cts +2 -2
- package/dist/agents/chat/outputParser.d.cts.map +1 -1
- package/dist/agents/initialize.d.ts +2 -2
- package/dist/agents/initialize.d.ts.map +1 -1
- package/dist/agents/mrkl/outputParser.d.cts +1 -1
- package/dist/agents/mrkl/outputParser.d.cts.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/tool.d.cts +8 -2
- package/dist/agents/toolkits/conversational_retrieval/tool.d.cts.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/tool.d.ts +8 -2
- package/dist/agents/toolkits/conversational_retrieval/tool.d.ts.map +1 -1
- package/dist/chains/question_answering/load.d.cts +2 -2
- package/dist/chains/question_answering/load.d.cts.map +1 -1
- package/dist/chains/question_answering/load.d.ts +2 -2
- package/dist/chains/question_answering/load.d.ts.map +1 -1
- package/dist/chains/summarization/load.d.cts +2 -2
- package/dist/chains/summarization/load.d.cts.map +1 -1
- package/dist/evaluation/agents/trajectory.d.cts.map +1 -1
- package/dist/evaluation/agents/trajectory.d.ts.map +1 -1
- package/dist/evaluation/comparison/pairwise.d.ts.map +1 -1
- package/dist/evaluation/criteria/criteria.d.cts.map +1 -1
- package/dist/evaluation/criteria/criteria.d.ts.map +1 -1
- package/dist/hub/base.cjs +1 -1
- package/dist/hub/base.js +1 -1
- package/dist/load/import_map.cjs +1 -1
- package/dist/load/import_map.js +1 -1
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/client.cjs +74 -18
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/client.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/client.js +75 -19
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/client.js.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/env.cjs +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/env.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/env.js +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/env.js.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/experimental/otel/constants.cjs +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/experimental/otel/constants.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/experimental/otel/constants.js +1 -1
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/experimental/otel/constants.cjs.map → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/experimental/otel/constants.js.map} +1 -1
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/experimental/otel/translator.cjs +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/experimental/otel/translator.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/experimental/otel/translator.js +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/experimental/otel/translator.js.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/index.cjs +2 -2
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/index.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/index.js +2 -2
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/index.js.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/run_trees.cjs +7 -5
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/run_trees.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/run_trees.js +7 -5
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/run_trees.js.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/singletons/constants.cjs +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/singletons/constants.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/singletons/constants.js +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/singletons/constants.js.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/singletons/fetch.cjs +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/singletons/fetch.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/singletons/fetch.js +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/singletons/fetch.js.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/singletons/otel.cjs +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/singletons/otel.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/singletons/otel.js +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/singletons/otel.js.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/utils/_uuid.cjs +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/_uuid.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/utils/_uuid.js +1 -1
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/utils/_uuid.cjs.map → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/_uuid.js.map} +1 -1
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/utils/async_caller.cjs +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/async_caller.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/utils/async_caller.js +1 -1
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/utils/async_caller.cjs.map → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/async_caller.js.map} +1 -1
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/utils/env.cjs +19 -23
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/env.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/utils/env.js +19 -23
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/env.js.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/utils/error.cjs +16 -3
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/error.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/utils/error.js +16 -3
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/error.js.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/utils/fast-safe-stringify/index.cjs +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/fast-safe-stringify/index.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/utils/fast-safe-stringify/index.js +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/fast-safe-stringify/index.js.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/utils/messages.cjs +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/messages.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/utils/messages.js +1 -1
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/utils/messages.cjs.map → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/messages.js.map} +1 -1
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/utils/project.cjs +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/project.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/utils/project.js +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/project.js.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/utils/prompts.cjs +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/prompts.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/utils/prompts.js +1 -1
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/utils/prompts.cjs.map → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/prompts.js.map} +1 -1
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/utils/warn.cjs +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/warn.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/dist/utils/warn.js +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/warn.js.map +1 -0
- package/dist/output_parsers/structured.d.cts +7 -1
- package/dist/output_parsers/structured.d.cts.map +1 -1
- package/dist/output_parsers/structured.d.ts +7 -1
- package/dist/output_parsers/structured.d.ts.map +1 -1
- package/dist/smith/runner_utils.cjs +3 -3
- package/dist/smith/runner_utils.js +3 -3
- package/dist/tools/retriever.d.cts +12 -1
- package/dist/tools/retriever.d.cts.map +1 -1
- package/dist/tools/retriever.d.ts +12 -1
- package/dist/tools/retriever.d.ts.map +1 -1
- package/package.json +213 -213
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/client.cjs.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/client.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/env.cjs.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/env.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/experimental/otel/constants.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/experimental/otel/translator.cjs.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/experimental/otel/translator.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/index.cjs.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/index.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/run_trees.cjs.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/run_trees.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/singletons/constants.cjs.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/singletons/constants.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/singletons/fetch.cjs.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/singletons/fetch.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/singletons/otel.cjs.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/singletons/otel.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/utils/_uuid.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/utils/async_caller.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/utils/env.cjs.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/utils/env.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/utils/error.cjs.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/utils/error.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/utils/fast-safe-stringify/index.cjs.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/utils/fast-safe-stringify/index.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/utils/messages.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/utils/project.cjs.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/utils/project.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/utils/prompts.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/utils/warn.cjs.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/utils/warn.js.map +0 -1
- /package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/index.cjs +0 -0
- /package/dist/node_modules/.pnpm/{langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_ → langsmith@0.3.74_@opentelemetry_api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_}/node_modules/langsmith/index.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"translator.cjs","names":["getOTELTrace"],"sources":["../../../../../../../../../../../node_modules/.pnpm/langsmith@0.3.64_@opentelemetry+api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/experimental/otel/translator.js"],"sourcesContent":["import * as constants from \"./constants.js\";\nimport { getOTELTrace } from \"../../singletons/otel.js\";\nconst WELL_KNOWN_OPERATION_NAMES = {\n llm: \"chat\",\n tool: \"execute_tool\",\n retriever: \"embeddings\",\n embedding: \"embeddings\",\n prompt: \"chat\",\n};\nfunction getOperationName(runType) {\n return WELL_KNOWN_OPERATION_NAMES[runType] || runType;\n}\nexport class LangSmithToOTELTranslator {\n constructor() {\n Object.defineProperty(this, \"spans\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new Map()\n });\n }\n exportBatch(operations, otelContextMap) {\n for (const op of operations) {\n try {\n if (!op.run) {\n continue;\n }\n if (op.operation === \"post\") {\n const span = this.createSpanForRun(op, op.run, otelContextMap.get(op.id));\n if (span && !op.run.end_time) {\n this.spans.set(op.id, span);\n }\n }\n else {\n this.updateSpanForRun(op, op.run);\n }\n }\n catch (e) {\n console.error(`Error processing operation ${op.id}:`, e);\n }\n }\n }\n createSpanForRun(op, runInfo, otelContext) {\n const activeSpan = otelContext && getOTELTrace().getSpan(otelContext);\n if (!activeSpan) {\n return;\n }\n try {\n return this.finishSpanSetup(activeSpan, runInfo, op);\n }\n catch (e) {\n console.error(`Failed to create span for run ${op.id}:`, e);\n return undefined;\n }\n }\n finishSpanSetup(span, runInfo, op) {\n // Set all attributes\n this.setSpanAttributes(span, runInfo, op);\n // Set status based on error\n if (runInfo.error) {\n span.setStatus({ code: 2 }); // ERROR status\n span.recordException(new Error(runInfo.error));\n }\n else {\n span.setStatus({ code: 1 }); // OK status\n }\n // End the span if end_time is present\n if (runInfo.end_time) {\n span.end(new Date(runInfo.end_time));\n }\n return span;\n }\n updateSpanForRun(op, runInfo) {\n try {\n const span = this.spans.get(op.id);\n if (!span) {\n console.debug(`No span found for run ${op.id} during update`);\n return;\n }\n // Update attributes\n this.setSpanAttributes(span, runInfo, op);\n // Update status based on error\n if (runInfo.error) {\n span.setStatus({ code: 2 }); // ERROR status\n span.recordException(new Error(runInfo.error));\n }\n else {\n span.setStatus({ code: 1 }); // OK status\n }\n // End the span if end_time is present\n const endTime = runInfo.end_time;\n if (endTime) {\n span.end(new Date(endTime));\n this.spans.delete(op.id);\n }\n }\n catch (e) {\n console.error(`Failed to update span for run ${op.id}:`, e);\n }\n }\n extractModelName(runInfo) {\n // Try to get model name from metadata\n if (runInfo.extra?.metadata) {\n const metadata = runInfo.extra.metadata;\n // First check for ls_model_name in metadata\n if (metadata.ls_model_name) {\n return metadata.ls_model_name;\n }\n // Then check invocation_params for model info\n if (metadata.invocation_params) {\n const invocationParams = metadata.invocation_params;\n if (invocationParams.model) {\n return invocationParams.model;\n }\n else if (invocationParams.model_name) {\n return invocationParams.model_name;\n }\n }\n }\n return;\n }\n setSpanAttributes(span, runInfo, op) {\n if (\"run_type\" in runInfo && runInfo.run_type) {\n span.setAttribute(constants.LANGSMITH_RUN_TYPE, runInfo.run_type);\n // Set GenAI attributes according to OTEL semantic conventions\n const operationName = getOperationName(runInfo.run_type || \"chain\");\n span.setAttribute(constants.GEN_AI_OPERATION_NAME, operationName);\n }\n if (\"name\" in runInfo && runInfo.name) {\n span.setAttribute(constants.LANGSMITH_NAME, runInfo.name);\n }\n if (\"session_id\" in runInfo && runInfo.session_id) {\n span.setAttribute(constants.LANGSMITH_SESSION_ID, runInfo.session_id);\n }\n if (\"session_name\" in runInfo && runInfo.session_name) {\n span.setAttribute(constants.LANGSMITH_SESSION_NAME, runInfo.session_name);\n }\n // Set gen_ai.system\n this.setGenAiSystem(span, runInfo);\n // Set model name if available\n const modelName = this.extractModelName(runInfo);\n if (modelName) {\n span.setAttribute(constants.GEN_AI_REQUEST_MODEL, modelName);\n }\n // Set token usage information\n if (\"prompt_tokens\" in runInfo &&\n typeof runInfo.prompt_tokens === \"number\") {\n span.setAttribute(constants.GEN_AI_USAGE_INPUT_TOKENS, runInfo.prompt_tokens);\n }\n if (\"completion_tokens\" in runInfo &&\n typeof runInfo.completion_tokens === \"number\") {\n span.setAttribute(constants.GEN_AI_USAGE_OUTPUT_TOKENS, runInfo.completion_tokens);\n }\n if (\"total_tokens\" in runInfo && typeof runInfo.total_tokens === \"number\") {\n span.setAttribute(constants.GEN_AI_USAGE_TOTAL_TOKENS, runInfo.total_tokens);\n }\n // Set other parameters from invocation_params\n this.setInvocationParameters(span, runInfo);\n // Set metadata and tags if available\n const metadata = runInfo.extra?.metadata || {};\n for (const [key, value] of Object.entries(metadata)) {\n if (value !== null && value !== undefined) {\n span.setAttribute(`${constants.LANGSMITH_METADATA}.${key}`, String(value));\n }\n }\n const tags = runInfo.tags;\n if (tags && Array.isArray(tags)) {\n span.setAttribute(constants.LANGSMITH_TAGS, tags.join(\", \"));\n }\n else if (tags) {\n span.setAttribute(constants.LANGSMITH_TAGS, String(tags));\n }\n // Support additional serialized attributes, if present\n if (\"serialized\" in runInfo && typeof runInfo.serialized === \"object\") {\n const serialized = runInfo.serialized;\n if (serialized.name) {\n span.setAttribute(constants.GEN_AI_SERIALIZED_NAME, String(serialized.name));\n }\n if (serialized.signature) {\n span.setAttribute(constants.GEN_AI_SERIALIZED_SIGNATURE, String(serialized.signature));\n }\n if (serialized.doc) {\n span.setAttribute(constants.GEN_AI_SERIALIZED_DOC, String(serialized.doc));\n }\n }\n // Set inputs/outputs if available\n this.setIOAttributes(span, op);\n }\n setGenAiSystem(span, runInfo) {\n // Default to \"langchain\" if we can't determine the system\n let system = \"langchain\";\n // Extract model name to determine the system\n const modelName = this.extractModelName(runInfo);\n if (modelName) {\n const modelLower = modelName.toLowerCase();\n if (modelLower.includes(\"anthropic\") || modelLower.startsWith(\"claude\")) {\n system = \"anthropic\";\n }\n else if (modelLower.includes(\"bedrock\")) {\n system = \"aws.bedrock\";\n }\n else if (modelLower.includes(\"azure\") &&\n modelLower.includes(\"openai\")) {\n system = \"az.ai.openai\";\n }\n else if (modelLower.includes(\"azure\") &&\n modelLower.includes(\"inference\")) {\n system = \"az.ai.inference\";\n }\n else if (modelLower.includes(\"cohere\")) {\n system = \"cohere\";\n }\n else if (modelLower.includes(\"deepseek\")) {\n system = \"deepseek\";\n }\n else if (modelLower.includes(\"gemini\")) {\n system = \"gemini\";\n }\n else if (modelLower.includes(\"groq\")) {\n system = \"groq\";\n }\n else if (modelLower.includes(\"watson\") || modelLower.includes(\"ibm\")) {\n system = \"ibm.watsonx.ai\";\n }\n else if (modelLower.includes(\"mistral\")) {\n system = \"mistral_ai\";\n }\n else if (modelLower.includes(\"gpt\") || modelLower.includes(\"openai\")) {\n system = \"openai\";\n }\n else if (modelLower.includes(\"perplexity\") ||\n modelLower.includes(\"sonar\")) {\n system = \"perplexity\";\n }\n else if (modelLower.includes(\"vertex\")) {\n system = \"vertex_ai\";\n }\n else if (modelLower.includes(\"xai\") || modelLower.includes(\"grok\")) {\n system = \"xai\";\n }\n }\n span.setAttribute(constants.GEN_AI_SYSTEM, system);\n }\n setInvocationParameters(span, runInfo) {\n if (!runInfo.extra?.metadata?.invocation_params) {\n return;\n }\n const invocationParams = runInfo.extra.metadata.invocation_params;\n // Set relevant invocation parameters\n if (invocationParams.max_tokens !== undefined) {\n span.setAttribute(constants.GEN_AI_REQUEST_MAX_TOKENS, invocationParams.max_tokens);\n }\n if (invocationParams.temperature !== undefined) {\n span.setAttribute(constants.GEN_AI_REQUEST_TEMPERATURE, invocationParams.temperature);\n }\n if (invocationParams.top_p !== undefined) {\n span.setAttribute(constants.GEN_AI_REQUEST_TOP_P, invocationParams.top_p);\n }\n if (invocationParams.frequency_penalty !== undefined) {\n span.setAttribute(constants.GEN_AI_REQUEST_FREQUENCY_PENALTY, invocationParams.frequency_penalty);\n }\n if (invocationParams.presence_penalty !== undefined) {\n span.setAttribute(constants.GEN_AI_REQUEST_PRESENCE_PENALTY, invocationParams.presence_penalty);\n }\n }\n setIOAttributes(span, op) {\n if (op.run.inputs) {\n try {\n const inputs = op.run.inputs;\n if (typeof inputs === \"object\" && inputs !== null) {\n if (inputs.model && Array.isArray(inputs.messages)) {\n span.setAttribute(constants.GEN_AI_REQUEST_MODEL, inputs.model);\n }\n // Set additional request attributes if available\n if (inputs.stream !== undefined) {\n span.setAttribute(constants.LANGSMITH_REQUEST_STREAMING, inputs.stream);\n }\n if (inputs.extra_headers) {\n span.setAttribute(constants.LANGSMITH_REQUEST_HEADERS, JSON.stringify(inputs.extra_headers));\n }\n if (inputs.extra_query) {\n span.setAttribute(constants.GEN_AI_REQUEST_EXTRA_QUERY, JSON.stringify(inputs.extra_query));\n }\n if (inputs.extra_body) {\n span.setAttribute(constants.GEN_AI_REQUEST_EXTRA_BODY, JSON.stringify(inputs.extra_body));\n }\n }\n span.setAttribute(constants.GENAI_PROMPT, JSON.stringify(inputs));\n }\n catch (e) {\n console.debug(`Failed to process inputs for run ${op.id}`, e);\n }\n }\n if (op.run.outputs) {\n try {\n const outputs = op.run.outputs;\n // Extract token usage from outputs (for LLM runs)\n const tokenUsage = this.getUnifiedRunTokens(outputs);\n if (tokenUsage) {\n span.setAttribute(constants.GEN_AI_USAGE_INPUT_TOKENS, tokenUsage[0]);\n span.setAttribute(constants.GEN_AI_USAGE_OUTPUT_TOKENS, tokenUsage[1]);\n span.setAttribute(constants.GEN_AI_USAGE_TOTAL_TOKENS, tokenUsage[0] + tokenUsage[1]);\n }\n if (outputs && typeof outputs === \"object\") {\n if (outputs.model) {\n span.setAttribute(constants.GEN_AI_RESPONSE_MODEL, String(outputs.model));\n }\n // Extract additional response attributes\n if (outputs.id) {\n span.setAttribute(constants.GEN_AI_RESPONSE_ID, outputs.id);\n }\n if (outputs.choices && Array.isArray(outputs.choices)) {\n const finishReasons = outputs.choices\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .map((choice) => choice.finish_reason)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .filter((reason) => reason)\n .map(String);\n if (finishReasons.length > 0) {\n span.setAttribute(constants.GEN_AI_RESPONSE_FINISH_REASONS, finishReasons.join(\", \"));\n }\n }\n if (outputs.service_tier) {\n span.setAttribute(constants.GEN_AI_RESPONSE_SERVICE_TIER, outputs.service_tier);\n }\n if (outputs.system_fingerprint) {\n span.setAttribute(constants.GEN_AI_RESPONSE_SYSTEM_FINGERPRINT, outputs.system_fingerprint);\n }\n if (outputs.usage_metadata &&\n typeof outputs.usage_metadata === \"object\") {\n const usageMetadata = outputs.usage_metadata;\n if (usageMetadata.input_token_details) {\n span.setAttribute(constants.GEN_AI_USAGE_INPUT_TOKEN_DETAILS, JSON.stringify(usageMetadata.input_token_details));\n }\n if (usageMetadata.output_token_details) {\n span.setAttribute(constants.GEN_AI_USAGE_OUTPUT_TOKEN_DETAILS, JSON.stringify(usageMetadata.output_token_details));\n }\n }\n }\n span.setAttribute(constants.GENAI_COMPLETION, JSON.stringify(outputs));\n }\n catch (e) {\n console.debug(`Failed to process outputs for run ${op.id}`, e);\n }\n }\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n getUnifiedRunTokens(outputs) {\n if (!outputs) {\n return null;\n }\n // Search in non-generations lists\n let tokenUsage = this.extractUnifiedRunTokens(outputs.usage_metadata);\n if (tokenUsage) {\n return tokenUsage;\n }\n // Find if direct kwarg in outputs\n const keys = Object.keys(outputs);\n for (const key of keys) {\n const haystack = outputs[key];\n if (!haystack || typeof haystack !== \"object\") {\n continue;\n }\n tokenUsage = this.extractUnifiedRunTokens(haystack.usage_metadata);\n if (tokenUsage) {\n return tokenUsage;\n }\n if (haystack.lc === 1 &&\n haystack.kwargs &&\n typeof haystack.kwargs === \"object\") {\n tokenUsage = this.extractUnifiedRunTokens(haystack.kwargs.usage_metadata);\n if (tokenUsage) {\n return tokenUsage;\n }\n }\n }\n // Find in generations\n const generations = outputs.generations || [];\n if (!Array.isArray(generations)) {\n return null;\n }\n const flatGenerations = Array.isArray(generations[0])\n ? generations.flat()\n : generations;\n for (const generation of flatGenerations) {\n if (typeof generation === \"object\" &&\n generation.message &&\n typeof generation.message === \"object\" &&\n generation.message.kwargs &&\n typeof generation.message.kwargs === \"object\") {\n tokenUsage = this.extractUnifiedRunTokens(generation.message.kwargs.usage_metadata);\n if (tokenUsage) {\n return tokenUsage;\n }\n }\n }\n return null;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extractUnifiedRunTokens(outputs) {\n if (!outputs || typeof outputs !== \"object\") {\n return null;\n }\n if (typeof outputs.input_tokens !== \"number\" ||\n typeof outputs.output_tokens !== \"number\") {\n return null;\n }\n return [outputs.input_tokens, outputs.output_tokens];\n }\n}\n"],"x_google_ignoreList":[0],"mappings":";;;;AAEA,MAAM,6BAA6B;CAC/B,KAAK;CACL,MAAM;CACN,WAAW;CACX,WAAW;CACX,QAAQ;AACX;AACD,SAAS,iBAAiB,SAAS;AAC/B,QAAO,2BAA2B,YAAY;AACjD;AACD,IAAa,4BAAb,MAAuC;CACnC,cAAc;EACV,OAAO,eAAe,MAAM,SAAS;GACjC,YAAY;GACZ,cAAc;GACd,UAAU;GACV,uBAAO,IAAI;EACd,EAAC;CACL;CACD,YAAY,YAAY,gBAAgB;AACpC,OAAK,MAAM,MAAM,WACb,KAAI;AACA,OAAI,CAAC,GAAG,IACJ;AAEJ,OAAI,GAAG,cAAc,QAAQ;IACzB,MAAM,OAAO,KAAK,iBAAiB,IAAI,GAAG,KAAK,eAAe,IAAI,GAAG,GAAG,CAAC;AACzE,QAAI,QAAQ,CAAC,GAAG,IAAI,UAChB,KAAK,MAAM,IAAI,GAAG,IAAI,KAAK;GAElC,OAEG,KAAK,iBAAiB,IAAI,GAAG,IAAI;EAExC,SACM,GAAG;GACN,QAAQ,MAAM,CAAC,2BAA2B,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE;EAC3D;CAER;CACD,iBAAiB,IAAI,SAAS,aAAa;EACvC,MAAM,aAAa,eAAeA,2BAAc,CAAC,QAAQ,YAAY;AACrE,MAAI,CAAC,WACD;AAEJ,MAAI;AACA,UAAO,KAAK,gBAAgB,YAAY,SAAS,GAAG;EACvD,SACM,GAAG;GACN,QAAQ,MAAM,CAAC,8BAA8B,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE;AAC3D,UAAO;EACV;CACJ;CACD,gBAAgB,MAAM,SAAS,IAAI;EAE/B,KAAK,kBAAkB,MAAM,SAAS,GAAG;AAEzC,MAAI,QAAQ,OAAO;GACf,KAAK,UAAU,EAAE,MAAM,EAAG,EAAC;GAC3B,KAAK,gBAAgB,IAAI,MAAM,QAAQ,OAAO;EACjD,OAEG,KAAK,UAAU,EAAE,MAAM,EAAG,EAAC;AAG/B,MAAI,QAAQ,UACR,KAAK,IAAI,IAAI,KAAK,QAAQ,UAAU;AAExC,SAAO;CACV;CACD,iBAAiB,IAAI,SAAS;AAC1B,MAAI;GACA,MAAM,OAAO,KAAK,MAAM,IAAI,GAAG,GAAG;AAClC,OAAI,CAAC,MAAM;IACP,QAAQ,MAAM,CAAC,sBAAsB,EAAE,GAAG,GAAG,cAAc,CAAC,CAAC;AAC7D;GACH;GAED,KAAK,kBAAkB,MAAM,SAAS,GAAG;AAEzC,OAAI,QAAQ,OAAO;IACf,KAAK,UAAU,EAAE,MAAM,EAAG,EAAC;IAC3B,KAAK,gBAAgB,IAAI,MAAM,QAAQ,OAAO;GACjD,OAEG,KAAK,UAAU,EAAE,MAAM,EAAG,EAAC;GAG/B,MAAM,UAAU,QAAQ;AACxB,OAAI,SAAS;IACT,KAAK,IAAI,IAAI,KAAK,SAAS;IAC3B,KAAK,MAAM,OAAO,GAAG,GAAG;GAC3B;EACJ,SACM,GAAG;GACN,QAAQ,MAAM,CAAC,8BAA8B,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE;EAC9D;CACJ;CACD,iBAAiB,SAAS;AAEtB,MAAI,QAAQ,OAAO,UAAU;GACzB,MAAM,WAAW,QAAQ,MAAM;AAE/B,OAAI,SAAS,cACT,QAAO,SAAS;AAGpB,OAAI,SAAS,mBAAmB;IAC5B,MAAM,mBAAmB,SAAS;AAClC,QAAI,iBAAiB,MACjB,QAAO,iBAAiB;aAEnB,iBAAiB,WACtB,QAAO,iBAAiB;GAE/B;EACJ;CAEJ;CACD,kBAAkB,MAAM,SAAS,IAAI;AACjC,MAAI,cAAc,WAAW,QAAQ,UAAU;GAC3C,KAAK,mDAA2C,QAAQ,SAAS;GAEjE,MAAM,gBAAgB,iBAAiB,QAAQ,YAAY,QAAQ;GACnE,KAAK,sDAA8C,cAAc;EACpE;AACD,MAAI,UAAU,WAAW,QAAQ,MAC7B,KAAK,+CAAuC,QAAQ,KAAK;AAE7D,MAAI,gBAAgB,WAAW,QAAQ,YACnC,KAAK,qDAA6C,QAAQ,WAAW;AAEzE,MAAI,kBAAkB,WAAW,QAAQ,cACrC,KAAK,uDAA+C,QAAQ,aAAa;EAG7E,KAAK,eAAe,MAAM,QAAQ;EAElC,MAAM,YAAY,KAAK,iBAAiB,QAAQ;AAChD,MAAI,WACA,KAAK,qDAA6C,UAAU;AAGhE,MAAI,mBAAmB,WACnB,OAAO,QAAQ,kBAAkB,UACjC,KAAK,0DAAkD,QAAQ,cAAc;AAEjF,MAAI,uBAAuB,WACvB,OAAO,QAAQ,sBAAsB,UACrC,KAAK,2DAAmD,QAAQ,kBAAkB;AAEtF,MAAI,kBAAkB,WAAW,OAAO,QAAQ,iBAAiB,UAC7D,KAAK,0DAAkD,QAAQ,aAAa;EAGhF,KAAK,wBAAwB,MAAM,QAAQ;EAE3C,MAAM,WAAW,QAAQ,OAAO,YAAY,CAAE;AAC9C,OAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,SAAS,CAC/C,KAAI,UAAU,QAAQ,UAAU,QAC5B,KAAK,aAAa,wCAAgC,CAAC,EAAE,KAAK,EAAE,OAAO,MAAM,CAAC;EAGlF,MAAM,OAAO,QAAQ;AACrB,MAAI,QAAQ,MAAM,QAAQ,KAAK,EAC3B,KAAK,+CAAuC,KAAK,KAAK,KAAK,CAAC;WAEvD,MACL,KAAK,+CAAuC,OAAO,KAAK,CAAC;AAG7D,MAAI,gBAAgB,WAAW,OAAO,QAAQ,eAAe,UAAU;GACnE,MAAM,aAAa,QAAQ;AAC3B,OAAI,WAAW,MACX,KAAK,uDAA+C,OAAO,WAAW,KAAK,CAAC;AAEhF,OAAI,WAAW,WACX,KAAK,4DAAoD,OAAO,WAAW,UAAU,CAAC;AAE1F,OAAI,WAAW,KACX,KAAK,sDAA8C,OAAO,WAAW,IAAI,CAAC;EAEjF;EAED,KAAK,gBAAgB,MAAM,GAAG;CACjC;CACD,eAAe,MAAM,SAAS;EAE1B,IAAI,SAAS;EAEb,MAAM,YAAY,KAAK,iBAAiB,QAAQ;AAChD,MAAI,WAAW;GACX,MAAM,aAAa,UAAU,aAAa;AAC1C,OAAI,WAAW,SAAS,YAAY,IAAI,WAAW,WAAW,SAAS,EACnE,SAAS;YAEJ,WAAW,SAAS,UAAU,EACnC,SAAS;YAEJ,WAAW,SAAS,QAAQ,IACjC,WAAW,SAAS,SAAS,EAC7B,SAAS;YAEJ,WAAW,SAAS,QAAQ,IACjC,WAAW,SAAS,YAAY,EAChC,SAAS;YAEJ,WAAW,SAAS,SAAS,EAClC,SAAS;YAEJ,WAAW,SAAS,WAAW,EACpC,SAAS;YAEJ,WAAW,SAAS,SAAS,EAClC,SAAS;YAEJ,WAAW,SAAS,OAAO,EAChC,SAAS;YAEJ,WAAW,SAAS,SAAS,IAAI,WAAW,SAAS,MAAM,EAChE,SAAS;YAEJ,WAAW,SAAS,UAAU,EACnC,SAAS;YAEJ,WAAW,SAAS,MAAM,IAAI,WAAW,SAAS,SAAS,EAChE,SAAS;YAEJ,WAAW,SAAS,aAAa,IACtC,WAAW,SAAS,QAAQ,EAC5B,SAAS;YAEJ,WAAW,SAAS,SAAS,EAClC,SAAS;YAEJ,WAAW,SAAS,MAAM,IAAI,WAAW,SAAS,OAAO,EAC9D,SAAS;EAEhB;EACD,KAAK,8CAAsC,OAAO;CACrD;CACD,wBAAwB,MAAM,SAAS;AACnC,MAAI,CAAC,QAAQ,OAAO,UAAU,kBAC1B;EAEJ,MAAM,mBAAmB,QAAQ,MAAM,SAAS;AAEhD,MAAI,iBAAiB,eAAe,QAChC,KAAK,0DAAkD,iBAAiB,WAAW;AAEvF,MAAI,iBAAiB,gBAAgB,QACjC,KAAK,2DAAmD,iBAAiB,YAAY;AAEzF,MAAI,iBAAiB,UAAU,QAC3B,KAAK,qDAA6C,iBAAiB,MAAM;AAE7E,MAAI,iBAAiB,sBAAsB,QACvC,KAAK,iEAAyD,iBAAiB,kBAAkB;AAErG,MAAI,iBAAiB,qBAAqB,QACtC,KAAK,gEAAwD,iBAAiB,iBAAiB;CAEtG;CACD,gBAAgB,MAAM,IAAI;AACtB,MAAI,GAAG,IAAI,OACP,KAAI;GACA,MAAM,SAAS,GAAG,IAAI;AACtB,OAAI,OAAO,WAAW,YAAY,WAAW,MAAM;AAC/C,QAAI,OAAO,SAAS,MAAM,QAAQ,OAAO,SAAS,EAC9C,KAAK,qDAA6C,OAAO,MAAM;AAGnE,QAAI,OAAO,WAAW,QAClB,KAAK,4DAAoD,OAAO,OAAO;AAE3E,QAAI,OAAO,eACP,KAAK,0DAAkD,KAAK,UAAU,OAAO,cAAc,CAAC;AAEhG,QAAI,OAAO,aACP,KAAK,2DAAmD,KAAK,UAAU,OAAO,YAAY,CAAC;AAE/F,QAAI,OAAO,YACP,KAAK,0DAAkD,KAAK,UAAU,OAAO,WAAW,CAAC;GAEhG;GACD,KAAK,6CAAqC,KAAK,UAAU,OAAO,CAAC;EACpE,SACM,GAAG;GACN,QAAQ,MAAM,CAAC,iCAAiC,EAAE,GAAG,IAAI,EAAE,EAAE;EAChE;AAEL,MAAI,GAAG,IAAI,QACP,KAAI;GACA,MAAM,UAAU,GAAG,IAAI;GAEvB,MAAM,aAAa,KAAK,oBAAoB,QAAQ;AACpD,OAAI,YAAY;IACZ,KAAK,0DAAkD,WAAW,GAAG;IACrE,KAAK,2DAAmD,WAAW,GAAG;IACtE,KAAK,0DAAkD,WAAW,KAAK,WAAW,GAAG;GACxF;AACD,OAAI,WAAW,OAAO,YAAY,UAAU;AACxC,QAAI,QAAQ,OACR,KAAK,sDAA8C,OAAO,QAAQ,MAAM,CAAC;AAG7E,QAAI,QAAQ,IACR,KAAK,mDAA2C,QAAQ,GAAG;AAE/D,QAAI,QAAQ,WAAW,MAAM,QAAQ,QAAQ,QAAQ,EAAE;KACnD,MAAM,gBAAgB,QAAQ,QAEzB,IAAI,CAAC,WAAW,OAAO,cAAc,CAErC,OAAO,CAAC,WAAW,OAAO,CAC1B,IAAI,OAAO;AAChB,SAAI,cAAc,SAAS,GACvB,KAAK,+DAAuD,cAAc,KAAK,KAAK,CAAC;IAE5F;AACD,QAAI,QAAQ,cACR,KAAK,6DAAqD,QAAQ,aAAa;AAEnF,QAAI,QAAQ,oBACR,KAAK,mEAA2D,QAAQ,mBAAmB;AAE/F,QAAI,QAAQ,kBACR,OAAO,QAAQ,mBAAmB,UAAU;KAC5C,MAAM,gBAAgB,QAAQ;AAC9B,SAAI,cAAc,qBACd,KAAK,iEAAyD,KAAK,UAAU,cAAc,oBAAoB,CAAC;AAEpH,SAAI,cAAc,sBACd,KAAK,kEAA0D,KAAK,UAAU,cAAc,qBAAqB,CAAC;IAEzH;GACJ;GACD,KAAK,iDAAyC,KAAK,UAAU,QAAQ,CAAC;EACzE,SACM,GAAG;GACN,QAAQ,MAAM,CAAC,kCAAkC,EAAE,GAAG,IAAI,EAAE,EAAE;EACjE;CAER;CAED,oBAAoB,SAAS;AACzB,MAAI,CAAC,QACD,QAAO;EAGX,IAAI,aAAa,KAAK,wBAAwB,QAAQ,eAAe;AACrE,MAAI,WACA,QAAO;EAGX,MAAM,OAAO,OAAO,KAAK,QAAQ;AACjC,OAAK,MAAM,OAAO,MAAM;GACpB,MAAM,WAAW,QAAQ;AACzB,OAAI,CAAC,YAAY,OAAO,aAAa,SACjC;GAEJ,aAAa,KAAK,wBAAwB,SAAS,eAAe;AAClE,OAAI,WACA,QAAO;AAEX,OAAI,SAAS,OAAO,KAChB,SAAS,UACT,OAAO,SAAS,WAAW,UAAU;IACrC,aAAa,KAAK,wBAAwB,SAAS,OAAO,eAAe;AACzE,QAAI,WACA,QAAO;GAEd;EACJ;EAED,MAAM,cAAc,QAAQ,eAAe,CAAE;AAC7C,MAAI,CAAC,MAAM,QAAQ,YAAY,CAC3B,QAAO;EAEX,MAAM,kBAAkB,MAAM,QAAQ,YAAY,GAAG,GAC/C,YAAY,MAAM,GAClB;AACN,OAAK,MAAM,cAAc,gBACrB,KAAI,OAAO,eAAe,YACtB,WAAW,WACX,OAAO,WAAW,YAAY,YAC9B,WAAW,QAAQ,UACnB,OAAO,WAAW,QAAQ,WAAW,UAAU;GAC/C,aAAa,KAAK,wBAAwB,WAAW,QAAQ,OAAO,eAAe;AACnF,OAAI,WACA,QAAO;EAEd;AAEL,SAAO;CACV;CAED,wBAAwB,SAAS;AAC7B,MAAI,CAAC,WAAW,OAAO,YAAY,SAC/B,QAAO;AAEX,MAAI,OAAO,QAAQ,iBAAiB,YAChC,OAAO,QAAQ,kBAAkB,SACjC,QAAO;AAEX,SAAO,CAAC,QAAQ,cAAc,QAAQ,aAAc;CACvD;AACJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"translator.js","names":[],"sources":["../../../../../../../../../../../node_modules/.pnpm/langsmith@0.3.64_@opentelemetry+api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/experimental/otel/translator.js"],"sourcesContent":["import * as constants from \"./constants.js\";\nimport { getOTELTrace } from \"../../singletons/otel.js\";\nconst WELL_KNOWN_OPERATION_NAMES = {\n llm: \"chat\",\n tool: \"execute_tool\",\n retriever: \"embeddings\",\n embedding: \"embeddings\",\n prompt: \"chat\",\n};\nfunction getOperationName(runType) {\n return WELL_KNOWN_OPERATION_NAMES[runType] || runType;\n}\nexport class LangSmithToOTELTranslator {\n constructor() {\n Object.defineProperty(this, \"spans\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new Map()\n });\n }\n exportBatch(operations, otelContextMap) {\n for (const op of operations) {\n try {\n if (!op.run) {\n continue;\n }\n if (op.operation === \"post\") {\n const span = this.createSpanForRun(op, op.run, otelContextMap.get(op.id));\n if (span && !op.run.end_time) {\n this.spans.set(op.id, span);\n }\n }\n else {\n this.updateSpanForRun(op, op.run);\n }\n }\n catch (e) {\n console.error(`Error processing operation ${op.id}:`, e);\n }\n }\n }\n createSpanForRun(op, runInfo, otelContext) {\n const activeSpan = otelContext && getOTELTrace().getSpan(otelContext);\n if (!activeSpan) {\n return;\n }\n try {\n return this.finishSpanSetup(activeSpan, runInfo, op);\n }\n catch (e) {\n console.error(`Failed to create span for run ${op.id}:`, e);\n return undefined;\n }\n }\n finishSpanSetup(span, runInfo, op) {\n // Set all attributes\n this.setSpanAttributes(span, runInfo, op);\n // Set status based on error\n if (runInfo.error) {\n span.setStatus({ code: 2 }); // ERROR status\n span.recordException(new Error(runInfo.error));\n }\n else {\n span.setStatus({ code: 1 }); // OK status\n }\n // End the span if end_time is present\n if (runInfo.end_time) {\n span.end(new Date(runInfo.end_time));\n }\n return span;\n }\n updateSpanForRun(op, runInfo) {\n try {\n const span = this.spans.get(op.id);\n if (!span) {\n console.debug(`No span found for run ${op.id} during update`);\n return;\n }\n // Update attributes\n this.setSpanAttributes(span, runInfo, op);\n // Update status based on error\n if (runInfo.error) {\n span.setStatus({ code: 2 }); // ERROR status\n span.recordException(new Error(runInfo.error));\n }\n else {\n span.setStatus({ code: 1 }); // OK status\n }\n // End the span if end_time is present\n const endTime = runInfo.end_time;\n if (endTime) {\n span.end(new Date(endTime));\n this.spans.delete(op.id);\n }\n }\n catch (e) {\n console.error(`Failed to update span for run ${op.id}:`, e);\n }\n }\n extractModelName(runInfo) {\n // Try to get model name from metadata\n if (runInfo.extra?.metadata) {\n const metadata = runInfo.extra.metadata;\n // First check for ls_model_name in metadata\n if (metadata.ls_model_name) {\n return metadata.ls_model_name;\n }\n // Then check invocation_params for model info\n if (metadata.invocation_params) {\n const invocationParams = metadata.invocation_params;\n if (invocationParams.model) {\n return invocationParams.model;\n }\n else if (invocationParams.model_name) {\n return invocationParams.model_name;\n }\n }\n }\n return;\n }\n setSpanAttributes(span, runInfo, op) {\n if (\"run_type\" in runInfo && runInfo.run_type) {\n span.setAttribute(constants.LANGSMITH_RUN_TYPE, runInfo.run_type);\n // Set GenAI attributes according to OTEL semantic conventions\n const operationName = getOperationName(runInfo.run_type || \"chain\");\n span.setAttribute(constants.GEN_AI_OPERATION_NAME, operationName);\n }\n if (\"name\" in runInfo && runInfo.name) {\n span.setAttribute(constants.LANGSMITH_NAME, runInfo.name);\n }\n if (\"session_id\" in runInfo && runInfo.session_id) {\n span.setAttribute(constants.LANGSMITH_SESSION_ID, runInfo.session_id);\n }\n if (\"session_name\" in runInfo && runInfo.session_name) {\n span.setAttribute(constants.LANGSMITH_SESSION_NAME, runInfo.session_name);\n }\n // Set gen_ai.system\n this.setGenAiSystem(span, runInfo);\n // Set model name if available\n const modelName = this.extractModelName(runInfo);\n if (modelName) {\n span.setAttribute(constants.GEN_AI_REQUEST_MODEL, modelName);\n }\n // Set token usage information\n if (\"prompt_tokens\" in runInfo &&\n typeof runInfo.prompt_tokens === \"number\") {\n span.setAttribute(constants.GEN_AI_USAGE_INPUT_TOKENS, runInfo.prompt_tokens);\n }\n if (\"completion_tokens\" in runInfo &&\n typeof runInfo.completion_tokens === \"number\") {\n span.setAttribute(constants.GEN_AI_USAGE_OUTPUT_TOKENS, runInfo.completion_tokens);\n }\n if (\"total_tokens\" in runInfo && typeof runInfo.total_tokens === \"number\") {\n span.setAttribute(constants.GEN_AI_USAGE_TOTAL_TOKENS, runInfo.total_tokens);\n }\n // Set other parameters from invocation_params\n this.setInvocationParameters(span, runInfo);\n // Set metadata and tags if available\n const metadata = runInfo.extra?.metadata || {};\n for (const [key, value] of Object.entries(metadata)) {\n if (value !== null && value !== undefined) {\n span.setAttribute(`${constants.LANGSMITH_METADATA}.${key}`, String(value));\n }\n }\n const tags = runInfo.tags;\n if (tags && Array.isArray(tags)) {\n span.setAttribute(constants.LANGSMITH_TAGS, tags.join(\", \"));\n }\n else if (tags) {\n span.setAttribute(constants.LANGSMITH_TAGS, String(tags));\n }\n // Support additional serialized attributes, if present\n if (\"serialized\" in runInfo && typeof runInfo.serialized === \"object\") {\n const serialized = runInfo.serialized;\n if (serialized.name) {\n span.setAttribute(constants.GEN_AI_SERIALIZED_NAME, String(serialized.name));\n }\n if (serialized.signature) {\n span.setAttribute(constants.GEN_AI_SERIALIZED_SIGNATURE, String(serialized.signature));\n }\n if (serialized.doc) {\n span.setAttribute(constants.GEN_AI_SERIALIZED_DOC, String(serialized.doc));\n }\n }\n // Set inputs/outputs if available\n this.setIOAttributes(span, op);\n }\n setGenAiSystem(span, runInfo) {\n // Default to \"langchain\" if we can't determine the system\n let system = \"langchain\";\n // Extract model name to determine the system\n const modelName = this.extractModelName(runInfo);\n if (modelName) {\n const modelLower = modelName.toLowerCase();\n if (modelLower.includes(\"anthropic\") || modelLower.startsWith(\"claude\")) {\n system = \"anthropic\";\n }\n else if (modelLower.includes(\"bedrock\")) {\n system = \"aws.bedrock\";\n }\n else if (modelLower.includes(\"azure\") &&\n modelLower.includes(\"openai\")) {\n system = \"az.ai.openai\";\n }\n else if (modelLower.includes(\"azure\") &&\n modelLower.includes(\"inference\")) {\n system = \"az.ai.inference\";\n }\n else if (modelLower.includes(\"cohere\")) {\n system = \"cohere\";\n }\n else if (modelLower.includes(\"deepseek\")) {\n system = \"deepseek\";\n }\n else if (modelLower.includes(\"gemini\")) {\n system = \"gemini\";\n }\n else if (modelLower.includes(\"groq\")) {\n system = \"groq\";\n }\n else if (modelLower.includes(\"watson\") || modelLower.includes(\"ibm\")) {\n system = \"ibm.watsonx.ai\";\n }\n else if (modelLower.includes(\"mistral\")) {\n system = \"mistral_ai\";\n }\n else if (modelLower.includes(\"gpt\") || modelLower.includes(\"openai\")) {\n system = \"openai\";\n }\n else if (modelLower.includes(\"perplexity\") ||\n modelLower.includes(\"sonar\")) {\n system = \"perplexity\";\n }\n else if (modelLower.includes(\"vertex\")) {\n system = \"vertex_ai\";\n }\n else if (modelLower.includes(\"xai\") || modelLower.includes(\"grok\")) {\n system = \"xai\";\n }\n }\n span.setAttribute(constants.GEN_AI_SYSTEM, system);\n }\n setInvocationParameters(span, runInfo) {\n if (!runInfo.extra?.metadata?.invocation_params) {\n return;\n }\n const invocationParams = runInfo.extra.metadata.invocation_params;\n // Set relevant invocation parameters\n if (invocationParams.max_tokens !== undefined) {\n span.setAttribute(constants.GEN_AI_REQUEST_MAX_TOKENS, invocationParams.max_tokens);\n }\n if (invocationParams.temperature !== undefined) {\n span.setAttribute(constants.GEN_AI_REQUEST_TEMPERATURE, invocationParams.temperature);\n }\n if (invocationParams.top_p !== undefined) {\n span.setAttribute(constants.GEN_AI_REQUEST_TOP_P, invocationParams.top_p);\n }\n if (invocationParams.frequency_penalty !== undefined) {\n span.setAttribute(constants.GEN_AI_REQUEST_FREQUENCY_PENALTY, invocationParams.frequency_penalty);\n }\n if (invocationParams.presence_penalty !== undefined) {\n span.setAttribute(constants.GEN_AI_REQUEST_PRESENCE_PENALTY, invocationParams.presence_penalty);\n }\n }\n setIOAttributes(span, op) {\n if (op.run.inputs) {\n try {\n const inputs = op.run.inputs;\n if (typeof inputs === \"object\" && inputs !== null) {\n if (inputs.model && Array.isArray(inputs.messages)) {\n span.setAttribute(constants.GEN_AI_REQUEST_MODEL, inputs.model);\n }\n // Set additional request attributes if available\n if (inputs.stream !== undefined) {\n span.setAttribute(constants.LANGSMITH_REQUEST_STREAMING, inputs.stream);\n }\n if (inputs.extra_headers) {\n span.setAttribute(constants.LANGSMITH_REQUEST_HEADERS, JSON.stringify(inputs.extra_headers));\n }\n if (inputs.extra_query) {\n span.setAttribute(constants.GEN_AI_REQUEST_EXTRA_QUERY, JSON.stringify(inputs.extra_query));\n }\n if (inputs.extra_body) {\n span.setAttribute(constants.GEN_AI_REQUEST_EXTRA_BODY, JSON.stringify(inputs.extra_body));\n }\n }\n span.setAttribute(constants.GENAI_PROMPT, JSON.stringify(inputs));\n }\n catch (e) {\n console.debug(`Failed to process inputs for run ${op.id}`, e);\n }\n }\n if (op.run.outputs) {\n try {\n const outputs = op.run.outputs;\n // Extract token usage from outputs (for LLM runs)\n const tokenUsage = this.getUnifiedRunTokens(outputs);\n if (tokenUsage) {\n span.setAttribute(constants.GEN_AI_USAGE_INPUT_TOKENS, tokenUsage[0]);\n span.setAttribute(constants.GEN_AI_USAGE_OUTPUT_TOKENS, tokenUsage[1]);\n span.setAttribute(constants.GEN_AI_USAGE_TOTAL_TOKENS, tokenUsage[0] + tokenUsage[1]);\n }\n if (outputs && typeof outputs === \"object\") {\n if (outputs.model) {\n span.setAttribute(constants.GEN_AI_RESPONSE_MODEL, String(outputs.model));\n }\n // Extract additional response attributes\n if (outputs.id) {\n span.setAttribute(constants.GEN_AI_RESPONSE_ID, outputs.id);\n }\n if (outputs.choices && Array.isArray(outputs.choices)) {\n const finishReasons = outputs.choices\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .map((choice) => choice.finish_reason)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .filter((reason) => reason)\n .map(String);\n if (finishReasons.length > 0) {\n span.setAttribute(constants.GEN_AI_RESPONSE_FINISH_REASONS, finishReasons.join(\", \"));\n }\n }\n if (outputs.service_tier) {\n span.setAttribute(constants.GEN_AI_RESPONSE_SERVICE_TIER, outputs.service_tier);\n }\n if (outputs.system_fingerprint) {\n span.setAttribute(constants.GEN_AI_RESPONSE_SYSTEM_FINGERPRINT, outputs.system_fingerprint);\n }\n if (outputs.usage_metadata &&\n typeof outputs.usage_metadata === \"object\") {\n const usageMetadata = outputs.usage_metadata;\n if (usageMetadata.input_token_details) {\n span.setAttribute(constants.GEN_AI_USAGE_INPUT_TOKEN_DETAILS, JSON.stringify(usageMetadata.input_token_details));\n }\n if (usageMetadata.output_token_details) {\n span.setAttribute(constants.GEN_AI_USAGE_OUTPUT_TOKEN_DETAILS, JSON.stringify(usageMetadata.output_token_details));\n }\n }\n }\n span.setAttribute(constants.GENAI_COMPLETION, JSON.stringify(outputs));\n }\n catch (e) {\n console.debug(`Failed to process outputs for run ${op.id}`, e);\n }\n }\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n getUnifiedRunTokens(outputs) {\n if (!outputs) {\n return null;\n }\n // Search in non-generations lists\n let tokenUsage = this.extractUnifiedRunTokens(outputs.usage_metadata);\n if (tokenUsage) {\n return tokenUsage;\n }\n // Find if direct kwarg in outputs\n const keys = Object.keys(outputs);\n for (const key of keys) {\n const haystack = outputs[key];\n if (!haystack || typeof haystack !== \"object\") {\n continue;\n }\n tokenUsage = this.extractUnifiedRunTokens(haystack.usage_metadata);\n if (tokenUsage) {\n return tokenUsage;\n }\n if (haystack.lc === 1 &&\n haystack.kwargs &&\n typeof haystack.kwargs === \"object\") {\n tokenUsage = this.extractUnifiedRunTokens(haystack.kwargs.usage_metadata);\n if (tokenUsage) {\n return tokenUsage;\n }\n }\n }\n // Find in generations\n const generations = outputs.generations || [];\n if (!Array.isArray(generations)) {\n return null;\n }\n const flatGenerations = Array.isArray(generations[0])\n ? generations.flat()\n : generations;\n for (const generation of flatGenerations) {\n if (typeof generation === \"object\" &&\n generation.message &&\n typeof generation.message === \"object\" &&\n generation.message.kwargs &&\n typeof generation.message.kwargs === \"object\") {\n tokenUsage = this.extractUnifiedRunTokens(generation.message.kwargs.usage_metadata);\n if (tokenUsage) {\n return tokenUsage;\n }\n }\n }\n return null;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extractUnifiedRunTokens(outputs) {\n if (!outputs || typeof outputs !== \"object\") {\n return null;\n }\n if (typeof outputs.input_tokens !== \"number\" ||\n typeof outputs.output_tokens !== \"number\") {\n return null;\n }\n return [outputs.input_tokens, outputs.output_tokens];\n }\n}\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":[],"sources":["../../../../../../../../../node_modules/.pnpm/langsmith@0.3.64_@opentelemetry+api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/index.js"],"sourcesContent":["export { Client, } from \"./client.js\";\nexport { RunTree } from \"./run_trees.js\";\nexport { overrideFetchImplementation } from \"./singletons/fetch.js\";\nexport { getDefaultProjectName } from \"./utils/project.js\";\n// Update using yarn bump-version\nexport const __version__ = \"0.3.64\";\n"],"x_google_ignoreList":[0],"mappings":";;;;;;AAKA,MAAa,cAAc"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../../../../../../../node_modules/.pnpm/langsmith@0.3.64_@opentelemetry+api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/index.js"],"sourcesContent":["export { Client, } from \"./client.js\";\nexport { RunTree } from \"./run_trees.js\";\nexport { overrideFetchImplementation } from \"./singletons/fetch.js\";\nexport { getDefaultProjectName } from \"./utils/project.js\";\n// Update using yarn bump-version\nexport const __version__ = \"0.3.64\";\n"],"x_google_ignoreList":[0],"mappings":";;;;;;AAKA,MAAa,cAAc"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run_trees.cjs","names":["value","getDefaultProjectName","getEnvironmentVariable","Client","_LC_CONTEXT_VARIABLES_KEY","getRuntimeEnvironment","warnOnce","isTracingEnabled","uuid","isConflictingEndpointsError","getLangSmithEnvironmentVariable","ConflictingEndpointsError"],"sources":["../../../../../../../../../node_modules/.pnpm/langsmith@0.3.64_@opentelemetry+api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/run_trees.js"],"sourcesContent":["import * as uuid from \"uuid\";\nimport { Client } from \"./client.js\";\nimport { isTracingEnabled } from \"./env.js\";\nimport { isConflictingEndpointsError, ConflictingEndpointsError, } from \"./utils/error.js\";\nimport { _LC_CONTEXT_VARIABLES_KEY } from \"./singletons/constants.js\";\nimport { getEnvironmentVariable, getRuntimeEnvironment, } from \"./utils/env.js\";\nimport { getDefaultProjectName } from \"./utils/project.js\";\nimport { getLangSmithEnvironmentVariable } from \"./utils/env.js\";\nimport { warnOnce } from \"./utils/warn.js\";\nfunction stripNonAlphanumeric(input) {\n return input.replace(/[-:.]/g, \"\");\n}\nexport function convertToDottedOrderFormat(epoch, runId, executionOrder = 1) {\n // Date only has millisecond precision, so we use the microseconds to break\n // possible ties, avoiding incorrect run order\n const paddedOrder = executionOrder.toFixed(0).slice(0, 3).padStart(3, \"0\");\n const microsecondPrecisionDatestring = `${new Date(epoch)\n .toISOString()\n .slice(0, -1)}${paddedOrder}Z`;\n return {\n dottedOrder: stripNonAlphanumeric(microsecondPrecisionDatestring) + runId,\n microsecondPrecisionDatestring,\n };\n}\n/**\n * Baggage header information\n */\nclass Baggage {\n constructor(metadata, tags, project_name, replicas) {\n Object.defineProperty(this, \"metadata\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"tags\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"project_name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"replicas\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.metadata = metadata;\n this.tags = tags;\n this.project_name = project_name;\n this.replicas = replicas;\n }\n static fromHeader(value) {\n const items = value.split(\",\");\n let metadata = {};\n let tags = [];\n let project_name;\n let replicas;\n for (const item of items) {\n const [key, uriValue] = item.split(\"=\");\n const value = decodeURIComponent(uriValue);\n if (key === \"langsmith-metadata\") {\n metadata = JSON.parse(value);\n }\n else if (key === \"langsmith-tags\") {\n tags = value.split(\",\");\n }\n else if (key === \"langsmith-project\") {\n project_name = value;\n }\n else if (key === \"langsmith-replicas\") {\n replicas = JSON.parse(value);\n }\n }\n return new Baggage(metadata, tags, project_name, replicas);\n }\n toHeader() {\n const items = [];\n if (this.metadata && Object.keys(this.metadata).length > 0) {\n items.push(`langsmith-metadata=${encodeURIComponent(JSON.stringify(this.metadata))}`);\n }\n if (this.tags && this.tags.length > 0) {\n items.push(`langsmith-tags=${encodeURIComponent(this.tags.join(\",\"))}`);\n }\n if (this.project_name) {\n items.push(`langsmith-project=${encodeURIComponent(this.project_name)}`);\n }\n return items.join(\",\");\n }\n}\nexport class RunTree {\n constructor(originalConfig) {\n Object.defineProperty(this, \"id\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"run_type\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"project_name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"parent_run\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"parent_run_id\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"child_runs\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"start_time\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"end_time\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"extra\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"tags\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"error\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"serialized\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"inputs\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"outputs\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"reference_example_id\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"client\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"events\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"trace_id\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"dotted_order\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"tracingEnabled\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"execution_order\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"child_execution_order\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n /**\n * Attachments associated with the run.\n * Each entry is a tuple of [mime_type, bytes]\n */\n Object.defineProperty(this, \"attachments\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n /**\n * Projects to replicate this run to with optional updates.\n */\n Object.defineProperty(this, \"replicas\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_serialized_start_time\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n // If you pass in a run tree directly, return a shallow clone\n if (isRunTree(originalConfig)) {\n Object.assign(this, { ...originalConfig });\n return;\n }\n const defaultConfig = RunTree.getDefaultConfig();\n const { metadata, ...config } = originalConfig;\n const client = config.client ?? RunTree.getSharedClient();\n const dedupedMetadata = {\n ...metadata,\n ...config?.extra?.metadata,\n };\n config.extra = { ...config.extra, metadata: dedupedMetadata };\n Object.assign(this, { ...defaultConfig, ...config, client });\n if (!this.trace_id) {\n if (this.parent_run) {\n this.trace_id = this.parent_run.trace_id ?? this.id;\n }\n else {\n this.trace_id = this.id;\n }\n }\n this.replicas = _ensureWriteReplicas(this.replicas);\n this.execution_order ??= 1;\n this.child_execution_order ??= 1;\n if (!this.dotted_order) {\n const { dottedOrder, microsecondPrecisionDatestring } = convertToDottedOrderFormat(this.start_time, this.id, this.execution_order);\n if (this.parent_run) {\n this.dotted_order = this.parent_run.dotted_order + \".\" + dottedOrder;\n }\n else {\n this.dotted_order = dottedOrder;\n }\n this._serialized_start_time = microsecondPrecisionDatestring;\n }\n }\n set metadata(metadata) {\n this.extra = {\n ...this.extra,\n metadata: {\n ...this.extra?.metadata,\n ...metadata,\n },\n };\n }\n get metadata() {\n return this.extra?.metadata;\n }\n static getDefaultConfig() {\n return {\n id: uuid.v4(),\n run_type: \"chain\",\n project_name: getDefaultProjectName(),\n child_runs: [],\n api_url: getEnvironmentVariable(\"LANGCHAIN_ENDPOINT\") ?? \"http://localhost:1984\",\n api_key: getEnvironmentVariable(\"LANGCHAIN_API_KEY\"),\n caller_options: {},\n start_time: Date.now(),\n serialized: {},\n inputs: {},\n extra: {},\n };\n }\n static getSharedClient() {\n if (!RunTree.sharedClient) {\n RunTree.sharedClient = new Client();\n }\n return RunTree.sharedClient;\n }\n createChild(config) {\n const child_execution_order = this.child_execution_order + 1;\n const child = new RunTree({\n ...config,\n parent_run: this,\n project_name: this.project_name,\n replicas: this.replicas,\n client: this.client,\n tracingEnabled: this.tracingEnabled,\n execution_order: child_execution_order,\n child_execution_order: child_execution_order,\n });\n // Copy context vars over into the new run tree.\n if (_LC_CONTEXT_VARIABLES_KEY in this) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n child[_LC_CONTEXT_VARIABLES_KEY] =\n this[_LC_CONTEXT_VARIABLES_KEY];\n }\n const LC_CHILD = Symbol.for(\"lc:child_config\");\n const presentConfig = config.extra?.[LC_CHILD] ??\n this.extra[LC_CHILD];\n // tracing for LangChain is defined by the _parentRunId and runMap of the tracer\n if (isRunnableConfigLike(presentConfig)) {\n const newConfig = { ...presentConfig };\n const callbacks = isCallbackManagerLike(newConfig.callbacks)\n ? newConfig.callbacks.copy?.()\n : undefined;\n if (callbacks) {\n // update the parent run id\n Object.assign(callbacks, { _parentRunId: child.id });\n // only populate if we're in a newer LC.JS version\n callbacks.handlers\n ?.find(isLangChainTracerLike)\n ?.updateFromRunTree?.(child);\n newConfig.callbacks = callbacks;\n }\n child.extra[LC_CHILD] = newConfig;\n }\n // propagate child_execution_order upwards\n const visited = new Set();\n let current = this;\n while (current != null && !visited.has(current.id)) {\n visited.add(current.id);\n current.child_execution_order = Math.max(current.child_execution_order, child_execution_order);\n current = current.parent_run;\n }\n this.child_runs.push(child);\n return child;\n }\n async end(outputs, error, endTime = Date.now(), metadata) {\n this.outputs = this.outputs ?? outputs;\n this.error = this.error ?? error;\n this.end_time = this.end_time ?? endTime;\n if (metadata && Object.keys(metadata).length > 0) {\n this.extra = this.extra\n ? { ...this.extra, metadata: { ...this.extra.metadata, ...metadata } }\n : { metadata };\n }\n }\n _convertToCreate(run, runtimeEnv, excludeChildRuns = true) {\n const runExtra = run.extra ?? {};\n // Avoid overwriting the runtime environment if it's already set\n if (runExtra?.runtime?.library === undefined) {\n if (!runExtra.runtime) {\n runExtra.runtime = {};\n }\n if (runtimeEnv) {\n for (const [k, v] of Object.entries(runtimeEnv)) {\n if (!runExtra.runtime[k]) {\n runExtra.runtime[k] = v;\n }\n }\n }\n }\n let child_runs;\n let parent_run_id;\n if (!excludeChildRuns) {\n child_runs = run.child_runs.map((child_run) => this._convertToCreate(child_run, runtimeEnv, excludeChildRuns));\n parent_run_id = undefined;\n }\n else {\n parent_run_id = run.parent_run?.id ?? run.parent_run_id;\n child_runs = [];\n }\n return {\n id: run.id,\n name: run.name,\n start_time: run._serialized_start_time ?? run.start_time,\n end_time: run.end_time,\n run_type: run.run_type,\n reference_example_id: run.reference_example_id,\n extra: runExtra,\n serialized: run.serialized,\n error: run.error,\n inputs: run.inputs,\n outputs: run.outputs,\n session_name: run.project_name,\n child_runs: child_runs,\n parent_run_id: parent_run_id,\n trace_id: run.trace_id,\n dotted_order: run.dotted_order,\n tags: run.tags,\n attachments: run.attachments,\n events: run.events,\n };\n }\n _remapForProject(projectName, runtimeEnv, excludeChildRuns = true) {\n const baseRun = this._convertToCreate(this, runtimeEnv, excludeChildRuns);\n if (projectName === this.project_name) {\n return baseRun;\n }\n // Create a deterministic UUID mapping for this project\n const createRemappedId = (originalId) => {\n return uuid.v5(`${originalId}:${projectName}`, uuid.v5.DNS);\n };\n // Remap the current run's ID\n const newId = createRemappedId(baseRun.id);\n const newTraceId = baseRun.trace_id\n ? createRemappedId(baseRun.trace_id)\n : undefined;\n const newParentRunId = baseRun.parent_run_id\n ? createRemappedId(baseRun.parent_run_id)\n : undefined;\n let newDottedOrder;\n if (baseRun.dotted_order) {\n const segments = _parseDottedOrder(baseRun.dotted_order);\n const rebuilt = [];\n // Process all segments except the last one\n for (let i = 0; i < segments.length - 1; i++) {\n const [timestamp, segmentId] = segments[i];\n const remappedId = createRemappedId(segmentId);\n rebuilt.push(timestamp.toISOString().replace(/[-:]/g, \"\").replace(\".\", \"\") +\n remappedId);\n }\n // Process the last segment with the new run ID\n const [lastTimestamp] = segments[segments.length - 1];\n rebuilt.push(lastTimestamp.toISOString().replace(/[-:]/g, \"\").replace(\".\", \"\") +\n newId);\n newDottedOrder = rebuilt.join(\".\");\n }\n else {\n newDottedOrder = undefined;\n }\n const remappedRun = {\n ...baseRun,\n id: newId,\n trace_id: newTraceId,\n parent_run_id: newParentRunId,\n dotted_order: newDottedOrder,\n session_name: projectName,\n };\n return remappedRun;\n }\n async postRun(excludeChildRuns = true) {\n try {\n const runtimeEnv = getRuntimeEnvironment();\n if (this.replicas && this.replicas.length > 0) {\n for (const { projectName, apiKey, apiUrl } of this.replicas) {\n const runCreate = this._remapForProject(projectName ?? this.project_name, runtimeEnv, true);\n await this.client.createRun(runCreate, {\n apiKey,\n apiUrl,\n });\n }\n }\n else {\n const runCreate = this._convertToCreate(this, runtimeEnv, excludeChildRuns);\n await this.client.createRun(runCreate);\n }\n if (!excludeChildRuns) {\n warnOnce(\"Posting with excludeChildRuns=false is deprecated and will be removed in a future version.\");\n for (const childRun of this.child_runs) {\n await childRun.postRun(false);\n }\n }\n }\n catch (error) {\n console.error(`Error in postRun for run ${this.id}:`, error);\n }\n }\n async patchRun(options) {\n if (this.replicas && this.replicas.length > 0) {\n for (const { projectName, apiKey, apiUrl, updates } of this.replicas) {\n const runData = this._remapForProject(projectName ?? this.project_name);\n const updatePayload = {\n id: runData.id,\n outputs: runData.outputs,\n error: runData.error,\n parent_run_id: runData.parent_run_id,\n session_name: runData.session_name,\n reference_example_id: runData.reference_example_id,\n end_time: runData.end_time,\n dotted_order: runData.dotted_order,\n trace_id: runData.trace_id,\n events: runData.events,\n tags: runData.tags,\n extra: runData.extra,\n attachments: this.attachments,\n ...updates,\n };\n // Important that inputs is not a key in the run update\n // if excluded because it will overwrite the run create if the\n // two operations are merged during batching\n if (!options?.excludeInputs) {\n updatePayload.inputs = runData.inputs;\n }\n await this.client.updateRun(runData.id, updatePayload, {\n apiKey,\n apiUrl,\n });\n }\n }\n else {\n try {\n const runUpdate = {\n end_time: this.end_time,\n error: this.error,\n outputs: this.outputs,\n parent_run_id: this.parent_run?.id ?? this.parent_run_id,\n reference_example_id: this.reference_example_id,\n extra: this.extra,\n events: this.events,\n dotted_order: this.dotted_order,\n trace_id: this.trace_id,\n tags: this.tags,\n attachments: this.attachments,\n session_name: this.project_name,\n };\n // Important that inputs is not a key in the run update\n // if excluded because it will overwrite the run create if the\n // two operations are merged during batching\n if (!options?.excludeInputs) {\n runUpdate.inputs = this.inputs;\n }\n await this.client.updateRun(this.id, runUpdate);\n }\n catch (error) {\n console.error(`Error in patchRun for run ${this.id}`, error);\n }\n }\n }\n toJSON() {\n return this._convertToCreate(this, undefined, false);\n }\n /**\n * Add an event to the run tree.\n * @param event - A single event or string to add\n */\n addEvent(event) {\n if (!this.events) {\n this.events = [];\n }\n if (typeof event === \"string\") {\n this.events.push({\n name: \"event\",\n time: new Date().toISOString(),\n message: event,\n });\n }\n else {\n this.events.push({\n ...event,\n time: event.time ?? new Date().toISOString(),\n });\n }\n }\n static fromRunnableConfig(parentConfig, props) {\n // We only handle the callback manager case for now\n const callbackManager = parentConfig?.callbacks;\n let parentRun;\n let projectName;\n let client;\n let tracingEnabled = isTracingEnabled();\n if (callbackManager) {\n const parentRunId = callbackManager?.getParentRunId?.() ?? \"\";\n const langChainTracer = callbackManager?.handlers?.find((handler) => handler?.name == \"langchain_tracer\");\n parentRun = langChainTracer?.getRun?.(parentRunId);\n projectName = langChainTracer?.projectName;\n client = langChainTracer?.client;\n tracingEnabled = tracingEnabled || !!langChainTracer;\n }\n if (!parentRun) {\n return new RunTree({\n ...props,\n client,\n tracingEnabled,\n project_name: projectName,\n });\n }\n const parentRunTree = new RunTree({\n name: parentRun.name,\n id: parentRun.id,\n trace_id: parentRun.trace_id,\n dotted_order: parentRun.dotted_order,\n client,\n tracingEnabled,\n project_name: projectName,\n tags: [\n ...new Set((parentRun?.tags ?? []).concat(parentConfig?.tags ?? [])),\n ],\n extra: {\n metadata: {\n ...parentRun?.extra?.metadata,\n ...parentConfig?.metadata,\n },\n },\n });\n return parentRunTree.createChild(props);\n }\n static fromDottedOrder(dottedOrder) {\n return this.fromHeaders({ \"langsmith-trace\": dottedOrder });\n }\n static fromHeaders(headers, inheritArgs) {\n const rawHeaders = \"get\" in headers && typeof headers.get === \"function\"\n ? {\n \"langsmith-trace\": headers.get(\"langsmith-trace\"),\n baggage: headers.get(\"baggage\"),\n }\n : headers;\n const headerTrace = rawHeaders[\"langsmith-trace\"];\n if (!headerTrace || typeof headerTrace !== \"string\")\n return undefined;\n const parentDottedOrder = headerTrace.trim();\n const parsedDottedOrder = parentDottedOrder.split(\".\").map((part) => {\n const [strTime, uuid] = part.split(\"Z\");\n return { strTime, time: Date.parse(strTime + \"Z\"), uuid };\n });\n const traceId = parsedDottedOrder[0].uuid;\n const config = {\n ...inheritArgs,\n name: inheritArgs?.[\"name\"] ?? \"parent\",\n run_type: inheritArgs?.[\"run_type\"] ?? \"chain\",\n start_time: inheritArgs?.[\"start_time\"] ?? Date.now(),\n id: parsedDottedOrder.at(-1)?.uuid,\n trace_id: traceId,\n dotted_order: parentDottedOrder,\n };\n if (rawHeaders[\"baggage\"] && typeof rawHeaders[\"baggage\"] === \"string\") {\n const baggage = Baggage.fromHeader(rawHeaders[\"baggage\"]);\n config.metadata = baggage.metadata;\n config.tags = baggage.tags;\n config.project_name = baggage.project_name;\n config.replicas = baggage.replicas;\n }\n return new RunTree(config);\n }\n toHeaders(headers) {\n const result = {\n \"langsmith-trace\": this.dotted_order,\n baggage: new Baggage(this.extra?.metadata, this.tags, this.project_name, this.replicas).toHeader(),\n };\n if (headers) {\n for (const [key, value] of Object.entries(result)) {\n headers.set(key, value);\n }\n }\n return result;\n }\n}\nObject.defineProperty(RunTree, \"sharedClient\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: null\n});\nexport function isRunTree(x) {\n return (x != null &&\n typeof x.createChild === \"function\" &&\n typeof x.postRun === \"function\");\n}\nfunction isLangChainTracerLike(x) {\n return (typeof x === \"object\" &&\n x != null &&\n typeof x.name === \"string\" &&\n x.name === \"langchain_tracer\");\n}\nfunction containsLangChainTracerLike(x) {\n return (Array.isArray(x) && x.some((callback) => isLangChainTracerLike(callback)));\n}\nfunction isCallbackManagerLike(x) {\n return (typeof x === \"object\" &&\n x != null &&\n Array.isArray(x.handlers));\n}\nexport function isRunnableConfigLike(x) {\n // Check that it's an object with a callbacks arg\n // that has either a CallbackManagerLike object with a langchain tracer within it\n // or an array with a LangChainTracerLike object within it\n return (x != null &&\n typeof x.callbacks === \"object\" &&\n // Callback manager with a langchain tracer\n (containsLangChainTracerLike(x.callbacks?.handlers) ||\n // Or it's an array with a LangChainTracerLike object within it\n containsLangChainTracerLike(x.callbacks)));\n}\nfunction _parseDottedOrder(dottedOrder) {\n const parts = dottedOrder.split(\".\");\n return parts.map((part) => {\n const timestampStr = part.slice(0, -36);\n const uuidStr = part.slice(-36);\n // Parse timestamp: \"%Y%m%dT%H%M%S%fZ\" format\n // Example: \"20231215T143045123456Z\"\n const year = parseInt(timestampStr.slice(0, 4));\n const month = parseInt(timestampStr.slice(4, 6)) - 1; // JS months are 0-indexed\n const day = parseInt(timestampStr.slice(6, 8));\n const hour = parseInt(timestampStr.slice(9, 11));\n const minute = parseInt(timestampStr.slice(11, 13));\n const second = parseInt(timestampStr.slice(13, 15));\n const microsecond = parseInt(timestampStr.slice(15, 21));\n const timestamp = new Date(year, month, day, hour, minute, second, microsecond / 1000);\n return [timestamp, uuidStr];\n });\n}\nfunction _getWriteReplicasFromEnv() {\n const envVar = getEnvironmentVariable(\"LANGSMITH_RUNS_ENDPOINTS\");\n if (!envVar)\n return [];\n try {\n const parsed = JSON.parse(envVar);\n if (Array.isArray(parsed)) {\n const replicas = [];\n for (const item of parsed) {\n if (typeof item !== \"object\" || item === null) {\n console.warn(`Invalid item type in LANGSMITH_RUNS_ENDPOINTS: ` +\n `expected object, got ${typeof item}`);\n continue;\n }\n if (typeof item.api_url !== \"string\") {\n console.warn(`Invalid api_url type in LANGSMITH_RUNS_ENDPOINTS: ` +\n `expected string, got ${typeof item.api_url}`);\n continue;\n }\n if (typeof item.api_key !== \"string\") {\n console.warn(`Invalid api_key type in LANGSMITH_RUNS_ENDPOINTS: ` +\n `expected string, got ${typeof item.api_key}`);\n continue;\n }\n replicas.push({\n apiUrl: item.api_url.replace(/\\/$/, \"\"),\n apiKey: item.api_key,\n });\n }\n return replicas;\n }\n else if (typeof parsed === \"object\" && parsed !== null) {\n _checkEndpointEnvUnset(parsed);\n const replicas = [];\n for (const [url, key] of Object.entries(parsed)) {\n const cleanUrl = url.replace(/\\/$/, \"\");\n if (typeof key === \"string\") {\n replicas.push({\n apiUrl: cleanUrl,\n apiKey: key,\n });\n }\n else {\n console.warn(`Invalid value type in LANGSMITH_RUNS_ENDPOINTS for URL ${url}: ` +\n `expected string, got ${typeof key}`);\n continue;\n }\n }\n return replicas;\n }\n else {\n console.warn(\"Invalid LANGSMITH_RUNS_ENDPOINTS – must be valid JSON array of \" +\n `objects with api_url and api_key properties, or object mapping url->apiKey, got ${typeof parsed}`);\n return [];\n }\n }\n catch (e) {\n if (isConflictingEndpointsError(e)) {\n throw e;\n }\n console.warn(\"Invalid LANGSMITH_RUNS_ENDPOINTS – must be valid JSON array of \" +\n \"objects with api_url and api_key properties, or object mapping url->apiKey\");\n return [];\n }\n}\nfunction _ensureWriteReplicas(replicas) {\n // If null -> fetch from env\n if (replicas) {\n return replicas.map((replica) => {\n if (Array.isArray(replica)) {\n return {\n projectName: replica[0],\n updates: replica[1],\n };\n }\n return replica;\n });\n }\n return _getWriteReplicasFromEnv();\n}\nfunction _checkEndpointEnvUnset(parsed) {\n if (Object.keys(parsed).length > 0 &&\n getLangSmithEnvironmentVariable(\"ENDPOINT\")) {\n throw new ConflictingEndpointsError();\n }\n}\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run_trees.js","names":["value","uuid"],"sources":["../../../../../../../../../node_modules/.pnpm/langsmith@0.3.64_@opentelemetry+api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/run_trees.js"],"sourcesContent":["import * as uuid from \"uuid\";\nimport { Client } from \"./client.js\";\nimport { isTracingEnabled } from \"./env.js\";\nimport { isConflictingEndpointsError, ConflictingEndpointsError, } from \"./utils/error.js\";\nimport { _LC_CONTEXT_VARIABLES_KEY } from \"./singletons/constants.js\";\nimport { getEnvironmentVariable, getRuntimeEnvironment, } from \"./utils/env.js\";\nimport { getDefaultProjectName } from \"./utils/project.js\";\nimport { getLangSmithEnvironmentVariable } from \"./utils/env.js\";\nimport { warnOnce } from \"./utils/warn.js\";\nfunction stripNonAlphanumeric(input) {\n return input.replace(/[-:.]/g, \"\");\n}\nexport function convertToDottedOrderFormat(epoch, runId, executionOrder = 1) {\n // Date only has millisecond precision, so we use the microseconds to break\n // possible ties, avoiding incorrect run order\n const paddedOrder = executionOrder.toFixed(0).slice(0, 3).padStart(3, \"0\");\n const microsecondPrecisionDatestring = `${new Date(epoch)\n .toISOString()\n .slice(0, -1)}${paddedOrder}Z`;\n return {\n dottedOrder: stripNonAlphanumeric(microsecondPrecisionDatestring) + runId,\n microsecondPrecisionDatestring,\n };\n}\n/**\n * Baggage header information\n */\nclass Baggage {\n constructor(metadata, tags, project_name, replicas) {\n Object.defineProperty(this, \"metadata\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"tags\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"project_name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"replicas\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.metadata = metadata;\n this.tags = tags;\n this.project_name = project_name;\n this.replicas = replicas;\n }\n static fromHeader(value) {\n const items = value.split(\",\");\n let metadata = {};\n let tags = [];\n let project_name;\n let replicas;\n for (const item of items) {\n const [key, uriValue] = item.split(\"=\");\n const value = decodeURIComponent(uriValue);\n if (key === \"langsmith-metadata\") {\n metadata = JSON.parse(value);\n }\n else if (key === \"langsmith-tags\") {\n tags = value.split(\",\");\n }\n else if (key === \"langsmith-project\") {\n project_name = value;\n }\n else if (key === \"langsmith-replicas\") {\n replicas = JSON.parse(value);\n }\n }\n return new Baggage(metadata, tags, project_name, replicas);\n }\n toHeader() {\n const items = [];\n if (this.metadata && Object.keys(this.metadata).length > 0) {\n items.push(`langsmith-metadata=${encodeURIComponent(JSON.stringify(this.metadata))}`);\n }\n if (this.tags && this.tags.length > 0) {\n items.push(`langsmith-tags=${encodeURIComponent(this.tags.join(\",\"))}`);\n }\n if (this.project_name) {\n items.push(`langsmith-project=${encodeURIComponent(this.project_name)}`);\n }\n return items.join(\",\");\n }\n}\nexport class RunTree {\n constructor(originalConfig) {\n Object.defineProperty(this, \"id\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"run_type\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"project_name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"parent_run\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"parent_run_id\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"child_runs\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"start_time\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"end_time\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"extra\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"tags\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"error\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"serialized\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"inputs\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"outputs\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"reference_example_id\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"client\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"events\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"trace_id\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"dotted_order\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"tracingEnabled\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"execution_order\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"child_execution_order\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n /**\n * Attachments associated with the run.\n * Each entry is a tuple of [mime_type, bytes]\n */\n Object.defineProperty(this, \"attachments\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n /**\n * Projects to replicate this run to with optional updates.\n */\n Object.defineProperty(this, \"replicas\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_serialized_start_time\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n // If you pass in a run tree directly, return a shallow clone\n if (isRunTree(originalConfig)) {\n Object.assign(this, { ...originalConfig });\n return;\n }\n const defaultConfig = RunTree.getDefaultConfig();\n const { metadata, ...config } = originalConfig;\n const client = config.client ?? RunTree.getSharedClient();\n const dedupedMetadata = {\n ...metadata,\n ...config?.extra?.metadata,\n };\n config.extra = { ...config.extra, metadata: dedupedMetadata };\n Object.assign(this, { ...defaultConfig, ...config, client });\n if (!this.trace_id) {\n if (this.parent_run) {\n this.trace_id = this.parent_run.trace_id ?? this.id;\n }\n else {\n this.trace_id = this.id;\n }\n }\n this.replicas = _ensureWriteReplicas(this.replicas);\n this.execution_order ??= 1;\n this.child_execution_order ??= 1;\n if (!this.dotted_order) {\n const { dottedOrder, microsecondPrecisionDatestring } = convertToDottedOrderFormat(this.start_time, this.id, this.execution_order);\n if (this.parent_run) {\n this.dotted_order = this.parent_run.dotted_order + \".\" + dottedOrder;\n }\n else {\n this.dotted_order = dottedOrder;\n }\n this._serialized_start_time = microsecondPrecisionDatestring;\n }\n }\n set metadata(metadata) {\n this.extra = {\n ...this.extra,\n metadata: {\n ...this.extra?.metadata,\n ...metadata,\n },\n };\n }\n get metadata() {\n return this.extra?.metadata;\n }\n static getDefaultConfig() {\n return {\n id: uuid.v4(),\n run_type: \"chain\",\n project_name: getDefaultProjectName(),\n child_runs: [],\n api_url: getEnvironmentVariable(\"LANGCHAIN_ENDPOINT\") ?? \"http://localhost:1984\",\n api_key: getEnvironmentVariable(\"LANGCHAIN_API_KEY\"),\n caller_options: {},\n start_time: Date.now(),\n serialized: {},\n inputs: {},\n extra: {},\n };\n }\n static getSharedClient() {\n if (!RunTree.sharedClient) {\n RunTree.sharedClient = new Client();\n }\n return RunTree.sharedClient;\n }\n createChild(config) {\n const child_execution_order = this.child_execution_order + 1;\n const child = new RunTree({\n ...config,\n parent_run: this,\n project_name: this.project_name,\n replicas: this.replicas,\n client: this.client,\n tracingEnabled: this.tracingEnabled,\n execution_order: child_execution_order,\n child_execution_order: child_execution_order,\n });\n // Copy context vars over into the new run tree.\n if (_LC_CONTEXT_VARIABLES_KEY in this) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n child[_LC_CONTEXT_VARIABLES_KEY] =\n this[_LC_CONTEXT_VARIABLES_KEY];\n }\n const LC_CHILD = Symbol.for(\"lc:child_config\");\n const presentConfig = config.extra?.[LC_CHILD] ??\n this.extra[LC_CHILD];\n // tracing for LangChain is defined by the _parentRunId and runMap of the tracer\n if (isRunnableConfigLike(presentConfig)) {\n const newConfig = { ...presentConfig };\n const callbacks = isCallbackManagerLike(newConfig.callbacks)\n ? newConfig.callbacks.copy?.()\n : undefined;\n if (callbacks) {\n // update the parent run id\n Object.assign(callbacks, { _parentRunId: child.id });\n // only populate if we're in a newer LC.JS version\n callbacks.handlers\n ?.find(isLangChainTracerLike)\n ?.updateFromRunTree?.(child);\n newConfig.callbacks = callbacks;\n }\n child.extra[LC_CHILD] = newConfig;\n }\n // propagate child_execution_order upwards\n const visited = new Set();\n let current = this;\n while (current != null && !visited.has(current.id)) {\n visited.add(current.id);\n current.child_execution_order = Math.max(current.child_execution_order, child_execution_order);\n current = current.parent_run;\n }\n this.child_runs.push(child);\n return child;\n }\n async end(outputs, error, endTime = Date.now(), metadata) {\n this.outputs = this.outputs ?? outputs;\n this.error = this.error ?? error;\n this.end_time = this.end_time ?? endTime;\n if (metadata && Object.keys(metadata).length > 0) {\n this.extra = this.extra\n ? { ...this.extra, metadata: { ...this.extra.metadata, ...metadata } }\n : { metadata };\n }\n }\n _convertToCreate(run, runtimeEnv, excludeChildRuns = true) {\n const runExtra = run.extra ?? {};\n // Avoid overwriting the runtime environment if it's already set\n if (runExtra?.runtime?.library === undefined) {\n if (!runExtra.runtime) {\n runExtra.runtime = {};\n }\n if (runtimeEnv) {\n for (const [k, v] of Object.entries(runtimeEnv)) {\n if (!runExtra.runtime[k]) {\n runExtra.runtime[k] = v;\n }\n }\n }\n }\n let child_runs;\n let parent_run_id;\n if (!excludeChildRuns) {\n child_runs = run.child_runs.map((child_run) => this._convertToCreate(child_run, runtimeEnv, excludeChildRuns));\n parent_run_id = undefined;\n }\n else {\n parent_run_id = run.parent_run?.id ?? run.parent_run_id;\n child_runs = [];\n }\n return {\n id: run.id,\n name: run.name,\n start_time: run._serialized_start_time ?? run.start_time,\n end_time: run.end_time,\n run_type: run.run_type,\n reference_example_id: run.reference_example_id,\n extra: runExtra,\n serialized: run.serialized,\n error: run.error,\n inputs: run.inputs,\n outputs: run.outputs,\n session_name: run.project_name,\n child_runs: child_runs,\n parent_run_id: parent_run_id,\n trace_id: run.trace_id,\n dotted_order: run.dotted_order,\n tags: run.tags,\n attachments: run.attachments,\n events: run.events,\n };\n }\n _remapForProject(projectName, runtimeEnv, excludeChildRuns = true) {\n const baseRun = this._convertToCreate(this, runtimeEnv, excludeChildRuns);\n if (projectName === this.project_name) {\n return baseRun;\n }\n // Create a deterministic UUID mapping for this project\n const createRemappedId = (originalId) => {\n return uuid.v5(`${originalId}:${projectName}`, uuid.v5.DNS);\n };\n // Remap the current run's ID\n const newId = createRemappedId(baseRun.id);\n const newTraceId = baseRun.trace_id\n ? createRemappedId(baseRun.trace_id)\n : undefined;\n const newParentRunId = baseRun.parent_run_id\n ? createRemappedId(baseRun.parent_run_id)\n : undefined;\n let newDottedOrder;\n if (baseRun.dotted_order) {\n const segments = _parseDottedOrder(baseRun.dotted_order);\n const rebuilt = [];\n // Process all segments except the last one\n for (let i = 0; i < segments.length - 1; i++) {\n const [timestamp, segmentId] = segments[i];\n const remappedId = createRemappedId(segmentId);\n rebuilt.push(timestamp.toISOString().replace(/[-:]/g, \"\").replace(\".\", \"\") +\n remappedId);\n }\n // Process the last segment with the new run ID\n const [lastTimestamp] = segments[segments.length - 1];\n rebuilt.push(lastTimestamp.toISOString().replace(/[-:]/g, \"\").replace(\".\", \"\") +\n newId);\n newDottedOrder = rebuilt.join(\".\");\n }\n else {\n newDottedOrder = undefined;\n }\n const remappedRun = {\n ...baseRun,\n id: newId,\n trace_id: newTraceId,\n parent_run_id: newParentRunId,\n dotted_order: newDottedOrder,\n session_name: projectName,\n };\n return remappedRun;\n }\n async postRun(excludeChildRuns = true) {\n try {\n const runtimeEnv = getRuntimeEnvironment();\n if (this.replicas && this.replicas.length > 0) {\n for (const { projectName, apiKey, apiUrl } of this.replicas) {\n const runCreate = this._remapForProject(projectName ?? this.project_name, runtimeEnv, true);\n await this.client.createRun(runCreate, {\n apiKey,\n apiUrl,\n });\n }\n }\n else {\n const runCreate = this._convertToCreate(this, runtimeEnv, excludeChildRuns);\n await this.client.createRun(runCreate);\n }\n if (!excludeChildRuns) {\n warnOnce(\"Posting with excludeChildRuns=false is deprecated and will be removed in a future version.\");\n for (const childRun of this.child_runs) {\n await childRun.postRun(false);\n }\n }\n }\n catch (error) {\n console.error(`Error in postRun for run ${this.id}:`, error);\n }\n }\n async patchRun(options) {\n if (this.replicas && this.replicas.length > 0) {\n for (const { projectName, apiKey, apiUrl, updates } of this.replicas) {\n const runData = this._remapForProject(projectName ?? this.project_name);\n const updatePayload = {\n id: runData.id,\n outputs: runData.outputs,\n error: runData.error,\n parent_run_id: runData.parent_run_id,\n session_name: runData.session_name,\n reference_example_id: runData.reference_example_id,\n end_time: runData.end_time,\n dotted_order: runData.dotted_order,\n trace_id: runData.trace_id,\n events: runData.events,\n tags: runData.tags,\n extra: runData.extra,\n attachments: this.attachments,\n ...updates,\n };\n // Important that inputs is not a key in the run update\n // if excluded because it will overwrite the run create if the\n // two operations are merged during batching\n if (!options?.excludeInputs) {\n updatePayload.inputs = runData.inputs;\n }\n await this.client.updateRun(runData.id, updatePayload, {\n apiKey,\n apiUrl,\n });\n }\n }\n else {\n try {\n const runUpdate = {\n end_time: this.end_time,\n error: this.error,\n outputs: this.outputs,\n parent_run_id: this.parent_run?.id ?? this.parent_run_id,\n reference_example_id: this.reference_example_id,\n extra: this.extra,\n events: this.events,\n dotted_order: this.dotted_order,\n trace_id: this.trace_id,\n tags: this.tags,\n attachments: this.attachments,\n session_name: this.project_name,\n };\n // Important that inputs is not a key in the run update\n // if excluded because it will overwrite the run create if the\n // two operations are merged during batching\n if (!options?.excludeInputs) {\n runUpdate.inputs = this.inputs;\n }\n await this.client.updateRun(this.id, runUpdate);\n }\n catch (error) {\n console.error(`Error in patchRun for run ${this.id}`, error);\n }\n }\n }\n toJSON() {\n return this._convertToCreate(this, undefined, false);\n }\n /**\n * Add an event to the run tree.\n * @param event - A single event or string to add\n */\n addEvent(event) {\n if (!this.events) {\n this.events = [];\n }\n if (typeof event === \"string\") {\n this.events.push({\n name: \"event\",\n time: new Date().toISOString(),\n message: event,\n });\n }\n else {\n this.events.push({\n ...event,\n time: event.time ?? new Date().toISOString(),\n });\n }\n }\n static fromRunnableConfig(parentConfig, props) {\n // We only handle the callback manager case for now\n const callbackManager = parentConfig?.callbacks;\n let parentRun;\n let projectName;\n let client;\n let tracingEnabled = isTracingEnabled();\n if (callbackManager) {\n const parentRunId = callbackManager?.getParentRunId?.() ?? \"\";\n const langChainTracer = callbackManager?.handlers?.find((handler) => handler?.name == \"langchain_tracer\");\n parentRun = langChainTracer?.getRun?.(parentRunId);\n projectName = langChainTracer?.projectName;\n client = langChainTracer?.client;\n tracingEnabled = tracingEnabled || !!langChainTracer;\n }\n if (!parentRun) {\n return new RunTree({\n ...props,\n client,\n tracingEnabled,\n project_name: projectName,\n });\n }\n const parentRunTree = new RunTree({\n name: parentRun.name,\n id: parentRun.id,\n trace_id: parentRun.trace_id,\n dotted_order: parentRun.dotted_order,\n client,\n tracingEnabled,\n project_name: projectName,\n tags: [\n ...new Set((parentRun?.tags ?? []).concat(parentConfig?.tags ?? [])),\n ],\n extra: {\n metadata: {\n ...parentRun?.extra?.metadata,\n ...parentConfig?.metadata,\n },\n },\n });\n return parentRunTree.createChild(props);\n }\n static fromDottedOrder(dottedOrder) {\n return this.fromHeaders({ \"langsmith-trace\": dottedOrder });\n }\n static fromHeaders(headers, inheritArgs) {\n const rawHeaders = \"get\" in headers && typeof headers.get === \"function\"\n ? {\n \"langsmith-trace\": headers.get(\"langsmith-trace\"),\n baggage: headers.get(\"baggage\"),\n }\n : headers;\n const headerTrace = rawHeaders[\"langsmith-trace\"];\n if (!headerTrace || typeof headerTrace !== \"string\")\n return undefined;\n const parentDottedOrder = headerTrace.trim();\n const parsedDottedOrder = parentDottedOrder.split(\".\").map((part) => {\n const [strTime, uuid] = part.split(\"Z\");\n return { strTime, time: Date.parse(strTime + \"Z\"), uuid };\n });\n const traceId = parsedDottedOrder[0].uuid;\n const config = {\n ...inheritArgs,\n name: inheritArgs?.[\"name\"] ?? \"parent\",\n run_type: inheritArgs?.[\"run_type\"] ?? \"chain\",\n start_time: inheritArgs?.[\"start_time\"] ?? Date.now(),\n id: parsedDottedOrder.at(-1)?.uuid,\n trace_id: traceId,\n dotted_order: parentDottedOrder,\n };\n if (rawHeaders[\"baggage\"] && typeof rawHeaders[\"baggage\"] === \"string\") {\n const baggage = Baggage.fromHeader(rawHeaders[\"baggage\"]);\n config.metadata = baggage.metadata;\n config.tags = baggage.tags;\n config.project_name = baggage.project_name;\n config.replicas = baggage.replicas;\n }\n return new RunTree(config);\n }\n toHeaders(headers) {\n const result = {\n \"langsmith-trace\": this.dotted_order,\n baggage: new Baggage(this.extra?.metadata, this.tags, this.project_name, this.replicas).toHeader(),\n };\n if (headers) {\n for (const [key, value] of Object.entries(result)) {\n headers.set(key, value);\n }\n }\n return result;\n }\n}\nObject.defineProperty(RunTree, \"sharedClient\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: null\n});\nexport function isRunTree(x) {\n return (x != null &&\n typeof x.createChild === \"function\" &&\n typeof x.postRun === \"function\");\n}\nfunction isLangChainTracerLike(x) {\n return (typeof x === \"object\" &&\n x != null &&\n typeof x.name === \"string\" &&\n x.name === \"langchain_tracer\");\n}\nfunction containsLangChainTracerLike(x) {\n return (Array.isArray(x) && x.some((callback) => isLangChainTracerLike(callback)));\n}\nfunction isCallbackManagerLike(x) {\n return (typeof x === \"object\" &&\n x != null &&\n Array.isArray(x.handlers));\n}\nexport function isRunnableConfigLike(x) {\n // Check that it's an object with a callbacks arg\n // that has either a CallbackManagerLike object with a langchain tracer within it\n // or an array with a LangChainTracerLike object within it\n return (x != null &&\n typeof x.callbacks === \"object\" &&\n // Callback manager with a langchain tracer\n (containsLangChainTracerLike(x.callbacks?.handlers) ||\n // Or it's an array with a LangChainTracerLike object within it\n containsLangChainTracerLike(x.callbacks)));\n}\nfunction _parseDottedOrder(dottedOrder) {\n const parts = dottedOrder.split(\".\");\n return parts.map((part) => {\n const timestampStr = part.slice(0, -36);\n const uuidStr = part.slice(-36);\n // Parse timestamp: \"%Y%m%dT%H%M%S%fZ\" format\n // Example: \"20231215T143045123456Z\"\n const year = parseInt(timestampStr.slice(0, 4));\n const month = parseInt(timestampStr.slice(4, 6)) - 1; // JS months are 0-indexed\n const day = parseInt(timestampStr.slice(6, 8));\n const hour = parseInt(timestampStr.slice(9, 11));\n const minute = parseInt(timestampStr.slice(11, 13));\n const second = parseInt(timestampStr.slice(13, 15));\n const microsecond = parseInt(timestampStr.slice(15, 21));\n const timestamp = new Date(year, month, day, hour, minute, second, microsecond / 1000);\n return [timestamp, uuidStr];\n });\n}\nfunction _getWriteReplicasFromEnv() {\n const envVar = getEnvironmentVariable(\"LANGSMITH_RUNS_ENDPOINTS\");\n if (!envVar)\n return [];\n try {\n const parsed = JSON.parse(envVar);\n if (Array.isArray(parsed)) {\n const replicas = [];\n for (const item of parsed) {\n if (typeof item !== \"object\" || item === null) {\n console.warn(`Invalid item type in LANGSMITH_RUNS_ENDPOINTS: ` +\n `expected object, got ${typeof item}`);\n continue;\n }\n if (typeof item.api_url !== \"string\") {\n console.warn(`Invalid api_url type in LANGSMITH_RUNS_ENDPOINTS: ` +\n `expected string, got ${typeof item.api_url}`);\n continue;\n }\n if (typeof item.api_key !== \"string\") {\n console.warn(`Invalid api_key type in LANGSMITH_RUNS_ENDPOINTS: ` +\n `expected string, got ${typeof item.api_key}`);\n continue;\n }\n replicas.push({\n apiUrl: item.api_url.replace(/\\/$/, \"\"),\n apiKey: item.api_key,\n });\n }\n return replicas;\n }\n else if (typeof parsed === \"object\" && parsed !== null) {\n _checkEndpointEnvUnset(parsed);\n const replicas = [];\n for (const [url, key] of Object.entries(parsed)) {\n const cleanUrl = url.replace(/\\/$/, \"\");\n if (typeof key === \"string\") {\n replicas.push({\n apiUrl: cleanUrl,\n apiKey: key,\n });\n }\n else {\n console.warn(`Invalid value type in LANGSMITH_RUNS_ENDPOINTS for URL ${url}: ` +\n `expected string, got ${typeof key}`);\n continue;\n }\n }\n return replicas;\n }\n else {\n console.warn(\"Invalid LANGSMITH_RUNS_ENDPOINTS – must be valid JSON array of \" +\n `objects with api_url and api_key properties, or object mapping url->apiKey, got ${typeof parsed}`);\n return [];\n }\n }\n catch (e) {\n if (isConflictingEndpointsError(e)) {\n throw e;\n }\n console.warn(\"Invalid LANGSMITH_RUNS_ENDPOINTS – must be valid JSON array of \" +\n \"objects with api_url and api_key properties, or object mapping url->apiKey\");\n return [];\n }\n}\nfunction _ensureWriteReplicas(replicas) {\n // If null -> fetch from env\n if (replicas) {\n return replicas.map((replica) => {\n if (Array.isArray(replica)) {\n return {\n projectName: replica[0],\n updates: replica[1],\n };\n }\n return replica;\n });\n }\n return _getWriteReplicasFromEnv();\n}\nfunction _checkEndpointEnvUnset(parsed) {\n if (Object.keys(parsed).length > 0 &&\n getLangSmithEnvironmentVariable(\"ENDPOINT\")) {\n throw new ConflictingEndpointsError();\n }\n}\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.cjs","names":[],"sources":["../../../../../../../../../../node_modules/.pnpm/langsmith@0.3.64_@opentelemetry+api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/singletons/constants.js"],"sourcesContent":["export const _LC_CONTEXT_VARIABLES_KEY = Symbol.for(\"lc:context_variables\");\n"],"x_google_ignoreList":[0],"mappings":";;AAAA,MAAa,4BAA4B,OAAO,IAAI,uBAAuB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":[],"sources":["../../../../../../../../../../node_modules/.pnpm/langsmith@0.3.64_@opentelemetry+api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/singletons/constants.js"],"sourcesContent":["export const _LC_CONTEXT_VARIABLES_KEY = Symbol.for(\"lc:context_variables\");\n"],"x_google_ignoreList":[0],"mappings":";AAAA,MAAa,4BAA4B,OAAO,IAAI,uBAAuB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.cjs","names":["getLangSmithEnvironmentVariable"],"sources":["../../../../../../../../../../node_modules/.pnpm/langsmith@0.3.64_@opentelemetry+api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/singletons/fetch.js"],"sourcesContent":["import { getLangSmithEnvironmentVariable } from \"../utils/env.js\";\n// Wrap the default fetch call due to issues with illegal invocations\n// in some environments:\n// https://stackoverflow.com/questions/69876859/why-does-bind-fix-failed-to-execute-fetch-on-window-illegal-invocation-err\n// @ts-expect-error Broad typing to support a range of fetch implementations\nconst DEFAULT_FETCH_IMPLEMENTATION = (...args) => fetch(...args);\nconst LANGSMITH_FETCH_IMPLEMENTATION_KEY = Symbol.for(\"ls:fetch_implementation\");\n/**\n * Overrides the fetch implementation used for LangSmith calls.\n * You should use this if you need to use an implementation of fetch\n * other than the default global (e.g. for dealing with proxies).\n * @param fetch The new fetch functino to use.\n */\nexport const overrideFetchImplementation = (fetch) => {\n globalThis[LANGSMITH_FETCH_IMPLEMENTATION_KEY] = fetch;\n};\nexport const clearFetchImplementation = () => {\n delete globalThis[LANGSMITH_FETCH_IMPLEMENTATION_KEY];\n};\nexport const _globalFetchImplementationIsNodeFetch = () => {\n const fetchImpl = globalThis[LANGSMITH_FETCH_IMPLEMENTATION_KEY];\n if (!fetchImpl)\n return false;\n // Check if the implementation has node-fetch specific properties\n return (typeof fetchImpl === \"function\" &&\n \"Headers\" in fetchImpl &&\n \"Request\" in fetchImpl &&\n \"Response\" in fetchImpl);\n};\n/**\n * @internal\n */\nexport const _getFetchImplementation = (debug) => {\n return async (...args) => {\n if (debug || getLangSmithEnvironmentVariable(\"DEBUG\") === \"true\") {\n const [url, options] = args;\n console.log(`→ ${options?.method || \"GET\"} ${url}`);\n }\n const res = await (globalThis[LANGSMITH_FETCH_IMPLEMENTATION_KEY] ??\n DEFAULT_FETCH_IMPLEMENTATION)(...args);\n if (debug || getLangSmithEnvironmentVariable(\"DEBUG\") === \"true\") {\n console.log(`← ${res.status} ${res.statusText} ${res.url}`);\n }\n return res;\n };\n};\n"],"x_google_ignoreList":[0],"mappings":";;;AAKA,MAAM,+BAA+B,CAAC,GAAG,SAAS,MAAM,GAAG,KAAK;AAChE,MAAM,qCAAqC,OAAO,IAAI,0BAA0B;AAahF,MAAa,wCAAwC,MAAM;CACvD,MAAM,YAAY,WAAW;AAC7B,KAAI,CAAC,UACD,QAAO;AAEX,QAAQ,OAAO,cAAc,cACzB,aAAa,aACb,aAAa,aACb,cAAc;AACrB;;;;AAID,MAAa,0BAA0B,CAAC,UAAU;AAC9C,QAAO,OAAO,GAAG,SAAS;AACtB,MAAI,SAASA,4CAAgC,QAAQ,KAAK,QAAQ;GAC9D,MAAM,CAAC,KAAK,QAAQ,GAAG;GACvB,QAAQ,IAAI,CAAC,EAAE,EAAE,SAAS,UAAU,MAAM,CAAC,EAAE,KAAK,CAAC;EACtD;EACD,MAAM,MAAM,OAAO,WAAW,uCAC1B,8BAA8B,GAAG,KAAK;AAC1C,MAAI,SAASA,4CAAgC,QAAQ,KAAK,QACtD,QAAQ,IAAI,CAAC,EAAE,EAAE,IAAI,OAAO,CAAC,EAAE,IAAI,WAAW,CAAC,EAAE,IAAI,KAAK,CAAC;AAE/D,SAAO;CACV;AACJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","names":[],"sources":["../../../../../../../../../../node_modules/.pnpm/langsmith@0.3.64_@opentelemetry+api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/singletons/fetch.js"],"sourcesContent":["import { getLangSmithEnvironmentVariable } from \"../utils/env.js\";\n// Wrap the default fetch call due to issues with illegal invocations\n// in some environments:\n// https://stackoverflow.com/questions/69876859/why-does-bind-fix-failed-to-execute-fetch-on-window-illegal-invocation-err\n// @ts-expect-error Broad typing to support a range of fetch implementations\nconst DEFAULT_FETCH_IMPLEMENTATION = (...args) => fetch(...args);\nconst LANGSMITH_FETCH_IMPLEMENTATION_KEY = Symbol.for(\"ls:fetch_implementation\");\n/**\n * Overrides the fetch implementation used for LangSmith calls.\n * You should use this if you need to use an implementation of fetch\n * other than the default global (e.g. for dealing with proxies).\n * @param fetch The new fetch functino to use.\n */\nexport const overrideFetchImplementation = (fetch) => {\n globalThis[LANGSMITH_FETCH_IMPLEMENTATION_KEY] = fetch;\n};\nexport const clearFetchImplementation = () => {\n delete globalThis[LANGSMITH_FETCH_IMPLEMENTATION_KEY];\n};\nexport const _globalFetchImplementationIsNodeFetch = () => {\n const fetchImpl = globalThis[LANGSMITH_FETCH_IMPLEMENTATION_KEY];\n if (!fetchImpl)\n return false;\n // Check if the implementation has node-fetch specific properties\n return (typeof fetchImpl === \"function\" &&\n \"Headers\" in fetchImpl &&\n \"Request\" in fetchImpl &&\n \"Response\" in fetchImpl);\n};\n/**\n * @internal\n */\nexport const _getFetchImplementation = (debug) => {\n return async (...args) => {\n if (debug || getLangSmithEnvironmentVariable(\"DEBUG\") === \"true\") {\n const [url, options] = args;\n console.log(`→ ${options?.method || \"GET\"} ${url}`);\n }\n const res = await (globalThis[LANGSMITH_FETCH_IMPLEMENTATION_KEY] ??\n DEFAULT_FETCH_IMPLEMENTATION)(...args);\n if (debug || getLangSmithEnvironmentVariable(\"DEBUG\") === \"true\") {\n console.log(`← ${res.status} ${res.statusText} ${res.url}`);\n }\n return res;\n };\n};\n"],"x_google_ignoreList":[0],"mappings":";;;AAKA,MAAM,+BAA+B,CAAC,GAAG,SAAS,MAAM,GAAG,KAAK;AAChE,MAAM,qCAAqC,OAAO,IAAI,0BAA0B;AAahF,MAAa,wCAAwC,MAAM;CACvD,MAAM,YAAY,WAAW;AAC7B,KAAI,CAAC,UACD,QAAO;AAEX,QAAQ,OAAO,cAAc,cACzB,aAAa,aACb,aAAa,aACb,cAAc;AACrB;;;;AAID,MAAa,0BAA0B,CAAC,UAAU;AAC9C,QAAO,OAAO,GAAG,SAAS;AACtB,MAAI,SAAS,gCAAgC,QAAQ,KAAK,QAAQ;GAC9D,MAAM,CAAC,KAAK,QAAQ,GAAG;GACvB,QAAQ,IAAI,CAAC,EAAE,EAAE,SAAS,UAAU,MAAM,CAAC,EAAE,KAAK,CAAC;EACtD;EACD,MAAM,MAAM,OAAO,WAAW,uCAC1B,8BAA8B,GAAG,KAAK;AAC1C,MAAI,SAAS,gCAAgC,QAAQ,KAAK,QACtD,QAAQ,IAAI,CAAC,EAAE,EAAE,IAAI,OAAO,CAAC,EAAE,IAAI,WAAW,CAAC,EAAE,IAAI,KAAK,CAAC;AAE/D,SAAO;CACV;AACJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"otel.cjs","names":["getOtelEnabled"],"sources":["../../../../../../../../../../node_modules/.pnpm/langsmith@0.3.64_@opentelemetry+api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/singletons/otel.js"],"sourcesContent":["// Should not import any OTEL packages to avoid pulling in optional deps.\nimport { getOtelEnabled } from \"../utils/env.js\";\nclass MockTracer {\n constructor() {\n Object.defineProperty(this, \"hasWarned\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n }\n startActiveSpan(_name, ...args) {\n if (!this.hasWarned && getOtelEnabled()) {\n console.warn(\"You have enabled OTEL export via the `OTEL_ENABLED` or `LANGSMITH_OTEL_ENABLED` environment variable, but have not initialized the required OTEL instances. \" +\n 'Please add:\\n```\\nimport { initializeOTEL } from \"langsmith/experimental/otel/setup\";\\ninitializeOTEL();\\n```\\nat the beginning of your code.');\n this.hasWarned = true;\n }\n // Handle different overloads:\n // startActiveSpan(name, fn)\n // startActiveSpan(name, options, fn)\n // startActiveSpan(name, options, context, fn)\n let fn;\n if (args.length === 1 && typeof args[0] === \"function\") {\n fn = args[0];\n }\n else if (args.length === 2 && typeof args[1] === \"function\") {\n fn = args[1];\n }\n else if (args.length === 3 && typeof args[2] === \"function\") {\n fn = args[2];\n }\n if (typeof fn === \"function\") {\n return fn();\n }\n return undefined;\n }\n}\nclass MockOTELTrace {\n constructor() {\n Object.defineProperty(this, \"mockTracer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new MockTracer()\n });\n }\n getTracer(_name, _version) {\n return this.mockTracer;\n }\n getActiveSpan() {\n return undefined;\n }\n setSpan(context, _span) {\n return context;\n }\n getSpan(_context) {\n return undefined;\n }\n setSpanContext(context, _spanContext) {\n return context;\n }\n getTracerProvider() {\n return undefined;\n }\n setGlobalTracerProvider(_tracerProvider) {\n return false;\n }\n}\nclass MockOTELContext {\n active() {\n return {};\n }\n with(_context, fn) {\n return fn();\n }\n}\nconst OTEL_TRACE_KEY = Symbol.for(\"ls:otel_trace\");\nconst OTEL_CONTEXT_KEY = Symbol.for(\"ls:otel_context\");\nconst OTEL_GET_DEFAULT_OTLP_TRACER_PROVIDER_KEY = Symbol.for(\"ls:otel_get_default_otlp_tracer_provider\");\nconst mockOTELTrace = new MockOTELTrace();\nconst mockOTELContext = new MockOTELContext();\nclass OTELProvider {\n getTraceInstance() {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return globalThis[OTEL_TRACE_KEY] ?? mockOTELTrace;\n }\n getContextInstance() {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return globalThis[OTEL_CONTEXT_KEY] ?? mockOTELContext;\n }\n initializeGlobalInstances(otel) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (globalThis[OTEL_TRACE_KEY] === undefined) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n globalThis[OTEL_TRACE_KEY] = otel.trace;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (globalThis[OTEL_CONTEXT_KEY] === undefined) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n globalThis[OTEL_CONTEXT_KEY] = otel.context;\n }\n }\n setDefaultOTLPTracerComponents(components) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n globalThis[OTEL_GET_DEFAULT_OTLP_TRACER_PROVIDER_KEY] = components;\n }\n getDefaultOTLPTracerComponents() {\n return (globalThis[OTEL_GET_DEFAULT_OTLP_TRACER_PROVIDER_KEY] ??\n undefined);\n }\n}\nexport const OTELProviderSingleton = new OTELProvider();\n/**\n * Get the current OTEL trace instance.\n * Returns a mock implementation if OTEL is not available.\n */\nexport function getOTELTrace() {\n return OTELProviderSingleton.getTraceInstance();\n}\n/**\n * Get the current OTEL context instance.\n * Returns a mock implementation if OTEL is not available.\n */\nexport function getOTELContext() {\n return OTELProviderSingleton.getContextInstance();\n}\n/**\n * Initialize the global OTEL instances.\n * Should be called once when OTEL packages are available.\n */\nexport function setOTELInstances(otel) {\n OTELProviderSingleton.initializeGlobalInstances(otel);\n}\n/**\n * Set a getter function for the default OTLP tracer provider.\n * This allows lazy initialization of the tracer provider.\n */\nexport function setDefaultOTLPTracerComponents(components) {\n OTELProviderSingleton.setDefaultOTLPTracerComponents(components);\n}\n/**\n * Get the default OTLP tracer provider instance.\n * Returns undefined if not set.\n */\nexport function getDefaultOTLPTracerComponents() {\n return OTELProviderSingleton.getDefaultOTLPTracerComponents();\n}\n"],"x_google_ignoreList":[0],"mappings":";;;AAEA,IAAM,aAAN,MAAiB;CACb,cAAc;EACV,OAAO,eAAe,MAAM,aAAa;GACrC,YAAY;GACZ,cAAc;GACd,UAAU;GACV,OAAO;EACV,EAAC;CACL;CACD,gBAAgB,OAAO,GAAG,MAAM;AAC5B,MAAI,CAAC,KAAK,aAAaA,4BAAgB,EAAE;GACrC,QAAQ,KAAK,8SACuI;GACpJ,KAAK,YAAY;EACpB;EAKD,IAAI;AACJ,MAAI,KAAK,WAAW,KAAK,OAAO,KAAK,OAAO,YACxC,KAAK,KAAK;WAEL,KAAK,WAAW,KAAK,OAAO,KAAK,OAAO,YAC7C,KAAK,KAAK;WAEL,KAAK,WAAW,KAAK,OAAO,KAAK,OAAO,YAC7C,KAAK,KAAK;AAEd,MAAI,OAAO,OAAO,WACd,QAAO,IAAI;AAEf,SAAO;CACV;AACJ;AACD,IAAM,gBAAN,MAAoB;CAChB,cAAc;EACV,OAAO,eAAe,MAAM,cAAc;GACtC,YAAY;GACZ,cAAc;GACd,UAAU;GACV,OAAO,IAAI;EACd,EAAC;CACL;CACD,UAAU,OAAO,UAAU;AACvB,SAAO,KAAK;CACf;CACD,gBAAgB;AACZ,SAAO;CACV;CACD,QAAQ,SAAS,OAAO;AACpB,SAAO;CACV;CACD,QAAQ,UAAU;AACd,SAAO;CACV;CACD,eAAe,SAAS,cAAc;AAClC,SAAO;CACV;CACD,oBAAoB;AAChB,SAAO;CACV;CACD,wBAAwB,iBAAiB;AACrC,SAAO;CACV;AACJ;AACD,IAAM,kBAAN,MAAsB;CAClB,SAAS;AACL,SAAO,CAAE;CACZ;CACD,KAAK,UAAU,IAAI;AACf,SAAO,IAAI;CACd;AACJ;AACD,MAAM,iBAAiB,OAAO,IAAI,gBAAgB;AAClD,MAAM,mBAAmB,OAAO,IAAI,kBAAkB;AACtD,MAAM,4CAA4C,OAAO,IAAI,2CAA2C;AACxG,MAAM,gBAAgB,IAAI;AAC1B,MAAM,kBAAkB,IAAI;AAC5B,IAAM,eAAN,MAAmB;CACf,mBAAmB;AAEf,SAAO,WAAW,mBAAmB;CACxC;CACD,qBAAqB;AAEjB,SAAO,WAAW,qBAAqB;CAC1C;CACD,0BAA0B,MAAM;AAE5B,MAAI,WAAW,oBAAoB,QAE/B,WAAW,kBAAkB,KAAK;AAGtC,MAAI,WAAW,sBAAsB,QAEjC,WAAW,oBAAoB,KAAK;CAE3C;CACD,+BAA+B,YAAY;EAEvC,WAAW,6CAA6C;CAC3D;CACD,iCAAiC;AAC7B,SAAQ,WAAW,8CACf;CACP;AACJ;AACD,MAAa,wBAAwB,IAAI;;;;;AAKzC,SAAgB,eAAe;AAC3B,QAAO,sBAAsB,kBAAkB;AAClD;;;;;AAKD,SAAgB,iBAAiB;AAC7B,QAAO,sBAAsB,oBAAoB;AACpD;;;;;AAmBD,SAAgB,iCAAiC;AAC7C,QAAO,sBAAsB,gCAAgC;AAChE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"otel.js","names":[],"sources":["../../../../../../../../../../node_modules/.pnpm/langsmith@0.3.64_@opentelemetry+api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/singletons/otel.js"],"sourcesContent":["// Should not import any OTEL packages to avoid pulling in optional deps.\nimport { getOtelEnabled } from \"../utils/env.js\";\nclass MockTracer {\n constructor() {\n Object.defineProperty(this, \"hasWarned\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n }\n startActiveSpan(_name, ...args) {\n if (!this.hasWarned && getOtelEnabled()) {\n console.warn(\"You have enabled OTEL export via the `OTEL_ENABLED` or `LANGSMITH_OTEL_ENABLED` environment variable, but have not initialized the required OTEL instances. \" +\n 'Please add:\\n```\\nimport { initializeOTEL } from \"langsmith/experimental/otel/setup\";\\ninitializeOTEL();\\n```\\nat the beginning of your code.');\n this.hasWarned = true;\n }\n // Handle different overloads:\n // startActiveSpan(name, fn)\n // startActiveSpan(name, options, fn)\n // startActiveSpan(name, options, context, fn)\n let fn;\n if (args.length === 1 && typeof args[0] === \"function\") {\n fn = args[0];\n }\n else if (args.length === 2 && typeof args[1] === \"function\") {\n fn = args[1];\n }\n else if (args.length === 3 && typeof args[2] === \"function\") {\n fn = args[2];\n }\n if (typeof fn === \"function\") {\n return fn();\n }\n return undefined;\n }\n}\nclass MockOTELTrace {\n constructor() {\n Object.defineProperty(this, \"mockTracer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new MockTracer()\n });\n }\n getTracer(_name, _version) {\n return this.mockTracer;\n }\n getActiveSpan() {\n return undefined;\n }\n setSpan(context, _span) {\n return context;\n }\n getSpan(_context) {\n return undefined;\n }\n setSpanContext(context, _spanContext) {\n return context;\n }\n getTracerProvider() {\n return undefined;\n }\n setGlobalTracerProvider(_tracerProvider) {\n return false;\n }\n}\nclass MockOTELContext {\n active() {\n return {};\n }\n with(_context, fn) {\n return fn();\n }\n}\nconst OTEL_TRACE_KEY = Symbol.for(\"ls:otel_trace\");\nconst OTEL_CONTEXT_KEY = Symbol.for(\"ls:otel_context\");\nconst OTEL_GET_DEFAULT_OTLP_TRACER_PROVIDER_KEY = Symbol.for(\"ls:otel_get_default_otlp_tracer_provider\");\nconst mockOTELTrace = new MockOTELTrace();\nconst mockOTELContext = new MockOTELContext();\nclass OTELProvider {\n getTraceInstance() {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return globalThis[OTEL_TRACE_KEY] ?? mockOTELTrace;\n }\n getContextInstance() {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return globalThis[OTEL_CONTEXT_KEY] ?? mockOTELContext;\n }\n initializeGlobalInstances(otel) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (globalThis[OTEL_TRACE_KEY] === undefined) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n globalThis[OTEL_TRACE_KEY] = otel.trace;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (globalThis[OTEL_CONTEXT_KEY] === undefined) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n globalThis[OTEL_CONTEXT_KEY] = otel.context;\n }\n }\n setDefaultOTLPTracerComponents(components) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n globalThis[OTEL_GET_DEFAULT_OTLP_TRACER_PROVIDER_KEY] = components;\n }\n getDefaultOTLPTracerComponents() {\n return (globalThis[OTEL_GET_DEFAULT_OTLP_TRACER_PROVIDER_KEY] ??\n undefined);\n }\n}\nexport const OTELProviderSingleton = new OTELProvider();\n/**\n * Get the current OTEL trace instance.\n * Returns a mock implementation if OTEL is not available.\n */\nexport function getOTELTrace() {\n return OTELProviderSingleton.getTraceInstance();\n}\n/**\n * Get the current OTEL context instance.\n * Returns a mock implementation if OTEL is not available.\n */\nexport function getOTELContext() {\n return OTELProviderSingleton.getContextInstance();\n}\n/**\n * Initialize the global OTEL instances.\n * Should be called once when OTEL packages are available.\n */\nexport function setOTELInstances(otel) {\n OTELProviderSingleton.initializeGlobalInstances(otel);\n}\n/**\n * Set a getter function for the default OTLP tracer provider.\n * This allows lazy initialization of the tracer provider.\n */\nexport function setDefaultOTLPTracerComponents(components) {\n OTELProviderSingleton.setDefaultOTLPTracerComponents(components);\n}\n/**\n * Get the default OTLP tracer provider instance.\n * Returns undefined if not set.\n */\nexport function getDefaultOTLPTracerComponents() {\n return OTELProviderSingleton.getDefaultOTLPTracerComponents();\n}\n"],"x_google_ignoreList":[0],"mappings":";;;AAEA,IAAM,aAAN,MAAiB;CACb,cAAc;EACV,OAAO,eAAe,MAAM,aAAa;GACrC,YAAY;GACZ,cAAc;GACd,UAAU;GACV,OAAO;EACV,EAAC;CACL;CACD,gBAAgB,OAAO,GAAG,MAAM;AAC5B,MAAI,CAAC,KAAK,aAAa,gBAAgB,EAAE;GACrC,QAAQ,KAAK,8SACuI;GACpJ,KAAK,YAAY;EACpB;EAKD,IAAI;AACJ,MAAI,KAAK,WAAW,KAAK,OAAO,KAAK,OAAO,YACxC,KAAK,KAAK;WAEL,KAAK,WAAW,KAAK,OAAO,KAAK,OAAO,YAC7C,KAAK,KAAK;WAEL,KAAK,WAAW,KAAK,OAAO,KAAK,OAAO,YAC7C,KAAK,KAAK;AAEd,MAAI,OAAO,OAAO,WACd,QAAO,IAAI;AAEf,SAAO;CACV;AACJ;AACD,IAAM,gBAAN,MAAoB;CAChB,cAAc;EACV,OAAO,eAAe,MAAM,cAAc;GACtC,YAAY;GACZ,cAAc;GACd,UAAU;GACV,OAAO,IAAI;EACd,EAAC;CACL;CACD,UAAU,OAAO,UAAU;AACvB,SAAO,KAAK;CACf;CACD,gBAAgB;AACZ,SAAO;CACV;CACD,QAAQ,SAAS,OAAO;AACpB,SAAO;CACV;CACD,QAAQ,UAAU;AACd,SAAO;CACV;CACD,eAAe,SAAS,cAAc;AAClC,SAAO;CACV;CACD,oBAAoB;AAChB,SAAO;CACV;CACD,wBAAwB,iBAAiB;AACrC,SAAO;CACV;AACJ;AACD,IAAM,kBAAN,MAAsB;CAClB,SAAS;AACL,SAAO,CAAE;CACZ;CACD,KAAK,UAAU,IAAI;AACf,SAAO,IAAI;CACd;AACJ;AACD,MAAM,iBAAiB,OAAO,IAAI,gBAAgB;AAClD,MAAM,mBAAmB,OAAO,IAAI,kBAAkB;AACtD,MAAM,4CAA4C,OAAO,IAAI,2CAA2C;AACxG,MAAM,gBAAgB,IAAI;AAC1B,MAAM,kBAAkB,IAAI;AAC5B,IAAM,eAAN,MAAmB;CACf,mBAAmB;AAEf,SAAO,WAAW,mBAAmB;CACxC;CACD,qBAAqB;AAEjB,SAAO,WAAW,qBAAqB;CAC1C;CACD,0BAA0B,MAAM;AAE5B,MAAI,WAAW,oBAAoB,QAE/B,WAAW,kBAAkB,KAAK;AAGtC,MAAI,WAAW,sBAAsB,QAEjC,WAAW,oBAAoB,KAAK;CAE3C;CACD,+BAA+B,YAAY;EAEvC,WAAW,6CAA6C;CAC3D;CACD,iCAAiC;AAC7B,SAAQ,WAAW,8CACf;CACP;AACJ;AACD,MAAa,wBAAwB,IAAI;;;;;AAKzC,SAAgB,eAAe;AAC3B,QAAO,sBAAsB,kBAAkB;AAClD;;;;;AAKD,SAAgB,iBAAiB;AAC7B,QAAO,sBAAsB,oBAAoB;AACpD;;;;;AAmBD,SAAgB,iCAAiC;AAC7C,QAAO,sBAAsB,gCAAgC;AAChE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_uuid.js","names":[],"sources":["../../../../../../../../../../node_modules/.pnpm/langsmith@0.3.64_@opentelemetry+api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/utils/_uuid.js"],"sourcesContent":["// Relaxed UUID validation regex (allows any valid UUID format including nil UUIDs)\nconst UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;\nexport function assertUuid(str, which) {\n // Use relaxed regex validation instead of strict uuid.validate()\n // This allows edge cases like nil UUIDs or test UUIDs that might not pass strict validation\n if (!UUID_REGEX.test(str)) {\n const msg = which !== undefined\n ? `Invalid UUID for ${which}: ${str}`\n : `Invalid UUID: ${str}`;\n throw new Error(msg);\n }\n return str;\n}\n"],"x_google_ignoreList":[0],"mappings":";AACA,MAAM,aAAa;AACnB,SAAgB,WAAW,KAAK,OAAO;AAGnC,KAAI,CAAC,WAAW,KAAK,IAAI,EAAE;EACvB,MAAM,MAAM,UAAU,SAChB,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,KAAK,GACnC,CAAC,cAAc,EAAE,KAAK;AAC5B,QAAM,IAAI,MAAM;CACnB;AACD,QAAO;AACV"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"async_caller.js","names":["PQueueMod"],"sources":["../../../../../../../../../../node_modules/.pnpm/langsmith@0.3.64_@opentelemetry+api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/utils/async_caller.js"],"sourcesContent":["import pRetry from \"p-retry\";\nimport PQueueMod from \"p-queue\";\nconst STATUS_RETRYABLE = [\n 429, // Too Many Requests\n 500, // Internal Server Error\n 502, // Bad Gateway\n 503, // Service Unavailable\n 504, // Gateway Timeout\n];\n/**\n * A class that can be used to make async calls with concurrency and retry logic.\n *\n * This is useful for making calls to any kind of \"expensive\" external resource,\n * be it because it's rate-limited, subject to network issues, etc.\n *\n * Concurrent calls are limited by the `maxConcurrency` parameter, which defaults\n * to `Infinity`. This means that by default, all calls will be made in parallel.\n *\n * Retries are limited by the `maxRetries` parameter, which defaults to 6. This\n * means that by default, each call will be retried up to 6 times, with an\n * exponential backoff between each attempt.\n */\nexport class AsyncCaller {\n constructor(params) {\n Object.defineProperty(this, \"maxConcurrency\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"maxRetries\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"queue\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"onFailedResponseHook\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.maxConcurrency = params.maxConcurrency ?? Infinity;\n this.maxRetries = params.maxRetries ?? 6;\n if (\"default\" in PQueueMod) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.queue = new PQueueMod.default({\n concurrency: this.maxConcurrency,\n });\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.queue = new PQueueMod({ concurrency: this.maxConcurrency });\n }\n this.onFailedResponseHook = params?.onFailedResponseHook;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n call(callable, ...args) {\n const onFailedResponseHook = this.onFailedResponseHook;\n return this.queue.add(() => pRetry(() => callable(...args).catch((error) => {\n // eslint-disable-next-line no-instanceof/no-instanceof\n if (error instanceof Error) {\n throw error;\n }\n else {\n throw new Error(error);\n }\n }), {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n async onFailedAttempt(error) {\n if (error.message.startsWith(\"Cancel\") ||\n error.message.startsWith(\"TimeoutError\") ||\n error.name === \"TimeoutError\" ||\n error.message.startsWith(\"AbortError\")) {\n throw error;\n }\n if (error?.code === \"ECONNABORTED\") {\n throw error;\n }\n const response = error?.response;\n if (onFailedResponseHook) {\n const handled = await onFailedResponseHook(response);\n if (handled) {\n return;\n }\n }\n const status = response?.status ?? error?.status;\n if (status) {\n if (!STATUS_RETRYABLE.includes(+status)) {\n throw error;\n }\n }\n },\n retries: this.maxRetries,\n randomize: true,\n }), { throwOnTimeout: true });\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n callWithOptions(options, callable, ...args) {\n // Note this doesn't cancel the underlying request,\n // when available prefer to use the signal option of the underlying call\n if (options.signal) {\n return Promise.race([\n this.call(callable, ...args),\n new Promise((_, reject) => {\n options.signal?.addEventListener(\"abort\", () => {\n reject(new Error(\"AbortError\"));\n });\n }),\n ]);\n }\n return this.call(callable, ...args);\n }\n}\n"],"x_google_ignoreList":[0],"mappings":";;;;;;AAEA,MAAM,mBAAmB;CACrB;CACA;CACA;CACA;CACA;AACH;;;;;;;;;;;;;;AAcD,IAAa,cAAb,MAAyB;CACrB,YAAY,QAAQ;EAChB,OAAO,eAAe,MAAM,kBAAkB;GAC1C,YAAY;GACZ,cAAc;GACd,UAAU;GACV,OAAO,KAAK;EACf,EAAC;EACF,OAAO,eAAe,MAAM,cAAc;GACtC,YAAY;GACZ,cAAc;GACd,UAAU;GACV,OAAO,KAAK;EACf,EAAC;EACF,OAAO,eAAe,MAAM,SAAS;GACjC,YAAY;GACZ,cAAc;GACd,UAAU;GACV,OAAO,KAAK;EACf,EAAC;EACF,OAAO,eAAe,MAAM,wBAAwB;GAChD,YAAY;GACZ,cAAc;GACd,UAAU;GACV,OAAO,KAAK;EACf,EAAC;EACF,KAAK,iBAAiB,OAAO,kBAAkB;EAC/C,KAAK,aAAa,OAAO,cAAc;AACvC,MAAI,aAAaA,qBAEb,KAAK,QAAQ,wBAAI,QAAkB,EAC/B,aAAa,KAAK,eACrB;OAID,KAAK,QAAQ,IAAIA,oBAAU,EAAE,aAAa,KAAK,eAAgB;EAEnE,KAAK,uBAAuB,QAAQ;CACvC;CAED,KAAK,UAAU,GAAG,MAAM;EACpB,MAAM,uBAAuB,KAAK;AAClC,SAAO,KAAK,MAAM,IAAI,MAAM,OAAO,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU;AAExE,OAAI,iBAAiB,MACjB,OAAM;OAGN,OAAM,IAAI,MAAM;EAEvB,EAAC,EAAE;GAEA,MAAM,gBAAgB,OAAO;AACzB,QAAI,MAAM,QAAQ,WAAW,SAAS,IAClC,MAAM,QAAQ,WAAW,eAAe,IACxC,MAAM,SAAS,kBACf,MAAM,QAAQ,WAAW,aAAa,CACtC,OAAM;AAEV,QAAI,OAAO,SAAS,eAChB,OAAM;IAEV,MAAM,WAAW,OAAO;AACxB,QAAI,sBAAsB;KACtB,MAAM,UAAU,MAAM,qBAAqB,SAAS;AACpD,SAAI,QACA;IAEP;IACD,MAAM,SAAS,UAAU,UAAU,OAAO;AAC1C,QAAI,QACA;SAAI,CAAC,iBAAiB,SAAS,CAAC,OAAO,CACnC,OAAM;IACT;GAER;GACD,SAAS,KAAK;GACd,WAAW;EACd,EAAC,EAAE,EAAE,gBAAgB,KAAM,EAAC;CAChC;CAED,gBAAgB,SAAS,UAAU,GAAG,MAAM;AAGxC,MAAI,QAAQ,OACR,QAAO,QAAQ,KAAK,CAChB,KAAK,KAAK,UAAU,GAAG,KAAK,EAC5B,IAAI,QAAQ,CAAC,GAAG,WAAW;GACvB,QAAQ,QAAQ,iBAAiB,SAAS,MAAM;IAC5C,uBAAO,IAAI,MAAM,cAAc;GAClC,EAAC;EACL,EACJ,EAAC;AAEN,SAAO,KAAK,KAAK,UAAU,GAAG,KAAK;CACtC;AACJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"env.cjs","names":["__version__"],"sources":["../../../../../../../../../../node_modules/.pnpm/langsmith@0.3.64_@opentelemetry+api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/utils/env.js"],"sourcesContent":["// Inlined from https://github.com/flexdinesh/browser-or-node\nimport { __version__ } from \"../index.js\";\nlet globalEnv;\nexport const isBrowser = () => typeof window !== \"undefined\" && typeof window.document !== \"undefined\";\nexport const isWebWorker = () => typeof globalThis === \"object\" &&\n globalThis.constructor &&\n globalThis.constructor.name === \"DedicatedWorkerGlobalScope\";\nexport const isJsDom = () => (typeof window !== \"undefined\" && window.name === \"nodejs\") ||\n (typeof navigator !== \"undefined\" && navigator.userAgent.includes(\"jsdom\"));\n// Supabase Edge Function provides a `Deno` global object\n// without `version` property\nexport const isDeno = () => typeof Deno !== \"undefined\";\n// Mark not-as-node if in Supabase Edge Function\nexport const isNode = () => typeof process !== \"undefined\" &&\n typeof process.versions !== \"undefined\" &&\n typeof process.versions.node !== \"undefined\" &&\n !isDeno();\nexport const getEnv = () => {\n if (globalEnv) {\n return globalEnv;\n }\n // @ts-expect-error Bun types are not imported due to conflicts with Node types\n if (typeof Bun !== \"undefined\") {\n globalEnv = \"bun\";\n }\n else if (isBrowser()) {\n globalEnv = \"browser\";\n }\n else if (isNode()) {\n globalEnv = \"node\";\n }\n else if (isWebWorker()) {\n globalEnv = \"webworker\";\n }\n else if (isJsDom()) {\n globalEnv = \"jsdom\";\n }\n else if (isDeno()) {\n globalEnv = \"deno\";\n }\n else {\n globalEnv = \"other\";\n }\n return globalEnv;\n};\nlet runtimeEnvironment;\nexport function getRuntimeEnvironment() {\n if (runtimeEnvironment === undefined) {\n const env = getEnv();\n const releaseEnv = getShas();\n runtimeEnvironment = {\n library: \"langsmith\",\n runtime: env,\n sdk: \"langsmith-js\",\n sdk_version: __version__,\n ...releaseEnv,\n };\n }\n return runtimeEnvironment;\n}\n/**\n * Retrieves the LangChain-specific environment variables from the current runtime environment.\n * Sensitive keys (containing the word \"key\", \"token\", or \"secret\") have their values redacted for security.\n *\n * @returns {Record<string, string>}\n * - A record of LangChain-specific environment variables.\n */\nexport function getLangChainEnvVars() {\n const allEnvVars = getEnvironmentVariables() || {};\n const envVars = {};\n for (const [key, value] of Object.entries(allEnvVars)) {\n if (key.startsWith(\"LANGCHAIN_\") && typeof value === \"string\") {\n envVars[key] = value;\n }\n }\n for (const key in envVars) {\n if ((key.toLowerCase().includes(\"key\") ||\n key.toLowerCase().includes(\"secret\") ||\n key.toLowerCase().includes(\"token\")) &&\n typeof envVars[key] === \"string\") {\n const value = envVars[key];\n envVars[key] =\n value.slice(0, 2) + \"*\".repeat(value.length - 4) + value.slice(-2);\n }\n }\n return envVars;\n}\n/**\n * Retrieves the LangChain-specific metadata from the current runtime environment.\n *\n * @returns {Record<string, string>}\n * - A record of LangChain-specific metadata environment variables.\n */\nexport function getLangChainEnvVarsMetadata() {\n const allEnvVars = getEnvironmentVariables() || {};\n const envVars = {};\n const excluded = [\n \"LANGCHAIN_API_KEY\",\n \"LANGCHAIN_ENDPOINT\",\n \"LANGCHAIN_TRACING_V2\",\n \"LANGCHAIN_PROJECT\",\n \"LANGCHAIN_SESSION\",\n \"LANGSMITH_API_KEY\",\n \"LANGSMITH_ENDPOINT\",\n \"LANGSMITH_TRACING_V2\",\n \"LANGSMITH_PROJECT\",\n \"LANGSMITH_SESSION\",\n ];\n for (const [key, value] of Object.entries(allEnvVars)) {\n if ((key.startsWith(\"LANGCHAIN_\") || key.startsWith(\"LANGSMITH_\")) &&\n typeof value === \"string\" &&\n !excluded.includes(key) &&\n !key.toLowerCase().includes(\"key\") &&\n !key.toLowerCase().includes(\"secret\") &&\n !key.toLowerCase().includes(\"token\")) {\n if (key === \"LANGCHAIN_REVISION_ID\") {\n envVars[\"revision_id\"] = value;\n }\n else {\n envVars[key] = value;\n }\n }\n }\n return envVars;\n}\n/**\n * Retrieves the environment variables from the current runtime environment.\n *\n * This function is designed to operate in a variety of JS environments,\n * including Node.js, Deno, browsers, etc.\n *\n * @returns {Record<string, string> | undefined}\n * - A record of environment variables if available.\n * - `undefined` if the environment does not support or allows access to environment variables.\n */\nexport function getEnvironmentVariables() {\n try {\n // Check for Node.js environment\n // eslint-disable-next-line no-process-env\n if (typeof process !== \"undefined\" && process.env) {\n // eslint-disable-next-line no-process-env\n return Object.entries(process.env).reduce((acc, [key, value]) => {\n acc[key] = String(value);\n return acc;\n }, {});\n }\n // For browsers and other environments, we may not have direct access to env variables\n // Return undefined or any other fallback as required.\n return undefined;\n }\n catch (e) {\n // Catch any errors that might occur while trying to access environment variables\n return undefined;\n }\n}\nexport function getEnvironmentVariable(name) {\n // Certain Deno setups will throw an error if you try to access environment variables\n // https://github.com/hwchase17/langchainjs/issues/1412\n try {\n return typeof process !== \"undefined\"\n ? // eslint-disable-next-line no-process-env\n process.env?.[name]\n : undefined;\n }\n catch (e) {\n return undefined;\n }\n}\nexport function getLangSmithEnvironmentVariable(name) {\n return (getEnvironmentVariable(`LANGSMITH_${name}`) ||\n getEnvironmentVariable(`LANGCHAIN_${name}`));\n}\nexport function setEnvironmentVariable(name, value) {\n if (typeof process !== \"undefined\") {\n // eslint-disable-next-line no-process-env\n process.env[name] = value;\n }\n}\nlet cachedCommitSHAs;\n/**\n * Get the Git commit SHA from common environment variables\n * used by different CI/CD platforms.\n * @returns {string | undefined} The Git commit SHA or undefined if not found.\n */\nexport function getShas() {\n if (cachedCommitSHAs !== undefined) {\n return cachedCommitSHAs;\n }\n const common_release_envs = [\n \"VERCEL_GIT_COMMIT_SHA\",\n \"NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA\",\n \"COMMIT_REF\",\n \"RENDER_GIT_COMMIT\",\n \"CI_COMMIT_SHA\",\n \"CIRCLE_SHA1\",\n \"CF_PAGES_COMMIT_SHA\",\n \"REACT_APP_GIT_SHA\",\n \"SOURCE_VERSION\",\n \"GITHUB_SHA\",\n \"TRAVIS_COMMIT\",\n \"GIT_COMMIT\",\n \"BUILD_VCS_NUMBER\",\n \"bamboo_planRepository_revision\",\n \"Build.SourceVersion\",\n \"BITBUCKET_COMMIT\",\n \"DRONE_COMMIT_SHA\",\n \"SEMAPHORE_GIT_SHA\",\n \"BUILDKITE_COMMIT\",\n ];\n const shas = {};\n for (const env of common_release_envs) {\n const envVar = getEnvironmentVariable(env);\n if (envVar !== undefined) {\n shas[env] = envVar;\n }\n }\n cachedCommitSHAs = shas;\n return shas;\n}\nexport function getOtelEnabled() {\n return (getEnvironmentVariable(\"OTEL_ENABLED\") === \"true\" ||\n getLangSmithEnvironmentVariable(\"OTEL_ENABLED\") === \"true\");\n}\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","names":[],"sources":["../../../../../../../../../../node_modules/.pnpm/langsmith@0.3.64_@opentelemetry+api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/utils/env.js"],"sourcesContent":["// Inlined from https://github.com/flexdinesh/browser-or-node\nimport { __version__ } from \"../index.js\";\nlet globalEnv;\nexport const isBrowser = () => typeof window !== \"undefined\" && typeof window.document !== \"undefined\";\nexport const isWebWorker = () => typeof globalThis === \"object\" &&\n globalThis.constructor &&\n globalThis.constructor.name === \"DedicatedWorkerGlobalScope\";\nexport const isJsDom = () => (typeof window !== \"undefined\" && window.name === \"nodejs\") ||\n (typeof navigator !== \"undefined\" && navigator.userAgent.includes(\"jsdom\"));\n// Supabase Edge Function provides a `Deno` global object\n// without `version` property\nexport const isDeno = () => typeof Deno !== \"undefined\";\n// Mark not-as-node if in Supabase Edge Function\nexport const isNode = () => typeof process !== \"undefined\" &&\n typeof process.versions !== \"undefined\" &&\n typeof process.versions.node !== \"undefined\" &&\n !isDeno();\nexport const getEnv = () => {\n if (globalEnv) {\n return globalEnv;\n }\n // @ts-expect-error Bun types are not imported due to conflicts with Node types\n if (typeof Bun !== \"undefined\") {\n globalEnv = \"bun\";\n }\n else if (isBrowser()) {\n globalEnv = \"browser\";\n }\n else if (isNode()) {\n globalEnv = \"node\";\n }\n else if (isWebWorker()) {\n globalEnv = \"webworker\";\n }\n else if (isJsDom()) {\n globalEnv = \"jsdom\";\n }\n else if (isDeno()) {\n globalEnv = \"deno\";\n }\n else {\n globalEnv = \"other\";\n }\n return globalEnv;\n};\nlet runtimeEnvironment;\nexport function getRuntimeEnvironment() {\n if (runtimeEnvironment === undefined) {\n const env = getEnv();\n const releaseEnv = getShas();\n runtimeEnvironment = {\n library: \"langsmith\",\n runtime: env,\n sdk: \"langsmith-js\",\n sdk_version: __version__,\n ...releaseEnv,\n };\n }\n return runtimeEnvironment;\n}\n/**\n * Retrieves the LangChain-specific environment variables from the current runtime environment.\n * Sensitive keys (containing the word \"key\", \"token\", or \"secret\") have their values redacted for security.\n *\n * @returns {Record<string, string>}\n * - A record of LangChain-specific environment variables.\n */\nexport function getLangChainEnvVars() {\n const allEnvVars = getEnvironmentVariables() || {};\n const envVars = {};\n for (const [key, value] of Object.entries(allEnvVars)) {\n if (key.startsWith(\"LANGCHAIN_\") && typeof value === \"string\") {\n envVars[key] = value;\n }\n }\n for (const key in envVars) {\n if ((key.toLowerCase().includes(\"key\") ||\n key.toLowerCase().includes(\"secret\") ||\n key.toLowerCase().includes(\"token\")) &&\n typeof envVars[key] === \"string\") {\n const value = envVars[key];\n envVars[key] =\n value.slice(0, 2) + \"*\".repeat(value.length - 4) + value.slice(-2);\n }\n }\n return envVars;\n}\n/**\n * Retrieves the LangChain-specific metadata from the current runtime environment.\n *\n * @returns {Record<string, string>}\n * - A record of LangChain-specific metadata environment variables.\n */\nexport function getLangChainEnvVarsMetadata() {\n const allEnvVars = getEnvironmentVariables() || {};\n const envVars = {};\n const excluded = [\n \"LANGCHAIN_API_KEY\",\n \"LANGCHAIN_ENDPOINT\",\n \"LANGCHAIN_TRACING_V2\",\n \"LANGCHAIN_PROJECT\",\n \"LANGCHAIN_SESSION\",\n \"LANGSMITH_API_KEY\",\n \"LANGSMITH_ENDPOINT\",\n \"LANGSMITH_TRACING_V2\",\n \"LANGSMITH_PROJECT\",\n \"LANGSMITH_SESSION\",\n ];\n for (const [key, value] of Object.entries(allEnvVars)) {\n if ((key.startsWith(\"LANGCHAIN_\") || key.startsWith(\"LANGSMITH_\")) &&\n typeof value === \"string\" &&\n !excluded.includes(key) &&\n !key.toLowerCase().includes(\"key\") &&\n !key.toLowerCase().includes(\"secret\") &&\n !key.toLowerCase().includes(\"token\")) {\n if (key === \"LANGCHAIN_REVISION_ID\") {\n envVars[\"revision_id\"] = value;\n }\n else {\n envVars[key] = value;\n }\n }\n }\n return envVars;\n}\n/**\n * Retrieves the environment variables from the current runtime environment.\n *\n * This function is designed to operate in a variety of JS environments,\n * including Node.js, Deno, browsers, etc.\n *\n * @returns {Record<string, string> | undefined}\n * - A record of environment variables if available.\n * - `undefined` if the environment does not support or allows access to environment variables.\n */\nexport function getEnvironmentVariables() {\n try {\n // Check for Node.js environment\n // eslint-disable-next-line no-process-env\n if (typeof process !== \"undefined\" && process.env) {\n // eslint-disable-next-line no-process-env\n return Object.entries(process.env).reduce((acc, [key, value]) => {\n acc[key] = String(value);\n return acc;\n }, {});\n }\n // For browsers and other environments, we may not have direct access to env variables\n // Return undefined or any other fallback as required.\n return undefined;\n }\n catch (e) {\n // Catch any errors that might occur while trying to access environment variables\n return undefined;\n }\n}\nexport function getEnvironmentVariable(name) {\n // Certain Deno setups will throw an error if you try to access environment variables\n // https://github.com/hwchase17/langchainjs/issues/1412\n try {\n return typeof process !== \"undefined\"\n ? // eslint-disable-next-line no-process-env\n process.env?.[name]\n : undefined;\n }\n catch (e) {\n return undefined;\n }\n}\nexport function getLangSmithEnvironmentVariable(name) {\n return (getEnvironmentVariable(`LANGSMITH_${name}`) ||\n getEnvironmentVariable(`LANGCHAIN_${name}`));\n}\nexport function setEnvironmentVariable(name, value) {\n if (typeof process !== \"undefined\") {\n // eslint-disable-next-line no-process-env\n process.env[name] = value;\n }\n}\nlet cachedCommitSHAs;\n/**\n * Get the Git commit SHA from common environment variables\n * used by different CI/CD platforms.\n * @returns {string | undefined} The Git commit SHA or undefined if not found.\n */\nexport function getShas() {\n if (cachedCommitSHAs !== undefined) {\n return cachedCommitSHAs;\n }\n const common_release_envs = [\n \"VERCEL_GIT_COMMIT_SHA\",\n \"NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA\",\n \"COMMIT_REF\",\n \"RENDER_GIT_COMMIT\",\n \"CI_COMMIT_SHA\",\n \"CIRCLE_SHA1\",\n \"CF_PAGES_COMMIT_SHA\",\n \"REACT_APP_GIT_SHA\",\n \"SOURCE_VERSION\",\n \"GITHUB_SHA\",\n \"TRAVIS_COMMIT\",\n \"GIT_COMMIT\",\n \"BUILD_VCS_NUMBER\",\n \"bamboo_planRepository_revision\",\n \"Build.SourceVersion\",\n \"BITBUCKET_COMMIT\",\n \"DRONE_COMMIT_SHA\",\n \"SEMAPHORE_GIT_SHA\",\n \"BUILDKITE_COMMIT\",\n ];\n const shas = {};\n for (const env of common_release_envs) {\n const envVar = getEnvironmentVariable(env);\n if (envVar !== undefined) {\n shas[env] = envVar;\n }\n }\n cachedCommitSHAs = shas;\n return shas;\n}\nexport function getOtelEnabled() {\n return (getEnvironmentVariable(\"OTEL_ENABLED\") === \"true\" ||\n getLangSmithEnvironmentVariable(\"OTEL_ENABLED\") === \"true\");\n}\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error.cjs","names":[],"sources":["../../../../../../../../../../node_modules/.pnpm/langsmith@0.3.64_@opentelemetry+api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/utils/error.js"],"sourcesContent":["function getErrorStackTrace(e) {\n if (typeof e !== \"object\" || e == null)\n return undefined;\n if (!(\"stack\" in e) || typeof e.stack !== \"string\")\n return undefined;\n let stack = e.stack;\n const prevLine = `${e}`;\n if (stack.startsWith(prevLine)) {\n stack = stack.slice(prevLine.length);\n }\n if (stack.startsWith(\"\\n\")) {\n stack = stack.slice(1);\n }\n return stack;\n}\nexport function printErrorStackTrace(e) {\n const stack = getErrorStackTrace(e);\n if (stack == null)\n return;\n console.error(stack);\n}\n/**\n * LangSmithConflictError\n *\n * Represents an error that occurs when there's a conflict during an operation,\n * typically corresponding to HTTP 409 status code responses.\n *\n * This error is thrown when an attempt to create or modify a resource conflicts\n * with the current state of the resource on the server. Common scenarios include:\n * - Attempting to create a resource that already exists\n * - Trying to update a resource that has been modified by another process\n * - Violating a uniqueness constraint in the data\n *\n * @extends Error\n *\n * @example\n * try {\n * await createProject(\"existingProject\");\n * } catch (error) {\n * if (error instanceof ConflictError) {\n * console.log(\"A conflict occurred:\", error.message);\n * // Handle the conflict, e.g., by suggesting a different project name\n * } else {\n * // Handle other types of errors\n * }\n * }\n *\n * @property {string} name - Always set to 'ConflictError' for easy identification\n * @property {string} message - Detailed error message including server response\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409\n */\nexport class LangSmithConflictError extends Error {\n constructor(message) {\n super(message);\n Object.defineProperty(this, \"status\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.name = \"LangSmithConflictError\";\n this.status = 409;\n }\n}\n/**\n * Throws an appropriate error based on the response status and body.\n *\n * @param response - The fetch Response object\n * @param context - Additional context to include in the error message (e.g., operation being performed)\n * @throws {LangSmithConflictError} When the response status is 409\n * @throws {Error} For all other non-ok responses\n */\nexport async function raiseForStatus(response, context, consumeOnSuccess) {\n let errorBody;\n if (response.ok) {\n // consume the response body to release the connection\n // https://undici.nodejs.org/#/?id=garbage-collection\n if (consumeOnSuccess) {\n errorBody = await response.text();\n }\n return;\n }\n errorBody = await response.text();\n const fullMessage = `Failed to ${context}. Received status [${response.status}]: ${response.statusText}. Server response: ${errorBody}`;\n if (response.status === 409) {\n throw new LangSmithConflictError(fullMessage);\n }\n const err = new Error(fullMessage);\n err.status = response.status;\n throw err;\n}\nconst ERR_CONFLICTING_ENDPOINTS = \"ERR_CONFLICTING_ENDPOINTS\";\nexport class ConflictingEndpointsError extends Error {\n constructor() {\n super(\"You cannot provide both LANGSMITH_ENDPOINT / LANGCHAIN_ENDPOINT \" +\n \"and LANGSMITH_RUNS_ENDPOINTS.\");\n Object.defineProperty(this, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ERR_CONFLICTING_ENDPOINTS\n });\n this.name = \"ConflictingEndpointsError\"; // helpful in logs\n }\n}\nexport function isConflictingEndpointsError(err) {\n return (typeof err === \"object\" &&\n err !== null &&\n err.code === ERR_CONFLICTING_ENDPOINTS);\n}\n"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,IAAa,yBAAb,cAA4C,MAAM;CAC9C,YAAY,SAAS;EACjB,MAAM,QAAQ;EACd,OAAO,eAAe,MAAM,UAAU;GAClC,YAAY;GACZ,cAAc;GACd,UAAU;GACV,OAAO,KAAK;EACf,EAAC;EACF,KAAK,OAAO;EACZ,KAAK,SAAS;CACjB;AACJ;;;;;;;;;AASD,eAAsB,eAAe,UAAU,SAAS,kBAAkB;CACtE,IAAI;AACJ,KAAI,SAAS,IAAI;AAGb,MAAI,kBACA,YAAY,MAAM,SAAS,MAAM;AAErC;CACH;CACD,YAAY,MAAM,SAAS,MAAM;CACjC,MAAM,cAAc,CAAC,UAAU,EAAE,QAAQ,mBAAmB,EAAE,SAAS,OAAO,GAAG,EAAE,SAAS,WAAW,mBAAmB,EAAE,WAAW;AACvI,KAAI,SAAS,WAAW,IACpB,OAAM,IAAI,uBAAuB;CAErC,MAAM,MAAM,IAAI,MAAM;CACtB,IAAI,SAAS,SAAS;AACtB,OAAM;AACT;AACD,MAAM,4BAA4B;AAClC,IAAa,4BAAb,cAA+C,MAAM;CACjD,cAAc;EACV,MAAM,gGAC8B;EACpC,OAAO,eAAe,MAAM,QAAQ;GAChC,YAAY;GACZ,cAAc;GACd,UAAU;GACV,OAAO;EACV,EAAC;EACF,KAAK,OAAO;CACf;AACJ;AACD,SAAgB,4BAA4B,KAAK;AAC7C,QAAQ,OAAO,QAAQ,YACnB,QAAQ,QACR,IAAI,SAAS;AACpB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","names":[],"sources":["../../../../../../../../../../node_modules/.pnpm/langsmith@0.3.64_@opentelemetry+api@1.9.0_openai@5.12.2_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@4.1.11_/node_modules/langsmith/dist/utils/error.js"],"sourcesContent":["function getErrorStackTrace(e) {\n if (typeof e !== \"object\" || e == null)\n return undefined;\n if (!(\"stack\" in e) || typeof e.stack !== \"string\")\n return undefined;\n let stack = e.stack;\n const prevLine = `${e}`;\n if (stack.startsWith(prevLine)) {\n stack = stack.slice(prevLine.length);\n }\n if (stack.startsWith(\"\\n\")) {\n stack = stack.slice(1);\n }\n return stack;\n}\nexport function printErrorStackTrace(e) {\n const stack = getErrorStackTrace(e);\n if (stack == null)\n return;\n console.error(stack);\n}\n/**\n * LangSmithConflictError\n *\n * Represents an error that occurs when there's a conflict during an operation,\n * typically corresponding to HTTP 409 status code responses.\n *\n * This error is thrown when an attempt to create or modify a resource conflicts\n * with the current state of the resource on the server. Common scenarios include:\n * - Attempting to create a resource that already exists\n * - Trying to update a resource that has been modified by another process\n * - Violating a uniqueness constraint in the data\n *\n * @extends Error\n *\n * @example\n * try {\n * await createProject(\"existingProject\");\n * } catch (error) {\n * if (error instanceof ConflictError) {\n * console.log(\"A conflict occurred:\", error.message);\n * // Handle the conflict, e.g., by suggesting a different project name\n * } else {\n * // Handle other types of errors\n * }\n * }\n *\n * @property {string} name - Always set to 'ConflictError' for easy identification\n * @property {string} message - Detailed error message including server response\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409\n */\nexport class LangSmithConflictError extends Error {\n constructor(message) {\n super(message);\n Object.defineProperty(this, \"status\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.name = \"LangSmithConflictError\";\n this.status = 409;\n }\n}\n/**\n * Throws an appropriate error based on the response status and body.\n *\n * @param response - The fetch Response object\n * @param context - Additional context to include in the error message (e.g., operation being performed)\n * @throws {LangSmithConflictError} When the response status is 409\n * @throws {Error} For all other non-ok responses\n */\nexport async function raiseForStatus(response, context, consumeOnSuccess) {\n let errorBody;\n if (response.ok) {\n // consume the response body to release the connection\n // https://undici.nodejs.org/#/?id=garbage-collection\n if (consumeOnSuccess) {\n errorBody = await response.text();\n }\n return;\n }\n errorBody = await response.text();\n const fullMessage = `Failed to ${context}. Received status [${response.status}]: ${response.statusText}. Server response: ${errorBody}`;\n if (response.status === 409) {\n throw new LangSmithConflictError(fullMessage);\n }\n const err = new Error(fullMessage);\n err.status = response.status;\n throw err;\n}\nconst ERR_CONFLICTING_ENDPOINTS = \"ERR_CONFLICTING_ENDPOINTS\";\nexport class ConflictingEndpointsError extends Error {\n constructor() {\n super(\"You cannot provide both LANGSMITH_ENDPOINT / LANGCHAIN_ENDPOINT \" +\n \"and LANGSMITH_RUNS_ENDPOINTS.\");\n Object.defineProperty(this, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ERR_CONFLICTING_ENDPOINTS\n });\n this.name = \"ConflictingEndpointsError\"; // helpful in logs\n }\n}\nexport function isConflictingEndpointsError(err) {\n return (typeof err === \"object\" &&\n err !== null &&\n err.code === ERR_CONFLICTING_ENDPOINTS);\n}\n"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,IAAa,yBAAb,cAA4C,MAAM;CAC9C,YAAY,SAAS;EACjB,MAAM,QAAQ;EACd,OAAO,eAAe,MAAM,UAAU;GAClC,YAAY;GACZ,cAAc;GACd,UAAU;GACV,OAAO,KAAK;EACf,EAAC;EACF,KAAK,OAAO;EACZ,KAAK,SAAS;CACjB;AACJ;;;;;;;;;AASD,eAAsB,eAAe,UAAU,SAAS,kBAAkB;CACtE,IAAI;AACJ,KAAI,SAAS,IAAI;AAGb,MAAI,kBACA,YAAY,MAAM,SAAS,MAAM;AAErC;CACH;CACD,YAAY,MAAM,SAAS,MAAM;CACjC,MAAM,cAAc,CAAC,UAAU,EAAE,QAAQ,mBAAmB,EAAE,SAAS,OAAO,GAAG,EAAE,SAAS,WAAW,mBAAmB,EAAE,WAAW;AACvI,KAAI,SAAS,WAAW,IACpB,OAAM,IAAI,uBAAuB;CAErC,MAAM,MAAM,IAAI,MAAM;CACtB,IAAI,SAAS,SAAS;AACtB,OAAM;AACT;AACD,MAAM,4BAA4B;AAClC,IAAa,4BAAb,cAA+C,MAAM;CACjD,cAAc;EACV,MAAM,gGAC8B;EACpC,OAAO,eAAe,MAAM,QAAQ;GAChC,YAAY;GACZ,cAAc;GACd,UAAU;GACV,OAAO;EACV,EAAC;EACF,KAAK,OAAO;CACf;AACJ;AACD,SAAgB,4BAA4B,KAAK;AAC7C,QAAQ,OAAO,QAAQ,YACnB,QAAQ,QACR,IAAI,SAAS;AACpB"}
|