beeai-framework 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +226 -0
- package/dist/adapters/amazon-bedrock/backend/chat.cjs +21 -0
- package/dist/adapters/amazon-bedrock/backend/chat.cjs.map +1 -0
- package/dist/adapters/amazon-bedrock/backend/chat.d.cts +49 -0
- package/dist/adapters/amazon-bedrock/backend/chat.d.ts +49 -0
- package/dist/adapters/amazon-bedrock/backend/chat.js +19 -0
- package/dist/adapters/amazon-bedrock/backend/chat.js.map +1 -0
- package/dist/adapters/amazon-bedrock/backend/client.cjs +21 -0
- package/dist/adapters/amazon-bedrock/backend/client.cjs.map +1 -0
- package/dist/adapters/amazon-bedrock/backend/client.d.cts +28 -0
- package/dist/adapters/amazon-bedrock/backend/client.d.ts +28 -0
- package/dist/adapters/amazon-bedrock/backend/client.js +19 -0
- package/dist/adapters/amazon-bedrock/backend/client.js.map +1 -0
- package/dist/adapters/amazon-bedrock/backend/embedding.cjs +21 -0
- package/dist/adapters/amazon-bedrock/backend/embedding.cjs.map +1 -0
- package/dist/adapters/amazon-bedrock/backend/embedding.d.cts +40 -0
- package/dist/adapters/amazon-bedrock/backend/embedding.d.ts +40 -0
- package/dist/adapters/amazon-bedrock/backend/embedding.js +19 -0
- package/dist/adapters/amazon-bedrock/backend/embedding.js.map +1 -0
- package/dist/adapters/anthropic/backend/chat.cjs +24 -0
- package/dist/adapters/anthropic/backend/chat.cjs.map +1 -0
- package/dist/adapters/anthropic/backend/chat.d.cts +49 -0
- package/dist/adapters/anthropic/backend/chat.d.ts +49 -0
- package/dist/adapters/anthropic/backend/chat.js +22 -0
- package/dist/adapters/anthropic/backend/chat.js.map +1 -0
- package/dist/adapters/anthropic/backend/client.cjs +32 -0
- package/dist/adapters/anthropic/backend/client.cjs.map +1 -0
- package/dist/adapters/anthropic/backend/client.d.cts +28 -0
- package/dist/adapters/anthropic/backend/client.d.ts +28 -0
- package/dist/adapters/anthropic/backend/client.js +30 -0
- package/dist/adapters/anthropic/backend/client.js.map +1 -0
- package/dist/adapters/anthropic/backend/embedding.cjs +21 -0
- package/dist/adapters/anthropic/backend/embedding.cjs.map +1 -0
- package/dist/adapters/anthropic/backend/embedding.d.cts +40 -0
- package/dist/adapters/anthropic/backend/embedding.d.ts +40 -0
- package/dist/adapters/anthropic/backend/embedding.js +19 -0
- package/dist/adapters/anthropic/backend/embedding.js.map +1 -0
- package/dist/adapters/azure-openai/backend/chat.cjs +21 -0
- package/dist/adapters/azure-openai/backend/chat.cjs.map +1 -0
- package/dist/adapters/azure-openai/backend/chat.d.cts +49 -0
- package/dist/adapters/azure-openai/backend/chat.d.ts +49 -0
- package/dist/adapters/azure-openai/backend/chat.js +19 -0
- package/dist/adapters/azure-openai/backend/chat.js.map +1 -0
- package/dist/adapters/azure-openai/backend/client.cjs +26 -0
- package/dist/adapters/azure-openai/backend/client.cjs.map +1 -0
- package/dist/adapters/azure-openai/backend/client.d.cts +28 -0
- package/dist/adapters/azure-openai/backend/client.d.ts +28 -0
- package/dist/adapters/azure-openai/backend/client.js +24 -0
- package/dist/adapters/azure-openai/backend/client.js.map +1 -0
- package/dist/adapters/azure-openai/backend/embedding.cjs +21 -0
- package/dist/adapters/azure-openai/backend/embedding.cjs.map +1 -0
- package/dist/adapters/azure-openai/backend/embedding.d.cts +40 -0
- package/dist/adapters/azure-openai/backend/embedding.d.ts +40 -0
- package/dist/adapters/azure-openai/backend/embedding.js +19 -0
- package/dist/adapters/azure-openai/backend/embedding.js.map +1 -0
- package/dist/adapters/dummy/backend/chat.cjs +51 -0
- package/dist/adapters/dummy/backend/chat.cjs.map +1 -0
- package/dist/adapters/dummy/backend/chat.d.cts +39 -0
- package/dist/adapters/dummy/backend/chat.d.ts +39 -0
- package/dist/adapters/dummy/backend/chat.js +49 -0
- package/dist/adapters/dummy/backend/chat.js.map +1 -0
- package/dist/adapters/dummy/backend/embedding.cjs +44 -0
- package/dist/adapters/dummy/backend/embedding.cjs.map +1 -0
- package/dist/adapters/dummy/backend/embedding.d.cts +41 -0
- package/dist/adapters/dummy/backend/embedding.d.ts +41 -0
- package/dist/adapters/dummy/backend/embedding.js +42 -0
- package/dist/adapters/dummy/backend/embedding.js.map +1 -0
- package/dist/adapters/google-vertex/backend/chat.cjs +21 -0
- package/dist/adapters/google-vertex/backend/chat.cjs.map +1 -0
- package/dist/adapters/google-vertex/backend/chat.d.cts +49 -0
- package/dist/adapters/google-vertex/backend/chat.d.ts +49 -0
- package/dist/adapters/google-vertex/backend/chat.js +19 -0
- package/dist/adapters/google-vertex/backend/chat.js.map +1 -0
- package/dist/adapters/google-vertex/backend/client.cjs +25 -0
- package/dist/adapters/google-vertex/backend/client.cjs.map +1 -0
- package/dist/adapters/google-vertex/backend/client.d.cts +28 -0
- package/dist/adapters/google-vertex/backend/client.d.ts +28 -0
- package/dist/adapters/google-vertex/backend/client.js +23 -0
- package/dist/adapters/google-vertex/backend/client.js.map +1 -0
- package/dist/adapters/google-vertex/backend/embedding.cjs +21 -0
- package/dist/adapters/google-vertex/backend/embedding.cjs.map +1 -0
- package/dist/adapters/google-vertex/backend/embedding.d.cts +40 -0
- package/dist/adapters/google-vertex/backend/embedding.d.ts +40 -0
- package/dist/adapters/google-vertex/backend/embedding.js +19 -0
- package/dist/adapters/google-vertex/backend/embedding.js.map +1 -0
- package/dist/adapters/groq/backend/chat.cjs +24 -0
- package/dist/adapters/groq/backend/chat.cjs.map +1 -0
- package/dist/adapters/groq/backend/chat.d.cts +49 -0
- package/dist/adapters/groq/backend/chat.d.ts +49 -0
- package/dist/adapters/groq/backend/chat.js +22 -0
- package/dist/adapters/groq/backend/chat.js.map +1 -0
- package/dist/adapters/groq/backend/client.cjs +24 -0
- package/dist/adapters/groq/backend/client.cjs.map +1 -0
- package/dist/adapters/groq/backend/client.d.cts +28 -0
- package/dist/adapters/groq/backend/client.d.ts +28 -0
- package/dist/adapters/groq/backend/client.js +22 -0
- package/dist/adapters/groq/backend/client.js.map +1 -0
- package/dist/adapters/groq/backend/embedding.cjs +25 -0
- package/dist/adapters/groq/backend/embedding.cjs.map +1 -0
- package/dist/adapters/groq/backend/embedding.d.cts +40 -0
- package/dist/adapters/groq/backend/embedding.d.ts +40 -0
- package/dist/adapters/groq/backend/embedding.js +23 -0
- package/dist/adapters/groq/backend/embedding.js.map +1 -0
- package/dist/adapters/langchain/backend/chat.cjs +117 -0
- package/dist/adapters/langchain/backend/chat.cjs.map +1 -0
- package/dist/adapters/langchain/backend/chat.d.cts +48 -0
- package/dist/adapters/langchain/backend/chat.d.ts +48 -0
- package/dist/adapters/langchain/backend/chat.js +115 -0
- package/dist/adapters/langchain/backend/chat.js.map +1 -0
- package/dist/adapters/langchain/backend/embedding.cjs +56 -0
- package/dist/adapters/langchain/backend/embedding.cjs.map +1 -0
- package/dist/adapters/langchain/backend/embedding.d.cts +43 -0
- package/dist/adapters/langchain/backend/embedding.d.ts +43 -0
- package/dist/adapters/langchain/backend/embedding.js +54 -0
- package/dist/adapters/langchain/backend/embedding.js.map +1 -0
- package/dist/adapters/langchain/tools.cjs +114 -0
- package/dist/adapters/langchain/tools.cjs.map +1 -0
- package/dist/adapters/langchain/tools.d.cts +44 -0
- package/dist/adapters/langchain/tools.d.ts +44 -0
- package/dist/adapters/langchain/tools.js +92 -0
- package/dist/adapters/langchain/tools.js.map +1 -0
- package/dist/adapters/ollama/backend/chat.cjs +28 -0
- package/dist/adapters/ollama/backend/chat.cjs.map +1 -0
- package/dist/adapters/ollama/backend/chat.d.cts +50 -0
- package/dist/adapters/ollama/backend/chat.d.ts +50 -0
- package/dist/adapters/ollama/backend/chat.js +26 -0
- package/dist/adapters/ollama/backend/chat.js.map +1 -0
- package/dist/adapters/ollama/backend/client.cjs +23 -0
- package/dist/adapters/ollama/backend/client.cjs.map +1 -0
- package/dist/adapters/ollama/backend/client.d.cts +28 -0
- package/dist/adapters/ollama/backend/client.d.ts +28 -0
- package/dist/adapters/ollama/backend/client.js +21 -0
- package/dist/adapters/ollama/backend/client.js.map +1 -0
- package/dist/adapters/ollama/backend/embedding.cjs +21 -0
- package/dist/adapters/ollama/backend/embedding.cjs.map +1 -0
- package/dist/adapters/ollama/backend/embedding.d.cts +40 -0
- package/dist/adapters/ollama/backend/embedding.d.ts +40 -0
- package/dist/adapters/ollama/backend/embedding.js +19 -0
- package/dist/adapters/ollama/backend/embedding.js.map +1 -0
- package/dist/adapters/openai/backend/chat.cjs +21 -0
- package/dist/adapters/openai/backend/chat.cjs.map +1 -0
- package/dist/adapters/openai/backend/chat.d.cts +49 -0
- package/dist/adapters/openai/backend/chat.d.ts +49 -0
- package/dist/adapters/openai/backend/chat.js +19 -0
- package/dist/adapters/openai/backend/chat.js.map +1 -0
- package/dist/adapters/openai/backend/client.cjs +33 -0
- package/dist/adapters/openai/backend/client.cjs.map +1 -0
- package/dist/adapters/openai/backend/client.d.cts +28 -0
- package/dist/adapters/openai/backend/client.d.ts +28 -0
- package/dist/adapters/openai/backend/client.js +31 -0
- package/dist/adapters/openai/backend/client.js.map +1 -0
- package/dist/adapters/openai/backend/embedding.cjs +21 -0
- package/dist/adapters/openai/backend/embedding.cjs.map +1 -0
- package/dist/adapters/openai/backend/embedding.d.cts +40 -0
- package/dist/adapters/openai/backend/embedding.d.ts +40 -0
- package/dist/adapters/openai/backend/embedding.js +19 -0
- package/dist/adapters/openai/backend/embedding.js.map +1 -0
- package/dist/adapters/vercel/backend/chat.cjs +184 -0
- package/dist/adapters/vercel/backend/chat.cjs.map +1 -0
- package/dist/adapters/vercel/backend/chat.d.cts +45 -0
- package/dist/adapters/vercel/backend/chat.d.ts +45 -0
- package/dist/adapters/vercel/backend/chat.js +182 -0
- package/dist/adapters/vercel/backend/chat.js.map +1 -0
- package/dist/adapters/vercel/backend/embedding.cjs +63 -0
- package/dist/adapters/vercel/backend/embedding.cjs.map +1 -0
- package/dist/adapters/vercel/backend/embedding.d.cts +45 -0
- package/dist/adapters/vercel/backend/embedding.d.ts +45 -0
- package/dist/adapters/vercel/backend/embedding.js +61 -0
- package/dist/adapters/vercel/backend/embedding.js.map +1 -0
- package/dist/adapters/watsonx/backend/chat.cjs +199 -0
- package/dist/adapters/watsonx/backend/chat.cjs.map +1 -0
- package/dist/adapters/watsonx/backend/chat.d.cts +56 -0
- package/dist/adapters/watsonx/backend/chat.d.ts +56 -0
- package/dist/adapters/watsonx/backend/chat.js +193 -0
- package/dist/adapters/watsonx/backend/chat.js.map +1 -0
- package/dist/adapters/watsonx/backend/client.cjs +48 -0
- package/dist/adapters/watsonx/backend/client.cjs.map +1 -0
- package/dist/adapters/watsonx/backend/client.d.cts +38 -0
- package/dist/adapters/watsonx/backend/client.d.ts +38 -0
- package/dist/adapters/watsonx/backend/client.js +46 -0
- package/dist/adapters/watsonx/backend/client.js.map +1 -0
- package/dist/adapters/watsonx/backend/embedding.cjs +70 -0
- package/dist/adapters/watsonx/backend/embedding.cjs.map +1 -0
- package/dist/adapters/watsonx/backend/embedding.d.cts +50 -0
- package/dist/adapters/watsonx/backend/embedding.d.ts +50 -0
- package/dist/adapters/watsonx/backend/embedding.js +68 -0
- package/dist/adapters/watsonx/backend/embedding.js.map +1 -0
- package/dist/agent-BbaHVlob.d.cts +84 -0
- package/dist/agent-Bks2fOUl.d.ts +84 -0
- package/dist/agents/base.cjs +73 -0
- package/dist/agents/base.cjs.map +1 -0
- package/dist/agents/base.d.cts +18 -0
- package/dist/agents/base.d.ts +18 -0
- package/dist/agents/base.js +70 -0
- package/dist/agents/base.js.map +1 -0
- package/dist/agents/bee/agent.cjs +193 -0
- package/dist/agents/bee/agent.cjs.map +1 -0
- package/dist/agents/bee/agent.d.cts +32 -0
- package/dist/agents/bee/agent.d.ts +32 -0
- package/dist/agents/bee/agent.js +171 -0
- package/dist/agents/bee/agent.js.map +1 -0
- package/dist/agents/bee/prompts.cjs +176 -0
- package/dist/agents/bee/prompts.cjs.map +1 -0
- package/dist/agents/bee/prompts.d.cts +148 -0
- package/dist/agents/bee/prompts.d.ts +148 -0
- package/dist/agents/bee/prompts.js +166 -0
- package/dist/agents/bee/prompts.js.map +1 -0
- package/dist/agents/bee/runners/base.cjs +103 -0
- package/dist/agents/bee/runners/base.cjs.map +1 -0
- package/dist/agents/bee/runners/base.d.cts +32 -0
- package/dist/agents/bee/runners/base.d.ts +32 -0
- package/dist/agents/bee/runners/base.js +101 -0
- package/dist/agents/bee/runners/base.js.map +1 -0
- package/dist/agents/bee/runners/deep-think/prompts.cjs +92 -0
- package/dist/agents/bee/runners/deep-think/prompts.cjs.map +1 -0
- package/dist/agents/bee/runners/deep-think/prompts.d.cts +145 -0
- package/dist/agents/bee/runners/deep-think/prompts.d.ts +145 -0
- package/dist/agents/bee/runners/deep-think/prompts.js +84 -0
- package/dist/agents/bee/runners/deep-think/prompts.js.map +1 -0
- package/dist/agents/bee/runners/deep-think/runner.cjs +124 -0
- package/dist/agents/bee/runners/deep-think/runner.cjs.map +1 -0
- package/dist/agents/bee/runners/deep-think/runner.d.cts +166 -0
- package/dist/agents/bee/runners/deep-think/runner.d.ts +166 -0
- package/dist/agents/bee/runners/deep-think/runner.js +122 -0
- package/dist/agents/bee/runners/deep-think/runner.js.map +1 -0
- package/dist/agents/bee/runners/default/runner.cjs +416 -0
- package/dist/agents/bee/runners/default/runner.cjs.map +1 -0
- package/dist/agents/bee/runners/default/runner.d.cts +186 -0
- package/dist/agents/bee/runners/default/runner.d.ts +186 -0
- package/dist/agents/bee/runners/default/runner.js +414 -0
- package/dist/agents/bee/runners/default/runner.js.map +1 -0
- package/dist/agents/bee/runners/default/runner.spec.cjs +113 -0
- package/dist/agents/bee/runners/default/runner.spec.cjs.map +1 -0
- package/dist/agents/bee/runners/default/runner.spec.d.cts +2 -0
- package/dist/agents/bee/runners/default/runner.spec.d.ts +2 -0
- package/dist/agents/bee/runners/default/runner.spec.js +111 -0
- package/dist/agents/bee/runners/default/runner.spec.js.map +1 -0
- package/dist/agents/bee/runners/granite/prompts.cjs +94 -0
- package/dist/agents/bee/runners/granite/prompts.cjs.map +1 -0
- package/dist/agents/bee/runners/granite/prompts.d.cts +145 -0
- package/dist/agents/bee/runners/granite/prompts.d.ts +145 -0
- package/dist/agents/bee/runners/granite/prompts.js +86 -0
- package/dist/agents/bee/runners/granite/prompts.js.map +1 -0
- package/dist/agents/bee/runners/granite/runner.cjs +102 -0
- package/dist/agents/bee/runners/granite/runner.cjs.map +1 -0
- package/dist/agents/bee/runners/granite/runner.d.cts +167 -0
- package/dist/agents/bee/runners/granite/runner.d.ts +167 -0
- package/dist/agents/bee/runners/granite/runner.js +100 -0
- package/dist/agents/bee/runners/granite/runner.js.map +1 -0
- package/dist/agents/bee/types.cjs +4 -0
- package/dist/agents/bee/types.cjs.map +1 -0
- package/dist/agents/bee/types.d.cts +164 -0
- package/dist/agents/bee/types.d.ts +164 -0
- package/dist/agents/bee/types.js +3 -0
- package/dist/agents/bee/types.js.map +1 -0
- package/dist/agents/experimental/replan/agent.cjs +119 -0
- package/dist/agents/experimental/replan/agent.cjs.map +1 -0
- package/dist/agents/experimental/replan/agent.d.cts +96 -0
- package/dist/agents/experimental/replan/agent.d.ts +96 -0
- package/dist/agents/experimental/replan/agent.js +117 -0
- package/dist/agents/experimental/replan/agent.js.map +1 -0
- package/dist/agents/experimental/replan/prompts.cjs +89 -0
- package/dist/agents/experimental/replan/prompts.cjs.map +1 -0
- package/dist/agents/experimental/replan/prompts.d.cts +153 -0
- package/dist/agents/experimental/replan/prompts.d.ts +153 -0
- package/dist/agents/experimental/replan/prompts.js +85 -0
- package/dist/agents/experimental/replan/prompts.js.map +1 -0
- package/dist/agents/experimental/streamlit/agent.cjs +161 -0
- package/dist/agents/experimental/streamlit/agent.cjs.map +1 -0
- package/dist/agents/experimental/streamlit/agent.d.cts +95 -0
- package/dist/agents/experimental/streamlit/agent.d.ts +95 -0
- package/dist/agents/experimental/streamlit/agent.js +159 -0
- package/dist/agents/experimental/streamlit/agent.js.map +1 -0
- package/dist/agents/experimental/streamlit/prompts.cjs +312 -0
- package/dist/agents/experimental/streamlit/prompts.cjs.map +1 -0
- package/dist/agents/experimental/streamlit/prompts.d.cts +30 -0
- package/dist/agents/experimental/streamlit/prompts.d.ts +30 -0
- package/dist/agents/experimental/streamlit/prompts.js +310 -0
- package/dist/agents/experimental/streamlit/prompts.js.map +1 -0
- package/dist/agents/types.cjs +4 -0
- package/dist/agents/types.cjs.map +1 -0
- package/dist/agents/types.d.cts +18 -0
- package/dist/agents/types.d.ts +18 -0
- package/dist/agents/types.js +3 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/backend/backend.cjs +45 -0
- package/dist/backend/backend.cjs.map +1 -0
- package/dist/backend/backend.d.cts +56 -0
- package/dist/backend/backend.d.ts +56 -0
- package/dist/backend/backend.js +43 -0
- package/dist/backend/backend.js.map +1 -0
- package/dist/backend/chat.cjs +270 -0
- package/dist/backend/chat.cjs.map +1 -0
- package/dist/backend/chat.d.cts +141 -0
- package/dist/backend/chat.d.ts +141 -0
- package/dist/backend/chat.js +267 -0
- package/dist/backend/chat.js.map +1 -0
- package/dist/backend/client.cjs +40 -0
- package/dist/backend/client.cjs.map +1 -0
- package/dist/backend/client.d.cts +33 -0
- package/dist/backend/client.d.ts +33 -0
- package/dist/backend/client.js +38 -0
- package/dist/backend/client.js.map +1 -0
- package/dist/backend/constants.cjs +62 -0
- package/dist/backend/constants.cjs.map +1 -0
- package/dist/backend/constants.d.cts +62 -0
- package/dist/backend/constants.d.ts +62 -0
- package/dist/backend/constants.js +60 -0
- package/dist/backend/constants.js.map +1 -0
- package/dist/backend/core.cjs +42 -0
- package/dist/backend/core.cjs.map +1 -0
- package/dist/backend/core.d.cts +23 -0
- package/dist/backend/core.d.ts +23 -0
- package/dist/backend/core.js +7 -0
- package/dist/backend/core.js.map +1 -0
- package/dist/backend/embedding.cjs +70 -0
- package/dist/backend/embedding.cjs.map +1 -0
- package/dist/backend/embedding.d.cts +50 -0
- package/dist/backend/embedding.d.ts +50 -0
- package/dist/backend/embedding.js +68 -0
- package/dist/backend/embedding.js.map +1 -0
- package/dist/backend/errors.cjs +27 -0
- package/dist/backend/errors.cjs.map +1 -0
- package/dist/backend/errors.d.cts +28 -0
- package/dist/backend/errors.d.ts +28 -0
- package/dist/backend/errors.js +23 -0
- package/dist/backend/errors.js.map +1 -0
- package/dist/backend/message.cjs +201 -0
- package/dist/backend/message.cjs.map +1 -0
- package/dist/backend/message.d.cts +85 -0
- package/dist/backend/message.d.ts +85 -0
- package/dist/backend/message.js +193 -0
- package/dist/backend/message.js.map +1 -0
- package/dist/backend/utils.cjs +39 -0
- package/dist/backend/utils.cjs.map +1 -0
- package/dist/backend/utils.d.cts +29 -0
- package/dist/backend/utils.d.ts +29 -0
- package/dist/backend/utils.js +36 -0
- package/dist/backend/utils.js.map +1 -0
- package/dist/base-Csr9guq2.d.cts +66 -0
- package/dist/base-DHhpWHQm.d.ts +66 -0
- package/dist/cache/base.cjs +16 -0
- package/dist/cache/base.cjs.map +1 -0
- package/dist/cache/base.d.cts +31 -0
- package/dist/cache/base.d.ts +31 -0
- package/dist/cache/base.js +14 -0
- package/dist/cache/base.js.map +1 -0
- package/dist/cache/decoratorCache.cjs +289 -0
- package/dist/cache/decoratorCache.cjs.map +1 -0
- package/dist/cache/decoratorCache.d.cts +66 -0
- package/dist/cache/decoratorCache.d.ts +66 -0
- package/dist/cache/decoratorCache.js +259 -0
- package/dist/cache/decoratorCache.js.map +1 -0
- package/dist/cache/fileCache.cjs +121 -0
- package/dist/cache/fileCache.cjs.map +1 -0
- package/dist/cache/fileCache.d.cts +48 -0
- package/dist/cache/fileCache.d.ts +48 -0
- package/dist/cache/fileCache.js +115 -0
- package/dist/cache/fileCache.js.map +1 -0
- package/dist/cache/nullCache.cjs +40 -0
- package/dist/cache/nullCache.cjs.map +1 -0
- package/dist/cache/nullCache.d.cts +36 -0
- package/dist/cache/nullCache.d.ts +36 -0
- package/dist/cache/nullCache.js +38 -0
- package/dist/cache/nullCache.js.map +1 -0
- package/dist/cache/slidingCache.cjs +81 -0
- package/dist/cache/slidingCache.cjs.map +1 -0
- package/dist/cache/slidingCache.d.cts +53 -0
- package/dist/cache/slidingCache.d.ts +53 -0
- package/dist/cache/slidingCache.js +79 -0
- package/dist/cache/slidingCache.js.map +1 -0
- package/dist/cache/unconstrainedCache.cjs +46 -0
- package/dist/cache/unconstrainedCache.cjs.map +1 -0
- package/dist/cache/unconstrainedCache.d.cts +37 -0
- package/dist/cache/unconstrainedCache.d.ts +37 -0
- package/dist/cache/unconstrainedCache.js +44 -0
- package/dist/cache/unconstrainedCache.js.map +1 -0
- package/dist/context.cjs +162 -0
- package/dist/context.cjs.map +1 -0
- package/dist/context.d.cts +79 -0
- package/dist/context.d.ts +79 -0
- package/dist/context.js +159 -0
- package/dist/context.js.map +1 -0
- package/dist/emitter/emitter.cjs +222 -0
- package/dist/emitter/emitter.cjs.map +1 -0
- package/dist/emitter/emitter.d.cts +4 -0
- package/dist/emitter/emitter.d.ts +4 -0
- package/dist/emitter/emitter.js +220 -0
- package/dist/emitter/emitter.js.map +1 -0
- package/dist/emitter/errors.cjs +15 -0
- package/dist/emitter/errors.cjs.map +1 -0
- package/dist/emitter/errors.d.cts +24 -0
- package/dist/emitter/errors.d.ts +24 -0
- package/dist/emitter/errors.js +13 -0
- package/dist/emitter/errors.js.map +1 -0
- package/dist/emitter/types.cjs +4 -0
- package/dist/emitter/types.cjs.map +1 -0
- package/dist/emitter/types.d.cts +4 -0
- package/dist/emitter/types.d.ts +4 -0
- package/dist/emitter/types.js +3 -0
- package/dist/emitter/types.js.map +1 -0
- package/dist/emitter/utils.cjs +38 -0
- package/dist/emitter/utils.cjs.map +1 -0
- package/dist/emitter/utils.d.cts +21 -0
- package/dist/emitter/utils.d.ts +21 -0
- package/dist/emitter/utils.js +33 -0
- package/dist/emitter/utils.js.map +1 -0
- package/dist/emitter-BWtGHYn0.d.cts +121 -0
- package/dist/emitter-l0W9gC1A.d.ts +121 -0
- package/dist/errors.cjs +144 -0
- package/dist/errors.cjs.map +1 -0
- package/dist/errors.d.cts +50 -0
- package/dist/errors.d.ts +50 -0
- package/dist/errors.js +116 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.cjs +49 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +23 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/instrumentation/config.cjs +12 -0
- package/dist/instrumentation/config.cjs.map +1 -0
- package/dist/instrumentation/config.d.cts +19 -0
- package/dist/instrumentation/config.d.ts +19 -0
- package/dist/instrumentation/config.js +9 -0
- package/dist/instrumentation/config.js.map +1 -0
- package/dist/instrumentation/create-telemetry-middleware.cjs +239 -0
- package/dist/instrumentation/create-telemetry-middleware.cjs.map +1 -0
- package/dist/instrumentation/create-telemetry-middleware.d.cts +26 -0
- package/dist/instrumentation/create-telemetry-middleware.d.ts +26 -0
- package/dist/instrumentation/create-telemetry-middleware.js +237 -0
- package/dist/instrumentation/create-telemetry-middleware.js.map +1 -0
- package/dist/instrumentation/helpers/create-span.cjs +36 -0
- package/dist/instrumentation/helpers/create-span.cjs.map +1 -0
- package/dist/instrumentation/helpers/create-span.d.cts +34 -0
- package/dist/instrumentation/helpers/create-span.d.ts +34 -0
- package/dist/instrumentation/helpers/create-span.js +34 -0
- package/dist/instrumentation/helpers/create-span.js.map +1 -0
- package/dist/instrumentation/helpers/get-error-safe.cjs +20 -0
- package/dist/instrumentation/helpers/get-error-safe.cjs.map +1 -0
- package/dist/instrumentation/helpers/get-error-safe.d.cts +18 -0
- package/dist/instrumentation/helpers/get-error-safe.d.ts +18 -0
- package/dist/instrumentation/helpers/get-error-safe.js +18 -0
- package/dist/instrumentation/helpers/get-error-safe.js.map +1 -0
- package/dist/instrumentation/helpers/get-serialized-object-safe.cjs +27 -0
- package/dist/instrumentation/helpers/get-serialized-object-safe.cjs.map +1 -0
- package/dist/instrumentation/helpers/get-serialized-object-safe.d.cts +18 -0
- package/dist/instrumentation/helpers/get-serialized-object-safe.d.ts +18 -0
- package/dist/instrumentation/helpers/get-serialized-object-safe.js +25 -0
- package/dist/instrumentation/helpers/get-serialized-object-safe.js.map +1 -0
- package/dist/instrumentation/helpers/id-name-manager.cjs +34 -0
- package/dist/instrumentation/helpers/id-name-manager.cjs.map +1 -0
- package/dist/instrumentation/helpers/id-name-manager.d.cts +31 -0
- package/dist/instrumentation/helpers/id-name-manager.d.ts +31 -0
- package/dist/instrumentation/helpers/id-name-manager.js +32 -0
- package/dist/instrumentation/helpers/id-name-manager.js.map +1 -0
- package/dist/instrumentation/helpers/trace-serializer.cjs +30 -0
- package/dist/instrumentation/helpers/trace-serializer.cjs.map +1 -0
- package/dist/instrumentation/helpers/trace-serializer.d.cts +20 -0
- package/dist/instrumentation/helpers/trace-serializer.d.ts +20 -0
- package/dist/instrumentation/helpers/trace-serializer.js +28 -0
- package/dist/instrumentation/helpers/trace-serializer.js.map +1 -0
- package/dist/instrumentation/helpers/utils.cjs +14 -0
- package/dist/instrumentation/helpers/utils.cjs.map +1 -0
- package/dist/instrumentation/helpers/utils.d.cts +40 -0
- package/dist/instrumentation/helpers/utils.d.ts +40 -0
- package/dist/instrumentation/helpers/utils.js +12 -0
- package/dist/instrumentation/helpers/utils.js.map +1 -0
- package/dist/instrumentation/logger.cjs +12 -0
- package/dist/instrumentation/logger.cjs.map +1 -0
- package/dist/instrumentation/logger.d.cts +26 -0
- package/dist/instrumentation/logger.d.ts +26 -0
- package/dist/instrumentation/logger.js +10 -0
- package/dist/instrumentation/logger.js.map +1 -0
- package/dist/instrumentation/tracer.cjs +84 -0
- package/dist/instrumentation/tracer.cjs.map +1 -0
- package/dist/instrumentation/tracer.d.cts +36 -0
- package/dist/instrumentation/tracer.d.ts +36 -0
- package/dist/instrumentation/tracer.js +76 -0
- package/dist/instrumentation/tracer.js.map +1 -0
- package/dist/instrumentation/types.cjs +4 -0
- package/dist/instrumentation/types.cjs.map +1 -0
- package/dist/instrumentation/types.d.cts +39 -0
- package/dist/instrumentation/types.d.ts +39 -0
- package/dist/instrumentation/types.js +3 -0
- package/dist/instrumentation/types.js.map +1 -0
- package/dist/internals/env.cjs +43 -0
- package/dist/internals/env.cjs.map +1 -0
- package/dist/internals/env.d.cts +27 -0
- package/dist/internals/env.d.ts +27 -0
- package/dist/internals/env.js +39 -0
- package/dist/internals/env.js.map +1 -0
- package/dist/internals/fetcher.cjs +189 -0
- package/dist/internals/fetcher.cjs.map +1 -0
- package/dist/internals/fetcher.d.cts +101 -0
- package/dist/internals/fetcher.d.ts +101 -0
- package/dist/internals/fetcher.js +185 -0
- package/dist/internals/fetcher.js.map +1 -0
- package/dist/internals/helpers/array.cjs +30 -0
- package/dist/internals/helpers/array.cjs.map +1 -0
- package/dist/internals/helpers/array.d.cts +21 -0
- package/dist/internals/helpers/array.d.ts +21 -0
- package/dist/internals/helpers/array.js +26 -0
- package/dist/internals/helpers/array.js.map +1 -0
- package/dist/internals/helpers/cancellation.cjs +29 -0
- package/dist/internals/helpers/cancellation.cjs.map +1 -0
- package/dist/internals/helpers/cancellation.d.cts +19 -0
- package/dist/internals/helpers/cancellation.d.ts +19 -0
- package/dist/internals/helpers/cancellation.js +26 -0
- package/dist/internals/helpers/cancellation.js.map +1 -0
- package/dist/internals/helpers/counter.cjs +53 -0
- package/dist/internals/helpers/counter.cjs.map +1 -0
- package/dist/internals/helpers/counter.d.cts +40 -0
- package/dist/internals/helpers/counter.d.ts +40 -0
- package/dist/internals/helpers/counter.js +51 -0
- package/dist/internals/helpers/counter.js.map +1 -0
- package/dist/internals/helpers/general.cjs +31 -0
- package/dist/internals/helpers/general.cjs.map +1 -0
- package/dist/internals/helpers/general.d.cts +25 -0
- package/dist/internals/helpers/general.d.ts +25 -0
- package/dist/internals/helpers/general.js +28 -0
- package/dist/internals/helpers/general.js.map +1 -0
- package/dist/internals/helpers/guards.cjs +34 -0
- package/dist/internals/helpers/guards.cjs.map +1 -0
- package/dist/internals/helpers/guards.d.cts +19 -0
- package/dist/internals/helpers/guards.d.ts +19 -0
- package/dist/internals/helpers/guards.js +12 -0
- package/dist/internals/helpers/guards.js.map +1 -0
- package/dist/internals/helpers/hash.cjs +21 -0
- package/dist/internals/helpers/hash.cjs.map +1 -0
- package/dist/internals/helpers/hash.d.cts +19 -0
- package/dist/internals/helpers/hash.d.ts +19 -0
- package/dist/internals/helpers/hash.js +18 -0
- package/dist/internals/helpers/hash.js.map +1 -0
- package/dist/internals/helpers/map.cjs +16 -0
- package/dist/internals/helpers/map.cjs.map +1 -0
- package/dist/internals/helpers/map.d.cts +18 -0
- package/dist/internals/helpers/map.d.ts +18 -0
- package/dist/internals/helpers/map.js +14 -0
- package/dist/internals/helpers/map.js.map +1 -0
- package/dist/internals/helpers/math.cjs +31 -0
- package/dist/internals/helpers/math.cjs.map +1 -0
- package/dist/internals/helpers/math.d.cts +19 -0
- package/dist/internals/helpers/math.d.ts +19 -0
- package/dist/internals/helpers/math.js +28 -0
- package/dist/internals/helpers/math.js.map +1 -0
- package/dist/internals/helpers/number.cjs +48 -0
- package/dist/internals/helpers/number.cjs.map +1 -0
- package/dist/internals/helpers/number.d.cts +23 -0
- package/dist/internals/helpers/number.d.ts +23 -0
- package/dist/internals/helpers/number.js +24 -0
- package/dist/internals/helpers/number.js.map +1 -0
- package/dist/internals/helpers/object.cjs +142 -0
- package/dist/internals/helpers/object.cjs.map +1 -0
- package/dist/internals/helpers/object.d.cts +35 -0
- package/dist/internals/helpers/object.d.ts +35 -0
- package/dist/internals/helpers/object.js +108 -0
- package/dist/internals/helpers/object.js.map +1 -0
- package/dist/internals/helpers/paginate.cjs +28 -0
- package/dist/internals/helpers/paginate.cjs.map +1 -0
- package/dist/internals/helpers/paginate.d.cts +28 -0
- package/dist/internals/helpers/paginate.d.ts +28 -0
- package/dist/internals/helpers/paginate.js +26 -0
- package/dist/internals/helpers/paginate.js.map +1 -0
- package/dist/internals/helpers/promise.cjs +143 -0
- package/dist/internals/helpers/promise.cjs.map +1 -0
- package/dist/internals/helpers/promise.d.cts +45 -0
- package/dist/internals/helpers/promise.d.ts +45 -0
- package/dist/internals/helpers/promise.js +132 -0
- package/dist/internals/helpers/promise.js.map +1 -0
- package/dist/internals/helpers/prototype.cjs +56 -0
- package/dist/internals/helpers/prototype.cjs.map +1 -0
- package/dist/internals/helpers/prototype.d.cts +24 -0
- package/dist/internals/helpers/prototype.d.ts +24 -0
- package/dist/internals/helpers/prototype.js +32 -0
- package/dist/internals/helpers/prototype.js.map +1 -0
- package/dist/internals/helpers/retry.cjs +44 -0
- package/dist/internals/helpers/retry.cjs.map +1 -0
- package/dist/internals/helpers/retry.d.cts +29 -0
- package/dist/internals/helpers/retry.d.ts +29 -0
- package/dist/internals/helpers/retry.js +42 -0
- package/dist/internals/helpers/retry.js.map +1 -0
- package/dist/internals/helpers/retryable.cjs +169 -0
- package/dist/internals/helpers/retryable.cjs.map +1 -0
- package/dist/internals/helpers/retryable.d.cts +71 -0
- package/dist/internals/helpers/retryable.d.ts +71 -0
- package/dist/internals/helpers/retryable.js +146 -0
- package/dist/internals/helpers/retryable.js.map +1 -0
- package/dist/internals/helpers/schema.cjs +78 -0
- package/dist/internals/helpers/schema.cjs.map +1 -0
- package/dist/internals/helpers/schema.d.cts +36 -0
- package/dist/internals/helpers/schema.d.ts +36 -0
- package/dist/internals/helpers/schema.js +69 -0
- package/dist/internals/helpers/schema.js.map +1 -0
- package/dist/internals/helpers/stream.cjs +21 -0
- package/dist/internals/helpers/stream.cjs.map +1 -0
- package/dist/internals/helpers/stream.d.cts +19 -0
- package/dist/internals/helpers/stream.d.ts +19 -0
- package/dist/internals/helpers/stream.js +18 -0
- package/dist/internals/helpers/stream.js.map +1 -0
- package/dist/internals/helpers/string.cjs +230 -0
- package/dist/internals/helpers/string.cjs.map +1 -0
- package/dist/internals/helpers/string.d.cts +57 -0
- package/dist/internals/helpers/string.d.ts +57 -0
- package/dist/internals/helpers/string.js +201 -0
- package/dist/internals/helpers/string.js.map +1 -0
- package/dist/internals/helpers/weakRef.cjs +65 -0
- package/dist/internals/helpers/weakRef.cjs.map +1 -0
- package/dist/internals/helpers/weakRef.d.cts +29 -0
- package/dist/internals/helpers/weakRef.d.ts +29 -0
- package/dist/internals/helpers/weakRef.js +61 -0
- package/dist/internals/helpers/weakRef.js.map +1 -0
- package/dist/internals/serializable.cjs +63 -0
- package/dist/internals/serializable.cjs.map +1 -0
- package/dist/internals/serializable.d.cts +36 -0
- package/dist/internals/serializable.d.ts +36 -0
- package/dist/internals/serializable.js +61 -0
- package/dist/internals/serializable.js.map +1 -0
- package/dist/internals/types.cjs +15 -0
- package/dist/internals/types.cjs.map +1 -0
- package/dist/internals/types.d.cts +92 -0
- package/dist/internals/types.d.ts +92 -0
- package/dist/internals/types.js +13 -0
- package/dist/internals/types.js.map +1 -0
- package/dist/logger/logger.cjs +210 -0
- package/dist/logger/logger.cjs.map +1 -0
- package/dist/logger/logger.d.cts +48 -0
- package/dist/logger/logger.d.ts +48 -0
- package/dist/logger/logger.js +181 -0
- package/dist/logger/logger.js.map +1 -0
- package/dist/logger/pretty.cjs +79 -0
- package/dist/logger/pretty.cjs.map +1 -0
- package/dist/logger/pretty.d.cts +5 -0
- package/dist/logger/pretty.d.ts +5 -0
- package/dist/logger/pretty.js +72 -0
- package/dist/logger/pretty.js.map +1 -0
- package/dist/memory/base.cjs +98 -0
- package/dist/memory/base.cjs.map +1 -0
- package/dist/memory/base.d.cts +44 -0
- package/dist/memory/base.d.ts +44 -0
- package/dist/memory/base.js +93 -0
- package/dist/memory/base.js.map +1 -0
- package/dist/memory/slidingMemory.cjs +79 -0
- package/dist/memory/slidingMemory.cjs.map +1 -0
- package/dist/memory/slidingMemory.d.cts +30 -0
- package/dist/memory/slidingMemory.d.ts +30 -0
- package/dist/memory/slidingMemory.js +77 -0
- package/dist/memory/slidingMemory.js.map +1 -0
- package/dist/memory/summarizeMemory.cjs +82 -0
- package/dist/memory/summarizeMemory.cjs.map +1 -0
- package/dist/memory/summarizeMemory.d.cts +65 -0
- package/dist/memory/summarizeMemory.d.ts +65 -0
- package/dist/memory/summarizeMemory.js +79 -0
- package/dist/memory/summarizeMemory.js.map +1 -0
- package/dist/memory/tokenMemory.cjs +154 -0
- package/dist/memory/tokenMemory.cjs.map +1 -0
- package/dist/memory/tokenMemory.d.cts +55 -0
- package/dist/memory/tokenMemory.d.ts +55 -0
- package/dist/memory/tokenMemory.js +133 -0
- package/dist/memory/tokenMemory.js.map +1 -0
- package/dist/memory/unconstrainedMemory.cjs +43 -0
- package/dist/memory/unconstrainedMemory.cjs.map +1 -0
- package/dist/memory/unconstrainedMemory.d.cts +20 -0
- package/dist/memory/unconstrainedMemory.d.ts +20 -0
- package/dist/memory/unconstrainedMemory.js +41 -0
- package/dist/memory/unconstrainedMemory.js.map +1 -0
- package/dist/parsers/errors.cjs +32 -0
- package/dist/parsers/errors.cjs.map +1 -0
- package/dist/parsers/errors.d.cts +46 -0
- package/dist/parsers/errors.d.ts +46 -0
- package/dist/parsers/errors.js +30 -0
- package/dist/parsers/errors.js.map +1 -0
- package/dist/parsers/field.cjs +192 -0
- package/dist/parsers/field.cjs.map +1 -0
- package/dist/parsers/field.d.cts +68 -0
- package/dist/parsers/field.d.ts +68 -0
- package/dist/parsers/field.js +188 -0
- package/dist/parsers/field.js.map +1 -0
- package/dist/parsers/linePrefix.cjs +312 -0
- package/dist/parsers/linePrefix.cjs.map +1 -0
- package/dist/parsers/linePrefix.d.cts +127 -0
- package/dist/parsers/linePrefix.d.ts +127 -0
- package/dist/parsers/linePrefix.js +305 -0
- package/dist/parsers/linePrefix.js.map +1 -0
- package/dist/serializer/error.cjs +21 -0
- package/dist/serializer/error.cjs.map +1 -0
- package/dist/serializer/error.d.cts +25 -0
- package/dist/serializer/error.d.ts +25 -0
- package/dist/serializer/error.js +19 -0
- package/dist/serializer/error.js.map +1 -0
- package/dist/serializer/serializer.cjs +543 -0
- package/dist/serializer/serializer.cjs.map +1 -0
- package/dist/serializer/serializer.d.cts +4 -0
- package/dist/serializer/serializer.d.ts +4 -0
- package/dist/serializer/serializer.js +521 -0
- package/dist/serializer/serializer.js.map +1 -0
- package/dist/serializer/utils.cjs +261 -0
- package/dist/serializer/utils.cjs.map +1 -0
- package/dist/serializer/utils.d.cts +4 -0
- package/dist/serializer/utils.d.ts +4 -0
- package/dist/serializer/utils.js +226 -0
- package/dist/serializer/utils.js.map +1 -0
- package/dist/serializer-CJx5ZpUx.d.cts +125 -0
- package/dist/serializer-VYDhdryk.d.ts +125 -0
- package/dist/template.cjs +121 -0
- package/dist/template.cjs.map +1 -0
- package/dist/template.d.cts +75 -0
- package/dist/template.d.ts +75 -0
- package/dist/template.js +113 -0
- package/dist/template.js.map +1 -0
- package/dist/tools/arxiv.cjs +212 -0
- package/dist/tools/arxiv.cjs.map +1 -0
- package/dist/tools/arxiv.d.cts +196 -0
- package/dist/tools/arxiv.d.ts +196 -0
- package/dist/tools/arxiv.js +205 -0
- package/dist/tools/arxiv.js.map +1 -0
- package/dist/tools/base.cjs +434 -0
- package/dist/tools/base.cjs.map +1 -0
- package/dist/tools/base.d.cts +156 -0
- package/dist/tools/base.d.ts +156 -0
- package/dist/tools/base.js +407 -0
- package/dist/tools/base.js.map +1 -0
- package/dist/tools/calculator.cjs +74 -0
- package/dist/tools/calculator.cjs.map +1 -0
- package/dist/tools/calculator.d.cts +63 -0
- package/dist/tools/calculator.d.ts +63 -0
- package/dist/tools/calculator.js +72 -0
- package/dist/tools/calculator.js.map +1 -0
- package/dist/tools/custom.cjs +122 -0
- package/dist/tools/custom.cjs.map +1 -0
- package/dist/tools/custom.d.cts +110 -0
- package/dist/tools/custom.d.ts +110 -0
- package/dist/tools/custom.js +118 -0
- package/dist/tools/custom.js.map +1 -0
- package/dist/tools/database/elasticsearch.cjs +157 -0
- package/dist/tools/database/elasticsearch.cjs.map +1 -0
- package/dist/tools/database/elasticsearch.d.cts +78 -0
- package/dist/tools/database/elasticsearch.d.ts +78 -0
- package/dist/tools/database/elasticsearch.js +154 -0
- package/dist/tools/database/elasticsearch.js.map +1 -0
- package/dist/tools/database/metadata.cjs +114 -0
- package/dist/tools/database/metadata.cjs.map +1 -0
- package/dist/tools/database/metadata.d.cts +27 -0
- package/dist/tools/database/metadata.d.ts +27 -0
- package/dist/tools/database/metadata.js +112 -0
- package/dist/tools/database/metadata.js.map +1 -0
- package/dist/tools/database/milvus.cjs +191 -0
- package/dist/tools/database/milvus.cjs.map +1 -0
- package/dist/tools/database/milvus.d.cts +89 -0
- package/dist/tools/database/milvus.d.ts +89 -0
- package/dist/tools/database/milvus.js +188 -0
- package/dist/tools/database/milvus.js.map +1 -0
- package/dist/tools/database/sql.cjs +174 -0
- package/dist/tools/database/sql.cjs.map +1 -0
- package/dist/tools/database/sql.d.cts +71 -0
- package/dist/tools/database/sql.d.ts +71 -0
- package/dist/tools/database/sql.js +170 -0
- package/dist/tools/database/sql.js.map +1 -0
- package/dist/tools/llm.cjs +74 -0
- package/dist/tools/llm.cjs.map +1 -0
- package/dist/tools/llm.d.cts +68 -0
- package/dist/tools/llm.d.ts +68 -0
- package/dist/tools/llm.js +72 -0
- package/dist/tools/llm.js.map +1 -0
- package/dist/tools/mcp.cjs +73 -0
- package/dist/tools/mcp.cjs.map +1 -0
- package/dist/tools/mcp.d.cts +52 -0
- package/dist/tools/mcp.d.ts +52 -0
- package/dist/tools/mcp.js +70 -0
- package/dist/tools/mcp.js.map +1 -0
- package/dist/tools/openapi.cjs +178 -0
- package/dist/tools/openapi.cjs.map +1 -0
- package/dist/tools/openapi.d.cts +59 -0
- package/dist/tools/openapi.d.ts +59 -0
- package/dist/tools/openapi.js +175 -0
- package/dist/tools/openapi.js.map +1 -0
- package/dist/tools/python/output.cjs +65 -0
- package/dist/tools/python/output.cjs.map +1 -0
- package/dist/tools/python/output.d.cts +52 -0
- package/dist/tools/python/output.d.ts +52 -0
- package/dist/tools/python/output.js +63 -0
- package/dist/tools/python/output.js.map +1 -0
- package/dist/tools/python/python.cjs +163 -0
- package/dist/tools/python/python.cjs.map +1 -0
- package/dist/tools/python/python.d.cts +91 -0
- package/dist/tools/python/python.d.ts +91 -0
- package/dist/tools/python/python.js +160 -0
- package/dist/tools/python/python.js.map +1 -0
- package/dist/tools/python/storage.cjs +170 -0
- package/dist/tools/python/storage.cjs.map +1 -0
- package/dist/tools/python/storage.d.cts +83 -0
- package/dist/tools/python/storage.d.ts +83 -0
- package/dist/tools/python/storage.js +142 -0
- package/dist/tools/python/storage.js.map +1 -0
- package/dist/tools/search/base.cjs +77 -0
- package/dist/tools/search/base.cjs.map +1 -0
- package/dist/tools/search/base.d.cts +49 -0
- package/dist/tools/search/base.d.ts +49 -0
- package/dist/tools/search/base.js +55 -0
- package/dist/tools/search/base.js.map +1 -0
- package/dist/tools/search/duckDuckGoSearch.cjs +146 -0
- package/dist/tools/search/duckDuckGoSearch.cjs.map +1 -0
- package/dist/tools/search/duckDuckGoSearch.d.cts +75 -0
- package/dist/tools/search/duckDuckGoSearch.d.ts +75 -0
- package/dist/tools/search/duckDuckGoSearch.js +136 -0
- package/dist/tools/search/duckDuckGoSearch.js.map +1 -0
- package/dist/tools/search/googleSearch.cjs +155 -0
- package/dist/tools/search/googleSearch.cjs.map +1 -0
- package/dist/tools/search/googleSearch.d.cts +62 -0
- package/dist/tools/search/googleSearch.d.ts +62 -0
- package/dist/tools/search/googleSearch.js +152 -0
- package/dist/tools/search/googleSearch.js.map +1 -0
- package/dist/tools/search/searXNGSearch.cjs +86 -0
- package/dist/tools/search/searXNGSearch.cjs.map +1 -0
- package/dist/tools/search/searXNGSearch.d.cts +61 -0
- package/dist/tools/search/searXNGSearch.d.ts +61 -0
- package/dist/tools/search/searXNGSearch.js +83 -0
- package/dist/tools/search/searXNGSearch.js.map +1 -0
- package/dist/tools/search/wikipedia.cjs +338 -0
- package/dist/tools/search/wikipedia.cjs.map +1 -0
- package/dist/tools/search/wikipedia.d.cts +108 -0
- package/dist/tools/search/wikipedia.d.ts +108 -0
- package/dist/tools/search/wikipedia.js +310 -0
- package/dist/tools/search/wikipedia.js.map +1 -0
- package/dist/tools/similarity.cjs +61 -0
- package/dist/tools/similarity.cjs.map +1 -0
- package/dist/tools/similarity.d.cts +90 -0
- package/dist/tools/similarity.d.ts +90 -0
- package/dist/tools/similarity.js +58 -0
- package/dist/tools/similarity.js.map +1 -0
- package/dist/tools/weather/openMeteo.cjs +221 -0
- package/dist/tools/weather/openMeteo.cjs.map +1 -0
- package/dist/tools/weather/openMeteo.d.cts +123 -0
- package/dist/tools/weather/openMeteo.d.ts +123 -0
- package/dist/tools/weather/openMeteo.js +218 -0
- package/dist/tools/weather/openMeteo.js.map +1 -0
- package/dist/tools/web/webCrawler.cjs +111 -0
- package/dist/tools/web/webCrawler.cjs.map +1 -0
- package/dist/tools/web/webCrawler.d.cts +66 -0
- package/dist/tools/web/webCrawler.d.ts +66 -0
- package/dist/tools/web/webCrawler.js +108 -0
- package/dist/tools/web/webCrawler.js.map +1 -0
- package/dist/version.cjs +9 -0
- package/dist/version.cjs.map +1 -0
- package/dist/version.d.cts +18 -0
- package/dist/version.d.ts +18 -0
- package/dist/version.js +9 -0
- package/dist/version.js.map +1 -0
- package/dist/workflows/agent.cjs +95 -0
- package/dist/workflows/agent.cjs.map +1 -0
- package/dist/workflows/agent.d.cts +166 -0
- package/dist/workflows/agent.d.ts +166 -0
- package/dist/workflows/agent.js +93 -0
- package/dist/workflows/agent.js.map +1 -0
- package/dist/workflows/workflow.cjs +222 -0
- package/dist/workflows/workflow.cjs.map +1 -0
- package/dist/workflows/workflow.d.cts +118 -0
- package/dist/workflows/workflow.d.ts +118 -0
- package/dist/workflows/workflow.js +219 -0
- package/dist/workflows/workflow.js.map +1 -0
- package/package.json +339 -0
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var getSerializedObjectSafe_cjs = require('./helpers/get-serialized-object-safe.cjs');
|
|
4
|
+
var createSpan_cjs = require('./helpers/create-span.cjs');
|
|
5
|
+
var idNameManager_cjs = require('./helpers/id-name-manager.cjs');
|
|
6
|
+
var getErrorSafe_cjs = require('./helpers/get-error-safe.cjs');
|
|
7
|
+
var remeda = require('remeda');
|
|
8
|
+
var errors_cjs = require('../errors.cjs');
|
|
9
|
+
var version_cjs = require('../version.cjs');
|
|
10
|
+
var tracer_cjs = require('./tracer.cjs');
|
|
11
|
+
var traceSerializer_cjs = require('./helpers/trace-serializer.cjs');
|
|
12
|
+
var config_cjs = require('./config.cjs');
|
|
13
|
+
var utils_cjs = require('../emitter/utils.cjs');
|
|
14
|
+
var logger_cjs = require('./logger.cjs');
|
|
15
|
+
var base_cjs = require('../agents/base.cjs');
|
|
16
|
+
var utils_cjs$1 = require('./helpers/utils.cjs');
|
|
17
|
+
var message_cjs = require('../backend/message.cjs');
|
|
18
|
+
|
|
19
|
+
var __defProp = Object.defineProperty;
|
|
20
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
21
|
+
function createTelemetryMiddleware() {
|
|
22
|
+
return (context) => {
|
|
23
|
+
if (!context.emitter?.trace?.id) {
|
|
24
|
+
throw new errors_cjs.FrameworkError(`Fatal error. Missing traceId`, [], {
|
|
25
|
+
context
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
const traceId = context.emitter?.trace?.id;
|
|
29
|
+
if (tracer_cjs.activeTracesMap.has(traceId)) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
tracer_cjs.activeTracesMap.set(traceId, context.instance.constructor.name);
|
|
33
|
+
logger_cjs.instrumentationLogger.debug({
|
|
34
|
+
source: context.instance.constructor.name,
|
|
35
|
+
traceId
|
|
36
|
+
}, "createTelemetryMiddleware");
|
|
37
|
+
const { emitter, runParams, instance } = context;
|
|
38
|
+
const basePath = utils_cjs.createFullPath(emitter.namespace, "");
|
|
39
|
+
let prompt = null;
|
|
40
|
+
if (instance instanceof base_cjs.BaseAgent) {
|
|
41
|
+
prompt = runParams[0].prompt;
|
|
42
|
+
}
|
|
43
|
+
const spansMap = /* @__PURE__ */ new Map();
|
|
44
|
+
const parentIdsMap = /* @__PURE__ */ new Map();
|
|
45
|
+
const spansToDeleteMap = /* @__PURE__ */ new Map();
|
|
46
|
+
let generatedMessage = void 0;
|
|
47
|
+
let history = void 0;
|
|
48
|
+
const groupIterations = [];
|
|
49
|
+
const idNameManager = new idNameManager_cjs.IdNameManager();
|
|
50
|
+
const newTokenEventName = `newToken`;
|
|
51
|
+
const partialUpdateEventName = "partialUpdate";
|
|
52
|
+
const successEventName = `success`;
|
|
53
|
+
const finishEventName = `finish`;
|
|
54
|
+
const startEventName = `start`;
|
|
55
|
+
const errorEventName = `error`;
|
|
56
|
+
const eventsIterationsMap = /* @__PURE__ */ new Map();
|
|
57
|
+
const startTimeDate = (/* @__PURE__ */ new Date()).getTime();
|
|
58
|
+
const startTimePerf = performance.now();
|
|
59
|
+
function convertDateToPerformance(date) {
|
|
60
|
+
return date.getTime() - startTimeDate + startTimePerf;
|
|
61
|
+
}
|
|
62
|
+
__name(convertDateToPerformance, "convertDateToPerformance");
|
|
63
|
+
const serializer = traceSerializer_cjs.traceSerializer({
|
|
64
|
+
ignored_keys: config_cjs.INSTRUMENTATION_IGNORED_KEYS
|
|
65
|
+
});
|
|
66
|
+
function cleanSpanSources({ spanId }) {
|
|
67
|
+
const parentId = spansMap.get(spanId)?.parent_id;
|
|
68
|
+
if (!parentId) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const spanCount = parentIdsMap.get(parentId);
|
|
72
|
+
if (!spanCount) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
if (spanCount > 1) {
|
|
76
|
+
parentIdsMap.set(parentId, spanCount - 1);
|
|
77
|
+
} else if (spanCount === 1) {
|
|
78
|
+
parentIdsMap.delete(parentId);
|
|
79
|
+
if (spansToDeleteMap.has(parentId)) {
|
|
80
|
+
spansMap.delete(parentId);
|
|
81
|
+
spansToDeleteMap.delete(parentId);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
__name(cleanSpanSources, "cleanSpanSources");
|
|
86
|
+
emitter.match((event) => event.path === `${basePath}.run.${finishEventName}`, async (_, meta) => {
|
|
87
|
+
try {
|
|
88
|
+
logger_cjs.instrumentationLogger.debug({
|
|
89
|
+
path: meta.path,
|
|
90
|
+
traceId
|
|
91
|
+
}, "run finish event");
|
|
92
|
+
if (!prompt && instance instanceof base_cjs.BaseAgent) {
|
|
93
|
+
prompt = remeda.findLast(instance.memory.messages, (message) => message.role === message_cjs.Role.USER)?.text;
|
|
94
|
+
if (!prompt) {
|
|
95
|
+
throw new errors_cjs.FrameworkError("The prompt must be defined for the Agent's run", [], {
|
|
96
|
+
context
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
tracer_cjs.buildTraceTree({
|
|
101
|
+
prompt,
|
|
102
|
+
history,
|
|
103
|
+
generatedMessage,
|
|
104
|
+
spans: JSON.parse(serializer(Array.from(spansMap.values()))),
|
|
105
|
+
traceId,
|
|
106
|
+
version: version_cjs.Version,
|
|
107
|
+
runErrorSpanKey: `${basePath}.run.${errorEventName}`,
|
|
108
|
+
startTime: startTimePerf,
|
|
109
|
+
endTime: performance.now(),
|
|
110
|
+
source: tracer_cjs.activeTracesMap.get(traceId)
|
|
111
|
+
});
|
|
112
|
+
} catch (e) {
|
|
113
|
+
logger_cjs.instrumentationLogger.warn(e, "Instrumentation error");
|
|
114
|
+
} finally {
|
|
115
|
+
tracer_cjs.activeTracesMap.delete(traceId);
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
emitter.match("*.*", (data, meta) => {
|
|
119
|
+
if (meta.path.includes(".run.") && meta.path !== `${basePath}.run.${errorEventName}`) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
if (!meta.trace?.runId) {
|
|
123
|
+
throw new errors_cjs.FrameworkError(`Fatal error. Missing runId for event: ${meta.path}`, [], {
|
|
124
|
+
context
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
if (meta.groupId && !meta.trace.parentRunId && !groupIterations.includes(meta.groupId)) {
|
|
128
|
+
spansMap.set(meta.groupId, createSpan_cjs.createSpan({
|
|
129
|
+
id: meta.groupId,
|
|
130
|
+
name: meta.groupId,
|
|
131
|
+
target: "groupId",
|
|
132
|
+
startedAt: convertDateToPerformance(meta.createdAt)
|
|
133
|
+
}));
|
|
134
|
+
groupIterations.push(meta.groupId);
|
|
135
|
+
}
|
|
136
|
+
const { spanId, parentSpanId } = idNameManager.getIds({
|
|
137
|
+
path: meta.path,
|
|
138
|
+
id: meta.id,
|
|
139
|
+
runId: meta.trace.runId,
|
|
140
|
+
parentRunId: meta.trace.parentRunId,
|
|
141
|
+
groupId: meta.groupId
|
|
142
|
+
});
|
|
143
|
+
const serializedData = getSerializedObjectSafe_cjs.getSerializedObjectSafe(data);
|
|
144
|
+
if (meta.name === partialUpdateEventName && remeda.isEmpty(serializedData)) {
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
const span = createSpan_cjs.createSpan({
|
|
148
|
+
id: spanId,
|
|
149
|
+
name: meta.name,
|
|
150
|
+
target: meta.path,
|
|
151
|
+
...parentSpanId && {
|
|
152
|
+
parent: {
|
|
153
|
+
id: parentSpanId
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
ctx: getSerializedObjectSafe_cjs.getSerializedObjectSafe(meta.context),
|
|
157
|
+
data: serializedData,
|
|
158
|
+
error: getErrorSafe_cjs.getErrorSafe(data),
|
|
159
|
+
startedAt: convertDateToPerformance(meta.createdAt)
|
|
160
|
+
});
|
|
161
|
+
const lastIteration = groupIterations[groupIterations.length - 1];
|
|
162
|
+
const lastIterationOnNewTokenSpanId = eventsIterationsMap.get(lastIteration)?.get(meta.name);
|
|
163
|
+
if (lastIterationOnNewTokenSpanId && meta.name === newTokenEventName) {
|
|
164
|
+
cleanSpanSources({
|
|
165
|
+
spanId: lastIterationOnNewTokenSpanId
|
|
166
|
+
});
|
|
167
|
+
spansMap.delete(lastIterationOnNewTokenSpanId);
|
|
168
|
+
}
|
|
169
|
+
const lastIterationEventSpanId = eventsIterationsMap.get(lastIteration)?.get(meta.name);
|
|
170
|
+
if (lastIterationEventSpanId && partialUpdateEventName === meta.name && spansMap.has(lastIterationEventSpanId)) {
|
|
171
|
+
const { attributes, context: context2 } = spansMap.get(lastIterationEventSpanId);
|
|
172
|
+
if (remeda.isDeepEqual(serializedData, attributes.data)) {
|
|
173
|
+
if (parentIdsMap.has(context2.span_id)) {
|
|
174
|
+
spansToDeleteMap.set(lastIterationEventSpanId, void 0);
|
|
175
|
+
} else {
|
|
176
|
+
cleanSpanSources({
|
|
177
|
+
spanId: lastIterationEventSpanId
|
|
178
|
+
});
|
|
179
|
+
spansMap.delete(lastIterationEventSpanId);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
spansMap.set(span.context.span_id, span);
|
|
184
|
+
if (span.parent_id) {
|
|
185
|
+
parentIdsMap.set(span.parent_id, (parentIdsMap.get(span.parent_id) || 0) + 1);
|
|
186
|
+
}
|
|
187
|
+
if (groupIterations.length > 0) {
|
|
188
|
+
if (eventsIterationsMap.has(lastIteration)) {
|
|
189
|
+
eventsIterationsMap.get(lastIteration).set(meta.name, span.context.span_id);
|
|
190
|
+
} else {
|
|
191
|
+
eventsIterationsMap.set(lastIteration, (/* @__PURE__ */ new Map()).set(meta.name, span.context.span_id));
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
emitter.match((event) => event.name === successEventName && event.creator instanceof base_cjs.BaseAgent, (data) => {
|
|
196
|
+
const { data: dataObject, memory } = data;
|
|
197
|
+
generatedMessage = {
|
|
198
|
+
role: dataObject.role,
|
|
199
|
+
text: dataObject.text
|
|
200
|
+
};
|
|
201
|
+
history = memory.messages.map((msg) => ({
|
|
202
|
+
text: msg.text,
|
|
203
|
+
role: msg.role
|
|
204
|
+
}));
|
|
205
|
+
});
|
|
206
|
+
emitter.match((event) => utils_cjs$1.assertLLMWithMessagesToPromptFn(event.creator) && event.name === startEventName, (_, meta) => {
|
|
207
|
+
if (utils_cjs$1.assertLLMWithMessagesToPromptFn(meta.creator) && meta.trace) {
|
|
208
|
+
const path = `${meta.path}.custom`;
|
|
209
|
+
const { spanId, parentSpanId } = idNameManager.getIds({
|
|
210
|
+
path,
|
|
211
|
+
id: meta.id,
|
|
212
|
+
runId: meta.trace.runId,
|
|
213
|
+
parentRunId: meta.trace.parentRunId,
|
|
214
|
+
groupId: meta.groupId
|
|
215
|
+
});
|
|
216
|
+
spansMap.set(spanId, createSpan_cjs.createSpan({
|
|
217
|
+
id: spanId,
|
|
218
|
+
name: `${meta.name}Custom`,
|
|
219
|
+
target: path,
|
|
220
|
+
startedAt: convertDateToPerformance(meta.createdAt),
|
|
221
|
+
...parentSpanId && {
|
|
222
|
+
parent: {
|
|
223
|
+
id: parentSpanId
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
data: {
|
|
227
|
+
rawPrompt: void 0,
|
|
228
|
+
creator: meta.creator.createSnapshot()
|
|
229
|
+
}
|
|
230
|
+
}));
|
|
231
|
+
}
|
|
232
|
+
});
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
__name(createTelemetryMiddleware, "createTelemetryMiddleware");
|
|
236
|
+
|
|
237
|
+
exports.createTelemetryMiddleware = createTelemetryMiddleware;
|
|
238
|
+
//# sourceMappingURL=create-telemetry-middleware.cjs.map
|
|
239
|
+
//# sourceMappingURL=create-telemetry-middleware.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/instrumentation/create-telemetry-middleware.ts"],"names":["createTelemetryMiddleware","context","emitter","trace","id","FrameworkError","traceId","activeTracesMap","has","set","instance","constructor","name","instrumentationLogger","debug","source","runParams","basePath","createFullPath","namespace","prompt","BaseAgent","spansMap","Map","parentIdsMap","spansToDeleteMap","generatedMessage","undefined","history","groupIterations","idNameManager","IdNameManager","newTokenEventName","partialUpdateEventName","successEventName","finishEventName","startEventName","errorEventName","eventsIterationsMap","startTimeDate","Date","getTime","startTimePerf","performance","now","convertDateToPerformance","date","serializer","traceSerializer","ignored_keys","INSTRUMENTATION_IGNORED_KEYS","cleanSpanSources","spanId","parentId","get","parent_id","spanCount","delete","match","event","path","_","meta","findLast","memory","messages","message","role","Role","USER","text","buildTraceTree","spans","JSON","parse","Array","from","values","version","Version","runErrorSpanKey","startTime","endTime","e","warn","data","includes","runId","groupId","parentRunId","createSpan","target","startedAt","createdAt","push","parentSpanId","getIds","serializedData","getSerializedObjectSafe","isEmpty","span","parent","ctx","error","getErrorSafe","lastIteration","length","lastIterationOnNewTokenSpanId","lastIterationEventSpanId","attributes","isDeepEqual","span_id","creator","dataObject","map","msg","assertLLMWithMessagesToPromptFn","rawPrompt","createSnapshot"],"mappings":"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","file":"create-telemetry-middleware.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { getSerializedObjectSafe } from \"./helpers/get-serialized-object-safe.js\";\nimport { createSpan } from \"./helpers/create-span.js\";\nimport { IdNameManager } from \"./helpers/id-name-manager.js\";\nimport { getErrorSafe } from \"./helpers/get-error-safe.js\";\nimport { findLast, isDeepEqual, isEmpty } from \"remeda\";\nimport type { BeeCallbacks } from \"@/agents/bee/types.js\";\nimport type { InferCallbackValue } from \"@/emitter/types.js\";\nimport { FrameworkError } from \"@/errors.js\";\nimport { Version } from \"@/version.js\";\nimport type { GetRunContext, RunInstance } from \"@/context.js\";\nimport type { GeneratedResponse, FrameworkSpan } from \"./types.js\";\nimport { activeTracesMap, buildTraceTree } from \"./tracer.js\";\nimport { traceSerializer } from \"./helpers/trace-serializer.js\";\nimport { INSTRUMENTATION_IGNORED_KEYS } from \"./config.js\";\nimport { createFullPath } from \"@/emitter/utils.js\";\nimport type { BeeAgent } from \"@/agents/bee/agent.js\";\nimport { instrumentationLogger } from \"./logger.js\";\nimport { BaseAgent } from \"@/agents/base.js\";\nimport { assertLLMWithMessagesToPromptFn } from \"./helpers/utils.js\";\nimport { Role } from \"@/backend/message.js\";\nimport { ChatModelEvents } from \"@/backend/chat.js\";\n\nexport function createTelemetryMiddleware() {\n return (context: GetRunContext<RunInstance, unknown>) => {\n if (!context.emitter?.trace?.id) {\n throw new FrameworkError(`Fatal error. Missing traceId`, [], { context });\n }\n\n const traceId = context.emitter?.trace?.id;\n if (activeTracesMap.has(traceId)) {\n return;\n }\n activeTracesMap.set(traceId, context.instance.constructor.name);\n\n instrumentationLogger.debug(\n {\n source: context.instance.constructor.name,\n traceId: traceId,\n },\n \"createTelemetryMiddleware\",\n );\n const { emitter, runParams, instance } = context;\n const basePath = createFullPath(emitter.namespace, \"\");\n\n let prompt: string | undefined | null = null;\n if (instance instanceof BaseAgent) {\n prompt = (runParams as Parameters<BeeAgent[\"run\"]>)[0].prompt;\n }\n\n const spansMap = new Map<string, FrameworkSpan>();\n const parentIdsMap = new Map<string, number>();\n const spansToDeleteMap = new Map<string, undefined>();\n\n let generatedMessage: GeneratedResponse | undefined = undefined;\n let history: GeneratedResponse[] | undefined = undefined;\n const groupIterations: string[] = [];\n\n const idNameManager = new IdNameManager();\n\n const newTokenEventName: keyof ChatModelEvents = `newToken`;\n const partialUpdateEventName: keyof BeeCallbacks = \"partialUpdate\";\n const successEventName: keyof ChatModelEvents = `success`;\n const finishEventName: keyof ChatModelEvents = `finish`;\n const startEventName: keyof ChatModelEvents = `start`;\n const errorEventName: keyof ChatModelEvents = `error`;\n\n const eventsIterationsMap = new Map<string, Map<string, string>>();\n\n const startTimeDate = new Date().getTime();\n const startTimePerf = performance.now();\n function convertDateToPerformance(date: Date) {\n return date.getTime() - startTimeDate + startTimePerf;\n }\n\n const serializer = traceSerializer({ ignored_keys: INSTRUMENTATION_IGNORED_KEYS });\n\n function cleanSpanSources({ spanId }: { spanId: string }) {\n const parentId = spansMap.get(spanId)?.parent_id;\n if (!parentId) {\n return;\n }\n\n const spanCount = parentIdsMap.get(parentId);\n if (!spanCount) {\n return;\n }\n\n if (spanCount > 1) {\n // increase the span count for the parentId\n parentIdsMap.set(parentId, spanCount - 1);\n } else if (spanCount === 1) {\n parentIdsMap.delete(parentId);\n // check the `spansToDelete` if the span should be deleted when it has no children's\n if (spansToDeleteMap.has(parentId)) {\n spansMap.delete(parentId);\n spansToDeleteMap.delete(parentId);\n }\n }\n }\n\n /**\n * Create OpenTelemetry spans from collected data\n */\n emitter.match(\n (event) => event.path === `${basePath}.run.${finishEventName}`,\n async (_, meta) => {\n try {\n instrumentationLogger.debug({ path: meta.path, traceId: traceId }, \"run finish event\");\n\n if (!prompt && instance instanceof BaseAgent) {\n prompt = findLast(\n instance.memory.messages,\n (message) => message.role === Role.USER,\n )?.text;\n\n if (!prompt) {\n throw new FrameworkError(\"The prompt must be defined for the Agent's run\", [], {\n context,\n });\n }\n }\n\n // create tracer spans from collected data\n buildTraceTree({\n prompt: prompt,\n history,\n generatedMessage,\n spans: JSON.parse(serializer(Array.from(spansMap.values()))),\n traceId,\n version: Version,\n runErrorSpanKey: `${basePath}.run.${errorEventName}`,\n startTime: startTimePerf,\n endTime: performance.now(),\n source: activeTracesMap.get(traceId)!,\n });\n } catch (e) {\n instrumentationLogger.warn(e, \"Instrumentation error\");\n } finally {\n activeTracesMap.delete(traceId);\n }\n },\n );\n\n /**\n * This block collects all \"not run category\" events with their data and prepares spans for the OpenTelemetry.\n * The huge number of `newToken` events are skipped and only the last one for each parent event is saved because of `generated_token_count` information\n * The framework event tree structure is different from the open-telemetry tree structure and must be transformed from groupId and parentGroupId pattern via idNameManager\n * The artificial \"iteration\" main tree level is computed from the `meta.groupId`\n */\n emitter.match(\"*.*\", (data, meta) => {\n // allow `run.error` event due to the runtime error information\n if (meta.path.includes(\".run.\") && meta.path !== `${basePath}.run.${errorEventName}`) {\n return;\n }\n if (!meta.trace?.runId) {\n throw new FrameworkError(`Fatal error. Missing runId for event: ${meta.path}`, [], {\n context,\n });\n }\n\n /**\n * create groupId span level (id does not exist)\n * I use only the top-level groups like iterations other nested groups like tokens would introduce unuseful complexity\n */\n if (meta.groupId && !meta.trace.parentRunId && !groupIterations.includes(meta.groupId)) {\n spansMap.set(\n meta.groupId,\n createSpan({\n id: meta.groupId,\n name: meta.groupId,\n target: \"groupId\",\n startedAt: convertDateToPerformance(meta.createdAt),\n }),\n );\n groupIterations.push(meta.groupId);\n }\n\n const { spanId, parentSpanId } = idNameManager.getIds({\n path: meta.path,\n id: meta.id,\n runId: meta.trace.runId,\n parentRunId: meta.trace.parentRunId,\n groupId: meta.groupId,\n });\n\n const serializedData = getSerializedObjectSafe(data);\n\n // skip partialUpdate events with no data\n if (meta.name === partialUpdateEventName && isEmpty(serializedData)) {\n return;\n }\n\n const span = createSpan({\n id: spanId,\n name: meta.name,\n target: meta.path,\n ...(parentSpanId && { parent: { id: parentSpanId } }),\n ctx: getSerializedObjectSafe(meta.context),\n data: serializedData,\n error: getErrorSafe(data),\n startedAt: convertDateToPerformance(meta.createdAt),\n });\n\n const lastIteration = groupIterations[groupIterations.length - 1];\n\n // delete the `newToken` event if exists and create the new one\n const lastIterationOnNewTokenSpanId = eventsIterationsMap.get(lastIteration)?.get(meta.name);\n if (lastIterationOnNewTokenSpanId && meta.name === newTokenEventName) {\n // delete span\n cleanSpanSources({ spanId: lastIterationOnNewTokenSpanId });\n spansMap.delete(lastIterationOnNewTokenSpanId);\n }\n\n // delete the last `partialUpdate` event if the new one has same data and the original one does not have nested spans\n const lastIterationEventSpanId = eventsIterationsMap.get(lastIteration)?.get(meta.name);\n if (\n lastIterationEventSpanId &&\n partialUpdateEventName === meta.name &&\n spansMap.has(lastIterationEventSpanId)\n ) {\n const { attributes, context } = spansMap.get(lastIterationEventSpanId)!;\n\n if (isDeepEqual(serializedData, attributes.data)) {\n if (parentIdsMap.has(context.span_id)) {\n spansToDeleteMap.set(lastIterationEventSpanId, undefined);\n } else {\n // delete span\n cleanSpanSources({ spanId: lastIterationEventSpanId });\n spansMap.delete(lastIterationEventSpanId);\n }\n }\n }\n\n // create new span\n spansMap.set(span.context.span_id, span);\n // update number of nested spans for parent_id if exists\n if (span.parent_id) {\n parentIdsMap.set(span.parent_id, (parentIdsMap.get(span.parent_id) || 0) + 1);\n }\n\n // save the last event for each iteration\n if (groupIterations.length > 0) {\n if (eventsIterationsMap.has(lastIteration)) {\n eventsIterationsMap.get(lastIteration)!.set(meta.name, span.context.span_id);\n } else {\n eventsIterationsMap.set(lastIteration, new Map().set(meta.name, span.context.span_id));\n }\n }\n });\n\n // The generated response and message history are collected from the `success` agent's event\n emitter.match(\n (event) => event.name === successEventName && event.creator instanceof BaseAgent,\n (data: InferCallbackValue<BeeCallbacks[typeof successEventName]>) => {\n const { data: dataObject, memory } = data;\n\n generatedMessage = {\n role: dataObject.role,\n text: dataObject.text,\n };\n history = memory.messages.map((msg) => ({ text: msg.text, role: msg.role }));\n },\n );\n\n // Read rawPrompt from llm input only for supported adapters and create the custom event with it\n emitter.match(\n (event) => assertLLMWithMessagesToPromptFn(event.creator) && event.name === startEventName,\n (_, meta) => {\n if (assertLLMWithMessagesToPromptFn(meta.creator) && meta.trace) {\n // create a custom path to prevent event duplication\n const path = `${meta.path}.custom`;\n\n const { spanId, parentSpanId } = idNameManager.getIds({\n path,\n id: meta.id,\n runId: meta.trace.runId,\n parentRunId: meta.trace.parentRunId,\n groupId: meta.groupId,\n });\n\n spansMap.set(\n spanId,\n createSpan({\n id: spanId,\n name: `${meta.name}Custom`,\n target: path,\n startedAt: convertDateToPerformance(meta.createdAt),\n ...(parentSpanId && { parent: { id: parentSpanId } }),\n data: {\n rawPrompt: undefined,\n creator: meta.creator.createSnapshot(),\n },\n }),\n );\n }\n },\n );\n };\n}\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { GetRunContext, RunInstance } from '../context.cjs';
|
|
2
|
+
import '../emitter-BWtGHYn0.cjs';
|
|
3
|
+
import '../internals/types.cjs';
|
|
4
|
+
import '../internals/helpers/guards.cjs';
|
|
5
|
+
import '../internals/serializable.cjs';
|
|
6
|
+
import '../internals/helpers/promise.cjs';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Copyright 2025 IBM Corp.
|
|
10
|
+
*
|
|
11
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12
|
+
* you may not use this file except in compliance with the License.
|
|
13
|
+
* You may obtain a copy of the License at
|
|
14
|
+
*
|
|
15
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
16
|
+
*
|
|
17
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
18
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
19
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
20
|
+
* See the License for the specific language governing permissions and
|
|
21
|
+
* limitations under the License.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
declare function createTelemetryMiddleware(): (context: GetRunContext<RunInstance, unknown>) => void;
|
|
25
|
+
|
|
26
|
+
export { createTelemetryMiddleware };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { GetRunContext, RunInstance } from '../context.js';
|
|
2
|
+
import '../emitter-l0W9gC1A.js';
|
|
3
|
+
import '../internals/types.js';
|
|
4
|
+
import '../internals/helpers/guards.js';
|
|
5
|
+
import '../internals/serializable.js';
|
|
6
|
+
import '../internals/helpers/promise.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Copyright 2025 IBM Corp.
|
|
10
|
+
*
|
|
11
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12
|
+
* you may not use this file except in compliance with the License.
|
|
13
|
+
* You may obtain a copy of the License at
|
|
14
|
+
*
|
|
15
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
16
|
+
*
|
|
17
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
18
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
19
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
20
|
+
* See the License for the specific language governing permissions and
|
|
21
|
+
* limitations under the License.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
declare function createTelemetryMiddleware(): (context: GetRunContext<RunInstance, unknown>) => void;
|
|
25
|
+
|
|
26
|
+
export { createTelemetryMiddleware };
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import { getSerializedObjectSafe } from './helpers/get-serialized-object-safe.js';
|
|
2
|
+
import { createSpan } from './helpers/create-span.js';
|
|
3
|
+
import { IdNameManager } from './helpers/id-name-manager.js';
|
|
4
|
+
import { getErrorSafe } from './helpers/get-error-safe.js';
|
|
5
|
+
import { findLast, isEmpty, isDeepEqual } from 'remeda';
|
|
6
|
+
import { FrameworkError } from '../errors.js';
|
|
7
|
+
import { Version } from '../version.js';
|
|
8
|
+
import { activeTracesMap, buildTraceTree } from './tracer.js';
|
|
9
|
+
import { traceSerializer } from './helpers/trace-serializer.js';
|
|
10
|
+
import { INSTRUMENTATION_IGNORED_KEYS } from './config.js';
|
|
11
|
+
import { createFullPath } from '../emitter/utils.js';
|
|
12
|
+
import { instrumentationLogger } from './logger.js';
|
|
13
|
+
import { BaseAgent } from '../agents/base.js';
|
|
14
|
+
import { assertLLMWithMessagesToPromptFn } from './helpers/utils.js';
|
|
15
|
+
import { Role } from '../backend/message.js';
|
|
16
|
+
|
|
17
|
+
var __defProp = Object.defineProperty;
|
|
18
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
19
|
+
function createTelemetryMiddleware() {
|
|
20
|
+
return (context) => {
|
|
21
|
+
if (!context.emitter?.trace?.id) {
|
|
22
|
+
throw new FrameworkError(`Fatal error. Missing traceId`, [], {
|
|
23
|
+
context
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
const traceId = context.emitter?.trace?.id;
|
|
27
|
+
if (activeTracesMap.has(traceId)) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
activeTracesMap.set(traceId, context.instance.constructor.name);
|
|
31
|
+
instrumentationLogger.debug({
|
|
32
|
+
source: context.instance.constructor.name,
|
|
33
|
+
traceId
|
|
34
|
+
}, "createTelemetryMiddleware");
|
|
35
|
+
const { emitter, runParams, instance } = context;
|
|
36
|
+
const basePath = createFullPath(emitter.namespace, "");
|
|
37
|
+
let prompt = null;
|
|
38
|
+
if (instance instanceof BaseAgent) {
|
|
39
|
+
prompt = runParams[0].prompt;
|
|
40
|
+
}
|
|
41
|
+
const spansMap = /* @__PURE__ */ new Map();
|
|
42
|
+
const parentIdsMap = /* @__PURE__ */ new Map();
|
|
43
|
+
const spansToDeleteMap = /* @__PURE__ */ new Map();
|
|
44
|
+
let generatedMessage = void 0;
|
|
45
|
+
let history = void 0;
|
|
46
|
+
const groupIterations = [];
|
|
47
|
+
const idNameManager = new IdNameManager();
|
|
48
|
+
const newTokenEventName = `newToken`;
|
|
49
|
+
const partialUpdateEventName = "partialUpdate";
|
|
50
|
+
const successEventName = `success`;
|
|
51
|
+
const finishEventName = `finish`;
|
|
52
|
+
const startEventName = `start`;
|
|
53
|
+
const errorEventName = `error`;
|
|
54
|
+
const eventsIterationsMap = /* @__PURE__ */ new Map();
|
|
55
|
+
const startTimeDate = (/* @__PURE__ */ new Date()).getTime();
|
|
56
|
+
const startTimePerf = performance.now();
|
|
57
|
+
function convertDateToPerformance(date) {
|
|
58
|
+
return date.getTime() - startTimeDate + startTimePerf;
|
|
59
|
+
}
|
|
60
|
+
__name(convertDateToPerformance, "convertDateToPerformance");
|
|
61
|
+
const serializer = traceSerializer({
|
|
62
|
+
ignored_keys: INSTRUMENTATION_IGNORED_KEYS
|
|
63
|
+
});
|
|
64
|
+
function cleanSpanSources({ spanId }) {
|
|
65
|
+
const parentId = spansMap.get(spanId)?.parent_id;
|
|
66
|
+
if (!parentId) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
const spanCount = parentIdsMap.get(parentId);
|
|
70
|
+
if (!spanCount) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (spanCount > 1) {
|
|
74
|
+
parentIdsMap.set(parentId, spanCount - 1);
|
|
75
|
+
} else if (spanCount === 1) {
|
|
76
|
+
parentIdsMap.delete(parentId);
|
|
77
|
+
if (spansToDeleteMap.has(parentId)) {
|
|
78
|
+
spansMap.delete(parentId);
|
|
79
|
+
spansToDeleteMap.delete(parentId);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
__name(cleanSpanSources, "cleanSpanSources");
|
|
84
|
+
emitter.match((event) => event.path === `${basePath}.run.${finishEventName}`, async (_, meta) => {
|
|
85
|
+
try {
|
|
86
|
+
instrumentationLogger.debug({
|
|
87
|
+
path: meta.path,
|
|
88
|
+
traceId
|
|
89
|
+
}, "run finish event");
|
|
90
|
+
if (!prompt && instance instanceof BaseAgent) {
|
|
91
|
+
prompt = findLast(instance.memory.messages, (message) => message.role === Role.USER)?.text;
|
|
92
|
+
if (!prompt) {
|
|
93
|
+
throw new FrameworkError("The prompt must be defined for the Agent's run", [], {
|
|
94
|
+
context
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
buildTraceTree({
|
|
99
|
+
prompt,
|
|
100
|
+
history,
|
|
101
|
+
generatedMessage,
|
|
102
|
+
spans: JSON.parse(serializer(Array.from(spansMap.values()))),
|
|
103
|
+
traceId,
|
|
104
|
+
version: Version,
|
|
105
|
+
runErrorSpanKey: `${basePath}.run.${errorEventName}`,
|
|
106
|
+
startTime: startTimePerf,
|
|
107
|
+
endTime: performance.now(),
|
|
108
|
+
source: activeTracesMap.get(traceId)
|
|
109
|
+
});
|
|
110
|
+
} catch (e) {
|
|
111
|
+
instrumentationLogger.warn(e, "Instrumentation error");
|
|
112
|
+
} finally {
|
|
113
|
+
activeTracesMap.delete(traceId);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
emitter.match("*.*", (data, meta) => {
|
|
117
|
+
if (meta.path.includes(".run.") && meta.path !== `${basePath}.run.${errorEventName}`) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
if (!meta.trace?.runId) {
|
|
121
|
+
throw new FrameworkError(`Fatal error. Missing runId for event: ${meta.path}`, [], {
|
|
122
|
+
context
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
if (meta.groupId && !meta.trace.parentRunId && !groupIterations.includes(meta.groupId)) {
|
|
126
|
+
spansMap.set(meta.groupId, createSpan({
|
|
127
|
+
id: meta.groupId,
|
|
128
|
+
name: meta.groupId,
|
|
129
|
+
target: "groupId",
|
|
130
|
+
startedAt: convertDateToPerformance(meta.createdAt)
|
|
131
|
+
}));
|
|
132
|
+
groupIterations.push(meta.groupId);
|
|
133
|
+
}
|
|
134
|
+
const { spanId, parentSpanId } = idNameManager.getIds({
|
|
135
|
+
path: meta.path,
|
|
136
|
+
id: meta.id,
|
|
137
|
+
runId: meta.trace.runId,
|
|
138
|
+
parentRunId: meta.trace.parentRunId,
|
|
139
|
+
groupId: meta.groupId
|
|
140
|
+
});
|
|
141
|
+
const serializedData = getSerializedObjectSafe(data);
|
|
142
|
+
if (meta.name === partialUpdateEventName && isEmpty(serializedData)) {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
const span = createSpan({
|
|
146
|
+
id: spanId,
|
|
147
|
+
name: meta.name,
|
|
148
|
+
target: meta.path,
|
|
149
|
+
...parentSpanId && {
|
|
150
|
+
parent: {
|
|
151
|
+
id: parentSpanId
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
ctx: getSerializedObjectSafe(meta.context),
|
|
155
|
+
data: serializedData,
|
|
156
|
+
error: getErrorSafe(data),
|
|
157
|
+
startedAt: convertDateToPerformance(meta.createdAt)
|
|
158
|
+
});
|
|
159
|
+
const lastIteration = groupIterations[groupIterations.length - 1];
|
|
160
|
+
const lastIterationOnNewTokenSpanId = eventsIterationsMap.get(lastIteration)?.get(meta.name);
|
|
161
|
+
if (lastIterationOnNewTokenSpanId && meta.name === newTokenEventName) {
|
|
162
|
+
cleanSpanSources({
|
|
163
|
+
spanId: lastIterationOnNewTokenSpanId
|
|
164
|
+
});
|
|
165
|
+
spansMap.delete(lastIterationOnNewTokenSpanId);
|
|
166
|
+
}
|
|
167
|
+
const lastIterationEventSpanId = eventsIterationsMap.get(lastIteration)?.get(meta.name);
|
|
168
|
+
if (lastIterationEventSpanId && partialUpdateEventName === meta.name && spansMap.has(lastIterationEventSpanId)) {
|
|
169
|
+
const { attributes, context: context2 } = spansMap.get(lastIterationEventSpanId);
|
|
170
|
+
if (isDeepEqual(serializedData, attributes.data)) {
|
|
171
|
+
if (parentIdsMap.has(context2.span_id)) {
|
|
172
|
+
spansToDeleteMap.set(lastIterationEventSpanId, void 0);
|
|
173
|
+
} else {
|
|
174
|
+
cleanSpanSources({
|
|
175
|
+
spanId: lastIterationEventSpanId
|
|
176
|
+
});
|
|
177
|
+
spansMap.delete(lastIterationEventSpanId);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
spansMap.set(span.context.span_id, span);
|
|
182
|
+
if (span.parent_id) {
|
|
183
|
+
parentIdsMap.set(span.parent_id, (parentIdsMap.get(span.parent_id) || 0) + 1);
|
|
184
|
+
}
|
|
185
|
+
if (groupIterations.length > 0) {
|
|
186
|
+
if (eventsIterationsMap.has(lastIteration)) {
|
|
187
|
+
eventsIterationsMap.get(lastIteration).set(meta.name, span.context.span_id);
|
|
188
|
+
} else {
|
|
189
|
+
eventsIterationsMap.set(lastIteration, (/* @__PURE__ */ new Map()).set(meta.name, span.context.span_id));
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
emitter.match((event) => event.name === successEventName && event.creator instanceof BaseAgent, (data) => {
|
|
194
|
+
const { data: dataObject, memory } = data;
|
|
195
|
+
generatedMessage = {
|
|
196
|
+
role: dataObject.role,
|
|
197
|
+
text: dataObject.text
|
|
198
|
+
};
|
|
199
|
+
history = memory.messages.map((msg) => ({
|
|
200
|
+
text: msg.text,
|
|
201
|
+
role: msg.role
|
|
202
|
+
}));
|
|
203
|
+
});
|
|
204
|
+
emitter.match((event) => assertLLMWithMessagesToPromptFn(event.creator) && event.name === startEventName, (_, meta) => {
|
|
205
|
+
if (assertLLMWithMessagesToPromptFn(meta.creator) && meta.trace) {
|
|
206
|
+
const path = `${meta.path}.custom`;
|
|
207
|
+
const { spanId, parentSpanId } = idNameManager.getIds({
|
|
208
|
+
path,
|
|
209
|
+
id: meta.id,
|
|
210
|
+
runId: meta.trace.runId,
|
|
211
|
+
parentRunId: meta.trace.parentRunId,
|
|
212
|
+
groupId: meta.groupId
|
|
213
|
+
});
|
|
214
|
+
spansMap.set(spanId, createSpan({
|
|
215
|
+
id: spanId,
|
|
216
|
+
name: `${meta.name}Custom`,
|
|
217
|
+
target: path,
|
|
218
|
+
startedAt: convertDateToPerformance(meta.createdAt),
|
|
219
|
+
...parentSpanId && {
|
|
220
|
+
parent: {
|
|
221
|
+
id: parentSpanId
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
data: {
|
|
225
|
+
rawPrompt: void 0,
|
|
226
|
+
creator: meta.creator.createSnapshot()
|
|
227
|
+
}
|
|
228
|
+
}));
|
|
229
|
+
}
|
|
230
|
+
});
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
__name(createTelemetryMiddleware, "createTelemetryMiddleware");
|
|
234
|
+
|
|
235
|
+
export { createTelemetryMiddleware };
|
|
236
|
+
//# sourceMappingURL=create-telemetry-middleware.js.map
|
|
237
|
+
//# sourceMappingURL=create-telemetry-middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/instrumentation/create-telemetry-middleware.ts"],"names":["createTelemetryMiddleware","context","emitter","trace","id","FrameworkError","traceId","activeTracesMap","has","set","instance","constructor","name","instrumentationLogger","debug","source","runParams","basePath","createFullPath","namespace","prompt","BaseAgent","spansMap","Map","parentIdsMap","spansToDeleteMap","generatedMessage","undefined","history","groupIterations","idNameManager","IdNameManager","newTokenEventName","partialUpdateEventName","successEventName","finishEventName","startEventName","errorEventName","eventsIterationsMap","startTimeDate","Date","getTime","startTimePerf","performance","now","convertDateToPerformance","date","serializer","traceSerializer","ignored_keys","INSTRUMENTATION_IGNORED_KEYS","cleanSpanSources","spanId","parentId","get","parent_id","spanCount","delete","match","event","path","_","meta","findLast","memory","messages","message","role","Role","USER","text","buildTraceTree","spans","JSON","parse","Array","from","values","version","Version","runErrorSpanKey","startTime","endTime","e","warn","data","includes","runId","groupId","parentRunId","createSpan","target","startedAt","createdAt","push","parentSpanId","getIds","serializedData","getSerializedObjectSafe","isEmpty","span","parent","ctx","error","getErrorSafe","lastIteration","length","lastIterationOnNewTokenSpanId","lastIterationEventSpanId","attributes","isDeepEqual","span_id","creator","dataObject","map","msg","assertLLMWithMessagesToPromptFn","rawPrompt","createSnapshot"],"mappings":"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","file":"create-telemetry-middleware.js","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { getSerializedObjectSafe } from \"./helpers/get-serialized-object-safe.js\";\nimport { createSpan } from \"./helpers/create-span.js\";\nimport { IdNameManager } from \"./helpers/id-name-manager.js\";\nimport { getErrorSafe } from \"./helpers/get-error-safe.js\";\nimport { findLast, isDeepEqual, isEmpty } from \"remeda\";\nimport type { BeeCallbacks } from \"@/agents/bee/types.js\";\nimport type { InferCallbackValue } from \"@/emitter/types.js\";\nimport { FrameworkError } from \"@/errors.js\";\nimport { Version } from \"@/version.js\";\nimport type { GetRunContext, RunInstance } from \"@/context.js\";\nimport type { GeneratedResponse, FrameworkSpan } from \"./types.js\";\nimport { activeTracesMap, buildTraceTree } from \"./tracer.js\";\nimport { traceSerializer } from \"./helpers/trace-serializer.js\";\nimport { INSTRUMENTATION_IGNORED_KEYS } from \"./config.js\";\nimport { createFullPath } from \"@/emitter/utils.js\";\nimport type { BeeAgent } from \"@/agents/bee/agent.js\";\nimport { instrumentationLogger } from \"./logger.js\";\nimport { BaseAgent } from \"@/agents/base.js\";\nimport { assertLLMWithMessagesToPromptFn } from \"./helpers/utils.js\";\nimport { Role } from \"@/backend/message.js\";\nimport { ChatModelEvents } from \"@/backend/chat.js\";\n\nexport function createTelemetryMiddleware() {\n return (context: GetRunContext<RunInstance, unknown>) => {\n if (!context.emitter?.trace?.id) {\n throw new FrameworkError(`Fatal error. Missing traceId`, [], { context });\n }\n\n const traceId = context.emitter?.trace?.id;\n if (activeTracesMap.has(traceId)) {\n return;\n }\n activeTracesMap.set(traceId, context.instance.constructor.name);\n\n instrumentationLogger.debug(\n {\n source: context.instance.constructor.name,\n traceId: traceId,\n },\n \"createTelemetryMiddleware\",\n );\n const { emitter, runParams, instance } = context;\n const basePath = createFullPath(emitter.namespace, \"\");\n\n let prompt: string | undefined | null = null;\n if (instance instanceof BaseAgent) {\n prompt = (runParams as Parameters<BeeAgent[\"run\"]>)[0].prompt;\n }\n\n const spansMap = new Map<string, FrameworkSpan>();\n const parentIdsMap = new Map<string, number>();\n const spansToDeleteMap = new Map<string, undefined>();\n\n let generatedMessage: GeneratedResponse | undefined = undefined;\n let history: GeneratedResponse[] | undefined = undefined;\n const groupIterations: string[] = [];\n\n const idNameManager = new IdNameManager();\n\n const newTokenEventName: keyof ChatModelEvents = `newToken`;\n const partialUpdateEventName: keyof BeeCallbacks = \"partialUpdate\";\n const successEventName: keyof ChatModelEvents = `success`;\n const finishEventName: keyof ChatModelEvents = `finish`;\n const startEventName: keyof ChatModelEvents = `start`;\n const errorEventName: keyof ChatModelEvents = `error`;\n\n const eventsIterationsMap = new Map<string, Map<string, string>>();\n\n const startTimeDate = new Date().getTime();\n const startTimePerf = performance.now();\n function convertDateToPerformance(date: Date) {\n return date.getTime() - startTimeDate + startTimePerf;\n }\n\n const serializer = traceSerializer({ ignored_keys: INSTRUMENTATION_IGNORED_KEYS });\n\n function cleanSpanSources({ spanId }: { spanId: string }) {\n const parentId = spansMap.get(spanId)?.parent_id;\n if (!parentId) {\n return;\n }\n\n const spanCount = parentIdsMap.get(parentId);\n if (!spanCount) {\n return;\n }\n\n if (spanCount > 1) {\n // increase the span count for the parentId\n parentIdsMap.set(parentId, spanCount - 1);\n } else if (spanCount === 1) {\n parentIdsMap.delete(parentId);\n // check the `spansToDelete` if the span should be deleted when it has no children's\n if (spansToDeleteMap.has(parentId)) {\n spansMap.delete(parentId);\n spansToDeleteMap.delete(parentId);\n }\n }\n }\n\n /**\n * Create OpenTelemetry spans from collected data\n */\n emitter.match(\n (event) => event.path === `${basePath}.run.${finishEventName}`,\n async (_, meta) => {\n try {\n instrumentationLogger.debug({ path: meta.path, traceId: traceId }, \"run finish event\");\n\n if (!prompt && instance instanceof BaseAgent) {\n prompt = findLast(\n instance.memory.messages,\n (message) => message.role === Role.USER,\n )?.text;\n\n if (!prompt) {\n throw new FrameworkError(\"The prompt must be defined for the Agent's run\", [], {\n context,\n });\n }\n }\n\n // create tracer spans from collected data\n buildTraceTree({\n prompt: prompt,\n history,\n generatedMessage,\n spans: JSON.parse(serializer(Array.from(spansMap.values()))),\n traceId,\n version: Version,\n runErrorSpanKey: `${basePath}.run.${errorEventName}`,\n startTime: startTimePerf,\n endTime: performance.now(),\n source: activeTracesMap.get(traceId)!,\n });\n } catch (e) {\n instrumentationLogger.warn(e, \"Instrumentation error\");\n } finally {\n activeTracesMap.delete(traceId);\n }\n },\n );\n\n /**\n * This block collects all \"not run category\" events with their data and prepares spans for the OpenTelemetry.\n * The huge number of `newToken` events are skipped and only the last one for each parent event is saved because of `generated_token_count` information\n * The framework event tree structure is different from the open-telemetry tree structure and must be transformed from groupId and parentGroupId pattern via idNameManager\n * The artificial \"iteration\" main tree level is computed from the `meta.groupId`\n */\n emitter.match(\"*.*\", (data, meta) => {\n // allow `run.error` event due to the runtime error information\n if (meta.path.includes(\".run.\") && meta.path !== `${basePath}.run.${errorEventName}`) {\n return;\n }\n if (!meta.trace?.runId) {\n throw new FrameworkError(`Fatal error. Missing runId for event: ${meta.path}`, [], {\n context,\n });\n }\n\n /**\n * create groupId span level (id does not exist)\n * I use only the top-level groups like iterations other nested groups like tokens would introduce unuseful complexity\n */\n if (meta.groupId && !meta.trace.parentRunId && !groupIterations.includes(meta.groupId)) {\n spansMap.set(\n meta.groupId,\n createSpan({\n id: meta.groupId,\n name: meta.groupId,\n target: \"groupId\",\n startedAt: convertDateToPerformance(meta.createdAt),\n }),\n );\n groupIterations.push(meta.groupId);\n }\n\n const { spanId, parentSpanId } = idNameManager.getIds({\n path: meta.path,\n id: meta.id,\n runId: meta.trace.runId,\n parentRunId: meta.trace.parentRunId,\n groupId: meta.groupId,\n });\n\n const serializedData = getSerializedObjectSafe(data);\n\n // skip partialUpdate events with no data\n if (meta.name === partialUpdateEventName && isEmpty(serializedData)) {\n return;\n }\n\n const span = createSpan({\n id: spanId,\n name: meta.name,\n target: meta.path,\n ...(parentSpanId && { parent: { id: parentSpanId } }),\n ctx: getSerializedObjectSafe(meta.context),\n data: serializedData,\n error: getErrorSafe(data),\n startedAt: convertDateToPerformance(meta.createdAt),\n });\n\n const lastIteration = groupIterations[groupIterations.length - 1];\n\n // delete the `newToken` event if exists and create the new one\n const lastIterationOnNewTokenSpanId = eventsIterationsMap.get(lastIteration)?.get(meta.name);\n if (lastIterationOnNewTokenSpanId && meta.name === newTokenEventName) {\n // delete span\n cleanSpanSources({ spanId: lastIterationOnNewTokenSpanId });\n spansMap.delete(lastIterationOnNewTokenSpanId);\n }\n\n // delete the last `partialUpdate` event if the new one has same data and the original one does not have nested spans\n const lastIterationEventSpanId = eventsIterationsMap.get(lastIteration)?.get(meta.name);\n if (\n lastIterationEventSpanId &&\n partialUpdateEventName === meta.name &&\n spansMap.has(lastIterationEventSpanId)\n ) {\n const { attributes, context } = spansMap.get(lastIterationEventSpanId)!;\n\n if (isDeepEqual(serializedData, attributes.data)) {\n if (parentIdsMap.has(context.span_id)) {\n spansToDeleteMap.set(lastIterationEventSpanId, undefined);\n } else {\n // delete span\n cleanSpanSources({ spanId: lastIterationEventSpanId });\n spansMap.delete(lastIterationEventSpanId);\n }\n }\n }\n\n // create new span\n spansMap.set(span.context.span_id, span);\n // update number of nested spans for parent_id if exists\n if (span.parent_id) {\n parentIdsMap.set(span.parent_id, (parentIdsMap.get(span.parent_id) || 0) + 1);\n }\n\n // save the last event for each iteration\n if (groupIterations.length > 0) {\n if (eventsIterationsMap.has(lastIteration)) {\n eventsIterationsMap.get(lastIteration)!.set(meta.name, span.context.span_id);\n } else {\n eventsIterationsMap.set(lastIteration, new Map().set(meta.name, span.context.span_id));\n }\n }\n });\n\n // The generated response and message history are collected from the `success` agent's event\n emitter.match(\n (event) => event.name === successEventName && event.creator instanceof BaseAgent,\n (data: InferCallbackValue<BeeCallbacks[typeof successEventName]>) => {\n const { data: dataObject, memory } = data;\n\n generatedMessage = {\n role: dataObject.role,\n text: dataObject.text,\n };\n history = memory.messages.map((msg) => ({ text: msg.text, role: msg.role }));\n },\n );\n\n // Read rawPrompt from llm input only for supported adapters and create the custom event with it\n emitter.match(\n (event) => assertLLMWithMessagesToPromptFn(event.creator) && event.name === startEventName,\n (_, meta) => {\n if (assertLLMWithMessagesToPromptFn(meta.creator) && meta.trace) {\n // create a custom path to prevent event duplication\n const path = `${meta.path}.custom`;\n\n const { spanId, parentSpanId } = idNameManager.getIds({\n path,\n id: meta.id,\n runId: meta.trace.runId,\n parentRunId: meta.trace.parentRunId,\n groupId: meta.groupId,\n });\n\n spansMap.set(\n spanId,\n createSpan({\n id: spanId,\n name: `${meta.name}Custom`,\n target: path,\n startedAt: convertDateToPerformance(meta.createdAt),\n ...(parentSpanId && { parent: { id: parentSpanId } }),\n data: {\n rawPrompt: undefined,\n creator: meta.creator.createSnapshot(),\n },\n }),\n );\n }\n },\n );\n };\n}\n"]}
|