beeai-framework 0.1.21 → 0.1.23
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.d.cts +6 -10
- package/dist/adapters/a2a/agents/agent.d.ts +6 -10
- 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/serve/agent_executor.d.cts +3 -3
- package/dist/adapters/a2a/serve/agent_executor.d.ts +3 -3
- package/dist/adapters/a2a/serve/server.d.cts +2 -2
- package/dist/adapters/a2a/serve/server.d.ts +2 -2
- package/dist/adapters/acp/agents/agent.d.cts +6 -10
- package/dist/adapters/acp/agents/agent.d.ts +6 -10
- 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.d.cts +8 -6
- package/dist/adapters/agentstack/agents/agent.d.ts +8 -6
- 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.d.cts +2 -2
- package/dist/adapters/amazon-bedrock/backend/chat.d.ts +2 -2
- 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/anthropic/backend/chat.d.cts +2 -2
- package/dist/adapters/anthropic/backend/chat.d.ts +2 -2
- package/dist/adapters/anthropic/backend/embedding.d.cts +2 -2
- package/dist/adapters/anthropic/backend/embedding.d.ts +2 -2
- package/dist/adapters/azure-openai/backend/chat.d.cts +2 -2
- package/dist/adapters/azure-openai/backend/chat.d.ts +2 -2
- 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/dummy/backend/chat.d.cts +2 -2
- package/dist/adapters/dummy/backend/chat.d.ts +2 -2
- package/dist/adapters/dummy/backend/embedding.d.cts +2 -2
- package/dist/adapters/dummy/backend/embedding.d.ts +2 -2
- package/dist/adapters/google-vertex/backend/chat.d.cts +2 -2
- package/dist/adapters/google-vertex/backend/chat.d.ts +2 -2
- 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/groq/backend/chat.d.cts +2 -2
- package/dist/adapters/groq/backend/chat.d.ts +2 -2
- package/dist/adapters/groq/backend/embedding.d.cts +2 -2
- package/dist/adapters/groq/backend/embedding.d.ts +2 -2
- package/dist/adapters/langchain/backend/chat.d.cts +2 -2
- package/dist/adapters/langchain/backend/chat.d.ts +2 -2
- package/dist/adapters/langchain/backend/embedding.d.cts +2 -2
- package/dist/adapters/langchain/backend/embedding.d.ts +2 -2
- package/dist/adapters/langchain/tools.d.cts +1 -1
- package/dist/adapters/langchain/tools.d.ts +1 -1
- package/dist/adapters/ollama/backend/chat.cjs +1 -2
- package/dist/adapters/ollama/backend/chat.cjs.map +1 -1
- package/dist/adapters/ollama/backend/chat.d.cts +2 -3
- package/dist/adapters/ollama/backend/chat.d.ts +2 -3
- package/dist/adapters/ollama/backend/chat.js +1 -2
- package/dist/adapters/ollama/backend/chat.js.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/openai/backend/chat.d.cts +2 -2
- package/dist/adapters/openai/backend/chat.d.ts +2 -2
- package/dist/adapters/openai/backend/embedding.d.cts +2 -2
- package/dist/adapters/openai/backend/embedding.d.ts +2 -2
- package/dist/adapters/vercel/backend/chat.cjs +77 -17
- 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 +77 -17
- package/dist/adapters/vercel/backend/chat.js.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/utils.cjs +32 -0
- package/dist/adapters/vercel/backend/utils.cjs.map +1 -1
- package/dist/adapters/vercel/backend/utils.d.cts +6 -4
- package/dist/adapters/vercel/backend/utils.d.ts +6 -4
- package/dist/adapters/vercel/backend/utils.js +31 -1
- package/dist/adapters/vercel/backend/utils.js.map +1 -1
- package/dist/adapters/watsonx/backend/chat.cjs +7 -8
- package/dist/adapters/watsonx/backend/chat.cjs.map +1 -1
- package/dist/adapters/watsonx/backend/chat.d.cts +4 -4
- package/dist/adapters/watsonx/backend/chat.d.ts +4 -4
- package/dist/adapters/watsonx/backend/chat.js +7 -8
- package/dist/adapters/watsonx/backend/chat.js.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/xai/backend/chat.d.cts +2 -2
- package/dist/adapters/xai/backend/chat.d.ts +2 -2
- package/dist/{agent-DvvVGvLr.d.cts → agent-BVuc9Nfn.d.cts} +5 -4
- package/dist/{agent-CHebzsQB.d.ts → agent-Cuy8Q4gw.d.ts} +5 -4
- package/dist/agents/base.cjs +5 -2
- 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 +5 -2
- package/dist/agents/base.js.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/prompts.d.cts +1 -1
- package/dist/agents/experimental/replan/prompts.d.ts +1 -1
- package/dist/agents/experimental/streamlit/agent.d.cts +8 -12
- package/dist/agents/experimental/streamlit/agent.d.ts +8 -12
- package/dist/agents/react/agent.d.cts +4 -4
- package/dist/agents/react/agent.d.ts +4 -4
- 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/deep-think/runner.d.cts +4 -4
- package/dist/agents/react/runners/deep-think/runner.d.ts +4 -4
- 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/granite/runner.d.cts +4 -4
- package/dist/agents/react/runners/granite/runner.d.ts +4 -4
- package/dist/agents/react/types.d.cts +2 -2
- package/dist/agents/react/types.d.ts +2 -2
- package/dist/agents/requirement/agent.cjs +162 -0
- package/dist/agents/requirement/agent.cjs.map +1 -0
- package/dist/agents/requirement/agent.d.cts +29 -0
- package/dist/agents/requirement/agent.d.ts +29 -0
- package/dist/agents/requirement/agent.js +160 -0
- package/dist/agents/requirement/agent.js.map +1 -0
- package/dist/agents/requirement/prompts.cjs +95 -0
- package/dist/agents/requirement/prompts.cjs.map +1 -0
- package/dist/agents/requirement/prompts.d.cts +107 -0
- package/dist/agents/requirement/prompts.d.ts +107 -0
- package/dist/agents/requirement/prompts.js +90 -0
- package/dist/agents/requirement/prompts.js.map +1 -0
- package/dist/agents/requirement/requirements/conditional.cjs +190 -0
- package/dist/agents/requirement/requirements/conditional.cjs.map +1 -0
- package/dist/agents/requirement/requirements/conditional.d.cts +71 -0
- package/dist/agents/requirement/requirements/conditional.d.ts +71 -0
- package/dist/agents/requirement/requirements/conditional.js +188 -0
- package/dist/agents/requirement/requirements/conditional.js.map +1 -0
- package/dist/agents/requirement/requirements/requirement.cjs +107 -0
- package/dist/agents/requirement/requirements/requirement.cjs.map +1 -0
- package/dist/agents/requirement/requirements/requirement.d.cts +59 -0
- package/dist/agents/requirement/requirements/requirement.d.ts +59 -0
- package/dist/agents/requirement/requirements/requirement.js +104 -0
- package/dist/agents/requirement/requirements/requirement.js.map +1 -0
- package/dist/agents/requirement/requirements/utils.cjs +74 -0
- package/dist/agents/requirement/requirements/utils.cjs.map +1 -0
- package/dist/agents/requirement/requirements/utils.d.cts +40 -0
- package/dist/agents/requirement/requirements/utils.d.ts +40 -0
- package/dist/agents/requirement/requirements/utils.js +69 -0
- package/dist/agents/requirement/requirements/utils.js.map +1 -0
- package/dist/agents/requirement/runner.cjs +268 -0
- package/dist/agents/requirement/runner.cjs.map +1 -0
- package/dist/agents/requirement/runner.d.cts +115 -0
- package/dist/agents/requirement/runner.d.ts +115 -0
- package/dist/agents/requirement/runner.js +266 -0
- package/dist/agents/requirement/runner.js.map +1 -0
- package/dist/agents/requirement/types.cjs +40 -0
- package/dist/agents/requirement/types.cjs.map +1 -0
- package/dist/agents/requirement/types.d.cts +24 -0
- package/dist/agents/requirement/types.d.ts +24 -0
- package/dist/agents/requirement/types.js +35 -0
- package/dist/agents/requirement/types.js.map +1 -0
- package/dist/agents/requirement/utils/llm.cjs +202 -0
- package/dist/agents/requirement/utils/llm.cjs.map +1 -0
- package/dist/agents/requirement/utils/llm.d.cts +50 -0
- package/dist/agents/requirement/utils/llm.d.ts +50 -0
- package/dist/agents/requirement/utils/llm.js +199 -0
- package/dist/agents/requirement/utils/llm.js.map +1 -0
- package/dist/agents/requirement/utils/tool.cjs +95 -0
- package/dist/agents/requirement/utils/tool.cjs.map +1 -0
- package/dist/agents/requirement/utils/tool.d.cts +24 -0
- package/dist/agents/requirement/utils/tool.d.ts +24 -0
- package/dist/agents/requirement/utils/tool.js +92 -0
- package/dist/agents/requirement/utils/tool.js.map +1 -0
- package/dist/agents/requirement/utils/toolCallChecker.cjs +61 -0
- package/dist/agents/requirement/utils/toolCallChecker.cjs.map +1 -0
- package/dist/agents/requirement/utils/toolCallChecker.d.cts +28 -0
- package/dist/agents/requirement/utils/toolCallChecker.d.ts +28 -0
- package/dist/agents/requirement/utils/toolCallChecker.js +59 -0
- package/dist/agents/requirement/utils/toolCallChecker.js.map +1 -0
- package/dist/agents/toolCalling/agent.cjs +4 -1
- package/dist/agents/toolCalling/agent.cjs.map +1 -1
- package/dist/agents/toolCalling/agent.d.cts +11 -12
- package/dist/agents/toolCalling/agent.d.ts +11 -12
- package/dist/agents/toolCalling/agent.js +5 -2
- package/dist/agents/toolCalling/agent.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.d.cts +2 -2
- package/dist/backend/backend.d.ts +2 -2
- package/dist/backend/chat.cjs +122 -4
- package/dist/backend/chat.cjs.map +1 -1
- package/dist/backend/chat.d.cts +3 -3
- package/dist/backend/chat.d.ts +3 -3
- package/dist/backend/chat.js +123 -5
- package/dist/backend/chat.js.map +1 -1
- package/dist/backend/core.d.cts +3 -3
- package/dist/backend/core.d.ts +3 -3
- package/dist/backend/embedding.d.cts +2 -2
- package/dist/backend/embedding.d.ts +2 -2
- package/dist/backend/message.cjs +20 -13
- package/dist/backend/message.cjs.map +1 -1
- package/dist/backend/message.d.cts +7 -3
- package/dist/backend/message.d.ts +7 -3
- package/dist/backend/message.js +20 -13
- package/dist/backend/message.js.map +1 -1
- package/dist/backend/utils.d.cts +2 -2
- package/dist/backend/utils.d.ts +2 -2
- package/dist/{base-BQgDlcGa.d.ts → base-CyFx7BRL.d.ts} +5 -3
- package/dist/{base-CwcxwybB.d.cts → base-XfWeXQ-S.d.cts} +5 -3
- package/dist/{chat-CRb3vUVg.d.cts → chat-BOb9n7AJ.d.cts} +7 -8
- package/dist/{chat-C0s-o6ll.d.ts → chat-DrqwUgD8.d.ts} +7 -8
- package/dist/context.cjs +22 -5
- package/dist/context.cjs.map +1 -1
- package/dist/context.d.cts +19 -6
- package/dist/context.d.ts +19 -6
- package/dist/context.js +23 -7
- package/dist/context.js.map +1 -1
- package/dist/emitter/emitter.cjs +21 -14
- 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 +21 -14
- 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-CZFbzlUi.d.ts → emitter-36-9MnvA.d.ts} +4 -3
- package/dist/{emitter-DpqUYjXH.d.cts → emitter-jN55XZZq.d.cts} +4 -3
- package/dist/index.d.cts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/internals/fetcher.d.cts +1 -1
- package/dist/internals/fetcher.d.ts +1 -1
- package/dist/internals/helpers/prototype.cjs +5 -0
- package/dist/internals/helpers/prototype.cjs.map +1 -1
- package/dist/internals/helpers/prototype.d.cts +2 -1
- package/dist/internals/helpers/prototype.d.ts +2 -1
- package/dist/internals/helpers/prototype.js +5 -1
- package/dist/internals/helpers/prototype.js.map +1 -1
- package/dist/internals/types.cjs.map +1 -1
- package/dist/internals/types.d.cts +1 -1
- package/dist/internals/types.d.ts +1 -1
- package/dist/internals/types.js.map +1 -1
- package/dist/memory/summarizeMemory.d.cts +2 -2
- package/dist/memory/summarizeMemory.d.ts +2 -2
- package/dist/middleware/streamToolCall.cjs +132 -0
- package/dist/middleware/streamToolCall.cjs.map +1 -0
- package/dist/middleware/streamToolCall.d.cts +94 -0
- package/dist/middleware/streamToolCall.d.ts +94 -0
- package/dist/middleware/streamToolCall.js +130 -0
- package/dist/middleware/streamToolCall.js.map +1 -0
- package/dist/middleware/trajectory.cjs +331 -0
- package/dist/middleware/trajectory.cjs.map +1 -0
- package/dist/middleware/trajectory.d.cts +115 -0
- package/dist/middleware/trajectory.d.ts +115 -0
- package/dist/middleware/trajectory.js +329 -0
- package/dist/middleware/trajectory.js.map +1 -0
- package/dist/parsers/linePrefix.d.cts +1 -1
- package/dist/parsers/linePrefix.d.ts +1 -1
- package/dist/serializer/serializer.cjs +5 -4
- 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 +5 -4
- package/dist/serializer/serializer.js.map +1 -1
- package/dist/serializer/utils.cjs +3 -0
- 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 +3 -0
- package/dist/serializer/utils.js.map +1 -1
- package/dist/{serializer-CQxucveV.d.ts → serializer-53t8gGQa.d.ts} +3 -2
- package/dist/{serializer-BKn50Vnx.d.cts → serializer-c51B2z6d.d.cts} +3 -2
- package/dist/template.cjs +20 -0
- package/dist/template.cjs.map +1 -1
- package/dist/template.d.cts +1 -0
- package/dist/template.d.ts +1 -0
- package/dist/template.js +20 -0
- package/dist/template.js.map +1 -1
- package/dist/tools/arxiv.d.cts +1 -1
- package/dist/tools/arxiv.d.ts +1 -1
- package/dist/tools/base.cjs.map +1 -1
- package/dist/tools/base.d.cts +3 -2
- package/dist/tools/base.d.ts +3 -2
- package/dist/tools/base.js.map +1 -1
- package/dist/tools/calculator.d.cts +1 -1
- package/dist/tools/calculator.d.ts +1 -1
- package/dist/tools/custom.d.cts +2 -2
- package/dist/tools/custom.d.ts +2 -2
- package/dist/tools/database/elasticsearch.d.cts +1 -1
- package/dist/tools/database/elasticsearch.d.ts +1 -1
- package/dist/tools/database/milvus.d.cts +3 -3
- package/dist/tools/database/milvus.d.ts +3 -3
- package/dist/tools/database/qdrant.d.cts +1 -1
- package/dist/tools/database/qdrant.d.ts +1 -1
- package/dist/tools/database/sql.d.cts +1 -1
- package/dist/tools/database/sql.d.ts +1 -1
- package/dist/tools/handoff.cjs +68 -0
- package/dist/tools/handoff.cjs.map +1 -0
- package/dist/tools/handoff.d.cts +47 -0
- package/dist/tools/handoff.d.ts +47 -0
- package/dist/tools/handoff.js +66 -0
- package/dist/tools/handoff.js.map +1 -0
- package/dist/tools/llm.d.cts +2 -2
- package/dist/tools/llm.d.ts +2 -2
- package/dist/tools/mcp.d.cts +1 -1
- package/dist/tools/mcp.d.ts +1 -1
- package/dist/tools/openapi.d.cts +1 -1
- package/dist/tools/openapi.d.ts +1 -1
- package/dist/tools/python/output.d.cts +1 -1
- package/dist/tools/python/output.d.ts +1 -1
- package/dist/tools/python/python.d.cts +2 -2
- package/dist/tools/python/python.d.ts +2 -2
- package/dist/tools/search/base.d.cts +1 -1
- package/dist/tools/search/base.d.ts +1 -1
- package/dist/tools/search/duckDuckGoSearch.d.cts +1 -1
- package/dist/tools/search/duckDuckGoSearch.d.ts +1 -1
- package/dist/tools/search/googleSearch.d.cts +1 -1
- package/dist/tools/search/googleSearch.d.ts +1 -1
- package/dist/tools/search/searXNGSearch.d.cts +1 -1
- package/dist/tools/search/searXNGSearch.d.ts +1 -1
- package/dist/tools/search/wikipedia.d.cts +1 -1
- package/dist/tools/search/wikipedia.d.ts +1 -1
- package/dist/tools/similarity.d.cts +1 -1
- package/dist/tools/similarity.d.ts +1 -1
- package/dist/tools/think.cjs +52 -0
- package/dist/tools/think.cjs.map +1 -0
- package/dist/tools/think.d.cts +47 -0
- package/dist/tools/think.d.ts +47 -0
- package/dist/tools/think.js +50 -0
- package/dist/tools/think.js.map +1 -0
- package/dist/tools/weather/openMeteo.d.cts +1 -1
- package/dist/tools/weather/openMeteo.d.ts +1 -1
- package/dist/tools/web/webCrawler.d.cts +1 -1
- package/dist/tools/web/webCrawler.d.ts +1 -1
- package/dist/types-CJwiMH3u.d.ts +213 -0
- package/dist/types-W0QttuP_.d.cts +213 -0
- package/dist/version.cjs +1 -1
- package/dist/version.js +1 -1
- package/dist/workflows/agent.d.cts +3 -3
- package/dist/workflows/agent.d.ts +3 -3
- package/dist/workflows/workflow.d.cts +1 -1
- package/dist/workflows/workflow.d.ts +1 -1
- package/package.json +11 -11
package/dist/tools/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/tools/base.ts"],"names":["ToolError","FrameworkError","ToolInputValidationError","validationErrors","message","ToolOutput","Serializable","toString","getTextContent","StringToolOutput","result","ctx","register","isEmpty","createSnapshot","loadSnapshot","snapshot","Object","assign","cacheKey","WeakRefKeyFn","from","self","JSONToolOutput","R","JSON","stringify","Tool","cache","options","contextKeys","Memory","Symbol","args","NullCache","toError","e","context","name","run","input","shallowCopy","RunContext","enter","signal","params","meta","errorPropagated","ref","parse","output","Retryable","executor","emitter","emit","enabled","_runCached","_run","onError","error","fatalErrors","some","cls","onRetry","_","config","_createRetryOptions","retryOptions","get","key","ObjectHashKeyFn","omit","cacheEntry","undefined","task","Task","set","then","req","resolve","catch","err","reject","delete","clearCache","clear","getInputJsonSchema","toJsonSchema","inputSchema","isTool","value","overrides","defaultOptions","maxRetries","factor","pipe","filter","isTruthy","map","pickBy","isDefined","mergeAll","schema","validateSchema","tool","hint","validateInput","isFatal","isRetryable","copy","preprocessInput","rawInput","validator","createSchemaValidator","success","errors","join","description","mapper","DynamicTool","handler","selfOutput","wrappedInput","extend","_inputSchema","fields","validate","z","object","string","refine","val","test","union","instanceof","ZodSchema","passthrough","function","optional","Emitter","root","child","namespace","toCamelCase","creator","arg"],"mappings":"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","file":"base.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { FrameworkError } from \"@/errors.js\";\nimport * as R from \"remeda\";\nimport { Retryable, RetryableConfig } from \"@/internals/helpers/retryable.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { Task } from \"promise-based-task\";\nimport { Cache, ObjectHashKeyFn, WeakRefKeyFn } from \"@/cache/decoratorCache.js\";\nimport { BaseCache } from \"@/cache/base.js\";\nimport { NullCache } from \"@/cache/nullCache.js\";\nimport type { ErrorObject, ValidateFunction } from \"ajv\";\nimport {\n AnyToolSchemaLike,\n createSchemaValidator,\n FromSchemaLike,\n FromSchemaLikeRaw,\n toJsonSchema,\n validateSchema,\n} from \"@/internals/helpers/schema.js\";\nimport { validate } from \"@/internals/helpers/general.js\";\nimport { z, ZodSchema } from \"zod\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { Callback } from \"@/emitter/types.js\";\nimport { GetRunContext, RunContext } from \"@/context.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { toCamelCase } from \"remeda\";\n\nexport class ToolError extends FrameworkError {}\n\nexport class ToolInputValidationError extends ToolError {\n validationErrors: ErrorObject[];\n\n constructor(message: string, validationErrors: ErrorObject[] = []) {\n super(message, []);\n this.validationErrors = validationErrors;\n }\n}\n\nexport interface RetryOptions {\n maxRetries?: number;\n factor?: number;\n}\n\nexport interface BaseToolOptions<TOutput = any> {\n retryOptions?: RetryOptions;\n fatalErrors?: ErrorConstructor[];\n cache?: BaseCache<Task<TOutput>> | false;\n}\n\nexport interface BaseToolRunOptions {\n retryOptions?: RetryOptions;\n signal?: AbortSignal;\n}\n\nexport abstract class ToolOutput extends Serializable {\n abstract getTextContent(): string;\n abstract isEmpty(): boolean;\n\n toString() {\n return this.getTextContent();\n }\n}\n\nexport class StringToolOutput extends ToolOutput {\n constructor(\n public readonly result = \"\",\n public readonly ctx?: Record<string, any>,\n ) {\n super();\n this.result = result ?? \"\";\n }\n\n static {\n this.register();\n }\n\n isEmpty() {\n return !this.result;\n }\n\n @Cache({\n cacheKey: WeakRefKeyFn.from<StringToolOutput>((self) => [self.result]),\n })\n getTextContent(): string {\n return this.result.toString();\n }\n\n createSnapshot() {\n return {\n result: this.result,\n ctx: this.ctx,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n\nexport class JSONToolOutput<T> extends ToolOutput {\n constructor(\n public readonly result: T,\n public readonly ctx?: Record<string, any>,\n ) {\n super();\n }\n\n static {\n this.register();\n }\n\n isEmpty() {\n return !this.result || R.isEmpty(this.result);\n }\n\n getTextContent(): string {\n return JSON.stringify(this.result);\n }\n\n createSnapshot() {\n return {\n result: this.result,\n ctx: this.ctx,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n\nexport interface ToolSnapshot<TOutput extends ToolOutput, TOptions extends BaseToolOptions> {\n name: string;\n description: string;\n options: TOptions;\n cache: BaseCache<Task<TOutput>>;\n emitter: Emitter<any>;\n}\n\nexport type InferToolOutput<T extends AnyTool> = T extends Tool<infer A, any, any> ? A : never;\nexport type ToolInput<T extends AnyTool> = FromSchemaLike<Awaited<ReturnType<T[\"inputSchema\"]>>>;\nexport type ToolInputRaw<T extends AnyTool> = FromSchemaLikeRaw<\n Awaited<ReturnType<T[\"inputSchema\"]>>\n>;\n\ntype ToolConstructorParameters<TOptions extends BaseToolOptions> =\n Partial<TOptions> extends TOptions ? [options?: TOptions] : [options: TOptions];\n\nexport interface ToolEvents<\n TInput extends Record<string, any> = Record<string, any>,\n TOutput extends ToolOutput = ToolOutput,\n> {\n start: Callback<{ input: TInput; options: unknown }>;\n success: Callback<{ output: TOutput; input: TInput; options: unknown }>;\n error: Callback<{ input: TInput; error: ToolError | ToolInputValidationError; options: unknown }>;\n retry: Callback<{ error: ToolError | ToolInputValidationError; input: TInput; options: unknown }>;\n finish: Callback<null>;\n}\n\nexport type ToolEmitter<\n A extends Record<string, any>,\n B extends ToolOutput,\n C = Record<never, never>,\n> = Emitter<ToolEvents<A, B> & Omit<C, keyof ToolEvents>>;\n\nexport abstract class Tool<\n TOutput extends ToolOutput = ToolOutput,\n TOptions extends BaseToolOptions = BaseToolOptions,\n TRunOptions extends BaseToolRunOptions = BaseToolRunOptions,\n> extends Serializable {\n abstract name: string;\n abstract description: string;\n\n public readonly cache: BaseCache<Task<TOutput>>;\n public readonly options: TOptions;\n\n public static contextKeys = {\n Memory: Symbol(\"Memory\"),\n } as const;\n\n public abstract readonly emitter: Emitter<ToolEvents<any, TOutput>>;\n\n abstract inputSchema(): Promise<AnyToolSchemaLike> | AnyToolSchemaLike;\n\n constructor(...args: ToolConstructorParameters<TOptions>) {\n super();\n\n const [options] = args;\n this.options = options ?? ({} as TOptions);\n this.cache = options?.cache ? options.cache : new NullCache();\n }\n\n protected toError(e: Error, context: any) {\n if (e instanceof ToolError) {\n Object.assign(e.context, context);\n return e;\n } else {\n return new ToolError(`Tool \"${this.name}\" has occurred an error!`, [e], {\n context,\n });\n }\n }\n\n run(input: ToolInputRaw<this>, options: Partial<TRunOptions> = {}) {\n input = shallowCopy(input);\n options = shallowCopy(options);\n\n return RunContext.enter(\n this,\n { signal: options?.signal, params: [input, options] as const },\n async (run) => {\n const meta = { input, options };\n let errorPropagated = false;\n\n try {\n input = Object.assign({ ref: input }, { ref: await this.parse(input) }).ref;\n\n const output = await new Retryable({\n executor: async () => {\n errorPropagated = false;\n await run.emitter.emit(\"start\", { ...meta });\n return this.cache.enabled\n ? await this._runCached(input, options, run)\n : await this._run(input, options, run);\n },\n onError: async (error) => {\n errorPropagated = true;\n await run.emitter.emit(\"error\", {\n error: this.toError(error, meta),\n ...meta,\n });\n if (this.options.fatalErrors?.some((cls) => error instanceof cls)) {\n throw error;\n }\n },\n onRetry: async (_, error) => {\n await run.emitter.emit(\"retry\", { ...meta, error: this.toError(error, meta) });\n },\n config: {\n ...this._createRetryOptions(options?.retryOptions),\n signal: options?.signal,\n },\n }).get();\n\n await run.emitter.emit(\"success\", { output, ...meta });\n return output;\n } catch (e) {\n const error = this.toError(e, meta);\n if (!errorPropagated) {\n await run.emitter.emit(\"error\", {\n error,\n options,\n input,\n });\n }\n throw error;\n } finally {\n await run.emitter.emit(\"finish\", null);\n }\n },\n );\n }\n\n protected async _runCached(\n input: ToolInput<this>,\n options: Partial<TRunOptions>,\n run: GetRunContext<this>,\n ): Promise<TOutput> {\n const key = ObjectHashKeyFn({\n input,\n options: R.omit(options ?? ({} as TRunOptions), [\"signal\", \"retryOptions\"]),\n });\n\n const cacheEntry = await this.cache.get(key);\n if (cacheEntry !== undefined) {\n return cacheEntry!;\n }\n\n const task = new Task<TOutput, Error>();\n await this.cache.set(key, task);\n this._run(input, options, run)\n .then((req) => task.resolve(req))\n .catch(async (err) => {\n void task.reject(err);\n await this.cache.delete(key);\n });\n return task;\n }\n\n public async clearCache() {\n await this.cache.clear();\n }\n\n protected abstract _run(\n arg: ToolInput<this>,\n options: Partial<TRunOptions>,\n run: GetRunContext<typeof this>,\n ): Promise<TOutput>;\n\n async getInputJsonSchema() {\n return toJsonSchema(await this.inputSchema());\n }\n\n static isTool(value: unknown): value is Tool {\n return value instanceof Tool && \"name\" in value && \"description\" in value;\n }\n\n private _createRetryOptions(...overrides: (RetryOptions | undefined)[]): RetryableConfig {\n const defaultOptions: Required<RetryOptions> = {\n maxRetries: 0,\n factor: 1,\n };\n\n return R.pipe(\n [defaultOptions, this.options.retryOptions, ...overrides],\n R.filter(R.isTruthy),\n R.map((input: RetryOptions) => {\n const options: RetryableConfig = {\n maxRetries: input.maxRetries ?? defaultOptions.maxRetries,\n factor: input.factor ?? defaultOptions.maxRetries,\n };\n return R.pickBy(options, R.isDefined);\n }),\n R.mergeAll,\n ) as RetryableConfig;\n }\n\n async parse(input: unknown | ToolInputRaw<this> | ToolInput<this>): Promise<ToolInput<this>> {\n const schema = await this.inputSchema();\n if (schema) {\n validateSchema(schema, {\n context: {\n tool: this.constructor.name,\n hint: `To do post-validation override the '${this.validateInput.name}' method.`,\n schema,\n isFatal: true,\n isRetryable: false,\n },\n });\n }\n\n const copy = shallowCopy(input);\n this.preprocessInput(copy);\n this.validateInput(schema, copy);\n return copy;\n }\n\n // eslint-disable-next-line unused-imports/no-unused-vars\n protected preprocessInput(rawInput: unknown): void {}\n\n protected validateInput(\n schema: AnyToolSchemaLike,\n rawInput: unknown,\n ): asserts rawInput is ToolInput<this> {\n const validator = createSchemaValidator(schema) as ValidateFunction<ToolInput<this>>;\n const success = validator(rawInput);\n if (!success) {\n throw new ToolInputValidationError(\n [\n `The received tool input does not match the expected schema.`,\n `Input Schema: \"${JSON.stringify(toJsonSchema(schema))}\"`,\n `Validation Errors: ${JSON.stringify(validator.errors)}`,\n ].join(\"\\n\"),\n // ts doesn't infer that when success is false `validator.errors` is defined\n validator.errors!,\n );\n }\n }\n\n createSnapshot(): ToolSnapshot<TOutput, TOptions> {\n return {\n name: this.name,\n description: this.description,\n cache: this.cache,\n options: shallowCopy(this.options),\n emitter: this.emitter,\n };\n }\n\n loadSnapshot(snapshot: ToolSnapshot<TOutput, TOptions>): void {\n Object.assign(this, snapshot);\n }\n\n pipe<S extends AnyTool, T extends AnyTool>(\n this: S,\n tool: T,\n mapper: (\n input: ToolInputRaw<S>,\n output: TOutput,\n options: Partial<TRunOptions>,\n run: RunContext<\n DynamicTool<TOutput, ZodSchema<ToolInput<S>>, TOptions, TRunOptions, ToolInput<S>>\n >,\n ) => ToolInputRaw<typeof tool>,\n ) {\n return new DynamicTool<TOutput, ZodSchema<ToolInput<S>>, TOptions, TRunOptions, ToolInput<S>>({\n name: this.name,\n description: this.description,\n options: this.options,\n inputSchema: this.inputSchema() as ZodSchema<ToolInput<S>>,\n handler: async (input: ToolInputRaw<S>, options, run): Promise<TOutput> => {\n const selfOutput = await this.run(input, options);\n const wrappedInput = mapper(input, selfOutput, options, run);\n return await tool.run(wrappedInput);\n },\n } as const);\n }\n\n extend<S extends AnyTool, TS extends ZodSchema>(\n this: S,\n schema: TS,\n mapper: (\n input: z.output<TS>,\n options: Partial<TRunOptions>,\n run: RunContext<DynamicTool<TOutput, TS, TOptions, TRunOptions, z.output<TS>>>,\n ) => ToolInputRaw<S>,\n overrides: {\n name?: string;\n description?: string;\n } = {},\n ) {\n return new DynamicTool<TOutput, TS, TOptions, TRunOptions, z.output<TS>>({\n name: overrides?.name || this.name,\n description: overrides?.name || this.description,\n options: shallowCopy(this.options),\n inputSchema: schema,\n handler: async (input: ToolInputRaw<S>, options, run): Promise<TOutput> => {\n const wrappedInput = mapper(input, options, run);\n return await this.run(wrappedInput, options);\n },\n } as const);\n }\n}\n\nexport type AnyTool = Tool<any, any, any>;\n\nexport class DynamicTool<\n TOutput extends ToolOutput,\n TInputSchema extends AnyToolSchemaLike,\n TOptions extends BaseToolOptions = BaseToolOptions,\n TRunOptions extends BaseToolRunOptions = BaseToolRunOptions,\n TInput = FromSchemaLike<TInputSchema>,\n> extends Tool<TOutput, TOptions, TRunOptions> {\n static {\n this.register();\n }\n\n declare name: string;\n declare description: string;\n private readonly _inputSchema: TInputSchema;\n declare readonly emitter: Emitter<ToolEvents<FromSchemaLike<TInputSchema>, TOutput>>;\n private readonly handler;\n\n inputSchema(): TInputSchema {\n return this._inputSchema;\n }\n\n constructor(fields: {\n name: string;\n description: string;\n inputSchema: TInputSchema;\n handler: (\n input: TInput,\n options: Partial<TRunOptions>,\n run: GetRunContext<DynamicTool<TOutput, TInputSchema, TOptions, TRunOptions, TInput>>,\n ) => Promise<TOutput>;\n options?: TOptions;\n }) {\n validate(\n fields,\n z.object({\n name: z\n .string({ message: \"Tool must have a name\" })\n .refine((val) => /^[a-zA-Z0-9\\-_]+$/.test(val), {\n message: \"Tool name must only have -, _, letters or numbers\",\n }),\n description: z\n .string({ message: \"Tool must have a description\" })\n .refine((val) => val && val !== \"\", { message: \"Tool must have a description\" }),\n inputSchema: z.union([z.instanceof(ZodSchema), z.object({}).passthrough()], {\n message: \"Tool must have a schema\",\n }),\n handler: z.function(),\n options: z.object({}).passthrough().optional(),\n }),\n );\n super(...([fields.options] as ToolConstructorParameters<TOptions>));\n this.name = fields.name;\n this.description = fields.description;\n this._inputSchema = fields.inputSchema;\n this.handler = fields.handler;\n this.emitter = Emitter.root.child({\n namespace: [\"tool\", \"dynamic\", toCamelCase(this.name)],\n creator: this,\n });\n }\n\n protected _run(\n arg: TInput,\n options: Partial<TRunOptions>,\n run: GetRunContext<DynamicTool<TOutput, TInputSchema, TOptions, TRunOptions, TInput>>,\n ): Promise<TOutput> {\n return this.handler(arg, options, run);\n }\n\n createSnapshot() {\n return { ...super.createSnapshot(), handler: this.handler, _inputSchema: this._inputSchema };\n }\n\n loadSnapshot({ handler, ...snapshot }: ReturnType<typeof this.createSnapshot>) {\n super.loadSnapshot(snapshot);\n Object.assign(this, { handler });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/tools/base.ts"],"names":["ToolError","FrameworkError","ToolInputValidationError","validationErrors","message","ToolOutput","Serializable","toString","getTextContent","StringToolOutput","result","ctx","register","isEmpty","createSnapshot","loadSnapshot","snapshot","Object","assign","cacheKey","WeakRefKeyFn","from","self","JSONToolOutput","R","JSON","stringify","Tool","cache","options","contextKeys","Memory","Symbol","args","NullCache","toError","e","context","name","run","input","shallowCopy","RunContext","enter","signal","params","meta","errorPropagated","ref","parse","output","Retryable","executor","emitter","emit","enabled","_runCached","_run","onError","error","fatalErrors","some","cls","onRetry","_","config","_createRetryOptions","retryOptions","get","key","ObjectHashKeyFn","omit","cacheEntry","undefined","task","Task","set","then","req","resolve","catch","err","reject","delete","clearCache","clear","getInputJsonSchema","toJsonSchema","inputSchema","isTool","value","overrides","defaultOptions","maxRetries","factor","pipe","filter","isTruthy","map","pickBy","isDefined","mergeAll","schema","validateSchema","tool","hint","validateInput","isFatal","isRetryable","copy","preprocessInput","rawInput","validator","createSchemaValidator","success","errors","join","description","mapper","DynamicTool","handler","selfOutput","wrappedInput","extend","_inputSchema","fields","validate","z","object","string","refine","val","test","union","instanceof","ZodSchema","passthrough","function","optional","Emitter","root","child","namespace","toCamelCase","creator","arg"],"mappings":"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","file":"base.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { FrameworkError } from \"@/errors.js\";\nimport * as R from \"remeda\";\nimport { Retryable, RetryableConfig } from \"@/internals/helpers/retryable.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { Task } from \"promise-based-task\";\nimport { Cache, ObjectHashKeyFn, WeakRefKeyFn } from \"@/cache/decoratorCache.js\";\nimport { BaseCache } from \"@/cache/base.js\";\nimport { NullCache } from \"@/cache/nullCache.js\";\nimport type { ErrorObject, ValidateFunction } from \"ajv\";\nimport {\n AnyToolSchemaLike,\n createSchemaValidator,\n FromSchemaLike,\n FromSchemaLikeRaw,\n toJsonSchema,\n validateSchema,\n} from \"@/internals/helpers/schema.js\";\nimport { validate } from \"@/internals/helpers/general.js\";\nimport { z, ZodSchema } from \"zod\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { Callback } from \"@/emitter/types.js\";\nimport { GetRunContext, RunContext } from \"@/context.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { toCamelCase } from \"remeda\";\n\nexport class ToolError extends FrameworkError {}\n\nexport class ToolInputValidationError extends ToolError {\n validationErrors: ErrorObject[];\n\n constructor(message: string, validationErrors: ErrorObject[] = []) {\n super(message, []);\n this.validationErrors = validationErrors;\n }\n}\n\nexport interface RetryOptions {\n maxRetries?: number;\n factor?: number;\n}\n\nexport interface BaseToolOptions<TOutput = any> {\n retryOptions?: RetryOptions;\n fatalErrors?: ErrorConstructor[];\n cache?: BaseCache<Task<TOutput>> | false;\n}\n\nexport interface BaseToolRunOptions {\n retryOptions?: RetryOptions;\n signal?: AbortSignal;\n}\n\nexport abstract class ToolOutput extends Serializable {\n abstract getTextContent(): string;\n abstract isEmpty(): boolean;\n\n toString() {\n return this.getTextContent();\n }\n}\n\nexport class StringToolOutput extends ToolOutput {\n constructor(\n public readonly result = \"\",\n public readonly ctx?: Record<string, any>,\n ) {\n super();\n this.result = result ?? \"\";\n }\n\n static {\n this.register();\n }\n\n isEmpty() {\n return !this.result;\n }\n\n @Cache({\n cacheKey: WeakRefKeyFn.from<StringToolOutput>((self) => [self.result]),\n })\n getTextContent(): string {\n return this.result.toString();\n }\n\n createSnapshot() {\n return {\n result: this.result,\n ctx: this.ctx,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n\nexport class JSONToolOutput<T> extends ToolOutput {\n constructor(\n public readonly result: T,\n public readonly ctx?: Record<string, any>,\n ) {\n super();\n }\n\n static {\n this.register();\n }\n\n isEmpty() {\n return !this.result || R.isEmpty(this.result);\n }\n\n getTextContent(): string {\n return JSON.stringify(this.result);\n }\n\n createSnapshot() {\n return {\n result: this.result,\n ctx: this.ctx,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n\nexport interface ToolSnapshot<TOutput extends ToolOutput, TOptions extends BaseToolOptions> {\n name: string;\n description: string;\n options: TOptions;\n cache: BaseCache<Task<TOutput>>;\n emitter: Emitter<any>;\n}\n\nexport type InferToolOutput<T extends AnyTool> = T extends Tool<infer A, any, any> ? A : never;\nexport type ToolInput<T extends AnyTool> = FromSchemaLike<Awaited<ReturnType<T[\"inputSchema\"]>>>;\nexport type ToolInputRaw<T extends AnyTool> = FromSchemaLikeRaw<\n Awaited<ReturnType<T[\"inputSchema\"]>>\n>;\n\ntype ToolConstructorParameters<TOptions extends BaseToolOptions> =\n Partial<TOptions> extends TOptions ? [options?: TOptions] : [options: TOptions];\n\nexport interface ToolEvents<\n TInput extends Record<string, any> = Record<string, any>,\n TOutput extends ToolOutput = ToolOutput,\n> {\n start: Callback<{ input: TInput; options: unknown }>;\n success: Callback<{ output: TOutput; input: TInput; options: unknown }>;\n error: Callback<{ input: TInput; error: ToolError | ToolInputValidationError; options: unknown }>;\n retry: Callback<{ error: ToolError | ToolInputValidationError; input: TInput; options: unknown }>;\n finish: Callback<null>;\n}\n\nexport type ToolEmitter<\n A extends Record<string, any>,\n B extends ToolOutput,\n C = Record<never, never>,\n> = Emitter<ToolEvents<A, B> & Omit<C, keyof ToolEvents>>;\n\nexport abstract class Tool<\n TOutput extends ToolOutput = ToolOutput,\n TOptions extends BaseToolOptions = BaseToolOptions,\n TRunOptions extends BaseToolRunOptions = BaseToolRunOptions,\n> extends Serializable {\n abstract name: string;\n abstract description: string;\n\n public readonly cache: BaseCache<Task<TOutput>>;\n public readonly options: TOptions;\n\n public static contextKeys = {\n Memory: Symbol(\"Memory\"),\n } as const;\n\n public abstract readonly emitter: Emitter<ToolEvents<any, TOutput>>;\n\n abstract inputSchema(): Promise<AnyToolSchemaLike> | AnyToolSchemaLike;\n\n constructor(...args: ToolConstructorParameters<TOptions>) {\n super();\n\n const [options] = args;\n this.options = options ?? ({} as TOptions);\n this.cache = options?.cache ? options.cache : new NullCache();\n }\n\n protected toError(e: Error, context: any) {\n if (e instanceof ToolError) {\n Object.assign(e.context, context);\n return e;\n } else {\n return new ToolError(`Tool \"${this.name}\" has occurred an error!`, [e], {\n context,\n });\n }\n }\n\n run(input: ToolInputRaw<this>, options: Partial<TRunOptions> = {}) {\n input = shallowCopy(input);\n options = shallowCopy(options);\n\n return RunContext.enter(\n this,\n { signal: options?.signal, params: [input, options] as const },\n async (run) => {\n const meta = { input, options };\n let errorPropagated = false;\n\n try {\n input = Object.assign({ ref: input }, { ref: await this.parse(input) }).ref;\n\n const output = await new Retryable({\n executor: async () => {\n errorPropagated = false;\n await run.emitter.emit(\"start\", { ...meta });\n return this.cache.enabled\n ? await this._runCached(input, options, run)\n : await this._run(input, options, run);\n },\n onError: async (error) => {\n errorPropagated = true;\n await run.emitter.emit(\"error\", {\n error: this.toError(error, meta),\n ...meta,\n });\n if (this.options.fatalErrors?.some((cls) => error instanceof cls)) {\n throw error;\n }\n },\n onRetry: async (_, error) => {\n await run.emitter.emit(\"retry\", { ...meta, error: this.toError(error, meta) });\n },\n config: {\n ...this._createRetryOptions(options?.retryOptions),\n signal: options?.signal,\n },\n }).get();\n\n await run.emitter.emit(\"success\", { output, ...meta });\n return output;\n } catch (e) {\n const error = this.toError(e, meta);\n if (!errorPropagated) {\n await run.emitter.emit(\"error\", {\n error,\n options,\n input,\n });\n }\n throw error;\n } finally {\n await run.emitter.emit(\"finish\", null);\n }\n },\n );\n }\n\n protected async _runCached(\n input: ToolInput<this>,\n options: Partial<TRunOptions>,\n run: GetRunContext<this>,\n ): Promise<TOutput> {\n const key = ObjectHashKeyFn({\n input,\n options: R.omit(options ?? ({} as TRunOptions), [\"signal\", \"retryOptions\"]),\n });\n\n const cacheEntry = await this.cache.get(key);\n if (cacheEntry !== undefined) {\n return cacheEntry!;\n }\n\n const task = new Task<TOutput, Error>();\n await this.cache.set(key, task);\n this._run(input, options, run)\n .then((req) => task.resolve(req))\n .catch(async (err) => {\n void task.reject(err);\n await this.cache.delete(key);\n });\n return task;\n }\n\n public async clearCache() {\n await this.cache.clear();\n }\n\n protected abstract _run(\n arg: ToolInput<this>,\n options: Partial<TRunOptions>,\n run: GetRunContext<typeof this>,\n ): Promise<TOutput>;\n\n async getInputJsonSchema() {\n return toJsonSchema(await this.inputSchema());\n }\n\n static isTool(value: unknown): value is Tool {\n return value instanceof Tool && \"name\" in value && \"description\" in value;\n }\n\n private _createRetryOptions(...overrides: (RetryOptions | undefined)[]): RetryableConfig {\n const defaultOptions: Required<RetryOptions> = {\n maxRetries: 0,\n factor: 1,\n };\n\n return R.pipe(\n [defaultOptions, this.options.retryOptions, ...overrides],\n R.filter(R.isTruthy),\n R.map((input: RetryOptions) => {\n const options: RetryableConfig = {\n maxRetries: input.maxRetries ?? defaultOptions.maxRetries,\n factor: input.factor ?? defaultOptions.maxRetries,\n };\n return R.pickBy(options, R.isDefined);\n }),\n R.mergeAll,\n ) as RetryableConfig;\n }\n\n async parse(input: unknown | ToolInputRaw<this> | ToolInput<this>): Promise<ToolInput<this>> {\n const schema = await this.inputSchema();\n if (schema) {\n validateSchema(schema, {\n context: {\n tool: this.constructor.name,\n hint: `To do post-validation override the '${this.validateInput.name}' method.`,\n schema,\n isFatal: true,\n isRetryable: false,\n },\n });\n }\n\n const copy = shallowCopy(input);\n this.preprocessInput(copy);\n this.validateInput(schema, copy);\n return copy;\n }\n\n // eslint-disable-next-line unused-imports/no-unused-vars\n protected preprocessInput(rawInput: unknown): void {}\n\n protected validateInput(\n schema: AnyToolSchemaLike,\n rawInput: unknown,\n ): asserts rawInput is ToolInput<this> {\n const validator = createSchemaValidator(schema) as ValidateFunction<ToolInput<this>>;\n const success = validator(rawInput);\n if (!success) {\n throw new ToolInputValidationError(\n [\n `The received tool input does not match the expected schema.`,\n `Input Schema: \"${JSON.stringify(toJsonSchema(schema))}\"`,\n `Validation Errors: ${JSON.stringify(validator.errors)}`,\n ].join(\"\\n\"),\n // ts doesn't infer that when success is false `validator.errors` is defined\n validator.errors!,\n );\n }\n }\n\n createSnapshot(): ToolSnapshot<TOutput, TOptions> {\n return {\n name: this.name,\n description: this.description,\n cache: this.cache,\n options: shallowCopy(this.options),\n emitter: this.emitter,\n };\n }\n\n loadSnapshot(snapshot: ToolSnapshot<TOutput, TOptions>): void {\n Object.assign(this, snapshot);\n }\n\n pipe<S extends AnyTool, T extends AnyTool>(\n this: S,\n tool: T,\n mapper: (\n input: ToolInputRaw<S>,\n output: TOutput,\n options: Partial<TRunOptions>,\n run: RunContext<\n DynamicTool<TOutput, ZodSchema<ToolInput<S>>, TOptions, TRunOptions, ToolInput<S>>\n >,\n ) => ToolInputRaw<typeof tool>,\n ) {\n return new DynamicTool<TOutput, ZodSchema<ToolInput<S>>, TOptions, TRunOptions, ToolInput<S>>({\n name: this.name,\n description: this.description,\n options: this.options,\n inputSchema: this.inputSchema() as ZodSchema<ToolInput<S>>,\n handler: async (input: ToolInputRaw<S>, options, run): Promise<TOutput> => {\n const selfOutput = await this.run(input, options);\n const wrappedInput = mapper(input, selfOutput, options, run);\n return await tool.run(wrappedInput);\n },\n } as const);\n }\n\n extend<S extends AnyTool, TS extends ZodSchema>(\n this: S,\n schema: TS,\n mapper: (\n input: z.output<TS>,\n options: Partial<TRunOptions>,\n run: RunContext<DynamicTool<TOutput, TS, TOptions, TRunOptions, z.output<TS>>>,\n ) => ToolInputRaw<S>,\n overrides: {\n name?: string;\n description?: string;\n } = {},\n ) {\n return new DynamicTool<TOutput, TS, TOptions, TRunOptions, z.output<TS>>({\n name: overrides?.name || this.name,\n description: overrides?.name || this.description,\n options: shallowCopy(this.options),\n inputSchema: schema,\n handler: async (input: ToolInputRaw<S>, options, run): Promise<TOutput> => {\n const wrappedInput = mapper(input, options, run);\n return await this.run(wrappedInput, options);\n },\n } as const);\n }\n}\n\nexport type AnyTool = Tool<any, any, any>;\nexport type AnyToolClass = abstract new (...args: any[]) => AnyTool;\n\nexport class DynamicTool<\n TOutput extends ToolOutput,\n TInputSchema extends AnyToolSchemaLike,\n TOptions extends BaseToolOptions = BaseToolOptions,\n TRunOptions extends BaseToolRunOptions = BaseToolRunOptions,\n TInput = FromSchemaLike<TInputSchema>,\n> extends Tool<TOutput, TOptions, TRunOptions> {\n static {\n this.register();\n }\n\n declare name: string;\n declare description: string;\n private readonly _inputSchema: TInputSchema;\n declare readonly emitter: Emitter<ToolEvents<FromSchemaLike<TInputSchema>, TOutput>>;\n private readonly handler;\n\n inputSchema(): TInputSchema {\n return this._inputSchema;\n }\n\n constructor(fields: {\n name: string;\n description: string;\n inputSchema: TInputSchema;\n handler: (\n input: TInput,\n options: Partial<TRunOptions>,\n run: GetRunContext<DynamicTool<TOutput, TInputSchema, TOptions, TRunOptions, TInput>>,\n ) => Promise<TOutput>;\n options?: TOptions;\n }) {\n validate(\n fields,\n z.object({\n name: z\n .string({ message: \"Tool must have a name\" })\n .refine((val) => /^[a-zA-Z0-9\\-_]+$/.test(val), {\n message: \"Tool name must only have -, _, letters or numbers\",\n }),\n description: z\n .string({ message: \"Tool must have a description\" })\n .refine((val) => val && val !== \"\", { message: \"Tool must have a description\" }),\n inputSchema: z.union([z.instanceof(ZodSchema), z.object({}).passthrough()], {\n message: \"Tool must have a schema\",\n }),\n handler: z.function(),\n options: z.object({}).passthrough().optional(),\n }),\n );\n super(...([fields.options] as ToolConstructorParameters<TOptions>));\n this.name = fields.name;\n this.description = fields.description;\n this._inputSchema = fields.inputSchema;\n this.handler = fields.handler;\n this.emitter = Emitter.root.child({\n namespace: [\"tool\", \"dynamic\", toCamelCase(this.name)],\n creator: this,\n });\n }\n\n protected _run(\n arg: TInput,\n options: Partial<TRunOptions>,\n run: GetRunContext<DynamicTool<TOutput, TInputSchema, TOptions, TRunOptions, TInput>>,\n ): Promise<TOutput> {\n return this.handler(arg, options, run);\n }\n\n createSnapshot() {\n return { ...super.createSnapshot(), handler: this.handler, _inputSchema: this._inputSchema };\n }\n\n loadSnapshot({ handler, ...snapshot }: ReturnType<typeof this.createSnapshot>) {\n super.loadSnapshot(snapshot);\n Object.assign(this, { handler });\n }\n}\n"]}
|
|
@@ -3,7 +3,7 @@ import { z } from 'zod';
|
|
|
3
3
|
import { ConfigOptions, ImportObject, ImportOptions, evaluate } from 'mathjs';
|
|
4
4
|
import 'ajv';
|
|
5
5
|
import '../context.cjs';
|
|
6
|
-
import '../emitter-
|
|
6
|
+
import '../emitter-jN55XZZq.cjs';
|
|
7
7
|
import '../internals/types.cjs';
|
|
8
8
|
import '../internals/helpers/guards.cjs';
|
|
9
9
|
import '../internals/serializable.cjs';
|
|
@@ -3,7 +3,7 @@ import { z } from 'zod';
|
|
|
3
3
|
import { ConfigOptions, ImportObject, ImportOptions, evaluate } from 'mathjs';
|
|
4
4
|
import 'ajv';
|
|
5
5
|
import '../context.js';
|
|
6
|
-
import '../emitter-
|
|
6
|
+
import '../emitter-36-9MnvA.js';
|
|
7
7
|
import '../internals/types.js';
|
|
8
8
|
import '../internals/helpers/guards.js';
|
|
9
9
|
import '../internals/serializable.js';
|
package/dist/tools/custom.d.cts
CHANGED
|
@@ -11,14 +11,14 @@ import 'promise-based-task';
|
|
|
11
11
|
import '../cache/base.cjs';
|
|
12
12
|
import '../internals/helpers/schema.cjs';
|
|
13
13
|
import 'zod-to-json-schema';
|
|
14
|
-
import '../emitter-
|
|
14
|
+
import '../emitter-jN55XZZq.cjs';
|
|
15
15
|
import '../internals/helpers/promise.cjs';
|
|
16
16
|
import '../template.cjs';
|
|
17
17
|
import './python/storage.cjs';
|
|
18
18
|
import 'fs';
|
|
19
19
|
import './python/output.cjs';
|
|
20
20
|
import 'node:tls';
|
|
21
|
-
import '../chat-
|
|
21
|
+
import '../chat-BOb9n7AJ.cjs';
|
|
22
22
|
import '../backend/message.cjs';
|
|
23
23
|
import 'ai';
|
|
24
24
|
import '../backend/constants.cjs';
|
package/dist/tools/custom.d.ts
CHANGED
|
@@ -11,14 +11,14 @@ import 'promise-based-task';
|
|
|
11
11
|
import '../cache/base.js';
|
|
12
12
|
import '../internals/helpers/schema.js';
|
|
13
13
|
import 'zod-to-json-schema';
|
|
14
|
-
import '../emitter-
|
|
14
|
+
import '../emitter-36-9MnvA.js';
|
|
15
15
|
import '../internals/helpers/promise.js';
|
|
16
16
|
import '../template.js';
|
|
17
17
|
import './python/storage.js';
|
|
18
18
|
import 'fs';
|
|
19
19
|
import './python/output.js';
|
|
20
20
|
import 'node:tls';
|
|
21
|
-
import '../chat-
|
|
21
|
+
import '../chat-DrqwUgD8.js';
|
|
22
22
|
import '../backend/message.js';
|
|
23
23
|
import 'ai';
|
|
24
24
|
import '../backend/constants.js';
|
|
@@ -10,7 +10,7 @@ import '../../internals/helpers/guards.cjs';
|
|
|
10
10
|
import '../../internals/serializable.cjs';
|
|
11
11
|
import 'promise-based-task';
|
|
12
12
|
import '../../cache/base.cjs';
|
|
13
|
-
import '../../emitter-
|
|
13
|
+
import '../../emitter-jN55XZZq.cjs';
|
|
14
14
|
import '../../internals/helpers/promise.cjs';
|
|
15
15
|
import 'zod-to-json-schema';
|
|
16
16
|
|
|
@@ -10,7 +10,7 @@ import '../../internals/helpers/guards.js';
|
|
|
10
10
|
import '../../internals/serializable.js';
|
|
11
11
|
import 'promise-based-task';
|
|
12
12
|
import '../../cache/base.js';
|
|
13
|
-
import '../../emitter-
|
|
13
|
+
import '../../emitter-36-9MnvA.js';
|
|
14
14
|
import '../../internals/helpers/promise.js';
|
|
15
15
|
import 'zod-to-json-schema';
|
|
16
16
|
|
|
@@ -4,7 +4,7 @@ import { ClientConfig, ShowCollectionsResponse, DescribeCollectionResponse, Sear
|
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import 'ajv';
|
|
6
6
|
import '../../context.cjs';
|
|
7
|
-
import '../../emitter-
|
|
7
|
+
import '../../emitter-jN55XZZq.cjs';
|
|
8
8
|
import '../../internals/types.cjs';
|
|
9
9
|
import '../../internals/helpers/guards.cjs';
|
|
10
10
|
import '../../internals/serializable.cjs';
|
|
@@ -46,21 +46,21 @@ declare class MilvusDatabaseTool extends Tool<JSONToolOutput<MilvusSearchToolRes
|
|
|
46
46
|
}, "strip", z.ZodTypeAny, {
|
|
47
47
|
action: MilvusAction;
|
|
48
48
|
filter?: string | undefined;
|
|
49
|
-
metadata?: Record<string, any> | undefined;
|
|
50
49
|
collectionName?: string | undefined;
|
|
51
50
|
vector?: number[] | undefined;
|
|
52
51
|
vectors?: number[][] | undefined;
|
|
53
52
|
topK?: number | undefined;
|
|
53
|
+
metadata?: Record<string, any> | undefined;
|
|
54
54
|
ids?: (string | number)[] | undefined;
|
|
55
55
|
searchOutput?: string[] | undefined;
|
|
56
56
|
}, {
|
|
57
57
|
action: MilvusAction;
|
|
58
58
|
filter?: string | undefined;
|
|
59
|
-
metadata?: Record<string, any> | undefined;
|
|
60
59
|
collectionName?: string | undefined;
|
|
61
60
|
vector?: number[] | undefined;
|
|
62
61
|
vectors?: number[][] | undefined;
|
|
63
62
|
topK?: number | undefined;
|
|
63
|
+
metadata?: Record<string, any> | undefined;
|
|
64
64
|
ids?: (string | number)[] | undefined;
|
|
65
65
|
searchOutput?: string[] | undefined;
|
|
66
66
|
}>;
|
|
@@ -4,7 +4,7 @@ import { ClientConfig, ShowCollectionsResponse, DescribeCollectionResponse, Sear
|
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import 'ajv';
|
|
6
6
|
import '../../context.js';
|
|
7
|
-
import '../../emitter-
|
|
7
|
+
import '../../emitter-36-9MnvA.js';
|
|
8
8
|
import '../../internals/types.js';
|
|
9
9
|
import '../../internals/helpers/guards.js';
|
|
10
10
|
import '../../internals/serializable.js';
|
|
@@ -46,21 +46,21 @@ declare class MilvusDatabaseTool extends Tool<JSONToolOutput<MilvusSearchToolRes
|
|
|
46
46
|
}, "strip", z.ZodTypeAny, {
|
|
47
47
|
action: MilvusAction;
|
|
48
48
|
filter?: string | undefined;
|
|
49
|
-
metadata?: Record<string, any> | undefined;
|
|
50
49
|
collectionName?: string | undefined;
|
|
51
50
|
vector?: number[] | undefined;
|
|
52
51
|
vectors?: number[][] | undefined;
|
|
53
52
|
topK?: number | undefined;
|
|
53
|
+
metadata?: Record<string, any> | undefined;
|
|
54
54
|
ids?: (string | number)[] | undefined;
|
|
55
55
|
searchOutput?: string[] | undefined;
|
|
56
56
|
}, {
|
|
57
57
|
action: MilvusAction;
|
|
58
58
|
filter?: string | undefined;
|
|
59
|
-
metadata?: Record<string, any> | undefined;
|
|
60
59
|
collectionName?: string | undefined;
|
|
61
60
|
vector?: number[] | undefined;
|
|
62
61
|
vectors?: number[][] | undefined;
|
|
63
62
|
topK?: number | undefined;
|
|
63
|
+
metadata?: Record<string, any> | undefined;
|
|
64
64
|
ids?: (string | number)[] | undefined;
|
|
65
65
|
searchOutput?: string[] | undefined;
|
|
66
66
|
}>;
|
|
@@ -4,7 +4,7 @@ import { QdrantClientParams, QdrantClient } from '@qdrant/js-client-rest';
|
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import 'ajv';
|
|
6
6
|
import '../../context.cjs';
|
|
7
|
-
import '../../emitter-
|
|
7
|
+
import '../../emitter-jN55XZZq.cjs';
|
|
8
8
|
import '../../internals/types.cjs';
|
|
9
9
|
import '../../internals/helpers/guards.cjs';
|
|
10
10
|
import '../../internals/serializable.cjs';
|
|
@@ -4,7 +4,7 @@ import { QdrantClientParams, QdrantClient } from '@qdrant/js-client-rest';
|
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import 'ajv';
|
|
6
6
|
import '../../context.js';
|
|
7
|
-
import '../../emitter-
|
|
7
|
+
import '../../emitter-36-9MnvA.js';
|
|
8
8
|
import '../../internals/types.js';
|
|
9
9
|
import '../../internals/helpers/guards.js';
|
|
10
10
|
import '../../internals/serializable.js';
|
|
@@ -5,7 +5,7 @@ import { Provider } from './metadata.cjs';
|
|
|
5
5
|
import { AnyToolSchemaLike } from '../../internals/helpers/schema.cjs';
|
|
6
6
|
import 'ajv';
|
|
7
7
|
import '../../context.cjs';
|
|
8
|
-
import '../../emitter-
|
|
8
|
+
import '../../emitter-jN55XZZq.cjs';
|
|
9
9
|
import '../../internals/types.cjs';
|
|
10
10
|
import '../../internals/helpers/guards.cjs';
|
|
11
11
|
import '../../internals/serializable.cjs';
|
|
@@ -5,7 +5,7 @@ import { Provider } from './metadata.js';
|
|
|
5
5
|
import { AnyToolSchemaLike } from '../../internals/helpers/schema.js';
|
|
6
6
|
import 'ajv';
|
|
7
7
|
import '../../context.js';
|
|
8
|
-
import '../../emitter-
|
|
8
|
+
import '../../emitter-36-9MnvA.js';
|
|
9
9
|
import '../../internals/types.js';
|
|
10
10
|
import '../../internals/helpers/guards.js';
|
|
11
11
|
import '../../internals/serializable.js';
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var zod = require('zod');
|
|
4
|
+
var base_cjs = require('./base.cjs');
|
|
5
|
+
var message_cjs = require('../backend/message.cjs');
|
|
6
|
+
var emitter_cjs = require('../emitter/emitter.cjs');
|
|
7
|
+
var object_cjs = require('../internals/helpers/object.cjs');
|
|
8
|
+
var remeda = require('remeda');
|
|
9
|
+
|
|
10
|
+
var __defProp = Object.defineProperty;
|
|
11
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
12
|
+
class HandoffTool extends base_cjs.Tool {
|
|
13
|
+
static {
|
|
14
|
+
__name(this, "HandoffTool");
|
|
15
|
+
}
|
|
16
|
+
target;
|
|
17
|
+
propagateInputs;
|
|
18
|
+
name;
|
|
19
|
+
description;
|
|
20
|
+
emitter = emitter_cjs.Emitter.root.child({
|
|
21
|
+
namespace: [
|
|
22
|
+
"tool",
|
|
23
|
+
"handoff"
|
|
24
|
+
],
|
|
25
|
+
creator: this
|
|
26
|
+
});
|
|
27
|
+
inputSchema() {
|
|
28
|
+
return zod.z.object({
|
|
29
|
+
task: zod.z.string().describe("Clearly defined task for the agent to work on based on his abilities.")
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
constructor(target, options) {
|
|
33
|
+
super(), this.target = target;
|
|
34
|
+
this.name = remeda.toCamelCase(options?.name || this.target.meta.name);
|
|
35
|
+
this.description = options?.description || this.target.meta.description;
|
|
36
|
+
this.propagateInputs = options?.propagateInputs ?? true;
|
|
37
|
+
}
|
|
38
|
+
async _run(input, options, run) {
|
|
39
|
+
const memory = object_cjs.getProp(run.context, [
|
|
40
|
+
base_cjs.Tool.contextKeys.Memory
|
|
41
|
+
]);
|
|
42
|
+
if (!memory) {
|
|
43
|
+
throw new base_cjs.ToolError(`No memory found in the context.`, [], {
|
|
44
|
+
isRetryable: false,
|
|
45
|
+
isFatal: true
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
let messages = memory.messages.filter((msg) => !(msg instanceof message_cjs.SystemMessage));
|
|
49
|
+
const lastValidMsgIndex = remeda.findLastIndex(messages, (msg) => msg instanceof message_cjs.AssistantMessage && (msg.getToolCalls()?.length ?? 0) > 0);
|
|
50
|
+
if (lastValidMsgIndex !== -1) {
|
|
51
|
+
messages = messages.slice(0, lastValidMsgIndex);
|
|
52
|
+
}
|
|
53
|
+
if (this.propagateInputs) {
|
|
54
|
+
messages.push(new message_cjs.UserMessage(input.task));
|
|
55
|
+
}
|
|
56
|
+
const target = await this.target.clone();
|
|
57
|
+
target.memory.reset();
|
|
58
|
+
await target.memory.addMany(messages);
|
|
59
|
+
const response = await target.run({
|
|
60
|
+
prompt: null
|
|
61
|
+
});
|
|
62
|
+
return new base_cjs.StringToolOutput(response.result.text);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
exports.HandoffTool = HandoffTool;
|
|
67
|
+
//# sourceMappingURL=handoff.cjs.map
|
|
68
|
+
//# sourceMappingURL=handoff.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/tools/handoff.ts"],"names":["HandoffTool","Tool","propagateInputs","name","description","emitter","Emitter","root","child","namespace","creator","inputSchema","z","object","task","string","describe","target","options","toCamelCase","meta","_run","input","run","memory","getProp","context","contextKeys","Memory","ToolError","isRetryable","isFatal","messages","filter","msg","SystemMessage","lastValidMsgIndex","findLastIndex","AssistantMessage","getToolCalls","length","slice","push","UserMessage","clone","reset","addMany","response","prompt","StringToolOutput","result","text"],"mappings":";;;;;;;;;;;AA4BO,MAAMA,oBAAoBC,aAAAA,CAAAA;EA5BjC;;;;AA6BmBC,EAAAA,eAAAA;AACVC,EAAAA,IAAAA;AACAC,EAAAA,WAAAA;EAESC,OAAAA,GAA0DC,mBAAAA,CAAQC,KAAKC,KAAAA,CAAM;IAC3FC,SAAAA,EAAW;AAAC,MAAA,MAAA;AAAQ,MAAA;;IACpBC,OAAAA,EAAS;GACX,CAAA;EAEAC,WAAAA,GAAc;AACZ,IAAA,OAAOC,MAAEC,MAAAA,CAAO;AACdC,MAAAA,IAAAA,EAAMF,KAAAA,CACHG,MAAAA,EAAM,CACNC,QAAAA,CAAS,uEAAA;KACd,CAAA;AACF;AAEA,EAAA,WAAA,CACUC,QACRC,OAAAA,EACA;AACA,IAAA,KAAA,EAAK,EAAA,KAHGD,MAAAA,GAAAA,MAAAA;AAIR,IAAA,IAAA,CAAKd,OAAOgB,kBAAAA,CAAYD,OAAAA,EAASf,QAAQ,IAAA,CAAKc,MAAAA,CAAOG,KAAKjB,IAAI,CAAA;AAC9D,IAAA,IAAA,CAAKC,WAAAA,GAAcc,OAAAA,EAASd,WAAAA,IAAe,IAAA,CAAKa,OAAOG,IAAAA,CAAKhB,WAAAA;AAC5D,IAAA,IAAA,CAAKF,eAAAA,GAAkBgB,SAAShB,eAAAA,IAAmB,IAAA;AACrD;EAEA,MAAgBmB,IAAAA,CACdC,KAAAA,EACAJ,OAAAA,EACAK,GAAAA,EAC2B;AAC3B,IAAA,MAAMC,MAAAA,GAASC,kBAAAA,CAAQF,GAAAA,CAAIG,OAAAA,EAAS;AAACzB,MAAAA,aAAAA,CAAK0B,WAAAA,CAAYC;AAAO,KAAA,CAAA;AAE7D,IAAA,IAAI,CAACJ,MAAAA,EAAQ;AACX,MAAA,MAAM,IAAIK,kBAAAA,CAAU,CAAA,+BAAA,CAAA,EAAmC,EAAA,EAAI;QACzDC,WAAAA,EAAa,KAAA;QACbC,OAAAA,EAAS;OACX,CAAA;AACF;AAEA,IAAA,IAAIC,QAAAA,GAAsBR,OAAOQ,QAAAA,CAASC,MAAAA,CAAO,CAACC,GAAAA,KAAQ,EAAEA,eAAeC,yBAAAA,CAAY,CAAA;AAEvF,IAAA,MAAMC,iBAAAA,GAAoBC,oBAAAA,CACxBL,QAAAA,EACA,CAACE,GAAAA,KAAQA,GAAAA,YAAeI,4BAAAA,IAAAA,CAAqBJ,GAAAA,CAAIK,YAAAA,EAAY,EAAIC,MAAAA,IAAU,CAAA,IAAK,CAAA,CAAA;AAGlF,IAAA,IAAIJ,sBAAsB,EAAA,EAAI;AAC5BJ,MAAAA,QAAAA,GAAWA,QAAAA,CAASS,KAAAA,CAAM,CAAA,EAAGL,iBAAAA,CAAAA;AAC/B;AAEA,IAAA,IAAI,KAAKlC,eAAAA,EAAiB;AACxB8B,MAAAA,QAAAA,CAASU,IAAAA,CAAK,IAAIC,uBAAAA,CAAYrB,KAAAA,CAAMR,IAAI,CAAA,CAAA;AAC1C;AAEA,IAAA,MAAMG,MAAAA,GAAS,MAAM,IAAA,CAAKA,MAAAA,CAAO2B,KAAAA,EAAK;AACtC3B,IAAAA,MAAAA,CAAOO,OAAOqB,KAAAA,EAAK;AACnB,IAAA,MAAM5B,MAAAA,CAAOO,MAAAA,CAAOsB,OAAAA,CAAQd,QAAAA,CAAAA;AAE5B,IAAA,MAAMe,QAAAA,GAAW,MAAM9B,MAAAA,CAAOM,GAAAA,CAAI;MAAEyB,MAAAA,EAAQ;KAAK,CAAA;AAEjD,IAAA,OAAO,IAAIC,yBAAAA,CAAiBF,QAAAA,CAASG,MAAAA,CAAOC,IAAI,CAAA;AAClD;AACF","file":"handoff.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { z } from \"zod\";\nimport {\n BaseToolRunOptions,\n StringToolOutput,\n Tool,\n ToolEmitter,\n ToolError,\n ToolInput,\n} from \"./base.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { AssistantMessage, Message, SystemMessage, UserMessage } from \"@/backend/message.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { AnyAgent } from \"@/agents/types.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { getProp } from \"@/internals/helpers/object.js\";\nimport { findLastIndex, toCamelCase } from \"remeda\";\n\nexport interface HandoffToolInput {\n name?: string;\n description?: string;\n propagateInputs?: boolean;\n}\n\nexport class HandoffTool extends Tool<StringToolOutput> {\n private readonly propagateInputs: boolean;\n public name: string;\n public description: string;\n\n public readonly emitter: ToolEmitter<ToolInput<this>, StringToolOutput> = Emitter.root.child({\n namespace: [\"tool\", \"handoff\"],\n creator: this,\n });\n\n inputSchema() {\n return z.object({\n task: z\n .string()\n .describe(\"Clearly defined task for the agent to work on based on his abilities.\"),\n });\n }\n\n constructor(\n private target: AnyAgent,\n options?: HandoffToolInput,\n ) {\n super();\n this.name = toCamelCase(options?.name || this.target.meta.name);\n this.description = options?.description || this.target.meta.description;\n this.propagateInputs = options?.propagateInputs ?? true;\n }\n\n protected async _run(\n input: ToolInput<this>,\n options: Partial<BaseToolRunOptions>,\n run: GetRunContext<typeof this>,\n ): Promise<StringToolOutput> {\n const memory = getProp(run.context, [Tool.contextKeys.Memory]) as BaseMemory;\n\n if (!memory) {\n throw new ToolError(`No memory found in the context.`, [], {\n isRetryable: false,\n isFatal: true,\n });\n }\n\n let messages: Message[] = memory.messages.filter((msg) => !(msg instanceof SystemMessage));\n\n const lastValidMsgIndex = findLastIndex(\n messages,\n (msg) => msg instanceof AssistantMessage && (msg.getToolCalls()?.length ?? 0) > 0,\n );\n\n if (lastValidMsgIndex !== -1) {\n messages = messages.slice(0, lastValidMsgIndex);\n }\n\n if (this.propagateInputs) {\n messages.push(new UserMessage(input.task));\n }\n\n const target = await this.target.clone();\n target.memory.reset();\n await target.memory.addMany(messages);\n\n const response = await target.run({ prompt: null });\n\n return new StringToolOutput(response.result.text);\n }\n}\n"]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { Tool, StringToolOutput, ToolEmitter, ToolInput, BaseToolRunOptions } from './base.cjs';
|
|
3
|
+
import { b as AnyAgent } from '../base-XfWeXQ-S.cjs';
|
|
4
|
+
import { GetRunContext } from '../context.cjs';
|
|
5
|
+
import 'ajv';
|
|
6
|
+
import '../errors.cjs';
|
|
7
|
+
import '../internals/types.cjs';
|
|
8
|
+
import '../internals/helpers/guards.cjs';
|
|
9
|
+
import '../internals/serializable.cjs';
|
|
10
|
+
import 'promise-based-task';
|
|
11
|
+
import '../cache/base.cjs';
|
|
12
|
+
import '../internals/helpers/schema.cjs';
|
|
13
|
+
import 'zod-to-json-schema';
|
|
14
|
+
import '../emitter-jN55XZZq.cjs';
|
|
15
|
+
import '../internals/helpers/promise.cjs';
|
|
16
|
+
import '../memory/base.cjs';
|
|
17
|
+
import '../backend/message.cjs';
|
|
18
|
+
import 'ai';
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Copyright 2025 © BeeAI a Series of LF Projects, LLC
|
|
22
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
interface HandoffToolInput {
|
|
26
|
+
name?: string;
|
|
27
|
+
description?: string;
|
|
28
|
+
propagateInputs?: boolean;
|
|
29
|
+
}
|
|
30
|
+
declare class HandoffTool extends Tool<StringToolOutput> {
|
|
31
|
+
private target;
|
|
32
|
+
private readonly propagateInputs;
|
|
33
|
+
name: string;
|
|
34
|
+
description: string;
|
|
35
|
+
readonly emitter: ToolEmitter<ToolInput<this>, StringToolOutput>;
|
|
36
|
+
inputSchema(): z.ZodObject<{
|
|
37
|
+
task: z.ZodString;
|
|
38
|
+
}, "strip", z.ZodTypeAny, {
|
|
39
|
+
task: string;
|
|
40
|
+
}, {
|
|
41
|
+
task: string;
|
|
42
|
+
}>;
|
|
43
|
+
constructor(target: AnyAgent, options?: HandoffToolInput);
|
|
44
|
+
protected _run(input: ToolInput<this>, options: Partial<BaseToolRunOptions>, run: GetRunContext<typeof this>): Promise<StringToolOutput>;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export { HandoffTool, type HandoffToolInput };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { Tool, StringToolOutput, ToolEmitter, ToolInput, BaseToolRunOptions } from './base.js';
|
|
3
|
+
import { b as AnyAgent } from '../base-CyFx7BRL.js';
|
|
4
|
+
import { GetRunContext } from '../context.js';
|
|
5
|
+
import 'ajv';
|
|
6
|
+
import '../errors.js';
|
|
7
|
+
import '../internals/types.js';
|
|
8
|
+
import '../internals/helpers/guards.js';
|
|
9
|
+
import '../internals/serializable.js';
|
|
10
|
+
import 'promise-based-task';
|
|
11
|
+
import '../cache/base.js';
|
|
12
|
+
import '../internals/helpers/schema.js';
|
|
13
|
+
import 'zod-to-json-schema';
|
|
14
|
+
import '../emitter-36-9MnvA.js';
|
|
15
|
+
import '../internals/helpers/promise.js';
|
|
16
|
+
import '../memory/base.js';
|
|
17
|
+
import '../backend/message.js';
|
|
18
|
+
import 'ai';
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Copyright 2025 © BeeAI a Series of LF Projects, LLC
|
|
22
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
interface HandoffToolInput {
|
|
26
|
+
name?: string;
|
|
27
|
+
description?: string;
|
|
28
|
+
propagateInputs?: boolean;
|
|
29
|
+
}
|
|
30
|
+
declare class HandoffTool extends Tool<StringToolOutput> {
|
|
31
|
+
private target;
|
|
32
|
+
private readonly propagateInputs;
|
|
33
|
+
name: string;
|
|
34
|
+
description: string;
|
|
35
|
+
readonly emitter: ToolEmitter<ToolInput<this>, StringToolOutput>;
|
|
36
|
+
inputSchema(): z.ZodObject<{
|
|
37
|
+
task: z.ZodString;
|
|
38
|
+
}, "strip", z.ZodTypeAny, {
|
|
39
|
+
task: string;
|
|
40
|
+
}, {
|
|
41
|
+
task: string;
|
|
42
|
+
}>;
|
|
43
|
+
constructor(target: AnyAgent, options?: HandoffToolInput);
|
|
44
|
+
protected _run(input: ToolInput<this>, options: Partial<BaseToolRunOptions>, run: GetRunContext<typeof this>): Promise<StringToolOutput>;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export { HandoffTool, type HandoffToolInput };
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { Tool, ToolError, StringToolOutput } from './base.js';
|
|
3
|
+
import { SystemMessage, AssistantMessage, UserMessage } from '../backend/message.js';
|
|
4
|
+
import { Emitter } from '../emitter/emitter.js';
|
|
5
|
+
import { getProp } from '../internals/helpers/object.js';
|
|
6
|
+
import { toCamelCase, findLastIndex } from 'remeda';
|
|
7
|
+
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
10
|
+
class HandoffTool extends Tool {
|
|
11
|
+
static {
|
|
12
|
+
__name(this, "HandoffTool");
|
|
13
|
+
}
|
|
14
|
+
target;
|
|
15
|
+
propagateInputs;
|
|
16
|
+
name;
|
|
17
|
+
description;
|
|
18
|
+
emitter = Emitter.root.child({
|
|
19
|
+
namespace: [
|
|
20
|
+
"tool",
|
|
21
|
+
"handoff"
|
|
22
|
+
],
|
|
23
|
+
creator: this
|
|
24
|
+
});
|
|
25
|
+
inputSchema() {
|
|
26
|
+
return z.object({
|
|
27
|
+
task: z.string().describe("Clearly defined task for the agent to work on based on his abilities.")
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
constructor(target, options) {
|
|
31
|
+
super(), this.target = target;
|
|
32
|
+
this.name = toCamelCase(options?.name || this.target.meta.name);
|
|
33
|
+
this.description = options?.description || this.target.meta.description;
|
|
34
|
+
this.propagateInputs = options?.propagateInputs ?? true;
|
|
35
|
+
}
|
|
36
|
+
async _run(input, options, run) {
|
|
37
|
+
const memory = getProp(run.context, [
|
|
38
|
+
Tool.contextKeys.Memory
|
|
39
|
+
]);
|
|
40
|
+
if (!memory) {
|
|
41
|
+
throw new ToolError(`No memory found in the context.`, [], {
|
|
42
|
+
isRetryable: false,
|
|
43
|
+
isFatal: true
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
let messages = memory.messages.filter((msg) => !(msg instanceof SystemMessage));
|
|
47
|
+
const lastValidMsgIndex = findLastIndex(messages, (msg) => msg instanceof AssistantMessage && (msg.getToolCalls()?.length ?? 0) > 0);
|
|
48
|
+
if (lastValidMsgIndex !== -1) {
|
|
49
|
+
messages = messages.slice(0, lastValidMsgIndex);
|
|
50
|
+
}
|
|
51
|
+
if (this.propagateInputs) {
|
|
52
|
+
messages.push(new UserMessage(input.task));
|
|
53
|
+
}
|
|
54
|
+
const target = await this.target.clone();
|
|
55
|
+
target.memory.reset();
|
|
56
|
+
await target.memory.addMany(messages);
|
|
57
|
+
const response = await target.run({
|
|
58
|
+
prompt: null
|
|
59
|
+
});
|
|
60
|
+
return new StringToolOutput(response.result.text);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export { HandoffTool };
|
|
65
|
+
//# sourceMappingURL=handoff.js.map
|
|
66
|
+
//# sourceMappingURL=handoff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/tools/handoff.ts"],"names":["HandoffTool","Tool","propagateInputs","name","description","emitter","Emitter","root","child","namespace","creator","inputSchema","z","object","task","string","describe","target","options","toCamelCase","meta","_run","input","run","memory","getProp","context","contextKeys","Memory","ToolError","isRetryable","isFatal","messages","filter","msg","SystemMessage","lastValidMsgIndex","findLastIndex","AssistantMessage","getToolCalls","length","slice","push","UserMessage","clone","reset","addMany","response","prompt","StringToolOutput","result","text"],"mappings":";;;;;;;;;AA4BO,MAAMA,oBAAoBC,IAAAA,CAAAA;EA5BjC;;;;AA6BmBC,EAAAA,eAAAA;AACVC,EAAAA,IAAAA;AACAC,EAAAA,WAAAA;EAESC,OAAAA,GAA0DC,OAAAA,CAAQC,KAAKC,KAAAA,CAAM;IAC3FC,SAAAA,EAAW;AAAC,MAAA,MAAA;AAAQ,MAAA;;IACpBC,OAAAA,EAAS;GACX,CAAA;EAEAC,WAAAA,GAAc;AACZ,IAAA,OAAOC,EAAEC,MAAAA,CAAO;AACdC,MAAAA,IAAAA,EAAMF,CAAAA,CACHG,MAAAA,EAAM,CACNC,QAAAA,CAAS,uEAAA;KACd,CAAA;AACF;AAEA,EAAA,WAAA,CACUC,QACRC,OAAAA,EACA;AACA,IAAA,KAAA,EAAK,EAAA,KAHGD,MAAAA,GAAAA,MAAAA;AAIR,IAAA,IAAA,CAAKd,OAAOgB,WAAAA,CAAYD,OAAAA,EAASf,QAAQ,IAAA,CAAKc,MAAAA,CAAOG,KAAKjB,IAAI,CAAA;AAC9D,IAAA,IAAA,CAAKC,WAAAA,GAAcc,OAAAA,EAASd,WAAAA,IAAe,IAAA,CAAKa,OAAOG,IAAAA,CAAKhB,WAAAA;AAC5D,IAAA,IAAA,CAAKF,eAAAA,GAAkBgB,SAAShB,eAAAA,IAAmB,IAAA;AACrD;EAEA,MAAgBmB,IAAAA,CACdC,KAAAA,EACAJ,OAAAA,EACAK,GAAAA,EAC2B;AAC3B,IAAA,MAAMC,MAAAA,GAASC,OAAAA,CAAQF,GAAAA,CAAIG,OAAAA,EAAS;AAACzB,MAAAA,IAAAA,CAAK0B,WAAAA,CAAYC;AAAO,KAAA,CAAA;AAE7D,IAAA,IAAI,CAACJ,MAAAA,EAAQ;AACX,MAAA,MAAM,IAAIK,SAAAA,CAAU,CAAA,+BAAA,CAAA,EAAmC,EAAA,EAAI;QACzDC,WAAAA,EAAa,KAAA;QACbC,OAAAA,EAAS;OACX,CAAA;AACF;AAEA,IAAA,IAAIC,QAAAA,GAAsBR,OAAOQ,QAAAA,CAASC,MAAAA,CAAO,CAACC,GAAAA,KAAQ,EAAEA,eAAeC,aAAAA,CAAY,CAAA;AAEvF,IAAA,MAAMC,iBAAAA,GAAoBC,aAAAA,CACxBL,QAAAA,EACA,CAACE,GAAAA,KAAQA,GAAAA,YAAeI,gBAAAA,IAAAA,CAAqBJ,GAAAA,CAAIK,YAAAA,EAAY,EAAIC,MAAAA,IAAU,CAAA,IAAK,CAAA,CAAA;AAGlF,IAAA,IAAIJ,sBAAsB,EAAA,EAAI;AAC5BJ,MAAAA,QAAAA,GAAWA,QAAAA,CAASS,KAAAA,CAAM,CAAA,EAAGL,iBAAAA,CAAAA;AAC/B;AAEA,IAAA,IAAI,KAAKlC,eAAAA,EAAiB;AACxB8B,MAAAA,QAAAA,CAASU,IAAAA,CAAK,IAAIC,WAAAA,CAAYrB,KAAAA,CAAMR,IAAI,CAAA,CAAA;AAC1C;AAEA,IAAA,MAAMG,MAAAA,GAAS,MAAM,IAAA,CAAKA,MAAAA,CAAO2B,KAAAA,EAAK;AACtC3B,IAAAA,MAAAA,CAAOO,OAAOqB,KAAAA,EAAK;AACnB,IAAA,MAAM5B,MAAAA,CAAOO,MAAAA,CAAOsB,OAAAA,CAAQd,QAAAA,CAAAA;AAE5B,IAAA,MAAMe,QAAAA,GAAW,MAAM9B,MAAAA,CAAOM,GAAAA,CAAI;MAAEyB,MAAAA,EAAQ;KAAK,CAAA;AAEjD,IAAA,OAAO,IAAIC,gBAAAA,CAAiBF,QAAAA,CAASG,MAAAA,CAAOC,IAAI,CAAA;AAClD;AACF","file":"handoff.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { z } from \"zod\";\nimport {\n BaseToolRunOptions,\n StringToolOutput,\n Tool,\n ToolEmitter,\n ToolError,\n ToolInput,\n} from \"./base.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { AssistantMessage, Message, SystemMessage, UserMessage } from \"@/backend/message.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { AnyAgent } from \"@/agents/types.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { getProp } from \"@/internals/helpers/object.js\";\nimport { findLastIndex, toCamelCase } from \"remeda\";\n\nexport interface HandoffToolInput {\n name?: string;\n description?: string;\n propagateInputs?: boolean;\n}\n\nexport class HandoffTool extends Tool<StringToolOutput> {\n private readonly propagateInputs: boolean;\n public name: string;\n public description: string;\n\n public readonly emitter: ToolEmitter<ToolInput<this>, StringToolOutput> = Emitter.root.child({\n namespace: [\"tool\", \"handoff\"],\n creator: this,\n });\n\n inputSchema() {\n return z.object({\n task: z\n .string()\n .describe(\"Clearly defined task for the agent to work on based on his abilities.\"),\n });\n }\n\n constructor(\n private target: AnyAgent,\n options?: HandoffToolInput,\n ) {\n super();\n this.name = toCamelCase(options?.name || this.target.meta.name);\n this.description = options?.description || this.target.meta.description;\n this.propagateInputs = options?.propagateInputs ?? true;\n }\n\n protected async _run(\n input: ToolInput<this>,\n options: Partial<BaseToolRunOptions>,\n run: GetRunContext<typeof this>,\n ): Promise<StringToolOutput> {\n const memory = getProp(run.context, [Tool.contextKeys.Memory]) as BaseMemory;\n\n if (!memory) {\n throw new ToolError(`No memory found in the context.`, [], {\n isRetryable: false,\n isFatal: true,\n });\n }\n\n let messages: Message[] = memory.messages.filter((msg) => !(msg instanceof SystemMessage));\n\n const lastValidMsgIndex = findLastIndex(\n messages,\n (msg) => msg instanceof AssistantMessage && (msg.getToolCalls()?.length ?? 0) > 0,\n );\n\n if (lastValidMsgIndex !== -1) {\n messages = messages.slice(0, lastValidMsgIndex);\n }\n\n if (this.propagateInputs) {\n messages.push(new UserMessage(input.task));\n }\n\n const target = await this.target.clone();\n target.memory.reset();\n await target.memory.addMany(messages);\n\n const response = await target.run({ prompt: null });\n\n return new StringToolOutput(response.result.text);\n }\n}\n"]}
|
package/dist/tools/llm.d.cts
CHANGED
|
@@ -2,7 +2,7 @@ import { BaseToolOptions, Tool, StringToolOutput, ToolEmitter, ToolInput, BaseTo
|
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { GetRunContext } from '../context.cjs';
|
|
4
4
|
import { PromptTemplate } from '../template.cjs';
|
|
5
|
-
import { m as ChatModel } from '../chat-
|
|
5
|
+
import { m as ChatModel } from '../chat-BOb9n7AJ.cjs';
|
|
6
6
|
import 'ajv';
|
|
7
7
|
import '../errors.cjs';
|
|
8
8
|
import '../internals/types.cjs';
|
|
@@ -12,7 +12,7 @@ import 'promise-based-task';
|
|
|
12
12
|
import '../cache/base.cjs';
|
|
13
13
|
import '../internals/helpers/schema.cjs';
|
|
14
14
|
import 'zod-to-json-schema';
|
|
15
|
-
import '../emitter-
|
|
15
|
+
import '../emitter-jN55XZZq.cjs';
|
|
16
16
|
import '../internals/helpers/promise.cjs';
|
|
17
17
|
import '../backend/message.cjs';
|
|
18
18
|
import 'ai';
|
package/dist/tools/llm.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { BaseToolOptions, Tool, StringToolOutput, ToolEmitter, ToolInput, BaseTo
|
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { GetRunContext } from '../context.js';
|
|
4
4
|
import { PromptTemplate } from '../template.js';
|
|
5
|
-
import { m as ChatModel } from '../chat-
|
|
5
|
+
import { m as ChatModel } from '../chat-DrqwUgD8.js';
|
|
6
6
|
import 'ajv';
|
|
7
7
|
import '../errors.js';
|
|
8
8
|
import '../internals/types.js';
|
|
@@ -12,7 +12,7 @@ import 'promise-based-task';
|
|
|
12
12
|
import '../cache/base.js';
|
|
13
13
|
import '../internals/helpers/schema.js';
|
|
14
14
|
import 'zod-to-json-schema';
|
|
15
|
-
import '../emitter-
|
|
15
|
+
import '../emitter-36-9MnvA.js';
|
|
16
16
|
import '../internals/helpers/promise.js';
|
|
17
17
|
import '../backend/message.js';
|
|
18
18
|
import 'ai';
|