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
package/dist/context.js
ADDED
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
2
|
+
import { createRandomHash } from './internals/helpers/hash.js';
|
|
3
|
+
import { omit } from 'remeda';
|
|
4
|
+
import { registerSignals } from './internals/helpers/cancellation.js';
|
|
5
|
+
import { Serializable } from './internals/serializable.js';
|
|
6
|
+
import { LazyPromise, executeSequentially } from './internals/helpers/promise.js';
|
|
7
|
+
import { FrameworkError } from './errors.js';
|
|
8
|
+
import { shallowCopy } from './serializer/utils.js';
|
|
9
|
+
import { isAsyncIterable } from './internals/helpers/stream.js';
|
|
10
|
+
|
|
11
|
+
var __defProp = Object.defineProperty;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
13
|
+
class Run extends LazyPromise {
|
|
14
|
+
static {
|
|
15
|
+
__name(this, "Run");
|
|
16
|
+
}
|
|
17
|
+
runContext;
|
|
18
|
+
tasks;
|
|
19
|
+
constructor(handler, runContext) {
|
|
20
|
+
super(handler), this.runContext = runContext, this.tasks = [], this[_Symbol_toStringTag] = "Promise";
|
|
21
|
+
}
|
|
22
|
+
[_Symbol_toStringTag = Symbol.toStringTag];
|
|
23
|
+
observe(fn) {
|
|
24
|
+
this.tasks.push(async () => fn(this.runContext.emitter));
|
|
25
|
+
return this;
|
|
26
|
+
}
|
|
27
|
+
context(value) {
|
|
28
|
+
this.tasks.push(async () => {
|
|
29
|
+
Object.assign(this.runContext.context, value);
|
|
30
|
+
Object.assign(this.runContext.emitter.context, value);
|
|
31
|
+
});
|
|
32
|
+
return this;
|
|
33
|
+
}
|
|
34
|
+
middleware(fn) {
|
|
35
|
+
this.tasks.push(async () => fn(this.runContext));
|
|
36
|
+
return this;
|
|
37
|
+
}
|
|
38
|
+
async before() {
|
|
39
|
+
await super.before();
|
|
40
|
+
await executeSequentially(this.tasks.splice(0, Infinity));
|
|
41
|
+
}
|
|
42
|
+
// @ts-expect-error too complex
|
|
43
|
+
async *[Symbol.asyncIterator]() {
|
|
44
|
+
const response = await this.then();
|
|
45
|
+
if (isAsyncIterable(response)) {
|
|
46
|
+
yield* response;
|
|
47
|
+
} else {
|
|
48
|
+
throw new Error("Result is not iterable!");
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
class RunContext extends Serializable {
|
|
53
|
+
static {
|
|
54
|
+
__name(this, "RunContext");
|
|
55
|
+
}
|
|
56
|
+
instance;
|
|
57
|
+
input;
|
|
58
|
+
static #storage = new AsyncLocalStorage();
|
|
59
|
+
controller;
|
|
60
|
+
runId;
|
|
61
|
+
groupId;
|
|
62
|
+
parentId;
|
|
63
|
+
emitter;
|
|
64
|
+
context;
|
|
65
|
+
runParams;
|
|
66
|
+
createdAt;
|
|
67
|
+
get signal() {
|
|
68
|
+
return this.controller.signal;
|
|
69
|
+
}
|
|
70
|
+
abort(reason) {
|
|
71
|
+
this.controller.abort(reason);
|
|
72
|
+
}
|
|
73
|
+
constructor(instance, input, parent) {
|
|
74
|
+
super(), this.instance = instance, this.input = input;
|
|
75
|
+
this.createdAt = /* @__PURE__ */ new Date();
|
|
76
|
+
this.runParams = input.params;
|
|
77
|
+
this.runId = createRandomHash(5);
|
|
78
|
+
this.parentId = parent?.runId;
|
|
79
|
+
this.groupId = parent?.groupId ?? createRandomHash();
|
|
80
|
+
this.context = omit(parent?.context ?? {}, [
|
|
81
|
+
"id",
|
|
82
|
+
"parentId"
|
|
83
|
+
]);
|
|
84
|
+
this.controller = new AbortController();
|
|
85
|
+
registerSignals(this.controller, [
|
|
86
|
+
input.signal,
|
|
87
|
+
parent?.signal
|
|
88
|
+
]);
|
|
89
|
+
this.emitter = instance.emitter.child({
|
|
90
|
+
context: this.context,
|
|
91
|
+
trace: {
|
|
92
|
+
id: this.groupId,
|
|
93
|
+
runId: this.runId,
|
|
94
|
+
parentRunId: parent?.runId
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
if (parent) {
|
|
98
|
+
this.emitter.pipe(parent.emitter);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
destroy() {
|
|
102
|
+
this.emitter.destroy();
|
|
103
|
+
this.controller.abort(new FrameworkError("Context destroyed."));
|
|
104
|
+
}
|
|
105
|
+
static enter(instance, input, fn) {
|
|
106
|
+
const parent = RunContext.#storage.getStore();
|
|
107
|
+
const runContext = new RunContext(instance, input, parent);
|
|
108
|
+
return new Run(async () => {
|
|
109
|
+
const emitter = runContext.emitter.child({
|
|
110
|
+
namespace: [
|
|
111
|
+
"run"
|
|
112
|
+
],
|
|
113
|
+
creator: runContext,
|
|
114
|
+
context: {
|
|
115
|
+
internal: true
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
try {
|
|
119
|
+
await emitter.emit("start", null);
|
|
120
|
+
const result = await Promise.race([
|
|
121
|
+
RunContext.#storage.run(runContext, fn, runContext),
|
|
122
|
+
new Promise((_, reject) => runContext.signal.addEventListener("abort", () => setTimeout(() => reject(runContext.signal.reason), 0)))
|
|
123
|
+
]);
|
|
124
|
+
await emitter.emit("success", result);
|
|
125
|
+
return result;
|
|
126
|
+
} catch (_e) {
|
|
127
|
+
const e = FrameworkError.ensure(_e);
|
|
128
|
+
await emitter.emit("error", e);
|
|
129
|
+
throw e;
|
|
130
|
+
} finally {
|
|
131
|
+
await emitter.emit("finish", null);
|
|
132
|
+
runContext.destroy();
|
|
133
|
+
}
|
|
134
|
+
}, runContext);
|
|
135
|
+
}
|
|
136
|
+
static {
|
|
137
|
+
this.register();
|
|
138
|
+
}
|
|
139
|
+
createSnapshot() {
|
|
140
|
+
return {
|
|
141
|
+
controller: this.controller,
|
|
142
|
+
runId: this.runId,
|
|
143
|
+
groupId: this.groupId,
|
|
144
|
+
parentId: this.parentId,
|
|
145
|
+
emitter: this.emitter,
|
|
146
|
+
context: shallowCopy(this.context),
|
|
147
|
+
runParams: shallowCopy(this.runParams),
|
|
148
|
+
createdAt: new Date(this.createdAt)
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
loadSnapshot(snapshot) {
|
|
152
|
+
Object.assign(this, snapshot);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
var _Symbol_toStringTag;
|
|
156
|
+
|
|
157
|
+
export { Run, RunContext };
|
|
158
|
+
//# sourceMappingURL=context.js.map
|
|
159
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/context.ts"],"names":["Run","LazyPromise","tasks","constructor","handler","runContext","Symbol","toStringTag","observe","fn","push","emitter","context","value","Object","assign","middleware","before","executeSequentially","splice","Infinity","asyncIterator","response","then","isAsyncIterable","Error","RunContext","Serializable","AsyncLocalStorage","controller","runId","groupId","parentId","runParams","createdAt","signal","abort","reason","instance","input","parent","Date","params","createRandomHash","omit","AbortController","registerSignals","child","trace","id","parentRunId","pipe","destroy","FrameworkError","enter","getStore","namespace","creator","internal","emit","result","Promise","race","run","_","reject","addEventListener","setTimeout","_e","e","ensure","register","createSnapshot","shallowCopy","loadSnapshot","snapshot"],"mappings":";;;;;;;;;;;;AA0CO,MAAMA,YAA+CC,WAAAA,CAAAA;EA1C5D;;;;AA2CqBC,EAAAA,KAAAA;AAEnBC,EAAAA,WAAAA,CACEC,SACmBC,UACnB,EAAA;AACA,IAAMD,KAAAA,CAAAA,OAAAA,CAAAA,EAAAA,IAAAA,CAFaC,UAAAA,GAAAA,UAAAA,EAAAA,IAJFH,CAAAA,KAAAA,GAAiC,EAAA,EAAE,IAS5CI,CAAAA,mBAAAA,CAAsB,GAAA,SAAA;AAFhC;EAES,CAACA,mBAAAA,GAAAA,OAAOC,WAAW;AAE5BC,EAAAA,OAAAA,CAAQC,EAAmD,EAAA;AACzD,IAAA,IAAA,CAAKP,MAAMQ,IAAK,CAAA,YAAYD,GAAG,IAAKJ,CAAAA,UAAAA,CAAWM,OAAO,CAAA,CAAA;AACtD,IAAO,OAAA,IAAA;AACT;AAEAC,EAAAA,OAAAA,CAAQC,KAAe,EAAA;AACrB,IAAKX,IAAAA,CAAAA,KAAAA,CAAMQ,KAAK,YAAA;AACdI,MAAAA,MAAAA,CAAOC,MAAO,CAAA,IAAA,CAAKV,UAAWO,CAAAA,OAAAA,EAASC,KAAAA,CAAAA;AACvCC,MAAAA,MAAAA,CAAOC,MAAO,CAAA,IAAA,CAAKV,UAAWM,CAAAA,OAAAA,CAAQC,SAASC,KAAAA,CAAAA;KACjD,CAAA;AACA,IAAO,OAAA,IAAA;AACT;AAEAG,EAAAA,UAAAA,CAAWP,EAA4C,EAAA;AACrD,IAAA,IAAA,CAAKP,MAAMQ,IAAK,CAAA,YAAYD,EAAG,CAAA,IAAA,CAAKJ,UAAU,CAAA,CAAA;AAC9C,IAAO,OAAA,IAAA;AACT;AAEA,EAAA,MAAgBY,MAAwB,GAAA;AACtC,IAAA,MAAM,MAAMA,MAAAA,EAAAA;AACZ,IAAA,MAAMC,oBAAoB,IAAKhB,CAAAA,KAAAA,CAAMiB,MAAO,CAAA,CAAA,EAAGC,QAAAA,CAAAA,CAAAA;AACjD;;EAGA,QAAQd,MAAAA,CAAOe,aAAa,CAAiE,GAAA;AAC3F,IAAMC,MAAAA,QAAAA,GAAW,MAAM,IAAA,CAAKC,IAAI,EAAA;AAChC,IAAIC,IAAAA,eAAAA,CAAgBF,QAAAA,CAAW,EAAA;AAC7B,MAAOA,OAAAA,QAAAA;KACF,MAAA;AACL,MAAM,MAAA,IAAIG,MAAM,yBAAA,CAAA;AAClB;AACF;AACF;AAOO,MAAMC,mBAAmDC,YAAAA,CAAAA;EA7FhE;;;;;EA8FE,OAAO,QAAA,GAAW,IAAIC,iBAAAA,EAAAA;AAEHC,EAAAA,UAAAA;AACHC,EAAAA,KAAAA;AACAC,EAAAA,OAAAA;AACAC,EAAAA,QAAAA;AACArB,EAAAA,OAAAA;AACAC,EAAAA,OAAAA;AACAqB,EAAAA,SAAAA;AACAC,EAAAA,SAAAA;AAEhB,EAAA,IAAIC,MAAS,GAAA;AACX,IAAA,OAAO,KAAKN,UAAWM,CAAAA,MAAAA;AACzB;AAEAC,EAAAA,KAAAA,CAAMC,MAAgB,EAAA;AACpB,IAAKR,IAAAA,CAAAA,UAAAA,CAAWO,MAAMC,MAAAA,CAAAA;AACxB;EAEAlC,WACkBmC,CAAAA,QAAAA,EACGC,OACnBC,MACA,EAAA;AACA,IAAA,KAAA,EAAK,EAAA,IAAA,CAJWF,QAAAA,GAAAA,QAAAA,EAAAA,KACGC,KAAAA,GAAAA,KAAAA;AAInB,IAAKL,IAAAA,CAAAA,SAAAA,uBAAgBO,IAAAA,EAAAA;AACrB,IAAA,IAAA,CAAKR,YAAYM,KAAMG,CAAAA,MAAAA;AACvB,IAAKZ,IAAAA,CAAAA,KAAAA,GAAQa,iBAAiB,CAAA,CAAA;AAC9B,IAAA,IAAA,CAAKX,WAAWQ,MAAQV,EAAAA,KAAAA;AACxB,IAAKC,IAAAA,CAAAA,OAAAA,GAAUS,MAAQT,EAAAA,OAAAA,IAAWY,gBAAAA,EAAAA;AAClC,IAAA,IAAA,CAAK/B,OAAUgC,GAAAA,IAAAA,CAAMJ,MAAQ5B,EAAAA,OAAAA,IAAW,EAAY,EAAA;AAAC,MAAA,IAAA;AAAM,MAAA;AAAW,KAAA,CAAA;AAEtE,IAAKiB,IAAAA,CAAAA,UAAAA,GAAa,IAAIgB,eAAAA,EAAAA;AACtBC,IAAAA,eAAAA,CAAgB,KAAKjB,UAAY,EAAA;MAACU,KAAMJ,CAAAA,MAAAA;MAAQK,MAAQL,EAAAA;AAAO,KAAA,CAAA;AAE/D,IAAKxB,IAAAA,CAAAA,OAAAA,GAAU2B,QAAS3B,CAAAA,OAAAA,CAAQoC,KAAyB,CAAA;AACvDnC,MAAAA,OAAAA,EAAS,IAAKA,CAAAA,OAAAA;MACdoC,KAAO,EAAA;AACLC,QAAAA,EAAAA,EAAI,IAAKlB,CAAAA,OAAAA;AACTD,QAAAA,KAAAA,EAAO,IAAKA,CAAAA,KAAAA;AACZoB,QAAAA,WAAAA,EAAaV,MAAQV,EAAAA;AACvB;KACF,CAAA;AACA,IAAA,IAAIU,MAAQ,EAAA;AACV,MAAK7B,IAAAA,CAAAA,OAAAA,CAAQwC,IAAKX,CAAAA,MAAAA,CAAO7B,OAAO,CAAA;AAClC;AACF;EAEAyC,OAAU,GAAA;AACR,IAAA,IAAA,CAAKzC,QAAQyC,OAAO,EAAA;AACpB,IAAA,IAAA,CAAKvB,UAAWO,CAAAA,KAAAA,CAAM,IAAIiB,cAAAA,CAAe,oBAAA,CAAA,CAAA;AAC3C;EAEA,OAAOC,KAAAA,CACLhB,QACAC,EAAAA,KAAAA,EACA9B,EACA,EAAA;AACA,IAAM+B,MAAAA,MAAAA,GAASd,UAAW,CAAA,QAAA,CAAS6B,QAAQ,EAAA;AAC3C,IAAA,MAAMlD,UAAa,GAAA,IAAIqB,UAAWY,CAAAA,QAAAA,EAAUC,OAAOC,MAAAA,CAAAA;AAEnD,IAAO,OAAA,IAAIxC,IAAI,YAAA;AACb,MAAMW,MAAAA,OAAAA,GAAUN,UAAWM,CAAAA,OAAAA,CAAQoC,KAA2B,CAAA;QAC5DS,SAAW,EAAA;AAAC,UAAA;;QACZC,OAASpD,EAAAA,UAAAA;QACTO,OAAS,EAAA;UAAE8C,QAAU,EAAA;AAAK;OAC5B,CAAA;AAEA,MAAI,IAAA;AACF,QAAM/C,MAAAA,OAAAA,CAAQgD,IAAK,CAAA,OAAA,EAAS,IAAA,CAAA;AAC5B,QAAMC,MAAAA,MAAAA,GAAS,MAAMC,OAAAA,CAAQC,IAAK,CAAA;AAChCpC,UAAAA,UAAAA,CAAW,QAASqC,CAAAA,GAAAA,CAAI1D,UAAYI,EAAAA,EAAAA,EAAIJ,UAAAA,CAAAA;AACxC,UAAA,IAAIwD,QAAe,CAACG,CAAAA,EAAGC,WACrB5D,UAAW8B,CAAAA,MAAAA,CAAO+B,iBAAiB,OAAS,EAAA,MAC1CC,UAAW,CAAA,MAAMF,OAAO5D,UAAW8B,CAAAA,MAAAA,CAAOE,MAAM,CAAG,EAAA,CAAA,CAAA,CAAA;AAGxD,SAAA,CAAA;AACD,QAAM1B,MAAAA,OAAAA,CAAQgD,IAAK,CAAA,SAAA,EAAWC,MAAAA,CAAAA;AAC9B,QAAOA,OAAAA,MAAAA;AACT,OAAA,CAAA,OAASQ,EAAI,EAAA;AACX,QAAMC,MAAAA,CAAAA,GAAIhB,cAAeiB,CAAAA,MAAAA,CAAOF,EAAAA,CAAAA;AAChC,QAAMzD,MAAAA,OAAAA,CAAQgD,IAAK,CAAA,OAAA,EAASU,CAAAA,CAAAA;AAC5B,QAAMA,MAAAA,CAAAA;OACR,SAAA;AACE,QAAM1D,MAAAA,OAAAA,CAAQgD,IAAK,CAAA,QAAA,EAAU,IAAA,CAAA;AAC7BtD,QAAAA,UAAAA,CAAW+C,OAAO,EAAA;AACpB;AACF,KAAA,EAAG/C,UAAAA,CAAAA;AACL;EAEA;AACE,IAAA,IAAA,CAAKkE,QAAQ,EAAA;AACf;EAEAC,cAAiB,GAAA;AACf,IAAO,OAAA;AACL3C,MAAAA,UAAAA,EAAY,IAAKA,CAAAA,UAAAA;AACjBC,MAAAA,KAAAA,EAAO,IAAKA,CAAAA,KAAAA;AACZC,MAAAA,OAAAA,EAAS,IAAKA,CAAAA,OAAAA;AACdC,MAAAA,QAAAA,EAAU,IAAKA,CAAAA,QAAAA;AACfrB,MAAAA,OAAAA,EAAS,IAAKA,CAAAA,OAAAA;MACdC,OAAS6D,EAAAA,WAAAA,CAAY,KAAK7D,OAAO,CAAA;MACjCqB,SAAWwC,EAAAA,WAAAA,CAAY,KAAKxC,SAAS,CAAA;MACrCC,SAAW,EAAA,IAAIO,IAAK,CAAA,IAAA,CAAKP,SAAS;AACpC,KAAA;AACF;AAEAwC,EAAAA,YAAAA,CAAaC,QAAkD,EAAA;AAC7D7D,IAAOC,MAAAA,CAAAA,MAAAA,CAAO,MAAM4D,QAAAA,CAAAA;AACtB;AACF","file":"context.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 { AsyncLocalStorage } from \"node:async_hooks\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { createRandomHash } from \"@/internals/helpers/hash.js\";\nimport { omit } from \"remeda\";\nimport { Callback } from \"@/emitter/types.js\";\nimport { registerSignals } from \"@/internals/helpers/cancellation.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { executeSequentially, LazyPromise } from \"@/internals/helpers/promise.js\";\nimport { FrameworkError } from \"@/errors.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { isAsyncIterable } from \"@/internals/helpers/stream.js\";\n\nexport interface RunInstance<T = any> {\n emitter: Emitter<T>;\n}\n\nexport interface RunContextCallbacks {\n start: Callback<null>;\n success: Callback<unknown>;\n error: Callback<Error>;\n finish: Callback<null>;\n}\n\nexport type GetRunContext<T, P = any> = T extends RunInstance ? RunContext<T, P> : never;\nexport type GetRunInstance<T> = T extends RunInstance<infer P> ? P : never;\n\nexport class Run<R, I extends RunInstance, P = any> extends LazyPromise<R> {\n protected readonly tasks: (() => Promise<void>)[] = [];\n\n constructor(\n handler: () => Promise<R>,\n protected readonly runContext: GetRunContext<I, P>,\n ) {\n super(handler);\n }\n\n readonly [Symbol.toStringTag] = \"Promise\";\n\n observe(fn: (emitter: Emitter<GetRunInstance<I>>) => void) {\n this.tasks.push(async () => fn(this.runContext.emitter));\n return this;\n }\n\n context(value: object) {\n this.tasks.push(async () => {\n Object.assign(this.runContext.context, value);\n Object.assign(this.runContext.emitter.context, value);\n });\n return this;\n }\n\n middleware(fn: (context: GetRunContext<I, P>) => void) {\n this.tasks.push(async () => fn(this.runContext));\n return this;\n }\n\n protected async before(): Promise<void> {\n await super.before();\n await executeSequentially(this.tasks.splice(0, Infinity));\n }\n\n // @ts-expect-error too complex\n async *[Symbol.asyncIterator](): R extends AsyncIterable<infer X> ? AsyncIterator<X> : never {\n const response = await this.then();\n if (isAsyncIterable(response)) {\n yield* response;\n } else {\n throw new Error(\"Result is not iterable!\");\n }\n }\n}\n\nexport interface RunContextInput<P> {\n params: P;\n signal?: AbortSignal;\n}\n\nexport class RunContext<T extends RunInstance, P = any> extends Serializable {\n static #storage = new AsyncLocalStorage<RunContext<any>>();\n\n protected readonly controller: AbortController;\n public readonly runId: string;\n public readonly groupId: string;\n public readonly parentId?: string;\n public readonly emitter;\n public readonly context: object;\n public readonly runParams: P;\n public readonly createdAt: Date;\n\n get signal() {\n return this.controller.signal;\n }\n\n abort(reason?: Error) {\n this.controller.abort(reason);\n }\n\n constructor(\n public readonly instance: T,\n protected readonly input: RunContextInput<P>,\n parent?: RunContext<any>,\n ) {\n super();\n this.createdAt = new Date();\n this.runParams = input.params;\n this.runId = createRandomHash(5);\n this.parentId = parent?.runId;\n this.groupId = parent?.groupId ?? createRandomHash();\n this.context = omit((parent?.context ?? {}) as any, [\"id\", \"parentId\"]);\n\n this.controller = new AbortController();\n registerSignals(this.controller, [input.signal, parent?.signal]);\n\n this.emitter = instance.emitter.child<GetRunInstance<T>>({\n context: this.context,\n trace: {\n id: this.groupId,\n runId: this.runId,\n parentRunId: parent?.runId,\n },\n });\n if (parent) {\n this.emitter.pipe(parent.emitter);\n }\n }\n\n destroy() {\n this.emitter.destroy();\n this.controller.abort(new FrameworkError(\"Context destroyed.\"));\n }\n\n static enter<C2 extends RunInstance, R2, P2>(\n instance: C2,\n input: RunContextInput<P2>,\n fn: (context: GetRunContext<C2, P2>) => Promise<R2>,\n ) {\n const parent = RunContext.#storage.getStore();\n const runContext = new RunContext(instance, input, parent) as GetRunContext<C2, P2>;\n\n return new Run(async () => {\n const emitter = runContext.emitter.child<RunContextCallbacks>({\n namespace: [\"run\"],\n creator: runContext,\n context: { internal: true },\n });\n\n try {\n await emitter.emit(\"start\", null);\n const result = await Promise.race([\n RunContext.#storage.run(runContext, fn, runContext),\n new Promise<never>((_, reject) =>\n runContext.signal.addEventListener(\"abort\", () =>\n setTimeout(() => reject(runContext.signal.reason), 0),\n ),\n ),\n ]);\n await emitter.emit(\"success\", result);\n return result;\n } catch (_e) {\n const e = FrameworkError.ensure(_e);\n await emitter.emit(\"error\", e);\n throw e;\n } finally {\n await emitter.emit(\"finish\", null);\n runContext.destroy();\n }\n }, runContext);\n }\n\n static {\n this.register();\n }\n\n createSnapshot() {\n return {\n controller: this.controller,\n runId: this.runId,\n groupId: this.groupId,\n parentId: this.parentId,\n emitter: this.emitter,\n context: shallowCopy(this.context),\n runParams: shallowCopy(this.runParams),\n createdAt: new Date(this.createdAt),\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n"]}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var decoratorCache_cjs = require('../cache/decoratorCache.cjs');
|
|
4
|
+
var utils_cjs = require('./utils.cjs');
|
|
5
|
+
var errors_cjs = require('./errors.cjs');
|
|
6
|
+
var hash_cjs = require('../internals/helpers/hash.cjs');
|
|
7
|
+
var utils_cjs$1 = require('../serializer/utils.cjs');
|
|
8
|
+
var serializable_cjs = require('../internals/serializable.cjs');
|
|
9
|
+
var remeda = require('remeda');
|
|
10
|
+
|
|
11
|
+
var __defProp = Object.defineProperty;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
13
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
14
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
15
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
16
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
17
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
18
|
+
}
|
|
19
|
+
__name(_ts_decorate, "_ts_decorate");
|
|
20
|
+
function _ts_metadata(k, v) {
|
|
21
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
22
|
+
}
|
|
23
|
+
__name(_ts_metadata, "_ts_metadata");
|
|
24
|
+
class Emitter extends serializable_cjs.Serializable {
|
|
25
|
+
static {
|
|
26
|
+
__name(this, "Emitter");
|
|
27
|
+
}
|
|
28
|
+
listeners = /* @__PURE__ */ new Set();
|
|
29
|
+
groupId;
|
|
30
|
+
namespace;
|
|
31
|
+
creator;
|
|
32
|
+
context;
|
|
33
|
+
trace;
|
|
34
|
+
cleanups = [];
|
|
35
|
+
constructor(input = {}) {
|
|
36
|
+
super();
|
|
37
|
+
this.groupId = input?.groupId;
|
|
38
|
+
this.namespace = input?.namespace ?? [];
|
|
39
|
+
this.creator = input.creator ?? Object.prototype;
|
|
40
|
+
this.context = input?.context ?? {};
|
|
41
|
+
this.trace = input.trace;
|
|
42
|
+
utils_cjs.assertValidNamespace(this.namespace);
|
|
43
|
+
}
|
|
44
|
+
static {
|
|
45
|
+
this.register();
|
|
46
|
+
}
|
|
47
|
+
static get root() {
|
|
48
|
+
return new Emitter({
|
|
49
|
+
creator: /* @__PURE__ */ Object.create(null)
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
child(input = {}) {
|
|
53
|
+
const child = new Emitter({
|
|
54
|
+
trace: input.trace ?? this.trace,
|
|
55
|
+
groupId: input?.groupId ?? this.groupId,
|
|
56
|
+
context: {
|
|
57
|
+
...this.context,
|
|
58
|
+
...input?.context
|
|
59
|
+
},
|
|
60
|
+
creator: input?.creator ?? this.creator,
|
|
61
|
+
namespace: input?.namespace ? [
|
|
62
|
+
...this.namespace,
|
|
63
|
+
...input.namespace
|
|
64
|
+
] : this.namespace.slice()
|
|
65
|
+
});
|
|
66
|
+
const cleanup = child.pipe(this);
|
|
67
|
+
this.cleanups.push(cleanup);
|
|
68
|
+
return child;
|
|
69
|
+
}
|
|
70
|
+
pipe(target) {
|
|
71
|
+
return this.on(
|
|
72
|
+
// @ts-expect-error
|
|
73
|
+
"*.*",
|
|
74
|
+
utils_cjs$1.toBoundedFunction(
|
|
75
|
+
// @ts-expect-error
|
|
76
|
+
(...args) => target.invoke(...args),
|
|
77
|
+
[
|
|
78
|
+
{
|
|
79
|
+
value: target,
|
|
80
|
+
name: "target"
|
|
81
|
+
}
|
|
82
|
+
]
|
|
83
|
+
),
|
|
84
|
+
{
|
|
85
|
+
isBlocking: true,
|
|
86
|
+
once: false,
|
|
87
|
+
persistent: true
|
|
88
|
+
}
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
destroy() {
|
|
92
|
+
this.listeners.clear();
|
|
93
|
+
this.cleanups.forEach((child) => child());
|
|
94
|
+
this.cleanups.length = 0;
|
|
95
|
+
}
|
|
96
|
+
reset() {
|
|
97
|
+
for (const listener of this.listeners) {
|
|
98
|
+
if (!listener.options?.persistent) {
|
|
99
|
+
this.listeners.delete(listener);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
registerCallbacks(callbacks, options) {
|
|
104
|
+
const listeners = [];
|
|
105
|
+
Object.entries(callbacks).forEach(([key, value]) => {
|
|
106
|
+
if (value) {
|
|
107
|
+
listeners.push(this.on(key, value, options?.[key]));
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
return () => listeners.forEach((cleanup) => cleanup());
|
|
111
|
+
}
|
|
112
|
+
on(event, callback, options) {
|
|
113
|
+
return this.match(event, callback, options);
|
|
114
|
+
}
|
|
115
|
+
match(matcher, callback, options) {
|
|
116
|
+
const createMatcher = /* @__PURE__ */ __name(() => {
|
|
117
|
+
const matchers = [];
|
|
118
|
+
let matchNested = options?.matchNested;
|
|
119
|
+
if (matcher === "*") {
|
|
120
|
+
matchNested ??= false;
|
|
121
|
+
matchers.push((event) => event.path === utils_cjs.createFullPath(this.namespace, event.name));
|
|
122
|
+
} else if (matcher === "*.*") {
|
|
123
|
+
matchNested ??= true;
|
|
124
|
+
matchers.push(() => true);
|
|
125
|
+
} else if (matcher instanceof RegExp) {
|
|
126
|
+
matchNested ??= true;
|
|
127
|
+
matchers.push((event) => matcher.test(event.path));
|
|
128
|
+
} else if (typeof matcher === "function") {
|
|
129
|
+
matchNested ??= false;
|
|
130
|
+
matchers.push(matcher);
|
|
131
|
+
} else if (typeof matcher === "string") {
|
|
132
|
+
if (utils_cjs.isPath(matcher)) {
|
|
133
|
+
matchNested ??= true;
|
|
134
|
+
matchers.push((event) => event.path === matcher);
|
|
135
|
+
} else {
|
|
136
|
+
matchNested ??= false;
|
|
137
|
+
matchers.push((event) => event.name === matcher && event.path === utils_cjs.createFullPath(this.namespace, event.name));
|
|
138
|
+
}
|
|
139
|
+
} else {
|
|
140
|
+
throw new errors_cjs.EmitterError("Invalid matcher provided!");
|
|
141
|
+
}
|
|
142
|
+
if (!matchNested) {
|
|
143
|
+
const matchSameRun = /* @__PURE__ */ __name((event) => {
|
|
144
|
+
return !this.trace?.runId ? true : this.trace?.runId === event.trace?.runId;
|
|
145
|
+
}, "matchSameRun");
|
|
146
|
+
matchers.unshift(matchSameRun);
|
|
147
|
+
}
|
|
148
|
+
return (event) => matchers.every((matcher2) => matcher2(event));
|
|
149
|
+
}, "createMatcher");
|
|
150
|
+
const listener = {
|
|
151
|
+
options,
|
|
152
|
+
callback,
|
|
153
|
+
raw: matcher,
|
|
154
|
+
match: createMatcher()
|
|
155
|
+
};
|
|
156
|
+
this.listeners.add(listener);
|
|
157
|
+
return () => this.listeners.delete(listener);
|
|
158
|
+
}
|
|
159
|
+
async emit(name, value) {
|
|
160
|
+
utils_cjs.assertValidName(name);
|
|
161
|
+
const event = this.createEvent(name);
|
|
162
|
+
return await this.invoke(value, event);
|
|
163
|
+
}
|
|
164
|
+
async invoke(data, event) {
|
|
165
|
+
const executions = [];
|
|
166
|
+
for (const listener of this.listeners.values()) {
|
|
167
|
+
if (!listener.match(event)) {
|
|
168
|
+
continue;
|
|
169
|
+
}
|
|
170
|
+
if (listener.options?.once) {
|
|
171
|
+
this.listeners.delete(listener);
|
|
172
|
+
}
|
|
173
|
+
const run = /* @__PURE__ */ __name(async () => listener.callback(data, event), "run");
|
|
174
|
+
executions.push(listener.options?.isBlocking ? await run() : run());
|
|
175
|
+
}
|
|
176
|
+
await Promise.all(executions);
|
|
177
|
+
}
|
|
178
|
+
createEvent(name) {
|
|
179
|
+
return {
|
|
180
|
+
id: hash_cjs.createRandomHash(),
|
|
181
|
+
groupId: this.groupId,
|
|
182
|
+
name,
|
|
183
|
+
path: utils_cjs.createFullPath(this.namespace, name),
|
|
184
|
+
createdAt: /* @__PURE__ */ new Date(),
|
|
185
|
+
source: this,
|
|
186
|
+
creator: this.creator,
|
|
187
|
+
context: Object.assign({}, this.context, {}),
|
|
188
|
+
trace: utils_cjs$1.shallowCopy(this.trace)
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
// TODO
|
|
192
|
+
createSnapshot() {
|
|
193
|
+
return {
|
|
194
|
+
groupId: this.groupId,
|
|
195
|
+
namespace: utils_cjs$1.shallowCopy(this.namespace),
|
|
196
|
+
creator: this.creator,
|
|
197
|
+
context: this.context,
|
|
198
|
+
trace: this.trace,
|
|
199
|
+
listeners: Array.from(this.listeners).map(remeda.pick([
|
|
200
|
+
"raw",
|
|
201
|
+
"options",
|
|
202
|
+
"callback"
|
|
203
|
+
])),
|
|
204
|
+
cleanups: this.cleanups
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
loadSnapshot({ listeners, ...snapshot }) {
|
|
208
|
+
Object.assign(this, snapshot, {
|
|
209
|
+
listeners: /* @__PURE__ */ new Set()
|
|
210
|
+
});
|
|
211
|
+
listeners.forEach(({ raw, callback, options }) => this.match(raw, callback, options));
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
_ts_decorate([
|
|
215
|
+
decoratorCache_cjs.Cache(),
|
|
216
|
+
_ts_metadata("design:type", void 0),
|
|
217
|
+
_ts_metadata("design:paramtypes", [])
|
|
218
|
+
], Emitter, "root", null);
|
|
219
|
+
|
|
220
|
+
exports.Emitter = Emitter;
|
|
221
|
+
//# sourceMappingURL=emitter.cjs.map
|
|
222
|
+
//# sourceMappingURL=emitter.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/emitter/emitter.ts"],"names":["Emitter","Serializable","listeners","Set","groupId","namespace","creator","context","trace","cleanups","constructor","input","Object","prototype","assertValidNamespace","register","root","create","child","slice","cleanup","pipe","push","target","on","toBoundedFunction","args","invoke","value","name","isBlocking","once","persistent","destroy","clear","forEach","length","reset","listener","options","delete","registerCallbacks","callbacks","entries","key","event","callback","match","matcher","createMatcher","matchers","matchNested","path","createFullPath","RegExp","test","isPath","EmitterError","matchSameRun","runId","unshift","every","raw","add","emit","assertValidName","createEvent","data","executions","values","run","Promise","all","id","createRandomHash","createdAt","Date","source","assign","shallowCopy","createSnapshot","Array","from","map","pick","loadSnapshot","snapshot"],"mappings":"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","file":"emitter.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 {\n Callback,\n CleanupFn,\n EmitterOptions,\n EventMeta,\n EventTrace,\n Matcher,\n MatcherFn,\n StringKey,\n} from \"@/emitter/types.js\";\nexport type { EventMeta, EventTrace, Callback };\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { createFullPath, isPath, assertValidName, assertValidNamespace } from \"@/emitter/utils.js\";\nimport { EmitterError } from \"@/emitter/errors.js\";\nimport { createRandomHash } from \"@/internals/helpers/hash.js\";\nimport { shallowCopy, toBoundedFunction } from \"@/serializer/utils.js\";\nimport { RequiredAll } from \"@/internals/types.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { pick } from \"remeda\";\n\nexport interface EmitterInput<E extends object = object> {\n groupId?: string;\n namespace?: string[];\n creator?: object;\n context?: E & object;\n trace?: EventTrace;\n}\nexport interface EmitterChildInput<E extends object = object> {\n groupId?: string;\n namespace?: string[];\n creator?: object;\n context?: E & object;\n trace?: EventTrace;\n}\n\ninterface Listener<T = any> {\n readonly match: MatcherFn;\n readonly raw: Matcher;\n readonly callback: Callback<T>;\n readonly options?: EmitterOptions;\n}\n\nexport class Emitter<T = Record<keyof any, Callback<unknown>>> extends Serializable {\n protected listeners = new Set<Listener>();\n protected readonly groupId?: string;\n public readonly namespace: string[];\n public readonly creator?: object;\n public readonly context: object;\n public readonly trace?: EventTrace;\n protected readonly cleanups: CleanupFn[] = [];\n\n constructor(input: EmitterInput = {}) {\n super();\n this.groupId = input?.groupId;\n this.namespace = input?.namespace ?? [];\n this.creator = input.creator ?? Object.prototype;\n this.context = input?.context ?? {};\n this.trace = input.trace;\n assertValidNamespace(this.namespace);\n }\n\n static {\n this.register();\n }\n\n @Cache()\n static get root() {\n return new Emitter<Record<string, Callback<any>>>({ creator: Object.create(null) });\n }\n\n child<R = T>(input: EmitterChildInput = {}): Emitter<R> {\n const child = new Emitter<R>({\n trace: input.trace ?? this.trace,\n groupId: input?.groupId ?? this.groupId,\n context: { ...this.context, ...input?.context },\n creator: input?.creator ?? this.creator,\n namespace: input?.namespace\n ? [...this.namespace, ...input.namespace]\n : this.namespace.slice(),\n });\n\n const cleanup = child.pipe(this);\n this.cleanups.push(cleanup);\n\n return child;\n }\n\n pipe(target: Emitter<any>): CleanupFn {\n return this.on(\n // @ts-expect-error\n \"*.*\",\n toBoundedFunction(\n // @ts-expect-error\n (...args) => target.invoke(...args),\n [{ value: target, name: \"target\" }],\n ),\n {\n isBlocking: true,\n once: false,\n persistent: true,\n },\n );\n }\n\n destroy() {\n this.listeners.clear();\n this.cleanups.forEach((child) => child());\n this.cleanups.length = 0;\n }\n\n reset() {\n for (const listener of this.listeners) {\n if (!listener.options?.persistent) {\n this.listeners.delete(listener);\n }\n }\n }\n\n registerCallbacks<K extends StringKey<RequiredAll<T>>>(\n callbacks: Partial<\n Record<K, NonNullable<T[K]> extends Callback<infer X> ? Callback<X> : never>\n >,\n options?: Partial<Record<K, EmitterOptions>>,\n ): CleanupFn {\n const listeners: CleanupFn[] = [];\n Object.entries(callbacks).forEach(([key, value]) => {\n if (value) {\n // @ts-expect-error\n listeners.push(this.on(key, value, options?.[key]));\n }\n });\n return () => listeners.forEach((cleanup) => cleanup());\n }\n\n on<K extends StringKey<RequiredAll<T>>>(\n event: K,\n callback: NonNullable<T[K]> extends Callback<any> ? T[K] : never,\n options?: EmitterOptions,\n ): CleanupFn {\n return this.match(event as Matcher, callback as Callback<any>, options);\n }\n\n match<L>(matcher: Matcher, callback: Callback<L>, options?: EmitterOptions): CleanupFn {\n const createMatcher = (): MatcherFn => {\n const matchers: MatcherFn[] = [];\n let matchNested = options?.matchNested;\n\n if (matcher === \"*\") {\n matchNested ??= false;\n matchers.push((event) => event.path === createFullPath(this.namespace, event.name));\n } else if (matcher === \"*.*\") {\n matchNested ??= true;\n matchers.push(() => true);\n } else if (matcher instanceof RegExp) {\n matchNested ??= true;\n matchers.push((event) => matcher.test(event.path));\n } else if (typeof matcher === \"function\") {\n matchNested ??= false;\n matchers.push(matcher);\n } else if (typeof matcher === \"string\") {\n if (isPath(matcher)) {\n matchNested ??= true;\n matchers.push((event) => event.path === matcher);\n } else {\n matchNested ??= false;\n matchers.push(\n (event) =>\n event.name === matcher && event.path === createFullPath(this.namespace, event.name),\n );\n }\n } else {\n throw new EmitterError(\"Invalid matcher provided!\");\n }\n\n if (!matchNested) {\n const matchSameRun = (event: EventMeta) => {\n // global observability x scoped observability\n return !this.trace?.runId ? true : this.trace?.runId === event.trace?.runId;\n };\n matchers.unshift(matchSameRun);\n }\n\n return (event) => matchers.every((matcher) => matcher(event));\n };\n\n const listener: Listener = {\n options,\n callback,\n raw: matcher,\n match: createMatcher(),\n };\n this.listeners.add(listener);\n\n return () => this.listeners.delete(listener);\n }\n\n async emit<K extends StringKey<RequiredAll<T>>>(\n name: K,\n value: NonNullable<T[K]> extends Callback<infer X> ? X : unknown,\n ): Promise<void> {\n assertValidName(name);\n\n const event = this.createEvent(name);\n return await this.invoke(value, event);\n }\n\n protected async invoke(data: unknown, event: EventMeta) {\n const executions: unknown[] = [];\n for (const listener of this.listeners.values()) {\n if (!listener.match(event)) {\n continue;\n }\n\n if (listener.options?.once) {\n this.listeners.delete(listener);\n }\n\n const run = async () => listener.callback(data, event);\n executions.push(listener.options?.isBlocking ? await run() : run());\n }\n await Promise.all(executions);\n }\n\n protected createEvent(name: string): EventMeta {\n return {\n id: createRandomHash(),\n groupId: this.groupId,\n name,\n path: createFullPath(this.namespace, name),\n createdAt: new Date(),\n source: this,\n creator: this.creator!,\n context: Object.assign({}, this.context, {}),\n trace: shallowCopy(this.trace), // TODO\n };\n }\n\n createSnapshot() {\n return {\n groupId: this.groupId,\n namespace: shallowCopy(this.namespace),\n creator: this.creator,\n context: this.context,\n trace: this.trace,\n listeners: Array.from(this.listeners).map(pick([\"raw\", \"options\", \"callback\"])),\n cleanups: this.cleanups,\n };\n }\n\n loadSnapshot({ listeners, ...snapshot }: ReturnType<typeof this.createSnapshot>): void {\n Object.assign(this, snapshot, { listeners: new Set() });\n listeners.forEach(({ raw, callback, options }) => this.match(raw, callback, options));\n }\n}\n"]}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import { Cache } from '../cache/decoratorCache.js';
|
|
2
|
+
import { assertValidNamespace, assertValidName, createFullPath, isPath } from './utils.js';
|
|
3
|
+
import { EmitterError } from './errors.js';
|
|
4
|
+
import { createRandomHash } from '../internals/helpers/hash.js';
|
|
5
|
+
import { toBoundedFunction, shallowCopy } from '../serializer/utils.js';
|
|
6
|
+
import { Serializable } from '../internals/serializable.js';
|
|
7
|
+
import { pick } from 'remeda';
|
|
8
|
+
|
|
9
|
+
var __defProp = Object.defineProperty;
|
|
10
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
11
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
12
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
13
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
14
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
15
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
16
|
+
}
|
|
17
|
+
__name(_ts_decorate, "_ts_decorate");
|
|
18
|
+
function _ts_metadata(k, v) {
|
|
19
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
20
|
+
}
|
|
21
|
+
__name(_ts_metadata, "_ts_metadata");
|
|
22
|
+
class Emitter extends Serializable {
|
|
23
|
+
static {
|
|
24
|
+
__name(this, "Emitter");
|
|
25
|
+
}
|
|
26
|
+
listeners = /* @__PURE__ */ new Set();
|
|
27
|
+
groupId;
|
|
28
|
+
namespace;
|
|
29
|
+
creator;
|
|
30
|
+
context;
|
|
31
|
+
trace;
|
|
32
|
+
cleanups = [];
|
|
33
|
+
constructor(input = {}) {
|
|
34
|
+
super();
|
|
35
|
+
this.groupId = input?.groupId;
|
|
36
|
+
this.namespace = input?.namespace ?? [];
|
|
37
|
+
this.creator = input.creator ?? Object.prototype;
|
|
38
|
+
this.context = input?.context ?? {};
|
|
39
|
+
this.trace = input.trace;
|
|
40
|
+
assertValidNamespace(this.namespace);
|
|
41
|
+
}
|
|
42
|
+
static {
|
|
43
|
+
this.register();
|
|
44
|
+
}
|
|
45
|
+
static get root() {
|
|
46
|
+
return new Emitter({
|
|
47
|
+
creator: /* @__PURE__ */ Object.create(null)
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
child(input = {}) {
|
|
51
|
+
const child = new Emitter({
|
|
52
|
+
trace: input.trace ?? this.trace,
|
|
53
|
+
groupId: input?.groupId ?? this.groupId,
|
|
54
|
+
context: {
|
|
55
|
+
...this.context,
|
|
56
|
+
...input?.context
|
|
57
|
+
},
|
|
58
|
+
creator: input?.creator ?? this.creator,
|
|
59
|
+
namespace: input?.namespace ? [
|
|
60
|
+
...this.namespace,
|
|
61
|
+
...input.namespace
|
|
62
|
+
] : this.namespace.slice()
|
|
63
|
+
});
|
|
64
|
+
const cleanup = child.pipe(this);
|
|
65
|
+
this.cleanups.push(cleanup);
|
|
66
|
+
return child;
|
|
67
|
+
}
|
|
68
|
+
pipe(target) {
|
|
69
|
+
return this.on(
|
|
70
|
+
// @ts-expect-error
|
|
71
|
+
"*.*",
|
|
72
|
+
toBoundedFunction(
|
|
73
|
+
// @ts-expect-error
|
|
74
|
+
(...args) => target.invoke(...args),
|
|
75
|
+
[
|
|
76
|
+
{
|
|
77
|
+
value: target,
|
|
78
|
+
name: "target"
|
|
79
|
+
}
|
|
80
|
+
]
|
|
81
|
+
),
|
|
82
|
+
{
|
|
83
|
+
isBlocking: true,
|
|
84
|
+
once: false,
|
|
85
|
+
persistent: true
|
|
86
|
+
}
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
destroy() {
|
|
90
|
+
this.listeners.clear();
|
|
91
|
+
this.cleanups.forEach((child) => child());
|
|
92
|
+
this.cleanups.length = 0;
|
|
93
|
+
}
|
|
94
|
+
reset() {
|
|
95
|
+
for (const listener of this.listeners) {
|
|
96
|
+
if (!listener.options?.persistent) {
|
|
97
|
+
this.listeners.delete(listener);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
registerCallbacks(callbacks, options) {
|
|
102
|
+
const listeners = [];
|
|
103
|
+
Object.entries(callbacks).forEach(([key, value]) => {
|
|
104
|
+
if (value) {
|
|
105
|
+
listeners.push(this.on(key, value, options?.[key]));
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
return () => listeners.forEach((cleanup) => cleanup());
|
|
109
|
+
}
|
|
110
|
+
on(event, callback, options) {
|
|
111
|
+
return this.match(event, callback, options);
|
|
112
|
+
}
|
|
113
|
+
match(matcher, callback, options) {
|
|
114
|
+
const createMatcher = /* @__PURE__ */ __name(() => {
|
|
115
|
+
const matchers = [];
|
|
116
|
+
let matchNested = options?.matchNested;
|
|
117
|
+
if (matcher === "*") {
|
|
118
|
+
matchNested ??= false;
|
|
119
|
+
matchers.push((event) => event.path === createFullPath(this.namespace, event.name));
|
|
120
|
+
} else if (matcher === "*.*") {
|
|
121
|
+
matchNested ??= true;
|
|
122
|
+
matchers.push(() => true);
|
|
123
|
+
} else if (matcher instanceof RegExp) {
|
|
124
|
+
matchNested ??= true;
|
|
125
|
+
matchers.push((event) => matcher.test(event.path));
|
|
126
|
+
} else if (typeof matcher === "function") {
|
|
127
|
+
matchNested ??= false;
|
|
128
|
+
matchers.push(matcher);
|
|
129
|
+
} else if (typeof matcher === "string") {
|
|
130
|
+
if (isPath(matcher)) {
|
|
131
|
+
matchNested ??= true;
|
|
132
|
+
matchers.push((event) => event.path === matcher);
|
|
133
|
+
} else {
|
|
134
|
+
matchNested ??= false;
|
|
135
|
+
matchers.push((event) => event.name === matcher && event.path === createFullPath(this.namespace, event.name));
|
|
136
|
+
}
|
|
137
|
+
} else {
|
|
138
|
+
throw new EmitterError("Invalid matcher provided!");
|
|
139
|
+
}
|
|
140
|
+
if (!matchNested) {
|
|
141
|
+
const matchSameRun = /* @__PURE__ */ __name((event) => {
|
|
142
|
+
return !this.trace?.runId ? true : this.trace?.runId === event.trace?.runId;
|
|
143
|
+
}, "matchSameRun");
|
|
144
|
+
matchers.unshift(matchSameRun);
|
|
145
|
+
}
|
|
146
|
+
return (event) => matchers.every((matcher2) => matcher2(event));
|
|
147
|
+
}, "createMatcher");
|
|
148
|
+
const listener = {
|
|
149
|
+
options,
|
|
150
|
+
callback,
|
|
151
|
+
raw: matcher,
|
|
152
|
+
match: createMatcher()
|
|
153
|
+
};
|
|
154
|
+
this.listeners.add(listener);
|
|
155
|
+
return () => this.listeners.delete(listener);
|
|
156
|
+
}
|
|
157
|
+
async emit(name, value) {
|
|
158
|
+
assertValidName(name);
|
|
159
|
+
const event = this.createEvent(name);
|
|
160
|
+
return await this.invoke(value, event);
|
|
161
|
+
}
|
|
162
|
+
async invoke(data, event) {
|
|
163
|
+
const executions = [];
|
|
164
|
+
for (const listener of this.listeners.values()) {
|
|
165
|
+
if (!listener.match(event)) {
|
|
166
|
+
continue;
|
|
167
|
+
}
|
|
168
|
+
if (listener.options?.once) {
|
|
169
|
+
this.listeners.delete(listener);
|
|
170
|
+
}
|
|
171
|
+
const run = /* @__PURE__ */ __name(async () => listener.callback(data, event), "run");
|
|
172
|
+
executions.push(listener.options?.isBlocking ? await run() : run());
|
|
173
|
+
}
|
|
174
|
+
await Promise.all(executions);
|
|
175
|
+
}
|
|
176
|
+
createEvent(name) {
|
|
177
|
+
return {
|
|
178
|
+
id: createRandomHash(),
|
|
179
|
+
groupId: this.groupId,
|
|
180
|
+
name,
|
|
181
|
+
path: createFullPath(this.namespace, name),
|
|
182
|
+
createdAt: /* @__PURE__ */ new Date(),
|
|
183
|
+
source: this,
|
|
184
|
+
creator: this.creator,
|
|
185
|
+
context: Object.assign({}, this.context, {}),
|
|
186
|
+
trace: shallowCopy(this.trace)
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
// TODO
|
|
190
|
+
createSnapshot() {
|
|
191
|
+
return {
|
|
192
|
+
groupId: this.groupId,
|
|
193
|
+
namespace: shallowCopy(this.namespace),
|
|
194
|
+
creator: this.creator,
|
|
195
|
+
context: this.context,
|
|
196
|
+
trace: this.trace,
|
|
197
|
+
listeners: Array.from(this.listeners).map(pick([
|
|
198
|
+
"raw",
|
|
199
|
+
"options",
|
|
200
|
+
"callback"
|
|
201
|
+
])),
|
|
202
|
+
cleanups: this.cleanups
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
loadSnapshot({ listeners, ...snapshot }) {
|
|
206
|
+
Object.assign(this, snapshot, {
|
|
207
|
+
listeners: /* @__PURE__ */ new Set()
|
|
208
|
+
});
|
|
209
|
+
listeners.forEach(({ raw, callback, options }) => this.match(raw, callback, options));
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
_ts_decorate([
|
|
213
|
+
Cache(),
|
|
214
|
+
_ts_metadata("design:type", void 0),
|
|
215
|
+
_ts_metadata("design:paramtypes", [])
|
|
216
|
+
], Emitter, "root", null);
|
|
217
|
+
|
|
218
|
+
export { Emitter };
|
|
219
|
+
//# sourceMappingURL=emitter.js.map
|
|
220
|
+
//# sourceMappingURL=emitter.js.map
|