beeai-framework 0.1.28 → 0.1.30
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/dist/adapters/a2a/agents/agent.cjs.map +1 -1
- package/dist/adapters/a2a/agents/agent.d.cts +2 -2
- package/dist/adapters/a2a/agents/agent.d.ts +2 -2
- package/dist/adapters/a2a/agents/agent.js.map +1 -1
- package/dist/adapters/a2a/agents/events.d.cts +1 -1
- package/dist/adapters/a2a/agents/events.d.ts +1 -1
- package/dist/adapters/a2a/agents/types.d.cts +2 -2
- package/dist/adapters/a2a/agents/types.d.ts +2 -2
- package/dist/adapters/a2a/agents/utils.cjs +52 -11
- package/dist/adapters/a2a/agents/utils.cjs.map +1 -1
- package/dist/adapters/a2a/agents/utils.js +52 -11
- package/dist/adapters/a2a/agents/utils.js.map +1 -1
- package/dist/adapters/a2a/serve/agent_executor.cjs.map +1 -1
- package/dist/adapters/a2a/serve/agent_executor.d.cts +3 -3
- package/dist/adapters/a2a/serve/agent_executor.d.ts +3 -3
- package/dist/adapters/a2a/serve/agent_executor.js.map +1 -1
- package/dist/adapters/a2a/serve/server.cjs.map +1 -1
- package/dist/adapters/a2a/serve/server.d.cts +2 -2
- package/dist/adapters/a2a/serve/server.d.ts +2 -2
- package/dist/adapters/a2a/serve/server.js.map +1 -1
- package/dist/adapters/acp/agents/agent.cjs.map +1 -1
- package/dist/adapters/acp/agents/agent.d.cts +2 -2
- package/dist/adapters/acp/agents/agent.d.ts +2 -2
- package/dist/adapters/acp/agents/agent.js.map +1 -1
- package/dist/adapters/acp/agents/events.d.cts +1 -1
- package/dist/adapters/acp/agents/events.d.ts +1 -1
- package/dist/adapters/agentstack/agents/agent.cjs.map +1 -1
- package/dist/adapters/agentstack/agents/agent.d.cts +2 -2
- package/dist/adapters/agentstack/agents/agent.d.ts +2 -2
- package/dist/adapters/agentstack/agents/agent.js.map +1 -1
- package/dist/adapters/agentstack/agents/events.d.cts +1 -1
- package/dist/adapters/agentstack/agents/events.d.ts +1 -1
- package/dist/adapters/amazon-bedrock/backend/chat.cjs.map +1 -1
- package/dist/adapters/amazon-bedrock/backend/chat.d.cts +2 -2
- package/dist/adapters/amazon-bedrock/backend/chat.d.ts +2 -2
- package/dist/adapters/amazon-bedrock/backend/chat.js.map +1 -1
- package/dist/adapters/amazon-bedrock/backend/client.cjs.map +1 -1
- package/dist/adapters/amazon-bedrock/backend/client.js.map +1 -1
- package/dist/adapters/amazon-bedrock/backend/embedding.cjs.map +1 -1
- package/dist/adapters/amazon-bedrock/backend/embedding.d.cts +2 -2
- package/dist/adapters/amazon-bedrock/backend/embedding.d.ts +2 -2
- package/dist/adapters/amazon-bedrock/backend/embedding.js.map +1 -1
- package/dist/adapters/anthropic/backend/chat.cjs.map +1 -1
- package/dist/adapters/anthropic/backend/chat.d.cts +3 -3
- package/dist/adapters/anthropic/backend/chat.d.ts +3 -3
- package/dist/adapters/anthropic/backend/chat.js.map +1 -1
- package/dist/adapters/anthropic/backend/client.cjs.map +1 -1
- package/dist/adapters/anthropic/backend/client.js.map +1 -1
- package/dist/adapters/anthropic/backend/embedding.cjs.map +1 -1
- package/dist/adapters/anthropic/backend/embedding.d.cts +2 -2
- package/dist/adapters/anthropic/backend/embedding.d.ts +2 -2
- package/dist/adapters/anthropic/backend/embedding.js.map +1 -1
- package/dist/adapters/azure-openai/backend/chat.cjs.map +1 -1
- package/dist/adapters/azure-openai/backend/chat.d.cts +3 -3
- package/dist/adapters/azure-openai/backend/chat.d.ts +3 -3
- package/dist/adapters/azure-openai/backend/chat.js.map +1 -1
- package/dist/adapters/azure-openai/backend/client.cjs.map +1 -1
- package/dist/adapters/azure-openai/backend/client.js.map +1 -1
- package/dist/adapters/azure-openai/backend/embedding.cjs.map +1 -1
- package/dist/adapters/azure-openai/backend/embedding.d.cts +2 -2
- package/dist/adapters/azure-openai/backend/embedding.d.ts +2 -2
- package/dist/adapters/azure-openai/backend/embedding.js.map +1 -1
- package/dist/adapters/dummy/backend/chat.cjs.map +1 -1
- package/dist/adapters/dummy/backend/chat.d.cts +2 -2
- package/dist/adapters/dummy/backend/chat.d.ts +2 -2
- package/dist/adapters/dummy/backend/chat.js.map +1 -1
- package/dist/adapters/dummy/backend/embedding.cjs.map +1 -1
- package/dist/adapters/dummy/backend/embedding.d.cts +2 -2
- package/dist/adapters/dummy/backend/embedding.d.ts +2 -2
- package/dist/adapters/dummy/backend/embedding.js.map +1 -1
- package/dist/adapters/google-vertex/backend/chat.cjs.map +1 -1
- package/dist/adapters/google-vertex/backend/chat.d.cts +3 -3
- package/dist/adapters/google-vertex/backend/chat.d.ts +3 -3
- package/dist/adapters/google-vertex/backend/chat.js.map +1 -1
- package/dist/adapters/google-vertex/backend/client.cjs.map +1 -1
- package/dist/adapters/google-vertex/backend/client.js.map +1 -1
- package/dist/adapters/google-vertex/backend/embedding.cjs.map +1 -1
- package/dist/adapters/google-vertex/backend/embedding.d.cts +2 -2
- package/dist/adapters/google-vertex/backend/embedding.d.ts +2 -2
- package/dist/adapters/google-vertex/backend/embedding.js.map +1 -1
- package/dist/adapters/groq/backend/chat.cjs.map +1 -1
- package/dist/adapters/groq/backend/chat.d.cts +3 -3
- package/dist/adapters/groq/backend/chat.d.ts +3 -3
- package/dist/adapters/groq/backend/chat.js.map +1 -1
- package/dist/adapters/groq/backend/client.cjs.map +1 -1
- package/dist/adapters/groq/backend/client.js.map +1 -1
- package/dist/adapters/groq/backend/embedding.cjs.map +1 -1
- package/dist/adapters/groq/backend/embedding.d.cts +2 -2
- package/dist/adapters/groq/backend/embedding.d.ts +2 -2
- package/dist/adapters/groq/backend/embedding.js.map +1 -1
- package/dist/adapters/langchain/backend/chat.cjs +6 -28
- package/dist/adapters/langchain/backend/chat.cjs.map +1 -1
- package/dist/adapters/langchain/backend/chat.d.cts +6 -5
- package/dist/adapters/langchain/backend/chat.d.ts +6 -5
- package/dist/adapters/langchain/backend/chat.js +6 -28
- package/dist/adapters/langchain/backend/chat.js.map +1 -1
- package/dist/adapters/langchain/backend/embedding.cjs +3 -2
- package/dist/adapters/langchain/backend/embedding.cjs.map +1 -1
- package/dist/adapters/langchain/backend/embedding.d.cts +3 -3
- package/dist/adapters/langchain/backend/embedding.d.ts +3 -3
- package/dist/adapters/langchain/backend/embedding.js +3 -2
- package/dist/adapters/langchain/backend/embedding.js.map +1 -1
- package/dist/adapters/langchain/backend/utils.cjs +328 -0
- package/dist/adapters/langchain/backend/utils.cjs.map +1 -0
- package/dist/adapters/langchain/backend/utils.d.cts +39 -0
- package/dist/adapters/langchain/backend/utils.d.ts +39 -0
- package/dist/adapters/langchain/backend/utils.js +324 -0
- package/dist/adapters/langchain/backend/utils.js.map +1 -0
- package/dist/adapters/langchain/tools.cjs.map +1 -1
- package/dist/adapters/langchain/tools.d.cts +2 -2
- package/dist/adapters/langchain/tools.d.ts +2 -2
- package/dist/adapters/langchain/tools.js.map +1 -1
- package/dist/adapters/mcp/serve/http_server.cjs.map +1 -1
- package/dist/adapters/mcp/serve/http_server.js.map +1 -1
- package/dist/adapters/mcp/serve/in_memory_store.cjs.map +1 -1
- package/dist/adapters/mcp/serve/in_memory_store.js.map +1 -1
- package/dist/adapters/mcp/serve/server.cjs.map +1 -1
- package/dist/adapters/mcp/serve/server.js.map +1 -1
- package/dist/adapters/minimax/backend/chat.cjs +25 -0
- package/dist/adapters/minimax/backend/chat.cjs.map +1 -0
- package/dist/adapters/minimax/backend/chat.d.cts +38 -0
- package/dist/adapters/minimax/backend/chat.d.ts +38 -0
- package/dist/adapters/minimax/backend/chat.js +23 -0
- package/dist/adapters/minimax/backend/chat.js.map +1 -0
- package/dist/adapters/minimax/backend/client.cjs +31 -0
- package/dist/adapters/minimax/backend/client.cjs.map +1 -0
- package/dist/adapters/minimax/backend/client.d.cts +17 -0
- package/dist/adapters/minimax/backend/client.d.ts +17 -0
- package/dist/adapters/minimax/backend/client.js +29 -0
- package/dist/adapters/minimax/backend/client.js.map +1 -0
- package/dist/adapters/ollama/backend/chat.cjs.map +1 -1
- package/dist/adapters/ollama/backend/chat.d.cts +2 -2
- package/dist/adapters/ollama/backend/chat.d.ts +2 -2
- package/dist/adapters/ollama/backend/chat.js.map +1 -1
- package/dist/adapters/ollama/backend/client.cjs.map +1 -1
- package/dist/adapters/ollama/backend/client.js.map +1 -1
- package/dist/adapters/ollama/backend/embedding.cjs.map +1 -1
- package/dist/adapters/ollama/backend/embedding.d.cts +2 -2
- package/dist/adapters/ollama/backend/embedding.d.ts +2 -2
- package/dist/adapters/ollama/backend/embedding.js.map +1 -1
- package/dist/adapters/openai/backend/chat.cjs.map +1 -1
- package/dist/adapters/openai/backend/chat.d.cts +2 -2
- package/dist/adapters/openai/backend/chat.d.ts +2 -2
- package/dist/adapters/openai/backend/chat.js.map +1 -1
- package/dist/adapters/openai/backend/client.cjs.map +1 -1
- package/dist/adapters/openai/backend/client.js.map +1 -1
- package/dist/adapters/openai/backend/embedding.cjs.map +1 -1
- package/dist/adapters/openai/backend/embedding.d.cts +2 -2
- package/dist/adapters/openai/backend/embedding.d.ts +2 -2
- package/dist/adapters/openai/backend/embedding.js.map +1 -1
- package/dist/adapters/vercel/backend/chat.cjs.map +1 -1
- package/dist/adapters/vercel/backend/chat.d.cts +2 -2
- package/dist/adapters/vercel/backend/chat.d.ts +2 -2
- package/dist/adapters/vercel/backend/chat.js.map +1 -1
- package/dist/adapters/vercel/backend/embedding.cjs.map +1 -1
- package/dist/adapters/vercel/backend/embedding.d.cts +2 -2
- package/dist/adapters/vercel/backend/embedding.d.ts +2 -2
- package/dist/adapters/vercel/backend/embedding.js.map +1 -1
- package/dist/adapters/vercel/backend/utils.cjs.map +1 -1
- package/dist/adapters/vercel/backend/utils.d.cts +2 -2
- package/dist/adapters/vercel/backend/utils.d.ts +2 -2
- package/dist/adapters/vercel/backend/utils.js.map +1 -1
- package/dist/adapters/watsonx/backend/chat.cjs.map +1 -1
- package/dist/adapters/watsonx/backend/chat.d.cts +2 -2
- package/dist/adapters/watsonx/backend/chat.d.ts +2 -2
- package/dist/adapters/watsonx/backend/chat.js +1 -1
- package/dist/adapters/watsonx/backend/chat.js.map +1 -1
- package/dist/adapters/watsonx/backend/client.cjs.map +1 -1
- package/dist/adapters/watsonx/backend/client.js.map +1 -1
- package/dist/adapters/watsonx/backend/embedding.cjs.map +1 -1
- package/dist/adapters/watsonx/backend/embedding.d.cts +2 -2
- package/dist/adapters/watsonx/backend/embedding.d.ts +2 -2
- package/dist/adapters/watsonx/backend/embedding.js.map +1 -1
- package/dist/adapters/xai/backend/chat.cjs.map +1 -1
- package/dist/adapters/xai/backend/chat.d.cts +2 -2
- package/dist/adapters/xai/backend/chat.d.ts +2 -2
- package/dist/adapters/xai/backend/chat.js.map +1 -1
- package/dist/adapters/xai/backend/client.cjs.map +1 -1
- package/dist/adapters/xai/backend/client.js.map +1 -1
- package/dist/{agent-BAVf6-xf.d.ts → agent-s3uhvAba.d.ts} +5 -5
- package/dist/{agent-DHO-oJQf.d.cts → agent-zfT__iq9.d.cts} +5 -5
- package/dist/agents/base.cjs.map +1 -1
- package/dist/agents/base.d.cts +2 -2
- package/dist/agents/base.d.ts +2 -2
- package/dist/agents/base.js.map +1 -1
- package/dist/agents/experimental/replan/agent.cjs.map +1 -1
- package/dist/agents/experimental/replan/agent.d.cts +3 -3
- package/dist/agents/experimental/replan/agent.d.ts +3 -3
- package/dist/agents/experimental/replan/agent.js.map +1 -1
- package/dist/agents/experimental/replan/prompts.cjs.map +1 -1
- package/dist/agents/experimental/replan/prompts.d.cts +1 -1
- package/dist/agents/experimental/replan/prompts.d.ts +1 -1
- package/dist/agents/experimental/replan/prompts.js.map +1 -1
- package/dist/agents/experimental/streamlit/agent.cjs.map +1 -1
- package/dist/agents/experimental/streamlit/agent.d.cts +3 -3
- package/dist/agents/experimental/streamlit/agent.d.ts +3 -3
- package/dist/agents/experimental/streamlit/agent.js.map +1 -1
- package/dist/agents/experimental/streamlit/prompts.cjs +2 -2
- package/dist/agents/experimental/streamlit/prompts.cjs.map +1 -1
- package/dist/agents/experimental/streamlit/prompts.js +2 -2
- package/dist/agents/experimental/streamlit/prompts.js.map +1 -1
- package/dist/agents/react/agent.cjs +6 -6
- package/dist/agents/react/agent.cjs.map +1 -1
- package/dist/agents/react/agent.d.cts +4 -4
- package/dist/agents/react/agent.d.ts +4 -4
- package/dist/agents/react/agent.js.map +1 -1
- package/dist/agents/react/prompts.cjs.map +1 -1
- package/dist/agents/react/prompts.d.cts +1 -1
- package/dist/agents/react/prompts.d.ts +1 -1
- package/dist/agents/react/prompts.js.map +1 -1
- package/dist/agents/react/runners/base.cjs.map +1 -1
- package/dist/agents/react/runners/base.d.cts +4 -4
- package/dist/agents/react/runners/base.d.ts +4 -4
- package/dist/agents/react/runners/base.js.map +1 -1
- package/dist/agents/react/runners/deep-think/prompts.cjs.map +1 -1
- package/dist/agents/react/runners/deep-think/prompts.d.cts +1 -1
- package/dist/agents/react/runners/deep-think/prompts.d.ts +1 -1
- package/dist/agents/react/runners/deep-think/prompts.js.map +1 -1
- package/dist/agents/react/runners/deep-think/runner.cjs.map +1 -1
- package/dist/agents/react/runners/deep-think/runner.d.cts +5 -5
- package/dist/agents/react/runners/deep-think/runner.d.ts +5 -5
- package/dist/agents/react/runners/deep-think/runner.js.map +1 -1
- package/dist/agents/react/runners/default/runner.cjs.map +1 -1
- package/dist/agents/react/runners/default/runner.d.cts +5 -5
- package/dist/agents/react/runners/default/runner.d.ts +5 -5
- package/dist/agents/react/runners/default/runner.js.map +1 -1
- package/dist/agents/react/runners/default/runner.spec.cjs.map +1 -1
- package/dist/agents/react/runners/default/runner.spec.js.map +1 -1
- package/dist/agents/react/runners/granite/prompts.cjs.map +1 -1
- package/dist/agents/react/runners/granite/prompts.d.cts +1 -1
- package/dist/agents/react/runners/granite/prompts.d.ts +1 -1
- package/dist/agents/react/runners/granite/prompts.js.map +1 -1
- package/dist/agents/react/runners/granite/runner.cjs.map +1 -1
- package/dist/agents/react/runners/granite/runner.d.cts +5 -5
- package/dist/agents/react/runners/granite/runner.d.ts +5 -5
- package/dist/agents/react/runners/granite/runner.js.map +1 -1
- package/dist/agents/react/types.d.cts +2 -2
- package/dist/agents/react/types.d.ts +2 -2
- package/dist/agents/requirement/agent.cjs.map +1 -1
- package/dist/agents/requirement/agent.d.cts +5 -5
- package/dist/agents/requirement/agent.d.ts +5 -5
- package/dist/agents/requirement/agent.js.map +1 -1
- package/dist/agents/requirement/prompts.d.cts +2 -2
- package/dist/agents/requirement/prompts.d.ts +2 -2
- package/dist/agents/requirement/requirements/conditional.cjs.map +1 -1
- package/dist/agents/requirement/requirements/conditional.d.cts +5 -5
- package/dist/agents/requirement/requirements/conditional.d.ts +5 -5
- package/dist/agents/requirement/requirements/conditional.js.map +1 -1
- package/dist/agents/requirement/requirements/requirement.cjs.map +1 -1
- package/dist/agents/requirement/requirements/requirement.d.cts +4 -4
- package/dist/agents/requirement/requirements/requirement.d.ts +4 -4
- package/dist/agents/requirement/requirements/requirement.js.map +1 -1
- package/dist/agents/requirement/requirements/utils.cjs.map +1 -1
- package/dist/agents/requirement/requirements/utils.d.cts +1 -1
- package/dist/agents/requirement/requirements/utils.d.ts +1 -1
- package/dist/agents/requirement/requirements/utils.js.map +1 -1
- package/dist/agents/requirement/runner.cjs.map +1 -1
- package/dist/agents/requirement/runner.d.cts +5 -5
- package/dist/agents/requirement/runner.d.ts +5 -5
- package/dist/agents/requirement/runner.js.map +1 -1
- package/dist/agents/requirement/types.d.cts +4 -4
- package/dist/agents/requirement/types.d.ts +4 -4
- package/dist/agents/requirement/utils/llm.cjs.map +1 -1
- package/dist/agents/requirement/utils/llm.d.cts +4 -4
- package/dist/agents/requirement/utils/llm.d.ts +4 -4
- package/dist/agents/requirement/utils/llm.js.map +1 -1
- package/dist/agents/requirement/utils/tool.cjs.map +1 -1
- package/dist/agents/requirement/utils/tool.d.cts +4 -4
- package/dist/agents/requirement/utils/tool.d.ts +4 -4
- package/dist/agents/requirement/utils/tool.js.map +1 -1
- package/dist/agents/requirement/utils/toolCallChecker.cjs.map +1 -1
- package/dist/agents/requirement/utils/toolCallChecker.js.map +1 -1
- package/dist/agents/toolCalling/agent.cjs.map +1 -1
- package/dist/agents/toolCalling/agent.d.cts +4 -4
- package/dist/agents/toolCalling/agent.d.ts +4 -4
- package/dist/agents/toolCalling/agent.js.map +1 -1
- package/dist/agents/toolCalling/prompts.cjs.map +1 -1
- package/dist/agents/toolCalling/prompts.js.map +1 -1
- package/dist/agents/toolCalling/types.d.cts +1 -1
- package/dist/agents/toolCalling/types.d.ts +1 -1
- package/dist/agents/types.d.cts +2 -2
- package/dist/agents/types.d.ts +2 -2
- package/dist/backend/backend.cjs.map +1 -1
- package/dist/backend/backend.d.cts +3 -3
- package/dist/backend/backend.d.ts +3 -3
- package/dist/backend/backend.js.map +1 -1
- package/dist/backend/chat.cjs.map +1 -1
- package/dist/backend/chat.d.cts +2 -2
- package/dist/backend/chat.d.ts +2 -2
- package/dist/backend/chat.js.map +1 -1
- package/dist/backend/client.cjs.map +1 -1
- package/dist/backend/client.js.map +1 -1
- package/dist/backend/constants.cjs +7 -0
- package/dist/backend/constants.cjs.map +1 -1
- package/dist/backend/constants.d.cts +5 -0
- package/dist/backend/constants.d.ts +5 -0
- package/dist/backend/constants.js +7 -0
- package/dist/backend/constants.js.map +1 -1
- package/dist/backend/core.d.cts +2 -2
- package/dist/backend/core.d.ts +2 -2
- package/dist/backend/embedding.cjs.map +1 -1
- package/dist/backend/embedding.d.cts +2 -2
- package/dist/backend/embedding.d.ts +2 -2
- package/dist/backend/embedding.js.map +1 -1
- package/dist/backend/errors.cjs.map +1 -1
- package/dist/backend/errors.d.cts +2 -2
- package/dist/backend/errors.d.ts +2 -2
- package/dist/backend/errors.js.map +1 -1
- package/dist/backend/message.cjs.map +1 -1
- package/dist/backend/message.js.map +1 -1
- package/dist/backend/utils.cjs.map +1 -1
- package/dist/backend/utils.d.cts +2 -2
- package/dist/backend/utils.d.ts +2 -2
- package/dist/backend/utils.js.map +1 -1
- package/dist/{base-BfhNzUYf.d.ts → base-BjzyQ8k6.d.ts} +2 -2
- package/dist/{base-BqzN2QwB.d.cts → base-s3ioVIE9.d.cts} +2 -2
- package/dist/cache/decoratorCache.cjs.map +1 -1
- package/dist/cache/decoratorCache.js.map +1 -1
- package/dist/cache/fileCache.cjs.map +1 -1
- package/dist/cache/fileCache.js.map +1 -1
- package/dist/cache/nullCache.cjs.map +1 -1
- package/dist/cache/nullCache.js.map +1 -1
- package/dist/cache/slidingCache.cjs.map +1 -1
- package/dist/cache/slidingCache.js.map +1 -1
- package/dist/cache/unconstrainedCache.cjs.map +1 -1
- package/dist/cache/unconstrainedCache.js.map +1 -1
- package/dist/{chat-DaqV3woF.d.cts → chat-C20nYj46.d.cts} +3 -3
- package/dist/{chat-DTxmaKP0.d.ts → chat-CfTNfR60.d.ts} +3 -3
- package/dist/context.cjs.map +1 -1
- package/dist/context.d.cts +1 -1
- package/dist/context.d.ts +1 -1
- package/dist/context.js.map +1 -1
- package/dist/emitter/emitter.cjs.map +1 -1
- package/dist/emitter/emitter.d.cts +1 -1
- package/dist/emitter/emitter.d.ts +1 -1
- package/dist/emitter/emitter.js.map +1 -1
- package/dist/emitter/types.d.cts +1 -1
- package/dist/emitter/types.d.ts +1 -1
- package/dist/emitter/utils.cjs.map +1 -1
- package/dist/emitter/utils.js.map +1 -1
- package/dist/{emitter-UkIkNrek.d.cts → emitter-D4OcelZ9.d.cts} +2 -2
- package/dist/{emitter-CL56qab4.d.ts → emitter-kHxkUxco.d.ts} +2 -2
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.d.cts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/internals/env.cjs.map +1 -1
- package/dist/internals/env.js.map +1 -1
- package/dist/internals/fetcher.cjs.map +1 -1
- package/dist/internals/fetcher.d.cts +1 -1
- package/dist/internals/fetcher.d.ts +1 -1
- package/dist/internals/fetcher.js.map +1 -1
- package/dist/internals/helpers/array.cjs.map +1 -1
- package/dist/internals/helpers/array.js.map +1 -1
- package/dist/internals/helpers/cancellation.cjs.map +1 -1
- package/dist/internals/helpers/cancellation.js.map +1 -1
- package/dist/internals/helpers/counter.cjs.map +1 -1
- package/dist/internals/helpers/counter.js.map +1 -1
- package/dist/internals/helpers/general.cjs.map +1 -1
- package/dist/internals/helpers/general.js.map +1 -1
- package/dist/internals/helpers/hash.cjs.map +1 -1
- package/dist/internals/helpers/hash.js.map +1 -1
- package/dist/internals/helpers/map.cjs.map +1 -1
- package/dist/internals/helpers/map.js.map +1 -1
- package/dist/internals/helpers/math.cjs.map +1 -1
- package/dist/internals/helpers/math.js.map +1 -1
- package/dist/internals/helpers/object.cjs +7 -1
- package/dist/internals/helpers/object.cjs.map +1 -1
- package/dist/internals/helpers/object.js +7 -1
- package/dist/internals/helpers/object.js.map +1 -1
- package/dist/internals/helpers/paginate.cjs.map +1 -1
- package/dist/internals/helpers/paginate.js.map +1 -1
- package/dist/internals/helpers/promise.cjs.map +1 -1
- package/dist/internals/helpers/promise.js.map +1 -1
- package/dist/internals/helpers/prototype.cjs.map +1 -1
- package/dist/internals/helpers/prototype.js.map +1 -1
- package/dist/internals/helpers/retry.cjs.map +1 -1
- package/dist/internals/helpers/retry.js.map +1 -1
- package/dist/internals/helpers/retryable.cjs.map +1 -1
- package/dist/internals/helpers/retryable.js.map +1 -1
- package/dist/internals/helpers/schema.cjs.map +1 -1
- package/dist/internals/helpers/schema.d.cts +4 -4
- package/dist/internals/helpers/schema.d.ts +4 -4
- package/dist/internals/helpers/schema.js.map +1 -1
- package/dist/internals/helpers/stream.cjs.map +1 -1
- package/dist/internals/helpers/stream.js.map +1 -1
- package/dist/internals/helpers/string.cjs.map +1 -1
- package/dist/internals/helpers/string.js.map +1 -1
- package/dist/internals/helpers/weakRef.cjs.map +1 -1
- package/dist/internals/helpers/weakRef.js.map +1 -1
- package/dist/internals/serializable.cjs +3 -1
- package/dist/internals/serializable.cjs.map +1 -1
- package/dist/internals/serializable.d.cts +6 -0
- package/dist/internals/serializable.d.ts +6 -0
- package/dist/internals/serializable.js +3 -1
- package/dist/internals/serializable.js.map +1 -1
- package/dist/internals/types.cjs.map +1 -1
- package/dist/internals/types.js.map +1 -1
- package/dist/logger/logger.cjs.map +1 -1
- package/dist/logger/logger.d.cts +2 -2
- package/dist/logger/logger.d.ts +2 -2
- package/dist/logger/logger.js +2 -2
- package/dist/logger/logger.js.map +1 -1
- package/dist/logger/pretty.cjs.map +1 -1
- package/dist/logger/pretty.js.map +1 -1
- package/dist/memory/base.cjs.map +1 -1
- package/dist/memory/base.js.map +1 -1
- package/dist/memory/slidingMemory.cjs.map +1 -1
- package/dist/memory/slidingMemory.js.map +1 -1
- package/dist/memory/summarizeMemory.cjs.map +1 -1
- package/dist/memory/summarizeMemory.d.cts +2 -2
- package/dist/memory/summarizeMemory.d.ts +2 -2
- package/dist/memory/summarizeMemory.js.map +1 -1
- package/dist/memory/tokenMemory.cjs.map +1 -1
- package/dist/memory/tokenMemory.js.map +1 -1
- package/dist/memory/unconstrainedMemory.cjs.map +1 -1
- package/dist/memory/unconstrainedMemory.js.map +1 -1
- package/dist/middleware/streamToolCall.cjs.map +1 -1
- package/dist/middleware/streamToolCall.d.cts +2 -2
- package/dist/middleware/streamToolCall.d.ts +2 -2
- package/dist/middleware/streamToolCall.js.map +1 -1
- package/dist/middleware/trajectory.cjs.map +1 -1
- package/dist/middleware/trajectory.d.cts +2 -2
- package/dist/middleware/trajectory.d.ts +2 -2
- package/dist/middleware/trajectory.js.map +1 -1
- package/dist/parsers/errors.cjs.map +1 -1
- package/dist/parsers/errors.js.map +1 -1
- package/dist/parsers/field.cjs.map +1 -1
- package/dist/parsers/field.js.map +1 -1
- package/dist/parsers/linePrefix.cjs.map +1 -1
- package/dist/parsers/linePrefix.d.cts +1 -1
- package/dist/parsers/linePrefix.d.ts +1 -1
- package/dist/parsers/linePrefix.js.map +1 -1
- package/dist/serializer/error.cjs.map +1 -1
- package/dist/serializer/error.js.map +1 -1
- package/dist/serializer/serializer.cjs +16 -3
- package/dist/serializer/serializer.cjs.map +1 -1
- package/dist/serializer/serializer.d.cts +1 -1
- package/dist/serializer/serializer.d.ts +1 -1
- package/dist/serializer/serializer.js +16 -4
- package/dist/serializer/serializer.js.map +1 -1
- package/dist/serializer/utils.cjs.map +1 -1
- package/dist/serializer/utils.d.cts +1 -1
- package/dist/serializer/utils.d.ts +1 -1
- package/dist/serializer/utils.js.map +1 -1
- package/dist/{serializer-53t8gGQa.d.ts → serializer-BafOT48s.d.ts} +10 -4
- package/dist/{serializer-c51B2z6d.d.cts → serializer-CFDWYUco.d.cts} +10 -4
- package/dist/serve/server.cjs.map +1 -1
- package/dist/serve/server.js.map +1 -1
- package/dist/template.cjs.map +1 -1
- package/dist/template.js.map +1 -1
- package/dist/tools/arxiv.cjs.map +1 -1
- package/dist/tools/arxiv.d.cts +2 -2
- package/dist/tools/arxiv.d.ts +2 -2
- package/dist/tools/arxiv.js.map +1 -1
- package/dist/tools/base.cjs.map +1 -1
- package/dist/tools/base.d.cts +1 -1
- package/dist/tools/base.d.ts +1 -1
- package/dist/tools/base.js.map +1 -1
- package/dist/tools/calculator.cjs.map +1 -1
- package/dist/tools/calculator.d.cts +3 -3
- package/dist/tools/calculator.d.ts +3 -3
- package/dist/tools/calculator.js.map +1 -1
- package/dist/tools/custom.cjs.map +1 -1
- package/dist/tools/custom.d.cts +3 -3
- package/dist/tools/custom.d.ts +3 -3
- package/dist/tools/custom.js.map +1 -1
- package/dist/tools/database/elasticsearch.cjs.map +1 -1
- package/dist/tools/database/elasticsearch.d.cts +3 -3
- package/dist/tools/database/elasticsearch.d.ts +3 -3
- package/dist/tools/database/elasticsearch.js.map +1 -1
- package/dist/tools/database/metadata.cjs.map +1 -1
- package/dist/tools/database/metadata.js.map +1 -1
- package/dist/tools/database/milvus.cjs.map +1 -1
- package/dist/tools/database/milvus.d.cts +3 -3
- package/dist/tools/database/milvus.d.ts +3 -3
- package/dist/tools/database/milvus.js.map +1 -1
- package/dist/tools/database/qdrant.cjs.map +1 -1
- package/dist/tools/database/qdrant.d.cts +2 -2
- package/dist/tools/database/qdrant.d.ts +2 -2
- package/dist/tools/database/qdrant.js.map +1 -1
- package/dist/tools/database/sql.cjs.map +1 -1
- package/dist/tools/database/sql.d.cts +2 -2
- package/dist/tools/database/sql.d.ts +2 -2
- package/dist/tools/database/sql.js.map +1 -1
- package/dist/tools/handoff.cjs.map +1 -1
- package/dist/tools/handoff.d.cts +2 -2
- package/dist/tools/handoff.d.ts +2 -2
- package/dist/tools/handoff.js.map +1 -1
- package/dist/tools/llm.cjs +1 -1
- package/dist/tools/llm.cjs.map +1 -1
- package/dist/tools/llm.d.cts +3 -3
- package/dist/tools/llm.d.ts +3 -3
- package/dist/tools/llm.js +1 -1
- package/dist/tools/llm.js.map +1 -1
- package/dist/tools/mcp.cjs.map +1 -1
- package/dist/tools/mcp.d.cts +2 -2
- package/dist/tools/mcp.d.ts +2 -2
- package/dist/tools/mcp.js.map +1 -1
- package/dist/tools/openapi.cjs.map +1 -1
- package/dist/tools/openapi.d.cts +2 -2
- package/dist/tools/openapi.d.ts +2 -2
- package/dist/tools/openapi.js.map +1 -1
- package/dist/tools/python/output.cjs.map +1 -1
- package/dist/tools/python/output.d.cts +1 -1
- package/dist/tools/python/output.d.ts +1 -1
- package/dist/tools/python/output.js.map +1 -1
- package/dist/tools/python/python.cjs +5 -2
- package/dist/tools/python/python.cjs.map +1 -1
- package/dist/tools/python/python.d.cts +3 -3
- package/dist/tools/python/python.d.ts +3 -3
- package/dist/tools/python/python.js +5 -2
- package/dist/tools/python/python.js.map +1 -1
- package/dist/tools/python/storage.cjs.map +1 -1
- package/dist/tools/python/storage.js.map +1 -1
- package/dist/tools/search/base.cjs.map +1 -1
- package/dist/tools/search/base.d.cts +2 -2
- package/dist/tools/search/base.d.ts +2 -2
- package/dist/tools/search/base.js.map +1 -1
- package/dist/tools/search/duckDuckGoSearch.cjs.map +1 -1
- package/dist/tools/search/duckDuckGoSearch.d.cts +2 -2
- package/dist/tools/search/duckDuckGoSearch.d.ts +2 -2
- package/dist/tools/search/duckDuckGoSearch.js.map +1 -1
- package/dist/tools/search/googleSearch.cjs.map +1 -1
- package/dist/tools/search/googleSearch.d.cts +2 -2
- package/dist/tools/search/googleSearch.d.ts +2 -2
- package/dist/tools/search/googleSearch.js.map +1 -1
- package/dist/tools/search/searXNGSearch.cjs.map +1 -1
- package/dist/tools/search/searXNGSearch.d.cts +2 -2
- package/dist/tools/search/searXNGSearch.d.ts +2 -2
- package/dist/tools/search/searXNGSearch.js.map +1 -1
- package/dist/tools/search/wikipedia.cjs.map +1 -1
- package/dist/tools/search/wikipedia.d.cts +3 -3
- package/dist/tools/search/wikipedia.d.ts +3 -3
- package/dist/tools/search/wikipedia.js.map +1 -1
- package/dist/tools/similarity.cjs.map +1 -1
- package/dist/tools/similarity.d.cts +2 -2
- package/dist/tools/similarity.d.ts +2 -2
- package/dist/tools/similarity.js.map +1 -1
- package/dist/tools/think.cjs.map +1 -1
- package/dist/tools/think.d.cts +2 -2
- package/dist/tools/think.d.ts +2 -2
- package/dist/tools/think.js.map +1 -1
- package/dist/tools/weather/openMeteo.cjs.map +1 -1
- package/dist/tools/weather/openMeteo.d.cts +2 -2
- package/dist/tools/weather/openMeteo.d.ts +2 -2
- package/dist/tools/weather/openMeteo.js.map +1 -1
- package/dist/tools/web/webCrawler.cjs.map +1 -1
- package/dist/tools/web/webCrawler.d.cts +2 -2
- package/dist/tools/web/webCrawler.d.ts +2 -2
- package/dist/tools/web/webCrawler.js.map +1 -1
- package/dist/{types-YoNQSxQH.d.cts → types-BNsa3W7Z.d.cts} +4 -4
- package/dist/{types-YT-WdK3m.d.ts → types-DYtzF6ya.d.ts} +4 -4
- package/dist/version.cjs +1 -1
- package/dist/version.js +1 -1
- package/dist/workflows/agent.cjs.map +1 -1
- package/dist/workflows/agent.d.cts +40 -40
- package/dist/workflows/agent.d.ts +40 -40
- package/dist/workflows/agent.js.map +1 -1
- package/dist/workflows/workflow.cjs.map +1 -1
- package/dist/workflows/workflow.d.cts +1 -1
- package/dist/workflows/workflow.d.ts +1 -1
- package/dist/workflows/workflow.js.map +1 -1
- package/package.json +38 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/internals/helpers/promise.ts"],"names":["isPromiseLike","value","isPromise","isFunction","getProp","arrayFromAsync","generator","limit","Infinity","results","chunk","length","push","emitterToGenerator","fn","queue","emit","data","then","done","catch","error","Promise","resolve","setImmediate","shift","asyncProperties","obj","Object","fromEntries","all","entries","map","key","safeExecute","handler","onError","onSuccess","result","err","e","asyncExecute","LazyPromise","Symbol","toStringTag","before","onfulfilled","onrejected","undefined","finally","onfinally","signalRace","signal","onAbort","reject","aborted","reason","signalFn","addEventListener","removeEventListener","executeSequentially","tasks","task","toAsyncGenerator","promise"],"mappings":";;;;;AAQO,SAASA,cAAiBC,KAAAA,EAAc;AAC7C,EAAA,OAAOC,SAAAA,CAAUD,KAAAA,CAAAA,IAAUE,UAAAA,CAAWC,QAAQH,KAAAA,EAAO;AAAC,IAAA;GAAO,CAAA,CAAA;AAC/D;AAFgBD,MAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA;AAIhB,eAAsBK,cAAAA,CACpBC,WACAC,KAAAA,EAAc;AAEdA,EAAAA,KAAAA,GAAQA,KAAAA,IAASC,QAAAA;AACjB,EAAA,MAAMC,UAAe,EAAA;AACrB,EAAA,WAAA,MAAiBC,SAASJ,SAAAA,EAAW;AACnC,IAAA,IAAIG,OAAAA,CAAQE,UAAUJ,KAAAA,EAAO;AAC3B,MAAA;AACF;AACAE,IAAAA,OAAAA,CAAQG,KAAKF,KAAAA,CAAAA;AACf;AACA,EAAA,OAAOD,OAAAA;AACT;AAbsBJ,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA;AAgBtB,gBAAuBQ,mBAAyBC,EAAAA,EAA8B;AAO5E,EAAA,MAAMC,QAAgB,EAAA;AACtB,EAAA,KAAKD,EAAAA,CAAG;IACNE,IAAAA,kBAAM,MAAA,CAAA,CAACC,IAAAA,KAAYF,KAAAA,CAAMH,IAAAA,CAAK;AAAEK,MAAAA;AAAK,KAAA,CAAA,EAA/B,MAAA;AACR,GAAA,CAAA,CACGC,IAAAA,CAAK,MAAMH,KAAAA,CAAMH,IAAAA,CAAK;IAAEO,IAAAA,EAAM;AAAK,GAAA,CAAA,CAAA,CACnCC,KAAAA,CAAM,CAACC,KAAAA,KAAUN,MAAMH,IAAAA,CAAK;AAAES,IAAAA,KAAAA;IAAOF,IAAAA,EAAM;AAAK,GAAA,CAAA,CAAA;AAEnD,EAAA,OAAO,IAAA,EAAM;AACX,IAAA,OAAOJ,KAAAA,CAAMJ,WAAW,CAAA,EAAG;AACzB,MAAA,MAAM,IAAIW,OAAAA,CAAQ,CAACC,OAAAA,KAAYC,YAAAA,CAAaD,OAAAA,CAAAA,CAAAA;AAC9C;AAEA,IAAA,MAAM,EAAEN,IAAAA,EAAME,IAAAA,EAAME,KAAAA,EAAK,GAAKN,MAAMU,KAAAA,EAAK;AACzC,IAAA,IAAIJ,KAAAA,EAAO;AACT,MAAA,MAAMA,KAAAA;AACR;AACA,IAAA,IAAIF,IAAAA,EAAM;AACR,MAAA;AACF;AACA,IAAA,MAAMF,IAAAA;AACR;AACF;AA5BuBJ,MAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA;AA8BvB,eAAsBa,gBACpBC,GAAAA,EAAM;AAEN,EAAA,OAAOC,MAAAA,CAAOC,WAAAA,CACZ,MAAMP,OAAAA,CAAQQ,IAAIF,MAAAA,CAAOG,OAAAA,CAAQJ,GAAAA,CAAAA,CAAKK,GAAAA,CAAI,OAAO,CAACC,GAAAA,EAAKhC,KAAAA,CAAAA,KAAW;AAACgC,IAAAA,GAAAA;IAAK,MAAMhC;AAAM,GAAA,CAAA,CAAA,CAAA;AAExF;AANsByB,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AAcf,SAASQ,WAAAA,CAAe,EAAEC,OAAAA,EAASC,OAAAA,EAASC,WAAS,EAAyB;AACnF,EAAA,IAAI;AACF,IAAA,MAAMC,SAASH,OAAAA,EAAAA;AACf,IAAA,IAAInC,aAAAA,CAAiBsC,MAAAA,CAAAA,EAAS;AAC5BA,MAAAA,MAAAA,CAAOpB,IAAAA,CACL,CAACoB,OAAAA,KAAWD,SAAAA,GAAYC,OAAAA,GACxB,CAACC,GAAAA,KAAQH,OAAAA,GAAUG,GAAAA,CAAAA,CAAAA;
|
|
1
|
+
{"version":3,"sources":["../../../src/internals/helpers/promise.ts"],"names":["isPromiseLike","value","isPromise","isFunction","getProp","arrayFromAsync","generator","limit","Infinity","results","chunk","length","push","emitterToGenerator","fn","queue","emit","data","then","done","catch","error","Promise","resolve","setImmediate","shift","asyncProperties","obj","Object","fromEntries","all","entries","map","key","safeExecute","handler","onError","onSuccess","result","err","e","asyncExecute","LazyPromise","Symbol","toStringTag","before","onfulfilled","onrejected","undefined","finally","onfinally","signalRace","signal","onAbort","reject","aborted","reason","signalFn","addEventListener","removeEventListener","executeSequentially","tasks","task","toAsyncGenerator","promise"],"mappings":"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","file":"promise.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { isFunction, isPromise } from \"remeda\";\nimport { getProp } from \"@/internals/helpers/object.js\";\n\nexport function isPromiseLike<T>(value: unknown): value is PromiseLike<T> {\n return isPromise(value) || isFunction(getProp(value, [\"then\"]));\n}\n\nexport async function arrayFromAsync<A, B>(\n generator: AsyncGenerator<A, B> | AsyncIterableIterator<A> | AsyncIterable<A>,\n limit?: number,\n) {\n limit = limit ?? Infinity;\n const results: A[] = [];\n for await (const chunk of generator) {\n if (results.length >= limit) {\n break;\n }\n results.push(chunk);\n }\n return results;\n}\n\nexport type EmitterToGeneratorFn<T, R> = (data: { emit: (data: T) => void }) => Promise<R>;\nexport async function* emitterToGenerator<T, R>(fn: EmitterToGeneratorFn<T, R>) {\n interface Data {\n data?: T;\n error?: Error;\n done?: boolean;\n }\n\n const queue: Data[] = [];\n void fn({\n emit: (data: T) => queue.push({ data }),\n })\n .then(() => queue.push({ done: true }))\n .catch((error) => queue.push({ error, done: true }));\n\n while (true) {\n while (queue.length === 0) {\n await new Promise((resolve) => setImmediate(resolve));\n }\n\n const { data, done, error } = queue.shift()!;\n if (error) {\n throw error;\n }\n if (done) {\n break;\n }\n yield data!;\n }\n}\n\nexport async function asyncProperties<T extends NonNullable<unknown>>(\n obj: T,\n): Promise<{ [K in keyof T]: Awaited<T[K]> }> {\n return Object.fromEntries(\n await Promise.all(Object.entries(obj).map(async ([key, value]) => [key, await value])),\n );\n}\n\ninterface SafeExecuteOptions<T> {\n handler: () => T;\n onSuccess?: (result: T) => void;\n onError?: (err: Error) => void;\n}\n\nexport function safeExecute<T>({ handler, onError, onSuccess }: SafeExecuteOptions<T>): void {\n try {\n const result = handler();\n if (isPromiseLike<T>(result)) {\n result.then(\n (result) => onSuccess?.(result),\n (err) => onError?.(err),\n );\n } else {\n onSuccess?.(result);\n }\n } catch (e) {\n onError?.(e);\n }\n}\n\nexport function asyncExecute<R>(handler: () => R): Promise<R> {\n return new Promise((onSuccess, onError) => {\n safeExecute({\n handler,\n onSuccess,\n onError,\n });\n });\n}\n\nexport class LazyPromise<R> implements Promise<R> {\n constructor(protected readonly handler: () => Promise<R>) {}\n\n readonly [Symbol.toStringTag] = \"Promise\";\n\n protected async before(): Promise<void> {}\n\n then<TResult1 = R, TResult2 = never>(\n onfulfilled?: ((value: R) => PromiseLike<TResult1> | TResult1) | undefined | null,\n onrejected?: ((reason: any) => PromiseLike<TResult2> | TResult2) | undefined | null,\n ): Promise<TResult1 | TResult2> {\n return this.before().then(this.handler).then(onfulfilled).catch(onrejected);\n }\n\n catch<TResult = never>(\n onrejected?: ((reason: any) => PromiseLike<TResult> | TResult) | undefined | null,\n ): Promise<R | TResult> {\n return this.before().then(this.handler).then(undefined).catch(onrejected);\n }\n\n finally(onfinally?: (() => void) | undefined | null): Promise<R> {\n return this.before().then(this.handler).finally(onfinally);\n }\n}\n\nexport async function signalRace<R>(\n fn: () => Promise<R>,\n signal?: AbortSignal,\n onAbort?: () => void,\n): Promise<R> {\n return new Promise<R>((resolve, reject) => {\n if (signal?.aborted) {\n reject(signal.reason);\n return;\n }\n\n const signalFn = () => {\n onAbort?.();\n reject(signal?.reason);\n };\n signal?.addEventListener?.(\"abort\", signalFn);\n fn()\n .then(resolve)\n .catch(reject)\n .finally(() => signal?.removeEventListener?.(\"abort\", signalFn));\n });\n}\n\nexport async function executeSequentially(tasks: (() => Promise<any>)[]): Promise<void> {\n for (const task of tasks) {\n await task();\n }\n}\n\nexport async function* toAsyncGenerator<T>(promise: T): AsyncGenerator<Awaited<T>> {\n yield await promise;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/internals/helpers/prototype.ts"],"names":["traversePrototypeChain","value","excluded","node","undefined","Object","getPrototypeOf","has","isConstructor","prototype","isDirectInstanceOf","object","constructor","R","isTruthy","findDescriptor","target","property","descriptor","getOwnPropertyDescriptor"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAQO,UAAUA,sBAAAA,CAAuBC,OAAgBC,QAAAA,EAAmB;AACzE,EAAA,IAAIC,IAAAA,GAAOF,KAAAA;AACX,EAAA,OAAOE,IAAAA,KAAS,IAAA,IAAQA,IAAAA,KAASC,MAAAA,EAAW;AAC1CD,IAAAA,IAAAA,GAAOE,MAAAA,CAAOC,eAAeH,IAAAA,CAAAA;AAC7B,IAAA,IAAI,CAACD,QAAAA,EAAUK,GAAAA,GAAMJ,IAAAA,CAAAA,EAAO;AAC1B,MAAA,MAAMA,IAAAA;AACR;AACF;AACF;AARiBH,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA;AAUV,SAASQ,cAAiBP,KAAAA,EAAU;AACzC,EAAA,OAAO,CAAC,CAACA,KAAAA,IAAS,CAAC,CAACA,MAAMQ,SAAAA,IAAa,CAAC,CAACR,KAAAA,CAAMQ,SAAAA,CAAU,WAAA;AAC3D;AAFgBD,MAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA;AAIT,SAASE,kBAAAA,CACdC,QACAC,WAAAA,EAAgC;AAEhC,EAAA,OAAOC,YAAAA,CAAEC,SAASH,MAAAA,CAAAA,IAAWN,OAAOC,cAAAA,CAAeK,MAAAA,MAAYC,WAAAA,CAAYH,SAAAA;AAC7E;AALgBC,MAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA;AAOT,SAASK,cAAAA,CACdC,QACAC,QAAAA,EAAiB;AAEjB,EAAA,KAAA,MAAWd,IAAAA,IAAQH,sBAAAA,CAAuBgB,MAAAA,CAAAA,EAAS;AACjD,IAAA,MAAME,UAAAA,GAAab,MAAAA,CAAOc,wBAAAA,CAAyBhB,IAAAA,EAAMc,QAAAA,CAAAA;AACzD,IAAA,IAAIC,UAAAA,EAAY;AACd,MAAA,OAAOA,UAAAA;AACT;AACF;AACA,EAAA,OAAO,IAAA;AACT;AAXgBH,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA","file":"prototype.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ClassConstructor } from \"@/internals/types.js\";\nimport * as R from \"remeda\";\n\nexport function* traversePrototypeChain(value: unknown, excluded?: Set<any>) {\n let node = value;\n while (node !== null && node !== undefined) {\n node = Object.getPrototypeOf(node);\n if (!excluded?.has?.(node)) {\n yield node;\n }\n }\n}\n\nexport function isConstructor<A>(value: any): value is ClassConstructor<A> {\n return !!value && !!value.prototype && !!value.prototype.constructor;\n}\n\nexport function isDirectInstanceOf<A>(\n object: unknown,\n constructor: ClassConstructor<A>,\n): object is A {\n return R.isTruthy(object) && Object.getPrototypeOf(object) === constructor.prototype;\n}\n\nexport function findDescriptor<T extends NonNullable<unknown>>(\n target: T,\n property: keyof T,\n): PropertyDescriptor | null {\n for (const node of traversePrototypeChain(target)) {\n const descriptor = Object.getOwnPropertyDescriptor(node, property);\n if (descriptor) {\n return descriptor;\n }\n }\n return null;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/internals/helpers/prototype.ts"],"names":["traversePrototypeChain","value","excluded","node","undefined","Object","getPrototypeOf","has","isConstructor","prototype","isDirectInstanceOf","object","constructor","R","isTruthy","findDescriptor","target","property","descriptor","getOwnPropertyDescriptor"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAQO,UAAUA,sBAAAA,CAAuBC,OAAgBC,QAAAA,EAAmB;AACzE,EAAA,IAAIC,IAAAA,GAAOF,KAAAA;AACX,EAAA,OAAOE,IAAAA,KAAS,IAAA,IAAQA,IAAAA,KAASC,MAAAA,EAAW;AAC1CD,IAAAA,IAAAA,GAAOE,MAAAA,CAAOC,eAAeH,IAAAA,CAAAA;AAC7B,IAAA,IAAI,CAACD,QAAAA,EAAUK,GAAAA,GAAMJ,IAAAA,CAAAA,EAAO;AAC1B,MAAA,MAAMA,IAAAA;AACR,IAAA;AACF,EAAA;AACF;AARiBH,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA;AAUV,SAASQ,cAAiBP,KAAAA,EAAU;AACzC,EAAA,OAAO,CAAC,CAACA,KAAAA,IAAS,CAAC,CAACA,MAAMQ,SAAAA,IAAa,CAAC,CAACR,KAAAA,CAAMQ,SAAAA,CAAU,WAAA;AAC3D;AAFgBD,MAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA;AAIT,SAASE,kBAAAA,CACdC,QACAC,WAAAA,EAAgC;AAEhC,EAAA,OAAOC,YAAAA,CAAEC,SAASH,MAAAA,CAAAA,IAAWN,OAAOC,cAAAA,CAAeK,MAAAA,MAAYC,WAAAA,CAAYH,SAAAA;AAC7E;AALgBC,MAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA;AAOT,SAASK,cAAAA,CACdC,QACAC,QAAAA,EAAiB;AAEjB,EAAA,KAAA,MAAWd,IAAAA,IAAQH,sBAAAA,CAAuBgB,MAAAA,CAAAA,EAAS;AACjD,IAAA,MAAME,UAAAA,GAAab,MAAAA,CAAOc,wBAAAA,CAAyBhB,IAAAA,EAAMc,QAAAA,CAAAA;AACzD,IAAA,IAAIC,UAAAA,EAAY;AACd,MAAA,OAAOA,UAAAA;AACT,IAAA;AACF,EAAA;AACA,EAAA,OAAO,IAAA;AACT;AAXgBH,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA","file":"prototype.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ClassConstructor } from \"@/internals/types.js\";\nimport * as R from \"remeda\";\n\nexport function* traversePrototypeChain(value: unknown, excluded?: Set<any>) {\n let node = value;\n while (node !== null && node !== undefined) {\n node = Object.getPrototypeOf(node);\n if (!excluded?.has?.(node)) {\n yield node;\n }\n }\n}\n\nexport function isConstructor<A>(value: any): value is ClassConstructor<A> {\n return !!value && !!value.prototype && !!value.prototype.constructor;\n}\n\nexport function isDirectInstanceOf<A>(\n object: unknown,\n constructor: ClassConstructor<A>,\n): object is A {\n return R.isTruthy(object) && Object.getPrototypeOf(object) === constructor.prototype;\n}\n\nexport function findDescriptor<T extends NonNullable<unknown>>(\n target: T,\n property: keyof T,\n): PropertyDescriptor | null {\n for (const node of traversePrototypeChain(target)) {\n const descriptor = Object.getOwnPropertyDescriptor(node, property);\n if (descriptor) {\n return descriptor;\n }\n }\n return null;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/internals/helpers/prototype.ts"],"names":["traversePrototypeChain","value","excluded","node","undefined","Object","getPrototypeOf","has","isConstructor","prototype","isDirectInstanceOf","object","constructor","R","isTruthy","findDescriptor","target","property","descriptor","getOwnPropertyDescriptor"],"mappings":";;;;AAQO,UAAUA,sBAAAA,CAAuBC,OAAgBC,QAAAA,EAAmB;AACzE,EAAA,IAAIC,IAAAA,GAAOF,KAAAA;AACX,EAAA,OAAOE,IAAAA,KAAS,IAAA,IAAQA,IAAAA,KAASC,MAAAA,EAAW;AAC1CD,IAAAA,IAAAA,GAAOE,MAAAA,CAAOC,eAAeH,IAAAA,CAAAA;AAC7B,IAAA,IAAI,CAACD,QAAAA,EAAUK,GAAAA,GAAMJ,IAAAA,CAAAA,EAAO;AAC1B,MAAA,MAAMA,IAAAA;AACR;AACF;AACF;AARiBH,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA;AAUV,SAASQ,cAAiBP,KAAAA,EAAU;AACzC,EAAA,OAAO,CAAC,CAACA,KAAAA,IAAS,CAAC,CAACA,MAAMQ,SAAAA,IAAa,CAAC,CAACR,KAAAA,CAAMQ,SAAAA,CAAU,WAAA;AAC3D;AAFgBD,MAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA;AAIT,SAASE,kBAAAA,CACdC,QACAC,WAAAA,EAAgC;AAEhC,EAAA,OAAOC,CAAAA,CAAEC,SAASH,MAAAA,CAAAA,IAAWN,OAAOC,cAAAA,CAAeK,MAAAA,MAAYC,WAAAA,CAAYH,SAAAA;AAC7E;AALgBC,MAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA;AAOT,SAASK,cAAAA,CACdC,QACAC,QAAAA,EAAiB;AAEjB,EAAA,KAAA,MAAWd,IAAAA,IAAQH,sBAAAA,CAAuBgB,MAAAA,CAAAA,EAAS;AACjD,IAAA,MAAME,UAAAA,GAAab,MAAAA,CAAOc,wBAAAA,CAAyBhB,IAAAA,EAAMc,QAAAA,CAAAA;AACzD,IAAA,IAAIC,UAAAA,EAAY;AACd,MAAA,OAAOA,UAAAA;AACT;AACF;AACA,EAAA,OAAO,IAAA;AACT;AAXgBH,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA","file":"prototype.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ClassConstructor } from \"@/internals/types.js\";\nimport * as R from \"remeda\";\n\nexport function* traversePrototypeChain(value: unknown, excluded?: Set<any>) {\n let node = value;\n while (node !== null && node !== undefined) {\n node = Object.getPrototypeOf(node);\n if (!excluded?.has?.(node)) {\n yield node;\n }\n }\n}\n\nexport function isConstructor<A>(value: any): value is ClassConstructor<A> {\n return !!value && !!value.prototype && !!value.prototype.constructor;\n}\n\nexport function isDirectInstanceOf<A>(\n object: unknown,\n constructor: ClassConstructor<A>,\n): object is A {\n return R.isTruthy(object) && Object.getPrototypeOf(object) === constructor.prototype;\n}\n\nexport function findDescriptor<T extends NonNullable<unknown>>(\n target: T,\n property: keyof T,\n): PropertyDescriptor | null {\n for (const node of traversePrototypeChain(target)) {\n const descriptor = Object.getOwnPropertyDescriptor(node, property);\n if (descriptor) {\n return descriptor;\n }\n }\n return null;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/internals/helpers/prototype.ts"],"names":["traversePrototypeChain","value","excluded","node","undefined","Object","getPrototypeOf","has","isConstructor","prototype","isDirectInstanceOf","object","constructor","R","isTruthy","findDescriptor","target","property","descriptor","getOwnPropertyDescriptor"],"mappings":";;;;AAQO,UAAUA,sBAAAA,CAAuBC,OAAgBC,QAAAA,EAAmB;AACzE,EAAA,IAAIC,IAAAA,GAAOF,KAAAA;AACX,EAAA,OAAOE,IAAAA,KAAS,IAAA,IAAQA,IAAAA,KAASC,MAAAA,EAAW;AAC1CD,IAAAA,IAAAA,GAAOE,MAAAA,CAAOC,eAAeH,IAAAA,CAAAA;AAC7B,IAAA,IAAI,CAACD,QAAAA,EAAUK,GAAAA,GAAMJ,IAAAA,CAAAA,EAAO;AAC1B,MAAA,MAAMA,IAAAA;AACR,IAAA;AACF,EAAA;AACF;AARiBH,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA;AAUV,SAASQ,cAAiBP,KAAAA,EAAU;AACzC,EAAA,OAAO,CAAC,CAACA,KAAAA,IAAS,CAAC,CAACA,MAAMQ,SAAAA,IAAa,CAAC,CAACR,KAAAA,CAAMQ,SAAAA,CAAU,WAAA;AAC3D;AAFgBD,MAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA;AAIT,SAASE,kBAAAA,CACdC,QACAC,WAAAA,EAAgC;AAEhC,EAAA,OAAOC,CAAAA,CAAEC,SAASH,MAAAA,CAAAA,IAAWN,OAAOC,cAAAA,CAAeK,MAAAA,MAAYC,WAAAA,CAAYH,SAAAA;AAC7E;AALgBC,MAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA;AAOT,SAASK,cAAAA,CACdC,QACAC,QAAAA,EAAiB;AAEjB,EAAA,KAAA,MAAWd,IAAAA,IAAQH,sBAAAA,CAAuBgB,MAAAA,CAAAA,EAAS;AACjD,IAAA,MAAME,UAAAA,GAAab,MAAAA,CAAOc,wBAAAA,CAAyBhB,IAAAA,EAAMc,QAAAA,CAAAA;AACzD,IAAA,IAAIC,UAAAA,EAAY;AACd,MAAA,OAAOA,UAAAA;AACT,IAAA;AACF,EAAA;AACA,EAAA,OAAO,IAAA;AACT;AAXgBH,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA","file":"prototype.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ClassConstructor } from \"@/internals/types.js\";\nimport * as R from \"remeda\";\n\nexport function* traversePrototypeChain(value: unknown, excluded?: Set<any>) {\n let node = value;\n while (node !== null && node !== undefined) {\n node = Object.getPrototypeOf(node);\n if (!excluded?.has?.(node)) {\n yield node;\n }\n }\n}\n\nexport function isConstructor<A>(value: any): value is ClassConstructor<A> {\n return !!value && !!value.prototype && !!value.prototype.constructor;\n}\n\nexport function isDirectInstanceOf<A>(\n object: unknown,\n constructor: ClassConstructor<A>,\n): object is A {\n return R.isTruthy(object) && Object.getPrototypeOf(object) === constructor.prototype;\n}\n\nexport function findDescriptor<T extends NonNullable<unknown>>(\n target: T,\n property: keyof T,\n): PropertyDescriptor | null {\n for (const node of traversePrototypeChain(target)) {\n const descriptor = Object.getOwnPropertyDescriptor(node, property);\n if (descriptor) {\n return descriptor;\n }\n }\n return null;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/internals/helpers/retry.ts"],"names":["pRetry","fn","options","handler","attempt","remaining","factor","ms","Math","round","pow","setTimeout","undefined","signal","e","meta","FrameworkError","isAbortError","cause","onFailedAttempt","shouldRetry","signalRace","retries"],"mappings":";;;;;;;;AAsBA,eAAsBA,MAAAA,CACpBC,IACAC,OAAAA,EAAiB;AAEjB,EAAA,MAAMC,OAAAA,mBAAU,MAAA,CAAA,OAAOC,OAAAA,EAAiBC,SAAAA,KAAAA;AACtC,IAAA,IAAI;AACF,MAAA,MAAMC,MAAAA,GAASJ,SAASI,MAAAA,IAAU,CAAA;AAClC,MAAA,IAAIF,UAAU,CAAA,EAAG;AACf,QAAA,MAAMG,EAAAA,GAAKC,KAAKC,KAAAA,CAAMD,IAAAA,CAAKE,IAAIJ,MAAAA,EAAQF,OAAAA,GAAU,CAAA,CAAA,CAAA,GAAM,GAAA;AACvD,QAAA,MAAMO,mBAAAA,CAAWJ,IAAIK,KAAAA,CAAAA,EAAW;AAC9BC,UAAAA,MAAAA,EAAQX,OAAAA,EAASW;SACnB,CAAA;AACF;AAEA,MAAA,OAAO,MAAMZ,GAAGG,OAAAA,CAAAA;AAClB,
|
|
1
|
+
{"version":3,"sources":["../../../src/internals/helpers/retry.ts"],"names":["pRetry","fn","options","handler","attempt","remaining","factor","ms","Math","round","pow","setTimeout","undefined","signal","e","meta","FrameworkError","isAbortError","cause","onFailedAttempt","shouldRetry","signalRace","retries"],"mappings":";;;;;;;;AAsBA,eAAsBA,MAAAA,CACpBC,IACAC,OAAAA,EAAiB;AAEjB,EAAA,MAAMC,OAAAA,mBAAU,MAAA,CAAA,OAAOC,OAAAA,EAAiBC,SAAAA,KAAAA;AACtC,IAAA,IAAI;AACF,MAAA,MAAMC,MAAAA,GAASJ,SAASI,MAAAA,IAAU,CAAA;AAClC,MAAA,IAAIF,UAAU,CAAA,EAAG;AACf,QAAA,MAAMG,EAAAA,GAAKC,KAAKC,KAAAA,CAAMD,IAAAA,CAAKE,IAAIJ,MAAAA,EAAQF,OAAAA,GAAU,CAAA,CAAA,CAAA,GAAM,GAAA;AACvD,QAAA,MAAMO,mBAAAA,CAAWJ,IAAIK,KAAAA,CAAAA,EAAW;AAC9BC,UAAAA,MAAAA,EAAQX,OAAAA,EAASW;SACnB,CAAA;AACF,MAAA;AAEA,MAAA,OAAO,MAAMZ,GAAGG,OAAAA,CAAAA;AAClB,IAAA,CAAA,CAAA,OAASU,CAAAA,EAAG;AACV,MAAA,MAAMC,IAAAA,GAAa;AACjBX,QAAAA,OAAAA;AACAC,QAAAA;AACF,OAAA;AAEA,MAAA,IAAIW,yBAAAA,CAAeC,YAAAA,CAAaH,CAAAA,CAAAA,EAAI;AAClC,QAAA,MAAMA,EAAEI,KAAAA,IAASJ,CAAAA;AACnB,MAAA;AAEA,MAAA,MAAMZ,OAAAA,EAASiB,eAAAA,GAAkBL,CAAAA,EAAGC,IAAAA,CAAAA;AACpC,MAAA,IAAIV,aAAa,CAAA,EAAG;AAClB,QAAA,MAAMS,CAAAA;AACR,MAAA;AAEA,MAAA,IAAK,MAAMZ,OAAAA,EAASkB,WAAAA,GAAcN,CAAAA,EAAGC,IAAAA,MAAW,KAAA,EAAO;AACrD,QAAA,MAAMD,CAAAA;AACR,MAAA;AACA,MAAA,OAAO,MAAMX,OAAAA,CAAQC,OAAAA,GAAU,CAAA,EAAGC,YAAY,CAAA,CAAA;AAChD,IAAA;EACF,CAAA,EA/BgB,SAAA,CAAA;AAiChB,EAAA,OAAO,MAAMgB,sBAAAA,CAAW,MAAMlB,OAAAA,CAAQ,CAAA,EAAGD,SAASoB,OAAAA,IAAW,CAAA,CAAA,EAAIpB,OAAAA,EAASW,MAAAA,CAAAA;AAC5E;AAtCsBb,MAAAA,CAAAA,MAAAA,EAAAA,QAAAA,CAAAA","file":"retry.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { setTimeout } from \"node:timers/promises\";\nimport { signalRace } from \"@/internals/helpers/promise.js\";\nimport { FrameworkError } from \"@/errors.js\";\n\ninterface Meta {\n attempt: number;\n remaining: number;\n}\n\ninterface Options {\n signal?: AbortSignal;\n factor?: number;\n retries?: number;\n shouldRetry?: (e: Error, meta: Meta) => boolean | Promise<boolean>;\n onFailedAttempt?: (e: Error, meta: Meta) => void | Promise<void>;\n}\n\nexport async function pRetry<T>(\n fn: (attempt: number) => Promise<T>,\n options?: Options,\n): Promise<T> {\n const handler = async (attempt: number, remaining: number) => {\n try {\n const factor = options?.factor ?? 2;\n if (attempt > 1) {\n const ms = Math.round(Math.pow(factor, attempt - 1)) * 1000;\n await setTimeout(ms, undefined, {\n signal: options?.signal,\n });\n }\n\n return await fn(attempt);\n } catch (e) {\n const meta: Meta = {\n attempt,\n remaining,\n };\n\n if (FrameworkError.isAbortError(e)) {\n throw e.cause || e;\n }\n\n await options?.onFailedAttempt?.(e, meta);\n if (remaining <= 0) {\n throw e;\n }\n\n if ((await options?.shouldRetry?.(e, meta)) === false) {\n throw e;\n }\n return await handler(attempt + 1, remaining - 1);\n }\n };\n\n return await signalRace(() => handler(1, options?.retries ?? 0), options?.signal);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/internals/helpers/retry.ts"],"names":["pRetry","fn","options","handler","attempt","remaining","factor","ms","Math","round","pow","setTimeout","undefined","signal","e","meta","FrameworkError","isAbortError","cause","onFailedAttempt","shouldRetry","signalRace","retries"],"mappings":";;;;;;AAsBA,eAAsBA,MAAAA,CACpBC,IACAC,OAAAA,EAAiB;AAEjB,EAAA,MAAMC,OAAAA,mBAAU,MAAA,CAAA,OAAOC,OAAAA,EAAiBC,SAAAA,KAAAA;AACtC,IAAA,IAAI;AACF,MAAA,MAAMC,MAAAA,GAASJ,SAASI,MAAAA,IAAU,CAAA;AAClC,MAAA,IAAIF,UAAU,CAAA,EAAG;AACf,QAAA,MAAMG,EAAAA,GAAKC,KAAKC,KAAAA,CAAMD,IAAAA,CAAKE,IAAIJ,MAAAA,EAAQF,OAAAA,GAAU,CAAA,CAAA,CAAA,GAAM,GAAA;AACvD,QAAA,MAAMO,UAAAA,CAAWJ,IAAIK,KAAAA,CAAAA,EAAW;AAC9BC,UAAAA,MAAAA,EAAQX,OAAAA,EAASW;SACnB,CAAA;AACF;AAEA,MAAA,OAAO,MAAMZ,GAAGG,OAAAA,CAAAA;AAClB,
|
|
1
|
+
{"version":3,"sources":["../../../src/internals/helpers/retry.ts"],"names":["pRetry","fn","options","handler","attempt","remaining","factor","ms","Math","round","pow","setTimeout","undefined","signal","e","meta","FrameworkError","isAbortError","cause","onFailedAttempt","shouldRetry","signalRace","retries"],"mappings":";;;;;;AAsBA,eAAsBA,MAAAA,CACpBC,IACAC,OAAAA,EAAiB;AAEjB,EAAA,MAAMC,OAAAA,mBAAU,MAAA,CAAA,OAAOC,OAAAA,EAAiBC,SAAAA,KAAAA;AACtC,IAAA,IAAI;AACF,MAAA,MAAMC,MAAAA,GAASJ,SAASI,MAAAA,IAAU,CAAA;AAClC,MAAA,IAAIF,UAAU,CAAA,EAAG;AACf,QAAA,MAAMG,EAAAA,GAAKC,KAAKC,KAAAA,CAAMD,IAAAA,CAAKE,IAAIJ,MAAAA,EAAQF,OAAAA,GAAU,CAAA,CAAA,CAAA,GAAM,GAAA;AACvD,QAAA,MAAMO,UAAAA,CAAWJ,IAAIK,KAAAA,CAAAA,EAAW;AAC9BC,UAAAA,MAAAA,EAAQX,OAAAA,EAASW;SACnB,CAAA;AACF,MAAA;AAEA,MAAA,OAAO,MAAMZ,GAAGG,OAAAA,CAAAA;AAClB,IAAA,CAAA,CAAA,OAASU,CAAAA,EAAG;AACV,MAAA,MAAMC,IAAAA,GAAa;AACjBX,QAAAA,OAAAA;AACAC,QAAAA;AACF,OAAA;AAEA,MAAA,IAAIW,cAAAA,CAAeC,YAAAA,CAAaH,CAAAA,CAAAA,EAAI;AAClC,QAAA,MAAMA,EAAEI,KAAAA,IAASJ,CAAAA;AACnB,MAAA;AAEA,MAAA,MAAMZ,OAAAA,EAASiB,eAAAA,GAAkBL,CAAAA,EAAGC,IAAAA,CAAAA;AACpC,MAAA,IAAIV,aAAa,CAAA,EAAG;AAClB,QAAA,MAAMS,CAAAA;AACR,MAAA;AAEA,MAAA,IAAK,MAAMZ,OAAAA,EAASkB,WAAAA,GAAcN,CAAAA,EAAGC,IAAAA,MAAW,KAAA,EAAO;AACrD,QAAA,MAAMD,CAAAA;AACR,MAAA;AACA,MAAA,OAAO,MAAMX,OAAAA,CAAQC,OAAAA,GAAU,CAAA,EAAGC,YAAY,CAAA,CAAA;AAChD,IAAA;EACF,CAAA,EA/BgB,SAAA,CAAA;AAiChB,EAAA,OAAO,MAAMgB,UAAAA,CAAW,MAAMlB,OAAAA,CAAQ,CAAA,EAAGD,SAASoB,OAAAA,IAAW,CAAA,CAAA,EAAIpB,OAAAA,EAASW,MAAAA,CAAAA;AAC5E;AAtCsBb,MAAAA,CAAAA,MAAAA,EAAAA,QAAAA,CAAAA","file":"retry.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { setTimeout } from \"node:timers/promises\";\nimport { signalRace } from \"@/internals/helpers/promise.js\";\nimport { FrameworkError } from \"@/errors.js\";\n\ninterface Meta {\n attempt: number;\n remaining: number;\n}\n\ninterface Options {\n signal?: AbortSignal;\n factor?: number;\n retries?: number;\n shouldRetry?: (e: Error, meta: Meta) => boolean | Promise<boolean>;\n onFailedAttempt?: (e: Error, meta: Meta) => void | Promise<void>;\n}\n\nexport async function pRetry<T>(\n fn: (attempt: number) => Promise<T>,\n options?: Options,\n): Promise<T> {\n const handler = async (attempt: number, remaining: number) => {\n try {\n const factor = options?.factor ?? 2;\n if (attempt > 1) {\n const ms = Math.round(Math.pow(factor, attempt - 1)) * 1000;\n await setTimeout(ms, undefined, {\n signal: options?.signal,\n });\n }\n\n return await fn(attempt);\n } catch (e) {\n const meta: Meta = {\n attempt,\n remaining,\n };\n\n if (FrameworkError.isAbortError(e)) {\n throw e.cause || e;\n }\n\n await options?.onFailedAttempt?.(e, meta);\n if (remaining <= 0) {\n throw e;\n }\n\n if ((await options?.shouldRetry?.(e, meta)) === false) {\n throw e;\n }\n return await handler(attempt + 1, remaining - 1);\n }\n };\n\n return await signalRace(() => handler(1, options?.retries ?? 0), options?.signal);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/internals/helpers/retryable.ts"],"names":["RunStrategy","THROW_IMMEDIATELY","SETTLE_ROUND","SETTLE_ALL","Retryable","ctx","createRandomHash","executor","onReset","onError","onRetry","config","maxRetries","Math","max","runGroup","strategy","inputs","Promise","all","map","input","get","controller","AbortController","results","allSettled","groupSignal","signal","undefined","catch","err","abort","throwIfAborted","result","value","runSequence","collect","R","values","asyncProperties","mapValues","attempt","executionId","Object","defineProperty","enumerable","isResolved","state","TaskState","RESOLVED","isRejected","REJECTED","_run","task","Task","assertAborted","lastError","pRetry","retries","factor","shouldRetry","e","FrameworkError","isRetryable","aborted","onFailedAttempt","meta","then","x","resolve","reject","resolvedValue","rejectedValue","PENDING","reset"],"mappings":"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","file":"retryable.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as R from \"remeda\";\nimport { Task, TaskState } from \"promise-based-task\";\nimport { FrameworkError } from \"@/errors.js\";\nimport { EnumValue } from \"@/internals/types.js\";\nimport { asyncProperties } from \"@/internals/helpers/promise.js\";\nimport { createRandomHash } from \"@/internals/helpers/hash.js\";\nimport { pRetry } from \"@/internals/helpers/retry.js\";\n\nexport interface RetryableConfig {\n maxRetries: number;\n factor?: number;\n signal?: AbortSignal;\n}\n\nexport const RunStrategy = {\n /**\n * Once a single Retryable throws, other retry ables get cancelled immediately.\n */\n THROW_IMMEDIATELY: \"THROW_IMMEDIATELY\",\n\n /**\n * Once a single Retryable throws, wait for other to completes, but prevent further retries.\n */\n SETTLE_ROUND: \"SETTLE_ROUND\",\n\n /**\n * Once a single Retryable throws, other Retryables remains to continue. Error is thrown by the end.\n */\n SETTLE_ALL: \"SETTLE_ALL\",\n} as const;\n\nexport interface RetryableRunConfig {\n groupSignal: AbortSignal;\n}\n\nexport interface RetryableContext {\n executionId: string;\n attempt: number;\n signal?: AbortSignal;\n}\n\nexport type RetryableHandler<T> = (ctx: RetryableContext) => Promise<T>;\nexport type ResetHandler = () => void;\nexport type ErrorHandler = (error: Error, ctx: RetryableContext) => void | Promise<void>;\nexport type RetryHandler = (ctx: RetryableContext, lastError: Error) => void | Promise<void>;\n\nexport class Retryable<T> {\n readonly #id: string;\n #value: Task<T, Error> | null;\n #config: RetryableConfig;\n #handlers;\n\n constructor(ctx: {\n executor: RetryableHandler<T>;\n onReset?: ResetHandler;\n onError?: ErrorHandler;\n onRetry?: RetryHandler;\n config?: Partial<RetryableConfig>;\n }) {\n this.#value = null;\n this.#id = createRandomHash();\n this.#handlers = {\n executor: ctx.executor,\n onReset: ctx.onReset,\n onError: ctx.onError,\n onRetry: ctx.onRetry,\n } as const;\n this.#config = {\n ...ctx.config,\n maxRetries: Math.max(ctx.config?.maxRetries || 0, 0),\n };\n }\n\n static async runGroup<T>(\n strategy: EnumValue<typeof RunStrategy>,\n inputs: Retryable<T>[],\n ): Promise<T[]> {\n if (strategy === RunStrategy.THROW_IMMEDIATELY) {\n return await Promise.all(inputs.map((input) => input.get()));\n }\n\n const controller = new AbortController();\n const results = await Promise.allSettled(\n inputs.map((input) =>\n input\n .get(strategy === RunStrategy.SETTLE_ALL ? { groupSignal: controller.signal } : undefined)\n .catch((err) => {\n controller.abort(err);\n throw err;\n }),\n ),\n );\n controller.signal.throwIfAborted();\n return results.map((result) => (result as PromiseFulfilledResult<T>).value!);\n }\n\n static async *runSequence<T>(inputs: readonly Retryable<T>[]): AsyncGenerator<T> {\n for (const input of inputs) {\n yield await input.get();\n }\n }\n\n static async collect<T>(inputs: T & Record<string, Retryable<any>>) {\n // Solve everything\n await Promise.all(R.values(inputs).map((input) => input.get()));\n\n // Obtain latest values\n return await asyncProperties(\n R.mapValues(inputs, (value) => (value as Retryable<any>).get()) as {\n [K in keyof T]: Promise<T[K] extends Retryable<infer Q> ? Q : never>;\n },\n );\n }\n\n #getContext(attempt: number): RetryableContext {\n const ctx: RetryableContext = {\n attempt,\n executionId: this.#id,\n signal: this.#config.signal,\n };\n Object.defineProperty(ctx, \"signal\", {\n enumerable: false,\n });\n return ctx;\n }\n\n get isResolved(): boolean {\n return this.#value?.state === TaskState.RESOLVED;\n }\n\n get isRejected(): boolean {\n return this.#value?.state === TaskState.REJECTED;\n }\n\n protected _run(config?: RetryableRunConfig) {\n const task = new Task<T, Error>();\n\n const assertAborted = () => {\n this.#config.signal?.throwIfAborted?.();\n config?.groupSignal?.throwIfAborted?.();\n };\n\n let lastError: Error | null = null;\n pRetry(\n async (attempt) => {\n assertAborted();\n\n const ctx = this.#getContext(attempt);\n if (attempt > 1) {\n await this.#handlers.onRetry?.(ctx, lastError!);\n }\n return await this.#handlers.executor(ctx);\n },\n {\n retries: this.#config.maxRetries,\n factor: this.#config.factor,\n signal: this.#config.signal,\n shouldRetry: (e) => {\n if (!FrameworkError.isRetryable(e)) {\n return false;\n }\n return !config?.groupSignal?.aborted && !this.#config.signal?.aborted;\n },\n onFailedAttempt: async (e, meta) => {\n lastError = e;\n await this.#handlers.onError?.(e, this.#getContext(meta.attempt));\n if (!FrameworkError.isRetryable(e)) {\n throw e;\n }\n assertAborted();\n },\n },\n )\n .then((x) => task.resolve(x))\n .catch((x) => task.reject(x));\n\n return task;\n }\n\n async get(config?: RetryableRunConfig): Promise<T> {\n if (this.isResolved) {\n return this.#value!.resolvedValue()!;\n }\n if (this.isRejected) {\n throw this.#value?.rejectedValue();\n }\n\n if (this.#value?.state === TaskState.PENDING && !config) {\n return this.#value;\n }\n\n this.#value?.catch?.(() => {});\n this.#value = this._run(config);\n return this.#value;\n }\n\n reset() {\n this.#value?.catch?.(() => {});\n this.#value = null;\n this.#handlers.onReset?.();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/internals/helpers/retryable.ts"],"names":["RunStrategy","THROW_IMMEDIATELY","SETTLE_ROUND","SETTLE_ALL","Retryable","ctx","createRandomHash","executor","onReset","onError","onRetry","config","maxRetries","Math","max","runGroup","strategy","inputs","Promise","all","map","input","get","controller","AbortController","results","allSettled","groupSignal","signal","undefined","catch","err","abort","throwIfAborted","result","value","runSequence","collect","R","values","asyncProperties","mapValues","attempt","executionId","Object","defineProperty","enumerable","isResolved","state","TaskState","RESOLVED","isRejected","REJECTED","_run","task","Task","assertAborted","lastError","pRetry","retries","factor","shouldRetry","e","FrameworkError","isRetryable","aborted","onFailedAttempt","meta","then","x","resolve","reject","resolvedValue","rejectedValue","PENDING","reset"],"mappings":"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","file":"retryable.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as R from \"remeda\";\nimport { Task, TaskState } from \"promise-based-task\";\nimport { FrameworkError } from \"@/errors.js\";\nimport { EnumValue } from \"@/internals/types.js\";\nimport { asyncProperties } from \"@/internals/helpers/promise.js\";\nimport { createRandomHash } from \"@/internals/helpers/hash.js\";\nimport { pRetry } from \"@/internals/helpers/retry.js\";\n\nexport interface RetryableConfig {\n maxRetries: number;\n factor?: number;\n signal?: AbortSignal;\n}\n\nexport const RunStrategy = {\n /**\n * Once a single Retryable throws, other retry ables get cancelled immediately.\n */\n THROW_IMMEDIATELY: \"THROW_IMMEDIATELY\",\n\n /**\n * Once a single Retryable throws, wait for other to completes, but prevent further retries.\n */\n SETTLE_ROUND: \"SETTLE_ROUND\",\n\n /**\n * Once a single Retryable throws, other Retryables remains to continue. Error is thrown by the end.\n */\n SETTLE_ALL: \"SETTLE_ALL\",\n} as const;\n\nexport interface RetryableRunConfig {\n groupSignal: AbortSignal;\n}\n\nexport interface RetryableContext {\n executionId: string;\n attempt: number;\n signal?: AbortSignal;\n}\n\nexport type RetryableHandler<T> = (ctx: RetryableContext) => Promise<T>;\nexport type ResetHandler = () => void;\nexport type ErrorHandler = (error: Error, ctx: RetryableContext) => void | Promise<void>;\nexport type RetryHandler = (ctx: RetryableContext, lastError: Error) => void | Promise<void>;\n\nexport class Retryable<T> {\n readonly #id: string;\n #value: Task<T, Error> | null;\n #config: RetryableConfig;\n #handlers;\n\n constructor(ctx: {\n executor: RetryableHandler<T>;\n onReset?: ResetHandler;\n onError?: ErrorHandler;\n onRetry?: RetryHandler;\n config?: Partial<RetryableConfig>;\n }) {\n this.#value = null;\n this.#id = createRandomHash();\n this.#handlers = {\n executor: ctx.executor,\n onReset: ctx.onReset,\n onError: ctx.onError,\n onRetry: ctx.onRetry,\n } as const;\n this.#config = {\n ...ctx.config,\n maxRetries: Math.max(ctx.config?.maxRetries || 0, 0),\n };\n }\n\n static async runGroup<T>(\n strategy: EnumValue<typeof RunStrategy>,\n inputs: Retryable<T>[],\n ): Promise<T[]> {\n if (strategy === RunStrategy.THROW_IMMEDIATELY) {\n return await Promise.all(inputs.map((input) => input.get()));\n }\n\n const controller = new AbortController();\n const results = await Promise.allSettled(\n inputs.map((input) =>\n input\n .get(strategy === RunStrategy.SETTLE_ALL ? { groupSignal: controller.signal } : undefined)\n .catch((err) => {\n controller.abort(err);\n throw err;\n }),\n ),\n );\n controller.signal.throwIfAborted();\n return results.map((result) => (result as PromiseFulfilledResult<T>).value!);\n }\n\n static async *runSequence<T>(inputs: readonly Retryable<T>[]): AsyncGenerator<T> {\n for (const input of inputs) {\n yield await input.get();\n }\n }\n\n static async collect<T>(inputs: T & Record<string, Retryable<any>>) {\n // Solve everything\n await Promise.all(R.values(inputs).map((input) => input.get()));\n\n // Obtain latest values\n return await asyncProperties(\n R.mapValues(inputs, (value) => (value as Retryable<any>).get()) as {\n [K in keyof T]: Promise<T[K] extends Retryable<infer Q> ? Q : never>;\n },\n );\n }\n\n #getContext(attempt: number): RetryableContext {\n const ctx: RetryableContext = {\n attempt,\n executionId: this.#id,\n signal: this.#config.signal,\n };\n Object.defineProperty(ctx, \"signal\", {\n enumerable: false,\n });\n return ctx;\n }\n\n get isResolved(): boolean {\n return this.#value?.state === TaskState.RESOLVED;\n }\n\n get isRejected(): boolean {\n return this.#value?.state === TaskState.REJECTED;\n }\n\n protected _run(config?: RetryableRunConfig) {\n const task = new Task<T, Error>();\n\n const assertAborted = () => {\n this.#config.signal?.throwIfAborted?.();\n config?.groupSignal?.throwIfAborted?.();\n };\n\n let lastError: Error | null = null;\n pRetry(\n async (attempt) => {\n assertAborted();\n\n const ctx = this.#getContext(attempt);\n if (attempt > 1) {\n await this.#handlers.onRetry?.(ctx, lastError!);\n }\n return await this.#handlers.executor(ctx);\n },\n {\n retries: this.#config.maxRetries,\n factor: this.#config.factor,\n signal: this.#config.signal,\n shouldRetry: (e) => {\n if (!FrameworkError.isRetryable(e)) {\n return false;\n }\n return !config?.groupSignal?.aborted && !this.#config.signal?.aborted;\n },\n onFailedAttempt: async (e, meta) => {\n lastError = e;\n await this.#handlers.onError?.(e, this.#getContext(meta.attempt));\n if (!FrameworkError.isRetryable(e)) {\n throw e;\n }\n assertAborted();\n },\n },\n )\n .then((x) => task.resolve(x))\n .catch((x) => task.reject(x));\n\n return task;\n }\n\n async get(config?: RetryableRunConfig): Promise<T> {\n if (this.isResolved) {\n return this.#value!.resolvedValue()!;\n }\n if (this.isRejected) {\n throw this.#value?.rejectedValue();\n }\n\n if (this.#value?.state === TaskState.PENDING && !config) {\n return this.#value;\n }\n\n this.#value?.catch?.(() => {});\n this.#value = this._run(config);\n return this.#value;\n }\n\n reset() {\n this.#value?.catch?.(() => {});\n this.#value = null;\n this.#handlers.onReset?.();\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/internals/helpers/retryable.ts"],"names":["RunStrategy","THROW_IMMEDIATELY","SETTLE_ROUND","SETTLE_ALL","Retryable","ctx","createRandomHash","executor","onReset","onError","onRetry","config","maxRetries","Math","max","runGroup","strategy","inputs","Promise","all","map","input","get","controller","AbortController","results","allSettled","groupSignal","signal","undefined","catch","err","abort","throwIfAborted","result","value","runSequence","collect","R","values","asyncProperties","mapValues","attempt","executionId","Object","defineProperty","enumerable","isResolved","state","TaskState","RESOLVED","isRejected","REJECTED","_run","task","Task","assertAborted","lastError","pRetry","retries","factor","shouldRetry","e","FrameworkError","isRetryable","aborted","onFailedAttempt","meta","then","x","resolve","reject","resolvedValue","rejectedValue","PENDING","reset"],"mappings":";;;;;;;;;AAmBO,MAAMA,WAAAA,GAAc;;;;EAIzBC,iBAAAA,EAAmB,mBAAA;;;;EAKnBC,YAAAA,EAAc,cAAA;;;;EAKdC,UAAAA,EAAY;AACd;AAiBO,MAAMC,SAAAA,CAAAA;EAnDb;;;AAoDW,EAAA,GAAA;AACT,EAAA,MAAA;AACA,EAAA,OAAA;AACA,EAAA,SAAA;AAEA,EAAA,WAAA,CAAYC,GAAAA,EAMT;AACD,IAAA,IAAA,CAAK,MAAA,GAAS,IAAA;AACd,IAAA,IAAA,CAAK,MAAMC,gBAAAA,EAAAA;AACX,IAAA,IAAA,CAAK,SAAA,GAAY;AACfC,MAAAA,QAAAA,EAAUF,GAAAA,CAAIE,QAAAA;AACdC,MAAAA,OAAAA,EAASH,GAAAA,CAAIG,OAAAA;AACbC,MAAAA,OAAAA,EAASJ,GAAAA,CAAII,OAAAA;AACbC,MAAAA,OAAAA,EAASL,GAAAA,CAAIK;AACf,KAAA;AACA,IAAA,IAAA,CAAK,OAAA,GAAU;AACb,MAAA,GAAGL,GAAAA,CAAIM,MAAAA;AACPC,MAAAA,UAAAA,EAAYC,KAAKC,GAAAA,CAAIT,GAAAA,CAAIM,MAAAA,EAAQC,UAAAA,IAAc,GAAG,CAAA;AACpD,KAAA;AACF;EAEA,aAAaG,QAAAA,CACXC,UACAC,MAAAA,EACc;AACd,IAAA,IAAID,QAAAA,KAAahB,YAAYC,iBAAAA,EAAmB;AAC9C,MAAA,OAAO,MAAMiB,OAAAA,CAAQC,GAAAA,CAAIF,MAAAA,CAAOG,GAAAA,CAAI,CAACC,KAAAA,KAAUA,KAAAA,CAAMC,GAAAA,EAAG,CAAA,CAAA;AAC1D;AAEA,IAAA,MAAMC,UAAAA,GAAa,IAAIC,eAAAA,EAAAA;AACvB,IAAA,MAAMC,OAAAA,GAAU,MAAMP,OAAAA,CAAQQ,UAAAA,CAC5BT,MAAAA,CAAOG,GAAAA,CAAI,CAACC,KAAAA,KACVA,KAAAA,CACGC,GAAAA,CAAIN,QAAAA,KAAahB,WAAAA,CAAYG,UAAAA,GAAa;AAAEwB,MAAAA,WAAAA,EAAaJ,UAAAA,CAAWK;AAAO,KAAA,GAAIC,MAAAA,CAAAA,CAC/EC,KAAAA,CAAM,CAACC,GAAAA,KAAAA;AACNR,MAAAA,UAAAA,CAAWS,MAAMD,GAAAA,CAAAA;AACjB,MAAA,MAAMA,GAAAA;AACR,KAAA,CAAA,CAAA,CAAA;AAGNR,IAAAA,UAAAA,CAAWK,OAAOK,cAAAA,EAAc;AAChC,IAAA,OAAOR,OAAAA,CAAQL,GAAAA,CAAI,CAACc,MAAAA,KAAYA,OAAqCC,KAAK,CAAA;AAC5E;AAEA,EAAA,cAAcC,YAAenB,MAAAA,EAAoD;AAC/E,IAAA,KAAA,MAAWI,SAASJ,MAAAA,EAAQ;AAC1B,MAAA,MAAM,MAAMI,MAAMC,GAAAA,EAAG;AACvB;AACF;AAEA,EAAA,aAAae,QAAWpB,MAAAA,EAA4C;AAElE,IAAA,MAAMC,OAAAA,CAAQC,GAAAA,CAAImB,CAAAA,CAAEC,MAAAA,CAAOtB,MAAAA,CAAAA,CAAQG,GAAAA,CAAI,CAACC,KAAAA,KAAUA,KAAAA,CAAMC,GAAAA,EAAG,CAAA,CAAA;AAG3D,IAAA,OAAO,MAAMkB,eAAAA,CACXF,CAAAA,CAAEG,SAAAA,CAAUxB,MAAAA,EAAQ,CAACkB,KAAAA,KAAWA,KAAAA,CAAyBb,GAAAA,EAAG,CAAA,CAAA;AAIhE;AAEA,EAAA,WAAA,CAAYoB,OAAAA,EAAe;AACzB,IAAA,MAAMrC,GAAAA,GAAwB;AAC5BqC,MAAAA,OAAAA;AACAC,MAAAA,WAAAA,EAAa,IAAA,CAAK,GAAA;AAClBf,MAAAA,MAAAA,EAAQ,KAAK,OAAA,CAAQA;AACvB,KAAA;AACAgB,IAAAA,MAAAA,CAAOC,cAAAA,CAAexC,KAAK,QAAA,EAAU;MACnCyC,UAAAA,EAAY;KACd,CAAA;AACA,IAAA,OAAOzC,GAAAA;AACT;AAEA,EAAA,IAAI0C,UAAAA,GAAsB;AACxB,IAAA,OAAO,IAAA,CAAK,MAAA,EAAQC,KAAAA,KAAUC,SAAAA,CAAUC,QAAAA;AAC1C;AAEA,EAAA,IAAIC,UAAAA,GAAsB;AACxB,IAAA,OAAO,IAAA,CAAK,MAAA,EAAQH,KAAAA,KAAUC,SAAAA,CAAUG,QAAAA;AAC1C;AAEUC,EAAAA,IAAAA,CAAK1C,MAAAA,EAA6B;AAC1C,IAAA,MAAM2C,IAAAA,GAAO,IAAIC,IAAAA,EAAAA;AAEjB,IAAA,MAAMC,gCAAgB,MAAA,CAAA,MAAA;AACpB,MAAA,IAAA,CAAK,OAAA,CAAQ5B,QAAQK,cAAAA,IAAAA;AACrBtB,MAAAA,MAAAA,EAAQgB,aAAaM,cAAAA,IAAAA;KACvB,EAHsB,eAAA,CAAA;AAKtB,IAAA,IAAIwB,SAAAA,GAA0B,IAAA;AAC9BC,IAAAA,MAAAA,CACE,OAAOhB,OAAAA,KAAAA;AACLc,MAAAA,aAAAA,EAAAA;AAEA,MAAA,MAAMnD,GAAAA,GAAM,IAAA,CAAK,WAAA,CAAYqC,OAAAA,CAAAA;AAC7B,MAAA,IAAIA,UAAU,CAAA,EAAG;AACf,QAAA,MAAM,IAAA,CAAK,SAAA,CAAUhC,OAAAA,GAAUL,GAAAA,EAAKoD,SAAAA,CAAAA;AACtC;AACA,MAAA,OAAO,MAAM,IAAA,CAAK,SAAA,CAAUlD,QAAAA,CAASF,GAAAA,CAAAA;KACvC,EACA;AACEsD,MAAAA,OAAAA,EAAS,KAAK,OAAA,CAAQ/C,UAAAA;AACtBgD,MAAAA,MAAAA,EAAQ,KAAK,OAAA,CAAQA,MAAAA;AACrBhC,MAAAA,MAAAA,EAAQ,KAAK,OAAA,CAAQA,MAAAA;AACrBiC,MAAAA,WAAAA,0BAAcC,CAAAA,KAAAA;AACZ,QAAA,IAAI,CAACC,cAAAA,CAAeC,WAAAA,CAAYF,CAAAA,CAAAA,EAAI;AAClC,UAAA,OAAO,KAAA;AACT;AACA,QAAA,OAAO,CAACnD,MAAAA,EAAQgB,WAAAA,EAAasC,WAAW,CAAC,IAAA,CAAK,QAAQrC,MAAAA,EAAQqC,OAAAA;OAChE,EALa,aAAA,CAAA;MAMbC,eAAAA,kBAAiB,MAAA,CAAA,OAAOJ,GAAGK,IAAAA,KAAAA;AACzBV,QAAAA,SAAAA,GAAYK,CAAAA;AACZ,QAAA,MAAM,IAAA,CAAK,UAAUrD,OAAAA,GAAUqD,CAAAA,EAAG,KAAK,WAAA,CAAYK,IAAAA,CAAKzB,OAAO,CAAA,CAAA;AAC/D,QAAA,IAAI,CAACqB,cAAAA,CAAeC,WAAAA,CAAYF,CAAAA,CAAAA,EAAI;AAClC,UAAA,MAAMA,CAAAA;AACR;AACAN,QAAAA,aAAAA,EAAAA;OACF,EAPiB,iBAAA;AAQnB,KAAA,CAAA,CAECY,IAAAA,CAAK,CAACC,CAAAA,KAAMf,KAAKgB,OAAAA,CAAQD,CAAAA,CAAAA,CAAAA,CACzBvC,MAAM,CAACuC,CAAAA,KAAMf,IAAAA,CAAKiB,MAAAA,CAAOF,CAAAA,CAAAA,CAAAA;AAE5B,IAAA,OAAOf,IAAAA;AACT;AAEA,EAAA,MAAMhC,IAAIX,MAAAA,EAAyC;AACjD,IAAA,IAAI,KAAKoC,UAAAA,EAAY;AACnB,MAAA,OAAO,IAAA,CAAK,OAAQyB,aAAAA,EAAa;AACnC;AACA,IAAA,IAAI,KAAKrB,UAAAA,EAAY;AACnB,MAAA,MAAM,IAAA,CAAK,QAAQsB,aAAAA,EAAAA;AACrB;AAEA,IAAA,IAAI,KAAK,MAAA,EAAQzB,KAAAA,KAAUC,SAAAA,CAAUyB,OAAAA,IAAW,CAAC/D,MAAAA,EAAQ;AACvD,MAAA,OAAO,IAAA,CAAK,MAAA;AACd;AAEA,IAAA,IAAA,CAAK,MAAA,EAAQmB,QAAQ,MAAA;KAAO,CAAA;AAC5B,IAAA,IAAA,CAAK,MAAA,GAAS,IAAA,CAAKuB,IAAAA,CAAK1C,MAAAA,CAAAA;AACxB,IAAA,OAAO,IAAA,CAAK,MAAA;AACd;EAEAgE,KAAAA,GAAQ;AACN,IAAA,IAAA,CAAK,MAAA,EAAQ7C,QAAQ,MAAA;KAAO,CAAA;AAC5B,IAAA,IAAA,CAAK,MAAA,GAAS,IAAA;AACd,IAAA,IAAA,CAAK,UAAUtB,OAAAA,IAAO;AACxB;AACF","file":"retryable.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as R from \"remeda\";\nimport { Task, TaskState } from \"promise-based-task\";\nimport { FrameworkError } from \"@/errors.js\";\nimport { EnumValue } from \"@/internals/types.js\";\nimport { asyncProperties } from \"@/internals/helpers/promise.js\";\nimport { createRandomHash } from \"@/internals/helpers/hash.js\";\nimport { pRetry } from \"@/internals/helpers/retry.js\";\n\nexport interface RetryableConfig {\n maxRetries: number;\n factor?: number;\n signal?: AbortSignal;\n}\n\nexport const RunStrategy = {\n /**\n * Once a single Retryable throws, other retry ables get cancelled immediately.\n */\n THROW_IMMEDIATELY: \"THROW_IMMEDIATELY\",\n\n /**\n * Once a single Retryable throws, wait for other to completes, but prevent further retries.\n */\n SETTLE_ROUND: \"SETTLE_ROUND\",\n\n /**\n * Once a single Retryable throws, other Retryables remains to continue. Error is thrown by the end.\n */\n SETTLE_ALL: \"SETTLE_ALL\",\n} as const;\n\nexport interface RetryableRunConfig {\n groupSignal: AbortSignal;\n}\n\nexport interface RetryableContext {\n executionId: string;\n attempt: number;\n signal?: AbortSignal;\n}\n\nexport type RetryableHandler<T> = (ctx: RetryableContext) => Promise<T>;\nexport type ResetHandler = () => void;\nexport type ErrorHandler = (error: Error, ctx: RetryableContext) => void | Promise<void>;\nexport type RetryHandler = (ctx: RetryableContext, lastError: Error) => void | Promise<void>;\n\nexport class Retryable<T> {\n readonly #id: string;\n #value: Task<T, Error> | null;\n #config: RetryableConfig;\n #handlers;\n\n constructor(ctx: {\n executor: RetryableHandler<T>;\n onReset?: ResetHandler;\n onError?: ErrorHandler;\n onRetry?: RetryHandler;\n config?: Partial<RetryableConfig>;\n }) {\n this.#value = null;\n this.#id = createRandomHash();\n this.#handlers = {\n executor: ctx.executor,\n onReset: ctx.onReset,\n onError: ctx.onError,\n onRetry: ctx.onRetry,\n } as const;\n this.#config = {\n ...ctx.config,\n maxRetries: Math.max(ctx.config?.maxRetries || 0, 0),\n };\n }\n\n static async runGroup<T>(\n strategy: EnumValue<typeof RunStrategy>,\n inputs: Retryable<T>[],\n ): Promise<T[]> {\n if (strategy === RunStrategy.THROW_IMMEDIATELY) {\n return await Promise.all(inputs.map((input) => input.get()));\n }\n\n const controller = new AbortController();\n const results = await Promise.allSettled(\n inputs.map((input) =>\n input\n .get(strategy === RunStrategy.SETTLE_ALL ? { groupSignal: controller.signal } : undefined)\n .catch((err) => {\n controller.abort(err);\n throw err;\n }),\n ),\n );\n controller.signal.throwIfAborted();\n return results.map((result) => (result as PromiseFulfilledResult<T>).value!);\n }\n\n static async *runSequence<T>(inputs: readonly Retryable<T>[]): AsyncGenerator<T> {\n for (const input of inputs) {\n yield await input.get();\n }\n }\n\n static async collect<T>(inputs: T & Record<string, Retryable<any>>) {\n // Solve everything\n await Promise.all(R.values(inputs).map((input) => input.get()));\n\n // Obtain latest values\n return await asyncProperties(\n R.mapValues(inputs, (value) => (value as Retryable<any>).get()) as {\n [K in keyof T]: Promise<T[K] extends Retryable<infer Q> ? Q : never>;\n },\n );\n }\n\n #getContext(attempt: number): RetryableContext {\n const ctx: RetryableContext = {\n attempt,\n executionId: this.#id,\n signal: this.#config.signal,\n };\n Object.defineProperty(ctx, \"signal\", {\n enumerable: false,\n });\n return ctx;\n }\n\n get isResolved(): boolean {\n return this.#value?.state === TaskState.RESOLVED;\n }\n\n get isRejected(): boolean {\n return this.#value?.state === TaskState.REJECTED;\n }\n\n protected _run(config?: RetryableRunConfig) {\n const task = new Task<T, Error>();\n\n const assertAborted = () => {\n this.#config.signal?.throwIfAborted?.();\n config?.groupSignal?.throwIfAborted?.();\n };\n\n let lastError: Error | null = null;\n pRetry(\n async (attempt) => {\n assertAborted();\n\n const ctx = this.#getContext(attempt);\n if (attempt > 1) {\n await this.#handlers.onRetry?.(ctx, lastError!);\n }\n return await this.#handlers.executor(ctx);\n },\n {\n retries: this.#config.maxRetries,\n factor: this.#config.factor,\n signal: this.#config.signal,\n shouldRetry: (e) => {\n if (!FrameworkError.isRetryable(e)) {\n return false;\n }\n return !config?.groupSignal?.aborted && !this.#config.signal?.aborted;\n },\n onFailedAttempt: async (e, meta) => {\n lastError = e;\n await this.#handlers.onError?.(e, this.#getContext(meta.attempt));\n if (!FrameworkError.isRetryable(e)) {\n throw e;\n }\n assertAborted();\n },\n },\n )\n .then((x) => task.resolve(x))\n .catch((x) => task.reject(x));\n\n return task;\n }\n\n async get(config?: RetryableRunConfig): Promise<T> {\n if (this.isResolved) {\n return this.#value!.resolvedValue()!;\n }\n if (this.isRejected) {\n throw this.#value?.rejectedValue();\n }\n\n if (this.#value?.state === TaskState.PENDING && !config) {\n return this.#value;\n }\n\n this.#value?.catch?.(() => {});\n this.#value = this._run(config);\n return this.#value;\n }\n\n reset() {\n this.#value?.catch?.(() => {});\n this.#value = null;\n this.#handlers.onReset?.();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/internals/helpers/retryable.ts"],"names":["RunStrategy","THROW_IMMEDIATELY","SETTLE_ROUND","SETTLE_ALL","Retryable","ctx","createRandomHash","executor","onReset","onError","onRetry","config","maxRetries","Math","max","runGroup","strategy","inputs","Promise","all","map","input","get","controller","AbortController","results","allSettled","groupSignal","signal","undefined","catch","err","abort","throwIfAborted","result","value","runSequence","collect","R","values","asyncProperties","mapValues","attempt","executionId","Object","defineProperty","enumerable","isResolved","state","TaskState","RESOLVED","isRejected","REJECTED","_run","task","Task","assertAborted","lastError","pRetry","retries","factor","shouldRetry","e","FrameworkError","isRetryable","aborted","onFailedAttempt","meta","then","x","resolve","reject","resolvedValue","rejectedValue","PENDING","reset"],"mappings":"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","file":"retryable.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as R from \"remeda\";\nimport { Task, TaskState } from \"promise-based-task\";\nimport { FrameworkError } from \"@/errors.js\";\nimport { EnumValue } from \"@/internals/types.js\";\nimport { asyncProperties } from \"@/internals/helpers/promise.js\";\nimport { createRandomHash } from \"@/internals/helpers/hash.js\";\nimport { pRetry } from \"@/internals/helpers/retry.js\";\n\nexport interface RetryableConfig {\n maxRetries: number;\n factor?: number;\n signal?: AbortSignal;\n}\n\nexport const RunStrategy = {\n /**\n * Once a single Retryable throws, other retry ables get cancelled immediately.\n */\n THROW_IMMEDIATELY: \"THROW_IMMEDIATELY\",\n\n /**\n * Once a single Retryable throws, wait for other to completes, but prevent further retries.\n */\n SETTLE_ROUND: \"SETTLE_ROUND\",\n\n /**\n * Once a single Retryable throws, other Retryables remains to continue. Error is thrown by the end.\n */\n SETTLE_ALL: \"SETTLE_ALL\",\n} as const;\n\nexport interface RetryableRunConfig {\n groupSignal: AbortSignal;\n}\n\nexport interface RetryableContext {\n executionId: string;\n attempt: number;\n signal?: AbortSignal;\n}\n\nexport type RetryableHandler<T> = (ctx: RetryableContext) => Promise<T>;\nexport type ResetHandler = () => void;\nexport type ErrorHandler = (error: Error, ctx: RetryableContext) => void | Promise<void>;\nexport type RetryHandler = (ctx: RetryableContext, lastError: Error) => void | Promise<void>;\n\nexport class Retryable<T> {\n readonly #id: string;\n #value: Task<T, Error> | null;\n #config: RetryableConfig;\n #handlers;\n\n constructor(ctx: {\n executor: RetryableHandler<T>;\n onReset?: ResetHandler;\n onError?: ErrorHandler;\n onRetry?: RetryHandler;\n config?: Partial<RetryableConfig>;\n }) {\n this.#value = null;\n this.#id = createRandomHash();\n this.#handlers = {\n executor: ctx.executor,\n onReset: ctx.onReset,\n onError: ctx.onError,\n onRetry: ctx.onRetry,\n } as const;\n this.#config = {\n ...ctx.config,\n maxRetries: Math.max(ctx.config?.maxRetries || 0, 0),\n };\n }\n\n static async runGroup<T>(\n strategy: EnumValue<typeof RunStrategy>,\n inputs: Retryable<T>[],\n ): Promise<T[]> {\n if (strategy === RunStrategy.THROW_IMMEDIATELY) {\n return await Promise.all(inputs.map((input) => input.get()));\n }\n\n const controller = new AbortController();\n const results = await Promise.allSettled(\n inputs.map((input) =>\n input\n .get(strategy === RunStrategy.SETTLE_ALL ? { groupSignal: controller.signal } : undefined)\n .catch((err) => {\n controller.abort(err);\n throw err;\n }),\n ),\n );\n controller.signal.throwIfAborted();\n return results.map((result) => (result as PromiseFulfilledResult<T>).value!);\n }\n\n static async *runSequence<T>(inputs: readonly Retryable<T>[]): AsyncGenerator<T> {\n for (const input of inputs) {\n yield await input.get();\n }\n }\n\n static async collect<T>(inputs: T & Record<string, Retryable<any>>) {\n // Solve everything\n await Promise.all(R.values(inputs).map((input) => input.get()));\n\n // Obtain latest values\n return await asyncProperties(\n R.mapValues(inputs, (value) => (value as Retryable<any>).get()) as {\n [K in keyof T]: Promise<T[K] extends Retryable<infer Q> ? Q : never>;\n },\n );\n }\n\n #getContext(attempt: number): RetryableContext {\n const ctx: RetryableContext = {\n attempt,\n executionId: this.#id,\n signal: this.#config.signal,\n };\n Object.defineProperty(ctx, \"signal\", {\n enumerable: false,\n });\n return ctx;\n }\n\n get isResolved(): boolean {\n return this.#value?.state === TaskState.RESOLVED;\n }\n\n get isRejected(): boolean {\n return this.#value?.state === TaskState.REJECTED;\n }\n\n protected _run(config?: RetryableRunConfig) {\n const task = new Task<T, Error>();\n\n const assertAborted = () => {\n this.#config.signal?.throwIfAborted?.();\n config?.groupSignal?.throwIfAborted?.();\n };\n\n let lastError: Error | null = null;\n pRetry(\n async (attempt) => {\n assertAborted();\n\n const ctx = this.#getContext(attempt);\n if (attempt > 1) {\n await this.#handlers.onRetry?.(ctx, lastError!);\n }\n return await this.#handlers.executor(ctx);\n },\n {\n retries: this.#config.maxRetries,\n factor: this.#config.factor,\n signal: this.#config.signal,\n shouldRetry: (e) => {\n if (!FrameworkError.isRetryable(e)) {\n return false;\n }\n return !config?.groupSignal?.aborted && !this.#config.signal?.aborted;\n },\n onFailedAttempt: async (e, meta) => {\n lastError = e;\n await this.#handlers.onError?.(e, this.#getContext(meta.attempt));\n if (!FrameworkError.isRetryable(e)) {\n throw e;\n }\n assertAborted();\n },\n },\n )\n .then((x) => task.resolve(x))\n .catch((x) => task.reject(x));\n\n return task;\n }\n\n async get(config?: RetryableRunConfig): Promise<T> {\n if (this.isResolved) {\n return this.#value!.resolvedValue()!;\n }\n if (this.isRejected) {\n throw this.#value?.rejectedValue();\n }\n\n if (this.#value?.state === TaskState.PENDING && !config) {\n return this.#value;\n }\n\n this.#value?.catch?.(() => {});\n this.#value = this._run(config);\n return this.#value;\n }\n\n reset() {\n this.#value?.catch?.(() => {});\n this.#value = null;\n this.#handlers.onReset?.();\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/internals/helpers/schema.ts"],"names":["validateSchema","schema","errorOptions","ZodEffects","ValueError","toJsonSchema","options","ZodType","zodToJsonSchema","createSchemaValidator","jsonSchema","ajv","Ajv","coerceTypes","useDefaults","strict","strictSchema","strictTuples","strictNumbers","strictTypes","strictRequired","parseDate","allowDate","allowUnionTypes","addFormats","default","compile","parseBrokenJson","input","trim","JSON","parse","pair","outer","findFirstPair","jsonrepair"],"mappings":";;;;;;;;;;;;;;;;AAiBO,SAASA,cAAAA,CACdC,QACAC,YAAAA,EAAoC;AAEpC,EAAA,IAAID,MAAAA,IAAUA,kBAAkBE,cAAAA,EAAY;AAC1C,IAAA,MAAM,IAAIC,qBAAAA,CACR,sFAAA,EACA,IACAF,YAAAA,CAAAA;AAEJ;AACF;AAXgBF,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA;AAaT,SAASK,YAAAA,CACdJ,QACAK,OAAAA,EAA0B;AAE1BN,EAAAA,cAAAA,CAAeC,MAAAA,CAAAA;AACf,EAAA,IAAIA,kBAAkBM,WAAAA,EAAS;AAC7B,IAAA,OAAOC,+BAAAA,CAAgBP,QAAQK,OAAAA,CAAAA;AACjC;AACA,EAAA,OAAOL,MAAAA;AACT;AATgBI,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA;AAWT,SAASI,qBAAAA,CACdR,QACAK,OAAAA,EAAoB;AAEpB,EAAA,MAAMI,UAAAA,GAAaL,aAAaJ,MAAAA,CAAAA;AAEhC,EAAA,MAAMU,KAAAA,GAAM,IAAIC,OAAAA,CAAI;IAClBC,WAAAA,EAAa,OAAA;IACbC,WAAAA,EAAa,IAAA;IACbC,MAAAA,EAAQ,KAAA;IACRC,YAAAA,EAAc,KAAA;IACdC,YAAAA,EAAc,IAAA;IACdC,aAAAA,EAAe,IAAA;IACfC,WAAAA,EAAa,IAAA;IACbC,cAAAA,EAAgB,IAAA;IAChBC,SAAAA,EAAW,IAAA;IACXC,SAAAA,EAAW,IAAA;IACXC,eAAAA,EAAiB,IAAA;IACjB,GAAGjB;GACL,CAAA;AACAkB,EAAAA,2BAAAA,CAAWC,QAAQd,KAAAA,CAAAA;AACnB,EAAA,OAAOA,KAAAA,CAAIe,QAA2BhB,UAAAA,CAAAA;AACxC;AAtBgBD,MAAAA,CAAAA,qBAAAA,EAAAA,uBAAAA,CAAAA;AA2BT,SAASkB,eAAAA,CAAgBC,OAA2BtB,OAAAA,EAAgC;AACzFsB,EAAAA,KAAAA,GAAAA,CAASA,KAAAA,IAAS,KAAKC,IAAAA,EAAAA;AAEvB,EAAA,IAAI;AACF,IAAA,IAAI;AACF,MAAA,OAAOC,IAAAA,CAAKC,MAAMH,KAAAA,CAAAA;
|
|
1
|
+
{"version":3,"sources":["../../../src/internals/helpers/schema.ts"],"names":["validateSchema","schema","errorOptions","ZodEffects","ValueError","toJsonSchema","options","ZodType","zodToJsonSchema","createSchemaValidator","jsonSchema","ajv","Ajv","coerceTypes","useDefaults","strict","strictSchema","strictTuples","strictNumbers","strictTypes","strictRequired","parseDate","allowDate","allowUnionTypes","addFormats","default","compile","parseBrokenJson","input","trim","JSON","parse","pair","outer","findFirstPair","jsonrepair"],"mappings":";;;;;;;;;;;;;;;;AAiBO,SAASA,cAAAA,CACdC,QACAC,YAAAA,EAAoC;AAEpC,EAAA,IAAID,MAAAA,IAAUA,kBAAkBE,cAAAA,EAAY;AAC1C,IAAA,MAAM,IAAIC,qBAAAA,CACR,sFAAA,EACA,IACAF,YAAAA,CAAAA;AAEJ,EAAA;AACF;AAXgBF,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA;AAaT,SAASK,YAAAA,CACdJ,QACAK,OAAAA,EAA0B;AAE1BN,EAAAA,cAAAA,CAAeC,MAAAA,CAAAA;AACf,EAAA,IAAIA,kBAAkBM,WAAAA,EAAS;AAC7B,IAAA,OAAOC,+BAAAA,CAAgBP,QAAQK,OAAAA,CAAAA;AACjC,EAAA;AACA,EAAA,OAAOL,MAAAA;AACT;AATgBI,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA;AAWT,SAASI,qBAAAA,CACdR,QACAK,OAAAA,EAAoB;AAEpB,EAAA,MAAMI,UAAAA,GAAaL,aAAaJ,MAAAA,CAAAA;AAEhC,EAAA,MAAMU,KAAAA,GAAM,IAAIC,OAAAA,CAAI;IAClBC,WAAAA,EAAa,OAAA;IACbC,WAAAA,EAAa,IAAA;IACbC,MAAAA,EAAQ,KAAA;IACRC,YAAAA,EAAc,KAAA;IACdC,YAAAA,EAAc,IAAA;IACdC,aAAAA,EAAe,IAAA;IACfC,WAAAA,EAAa,IAAA;IACbC,cAAAA,EAAgB,IAAA;IAChBC,SAAAA,EAAW,IAAA;IACXC,SAAAA,EAAW,IAAA;IACXC,eAAAA,EAAiB,IAAA;IACjB,GAAGjB;GACL,CAAA;AACAkB,EAAAA,2BAAAA,CAAWC,QAAQd,KAAAA,CAAAA;AACnB,EAAA,OAAOA,KAAAA,CAAIe,QAA2BhB,UAAAA,CAAAA;AACxC;AAtBgBD,MAAAA,CAAAA,qBAAAA,EAAAA,uBAAAA,CAAAA;AA2BT,SAASkB,eAAAA,CAAgBC,OAA2BtB,OAAAA,EAAgC;AACzFsB,EAAAA,KAAAA,GAAAA,CAASA,KAAAA,IAAS,KAAKC,IAAAA,EAAAA;AAEvB,EAAA,IAAI;AACF,IAAA,IAAI;AACF,MAAA,OAAOC,IAAAA,CAAKC,MAAMH,KAAAA,CAAAA;IACpB,CAAA,CAAA,MAAQ;AACN,MAAA,MAAMI,OAAO1B,OAAAA,EAAS0B,IAAAA;AACtB,MAAA,IAAIA,IAAAA,EAAM;AACR,QAAA,MAAM,EAAEC,KAAAA,EAAK,GAAKC,wBAAAA,CAAcN,KAAAA,EAAOI,IAAAA,CAAAA,IAAS;UAAEC,KAAAA,EAAOL;AAAM,SAAA;AAC/D,QAAA,OAAOE,IAAAA,CAAKC,KAAAA,CAAMI,qBAAAA,CAAWF,KAAAA,CAAAA,CAAAA;MAC/B,CAAA,MAAO;AACL,QAAA,OAAOH,IAAAA,CAAKC,KAAAA,CAAMI,qBAAAA,CAAWP,KAAAA,CAAAA,CAAAA;AAC/B,MAAA;AACF,IAAA;EACF,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,IAAA;AACT,EAAA;AACF;AAlBgBD,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA","file":"schema.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { TypeOf, ZodType, ZodEffects, ZodTypeAny, AnyZodObject, input } from \"zod\";\nimport { zodToJsonSchema, Options } from \"zod-to-json-schema\";\nimport { Ajv, SchemaObject, ValidateFunction, Options as AjvOptions } from \"ajv\";\nimport addFormats from \"ajv-formats\";\nimport { findFirstPair } from \"@/internals/helpers/string.js\";\nimport { FrameworkErrorOptions, ValueError } from \"@/errors.js\";\nimport { jsonrepair } from \"jsonrepair\";\nexport type AnyToolSchemaLike = AnyZodObject | SchemaObject;\nexport type AnySchemaLike = ZodTypeAny | SchemaObject;\nexport type FromSchemaLike<T> = T extends ZodTypeAny ? TypeOf<T> : unknown;\nexport type FromSchemaLikeRaw<T> = T extends ZodTypeAny ? input<T> : unknown;\n\nexport function validateSchema<T extends AnySchemaLike>(\n schema: T | ZodEffects<any>,\n errorOptions?: FrameworkErrorOptions,\n): asserts schema is T {\n if (schema && schema instanceof ZodEffects) {\n throw new ValueError(\n \"zod effects (refine, superRefine, transform, ...) cannot be converted to JSONSchema!\",\n [],\n errorOptions,\n );\n }\n}\n\nexport function toJsonSchema<T extends AnySchemaLike>(\n schema: T,\n options?: Partial<Options>,\n): SchemaObject {\n validateSchema(schema);\n if (schema instanceof ZodType) {\n return zodToJsonSchema(schema, options);\n }\n return schema;\n}\n\nexport function createSchemaValidator<T extends AnySchemaLike>(\n schema: T,\n options?: AjvOptions,\n): ValidateFunction<FromSchemaLike<T>> {\n const jsonSchema = toJsonSchema(schema);\n\n const ajv = new Ajv({\n coerceTypes: \"array\",\n useDefaults: true,\n strict: false,\n strictSchema: false,\n strictTuples: true,\n strictNumbers: true,\n strictTypes: true,\n strictRequired: true,\n parseDate: true,\n allowDate: true,\n allowUnionTypes: true,\n ...options,\n });\n addFormats.default(ajv);\n return ajv.compile<FromSchemaLike<T>>(jsonSchema);\n}\n\ninterface ParseBrokenJsonOptions {\n pair?: [string, string] | null;\n}\nexport function parseBrokenJson(input: string | undefined, options?: ParseBrokenJsonOptions) {\n input = (input ?? \"\")?.trim();\n\n try {\n try {\n return JSON.parse(input);\n } catch {\n const pair = options?.pair;\n if (pair) {\n const { outer } = findFirstPair(input, pair) ?? { outer: input };\n return JSON.parse(jsonrepair(outer));\n } else {\n return JSON.parse(jsonrepair(input));\n }\n }\n } catch {\n return null;\n }\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AnyZodObject, ZodTypeAny, input, TypeOf, ZodEffects } from 'zod';
|
|
2
|
-
import { Options } from 'zod-to-json-schema';
|
|
3
|
-
import { SchemaObject, Options
|
|
2
|
+
import { Options as Options$1 } from 'zod-to-json-schema';
|
|
3
|
+
import { SchemaObject, Options, ValidateFunction } from 'ajv';
|
|
4
4
|
import { FrameworkErrorOptions } from '../../errors.cjs';
|
|
5
5
|
import '../types.cjs';
|
|
6
6
|
import './guards.cjs';
|
|
@@ -15,8 +15,8 @@ type AnySchemaLike = ZodTypeAny | SchemaObject;
|
|
|
15
15
|
type FromSchemaLike<T> = T extends ZodTypeAny ? TypeOf<T> : unknown;
|
|
16
16
|
type FromSchemaLikeRaw<T> = T extends ZodTypeAny ? input<T> : unknown;
|
|
17
17
|
declare function validateSchema<T extends AnySchemaLike>(schema: T | ZodEffects<any>, errorOptions?: FrameworkErrorOptions): asserts schema is T;
|
|
18
|
-
declare function toJsonSchema<T extends AnySchemaLike>(schema: T, options?: Partial<Options>): SchemaObject;
|
|
19
|
-
declare function createSchemaValidator<T extends AnySchemaLike>(schema: T, options?: Options
|
|
18
|
+
declare function toJsonSchema<T extends AnySchemaLike>(schema: T, options?: Partial<Options$1>): SchemaObject;
|
|
19
|
+
declare function createSchemaValidator<T extends AnySchemaLike>(schema: T, options?: Options): ValidateFunction<FromSchemaLike<T>>;
|
|
20
20
|
interface ParseBrokenJsonOptions {
|
|
21
21
|
pair?: [string, string] | null;
|
|
22
22
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AnyZodObject, ZodTypeAny, input, TypeOf, ZodEffects } from 'zod';
|
|
2
|
-
import { Options } from 'zod-to-json-schema';
|
|
3
|
-
import { SchemaObject, Options
|
|
2
|
+
import { Options as Options$1 } from 'zod-to-json-schema';
|
|
3
|
+
import { SchemaObject, Options, ValidateFunction } from 'ajv';
|
|
4
4
|
import { FrameworkErrorOptions } from '../../errors.js';
|
|
5
5
|
import '../types.js';
|
|
6
6
|
import './guards.js';
|
|
@@ -15,8 +15,8 @@ type AnySchemaLike = ZodTypeAny | SchemaObject;
|
|
|
15
15
|
type FromSchemaLike<T> = T extends ZodTypeAny ? TypeOf<T> : unknown;
|
|
16
16
|
type FromSchemaLikeRaw<T> = T extends ZodTypeAny ? input<T> : unknown;
|
|
17
17
|
declare function validateSchema<T extends AnySchemaLike>(schema: T | ZodEffects<any>, errorOptions?: FrameworkErrorOptions): asserts schema is T;
|
|
18
|
-
declare function toJsonSchema<T extends AnySchemaLike>(schema: T, options?: Partial<Options>): SchemaObject;
|
|
19
|
-
declare function createSchemaValidator<T extends AnySchemaLike>(schema: T, options?: Options
|
|
18
|
+
declare function toJsonSchema<T extends AnySchemaLike>(schema: T, options?: Partial<Options$1>): SchemaObject;
|
|
19
|
+
declare function createSchemaValidator<T extends AnySchemaLike>(schema: T, options?: Options): ValidateFunction<FromSchemaLike<T>>;
|
|
20
20
|
interface ParseBrokenJsonOptions {
|
|
21
21
|
pair?: [string, string] | null;
|
|
22
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/internals/helpers/schema.ts"],"names":["validateSchema","schema","errorOptions","ZodEffects","ValueError","toJsonSchema","options","ZodType","zodToJsonSchema","createSchemaValidator","jsonSchema","ajv","Ajv","coerceTypes","useDefaults","strict","strictSchema","strictTuples","strictNumbers","strictTypes","strictRequired","parseDate","allowDate","allowUnionTypes","addFormats","default","compile","parseBrokenJson","input","trim","JSON","parse","pair","outer","findFirstPair","jsonrepair"],"mappings":";;;;;;;;;;AAiBO,SAASA,cAAAA,CACdC,QACAC,YAAAA,EAAoC;AAEpC,EAAA,IAAID,MAAAA,IAAUA,kBAAkBE,UAAAA,EAAY;AAC1C,IAAA,MAAM,IAAIC,UAAAA,CACR,sFAAA,EACA,IACAF,YAAAA,CAAAA;AAEJ;AACF;AAXgBF,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA;AAaT,SAASK,YAAAA,CACdJ,QACAK,OAAAA,EAA0B;AAE1BN,EAAAA,cAAAA,CAAeC,MAAAA,CAAAA;AACf,EAAA,IAAIA,kBAAkBM,OAAAA,EAAS;AAC7B,IAAA,OAAOC,eAAAA,CAAgBP,QAAQK,OAAAA,CAAAA;AACjC;AACA,EAAA,OAAOL,MAAAA;AACT;AATgBI,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA;AAWT,SAASI,qBAAAA,CACdR,QACAK,OAAAA,EAAoB;AAEpB,EAAA,MAAMI,UAAAA,GAAaL,aAAaJ,MAAAA,CAAAA;AAEhC,EAAA,MAAMU,GAAAA,GAAM,IAAIC,GAAAA,CAAI;IAClBC,WAAAA,EAAa,OAAA;IACbC,WAAAA,EAAa,IAAA;IACbC,MAAAA,EAAQ,KAAA;IACRC,YAAAA,EAAc,KAAA;IACdC,YAAAA,EAAc,IAAA;IACdC,aAAAA,EAAe,IAAA;IACfC,WAAAA,EAAa,IAAA;IACbC,cAAAA,EAAgB,IAAA;IAChBC,SAAAA,EAAW,IAAA;IACXC,SAAAA,EAAW,IAAA;IACXC,eAAAA,EAAiB,IAAA;IACjB,GAAGjB;GACL,CAAA;AACAkB,EAAAA,UAAAA,CAAWC,QAAQd,GAAAA,CAAAA;AACnB,EAAA,OAAOA,GAAAA,CAAIe,QAA2BhB,UAAAA,CAAAA;AACxC;AAtBgBD,MAAAA,CAAAA,qBAAAA,EAAAA,uBAAAA,CAAAA;AA2BT,SAASkB,eAAAA,CAAgBC,OAA2BtB,OAAAA,EAAgC;AACzFsB,EAAAA,KAAAA,GAAAA,CAASA,KAAAA,IAAS,KAAKC,IAAAA,EAAAA;AAEvB,EAAA,IAAI;AACF,IAAA,IAAI;AACF,MAAA,OAAOC,IAAAA,CAAKC,MAAMH,KAAAA,CAAAA;
|
|
1
|
+
{"version":3,"sources":["../../../src/internals/helpers/schema.ts"],"names":["validateSchema","schema","errorOptions","ZodEffects","ValueError","toJsonSchema","options","ZodType","zodToJsonSchema","createSchemaValidator","jsonSchema","ajv","Ajv","coerceTypes","useDefaults","strict","strictSchema","strictTuples","strictNumbers","strictTypes","strictRequired","parseDate","allowDate","allowUnionTypes","addFormats","default","compile","parseBrokenJson","input","trim","JSON","parse","pair","outer","findFirstPair","jsonrepair"],"mappings":";;;;;;;;;;AAiBO,SAASA,cAAAA,CACdC,QACAC,YAAAA,EAAoC;AAEpC,EAAA,IAAID,MAAAA,IAAUA,kBAAkBE,UAAAA,EAAY;AAC1C,IAAA,MAAM,IAAIC,UAAAA,CACR,sFAAA,EACA,IACAF,YAAAA,CAAAA;AAEJ,EAAA;AACF;AAXgBF,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA;AAaT,SAASK,YAAAA,CACdJ,QACAK,OAAAA,EAA0B;AAE1BN,EAAAA,cAAAA,CAAeC,MAAAA,CAAAA;AACf,EAAA,IAAIA,kBAAkBM,OAAAA,EAAS;AAC7B,IAAA,OAAOC,eAAAA,CAAgBP,QAAQK,OAAAA,CAAAA;AACjC,EAAA;AACA,EAAA,OAAOL,MAAAA;AACT;AATgBI,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA;AAWT,SAASI,qBAAAA,CACdR,QACAK,OAAAA,EAAoB;AAEpB,EAAA,MAAMI,UAAAA,GAAaL,aAAaJ,MAAAA,CAAAA;AAEhC,EAAA,MAAMU,GAAAA,GAAM,IAAIC,GAAAA,CAAI;IAClBC,WAAAA,EAAa,OAAA;IACbC,WAAAA,EAAa,IAAA;IACbC,MAAAA,EAAQ,KAAA;IACRC,YAAAA,EAAc,KAAA;IACdC,YAAAA,EAAc,IAAA;IACdC,aAAAA,EAAe,IAAA;IACfC,WAAAA,EAAa,IAAA;IACbC,cAAAA,EAAgB,IAAA;IAChBC,SAAAA,EAAW,IAAA;IACXC,SAAAA,EAAW,IAAA;IACXC,eAAAA,EAAiB,IAAA;IACjB,GAAGjB;GACL,CAAA;AACAkB,EAAAA,UAAAA,CAAWC,QAAQd,GAAAA,CAAAA;AACnB,EAAA,OAAOA,GAAAA,CAAIe,QAA2BhB,UAAAA,CAAAA;AACxC;AAtBgBD,MAAAA,CAAAA,qBAAAA,EAAAA,uBAAAA,CAAAA;AA2BT,SAASkB,eAAAA,CAAgBC,OAA2BtB,OAAAA,EAAgC;AACzFsB,EAAAA,KAAAA,GAAAA,CAASA,KAAAA,IAAS,KAAKC,IAAAA,EAAAA;AAEvB,EAAA,IAAI;AACF,IAAA,IAAI;AACF,MAAA,OAAOC,IAAAA,CAAKC,MAAMH,KAAAA,CAAAA;IACpB,CAAA,CAAA,MAAQ;AACN,MAAA,MAAMI,OAAO1B,OAAAA,EAAS0B,IAAAA;AACtB,MAAA,IAAIA,IAAAA,EAAM;AACR,QAAA,MAAM,EAAEC,KAAAA,EAAK,GAAKC,aAAAA,CAAcN,KAAAA,EAAOI,IAAAA,CAAAA,IAAS;UAAEC,KAAAA,EAAOL;AAAM,SAAA;AAC/D,QAAA,OAAOE,IAAAA,CAAKC,KAAAA,CAAMI,UAAAA,CAAWF,KAAAA,CAAAA,CAAAA;MAC/B,CAAA,MAAO;AACL,QAAA,OAAOH,IAAAA,CAAKC,KAAAA,CAAMI,UAAAA,CAAWP,KAAAA,CAAAA,CAAAA;AAC/B,MAAA;AACF,IAAA;EACF,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,IAAA;AACT,EAAA;AACF;AAlBgBD,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA","file":"schema.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { TypeOf, ZodType, ZodEffects, ZodTypeAny, AnyZodObject, input } from \"zod\";\nimport { zodToJsonSchema, Options } from \"zod-to-json-schema\";\nimport { Ajv, SchemaObject, ValidateFunction, Options as AjvOptions } from \"ajv\";\nimport addFormats from \"ajv-formats\";\nimport { findFirstPair } from \"@/internals/helpers/string.js\";\nimport { FrameworkErrorOptions, ValueError } from \"@/errors.js\";\nimport { jsonrepair } from \"jsonrepair\";\nexport type AnyToolSchemaLike = AnyZodObject | SchemaObject;\nexport type AnySchemaLike = ZodTypeAny | SchemaObject;\nexport type FromSchemaLike<T> = T extends ZodTypeAny ? TypeOf<T> : unknown;\nexport type FromSchemaLikeRaw<T> = T extends ZodTypeAny ? input<T> : unknown;\n\nexport function validateSchema<T extends AnySchemaLike>(\n schema: T | ZodEffects<any>,\n errorOptions?: FrameworkErrorOptions,\n): asserts schema is T {\n if (schema && schema instanceof ZodEffects) {\n throw new ValueError(\n \"zod effects (refine, superRefine, transform, ...) cannot be converted to JSONSchema!\",\n [],\n errorOptions,\n );\n }\n}\n\nexport function toJsonSchema<T extends AnySchemaLike>(\n schema: T,\n options?: Partial<Options>,\n): SchemaObject {\n validateSchema(schema);\n if (schema instanceof ZodType) {\n return zodToJsonSchema(schema, options);\n }\n return schema;\n}\n\nexport function createSchemaValidator<T extends AnySchemaLike>(\n schema: T,\n options?: AjvOptions,\n): ValidateFunction<FromSchemaLike<T>> {\n const jsonSchema = toJsonSchema(schema);\n\n const ajv = new Ajv({\n coerceTypes: \"array\",\n useDefaults: true,\n strict: false,\n strictSchema: false,\n strictTuples: true,\n strictNumbers: true,\n strictTypes: true,\n strictRequired: true,\n parseDate: true,\n allowDate: true,\n allowUnionTypes: true,\n ...options,\n });\n addFormats.default(ajv);\n return ajv.compile<FromSchemaLike<T>>(jsonSchema);\n}\n\ninterface ParseBrokenJsonOptions {\n pair?: [string, string] | null;\n}\nexport function parseBrokenJson(input: string | undefined, options?: ParseBrokenJsonOptions) {\n input = (input ?? \"\")?.trim();\n\n try {\n try {\n return JSON.parse(input);\n } catch {\n const pair = options?.pair;\n if (pair) {\n const { outer } = findFirstPair(input, pair) ?? { outer: input };\n return JSON.parse(jsonrepair(outer));\n } else {\n return JSON.parse(jsonrepair(input));\n }\n }\n } catch {\n return null;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/internals/helpers/stream.ts"],"names":["transformAsyncIterable","generator","transformer","next","done","value","isAsyncIterable","Boolean","Symbol","asyncIterator"],"mappings":";;;;AAKA,gBAAuBA,sBAAAA,CACrBC,WACAC,WAAAA,EAA2B;AAE3B,EAAA,IAAIC,IAAAA;AACJ,EAAA,OAAO,EAAEA,IAAAA,GAAO,MAAMF,SAAAA,CAAUE,IAAAA,IAAQC,IAAAA,EAAM;AAC5C,IAAA,MAAMF,WAAAA,CAAYC,KAAKE,KAAK,CAAA;AAC9B;AACA,EAAA,OAAOF,IAAAA,CAAKE,KAAAA;AACd;AATuBL,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA;AAWhB,SAASM,gBAAmBD,KAAAA,EAAU;AAC3C,EAAA,OAAOE,OAAAA,CAAQF,KAAAA,IAASG,MAAAA,CAAOC,aAAAA,IAAiBJ,KAAAA,CAAAA;AAClD;AAFgBC,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA","file":"stream.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport async function* transformAsyncIterable<A, B, A2>(\n generator: AsyncGenerator<A, B> | AsyncIterableIterator<A>,\n transformer: (old: A) => A2,\n): AsyncGenerator<A2, B> {\n let next: IteratorResult<A, B>;\n while (!(next = await generator.next()).done) {\n yield transformer(next.value);\n }\n return next.value;\n}\n\nexport function isAsyncIterable<T>(value: any): value is AsyncIterable<T> {\n return Boolean(value && Symbol.asyncIterator in value);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/internals/helpers/stream.ts"],"names":["transformAsyncIterable","generator","transformer","next","done","value","isAsyncIterable","Boolean","Symbol","asyncIterator"],"mappings":";;;;AAKA,gBAAuBA,sBAAAA,CACrBC,WACAC,WAAAA,EAA2B;AAE3B,EAAA,IAAIC,IAAAA;AACJ,EAAA,OAAO,EAAEA,IAAAA,GAAO,MAAMF,SAAAA,CAAUE,IAAAA,IAAQC,IAAAA,EAAM;AAC5C,IAAA,MAAMF,WAAAA,CAAYC,KAAKE,KAAK,CAAA;AAC9B,EAAA;AACA,EAAA,OAAOF,IAAAA,CAAKE,KAAAA;AACd;AATuBL,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA;AAWhB,SAASM,gBAAmBD,KAAAA,EAAU;AAC3C,EAAA,OAAOE,OAAAA,CAAQF,KAAAA,IAASG,MAAAA,CAAOC,aAAAA,IAAiBJ,KAAAA,CAAAA;AAClD;AAFgBC,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA","file":"stream.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport async function* transformAsyncIterable<A, B, A2>(\n generator: AsyncGenerator<A, B> | AsyncIterableIterator<A>,\n transformer: (old: A) => A2,\n): AsyncGenerator<A2, B> {\n let next: IteratorResult<A, B>;\n while (!(next = await generator.next()).done) {\n yield transformer(next.value);\n }\n return next.value;\n}\n\nexport function isAsyncIterable<T>(value: any): value is AsyncIterable<T> {\n return Boolean(value && Symbol.asyncIterator in value);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/internals/helpers/stream.ts"],"names":["transformAsyncIterable","generator","transformer","next","done","value","isAsyncIterable","Boolean","Symbol","asyncIterator"],"mappings":";;AAKA,gBAAuBA,sBAAAA,CACrBC,WACAC,WAAAA,EAA2B;AAE3B,EAAA,IAAIC,IAAAA;AACJ,EAAA,OAAO,EAAEA,IAAAA,GAAO,MAAMF,SAAAA,CAAUE,IAAAA,IAAQC,IAAAA,EAAM;AAC5C,IAAA,MAAMF,WAAAA,CAAYC,KAAKE,KAAK,CAAA;AAC9B;AACA,EAAA,OAAOF,IAAAA,CAAKE,KAAAA;AACd;AATuBL,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA;AAWhB,SAASM,gBAAmBD,KAAAA,EAAU;AAC3C,EAAA,OAAOE,OAAAA,CAAQF,KAAAA,IAASG,MAAAA,CAAOC,aAAAA,IAAiBJ,KAAAA,CAAAA;AAClD;AAFgBC,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA","file":"stream.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport async function* transformAsyncIterable<A, B, A2>(\n generator: AsyncGenerator<A, B> | AsyncIterableIterator<A>,\n transformer: (old: A) => A2,\n): AsyncGenerator<A2, B> {\n let next: IteratorResult<A, B>;\n while (!(next = await generator.next()).done) {\n yield transformer(next.value);\n }\n return next.value;\n}\n\nexport function isAsyncIterable<T>(value: any): value is AsyncIterable<T> {\n return Boolean(value && Symbol.asyncIterator in value);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/internals/helpers/stream.ts"],"names":["transformAsyncIterable","generator","transformer","next","done","value","isAsyncIterable","Boolean","Symbol","asyncIterator"],"mappings":";;AAKA,gBAAuBA,sBAAAA,CACrBC,WACAC,WAAAA,EAA2B;AAE3B,EAAA,IAAIC,IAAAA;AACJ,EAAA,OAAO,EAAEA,IAAAA,GAAO,MAAMF,SAAAA,CAAUE,IAAAA,IAAQC,IAAAA,EAAM;AAC5C,IAAA,MAAMF,WAAAA,CAAYC,KAAKE,KAAK,CAAA;AAC9B,EAAA;AACA,EAAA,OAAOF,IAAAA,CAAKE,KAAAA;AACd;AATuBL,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA;AAWhB,SAASM,gBAAmBD,KAAAA,EAAU;AAC3C,EAAA,OAAOE,OAAAA,CAAQF,KAAAA,IAASG,MAAAA,CAAOC,aAAAA,IAAiBJ,KAAAA,CAAAA;AAClD;AAFgBC,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA","file":"stream.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport async function* transformAsyncIterable<A, B, A2>(\n generator: AsyncGenerator<A, B> | AsyncIterableIterator<A>,\n transformer: (old: A) => A2,\n): AsyncGenerator<A2, B> {\n let next: IteratorResult<A, B>;\n while (!(next = await generator.next()).done) {\n yield transformer(next.value);\n }\n return next.value;\n}\n\nexport function isAsyncIterable<T>(value: any): value is AsyncIterable<T> {\n return Boolean(value && Symbol.asyncIterator in value);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/internals/helpers/string.ts"],"names":["splitString","text","options","recursiveSplitString","trim","separators","mergeStrings","chunks","sep","tmpChunks","tmpOverlap","toDoc","parts","join","chunk","length","size","doc","overlap","tmp","shift","push","Error","goodSplits","separator","remainingSeparators","unique","split","filter","Boolean","Comparator","EQ","GT","GTE","LT","LTE","compareVersion","a","comparator","b","diff","replace","localeCompare","undefined","numeric","sensitivity","diffNormalized","Math","min","max","R","isIncludedIn","isJsonLikeString","value","startsWith","endsWith","halveString","seq","includeSeq","index","indexOf","slice","countSharedStartEndLetters","isString","ValueError","minLength","i","at","findFirstPair","pair","opening","closing","balance","startIndex","pairOverlap","allowOverlap","isSame","substring","inner","start","end","innerEnd","innerSize","outer"],"mappings":"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","file":"string.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ValueOf } from \"@/internals/types.js\";\nimport * as R from \"remeda\";\nimport { ValueError } from \"@/errors.js\";\nimport { isString, unique } from \"remeda\";\n\nexport function* splitString(\n text: string,\n options: { size: number; overlap: number; trim?: boolean },\n) {\n yield* recursiveSplitString(text, { ...options, trim: options?.trim ?? false, separators: [] });\n}\n\nexport function* mergeStrings(\n chunks: string[],\n sep: string,\n options: { size: number; overlap: number; trim?: boolean },\n) {\n const tmpChunks: string[] = [];\n let tmpOverlap = 0;\n\n const toDoc = (parts: string[]) => {\n const text = parts.join(sep);\n return options.trim ? text.trim() : text;\n };\n\n for (const chunk of chunks) {\n if (tmpOverlap + chunk.length + tmpChunks.length * sep.length > options.size) {\n if (tmpChunks.length > 0) {\n const doc = toDoc(tmpChunks);\n if (doc) {\n yield doc;\n }\n\n while (\n tmpOverlap > options.overlap ||\n (tmpOverlap + chunk.length + tmpChunks.length * sep.length > options.size &&\n tmpOverlap > 0)\n ) {\n const tmp = tmpChunks.shift()!;\n tmpOverlap -= tmp.length;\n }\n }\n }\n tmpChunks.push(chunk);\n tmpOverlap += chunk.length;\n }\n\n const doc = toDoc(tmpChunks);\n if (doc) {\n yield doc;\n }\n}\n\nexport function* recursiveSplitString(\n text: string,\n options: { size: number; overlap: number; separators: string[]; trim?: boolean },\n): Generator<string> {\n if (options.size <= 0 || options.overlap < 0) {\n throw new Error(\"size must be positive and overlap must be non-negative\");\n }\n if (options.overlap >= options.size) {\n throw new Error(\"overlap must be less than size\");\n }\n\n const goodSplits: string[] = [];\n const [separator, ...remainingSeparators] = unique([...(options.separators ?? []), \"\"]);\n\n for (const chunk of text.split(separator).filter(Boolean)) {\n if (chunk.length < options.size) {\n goodSplits.push(chunk);\n continue;\n }\n\n if (goodSplits.length > 0) {\n yield* mergeStrings(goodSplits, separator, options);\n goodSplits.length = 0;\n }\n\n if (remainingSeparators.length === 0) {\n yield chunk;\n } else {\n yield* recursiveSplitString(chunk, { ...options, separators: remainingSeparators });\n }\n }\n\n if (goodSplits.length > 0) {\n yield* mergeStrings(goodSplits, separator, options);\n }\n}\n\nexport const Comparator = {\n EQ: [0] as const,\n GT: [1] as const,\n GTE: [0, 1] as const,\n LT: [-1] as const,\n LTE: [-1, 0] as const,\n} as const;\n\nexport function compareVersion(\n a: string,\n comparator: ValueOf<typeof Comparator>,\n b: string,\n): boolean {\n const diff = a.replace(\"v\", \"\").trim().localeCompare(b.replace(\"v\", \"\").trim(), undefined, {\n numeric: true,\n sensitivity: \"base\",\n });\n const diffNormalized = Math.min(1, Math.max(-1, diff));\n return R.isIncludedIn(diffNormalized, comparator);\n}\n\nexport function isJsonLikeString(value: string | undefined): value is string {\n if (!value) {\n return false;\n }\n return value.startsWith(\"{\") && value.endsWith(\"}\");\n}\n\nexport function halveString(\n value: string,\n seq: string,\n includeSeq = false,\n): [string] | [string, string] {\n if (seq === \"\") {\n return [value];\n }\n\n const index = value.indexOf(seq);\n if (index === -1) {\n return [value];\n } else {\n return [value.slice(0, index), value.slice(index + (includeSeq ? 0 : seq.length))];\n }\n}\n\nexport function countSharedStartEndLetters(a: string, b: string): number {\n if (!isString(a) || !isString(b)) {\n throw new ValueError(\"Provided values must be all strings.\");\n }\n\n const minLength = Math.min(a.length, b.length);\n for (let i = 0; i < minLength; i++) {\n if (a.at((i + 1) * -1) !== b.at(i)) {\n return i;\n }\n }\n return minLength;\n}\n\nexport function findFirstPair(\n text: string,\n pair: [string, string],\n options: { allowOverlap?: boolean } = {},\n) {\n const [opening, closing] = pair || [];\n if (!pair || !opening || !closing) {\n throw new ValueError(`The \"pair\" parameter is required and must be non-empty!`);\n }\n\n let balance = 0;\n let startIndex = -1;\n const pairOverlap = options.allowOverlap ? countSharedStartEndLetters(opening, closing) : 0;\n\n const isSame = opening === closing;\n for (let index = 0; index < text.length; index++) {\n if (text.substring(index, index + opening.length) === opening && (!isSame || balance === 0)) {\n if (balance === 0) {\n startIndex = index;\n }\n balance++;\n if (!options.allowOverlap) {\n index += opening.length - 1;\n }\n } else if (text.substring(index, index + closing.length) === closing) {\n if (balance > 0) {\n balance--;\n if (balance === 0) {\n const inner = {\n start: startIndex + opening.length,\n get end() {\n let innerEnd = index;\n const innerSize = innerEnd - this.start;\n\n if (innerSize < 0) {\n innerEnd = this.start;\n } else {\n innerEnd += pairOverlap;\n }\n\n return innerEnd;\n },\n };\n\n return {\n start: startIndex,\n end: index + closing.length,\n pair,\n inner: text.substring(inner.start, inner.end),\n outer: text.substring(startIndex, index + closing.length),\n };\n }\n }\n if (!options.allowOverlap) {\n index += closing.length - 1;\n }\n }\n }\n\n return null;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/internals/helpers/string.ts"],"names":["splitString","text","options","recursiveSplitString","trim","separators","mergeStrings","chunks","sep","tmpChunks","tmpOverlap","toDoc","parts","join","chunk","length","size","doc","overlap","tmp","shift","push","Error","goodSplits","separator","remainingSeparators","unique","split","filter","Boolean","Comparator","EQ","GT","GTE","LT","LTE","compareVersion","a","comparator","b","diff","replace","localeCompare","undefined","numeric","sensitivity","diffNormalized","Math","min","max","R","isIncludedIn","isJsonLikeString","value","startsWith","endsWith","halveString","seq","includeSeq","index","indexOf","slice","countSharedStartEndLetters","isString","ValueError","minLength","i","at","findFirstPair","pair","opening","closing","balance","startIndex","pairOverlap","allowOverlap","isSame","substring","inner","start","end","innerEnd","innerSize","outer"],"mappings":"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","file":"string.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ValueOf } from \"@/internals/types.js\";\nimport * as R from \"remeda\";\nimport { ValueError } from \"@/errors.js\";\nimport { isString, unique } from \"remeda\";\n\nexport function* splitString(\n text: string,\n options: { size: number; overlap: number; trim?: boolean },\n) {\n yield* recursiveSplitString(text, { ...options, trim: options?.trim ?? false, separators: [] });\n}\n\nexport function* mergeStrings(\n chunks: string[],\n sep: string,\n options: { size: number; overlap: number; trim?: boolean },\n) {\n const tmpChunks: string[] = [];\n let tmpOverlap = 0;\n\n const toDoc = (parts: string[]) => {\n const text = parts.join(sep);\n return options.trim ? text.trim() : text;\n };\n\n for (const chunk of chunks) {\n if (tmpOverlap + chunk.length + tmpChunks.length * sep.length > options.size) {\n if (tmpChunks.length > 0) {\n const doc = toDoc(tmpChunks);\n if (doc) {\n yield doc;\n }\n\n while (\n tmpOverlap > options.overlap ||\n (tmpOverlap + chunk.length + tmpChunks.length * sep.length > options.size &&\n tmpOverlap > 0)\n ) {\n const tmp = tmpChunks.shift()!;\n tmpOverlap -= tmp.length;\n }\n }\n }\n tmpChunks.push(chunk);\n tmpOverlap += chunk.length;\n }\n\n const doc = toDoc(tmpChunks);\n if (doc) {\n yield doc;\n }\n}\n\nexport function* recursiveSplitString(\n text: string,\n options: { size: number; overlap: number; separators: string[]; trim?: boolean },\n): Generator<string> {\n if (options.size <= 0 || options.overlap < 0) {\n throw new Error(\"size must be positive and overlap must be non-negative\");\n }\n if (options.overlap >= options.size) {\n throw new Error(\"overlap must be less than size\");\n }\n\n const goodSplits: string[] = [];\n const [separator, ...remainingSeparators] = unique([...(options.separators ?? []), \"\"]);\n\n for (const chunk of text.split(separator).filter(Boolean)) {\n if (chunk.length < options.size) {\n goodSplits.push(chunk);\n continue;\n }\n\n if (goodSplits.length > 0) {\n yield* mergeStrings(goodSplits, separator, options);\n goodSplits.length = 0;\n }\n\n if (remainingSeparators.length === 0) {\n yield chunk;\n } else {\n yield* recursiveSplitString(chunk, { ...options, separators: remainingSeparators });\n }\n }\n\n if (goodSplits.length > 0) {\n yield* mergeStrings(goodSplits, separator, options);\n }\n}\n\nexport const Comparator = {\n EQ: [0] as const,\n GT: [1] as const,\n GTE: [0, 1] as const,\n LT: [-1] as const,\n LTE: [-1, 0] as const,\n} as const;\n\nexport function compareVersion(\n a: string,\n comparator: ValueOf<typeof Comparator>,\n b: string,\n): boolean {\n const diff = a.replace(\"v\", \"\").trim().localeCompare(b.replace(\"v\", \"\").trim(), undefined, {\n numeric: true,\n sensitivity: \"base\",\n });\n const diffNormalized = Math.min(1, Math.max(-1, diff));\n return R.isIncludedIn(diffNormalized, comparator);\n}\n\nexport function isJsonLikeString(value: string | undefined): value is string {\n if (!value) {\n return false;\n }\n return value.startsWith(\"{\") && value.endsWith(\"}\");\n}\n\nexport function halveString(\n value: string,\n seq: string,\n includeSeq = false,\n): [string] | [string, string] {\n if (seq === \"\") {\n return [value];\n }\n\n const index = value.indexOf(seq);\n if (index === -1) {\n return [value];\n } else {\n return [value.slice(0, index), value.slice(index + (includeSeq ? 0 : seq.length))];\n }\n}\n\nexport function countSharedStartEndLetters(a: string, b: string): number {\n if (!isString(a) || !isString(b)) {\n throw new ValueError(\"Provided values must be all strings.\");\n }\n\n const minLength = Math.min(a.length, b.length);\n for (let i = 0; i < minLength; i++) {\n if (a.at((i + 1) * -1) !== b.at(i)) {\n return i;\n }\n }\n return minLength;\n}\n\nexport function findFirstPair(\n text: string,\n pair: [string, string],\n options: { allowOverlap?: boolean } = {},\n) {\n const [opening, closing] = pair || [];\n if (!pair || !opening || !closing) {\n throw new ValueError(`The \"pair\" parameter is required and must be non-empty!`);\n }\n\n let balance = 0;\n let startIndex = -1;\n const pairOverlap = options.allowOverlap ? countSharedStartEndLetters(opening, closing) : 0;\n\n const isSame = opening === closing;\n for (let index = 0; index < text.length; index++) {\n if (text.substring(index, index + opening.length) === opening && (!isSame || balance === 0)) {\n if (balance === 0) {\n startIndex = index;\n }\n balance++;\n if (!options.allowOverlap) {\n index += opening.length - 1;\n }\n } else if (text.substring(index, index + closing.length) === closing) {\n if (balance > 0) {\n balance--;\n if (balance === 0) {\n const inner = {\n start: startIndex + opening.length,\n get end() {\n let innerEnd = index;\n const innerSize = innerEnd - this.start;\n\n if (innerSize < 0) {\n innerEnd = this.start;\n } else {\n innerEnd += pairOverlap;\n }\n\n return innerEnd;\n },\n };\n\n return {\n start: startIndex,\n end: index + closing.length,\n pair,\n inner: text.substring(inner.start, inner.end),\n outer: text.substring(startIndex, index + closing.length),\n };\n }\n }\n if (!options.allowOverlap) {\n index += closing.length - 1;\n }\n }\n }\n\n return null;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/internals/helpers/string.ts"],"names":["splitString","text","options","recursiveSplitString","trim","separators","mergeStrings","chunks","sep","tmpChunks","tmpOverlap","toDoc","parts","join","chunk","length","size","doc","overlap","tmp","shift","push","Error","goodSplits","separator","remainingSeparators","unique","split","filter","Boolean","Comparator","EQ","GT","GTE","LT","LTE","compareVersion","a","comparator","b","diff","replace","localeCompare","undefined","numeric","sensitivity","diffNormalized","Math","min","max","R","isIncludedIn","isJsonLikeString","value","startsWith","endsWith","halveString","seq","includeSeq","index","indexOf","slice","countSharedStartEndLetters","isString","ValueError","minLength","i","at","findFirstPair","pair","opening","closing","balance","startIndex","pairOverlap","allowOverlap","isSame","substring","inner","start","end","innerEnd","innerSize","outer"],"mappings":"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","file":"string.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ValueOf } from \"@/internals/types.js\";\nimport * as R from \"remeda\";\nimport { ValueError } from \"@/errors.js\";\nimport { isString, unique } from \"remeda\";\n\nexport function* splitString(\n text: string,\n options: { size: number; overlap: number; trim?: boolean },\n) {\n yield* recursiveSplitString(text, { ...options, trim: options?.trim ?? false, separators: [] });\n}\n\nexport function* mergeStrings(\n chunks: string[],\n sep: string,\n options: { size: number; overlap: number; trim?: boolean },\n) {\n const tmpChunks: string[] = [];\n let tmpOverlap = 0;\n\n const toDoc = (parts: string[]) => {\n const text = parts.join(sep);\n return options.trim ? text.trim() : text;\n };\n\n for (const chunk of chunks) {\n if (tmpOverlap + chunk.length + tmpChunks.length * sep.length > options.size) {\n if (tmpChunks.length > 0) {\n const doc = toDoc(tmpChunks);\n if (doc) {\n yield doc;\n }\n\n while (\n tmpOverlap > options.overlap ||\n (tmpOverlap + chunk.length + tmpChunks.length * sep.length > options.size &&\n tmpOverlap > 0)\n ) {\n const tmp = tmpChunks.shift()!;\n tmpOverlap -= tmp.length;\n }\n }\n }\n tmpChunks.push(chunk);\n tmpOverlap += chunk.length;\n }\n\n const doc = toDoc(tmpChunks);\n if (doc) {\n yield doc;\n }\n}\n\nexport function* recursiveSplitString(\n text: string,\n options: { size: number; overlap: number; separators: string[]; trim?: boolean },\n): Generator<string> {\n if (options.size <= 0 || options.overlap < 0) {\n throw new Error(\"size must be positive and overlap must be non-negative\");\n }\n if (options.overlap >= options.size) {\n throw new Error(\"overlap must be less than size\");\n }\n\n const goodSplits: string[] = [];\n const [separator, ...remainingSeparators] = unique([...(options.separators ?? []), \"\"]);\n\n for (const chunk of text.split(separator).filter(Boolean)) {\n if (chunk.length < options.size) {\n goodSplits.push(chunk);\n continue;\n }\n\n if (goodSplits.length > 0) {\n yield* mergeStrings(goodSplits, separator, options);\n goodSplits.length = 0;\n }\n\n if (remainingSeparators.length === 0) {\n yield chunk;\n } else {\n yield* recursiveSplitString(chunk, { ...options, separators: remainingSeparators });\n }\n }\n\n if (goodSplits.length > 0) {\n yield* mergeStrings(goodSplits, separator, options);\n }\n}\n\nexport const Comparator = {\n EQ: [0] as const,\n GT: [1] as const,\n GTE: [0, 1] as const,\n LT: [-1] as const,\n LTE: [-1, 0] as const,\n} as const;\n\nexport function compareVersion(\n a: string,\n comparator: ValueOf<typeof Comparator>,\n b: string,\n): boolean {\n const diff = a.replace(\"v\", \"\").trim().localeCompare(b.replace(\"v\", \"\").trim(), undefined, {\n numeric: true,\n sensitivity: \"base\",\n });\n const diffNormalized = Math.min(1, Math.max(-1, diff));\n return R.isIncludedIn(diffNormalized, comparator);\n}\n\nexport function isJsonLikeString(value: string | undefined): value is string {\n if (!value) {\n return false;\n }\n return value.startsWith(\"{\") && value.endsWith(\"}\");\n}\n\nexport function halveString(\n value: string,\n seq: string,\n includeSeq = false,\n): [string] | [string, string] {\n if (seq === \"\") {\n return [value];\n }\n\n const index = value.indexOf(seq);\n if (index === -1) {\n return [value];\n } else {\n return [value.slice(0, index), value.slice(index + (includeSeq ? 0 : seq.length))];\n }\n}\n\nexport function countSharedStartEndLetters(a: string, b: string): number {\n if (!isString(a) || !isString(b)) {\n throw new ValueError(\"Provided values must be all strings.\");\n }\n\n const minLength = Math.min(a.length, b.length);\n for (let i = 0; i < minLength; i++) {\n if (a.at((i + 1) * -1) !== b.at(i)) {\n return i;\n }\n }\n return minLength;\n}\n\nexport function findFirstPair(\n text: string,\n pair: [string, string],\n options: { allowOverlap?: boolean } = {},\n) {\n const [opening, closing] = pair || [];\n if (!pair || !opening || !closing) {\n throw new ValueError(`The \"pair\" parameter is required and must be non-empty!`);\n }\n\n let balance = 0;\n let startIndex = -1;\n const pairOverlap = options.allowOverlap ? countSharedStartEndLetters(opening, closing) : 0;\n\n const isSame = opening === closing;\n for (let index = 0; index < text.length; index++) {\n if (text.substring(index, index + opening.length) === opening && (!isSame || balance === 0)) {\n if (balance === 0) {\n startIndex = index;\n }\n balance++;\n if (!options.allowOverlap) {\n index += opening.length - 1;\n }\n } else if (text.substring(index, index + closing.length) === closing) {\n if (balance > 0) {\n balance--;\n if (balance === 0) {\n const inner = {\n start: startIndex + opening.length,\n get end() {\n let innerEnd = index;\n const innerSize = innerEnd - this.start;\n\n if (innerSize < 0) {\n innerEnd = this.start;\n } else {\n innerEnd += pairOverlap;\n }\n\n return innerEnd;\n },\n };\n\n return {\n start: startIndex,\n end: index + closing.length,\n pair,\n inner: text.substring(inner.start, inner.end),\n outer: text.substring(startIndex, index + closing.length),\n };\n }\n }\n if (!options.allowOverlap) {\n index += closing.length - 1;\n }\n }\n }\n\n return null;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/internals/helpers/string.ts"],"names":["splitString","text","options","recursiveSplitString","trim","separators","mergeStrings","chunks","sep","tmpChunks","tmpOverlap","toDoc","parts","join","chunk","length","size","doc","overlap","tmp","shift","push","Error","goodSplits","separator","remainingSeparators","unique","split","filter","Boolean","Comparator","EQ","GT","GTE","LT","LTE","compareVersion","a","comparator","b","diff","replace","localeCompare","undefined","numeric","sensitivity","diffNormalized","Math","min","max","R","isIncludedIn","isJsonLikeString","value","startsWith","endsWith","halveString","seq","includeSeq","index","indexOf","slice","countSharedStartEndLetters","isString","ValueError","minLength","i","at","findFirstPair","pair","opening","closing","balance","startIndex","pairOverlap","allowOverlap","isSame","substring","inner","start","end","innerEnd","innerSize","outer"],"mappings":";;;;;;AAUO,UAAUA,WAAAA,CACfC,MACAC,OAAAA,EAA0D;AAE1D,EAAA,OAAOC,qBAAqBF,IAAAA,EAAM;IAAE,GAAGC,OAAAA;AAASE,IAAAA,IAAAA,EAAMF,SAASE,IAAAA,IAAQ,KAAA;AAAOC,IAAAA,UAAAA,EAAY;GAAG,CAAA;AAC/F;AALiBL,MAAAA,CAAAA,WAAAA,EAAAA,aAAAA,CAAAA;AAOV,UAAUM,YAAAA,CACfC,MAAAA,EACAC,GAAAA,EACAN,OAAAA,EAA0D;AAE1D,EAAA,MAAMO,YAAsB,EAAA;AAC5B,EAAA,IAAIC,UAAAA,GAAa,CAAA;AAEjB,EAAA,MAAMC,KAAAA,2BAASC,KAAAA,KAAAA;AACb,IAAA,MAAMX,IAAAA,GAAOW,KAAAA,CAAMC,IAAAA,CAAKL,GAAAA,CAAAA;AACxB,IAAA,OAAON,OAAAA,CAAQE,IAAAA,GAAOH,IAAAA,CAAKG,IAAAA,EAAI,GAAKH,IAAAA;EACtC,CAAA,EAHc,OAAA,CAAA;AAKd,EAAA,KAAA,MAAWa,SAASP,MAAAA,EAAQ;AAC1B,IAAA,IAAIG,UAAAA,GAAaI,MAAMC,MAAAA,GAASN,SAAAA,CAAUM,SAASP,GAAAA,CAAIO,MAAAA,GAASb,QAAQc,IAAAA,EAAM;AAC5E,MAAA,IAAIP,SAAAA,CAAUM,SAAS,CAAA,EAAG;AACxB,QAAA,MAAME,IAAAA,GAAMN,MAAMF,SAAAA,CAAAA;AAClB,QAAA,IAAIQ,IAAAA,EAAK;AACP,UAAA,MAAMA,IAAAA;AACR,QAAA;AAEA,QAAA,OACEP,UAAAA,GAAaR,OAAAA,CAAQgB,OAAAA,IACpBR,UAAAA,GAAaI,KAAAA,CAAMC,MAAAA,GAASN,SAAAA,CAAUM,MAAAA,GAASP,GAAAA,CAAIO,MAAAA,GAASb,OAAAA,CAAQc,IAAAA,IACnEN,aAAa,CAAA,EACf;AACA,UAAA,MAAMS,GAAAA,GAAMV,UAAUW,KAAAA,EAAK;AAC3BV,UAAAA,UAAAA,IAAcS,GAAAA,CAAIJ,MAAAA;AACpB,QAAA;AACF,MAAA;AACF,IAAA;AACAN,IAAAA,SAAAA,CAAUY,KAAKP,KAAAA,CAAAA;AACfJ,IAAAA,UAAAA,IAAcI,KAAAA,CAAMC,MAAAA;AACtB,EAAA;AAEA,EAAA,MAAME,GAAAA,GAAMN,MAAMF,SAAAA,CAAAA;AAClB,EAAA,IAAIQ,GAAAA,EAAK;AACP,IAAA,MAAMA,GAAAA;AACR,EAAA;AACF;AAvCiBX,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA;AAyCV,UAAUH,oBAAAA,CACfF,MACAC,OAAAA,EAAgF;AAEhF,EAAA,IAAIA,OAAAA,CAAQc,IAAAA,IAAQ,CAAA,IAAKd,OAAAA,CAAQgB,UAAU,CAAA,EAAG;AAC5C,IAAA,MAAM,IAAII,MAAM,wDAAA,CAAA;AAClB,EAAA;AACA,EAAA,IAAIpB,OAAAA,CAAQgB,OAAAA,IAAWhB,OAAAA,CAAQc,IAAAA,EAAM;AACnC,IAAA,MAAM,IAAIM,MAAM,gCAAA,CAAA;AAClB,EAAA;AAEA,EAAA,MAAMC,aAAuB,EAAA;AAC7B,EAAA,MAAM,CAACC,SAAAA,EAAW,GAAGC,mBAAAA,IAAuBC,MAAAA,CAAO;AAAKxB,IAAAA,GAAAA,OAAAA,CAAQG,cAAc,EAAA;AAAK,IAAA;AAAG,GAAA,CAAA;AAEtF,EAAA,KAAA,MAAWS,SAASb,IAAAA,CAAK0B,KAAAA,CAAMH,SAAAA,CAAAA,CAAWI,MAAAA,CAAOC,OAAAA,CAAAA,EAAU;AACzD,IAAA,IAAIf,KAAAA,CAAMC,MAAAA,GAASb,OAAAA,CAAQc,IAAAA,EAAM;AAC/BO,MAAAA,UAAAA,CAAWF,KAAKP,KAAAA,CAAAA;AAChB,MAAA;AACF,IAAA;AAEA,IAAA,IAAIS,UAAAA,CAAWR,SAAS,CAAA,EAAG;AACzB,MAAA,OAAOT,YAAAA,CAAaiB,UAAAA,EAAYC,SAAAA,EAAWtB,OAAAA,CAAAA;AAC3CqB,MAAAA,UAAAA,CAAWR,MAAAA,GAAS,CAAA;AACtB,IAAA;AAEA,IAAA,IAAIU,mBAAAA,CAAoBV,WAAW,CAAA,EAAG;AACpC,MAAA,MAAMD,KAAAA;IACR,CAAA,MAAO;AACL,MAAA,OAAOX,qBAAqBW,KAAAA,EAAO;QAAE,GAAGZ,OAAAA;QAASG,UAAAA,EAAYoB;OAAoB,CAAA;AACnF,IAAA;AACF,EAAA;AAEA,EAAA,IAAIF,UAAAA,CAAWR,SAAS,CAAA,EAAG;AACzB,IAAA,OAAOT,YAAAA,CAAaiB,UAAAA,EAAYC,SAAAA,EAAWtB,OAAAA,CAAAA;AAC7C,EAAA;AACF;AAnCiBC,MAAAA,CAAAA,oBAAAA,EAAAA,sBAAAA,CAAAA;AAqCV,MAAM2B,UAAAA,GAAa;EACxBC,EAAAA,EAAI;AAAC,IAAA;;EACLC,EAAAA,EAAI;AAAC,IAAA;;EACLC,GAAAA,EAAK;AAAC,IAAA,CAAA;AAAG,IAAA;;EACTC,EAAAA,EAAI;AAAC,IAAA;;EACLC,GAAAA,EAAK;AAAC,IAAA,EAAA;AAAI,IAAA;;AACZ;AAEO,SAASC,cAAAA,CACdC,CAAAA,EACAC,UAAAA,EACAC,CAAAA,EAAS;AAET,EAAA,MAAMC,OAAOH,CAAAA,CAAEI,OAAAA,CAAQ,GAAA,EAAK,EAAA,EAAIrC,IAAAA,EAAI,CAAGsC,aAAAA,CAAcH,CAAAA,CAAEE,QAAQ,GAAA,EAAK,EAAA,CAAA,CAAIrC,IAAAA,IAAQuC,MAAAA,EAAW;IACzFC,OAAAA,EAAS,IAAA;IACTC,WAAAA,EAAa;GACf,CAAA;AACA,EAAA,MAAMC,cAAAA,GAAiBC,KAAKC,GAAAA,CAAI,CAAA,EAAGD,KAAKE,GAAAA,CAAI,EAAA,EAAIT,IAAAA,CAAAA,CAAAA;AAChD,EAAA,OAAOU,CAAAA,CAAEC,YAAAA,CAAaL,cAAAA,EAAgBR,UAAAA,CAAAA;AACxC;AAXgBF,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA;AAaT,SAASgB,iBAAiBC,KAAAA,EAAyB;AACxD,EAAA,IAAI,CAACA,KAAAA,EAAO;AACV,IAAA,OAAO,KAAA;AACT,EAAA;AACA,EAAA,OAAOA,MAAMC,UAAAA,CAAW,GAAA,CAAA,IAAQD,KAAAA,CAAME,SAAS,GAAA,CAAA;AACjD;AALgBH,MAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA;AAOT,SAASI,WAAAA,CACdH,KAAAA,EACAI,GAAAA,EACAC,UAAAA,GAAa,KAAA,EAAK;AAElB,EAAA,IAAID,QAAQ,EAAA,EAAI;AACd,IAAA,OAAO;AAACJ,MAAAA;;AACV,EAAA;AAEA,EAAA,MAAMM,KAAAA,GAAQN,KAAAA,CAAMO,OAAAA,CAAQH,GAAAA,CAAAA;AAC5B,EAAA,IAAIE,UAAU,EAAA,EAAI;AAChB,IAAA,OAAO;AAACN,MAAAA;;EACV,CAAA,MAAO;AACL,IAAA,OAAO;MAACA,KAAAA,CAAMQ,KAAAA,CAAM,GAAGF,KAAAA,CAAAA;AAAQN,MAAAA,KAAAA,CAAMQ,KAAAA,CAAMF,KAAAA,IAASD,UAAAA,GAAa,CAAA,GAAID,IAAI1C,MAAAA,CAAK;;AAChF,EAAA;AACF;AAfgByC,MAAAA,CAAAA,WAAAA,EAAAA,aAAAA,CAAAA;AAiBT,SAASM,0BAAAA,CAA2BzB,GAAWE,CAAAA,EAAS;AAC7D,EAAA,IAAI,CAACwB,QAAAA,CAAS1B,CAAAA,KAAM,CAAC0B,QAAAA,CAASxB,CAAAA,CAAAA,EAAI;AAChC,IAAA,MAAM,IAAIyB,WAAW,sCAAA,CAAA;AACvB,EAAA;AAEA,EAAA,MAAMC,YAAYlB,IAAAA,CAAKC,GAAAA,CAAIX,CAAAA,CAAEtB,MAAAA,EAAQwB,EAAExB,MAAM,CAAA;AAC7C,EAAA,KAAA,IAASmD,CAAAA,GAAI,CAAA,EAAGA,CAAAA,GAAID,SAAAA,EAAWC,CAAAA,EAAAA,EAAK;AAClC,IAAA,IAAI7B,CAAAA,CAAE8B,IAAID,CAAAA,GAAI,CAAA,IAAK,EAAC,CAAA,KAAO3B,CAAAA,CAAE4B,EAAAA,CAAGD,CAAAA,CAAAA,EAAI;AAClC,MAAA,OAAOA,CAAAA;AACT,IAAA;AACF,EAAA;AACA,EAAA,OAAOD,SAAAA;AACT;AAZgBH,MAAAA,CAAAA,0BAAAA,EAAAA,4BAAAA,CAAAA;AAcT,SAASM,aAAAA,CACdnE,IAAAA,EACAoE,IAAAA,EACAnE,OAAAA,GAAsC,EAAC,EAAC;AAExC,EAAA,MAAM,CAACoE,OAAAA,EAASC,OAAAA,CAAAA,GAAWF,QAAQ,EAAA;AACnC,EAAA,IAAI,CAACA,IAAAA,IAAQ,CAACC,OAAAA,IAAW,CAACC,OAAAA,EAAS;AACjC,IAAA,MAAM,IAAIP,WAAW,CAAA,uDAAA,CAAyD,CAAA;AAChF,EAAA;AAEA,EAAA,IAAIQ,OAAAA,GAAU,CAAA;AACd,EAAA,IAAIC,UAAAA,GAAa,EAAA;AACjB,EAAA,MAAMC,cAAcxE,OAAAA,CAAQyE,YAAAA,GAAeb,0BAAAA,CAA2BQ,OAAAA,EAASC,OAAAA,CAAAA,GAAW,CAAA;AAE1F,EAAA,MAAMK,SAASN,OAAAA,KAAYC,OAAAA;AAC3B,EAAA,KAAA,IAASZ,KAAAA,GAAQ,CAAA,EAAGA,KAAAA,GAAQ1D,IAAAA,CAAKc,QAAQ4C,KAAAA,EAAAA,EAAS;AAChD,IAAA,IAAI1D,IAAAA,CAAK4E,SAAAA,CAAUlB,KAAAA,EAAOA,KAAAA,GAAQW,OAAAA,CAAQvD,MAAM,CAAA,KAAMuD,OAAAA,KAAY,CAACM,MAAAA,IAAUJ,OAAAA,KAAY,CAAA,CAAA,EAAI;AAC3F,MAAA,IAAIA,YAAY,CAAA,EAAG;AACjBC,QAAAA,UAAAA,GAAad,KAAAA;AACf,MAAA;AACAa,MAAAA,OAAAA,EAAAA;AACA,MAAA,IAAI,CAACtE,QAAQyE,YAAAA,EAAc;AACzBhB,QAAAA,KAAAA,IAASW,QAAQvD,MAAAA,GAAS,CAAA;AAC5B,MAAA;AACF,IAAA,CAAA,MAAA,IAAWd,KAAK4E,SAAAA,CAAUlB,KAAAA,EAAOA,QAAQY,OAAAA,CAAQxD,MAAM,MAAMwD,OAAAA,EAAS;AACpE,MAAA,IAAIC,UAAU,CAAA,EAAG;AACfA,QAAAA,OAAAA,EAAAA;AACA,QAAA,IAAIA,YAAY,CAAA,EAAG;AACjB,UAAA,MAAMM,KAAAA,GAAQ;AACZC,YAAAA,KAAAA,EAAON,aAAaH,OAAAA,CAAQvD,MAAAA;AAC5B,YAAA,IAAIiE,GAAAA,GAAM;AACR,cAAA,IAAIC,QAAAA,GAAWtB,KAAAA;AACf,cAAA,MAAMuB,SAAAA,GAAYD,WAAW,IAAA,CAAKF,KAAAA;AAElC,cAAA,IAAIG,YAAY,CAAA,EAAG;AACjBD,gBAAAA,QAAAA,GAAW,IAAA,CAAKF,KAAAA;cAClB,CAAA,MAAO;AACLE,gBAAAA,QAAAA,IAAYP,WAAAA;AACd,cAAA;AAEA,cAAA,OAAOO,QAAAA;AACT,YAAA;AACF,WAAA;AAEA,UAAA,OAAO;YACLF,KAAAA,EAAON,UAAAA;AACPO,YAAAA,GAAAA,EAAKrB,QAAQY,OAAAA,CAAQxD,MAAAA;AACrBsD,YAAAA,IAAAA;AACAS,YAAAA,KAAAA,EAAO7E,IAAAA,CAAK4E,SAAAA,CAAUC,KAAAA,CAAMC,KAAAA,EAAOD,MAAME,GAAG,CAAA;AAC5CG,YAAAA,KAAAA,EAAOlF,IAAAA,CAAK4E,SAAAA,CAAUJ,UAAAA,EAAYd,KAAAA,GAAQY,QAAQxD,MAAM;AAC1D,WAAA;AACF,QAAA;AACF,MAAA;AACA,MAAA,IAAI,CAACb,QAAQyE,YAAAA,EAAc;AACzBhB,QAAAA,KAAAA,IAASY,QAAQxD,MAAAA,GAAS,CAAA;AAC5B,MAAA;AACF,IAAA;AACF,EAAA;AAEA,EAAA,OAAO,IAAA;AACT;AA5DgBqD,MAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA","file":"string.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ValueOf } from \"@/internals/types.js\";\nimport * as R from \"remeda\";\nimport { ValueError } from \"@/errors.js\";\nimport { isString, unique } from \"remeda\";\n\nexport function* splitString(\n text: string,\n options: { size: number; overlap: number; trim?: boolean },\n) {\n yield* recursiveSplitString(text, { ...options, trim: options?.trim ?? false, separators: [] });\n}\n\nexport function* mergeStrings(\n chunks: string[],\n sep: string,\n options: { size: number; overlap: number; trim?: boolean },\n) {\n const tmpChunks: string[] = [];\n let tmpOverlap = 0;\n\n const toDoc = (parts: string[]) => {\n const text = parts.join(sep);\n return options.trim ? text.trim() : text;\n };\n\n for (const chunk of chunks) {\n if (tmpOverlap + chunk.length + tmpChunks.length * sep.length > options.size) {\n if (tmpChunks.length > 0) {\n const doc = toDoc(tmpChunks);\n if (doc) {\n yield doc;\n }\n\n while (\n tmpOverlap > options.overlap ||\n (tmpOverlap + chunk.length + tmpChunks.length * sep.length > options.size &&\n tmpOverlap > 0)\n ) {\n const tmp = tmpChunks.shift()!;\n tmpOverlap -= tmp.length;\n }\n }\n }\n tmpChunks.push(chunk);\n tmpOverlap += chunk.length;\n }\n\n const doc = toDoc(tmpChunks);\n if (doc) {\n yield doc;\n }\n}\n\nexport function* recursiveSplitString(\n text: string,\n options: { size: number; overlap: number; separators: string[]; trim?: boolean },\n): Generator<string> {\n if (options.size <= 0 || options.overlap < 0) {\n throw new Error(\"size must be positive and overlap must be non-negative\");\n }\n if (options.overlap >= options.size) {\n throw new Error(\"overlap must be less than size\");\n }\n\n const goodSplits: string[] = [];\n const [separator, ...remainingSeparators] = unique([...(options.separators ?? []), \"\"]);\n\n for (const chunk of text.split(separator).filter(Boolean)) {\n if (chunk.length < options.size) {\n goodSplits.push(chunk);\n continue;\n }\n\n if (goodSplits.length > 0) {\n yield* mergeStrings(goodSplits, separator, options);\n goodSplits.length = 0;\n }\n\n if (remainingSeparators.length === 0) {\n yield chunk;\n } else {\n yield* recursiveSplitString(chunk, { ...options, separators: remainingSeparators });\n }\n }\n\n if (goodSplits.length > 0) {\n yield* mergeStrings(goodSplits, separator, options);\n }\n}\n\nexport const Comparator = {\n EQ: [0] as const,\n GT: [1] as const,\n GTE: [0, 1] as const,\n LT: [-1] as const,\n LTE: [-1, 0] as const,\n} as const;\n\nexport function compareVersion(\n a: string,\n comparator: ValueOf<typeof Comparator>,\n b: string,\n): boolean {\n const diff = a.replace(\"v\", \"\").trim().localeCompare(b.replace(\"v\", \"\").trim(), undefined, {\n numeric: true,\n sensitivity: \"base\",\n });\n const diffNormalized = Math.min(1, Math.max(-1, diff));\n return R.isIncludedIn(diffNormalized, comparator);\n}\n\nexport function isJsonLikeString(value: string | undefined): value is string {\n if (!value) {\n return false;\n }\n return value.startsWith(\"{\") && value.endsWith(\"}\");\n}\n\nexport function halveString(\n value: string,\n seq: string,\n includeSeq = false,\n): [string] | [string, string] {\n if (seq === \"\") {\n return [value];\n }\n\n const index = value.indexOf(seq);\n if (index === -1) {\n return [value];\n } else {\n return [value.slice(0, index), value.slice(index + (includeSeq ? 0 : seq.length))];\n }\n}\n\nexport function countSharedStartEndLetters(a: string, b: string): number {\n if (!isString(a) || !isString(b)) {\n throw new ValueError(\"Provided values must be all strings.\");\n }\n\n const minLength = Math.min(a.length, b.length);\n for (let i = 0; i < minLength; i++) {\n if (a.at((i + 1) * -1) !== b.at(i)) {\n return i;\n }\n }\n return minLength;\n}\n\nexport function findFirstPair(\n text: string,\n pair: [string, string],\n options: { allowOverlap?: boolean } = {},\n) {\n const [opening, closing] = pair || [];\n if (!pair || !opening || !closing) {\n throw new ValueError(`The \"pair\" parameter is required and must be non-empty!`);\n }\n\n let balance = 0;\n let startIndex = -1;\n const pairOverlap = options.allowOverlap ? countSharedStartEndLetters(opening, closing) : 0;\n\n const isSame = opening === closing;\n for (let index = 0; index < text.length; index++) {\n if (text.substring(index, index + opening.length) === opening && (!isSame || balance === 0)) {\n if (balance === 0) {\n startIndex = index;\n }\n balance++;\n if (!options.allowOverlap) {\n index += opening.length - 1;\n }\n } else if (text.substring(index, index + closing.length) === closing) {\n if (balance > 0) {\n balance--;\n if (balance === 0) {\n const inner = {\n start: startIndex + opening.length,\n get end() {\n let innerEnd = index;\n const innerSize = innerEnd - this.start;\n\n if (innerSize < 0) {\n innerEnd = this.start;\n } else {\n innerEnd += pairOverlap;\n }\n\n return innerEnd;\n },\n };\n\n return {\n start: startIndex,\n end: index + closing.length,\n pair,\n inner: text.substring(inner.start, inner.end),\n outer: text.substring(startIndex, index + closing.length),\n };\n }\n }\n if (!options.allowOverlap) {\n index += closing.length - 1;\n }\n }\n }\n\n return null;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/internals/helpers/weakRef.ts"],"names":["isWeakKey","value","SafeWeakSet","WeakSet","has","add","delete","SafeWeakMap","WeakMap","get","key","set"],"mappings":";;;;AAKO,SAASA,UAAUC,KAAAA,EAAc;AACtC,EAAA,OAAOA,KAAAA,IAAS,IAAA,IAAQ,OAAOA,KAAAA,KAAU,QAAA;AAC3C;AAFgBD,MAAAA,CAAAA,SAAAA,EAAAA,WAAAA,CAAAA;AAIT,MAAME,oBAAoBC,OAAAA,CAAAA;EATjC;;;AAUEC,EAAAA,GAAAA,CAAIH,KAAAA,EAAgB;AAClB,IAAA,IAAID,SAAAA,CAAUC,KAAAA,CAAAA,EAAQ;AACpB,MAAA,OAAO,KAAA,CAAMG,IAAIH,KAAAA,CAAAA;AACnB;AACA,IAAA,OAAO,KAAA;AACT;AAEAI,EAAAA,GAAAA,CAAIJ,KAAAA,EAAgB;AAClB,IAAA,IAAID,SAAAA,CAAUC,KAAAA,CAAAA,EAAQ;AACpB,MAAA,KAAA,CAAMI,IAAIJ,KAAAA,CAAAA;AACZ;AACA,IAAA,OAAO,IAAA;AACT;AAEAK,EAAAA,MAAAA,CAAOL,KAAAA,EAAgB;AACrB,IAAA,IAAID,SAAAA,CAAUC,KAAAA,CAAAA,EAAQ;AACpB,MAAA,OAAO,KAAA,CAAMK,OAAOL,KAAAA,CAAAA;AACtB;AACA,IAAA,OAAO,KAAA;AACT;AACF;AAEO,MAAMM,oBAAuBC,OAAAA,CAAAA;EAhCpC;;;AAiCEJ,EAAAA,GAAAA,CAAIH,KAAAA,EAAgB;AAClB,IAAA,IAAID,SAAAA,CAAUC,KAAAA,CAAAA,EAAQ;AACpB,MAAA,OAAO,KAAA,CAAMG,IAAIH,KAAAA,CAAAA;AACnB;AACA,IAAA,OAAO,KAAA;AACT;AAEAQ,EAAAA,GAAAA,CAAIC,GAAAA,EAAc;AAChB,IAAA,IAAIV,SAAAA,CAAUU,GAAAA,CAAAA,EAAM;AAClB,MAAA,OAAO,KAAA,CAAMD,IAAIC,GAAAA,CAAAA;AACnB;AACF;AAEAC,EAAAA,GAAAA,CAAID,KAAcT,KAAAA,EAAU;AAC1B,IAAA,IAAID,SAAAA,CAAUU,GAAAA,CAAAA,EAAM;AAClB,MAAA,KAAA,CAAMC,GAAAA,CAAID,KAAKT,KAAAA,CAAAA;AACjB;AACA,IAAA,OAAO,IAAA;AACT;AAEAK,EAAAA,MAAAA,CAAOL,KAAAA,EAAgB;AACrB,IAAA,IAAID,SAAAA,CAAUC,KAAAA,CAAAA,EAAQ;AACpB,MAAA,OAAO,KAAA,CAAMK,OAAOL,KAAAA,CAAAA;AACtB;AACA,IAAA,OAAO,KAAA;AACT;AACF","file":"weakRef.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport function isWeakKey(value: unknown): value is WeakKey {\n return value != null && typeof value === \"object\";\n}\n\nexport class SafeWeakSet extends WeakSet {\n has(value: unknown) {\n if (isWeakKey(value)) {\n return super.has(value);\n }\n return false;\n }\n\n add(value: unknown) {\n if (isWeakKey(value)) {\n super.add(value);\n }\n return this;\n }\n\n delete(value: unknown) {\n if (isWeakKey(value)) {\n return super.delete(value);\n }\n return false;\n }\n}\n\nexport class SafeWeakMap<T> extends WeakMap<WeakKey, T> {\n has(value: unknown) {\n if (isWeakKey(value)) {\n return super.has(value);\n }\n return false;\n }\n\n get(key: unknown) {\n if (isWeakKey(key)) {\n return super.get(key);\n }\n }\n\n set(key: unknown, value: T) {\n if (isWeakKey(key)) {\n super.set(key, value);\n }\n return this;\n }\n\n delete(value: unknown) {\n if (isWeakKey(value)) {\n return super.delete(value);\n }\n return false;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/internals/helpers/weakRef.ts"],"names":["isWeakKey","value","SafeWeakSet","WeakSet","has","add","delete","SafeWeakMap","WeakMap","get","key","set"],"mappings":";;;;AAKO,SAASA,UAAUC,KAAAA,EAAc;AACtC,EAAA,OAAOA,KAAAA,IAAS,IAAA,IAAQ,OAAOA,KAAAA,KAAU,QAAA;AAC3C;AAFgBD,MAAAA,CAAAA,SAAAA,EAAAA,WAAAA,CAAAA;AAIT,MAAME,oBAAoBC,OAAAA,CAAAA;EATjC;;;AAUEC,EAAAA,GAAAA,CAAIH,KAAAA,EAAgB;AAClB,IAAA,IAAID,SAAAA,CAAUC,KAAAA,CAAAA,EAAQ;AACpB,MAAA,OAAO,KAAA,CAAMG,IAAIH,KAAAA,CAAAA;AACnB,IAAA;AACA,IAAA,OAAO,KAAA;AACT,EAAA;AAEAI,EAAAA,GAAAA,CAAIJ,KAAAA,EAAgB;AAClB,IAAA,IAAID,SAAAA,CAAUC,KAAAA,CAAAA,EAAQ;AACpB,MAAA,KAAA,CAAMI,IAAIJ,KAAAA,CAAAA;AACZ,IAAA;AACA,IAAA,OAAO,IAAA;AACT,EAAA;AAEAK,EAAAA,MAAAA,CAAOL,KAAAA,EAAgB;AACrB,IAAA,IAAID,SAAAA,CAAUC,KAAAA,CAAAA,EAAQ;AACpB,MAAA,OAAO,KAAA,CAAMK,OAAOL,KAAAA,CAAAA;AACtB,IAAA;AACA,IAAA,OAAO,KAAA;AACT,EAAA;AACF;AAEO,MAAMM,oBAAuBC,OAAAA,CAAAA;EAhCpC;;;AAiCEJ,EAAAA,GAAAA,CAAIH,KAAAA,EAAgB;AAClB,IAAA,IAAID,SAAAA,CAAUC,KAAAA,CAAAA,EAAQ;AACpB,MAAA,OAAO,KAAA,CAAMG,IAAIH,KAAAA,CAAAA;AACnB,IAAA;AACA,IAAA,OAAO,KAAA;AACT,EAAA;AAEAQ,EAAAA,GAAAA,CAAIC,GAAAA,EAAc;AAChB,IAAA,IAAIV,SAAAA,CAAUU,GAAAA,CAAAA,EAAM;AAClB,MAAA,OAAO,KAAA,CAAMD,IAAIC,GAAAA,CAAAA;AACnB,IAAA;AACF,EAAA;AAEAC,EAAAA,GAAAA,CAAID,KAAcT,KAAAA,EAAU;AAC1B,IAAA,IAAID,SAAAA,CAAUU,GAAAA,CAAAA,EAAM;AAClB,MAAA,KAAA,CAAMC,GAAAA,CAAID,KAAKT,KAAAA,CAAAA;AACjB,IAAA;AACA,IAAA,OAAO,IAAA;AACT,EAAA;AAEAK,EAAAA,MAAAA,CAAOL,KAAAA,EAAgB;AACrB,IAAA,IAAID,SAAAA,CAAUC,KAAAA,CAAAA,EAAQ;AACpB,MAAA,OAAO,KAAA,CAAMK,OAAOL,KAAAA,CAAAA;AACtB,IAAA;AACA,IAAA,OAAO,KAAA;AACT,EAAA;AACF","file":"weakRef.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport function isWeakKey(value: unknown): value is WeakKey {\n return value != null && typeof value === \"object\";\n}\n\nexport class SafeWeakSet extends WeakSet {\n has(value: unknown) {\n if (isWeakKey(value)) {\n return super.has(value);\n }\n return false;\n }\n\n add(value: unknown) {\n if (isWeakKey(value)) {\n super.add(value);\n }\n return this;\n }\n\n delete(value: unknown) {\n if (isWeakKey(value)) {\n return super.delete(value);\n }\n return false;\n }\n}\n\nexport class SafeWeakMap<T> extends WeakMap<WeakKey, T> {\n has(value: unknown) {\n if (isWeakKey(value)) {\n return super.has(value);\n }\n return false;\n }\n\n get(key: unknown) {\n if (isWeakKey(key)) {\n return super.get(key);\n }\n }\n\n set(key: unknown, value: T) {\n if (isWeakKey(key)) {\n super.set(key, value);\n }\n return this;\n }\n\n delete(value: unknown) {\n if (isWeakKey(value)) {\n return super.delete(value);\n }\n return false;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/internals/helpers/weakRef.ts"],"names":["isWeakKey","value","SafeWeakSet","WeakSet","has","add","delete","SafeWeakMap","WeakMap","get","key","set"],"mappings":";;AAKO,SAASA,UAAUC,KAAAA,EAAc;AACtC,EAAA,OAAOA,KAAAA,IAAS,IAAA,IAAQ,OAAOA,KAAAA,KAAU,QAAA;AAC3C;AAFgBD,MAAAA,CAAAA,SAAAA,EAAAA,WAAAA,CAAAA;AAIT,MAAME,oBAAoBC,OAAAA,CAAAA;EATjC;;;AAUEC,EAAAA,GAAAA,CAAIH,KAAAA,EAAgB;AAClB,IAAA,IAAID,SAAAA,CAAUC,KAAAA,CAAAA,EAAQ;AACpB,MAAA,OAAO,KAAA,CAAMG,IAAIH,KAAAA,CAAAA;AACnB;AACA,IAAA,OAAO,KAAA;AACT;AAEAI,EAAAA,GAAAA,CAAIJ,KAAAA,EAAgB;AAClB,IAAA,IAAID,SAAAA,CAAUC,KAAAA,CAAAA,EAAQ;AACpB,MAAA,KAAA,CAAMI,IAAIJ,KAAAA,CAAAA;AACZ;AACA,IAAA,OAAO,IAAA;AACT;AAEAK,EAAAA,MAAAA,CAAOL,KAAAA,EAAgB;AACrB,IAAA,IAAID,SAAAA,CAAUC,KAAAA,CAAAA,EAAQ;AACpB,MAAA,OAAO,KAAA,CAAMK,OAAOL,KAAAA,CAAAA;AACtB;AACA,IAAA,OAAO,KAAA;AACT;AACF;AAEO,MAAMM,oBAAuBC,OAAAA,CAAAA;EAhCpC;;;AAiCEJ,EAAAA,GAAAA,CAAIH,KAAAA,EAAgB;AAClB,IAAA,IAAID,SAAAA,CAAUC,KAAAA,CAAAA,EAAQ;AACpB,MAAA,OAAO,KAAA,CAAMG,IAAIH,KAAAA,CAAAA;AACnB;AACA,IAAA,OAAO,KAAA;AACT;AAEAQ,EAAAA,GAAAA,CAAIC,GAAAA,EAAc;AAChB,IAAA,IAAIV,SAAAA,CAAUU,GAAAA,CAAAA,EAAM;AAClB,MAAA,OAAO,KAAA,CAAMD,IAAIC,GAAAA,CAAAA;AACnB;AACF;AAEAC,EAAAA,GAAAA,CAAID,KAAcT,KAAAA,EAAU;AAC1B,IAAA,IAAID,SAAAA,CAAUU,GAAAA,CAAAA,EAAM;AAClB,MAAA,KAAA,CAAMC,GAAAA,CAAID,KAAKT,KAAAA,CAAAA;AACjB;AACA,IAAA,OAAO,IAAA;AACT;AAEAK,EAAAA,MAAAA,CAAOL,KAAAA,EAAgB;AACrB,IAAA,IAAID,SAAAA,CAAUC,KAAAA,CAAAA,EAAQ;AACpB,MAAA,OAAO,KAAA,CAAMK,OAAOL,KAAAA,CAAAA;AACtB;AACA,IAAA,OAAO,KAAA;AACT;AACF","file":"weakRef.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport function isWeakKey(value: unknown): value is WeakKey {\n return value != null && typeof value === \"object\";\n}\n\nexport class SafeWeakSet extends WeakSet {\n has(value: unknown) {\n if (isWeakKey(value)) {\n return super.has(value);\n }\n return false;\n }\n\n add(value: unknown) {\n if (isWeakKey(value)) {\n super.add(value);\n }\n return this;\n }\n\n delete(value: unknown) {\n if (isWeakKey(value)) {\n return super.delete(value);\n }\n return false;\n }\n}\n\nexport class SafeWeakMap<T> extends WeakMap<WeakKey, T> {\n has(value: unknown) {\n if (isWeakKey(value)) {\n return super.has(value);\n }\n return false;\n }\n\n get(key: unknown) {\n if (isWeakKey(key)) {\n return super.get(key);\n }\n }\n\n set(key: unknown, value: T) {\n if (isWeakKey(key)) {\n super.set(key, value);\n }\n return this;\n }\n\n delete(value: unknown) {\n if (isWeakKey(value)) {\n return super.delete(value);\n }\n return false;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/internals/helpers/weakRef.ts"],"names":["isWeakKey","value","SafeWeakSet","WeakSet","has","add","delete","SafeWeakMap","WeakMap","get","key","set"],"mappings":";;AAKO,SAASA,UAAUC,KAAAA,EAAc;AACtC,EAAA,OAAOA,KAAAA,IAAS,IAAA,IAAQ,OAAOA,KAAAA,KAAU,QAAA;AAC3C;AAFgBD,MAAAA,CAAAA,SAAAA,EAAAA,WAAAA,CAAAA;AAIT,MAAME,oBAAoBC,OAAAA,CAAAA;EATjC;;;AAUEC,EAAAA,GAAAA,CAAIH,KAAAA,EAAgB;AAClB,IAAA,IAAID,SAAAA,CAAUC,KAAAA,CAAAA,EAAQ;AACpB,MAAA,OAAO,KAAA,CAAMG,IAAIH,KAAAA,CAAAA;AACnB,IAAA;AACA,IAAA,OAAO,KAAA;AACT,EAAA;AAEAI,EAAAA,GAAAA,CAAIJ,KAAAA,EAAgB;AAClB,IAAA,IAAID,SAAAA,CAAUC,KAAAA,CAAAA,EAAQ;AACpB,MAAA,KAAA,CAAMI,IAAIJ,KAAAA,CAAAA;AACZ,IAAA;AACA,IAAA,OAAO,IAAA;AACT,EAAA;AAEAK,EAAAA,MAAAA,CAAOL,KAAAA,EAAgB;AACrB,IAAA,IAAID,SAAAA,CAAUC,KAAAA,CAAAA,EAAQ;AACpB,MAAA,OAAO,KAAA,CAAMK,OAAOL,KAAAA,CAAAA;AACtB,IAAA;AACA,IAAA,OAAO,KAAA;AACT,EAAA;AACF;AAEO,MAAMM,oBAAuBC,OAAAA,CAAAA;EAhCpC;;;AAiCEJ,EAAAA,GAAAA,CAAIH,KAAAA,EAAgB;AAClB,IAAA,IAAID,SAAAA,CAAUC,KAAAA,CAAAA,EAAQ;AACpB,MAAA,OAAO,KAAA,CAAMG,IAAIH,KAAAA,CAAAA;AACnB,IAAA;AACA,IAAA,OAAO,KAAA;AACT,EAAA;AAEAQ,EAAAA,GAAAA,CAAIC,GAAAA,EAAc;AAChB,IAAA,IAAIV,SAAAA,CAAUU,GAAAA,CAAAA,EAAM;AAClB,MAAA,OAAO,KAAA,CAAMD,IAAIC,GAAAA,CAAAA;AACnB,IAAA;AACF,EAAA;AAEAC,EAAAA,GAAAA,CAAID,KAAcT,KAAAA,EAAU;AAC1B,IAAA,IAAID,SAAAA,CAAUU,GAAAA,CAAAA,EAAM;AAClB,MAAA,KAAA,CAAMC,GAAAA,CAAID,KAAKT,KAAAA,CAAAA;AACjB,IAAA;AACA,IAAA,OAAO,IAAA;AACT,EAAA;AAEAK,EAAAA,MAAAA,CAAOL,KAAAA,EAAgB;AACrB,IAAA,IAAID,SAAAA,CAAUC,KAAAA,CAAAA,EAAQ;AACpB,MAAA,OAAO,KAAA,CAAMK,OAAOL,KAAAA,CAAAA;AACtB,IAAA;AACA,IAAA,OAAO,KAAA;AACT,EAAA;AACF","file":"weakRef.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport function isWeakKey(value: unknown): value is WeakKey {\n return value != null && typeof value === \"object\";\n}\n\nexport class SafeWeakSet extends WeakSet {\n has(value: unknown) {\n if (isWeakKey(value)) {\n return super.has(value);\n }\n return false;\n }\n\n add(value: unknown) {\n if (isWeakKey(value)) {\n super.add(value);\n }\n return this;\n }\n\n delete(value: unknown) {\n if (isWeakKey(value)) {\n return super.delete(value);\n }\n return false;\n }\n}\n\nexport class SafeWeakMap<T> extends WeakMap<WeakKey, T> {\n has(value: unknown) {\n if (isWeakKey(value)) {\n return super.has(value);\n }\n return false;\n }\n\n get(key: unknown) {\n if (isWeakKey(key)) {\n return super.get(key);\n }\n }\n\n set(key: unknown, value: T) {\n if (isWeakKey(key)) {\n super.set(key, value);\n }\n return this;\n }\n\n delete(value: unknown) {\n if (isWeakKey(value)) {\n return super.delete(value);\n }\n return false;\n }\n}\n"]}
|
|
@@ -32,7 +32,9 @@ class Serializable {
|
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
34
|
async deserialize(value, options) {
|
|
35
|
-
const { __root } = await serializer_cjs.Serializer.deserializeWithMeta(value, options?.extraClasses
|
|
35
|
+
const { __root } = await serializer_cjs.Serializer.deserializeWithMeta(value, options?.extraClasses, false, {
|
|
36
|
+
allowFunctionDeserialization: options?.allowFunctionDeserialization
|
|
37
|
+
});
|
|
36
38
|
if (!__root.target) {
|
|
37
39
|
console.warn(`Serializable class must be serialized via "serialize" method and not via Serializer class. This may lead to incorrect deserialization.`);
|
|
38
40
|
return __root;
|