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 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/cache/decoratorCache.ts"],"names":["state","container","WeakMap","extractDescriptor","descriptor","value","update","get","Error","Cache","name","getInstanceContext","target","ctx","instances","has","set","cache","Map","options","initQueue","_options","baseOptions","enabled","cacheKey","ObjectHashKeyFn","ttl","Infinity","enumerable","R","pickBy","isDefined","handler","obj","key","Object","hasOwn","constructor","Boolean","push","SingletonCacheKeyFn","groupContext","fn","wrapper","args","invokeOriginal","apply","inputHash","expiresAt","Date","now","result","data","defineProperty","init","self","task","getOwnPropertyDescriptor","prototype","assign","delete","getInstance","property","findDescriptor","TypeError","String","ctxByInstance","clear","keys","forEach","oldTTL","newTTL","undefined","values","diff","isEnabled","enable","disable","WeakRefKeyFn","_lookup","chunks","map","isObjectType","isFunction","createRandomHash","createHash","JSON","stringify","from","cb","join","hash","encoding","replacer","AbortSignal","unorderedArrays","unorderedObjects","unorderedSets","JSONCacheKeyFn","CacheFn","Function","create","instance","Proxy","_","prop","receiver","updateTTL","createSnapshot"],"mappings":"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","file":"decoratorCache.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 { AnyFn, TypedFn } from \"@/internals/types.js\";\nimport * as R from \"remeda\";\nimport hash from \"object-hash\";\nimport { createHash, createRandomHash } from \"@/internals/helpers/hash.js\";\nimport { findDescriptor } from \"@/internals/helpers/prototype.js\";\n\ntype InputFn = AnyFn;\ntype TargetFn = AnyFn;\ntype Instance = NonNullable<any>;\n\ntype CacheKeyFn = (this: Instance, ...args: any[]) => string;\n\nexport interface CacheDecoratorOptions {\n enabled: boolean;\n ttl?: number;\n cacheKey: CacheKeyFn;\n enumerable?: boolean;\n}\n\ninterface CacheEntry {\n expiresAt: number;\n data: any;\n}\n\ninterface FnContext {\n options: CacheDecoratorOptions;\n cache: Map<string, CacheEntry>;\n}\n\ninterface GroupContext {\n options: CacheDecoratorOptions;\n instances: WeakMap<Instance, FnContext>;\n}\n\nexport interface CacheDecoratorInstance {\n get(key?: string): CacheEntry | undefined;\n\n clear(keys?: string[]): void;\n\n isEnabled(): boolean;\n\n enable(): void;\n\n disable(): void;\n\n update(data: Partial<CacheDecoratorOptions>): void;\n}\n\nconst state = {\n container: new WeakMap<InputFn, GroupContext>(),\n extractDescriptor(descriptor: PropertyDescriptor) {\n // Method approach\n if (descriptor.value != null) {\n return {\n value: descriptor.value as AnyFn,\n update: (value: TargetFn) => {\n descriptor.value = value;\n },\n };\n }\n // Accessor approach\n if (descriptor.get != null) {\n return {\n value: descriptor.get as AnyFn,\n update: (value: TargetFn) => {\n descriptor.get = value;\n },\n };\n }\n throw new Error(`@${Cache.name} decorator must be either on a method or get accessor.`);\n },\n getInstanceContext<T extends NonNullable<unknown>>(target: T, ctx: GroupContext) {\n if (!ctx.instances.has(target)) {\n ctx.instances.set(target, {\n cache: new Map(),\n options: ctx.options,\n });\n }\n return ctx.instances.get(target)!;\n },\n} as const;\n\nconst initQueue = new WeakMap<Instance, { key: PropertyKey; enumerable: boolean }[]>();\n\nexport function Cache(_options?: Partial<CacheDecoratorOptions>) {\n const baseOptions: Required<CacheDecoratorOptions> = {\n enabled: true,\n cacheKey: ObjectHashKeyFn,\n ttl: Infinity,\n enumerable: false,\n ...R.pickBy(_options ?? {}, R.isDefined),\n };\n\n return function handler(\n obj: NonNullable<object>,\n key: string | symbol,\n descriptor: PropertyDescriptor,\n ) {\n if (Object.hasOwn(obj, \"constructor\")) {\n const constructor = obj.constructor;\n if (!initQueue.has(constructor)) {\n initQueue.set(constructor, []);\n }\n\n baseOptions.enumerable = Boolean(descriptor.get);\n initQueue\n .get(constructor)!\n .push({ key, enumerable: _options?.enumerable ?? baseOptions.enumerable });\n }\n\n const target = state.extractDescriptor(descriptor);\n if (descriptor.get && !_options?.cacheKey) {\n baseOptions.cacheKey = SingletonCacheKeyFn;\n }\n\n const groupContext: GroupContext = { instances: new WeakMap(), options: baseOptions };\n\n const fn = function wrapper(this: any, ...args: any[]) {\n const invokeOriginal = () => target.value.apply(this, args);\n const ctx = state.getInstanceContext(this, groupContext);\n if (!ctx.options.enabled) {\n return invokeOriginal();\n }\n\n const inputHash = ctx.options.cacheKey.apply(this, args);\n if (\n !ctx.cache.has(inputHash) ||\n (ctx.cache.get(inputHash)?.expiresAt ?? Infinity) < Date.now() // is expired check\n ) {\n const result = invokeOriginal();\n ctx.cache.set(inputHash, {\n expiresAt: Date.now() + (ctx.options.ttl ?? Infinity),\n data: result,\n });\n }\n return ctx.cache.get(inputHash)!.data;\n };\n Object.defineProperty(fn, \"name\", {\n get: () => target.value.name ?? \"anonymous\",\n });\n\n target.update(fn);\n state.container.set(fn, groupContext);\n };\n}\n\nCache.init = function init<T extends NonNullable<unknown>>(self: T) {\n const task = initQueue.get(self.constructor) ?? [];\n for (const { key, enumerable } of task) {\n const descriptor = Object.getOwnPropertyDescriptor(self.constructor.prototype, key);\n if (descriptor) {\n Object.defineProperty(self, key, Object.assign(descriptor, { enumerable }));\n }\n }\n initQueue.delete(self);\n};\n\nCache.getInstance = function getInstance<T extends NonNullable<unknown>>(\n target: T,\n property: keyof T,\n): CacheDecoratorInstance {\n const descriptor = findDescriptor(target, property);\n if (!descriptor) {\n throw new TypeError(`No descriptor has been found for '${String(property)}'`);\n }\n const value = state.extractDescriptor(descriptor);\n const ctxByInstance = state.container.get(value.value);\n if (!ctxByInstance) {\n throw new TypeError(`No cache instance is bounded to '${String(property)}'!`);\n }\n\n const ctx = state.getInstanceContext(target, ctxByInstance);\n return {\n get(key = \"\") {\n return ctx.cache.get(key);\n },\n clear(keys?: string[]) {\n if (keys) {\n keys.forEach((key) => ctx.cache.delete(key));\n } else {\n ctx.cache.clear();\n }\n },\n update(data: CacheDecoratorOptions) {\n const oldTTL = ctx.options.ttl;\n const newTTL = data.ttl;\n if (oldTTL !== newTTL && newTTL !== undefined) {\n for (const value of ctx.cache.values()) {\n if (value.expiresAt === Infinity) {\n value.expiresAt = Date.now() + newTTL;\n } else {\n const diff = newTTL - (oldTTL ?? 0);\n value.expiresAt += diff;\n }\n }\n }\n Object.assign(ctx.options, data);\n },\n isEnabled() {\n return ctx.options.enabled;\n },\n enable() {\n ctx.options.enabled = true;\n },\n disable() {\n ctx.options.enabled = false;\n },\n };\n};\n\nexport const WeakRefKeyFn = (() => {\n const _lookup = new WeakMap();\n\n const fn = (...args: any[]) => {\n const chunks = args.map((value) => {\n if (R.isObjectType(value) || R.isFunction(value)) {\n if (!_lookup.has(value)) {\n _lookup.set(value, createRandomHash(6));\n }\n return _lookup.get(value)!;\n }\n return value;\n });\n return createHash(JSON.stringify(chunks));\n };\n fn.from = <T>(cb: (self: T) => any[]) => {\n return function (this: T) {\n return cb(this).map(fn).join(\"#\");\n };\n };\n return fn;\n})() satisfies CacheKeyFn;\n\nexport const ObjectHashKeyFn: CacheKeyFn = (...args: any[]) =>\n hash(args, {\n encoding: \"base64\",\n replacer: (() => {\n const _lookup = new WeakMap();\n return (value: unknown) => {\n if (value && value instanceof AbortSignal) {\n // not supported by \"hash\" function\n if (!_lookup.has(value)) {\n _lookup.set(value, createRandomHash(6));\n }\n return _lookup.get(value)!;\n }\n return value;\n };\n })(),\n unorderedArrays: false,\n unorderedObjects: false,\n unorderedSets: false,\n });\nexport const JSONCacheKeyFn: CacheKeyFn = (...args: any[]) => JSON.stringify(args);\n// eslint-disable-next-line unused-imports/no-unused-vars\nexport const SingletonCacheKeyFn: CacheKeyFn = (...args: any[]) => \"\";\n\nexport class CacheFn<P extends any[], R> extends Function {\n readonly name = CacheFn.name;\n\n static create<A extends any[], B>(\n fn: (...args: A) => B,\n options?: Partial<CacheDecoratorOptions>,\n ) {\n const instance = new CacheFn(fn, options);\n return instance as TypedFn<A, B> & CacheFn<A, B>;\n }\n\n constructor(\n protected readonly fn: (...args: P) => R,\n protected readonly options?: Partial<CacheDecoratorOptions>,\n ) {\n super();\n\n Cache.getInstance(this, \"get\").update(options ?? {});\n return new Proxy<typeof this>(this, {\n apply(this: CacheFn<P, R>, target, _, args: any[]) {\n return target.get(...(args as unknown as P));\n },\n get(target, prop: string | symbol, receiver: any) {\n const value = target[prop as keyof typeof target];\n if (value instanceof Function) {\n return function (this: CacheFn<P, R>, ...args: P) {\n return value.apply(this === receiver ? target : this, args);\n };\n }\n return value;\n },\n }) as unknown as CacheFn<P, R> & typeof fn;\n }\n\n updateTTL(ttl: number) {\n Cache.getInstance(this, \"get\").update({ ttl });\n }\n\n createSnapshot() {\n return {\n fn: this.fn,\n options: this.options,\n };\n }\n\n @Cache()\n get(...args: P) {\n return this.fn(...args);\n }\n}\n"]}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { TypedFn } from '../internals/types.cjs';
|
|
2
|
+
import '../internals/helpers/guards.cjs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Copyright 2025 IBM Corp.
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
type Instance = NonNullable<any>;
|
|
21
|
+
type CacheKeyFn = (this: Instance, ...args: any[]) => string;
|
|
22
|
+
interface CacheDecoratorOptions {
|
|
23
|
+
enabled: boolean;
|
|
24
|
+
ttl?: number;
|
|
25
|
+
cacheKey: CacheKeyFn;
|
|
26
|
+
enumerable?: boolean;
|
|
27
|
+
}
|
|
28
|
+
interface CacheEntry {
|
|
29
|
+
expiresAt: number;
|
|
30
|
+
data: any;
|
|
31
|
+
}
|
|
32
|
+
interface CacheDecoratorInstance {
|
|
33
|
+
get(key?: string): CacheEntry | undefined;
|
|
34
|
+
clear(keys?: string[]): void;
|
|
35
|
+
isEnabled(): boolean;
|
|
36
|
+
enable(): void;
|
|
37
|
+
disable(): void;
|
|
38
|
+
update(data: Partial<CacheDecoratorOptions>): void;
|
|
39
|
+
}
|
|
40
|
+
declare function Cache(_options?: Partial<CacheDecoratorOptions>): (obj: NonNullable<object>, key: string | symbol, descriptor: PropertyDescriptor) => void;
|
|
41
|
+
declare namespace Cache {
|
|
42
|
+
var init: <T extends NonNullable<unknown>>(self: T) => void;
|
|
43
|
+
var getInstance: <T extends NonNullable<unknown>>(target: T, property: keyof T) => CacheDecoratorInstance;
|
|
44
|
+
}
|
|
45
|
+
declare const WeakRefKeyFn: {
|
|
46
|
+
(...args: any[]): string;
|
|
47
|
+
from<T>(cb: (self: T) => any[]): (this: T) => string;
|
|
48
|
+
};
|
|
49
|
+
declare const ObjectHashKeyFn: CacheKeyFn;
|
|
50
|
+
declare const JSONCacheKeyFn: CacheKeyFn;
|
|
51
|
+
declare const SingletonCacheKeyFn: CacheKeyFn;
|
|
52
|
+
declare class CacheFn<P extends any[], R> extends Function {
|
|
53
|
+
protected readonly fn: (...args: P) => R;
|
|
54
|
+
protected readonly options?: Partial<CacheDecoratorOptions> | undefined;
|
|
55
|
+
readonly name: string;
|
|
56
|
+
static create<A extends any[], B>(fn: (...args: A) => B, options?: Partial<CacheDecoratorOptions>): TypedFn<A, B> & CacheFn<A, B>;
|
|
57
|
+
constructor(fn: (...args: P) => R, options?: Partial<CacheDecoratorOptions> | undefined);
|
|
58
|
+
updateTTL(ttl: number): void;
|
|
59
|
+
createSnapshot(): {
|
|
60
|
+
fn: (...args: P) => R;
|
|
61
|
+
options: Partial<CacheDecoratorOptions> | undefined;
|
|
62
|
+
};
|
|
63
|
+
get(...args: P): R;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export { Cache, type CacheDecoratorInstance, type CacheDecoratorOptions, CacheFn, JSONCacheKeyFn, ObjectHashKeyFn, SingletonCacheKeyFn, WeakRefKeyFn };
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { TypedFn } from '../internals/types.js';
|
|
2
|
+
import '../internals/helpers/guards.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Copyright 2025 IBM Corp.
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
type Instance = NonNullable<any>;
|
|
21
|
+
type CacheKeyFn = (this: Instance, ...args: any[]) => string;
|
|
22
|
+
interface CacheDecoratorOptions {
|
|
23
|
+
enabled: boolean;
|
|
24
|
+
ttl?: number;
|
|
25
|
+
cacheKey: CacheKeyFn;
|
|
26
|
+
enumerable?: boolean;
|
|
27
|
+
}
|
|
28
|
+
interface CacheEntry {
|
|
29
|
+
expiresAt: number;
|
|
30
|
+
data: any;
|
|
31
|
+
}
|
|
32
|
+
interface CacheDecoratorInstance {
|
|
33
|
+
get(key?: string): CacheEntry | undefined;
|
|
34
|
+
clear(keys?: string[]): void;
|
|
35
|
+
isEnabled(): boolean;
|
|
36
|
+
enable(): void;
|
|
37
|
+
disable(): void;
|
|
38
|
+
update(data: Partial<CacheDecoratorOptions>): void;
|
|
39
|
+
}
|
|
40
|
+
declare function Cache(_options?: Partial<CacheDecoratorOptions>): (obj: NonNullable<object>, key: string | symbol, descriptor: PropertyDescriptor) => void;
|
|
41
|
+
declare namespace Cache {
|
|
42
|
+
var init: <T extends NonNullable<unknown>>(self: T) => void;
|
|
43
|
+
var getInstance: <T extends NonNullable<unknown>>(target: T, property: keyof T) => CacheDecoratorInstance;
|
|
44
|
+
}
|
|
45
|
+
declare const WeakRefKeyFn: {
|
|
46
|
+
(...args: any[]): string;
|
|
47
|
+
from<T>(cb: (self: T) => any[]): (this: T) => string;
|
|
48
|
+
};
|
|
49
|
+
declare const ObjectHashKeyFn: CacheKeyFn;
|
|
50
|
+
declare const JSONCacheKeyFn: CacheKeyFn;
|
|
51
|
+
declare const SingletonCacheKeyFn: CacheKeyFn;
|
|
52
|
+
declare class CacheFn<P extends any[], R> extends Function {
|
|
53
|
+
protected readonly fn: (...args: P) => R;
|
|
54
|
+
protected readonly options?: Partial<CacheDecoratorOptions> | undefined;
|
|
55
|
+
readonly name: string;
|
|
56
|
+
static create<A extends any[], B>(fn: (...args: A) => B, options?: Partial<CacheDecoratorOptions>): TypedFn<A, B> & CacheFn<A, B>;
|
|
57
|
+
constructor(fn: (...args: P) => R, options?: Partial<CacheDecoratorOptions> | undefined);
|
|
58
|
+
updateTTL(ttl: number): void;
|
|
59
|
+
createSnapshot(): {
|
|
60
|
+
fn: (...args: P) => R;
|
|
61
|
+
options: Partial<CacheDecoratorOptions> | undefined;
|
|
62
|
+
};
|
|
63
|
+
get(...args: P): R;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export { Cache, type CacheDecoratorInstance, type CacheDecoratorOptions, CacheFn, JSONCacheKeyFn, ObjectHashKeyFn, SingletonCacheKeyFn, WeakRefKeyFn };
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
import * as R from 'remeda';
|
|
2
|
+
import hash from 'object-hash';
|
|
3
|
+
import { createRandomHash, createHash } from '../internals/helpers/hash.js';
|
|
4
|
+
import { findDescriptor } from '../internals/helpers/prototype.js';
|
|
5
|
+
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
8
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
9
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
10
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
11
|
+
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;
|
|
12
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
13
|
+
}
|
|
14
|
+
__name(_ts_decorate, "_ts_decorate");
|
|
15
|
+
function _ts_metadata(k, v) {
|
|
16
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
17
|
+
}
|
|
18
|
+
__name(_ts_metadata, "_ts_metadata");
|
|
19
|
+
const state = {
|
|
20
|
+
container: /* @__PURE__ */ new WeakMap(),
|
|
21
|
+
extractDescriptor(descriptor) {
|
|
22
|
+
if (descriptor.value != null) {
|
|
23
|
+
return {
|
|
24
|
+
value: descriptor.value,
|
|
25
|
+
update: /* @__PURE__ */ __name((value) => {
|
|
26
|
+
descriptor.value = value;
|
|
27
|
+
}, "update")
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
if (descriptor.get != null) {
|
|
31
|
+
return {
|
|
32
|
+
value: descriptor.get,
|
|
33
|
+
update: /* @__PURE__ */ __name((value) => {
|
|
34
|
+
descriptor.get = value;
|
|
35
|
+
}, "update")
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
throw new Error(`@${Cache.name} decorator must be either on a method or get accessor.`);
|
|
39
|
+
},
|
|
40
|
+
getInstanceContext(target, ctx) {
|
|
41
|
+
if (!ctx.instances.has(target)) {
|
|
42
|
+
ctx.instances.set(target, {
|
|
43
|
+
cache: /* @__PURE__ */ new Map(),
|
|
44
|
+
options: ctx.options
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
return ctx.instances.get(target);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
const initQueue = /* @__PURE__ */ new WeakMap();
|
|
51
|
+
function Cache(_options) {
|
|
52
|
+
const baseOptions = {
|
|
53
|
+
enabled: true,
|
|
54
|
+
cacheKey: ObjectHashKeyFn,
|
|
55
|
+
ttl: Infinity,
|
|
56
|
+
enumerable: false,
|
|
57
|
+
...R.pickBy(_options ?? {}, R.isDefined)
|
|
58
|
+
};
|
|
59
|
+
return /* @__PURE__ */ __name(function handler(obj, key, descriptor) {
|
|
60
|
+
if (Object.hasOwn(obj, "constructor")) {
|
|
61
|
+
const constructor = obj.constructor;
|
|
62
|
+
if (!initQueue.has(constructor)) {
|
|
63
|
+
initQueue.set(constructor, []);
|
|
64
|
+
}
|
|
65
|
+
baseOptions.enumerable = Boolean(descriptor.get);
|
|
66
|
+
initQueue.get(constructor).push({
|
|
67
|
+
key,
|
|
68
|
+
enumerable: _options?.enumerable ?? baseOptions.enumerable
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
const target = state.extractDescriptor(descriptor);
|
|
72
|
+
if (descriptor.get && !_options?.cacheKey) {
|
|
73
|
+
baseOptions.cacheKey = SingletonCacheKeyFn;
|
|
74
|
+
}
|
|
75
|
+
const groupContext = {
|
|
76
|
+
instances: /* @__PURE__ */ new WeakMap(),
|
|
77
|
+
options: baseOptions
|
|
78
|
+
};
|
|
79
|
+
const fn = /* @__PURE__ */ __name(function wrapper(...args) {
|
|
80
|
+
const invokeOriginal = /* @__PURE__ */ __name(() => target.value.apply(this, args), "invokeOriginal");
|
|
81
|
+
const ctx = state.getInstanceContext(this, groupContext);
|
|
82
|
+
if (!ctx.options.enabled) {
|
|
83
|
+
return invokeOriginal();
|
|
84
|
+
}
|
|
85
|
+
const inputHash = ctx.options.cacheKey.apply(this, args);
|
|
86
|
+
if (!ctx.cache.has(inputHash) || (ctx.cache.get(inputHash)?.expiresAt ?? Infinity) < Date.now()) {
|
|
87
|
+
const result = invokeOriginal();
|
|
88
|
+
ctx.cache.set(inputHash, {
|
|
89
|
+
expiresAt: Date.now() + (ctx.options.ttl ?? Infinity),
|
|
90
|
+
data: result
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
return ctx.cache.get(inputHash).data;
|
|
94
|
+
}, "wrapper");
|
|
95
|
+
Object.defineProperty(fn, "name", {
|
|
96
|
+
get: /* @__PURE__ */ __name(() => target.value.name ?? "anonymous", "get")
|
|
97
|
+
});
|
|
98
|
+
target.update(fn);
|
|
99
|
+
state.container.set(fn, groupContext);
|
|
100
|
+
}, "handler");
|
|
101
|
+
}
|
|
102
|
+
__name(Cache, "Cache");
|
|
103
|
+
Cache.init = /* @__PURE__ */ __name(function init(self) {
|
|
104
|
+
const task = initQueue.get(self.constructor) ?? [];
|
|
105
|
+
for (const { key, enumerable } of task) {
|
|
106
|
+
const descriptor = Object.getOwnPropertyDescriptor(self.constructor.prototype, key);
|
|
107
|
+
if (descriptor) {
|
|
108
|
+
Object.defineProperty(self, key, Object.assign(descriptor, {
|
|
109
|
+
enumerable
|
|
110
|
+
}));
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
initQueue.delete(self);
|
|
114
|
+
}, "init");
|
|
115
|
+
Cache.getInstance = /* @__PURE__ */ __name(function getInstance(target, property) {
|
|
116
|
+
const descriptor = findDescriptor(target, property);
|
|
117
|
+
if (!descriptor) {
|
|
118
|
+
throw new TypeError(`No descriptor has been found for '${String(property)}'`);
|
|
119
|
+
}
|
|
120
|
+
const value = state.extractDescriptor(descriptor);
|
|
121
|
+
const ctxByInstance = state.container.get(value.value);
|
|
122
|
+
if (!ctxByInstance) {
|
|
123
|
+
throw new TypeError(`No cache instance is bounded to '${String(property)}'!`);
|
|
124
|
+
}
|
|
125
|
+
const ctx = state.getInstanceContext(target, ctxByInstance);
|
|
126
|
+
return {
|
|
127
|
+
get(key = "") {
|
|
128
|
+
return ctx.cache.get(key);
|
|
129
|
+
},
|
|
130
|
+
clear(keys) {
|
|
131
|
+
if (keys) {
|
|
132
|
+
keys.forEach((key) => ctx.cache.delete(key));
|
|
133
|
+
} else {
|
|
134
|
+
ctx.cache.clear();
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
update(data) {
|
|
138
|
+
const oldTTL = ctx.options.ttl;
|
|
139
|
+
const newTTL = data.ttl;
|
|
140
|
+
if (oldTTL !== newTTL && newTTL !== void 0) {
|
|
141
|
+
for (const value2 of ctx.cache.values()) {
|
|
142
|
+
if (value2.expiresAt === Infinity) {
|
|
143
|
+
value2.expiresAt = Date.now() + newTTL;
|
|
144
|
+
} else {
|
|
145
|
+
const diff = newTTL - (oldTTL ?? 0);
|
|
146
|
+
value2.expiresAt += diff;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
Object.assign(ctx.options, data);
|
|
151
|
+
},
|
|
152
|
+
isEnabled() {
|
|
153
|
+
return ctx.options.enabled;
|
|
154
|
+
},
|
|
155
|
+
enable() {
|
|
156
|
+
ctx.options.enabled = true;
|
|
157
|
+
},
|
|
158
|
+
disable() {
|
|
159
|
+
ctx.options.enabled = false;
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
}, "getInstance");
|
|
163
|
+
const WeakRefKeyFn = (() => {
|
|
164
|
+
const _lookup = /* @__PURE__ */ new WeakMap();
|
|
165
|
+
const fn = /* @__PURE__ */ __name((...args) => {
|
|
166
|
+
const chunks = args.map((value) => {
|
|
167
|
+
if (R.isObjectType(value) || R.isFunction(value)) {
|
|
168
|
+
if (!_lookup.has(value)) {
|
|
169
|
+
_lookup.set(value, createRandomHash(6));
|
|
170
|
+
}
|
|
171
|
+
return _lookup.get(value);
|
|
172
|
+
}
|
|
173
|
+
return value;
|
|
174
|
+
});
|
|
175
|
+
return createHash(JSON.stringify(chunks));
|
|
176
|
+
}, "fn");
|
|
177
|
+
fn.from = (cb) => {
|
|
178
|
+
return function() {
|
|
179
|
+
return cb(this).map(fn).join("#");
|
|
180
|
+
};
|
|
181
|
+
};
|
|
182
|
+
return fn;
|
|
183
|
+
})();
|
|
184
|
+
const ObjectHashKeyFn = /* @__PURE__ */ __name((...args) => hash(args, {
|
|
185
|
+
encoding: "base64",
|
|
186
|
+
replacer: /* @__PURE__ */ (() => {
|
|
187
|
+
const _lookup = /* @__PURE__ */ new WeakMap();
|
|
188
|
+
return (value) => {
|
|
189
|
+
if (value && value instanceof AbortSignal) {
|
|
190
|
+
if (!_lookup.has(value)) {
|
|
191
|
+
_lookup.set(value, createRandomHash(6));
|
|
192
|
+
}
|
|
193
|
+
return _lookup.get(value);
|
|
194
|
+
}
|
|
195
|
+
return value;
|
|
196
|
+
};
|
|
197
|
+
})(),
|
|
198
|
+
unorderedArrays: false,
|
|
199
|
+
unorderedObjects: false,
|
|
200
|
+
unorderedSets: false
|
|
201
|
+
}), "ObjectHashKeyFn");
|
|
202
|
+
const JSONCacheKeyFn = /* @__PURE__ */ __name((...args) => JSON.stringify(args), "JSONCacheKeyFn");
|
|
203
|
+
const SingletonCacheKeyFn = /* @__PURE__ */ __name((...args) => "", "SingletonCacheKeyFn");
|
|
204
|
+
class CacheFn extends Function {
|
|
205
|
+
static {
|
|
206
|
+
__name(this, "CacheFn");
|
|
207
|
+
}
|
|
208
|
+
fn;
|
|
209
|
+
options;
|
|
210
|
+
name;
|
|
211
|
+
static create(fn, options) {
|
|
212
|
+
const instance = new CacheFn(fn, options);
|
|
213
|
+
return instance;
|
|
214
|
+
}
|
|
215
|
+
constructor(fn, options) {
|
|
216
|
+
super(), this.fn = fn, this.options = options, this.name = CacheFn.name;
|
|
217
|
+
Cache.getInstance(this, "get").update(options ?? {});
|
|
218
|
+
return new Proxy(this, {
|
|
219
|
+
apply(target, _, args) {
|
|
220
|
+
return target.get(...args);
|
|
221
|
+
},
|
|
222
|
+
get(target, prop, receiver) {
|
|
223
|
+
const value = target[prop];
|
|
224
|
+
if (value instanceof Function) {
|
|
225
|
+
return function(...args) {
|
|
226
|
+
return value.apply(this === receiver ? target : this, args);
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
return value;
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
updateTTL(ttl) {
|
|
234
|
+
Cache.getInstance(this, "get").update({
|
|
235
|
+
ttl
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
createSnapshot() {
|
|
239
|
+
return {
|
|
240
|
+
fn: this.fn,
|
|
241
|
+
options: this.options
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
get(...args) {
|
|
245
|
+
return this.fn(...args);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
_ts_decorate([
|
|
249
|
+
Cache(),
|
|
250
|
+
_ts_metadata("design:type", Function),
|
|
251
|
+
_ts_metadata("design:paramtypes", [
|
|
252
|
+
typeof P === "undefined" ? Object : P
|
|
253
|
+
]),
|
|
254
|
+
_ts_metadata("design:returntype", void 0)
|
|
255
|
+
], CacheFn.prototype, "get", null);
|
|
256
|
+
|
|
257
|
+
export { Cache, CacheFn, JSONCacheKeyFn, ObjectHashKeyFn, SingletonCacheKeyFn, WeakRefKeyFn };
|
|
258
|
+
//# sourceMappingURL=decoratorCache.js.map
|
|
259
|
+
//# sourceMappingURL=decoratorCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/cache/decoratorCache.ts"],"names":["state","container","WeakMap","extractDescriptor","descriptor","value","update","get","Error","Cache","name","getInstanceContext","target","ctx","instances","has","set","cache","Map","options","initQueue","_options","baseOptions","enabled","cacheKey","ObjectHashKeyFn","ttl","Infinity","enumerable","R","pickBy","isDefined","handler","obj","key","Object","hasOwn","constructor","Boolean","push","SingletonCacheKeyFn","groupContext","fn","wrapper","args","invokeOriginal","apply","inputHash","expiresAt","Date","now","result","data","defineProperty","init","self","task","getOwnPropertyDescriptor","prototype","assign","delete","getInstance","property","findDescriptor","TypeError","String","ctxByInstance","clear","keys","forEach","oldTTL","newTTL","undefined","values","diff","isEnabled","enable","disable","WeakRefKeyFn","_lookup","chunks","map","isObjectType","isFunction","createRandomHash","createHash","JSON","stringify","from","cb","join","hash","encoding","replacer","AbortSignal","unorderedArrays","unorderedObjects","unorderedSets","JSONCacheKeyFn","CacheFn","Function","create","instance","Proxy","_","prop","receiver","updateTTL","createSnapshot"],"mappings":";;;;;;;;;;;;;;;;;;AAgEA,MAAMA,KAAQ,GAAA;AACZC,EAAAA,SAAAA,sBAAeC,OAAAA,EAAAA;AACfC,EAAAA,iBAAAA,CAAkBC,UAA8B,EAAA;AAE9C,IAAIA,IAAAA,UAAAA,CAAWC,SAAS,IAAM,EAAA;AAC5B,MAAO,OAAA;AACLA,QAAAA,KAAAA,EAAOD,UAAWC,CAAAA,KAAAA;AAClBC,QAAAA,MAAAA,0BAASD,KAAAA,KAAAA;AACPD,UAAAA,UAAAA,CAAWC,KAAQA,GAAAA,KAAAA;SADb,EAAA,QAAA;AAGV,OAAA;AACF;AAEA,IAAID,IAAAA,UAAAA,CAAWG,OAAO,IAAM,EAAA;AAC1B,MAAO,OAAA;AACLF,QAAAA,KAAAA,EAAOD,UAAWG,CAAAA,GAAAA;AAClBD,QAAAA,MAAAA,0BAASD,KAAAA,KAAAA;AACPD,UAAAA,UAAAA,CAAWG,GAAMF,GAAAA,KAAAA;SADX,EAAA,QAAA;AAGV,OAAA;AACF;AACA,IAAA,MAAM,IAAIG,KAAAA,CAAM,CAAIC,CAAAA,EAAAA,KAAAA,CAAMC,IAAI,CAAwD,sDAAA,CAAA,CAAA;AACxF,GAAA;AACAC,EAAAA,kBAAAA,CAAmDC,QAAWC,GAAiB,EAAA;AAC7E,IAAA,IAAI,CAACA,GAAAA,CAAIC,SAAUC,CAAAA,GAAAA,CAAIH,MAAAA,CAAS,EAAA;AAC9BC,MAAIC,GAAAA,CAAAA,SAAAA,CAAUE,IAAIJ,MAAQ,EAAA;AACxBK,QAAAA,KAAAA,sBAAWC,GAAAA,EAAAA;AACXC,QAAAA,OAAAA,EAASN,GAAIM,CAAAA;OACf,CAAA;AACF;AACA,IAAON,OAAAA,GAAAA,CAAIC,SAAUP,CAAAA,GAAAA,CAAIK,MAAAA,CAAAA;AAC3B;AACF,CAAA;AAEA,MAAMQ,SAAAA,uBAAgBlB,OAAAA,EAAAA;AAEf,SAASO,MAAMY,QAAyC,EAAA;AAC7D,EAAA,MAAMC,WAA+C,GAAA;IACnDC,OAAS,EAAA,IAAA;IACTC,QAAUC,EAAAA,eAAAA;IACVC,GAAKC,EAAAA,QAAAA;IACLC,UAAY,EAAA,KAAA;AACZ,IAAA,GAAGC,EAAEC,MAAOT,CAAAA,QAAAA,IAAY,EAAC,EAAGQ,EAAEE,SAAS;AACzC,GAAA;AAEA,EAAA,uBAAgBC,MAAAA,CAAAA,SAAAA,OAAAA,CACdC,GACAC,EAAAA,GAAAA,EACA9B,UAA8B,EAAA;AAE9B,IAAA,IAAI+B,MAAOC,CAAAA,MAAAA,CAAOH,GAAK,EAAA,aAAA,CAAgB,EAAA;AACrC,MAAA,MAAMI,cAAcJ,GAAII,CAAAA,WAAAA;AACxB,MAAA,IAAI,CAACjB,SAAAA,CAAUL,GAAIsB,CAAAA,WAAAA,CAAc,EAAA;AAC/BjB,QAAUJ,SAAAA,CAAAA,GAAAA,CAAIqB,WAAa,EAAA,EAAE,CAAA;AAC/B;AAEAf,MAAYM,WAAAA,CAAAA,UAAAA,GAAaU,OAAQlC,CAAAA,UAAAA,CAAWG,GAAG,CAAA;AAC/Ca,MACGb,SAAAA,CAAAA,GAAAA,CAAI8B,WAAAA,CAAAA,CACJE,IAAK,CAAA;AAAEL,QAAAA,GAAAA;QAAKN,UAAYP,EAAAA,QAAAA,EAAUO,cAAcN,WAAYM,CAAAA;OAAW,CAAA;AAC5E;AAEA,IAAMhB,MAAAA,MAAAA,GAASZ,KAAMG,CAAAA,iBAAAA,CAAkBC,UAAAA,CAAAA;AACvC,IAAA,IAAIA,UAAWG,CAAAA,GAAAA,IAAO,CAACc,QAAAA,EAAUG,QAAU,EAAA;AACzCF,MAAAA,WAAAA,CAAYE,QAAWgB,GAAAA,mBAAAA;AACzB;AAEA,IAAA,MAAMC,YAA6B,GAAA;AAAE3B,MAAAA,SAAAA,sBAAeZ,OAAAA,EAAAA;MAAWiB,OAASG,EAAAA;AAAY,KAAA;AAEpF,IAAMoB,MAAAA,EAAAA,mBAAcC,MAAAA,CAAAA,SAAAA,OAAAA,CAAAA,GAAsBC,IAAW,EAAA;AACnD,MAAA,MAAMC,iCAAuBjC,MAAAA,CAAAA,MAAAA,MAAAA,CAAOP,MAAMyC,KAAM,CAAA,IAAA,EAAMF,IAAAA,CAA/B,EAAA,gBAAA,CAAA;AACvB,MAAA,MAAM/B,GAAMb,GAAAA,KAAAA,CAAMW,kBAAmB,CAAA,IAAA,EAAM8B,YAAAA,CAAAA;AAC3C,MAAI,IAAA,CAAC5B,GAAIM,CAAAA,OAAAA,CAAQI,OAAS,EAAA;AACxB,QAAA,OAAOsB,cAAAA,EAAAA;AACT;AAEA,MAAA,MAAME,YAAYlC,GAAIM,CAAAA,OAAAA,CAAQK,QAASsB,CAAAA,KAAAA,CAAM,MAAMF,IAAAA,CAAAA;AACnD,MAAA,IACE,CAAC/B,GAAAA,CAAII,KAAMF,CAAAA,GAAAA,CAAIgC,SAAAA,CACdlC,IAAAA,CAAAA,GAAAA,CAAII,KAAMV,CAAAA,GAAAA,CAAIwC,SAAAA,CAAYC,EAAAA,SAAAA,IAAarB,QAAYsB,IAAAA,IAAAA,CAAKC,KACzD,EAAA;AACA,QAAA,MAAMC,SAASN,cAAAA,EAAAA;AACfhC,QAAII,GAAAA,CAAAA,KAAAA,CAAMD,IAAI+B,SAAW,EAAA;AACvBC,UAAAA,SAAAA,EAAWC,IAAKC,CAAAA,GAAAA,EAASrC,IAAAA,GAAAA,CAAIM,QAAQO,GAAOC,IAAAA,QAAAA,CAAAA;UAC5CyB,IAAMD,EAAAA;SACR,CAAA;AACF;AACA,MAAA,OAAOtC,GAAII,CAAAA,KAAAA,CAAMV,GAAIwC,CAAAA,SAAAA,CAAYK,CAAAA,IAAAA;KAlBxB,EAAA,SAAA,CAAA;AAoBXjB,IAAOkB,MAAAA,CAAAA,cAAAA,CAAeX,IAAI,MAAQ,EAAA;AAChCnC,MAAAA,GAAAA,kBAAWK,MAAAA,CAAAA,MAAAA,MAAAA,CAAOP,KAAMK,CAAAA,IAAAA,IAAQ,WAA3B,EAAA,KAAA;KACP,CAAA;AAEAE,IAAAA,MAAAA,CAAON,OAAOoC,EAAAA,CAAAA;AACd1C,IAAMC,KAAAA,CAAAA,SAAAA,CAAUe,GAAI0B,CAAAA,EAAAA,EAAID,YAAAA,CAAAA;GAjDnB,EAAA,SAAA,CAAA;AAmDT;AA5DgBhC,MAAAA,CAAAA,KAAAA,EAAAA,OAAAA,CAAAA;AA8DhBA,KAAM6C,CAAAA,IAAAA,mBAAgBA,MAAAA,CAAAA,SAAAA,IAAAA,CAAqCC,IAAO,EAAA;AAChE,EAAA,MAAMC,OAAOpC,SAAUb,CAAAA,GAAAA,CAAIgD,IAAKlB,CAAAA,WAAW,KAAK,EAAA;AAChD,EAAA,KAAA,MAAW,EAAEH,GAAAA,EAAKN,UAAU,EAAA,IAAM4B,IAAM,EAAA;AACtC,IAAA,MAAMpD,aAAa+B,MAAOsB,CAAAA,wBAAAA,CAAyBF,IAAKlB,CAAAA,WAAAA,CAAYqB,WAAWxB,GAAAA,CAAAA;AAC/E,IAAA,IAAI9B,UAAY,EAAA;AACd+B,MAAAA,MAAAA,CAAOkB,cAAeE,CAAAA,IAAAA,EAAMrB,GAAKC,EAAAA,MAAAA,CAAOwB,OAAOvD,UAAY,EAAA;AAAEwB,QAAAA;AAAW,OAAA,CAAA,CAAA;AAC1E;AACF;AACAR,EAAAA,SAAAA,CAAUwC,OAAOL,IAAAA,CAAAA;AACnB,CATa,EAAA,MAAA,CAAA;AAWb9C,KAAAA,CAAMoD,WAAc,mBAAA,MAAA,CAAA,SAASA,WAC3BjD,CAAAA,MAAAA,EACAkD,QAAiB,EAAA;AAEjB,EAAM1D,MAAAA,UAAAA,GAAa2D,cAAenD,CAAAA,MAAAA,EAAQkD,QAAAA,CAAAA;AAC1C,EAAA,IAAI,CAAC1D,UAAY,EAAA;AACf,IAAA,MAAM,IAAI4D,SAAU,CAAA,CAAA,kCAAA,EAAqCC,MAAOH,CAAAA,QAAAA,CAAAA,CAAY,CAAA,CAAA,CAAA;AAC9E;AACA,EAAMzD,MAAAA,KAAAA,GAAQL,KAAMG,CAAAA,iBAAAA,CAAkBC,UAAAA,CAAAA;AACtC,EAAA,MAAM8D,aAAgBlE,GAAAA,KAAAA,CAAMC,SAAUM,CAAAA,GAAAA,CAAIF,MAAMA,KAAK,CAAA;AACrD,EAAA,IAAI,CAAC6D,aAAe,EAAA;AAClB,IAAA,MAAM,IAAIF,SAAU,CAAA,CAAA,iCAAA,EAAoCC,MAAOH,CAAAA,QAAAA,CAAAA,CAAa,EAAA,CAAA,CAAA;AAC9E;AAEA,EAAA,MAAMjD,GAAMb,GAAAA,KAAAA,CAAMW,kBAAmBC,CAAAA,MAAAA,EAAQsD,aAAAA,CAAAA;AAC7C,EAAO,OAAA;AACL3D,IAAAA,GAAAA,CAAI2B,MAAM,EAAE,EAAA;AACV,MAAOrB,OAAAA,GAAAA,CAAII,KAAMV,CAAAA,GAAAA,CAAI2B,GAAAA,CAAAA;AACvB,KAAA;AACAiC,IAAAA,KAAAA,CAAMC,IAAe,EAAA;AACnB,MAAA,IAAIA,IAAM,EAAA;AACRA,QAAAA,IAAAA,CAAKC,QAAQ,CAACnC,GAAAA,KAAQrB,IAAII,KAAM2C,CAAAA,MAAAA,CAAO1B,GAAAA,CAAAA,CAAAA;OAClC,MAAA;AACLrB,QAAAA,GAAAA,CAAII,MAAMkD,KAAK,EAAA;AACjB;AACF,KAAA;AACA7D,IAAAA,MAAAA,CAAO8C,IAA2B,EAAA;AAChC,MAAMkB,MAAAA,MAAAA,GAASzD,IAAIM,OAAQO,CAAAA,GAAAA;AAC3B,MAAA,MAAM6C,SAASnB,IAAK1B,CAAAA,GAAAA;AACpB,MAAI4C,IAAAA,MAAAA,KAAWC,MAAUA,IAAAA,MAAAA,KAAWC,KAAW,CAAA,EAAA;AAC7C,QAAA,KAAA,MAAWnE,MAASQ,IAAAA,GAAAA,CAAII,KAAMwD,CAAAA,MAAAA,EAAU,EAAA;AACtC,UAAIpE,IAAAA,MAAAA,CAAM2C,cAAcrB,QAAU,EAAA;AAChCtB,YAAAA,MAAM2C,CAAAA,SAAAA,GAAYC,IAAKC,CAAAA,GAAAA,EAAQqB,GAAAA,MAAAA;WAC1B,MAAA;AACL,YAAMG,MAAAA,IAAAA,GAAOH,UAAUD,MAAU,IAAA,CAAA,CAAA;AACjCjE,YAAAA,OAAM2C,SAAa0B,IAAAA,IAAAA;AACrB;AACF;AACF;AACAvC,MAAOwB,MAAAA,CAAAA,MAAAA,CAAO9C,GAAIM,CAAAA,OAAAA,EAASiC,IAAAA,CAAAA;AAC7B,KAAA;IACAuB,SAAAA,GAAAA;AACE,MAAA,OAAO9D,IAAIM,OAAQI,CAAAA,OAAAA;AACrB,KAAA;IACAqD,MAAAA,GAAAA;AACE/D,MAAAA,GAAAA,CAAIM,QAAQI,OAAU,GAAA,IAAA;AACxB,KAAA;IACAsD,OAAAA,GAAAA;AACEhE,MAAAA,GAAAA,CAAIM,QAAQI,OAAU,GAAA,KAAA;AACxB;AACF,GAAA;AACF,CAnDoB,EAAA,aAAA,CAAA;AAqDb,MAAMuD,gBAAgB,MAAA;AAC3B,EAAMC,MAAAA,OAAAA,uBAAc7E,OAAAA,EAAAA;AAEpB,EAAMwC,MAAAA,EAAAA,8BAASE,IAAAA,KAAAA;AACb,IAAA,MAAMoC,MAASpC,GAAAA,IAAAA,CAAKqC,GAAI,CAAA,CAAC5E,KAAAA,KAAAA;AACvB,MAAA,IAAIwB,EAAEqD,YAAa7E,CAAAA,KAAAA,KAAUwB,CAAEsD,CAAAA,UAAAA,CAAW9E,KAAAA,CAAQ,EAAA;AAChD,QAAA,IAAI,CAAC0E,OAAAA,CAAQhE,GAAIV,CAAAA,KAAAA,CAAQ,EAAA;AACvB0E,UAAAA,OAAAA,CAAQ/D,GAAIX,CAAAA,KAAAA,EAAO+E,gBAAiB,CAAA,CAAA,CAAA,CAAA;AACtC;AACA,QAAOL,OAAAA,OAAAA,CAAQxE,IAAIF,KAAAA,CAAAA;AACrB;AACA,MAAOA,OAAAA,KAAAA;KACT,CAAA;AACA,IAAA,OAAOgF,UAAWC,CAAAA,IAAAA,CAAKC,SAAUP,CAAAA,MAAAA,CAAAA,CAAAA;GAVxB,EAAA,IAAA,CAAA;AAYXtC,EAAG8C,EAAAA,CAAAA,IAAAA,GAAO,CAAIC,EAAAA,KAAAA;AACZ,IAAA,OAAO,WAAA;AACL,MAAA,OAAOA,GAAG,IAAI,CAAA,CAAER,IAAIvC,EAAAA,CAAAA,CAAIgD,KAAK,GAAA,CAAA;AAC/B,KAAA;AACF,GAAA;AACA,EAAOhD,OAAAA,EAAAA;AACT,CAAA;AAEO,MAAMjB,eAA8B,mBAAA,MAAA,CAAA,CAAA,GAAImB,IAC7C+C,KAAAA,IAAAA,CAAK/C,IAAM,EAAA;EACTgD,QAAU,EAAA,QAAA;AACVC,EAAAA,QAAAA,kBAAW,CAAA,MAAA;AACT,IAAMd,MAAAA,OAAAA,uBAAc7E,OAAAA,EAAAA;AACpB,IAAA,OAAO,CAACG,KAAAA,KAAAA;AACN,MAAIA,IAAAA,KAAAA,IAASA,iBAAiByF,WAAa,EAAA;AAEzC,QAAA,IAAI,CAACf,OAAAA,CAAQhE,GAAIV,CAAAA,KAAAA,CAAQ,EAAA;AACvB0E,UAAAA,OAAAA,CAAQ/D,GAAIX,CAAAA,KAAAA,EAAO+E,gBAAiB,CAAA,CAAA,CAAA,CAAA;AACtC;AACA,QAAOL,OAAAA,OAAAA,CAAQxE,IAAIF,KAAAA,CAAAA;AACrB;AACA,MAAOA,OAAAA,KAAAA;AACT,KAAA;GACF,GAAA;EACA0F,eAAiB,EAAA,KAAA;EACjBC,gBAAkB,EAAA,KAAA;EAClBC,aAAe,EAAA;AACjB,CAAA,CAnByC,EAAA,iBAAA;AAoBpC,MAAMC,iCAAiCtD,MAAAA,CAAAA,CAAAA,GAAAA,IAAAA,KAAgB0C,IAAKC,CAAAA,SAAAA,CAAU3C,IAAAA,CAAnC,EAAA,gBAAA;AAE7BJ,MAAAA,mBAAAA,mBAAsCI,MAAAA,CAAAA,CAAAA,GAAAA,IAAAA,KAAgB,EAApB,EAAA,qBAAA;AAExC,MAAMuD,gBAAoCC,QAAAA,CAAAA;AAAAA,EAAAA;;;;;AACtC1F,EAAAA,IAAAA;EAET,OAAO2F,MAAAA,CACL3D,IACAvB,OACA,EAAA;AACA,IAAA,MAAMmF,QAAW,GAAA,IAAIH,OAAQzD,CAAAA,EAAAA,EAAIvB,OAAAA,CAAAA;AACjC,IAAOmF,OAAAA,QAAAA;AACT;AAEAjE,EAAAA,WAAAA,CACqBK,IACAvB,OACnB,EAAA;AACA,IAAK,KAAA,EAAA,EAAA,KAHcuB,EAAAA,GAAAA,EAAAA,EAAAA,KACAvB,OAAAA,GAAAA,OAAAA,EAAAA,IAZZT,CAAAA,IAAAA,GAAOyF,OAAQzF,CAAAA,IAAAA;AAgBtBD,IAAAA,KAAAA,CAAMoD,YAAY,IAAM,EAAA,KAAA,EAAOvD,MAAOa,CAAAA,OAAAA,IAAW,EAAC,CAAA;AAClD,IAAO,OAAA,IAAIoF,MAAmB,IAAM,EAAA;MAClCzD,KAA2BlC,CAAAA,MAAAA,EAAQ4F,GAAG5D,IAAW,EAAA;AAC/C,QAAOhC,OAAAA,MAAAA,CAAOL,GAAG,CAAA,GAAKqC,IAAAA,CAAAA;AACxB,OAAA;MACArC,GAAIK,CAAAA,MAAAA,EAAQ6F,MAAuBC,QAAa,EAAA;AAC9C,QAAMrG,MAAAA,KAAAA,GAAQO,OAAO6F,IAAAA,CAAAA;AACrB,QAAA,IAAIpG,iBAAiB+F,QAAU,EAAA;AAC7B,UAAA,OAAO,YAAkCxD,IAAO,EAAA;AAC9C,YAAA,OAAOvC,MAAMyC,KAAM,CAAA,IAAA,KAAS4D,QAAW9F,GAAAA,MAAAA,GAAS,MAAMgC,IAAAA,CAAAA;AACxD,WAAA;AACF;AACA,QAAOvC,OAAAA,KAAAA;AACT;KACF,CAAA;AACF;AAEAsG,EAAAA,SAAAA,CAAUjF,GAAa,EAAA;AACrBjB,IAAAA,KAAAA,CAAMoD,WAAY,CAAA,IAAA,EAAM,KAAA,CAAA,CAAOvD,MAAO,CAAA;AAAEoB,MAAAA;KAAI,CAAA;AAC9C;EAEAkF,cAAiB,GAAA;AACf,IAAO,OAAA;AACLlE,MAAAA,EAAAA,EAAI,IAAKA,CAAAA,EAAAA;AACTvB,MAAAA,OAAAA,EAAS,IAAKA,CAAAA;AAChB,KAAA;AACF;AAGAZ,EAAAA,GAAAA,CAAAA,GAAOqC,IAAS,EAAA;AACd,IAAO,OAAA,IAAA,CAAKF,EAAE,CAAA,GAAIE,IAAAA,CAAAA;AACpB;AACF","file":"decoratorCache.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 { AnyFn, TypedFn } from \"@/internals/types.js\";\nimport * as R from \"remeda\";\nimport hash from \"object-hash\";\nimport { createHash, createRandomHash } from \"@/internals/helpers/hash.js\";\nimport { findDescriptor } from \"@/internals/helpers/prototype.js\";\n\ntype InputFn = AnyFn;\ntype TargetFn = AnyFn;\ntype Instance = NonNullable<any>;\n\ntype CacheKeyFn = (this: Instance, ...args: any[]) => string;\n\nexport interface CacheDecoratorOptions {\n enabled: boolean;\n ttl?: number;\n cacheKey: CacheKeyFn;\n enumerable?: boolean;\n}\n\ninterface CacheEntry {\n expiresAt: number;\n data: any;\n}\n\ninterface FnContext {\n options: CacheDecoratorOptions;\n cache: Map<string, CacheEntry>;\n}\n\ninterface GroupContext {\n options: CacheDecoratorOptions;\n instances: WeakMap<Instance, FnContext>;\n}\n\nexport interface CacheDecoratorInstance {\n get(key?: string): CacheEntry | undefined;\n\n clear(keys?: string[]): void;\n\n isEnabled(): boolean;\n\n enable(): void;\n\n disable(): void;\n\n update(data: Partial<CacheDecoratorOptions>): void;\n}\n\nconst state = {\n container: new WeakMap<InputFn, GroupContext>(),\n extractDescriptor(descriptor: PropertyDescriptor) {\n // Method approach\n if (descriptor.value != null) {\n return {\n value: descriptor.value as AnyFn,\n update: (value: TargetFn) => {\n descriptor.value = value;\n },\n };\n }\n // Accessor approach\n if (descriptor.get != null) {\n return {\n value: descriptor.get as AnyFn,\n update: (value: TargetFn) => {\n descriptor.get = value;\n },\n };\n }\n throw new Error(`@${Cache.name} decorator must be either on a method or get accessor.`);\n },\n getInstanceContext<T extends NonNullable<unknown>>(target: T, ctx: GroupContext) {\n if (!ctx.instances.has(target)) {\n ctx.instances.set(target, {\n cache: new Map(),\n options: ctx.options,\n });\n }\n return ctx.instances.get(target)!;\n },\n} as const;\n\nconst initQueue = new WeakMap<Instance, { key: PropertyKey; enumerable: boolean }[]>();\n\nexport function Cache(_options?: Partial<CacheDecoratorOptions>) {\n const baseOptions: Required<CacheDecoratorOptions> = {\n enabled: true,\n cacheKey: ObjectHashKeyFn,\n ttl: Infinity,\n enumerable: false,\n ...R.pickBy(_options ?? {}, R.isDefined),\n };\n\n return function handler(\n obj: NonNullable<object>,\n key: string | symbol,\n descriptor: PropertyDescriptor,\n ) {\n if (Object.hasOwn(obj, \"constructor\")) {\n const constructor = obj.constructor;\n if (!initQueue.has(constructor)) {\n initQueue.set(constructor, []);\n }\n\n baseOptions.enumerable = Boolean(descriptor.get);\n initQueue\n .get(constructor)!\n .push({ key, enumerable: _options?.enumerable ?? baseOptions.enumerable });\n }\n\n const target = state.extractDescriptor(descriptor);\n if (descriptor.get && !_options?.cacheKey) {\n baseOptions.cacheKey = SingletonCacheKeyFn;\n }\n\n const groupContext: GroupContext = { instances: new WeakMap(), options: baseOptions };\n\n const fn = function wrapper(this: any, ...args: any[]) {\n const invokeOriginal = () => target.value.apply(this, args);\n const ctx = state.getInstanceContext(this, groupContext);\n if (!ctx.options.enabled) {\n return invokeOriginal();\n }\n\n const inputHash = ctx.options.cacheKey.apply(this, args);\n if (\n !ctx.cache.has(inputHash) ||\n (ctx.cache.get(inputHash)?.expiresAt ?? Infinity) < Date.now() // is expired check\n ) {\n const result = invokeOriginal();\n ctx.cache.set(inputHash, {\n expiresAt: Date.now() + (ctx.options.ttl ?? Infinity),\n data: result,\n });\n }\n return ctx.cache.get(inputHash)!.data;\n };\n Object.defineProperty(fn, \"name\", {\n get: () => target.value.name ?? \"anonymous\",\n });\n\n target.update(fn);\n state.container.set(fn, groupContext);\n };\n}\n\nCache.init = function init<T extends NonNullable<unknown>>(self: T) {\n const task = initQueue.get(self.constructor) ?? [];\n for (const { key, enumerable } of task) {\n const descriptor = Object.getOwnPropertyDescriptor(self.constructor.prototype, key);\n if (descriptor) {\n Object.defineProperty(self, key, Object.assign(descriptor, { enumerable }));\n }\n }\n initQueue.delete(self);\n};\n\nCache.getInstance = function getInstance<T extends NonNullable<unknown>>(\n target: T,\n property: keyof T,\n): CacheDecoratorInstance {\n const descriptor = findDescriptor(target, property);\n if (!descriptor) {\n throw new TypeError(`No descriptor has been found for '${String(property)}'`);\n }\n const value = state.extractDescriptor(descriptor);\n const ctxByInstance = state.container.get(value.value);\n if (!ctxByInstance) {\n throw new TypeError(`No cache instance is bounded to '${String(property)}'!`);\n }\n\n const ctx = state.getInstanceContext(target, ctxByInstance);\n return {\n get(key = \"\") {\n return ctx.cache.get(key);\n },\n clear(keys?: string[]) {\n if (keys) {\n keys.forEach((key) => ctx.cache.delete(key));\n } else {\n ctx.cache.clear();\n }\n },\n update(data: CacheDecoratorOptions) {\n const oldTTL = ctx.options.ttl;\n const newTTL = data.ttl;\n if (oldTTL !== newTTL && newTTL !== undefined) {\n for (const value of ctx.cache.values()) {\n if (value.expiresAt === Infinity) {\n value.expiresAt = Date.now() + newTTL;\n } else {\n const diff = newTTL - (oldTTL ?? 0);\n value.expiresAt += diff;\n }\n }\n }\n Object.assign(ctx.options, data);\n },\n isEnabled() {\n return ctx.options.enabled;\n },\n enable() {\n ctx.options.enabled = true;\n },\n disable() {\n ctx.options.enabled = false;\n },\n };\n};\n\nexport const WeakRefKeyFn = (() => {\n const _lookup = new WeakMap();\n\n const fn = (...args: any[]) => {\n const chunks = args.map((value) => {\n if (R.isObjectType(value) || R.isFunction(value)) {\n if (!_lookup.has(value)) {\n _lookup.set(value, createRandomHash(6));\n }\n return _lookup.get(value)!;\n }\n return value;\n });\n return createHash(JSON.stringify(chunks));\n };\n fn.from = <T>(cb: (self: T) => any[]) => {\n return function (this: T) {\n return cb(this).map(fn).join(\"#\");\n };\n };\n return fn;\n})() satisfies CacheKeyFn;\n\nexport const ObjectHashKeyFn: CacheKeyFn = (...args: any[]) =>\n hash(args, {\n encoding: \"base64\",\n replacer: (() => {\n const _lookup = new WeakMap();\n return (value: unknown) => {\n if (value && value instanceof AbortSignal) {\n // not supported by \"hash\" function\n if (!_lookup.has(value)) {\n _lookup.set(value, createRandomHash(6));\n }\n return _lookup.get(value)!;\n }\n return value;\n };\n })(),\n unorderedArrays: false,\n unorderedObjects: false,\n unorderedSets: false,\n });\nexport const JSONCacheKeyFn: CacheKeyFn = (...args: any[]) => JSON.stringify(args);\n// eslint-disable-next-line unused-imports/no-unused-vars\nexport const SingletonCacheKeyFn: CacheKeyFn = (...args: any[]) => \"\";\n\nexport class CacheFn<P extends any[], R> extends Function {\n readonly name = CacheFn.name;\n\n static create<A extends any[], B>(\n fn: (...args: A) => B,\n options?: Partial<CacheDecoratorOptions>,\n ) {\n const instance = new CacheFn(fn, options);\n return instance as TypedFn<A, B> & CacheFn<A, B>;\n }\n\n constructor(\n protected readonly fn: (...args: P) => R,\n protected readonly options?: Partial<CacheDecoratorOptions>,\n ) {\n super();\n\n Cache.getInstance(this, \"get\").update(options ?? {});\n return new Proxy<typeof this>(this, {\n apply(this: CacheFn<P, R>, target, _, args: any[]) {\n return target.get(...(args as unknown as P));\n },\n get(target, prop: string | symbol, receiver: any) {\n const value = target[prop as keyof typeof target];\n if (value instanceof Function) {\n return function (this: CacheFn<P, R>, ...args: P) {\n return value.apply(this === receiver ? target : this, args);\n };\n }\n return value;\n },\n }) as unknown as CacheFn<P, R> & typeof fn;\n }\n\n updateTTL(ttl: number) {\n Cache.getInstance(this, \"get\").update({ ttl });\n }\n\n createSnapshot() {\n return {\n fn: this.fn,\n options: this.options,\n };\n }\n\n @Cache()\n get(...args: P) {\n return this.fn(...args);\n }\n}\n"]}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var base_cjs = require('./base.cjs');
|
|
4
|
+
var fs = require('node:fs');
|
|
5
|
+
var slidingCache_cjs = require('./slidingCache.cjs');
|
|
6
|
+
var decoratorCache_cjs = require('./decoratorCache.cjs');
|
|
7
|
+
var serializer_cjs = require('../serializer/serializer.cjs');
|
|
8
|
+
|
|
9
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
|
|
11
|
+
var fs__default = /*#__PURE__*/_interopDefault(fs);
|
|
12
|
+
|
|
13
|
+
var __defProp = Object.defineProperty;
|
|
14
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
15
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
16
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
17
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
18
|
+
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;
|
|
19
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
20
|
+
}
|
|
21
|
+
__name(_ts_decorate, "_ts_decorate");
|
|
22
|
+
function _ts_metadata(k, v) {
|
|
23
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
24
|
+
}
|
|
25
|
+
__name(_ts_metadata, "_ts_metadata");
|
|
26
|
+
class FileCache extends base_cjs.BaseCache {
|
|
27
|
+
static {
|
|
28
|
+
__name(this, "FileCache");
|
|
29
|
+
}
|
|
30
|
+
input;
|
|
31
|
+
constructor(input) {
|
|
32
|
+
super(), this.input = input;
|
|
33
|
+
}
|
|
34
|
+
static {
|
|
35
|
+
this.register();
|
|
36
|
+
}
|
|
37
|
+
get source() {
|
|
38
|
+
return this.input.fullPath;
|
|
39
|
+
}
|
|
40
|
+
static async fromProvider(provider, input) {
|
|
41
|
+
await fs__default.default.promises.writeFile(input.fullPath, await provider.serialize());
|
|
42
|
+
return new FileCache(input);
|
|
43
|
+
}
|
|
44
|
+
async getProvider() {
|
|
45
|
+
const exists = await fs__default.default.promises.stat(this.input.fullPath).then((r) => r.isFile()).catch(() => false);
|
|
46
|
+
if (exists) {
|
|
47
|
+
const serialized = await fs__default.default.promises.readFile(this.input.fullPath, "utf8");
|
|
48
|
+
const { target, snapshot } = await serializer_cjs.Serializer.deserialize(serialized);
|
|
49
|
+
const Target = serializer_cjs.Serializer.getFactory(target).ref;
|
|
50
|
+
const instance = await Target.fromSnapshot(snapshot);
|
|
51
|
+
if (!(instance instanceof base_cjs.BaseCache)) {
|
|
52
|
+
throw new TypeError("Provided file does not serialize any instance of BaseCache class.");
|
|
53
|
+
}
|
|
54
|
+
return instance;
|
|
55
|
+
} else {
|
|
56
|
+
return new slidingCache_cjs.SlidingCache({
|
|
57
|
+
size: Infinity,
|
|
58
|
+
ttl: Infinity
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
async reload() {
|
|
63
|
+
decoratorCache_cjs.Cache.getInstance(this, "getProvider").clear();
|
|
64
|
+
void await this.getProvider();
|
|
65
|
+
}
|
|
66
|
+
async save() {
|
|
67
|
+
const provider = await this.getProvider();
|
|
68
|
+
return await fs__default.default.promises.writeFile(this.input.fullPath, await provider.serialize());
|
|
69
|
+
}
|
|
70
|
+
async size() {
|
|
71
|
+
const provider = await this.getProvider();
|
|
72
|
+
return provider.size();
|
|
73
|
+
}
|
|
74
|
+
async set(key, value) {
|
|
75
|
+
const provider = await this.getProvider();
|
|
76
|
+
await provider.set(key, value);
|
|
77
|
+
void provider.get(key).finally(() => {
|
|
78
|
+
void this.save();
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
async get(key) {
|
|
82
|
+
const provider = await this.getProvider();
|
|
83
|
+
return await provider.get(key);
|
|
84
|
+
}
|
|
85
|
+
async has(key) {
|
|
86
|
+
const provider = await this.getProvider();
|
|
87
|
+
return await provider.has(key);
|
|
88
|
+
}
|
|
89
|
+
async delete(key) {
|
|
90
|
+
const provider = await this.getProvider();
|
|
91
|
+
const result = await provider.delete(key);
|
|
92
|
+
await this.save();
|
|
93
|
+
return result;
|
|
94
|
+
}
|
|
95
|
+
async clear() {
|
|
96
|
+
const provider = await this.getProvider();
|
|
97
|
+
await provider.clear();
|
|
98
|
+
await this.save();
|
|
99
|
+
}
|
|
100
|
+
async createSnapshot() {
|
|
101
|
+
return {
|
|
102
|
+
input: {
|
|
103
|
+
fullPath: this.input.fullPath
|
|
104
|
+
},
|
|
105
|
+
provider: await this.getProvider()
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
loadSnapshot(snapshot) {
|
|
109
|
+
Object.assign(this, snapshot);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
_ts_decorate([
|
|
113
|
+
decoratorCache_cjs.Cache(),
|
|
114
|
+
_ts_metadata("design:type", Function),
|
|
115
|
+
_ts_metadata("design:paramtypes", []),
|
|
116
|
+
_ts_metadata("design:returntype", Promise)
|
|
117
|
+
], FileCache.prototype, "getProvider", null);
|
|
118
|
+
|
|
119
|
+
exports.FileCache = FileCache;
|
|
120
|
+
//# sourceMappingURL=fileCache.cjs.map
|
|
121
|
+
//# sourceMappingURL=fileCache.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/cache/fileCache.ts"],"names":["FileCache","BaseCache","constructor","input","register","source","fullPath","fromProvider","provider","fs","promises","writeFile","serialize","getProvider","exists","stat","then","r","isFile","catch","serialized","readFile","target","snapshot","Serializer","deserialize","Target","getFactory","ref","instance","fromSnapshot","TypeError","SlidingCache","size","Infinity","ttl","reload","Cache","getInstance","clear","save","set","key","value","get","finally","has","delete","result","createSnapshot","loadSnapshot","Object","assign"],"mappings":"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","file":"fileCache.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 { BaseCache } from \"@/cache/base.js\";\nimport fs from \"node:fs\";\nimport { SlidingCache } from \"@/cache/slidingCache.js\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { Serializer } from \"@/serializer/serializer.js\";\nimport { SerializableClass } from \"@/internals/serializable.js\";\n\ninterface Input {\n fullPath: string;\n}\n\nexport class FileCache<T> extends BaseCache<T> {\n constructor(protected readonly input: Input) {\n super();\n }\n\n static {\n this.register();\n }\n\n get source() {\n return this.input.fullPath;\n }\n\n static async fromProvider<A>(provider: BaseCache<A>, input: Input) {\n await fs.promises.writeFile(input.fullPath, await provider.serialize());\n return new FileCache<A>(input);\n }\n\n @Cache()\n protected async getProvider(): Promise<BaseCache<T>> {\n const exists = await fs.promises\n .stat(this.input.fullPath)\n .then((r) => r.isFile())\n .catch(() => false);\n\n if (exists) {\n const serialized = await fs.promises.readFile(this.input.fullPath, \"utf8\");\n const { target, snapshot } = await Serializer.deserialize<any>(serialized);\n const Target = Serializer.getFactory(target).ref as SerializableClass<BaseCache<T>>;\n const instance = await Target.fromSnapshot(snapshot);\n if (!(instance instanceof BaseCache)) {\n throw new TypeError(\"Provided file does not serialize any instance of BaseCache class.\");\n }\n return instance;\n } else {\n return new SlidingCache({\n size: Infinity,\n ttl: Infinity,\n });\n }\n }\n\n async reload() {\n // @ts-expect-error protected property\n Cache.getInstance(this, \"getProvider\").clear();\n void (await this.getProvider());\n }\n\n protected async save() {\n const provider = await this.getProvider();\n return await fs.promises.writeFile(this.input.fullPath, await provider.serialize());\n }\n\n async size() {\n const provider = await this.getProvider();\n return provider.size();\n }\n\n async set(key: string, value: T) {\n const provider = await this.getProvider();\n await provider.set(key, value);\n void provider.get(key).finally(() => {\n void this.save();\n });\n }\n\n async get(key: string) {\n const provider = await this.getProvider();\n return await provider.get(key);\n }\n\n async has(key: string) {\n const provider = await this.getProvider();\n return await provider.has(key);\n }\n\n async delete(key: string) {\n const provider = await this.getProvider();\n const result = await provider.delete(key);\n await this.save();\n return result;\n }\n\n async clear() {\n const provider = await this.getProvider();\n await provider.clear();\n await this.save();\n }\n\n async createSnapshot() {\n return {\n input: { fullPath: this.input.fullPath },\n provider: await this.getProvider(),\n };\n }\n\n loadSnapshot(snapshot: Awaited<ReturnType<typeof this.createSnapshot>>): void {\n Object.assign(this, snapshot);\n }\n}\n"]}
|