@illuma-ai/agents 1.4.0-alpha.5 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +62 -0
- package/dist/cjs/agents/AgentContext.cjs +274 -67
- package/dist/cjs/agents/AgentContext.cjs.map +1 -1
- package/dist/cjs/common/enum.cjs +44 -13
- package/dist/cjs/common/enum.cjs.map +1 -1
- package/dist/cjs/graphs/Graph.cjs +182 -5
- package/dist/cjs/graphs/Graph.cjs.map +1 -1
- package/dist/cjs/graphs/MultiAgentGraph.cjs +152 -1167
- package/dist/cjs/graphs/MultiAgentGraph.cjs.map +1 -1
- package/dist/cjs/hooks/HookRegistry.cjs +162 -0
- package/dist/cjs/hooks/HookRegistry.cjs.map +1 -0
- package/dist/cjs/hooks/executeHooks.cjs +276 -0
- package/dist/cjs/hooks/executeHooks.cjs.map +1 -0
- package/dist/cjs/hooks/matchers.cjs +256 -0
- package/dist/cjs/hooks/matchers.cjs.map +1 -0
- package/dist/cjs/hooks/types.cjs +27 -0
- package/dist/cjs/hooks/types.cjs.map +1 -0
- package/dist/cjs/langchain/google-common.cjs +3 -0
- package/dist/cjs/langchain/google-common.cjs.map +1 -0
- package/dist/cjs/langchain/index.cjs +86 -0
- package/dist/cjs/langchain/index.cjs.map +1 -0
- package/dist/cjs/langchain/language_models/chat_models.cjs +3 -0
- package/dist/cjs/langchain/language_models/chat_models.cjs.map +1 -0
- package/dist/cjs/langchain/messages/tool.cjs +3 -0
- package/dist/cjs/langchain/messages/tool.cjs.map +1 -0
- package/dist/cjs/langchain/messages.cjs +51 -0
- package/dist/cjs/langchain/messages.cjs.map +1 -0
- package/dist/cjs/langchain/openai.cjs +3 -0
- package/dist/cjs/langchain/openai.cjs.map +1 -0
- package/dist/cjs/langchain/prompts.cjs +11 -0
- package/dist/cjs/langchain/prompts.cjs.map +1 -0
- package/dist/cjs/langchain/runnables.cjs +19 -0
- package/dist/cjs/langchain/runnables.cjs.map +1 -0
- package/dist/cjs/langchain/tools.cjs +23 -0
- package/dist/cjs/langchain/tools.cjs.map +1 -0
- package/dist/cjs/langchain/utils/env.cjs +11 -0
- package/dist/cjs/langchain/utils/env.cjs.map +1 -0
- package/dist/cjs/llm/anthropic/utils/message_inputs.cjs +5 -1
- package/dist/cjs/llm/anthropic/utils/message_inputs.cjs.map +1 -1
- package/dist/cjs/llm/bedrock/cacheSupport.cjs +55 -0
- package/dist/cjs/llm/bedrock/cacheSupport.cjs.map +1 -0
- package/dist/cjs/llm/bedrock/index.cjs +61 -33
- package/dist/cjs/llm/bedrock/index.cjs.map +1 -1
- package/dist/cjs/llm/openai/index.cjs +0 -3
- package/dist/cjs/llm/openai/index.cjs.map +1 -1
- package/dist/cjs/llm/openai/utils/index.cjs +27 -10
- package/dist/cjs/llm/openai/utils/index.cjs.map +1 -1
- package/dist/cjs/main.cjs +178 -117
- package/dist/cjs/main.cjs.map +1 -1
- package/dist/cjs/messages/cache.cjs +89 -0
- package/dist/cjs/messages/cache.cjs.map +1 -1
- package/dist/cjs/messages/contextPruning.cjs +156 -0
- package/dist/cjs/messages/contextPruning.cjs.map +1 -0
- package/dist/cjs/messages/contextPruningSettings.cjs +53 -0
- package/dist/cjs/messages/contextPruningSettings.cjs.map +1 -0
- package/dist/cjs/messages/format.cjs +144 -20
- package/dist/cjs/messages/format.cjs.map +1 -1
- package/dist/cjs/messages/prune.cjs +505 -4
- package/dist/cjs/messages/prune.cjs.map +1 -1
- package/dist/cjs/run.cjs +141 -1
- package/dist/cjs/run.cjs.map +1 -1
- package/dist/cjs/tools/BashExecutor.cjs +235 -0
- package/dist/cjs/tools/BashExecutor.cjs.map +1 -0
- package/dist/cjs/tools/BashProgrammaticToolCalling.cjs +297 -0
- package/dist/cjs/tools/BashProgrammaticToolCalling.cjs.map +1 -0
- package/dist/cjs/tools/CodeExecutor.cjs +44 -47
- package/dist/cjs/tools/CodeExecutor.cjs.map +1 -1
- package/dist/cjs/tools/ProgrammaticToolCalling.cjs +16 -11
- package/dist/cjs/tools/ProgrammaticToolCalling.cjs.map +1 -1
- package/dist/cjs/tools/ReadFile.cjs +44 -0
- package/dist/cjs/tools/ReadFile.cjs.map +1 -0
- package/dist/cjs/tools/SkillTool.cjs +51 -0
- package/dist/cjs/tools/SkillTool.cjs.map +1 -0
- package/dist/cjs/tools/SubagentTool.cjs +93 -0
- package/dist/cjs/tools/SubagentTool.cjs.map +1 -0
- package/dist/cjs/tools/ToolNode.cjs +450 -24
- package/dist/cjs/tools/ToolNode.cjs.map +1 -1
- package/dist/cjs/tools/search/search.cjs +11 -3
- package/dist/cjs/tools/search/search.cjs.map +1 -1
- package/dist/cjs/tools/search/tavily-scraper.cjs +189 -0
- package/dist/cjs/tools/search/tavily-scraper.cjs.map +1 -0
- package/dist/cjs/tools/search/tavily-search.cjs +372 -0
- package/dist/cjs/tools/search/tavily-search.cjs.map +1 -0
- package/dist/cjs/tools/search/tool.cjs +28 -4
- package/dist/cjs/tools/search/tool.cjs.map +1 -1
- package/dist/cjs/tools/search/utils.cjs +10 -3
- package/dist/cjs/tools/search/utils.cjs.map +1 -1
- package/dist/cjs/tools/skillCatalog.cjs +84 -0
- package/dist/cjs/tools/skillCatalog.cjs.map +1 -0
- package/dist/cjs/tools/subagent/SubagentExecutor.cjs +512 -0
- package/dist/cjs/tools/subagent/SubagentExecutor.cjs.map +1 -0
- package/dist/cjs/tools/toolOutputReferences.cjs +670 -0
- package/dist/cjs/tools/toolOutputReferences.cjs.map +1 -0
- package/dist/cjs/types/agent-cache.cjs +53 -0
- package/dist/cjs/types/agent-cache.cjs.map +1 -0
- package/dist/cjs/types/graph.cjs.map +1 -1
- package/dist/cjs/utils/truncation.cjs +135 -0
- package/dist/cjs/utils/truncation.cjs.map +1 -0
- package/dist/esm/agents/AgentContext.mjs +274 -67
- package/dist/esm/agents/AgentContext.mjs.map +1 -1
- package/dist/esm/common/enum.mjs +44 -12
- package/dist/esm/common/enum.mjs.map +1 -1
- package/dist/esm/graphs/Graph.mjs +182 -5
- package/dist/esm/graphs/Graph.mjs.map +1 -1
- package/dist/esm/graphs/MultiAgentGraph.mjs +155 -1170
- package/dist/esm/graphs/MultiAgentGraph.mjs.map +1 -1
- package/dist/esm/hooks/HookRegistry.mjs +160 -0
- package/dist/esm/hooks/HookRegistry.mjs.map +1 -0
- package/dist/esm/hooks/executeHooks.mjs +273 -0
- package/dist/esm/hooks/executeHooks.mjs.map +1 -0
- package/dist/esm/hooks/matchers.mjs +251 -0
- package/dist/esm/hooks/matchers.mjs.map +1 -0
- package/dist/esm/hooks/types.mjs +25 -0
- package/dist/esm/hooks/types.mjs.map +1 -0
- package/dist/esm/langchain/google-common.mjs +2 -0
- package/dist/esm/langchain/google-common.mjs.map +1 -0
- package/dist/esm/langchain/index.mjs +5 -0
- package/dist/esm/langchain/index.mjs.map +1 -0
- package/dist/esm/langchain/language_models/chat_models.mjs +2 -0
- package/dist/esm/langchain/language_models/chat_models.mjs.map +1 -0
- package/dist/esm/langchain/messages/tool.mjs +2 -0
- package/dist/esm/langchain/messages/tool.mjs.map +1 -0
- package/dist/esm/langchain/messages.mjs +2 -0
- package/dist/esm/langchain/messages.mjs.map +1 -0
- package/dist/esm/langchain/openai.mjs +2 -0
- package/dist/esm/langchain/openai.mjs.map +1 -0
- package/dist/esm/langchain/prompts.mjs +2 -0
- package/dist/esm/langchain/prompts.mjs.map +1 -0
- package/dist/esm/langchain/runnables.mjs +2 -0
- package/dist/esm/langchain/runnables.mjs.map +1 -0
- package/dist/esm/langchain/tools.mjs +2 -0
- package/dist/esm/langchain/tools.mjs.map +1 -0
- package/dist/esm/langchain/utils/env.mjs +2 -0
- package/dist/esm/langchain/utils/env.mjs.map +1 -0
- package/dist/esm/llm/anthropic/utils/message_inputs.mjs +5 -1
- package/dist/esm/llm/anthropic/utils/message_inputs.mjs.map +1 -1
- package/dist/esm/llm/bedrock/cacheSupport.mjs +52 -0
- package/dist/esm/llm/bedrock/cacheSupport.mjs.map +1 -0
- package/dist/esm/llm/bedrock/index.mjs +61 -34
- package/dist/esm/llm/bedrock/index.mjs.map +1 -1
- package/dist/esm/llm/openai/index.mjs +0 -3
- package/dist/esm/llm/openai/index.mjs.map +1 -1
- package/dist/esm/llm/openai/utils/index.mjs +27 -10
- package/dist/esm/llm/openai/utils/index.mjs.map +1 -1
- package/dist/esm/main.mjs +21 -24
- package/dist/esm/main.mjs.map +1 -1
- package/dist/esm/messages/cache.mjs +89 -0
- package/dist/esm/messages/cache.mjs.map +1 -1
- package/dist/esm/messages/contextPruning.mjs +154 -0
- package/dist/esm/messages/contextPruning.mjs.map +1 -0
- package/dist/esm/messages/contextPruningSettings.mjs +50 -0
- package/dist/esm/messages/contextPruningSettings.mjs.map +1 -0
- package/dist/esm/messages/format.mjs +136 -12
- package/dist/esm/messages/format.mjs.map +1 -1
- package/dist/esm/messages/prune.mjs +504 -7
- package/dist/esm/messages/prune.mjs.map +1 -1
- package/dist/esm/run.mjs +141 -1
- package/dist/esm/run.mjs.map +1 -1
- package/dist/esm/tools/BashExecutor.mjs +227 -0
- package/dist/esm/tools/BashExecutor.mjs.map +1 -0
- package/dist/esm/tools/BashProgrammaticToolCalling.mjs +288 -0
- package/dist/esm/tools/BashProgrammaticToolCalling.mjs.map +1 -0
- package/dist/esm/tools/CodeExecutor.mjs +44 -48
- package/dist/esm/tools/CodeExecutor.mjs.map +1 -1
- package/dist/esm/tools/ProgrammaticToolCalling.mjs +17 -12
- package/dist/esm/tools/ProgrammaticToolCalling.mjs.map +1 -1
- package/dist/esm/tools/ReadFile.mjs +39 -0
- package/dist/esm/tools/ReadFile.mjs.map +1 -0
- package/dist/esm/tools/SkillTool.mjs +46 -0
- package/dist/esm/tools/SkillTool.mjs.map +1 -0
- package/dist/esm/tools/SubagentTool.mjs +86 -0
- package/dist/esm/tools/SubagentTool.mjs.map +1 -0
- package/dist/esm/tools/ToolNode.mjs +452 -26
- package/dist/esm/tools/ToolNode.mjs.map +1 -1
- package/dist/esm/tools/search/search.mjs +11 -3
- package/dist/esm/tools/search/search.mjs.map +1 -1
- package/dist/esm/tools/search/tavily-scraper.mjs +186 -0
- package/dist/esm/tools/search/tavily-scraper.mjs.map +1 -0
- package/dist/esm/tools/search/tavily-search.mjs +370 -0
- package/dist/esm/tools/search/tavily-search.mjs.map +1 -0
- package/dist/esm/tools/search/tool.mjs +28 -4
- package/dist/esm/tools/search/tool.mjs.map +1 -1
- package/dist/esm/tools/search/utils.mjs +10 -3
- package/dist/esm/tools/search/utils.mjs.map +1 -1
- package/dist/esm/tools/skillCatalog.mjs +82 -0
- package/dist/esm/tools/skillCatalog.mjs.map +1 -0
- package/dist/esm/tools/subagent/SubagentExecutor.mjs +506 -0
- package/dist/esm/tools/subagent/SubagentExecutor.mjs.map +1 -0
- package/dist/esm/tools/toolOutputReferences.mjs +662 -0
- package/dist/esm/tools/toolOutputReferences.mjs.map +1 -0
- package/dist/esm/types/agent-cache.mjs +51 -0
- package/dist/esm/types/agent-cache.mjs.map +1 -0
- package/dist/esm/types/graph.mjs.map +1 -1
- package/dist/esm/utils/truncation.mjs +128 -0
- package/dist/esm/utils/truncation.mjs.map +1 -0
- package/dist/types/agents/AgentContext.d.ts +101 -8
- package/dist/types/common/enum.d.ts +39 -12
- package/dist/types/common/index.d.ts +0 -1
- package/dist/types/graphs/Graph.d.ts +43 -0
- package/dist/types/graphs/MultiAgentGraph.d.ts +26 -150
- package/dist/types/graphs/index.d.ts +0 -1
- package/dist/types/hooks/HookRegistry.d.ts +56 -0
- package/dist/types/hooks/executeHooks.d.ts +79 -0
- package/dist/types/hooks/index.d.ts +6 -0
- package/dist/types/hooks/matchers.d.ts +95 -0
- package/dist/types/hooks/types.d.ts +320 -0
- package/dist/types/index.d.ts +9 -4
- package/dist/types/langchain/google-common.d.ts +1 -0
- package/dist/types/langchain/index.d.ts +8 -0
- package/dist/types/langchain/language_models/chat_models.d.ts +1 -0
- package/dist/types/langchain/messages/tool.d.ts +1 -0
- package/dist/types/langchain/messages.d.ts +2 -0
- package/dist/types/langchain/openai.d.ts +1 -0
- package/dist/types/langchain/prompts.d.ts +1 -0
- package/dist/types/langchain/runnables.d.ts +2 -0
- package/dist/types/langchain/tools.d.ts +2 -0
- package/dist/types/langchain/utils/env.d.ts +1 -0
- package/dist/types/llm/bedrock/cacheSupport.d.ts +35 -0
- package/dist/types/llm/bedrock/index.d.ts +54 -1
- package/dist/types/messages/contextPruning.d.ts +42 -0
- package/dist/types/messages/contextPruningSettings.d.ts +44 -0
- package/dist/types/messages/format.d.ts +9 -1
- package/dist/types/messages/index.d.ts +2 -0
- package/dist/types/messages/prune.d.ts +91 -1
- package/dist/types/run.d.ts +2 -0
- package/dist/types/tools/BashExecutor.d.ts +76 -0
- package/dist/types/tools/BashProgrammaticToolCalling.d.ts +72 -0
- package/dist/types/tools/CodeExecutor.d.ts +8 -26
- package/dist/types/tools/ReadFile.d.ts +28 -0
- package/dist/types/tools/SkillTool.d.ts +40 -0
- package/dist/types/tools/SubagentTool.d.ts +36 -0
- package/dist/types/tools/ToolNode.d.ts +77 -5
- package/dist/types/tools/search/tavily-scraper.d.ts +19 -0
- package/dist/types/tools/search/tavily-search.d.ts +4 -0
- package/dist/types/tools/search/types.d.ts +99 -5
- package/dist/types/tools/search/utils.d.ts +2 -2
- package/dist/types/tools/skillCatalog.d.ts +19 -0
- package/dist/types/tools/subagent/SubagentExecutor.d.ts +137 -0
- package/dist/types/tools/subagent/index.d.ts +2 -0
- package/dist/types/tools/subagent/types.d.ts +84 -0
- package/dist/types/tools/toolOutputReferences.d.ts +236 -0
- package/dist/types/types/agent-cache.d.ts +70 -0
- package/dist/types/types/graph.d.ts +162 -22
- package/dist/types/types/index.d.ts +3 -0
- package/dist/types/types/messages.d.ts +26 -0
- package/dist/types/types/run.d.ts +22 -0
- package/dist/types/types/skill.d.ts +9 -0
- package/dist/types/types/tools.d.ts +111 -0
- package/dist/types/utils/index.d.ts +1 -3
- package/dist/types/utils/truncation.d.ts +70 -0
- package/package.json +58 -13
- package/src/agents/AgentContext.js.map +1 -0
- package/src/agents/AgentContext.test.js.map +1 -0
- package/src/agents/AgentContext.ts +321 -78
- package/src/agents/__tests__/AgentContext.cacheTtl.live.test.ts +259 -0
- package/src/agents/__tests__/AgentContext.crossAgentTier1.live.test.ts +264 -0
- package/src/agents/__tests__/AgentContext.crossUserCache.live.test.ts +342 -0
- package/src/agents/__tests__/AgentContext.test.js.map +1 -0
- package/src/agents/__tests__/AgentContext.test.ts +632 -0
- package/src/agents/__tests__/resolveStructuredOutputMode.test.js.map +1 -0
- package/src/common/__tests__/enum.test.ts +7 -17
- package/src/common/enum.js.map +1 -0
- package/src/common/enum.ts +43 -12
- package/src/common/index.js.map +1 -0
- package/src/common/index.ts +0 -1
- package/src/events.js.map +1 -0
- package/src/graphs/Graph.js.map +1 -0
- package/src/graphs/Graph.ts +222 -2
- package/src/graphs/MultiAgentGraph.js.map +1 -0
- package/src/graphs/MultiAgentGraph.ts +154 -1466
- package/src/graphs/__tests__/MultiAgentGraph.test.ts +91 -0
- package/src/graphs/__tests__/structured-output.integration.test.js.map +1 -0
- package/src/graphs/__tests__/structured-output.test.js.map +1 -0
- package/src/graphs/contextManagement.e2e.test.js.map +1 -0
- package/src/graphs/contextManagement.test.js.map +1 -0
- package/src/graphs/handoffValidation.test.js.map +1 -0
- package/src/graphs/index.js.map +1 -0
- package/src/graphs/index.ts +0 -1
- package/src/hooks/HookRegistry.ts +208 -0
- package/src/hooks/__tests__/HookRegistry.test.ts +190 -0
- package/src/hooks/__tests__/compactHooks.test.ts +214 -0
- package/src/hooks/__tests__/executeHooks.test.ts +1013 -0
- package/src/hooks/__tests__/integration.test.ts +337 -0
- package/src/hooks/__tests__/matchers.test.ts +238 -0
- package/src/hooks/__tests__/toolHooks.test.ts +665 -0
- package/src/hooks/executeHooks.ts +375 -0
- package/src/hooks/index.ts +57 -0
- package/src/hooks/matchers.ts +280 -0
- package/src/hooks/types.ts +404 -0
- package/src/index.js.map +1 -0
- package/src/index.ts +15 -5
- package/src/instrumentation.js.map +1 -0
- package/src/langchain/google-common.ts +1 -0
- package/src/langchain/index.ts +8 -0
- package/src/langchain/language_models/chat_models.ts +1 -0
- package/src/langchain/messages/tool.ts +5 -0
- package/src/langchain/messages.ts +21 -0
- package/src/langchain/openai.ts +1 -0
- package/src/langchain/prompts.ts +1 -0
- package/src/langchain/runnables.ts +7 -0
- package/src/langchain/tools.ts +8 -0
- package/src/langchain/utils/env.ts +1 -0
- package/src/llm/anthropic/index.js.map +1 -0
- package/src/llm/anthropic/types.js.map +1 -0
- package/src/llm/anthropic/utils/message_inputs.js.map +1 -0
- package/src/llm/anthropic/utils/message_inputs.ts +10 -1
- package/src/llm/anthropic/utils/message_outputs.js.map +1 -0
- package/src/llm/anthropic/utils/output_parsers.js.map +1 -0
- package/src/llm/anthropic/utils/server-tool-inputs.test.ts +436 -0
- package/src/llm/anthropic/utils/tools.js.map +1 -0
- package/src/llm/bedrock/__tests__/bedrock-caching.test.js.map +1 -0
- package/src/llm/bedrock/__tests__/bedrock-caching.test.ts +166 -18
- package/src/llm/bedrock/cacheSupport.test.ts +99 -0
- package/src/llm/bedrock/cacheSupport.ts +53 -0
- package/src/llm/bedrock/index.js.map +1 -0
- package/src/llm/bedrock/index.ts +116 -41
- package/src/llm/bedrock/types.js.map +1 -0
- package/src/llm/bedrock/utils/index.js.map +1 -0
- package/src/llm/bedrock/utils/message_inputs.js.map +1 -0
- package/src/llm/bedrock/utils/message_outputs.js.map +1 -0
- package/src/llm/fake.js.map +1 -0
- package/src/llm/google/index.js.map +1 -0
- package/src/llm/google/types.js.map +1 -0
- package/src/llm/google/utils/common.js.map +1 -0
- package/src/llm/google/utils/tools.js.map +1 -0
- package/src/llm/google/utils/zod_to_genai_parameters.js.map +1 -0
- package/src/llm/openai/index.js.map +1 -0
- package/src/llm/openai/types.js.map +1 -0
- package/src/llm/openai/utils/index.js.map +1 -0
- package/src/llm/openai/utils/index.ts +31 -14
- package/src/llm/openai/utils/isReasoningModel.test.js.map +1 -0
- package/src/llm/openrouter/index.js.map +1 -0
- package/src/llm/openrouter/reasoning.test.js.map +1 -0
- package/src/llm/providers.js.map +1 -0
- package/src/llm/text.js.map +1 -0
- package/src/llm/vertexai/index.js.map +1 -0
- package/src/messages/__tests__/contextPruning.test.ts +228 -0
- package/src/messages/__tests__/tools.test.js.map +1 -0
- package/src/messages/cache.js.map +1 -0
- package/src/messages/cache.test.js.map +1 -0
- package/src/messages/cache.test.ts +62 -24
- package/src/messages/cache.ts +112 -0
- package/src/messages/content.js.map +1 -0
- package/src/messages/content.test.js.map +1 -0
- package/src/messages/contextPruning.ts +191 -0
- package/src/messages/contextPruningSettings.ts +90 -0
- package/src/messages/core.js.map +1 -0
- package/src/messages/ensureThinkingBlock.test.js.map +1 -0
- package/src/messages/format.js.map +1 -0
- package/src/messages/format.ts +164 -12
- package/src/messages/formatAgentMessages.skills.test.ts +413 -0
- package/src/messages/formatAgentMessages.test.js.map +1 -0
- package/src/messages/formatAgentMessages.tools.test.js.map +1 -0
- package/src/messages/formatMessage.test.js.map +1 -0
- package/src/messages/ids.js.map +1 -0
- package/src/messages/index.js.map +1 -0
- package/src/messages/index.ts +2 -0
- package/src/messages/labelContentByAgent.test.js.map +1 -0
- package/src/messages/prune.js.map +1 -0
- package/src/messages/prune.ts +661 -4
- package/src/messages/reducer.js.map +1 -0
- package/src/messages/shiftIndexTokenCountMap.test.js.map +1 -0
- package/src/messages/summarize.js.map +1 -0
- package/src/messages/summarize.test.js.map +1 -0
- package/src/messages/tools.js.map +1 -0
- package/src/mockStream.js.map +1 -0
- package/src/prompts/collab.js.map +1 -0
- package/src/prompts/index.js.map +1 -0
- package/src/prompts/taskmanager.js.map +1 -0
- package/src/run.js.map +1 -0
- package/src/run.ts +155 -1
- package/src/schemas/index.js.map +1 -0
- package/src/schemas/schema-preparation.test.js.map +1 -0
- package/src/schemas/validate.js.map +1 -0
- package/src/schemas/validate.test.js.map +1 -0
- package/src/scripts/abort.js.map +1 -0
- package/src/scripts/ant_web_search.js.map +1 -0
- package/src/scripts/ant_web_search_edge_case.js.map +1 -0
- package/src/scripts/ant_web_search_error_edge_case.js.map +1 -0
- package/src/scripts/args.js.map +1 -0
- package/src/scripts/bedrock-cache-debug.js.map +1 -0
- package/src/scripts/bedrock-content-aggregation-test.js.map +1 -0
- package/src/scripts/bedrock-merge-test.js.map +1 -0
- package/src/scripts/bedrock-parallel-tools-test.js.map +1 -0
- package/src/scripts/caching.js.map +1 -0
- package/src/scripts/cli.js.map +1 -0
- package/src/scripts/cli2.js.map +1 -0
- package/src/scripts/cli3.js.map +1 -0
- package/src/scripts/cli4.js.map +1 -0
- package/src/scripts/cli5.js.map +1 -0
- package/src/scripts/code_exec.js.map +1 -0
- package/src/scripts/code_exec_files.js.map +1 -0
- package/src/scripts/code_exec_multi_session.js.map +1 -0
- package/src/scripts/code_exec_ptc.js.map +1 -0
- package/src/scripts/code_exec_session.js.map +1 -0
- package/src/scripts/code_exec_simple.js.map +1 -0
- package/src/scripts/content.js.map +1 -0
- package/src/scripts/empty_input.js.map +1 -0
- package/src/scripts/handoff-test.js.map +1 -0
- package/src/scripts/image.js.map +1 -0
- package/src/scripts/memory.js.map +1 -0
- package/src/scripts/multi-agent-chain.js.map +1 -0
- package/src/scripts/multi-agent-chain.ts +2 -2
- package/src/scripts/multi-agent-conditional.js.map +1 -0
- package/src/scripts/multi-agent-document-review-chain.js.map +1 -0
- package/src/scripts/multi-agent-document-review-chain.ts +2 -2
- package/src/scripts/multi-agent-hybrid-flow.js.map +1 -0
- package/src/scripts/multi-agent-hybrid-flow.ts +4 -4
- package/src/scripts/multi-agent-parallel-start.js.map +1 -0
- package/src/scripts/multi-agent-parallel.js.map +1 -0
- package/src/scripts/multi-agent-parallel.ts +3 -3
- package/src/scripts/multi-agent-sequence.js.map +1 -0
- package/src/scripts/multi-agent-sequence.ts +3 -3
- package/src/scripts/multi-agent-subagent.ts +246 -0
- package/src/scripts/multi-agent-supervisor.js.map +1 -0
- package/src/scripts/multi-agent-supervisor.ts +5 -5
- package/src/scripts/multi-agent-test.js.map +1 -0
- package/src/scripts/parallel-asymmetric-tools-test.js.map +1 -0
- package/src/scripts/parallel-full-metadata-test.js.map +1 -0
- package/src/scripts/parallel-tools-test.js.map +1 -0
- package/src/scripts/poc-multi-agent-comprehensive.ts +8 -8
- package/src/scripts/programmatic_exec.js.map +1 -0
- package/src/scripts/programmatic_exec_agent.js.map +1 -0
- package/src/scripts/search.js.map +1 -0
- package/src/scripts/sequential-full-metadata-test.js.map +1 -0
- package/src/scripts/sequential-full-metadata-test.ts +2 -2
- package/src/scripts/simple.js.map +1 -0
- package/src/scripts/single-agent-metadata-test.js.map +1 -0
- package/src/scripts/stream.js.map +1 -0
- package/src/scripts/subagent-event-driven-debug.ts +190 -0
- package/src/scripts/subagent-tools-debug.ts +160 -0
- package/src/scripts/test-custom-prompt-key.js.map +1 -0
- package/src/scripts/test-custom-prompt-key.ts +3 -3
- package/src/scripts/test-handoff-input.js.map +1 -0
- package/src/scripts/test-handoff-input.ts +1 -1
- package/src/scripts/test-handoff-preamble.js.map +1 -0
- package/src/scripts/test-handoff-steering.js.map +1 -0
- package/src/scripts/test-handoff-steering.ts +3 -3
- package/src/scripts/test-multi-agent-list-handoff.js.map +1 -0
- package/src/scripts/test-multi-agent-list-handoff.ts +1 -1
- package/src/scripts/test-parallel-agent-labeling.js.map +1 -0
- package/src/scripts/test-parallel-agent-labeling.ts +3 -3
- package/src/scripts/test-parallel-handoffs.js.map +1 -0
- package/src/scripts/test-parallel-handoffs.ts +2 -2
- package/src/scripts/test-thinking-handoff-bedrock.js.map +1 -0
- package/src/scripts/test-thinking-handoff-bedrock.ts +1 -1
- package/src/scripts/test-thinking-handoff.js.map +1 -0
- package/src/scripts/test-thinking-handoff.ts +1 -1
- package/src/scripts/test-thinking-to-thinking-handoff-bedrock.js.map +1 -0
- package/src/scripts/test-thinking-to-thinking-handoff-bedrock.ts +1 -1
- package/src/scripts/test-tool-before-handoff-role-order.js.map +1 -0
- package/src/scripts/test-tool-before-handoff-role-order.ts +1 -1
- package/src/scripts/test-tools-before-handoff.js.map +1 -0
- package/src/scripts/test-tools-before-handoff.ts +1 -1
- package/src/scripts/test_code_api.js.map +1 -0
- package/src/scripts/thinking-bedrock.js.map +1 -0
- package/src/scripts/thinking-vertexai.js.map +1 -0
- package/src/scripts/thinking.js.map +1 -0
- package/src/scripts/tool_search.js.map +1 -0
- package/src/scripts/tools.js.map +1 -0
- package/src/specs/agent-handoffs-bedrock.integration.test.js.map +1 -0
- package/src/specs/agent-handoffs.test.js.map +1 -0
- package/src/specs/agent-handoffs.test.ts +26 -483
- package/src/specs/anthropic.simple.test.js.map +1 -0
- package/src/specs/anthropic.simple.test.ts +61 -0
- package/src/specs/azure.simple.test.js.map +1 -0
- package/src/specs/cache.simple.test.js.map +1 -0
- package/src/specs/custom-event-await.test.js.map +1 -0
- package/src/specs/deepseek.simple.test.js.map +1 -0
- package/src/specs/emergency-prune.test.js.map +1 -0
- package/src/specs/moonshot.simple.test.js.map +1 -0
- package/src/specs/multi-agent-summarization.test.ts +396 -0
- package/src/specs/observability.integration.test.js.map +1 -0
- package/src/specs/openai.simple.test.js.map +1 -0
- package/src/specs/openrouter.simple.test.js.map +1 -0
- package/src/specs/prune.orphans.test.ts +248 -0
- package/src/specs/prune.test.js.map +1 -0
- package/src/specs/prune.test.ts +104 -16
- package/src/specs/reasoning.test.js.map +1 -0
- package/src/specs/spec.utils.js.map +1 -0
- package/src/specs/thinking-handoff.test.js.map +1 -0
- package/src/specs/thinking-handoff.test.ts +19 -19
- package/src/specs/thinking-prune.test.js.map +1 -0
- package/src/specs/token-distribution-edge-case.test.js.map +1 -0
- package/src/specs/token-memoization.test.js.map +1 -0
- package/src/specs/tokens.test.js.map +1 -0
- package/src/specs/tool-error.test.js.map +1 -0
- package/src/splitStream.js.map +1 -0
- package/src/splitStream.test.js.map +1 -0
- package/src/stream.js.map +1 -0
- package/src/stream.test.js.map +1 -0
- package/src/test/mockTools.js.map +1 -0
- package/src/tools/BashExecutor.ts +281 -0
- package/src/tools/BashProgrammaticToolCalling.ts +397 -0
- package/src/tools/BrowserTools.js.map +1 -0
- package/src/tools/Calculator.js.map +1 -0
- package/src/tools/Calculator.test.js.map +1 -0
- package/src/tools/CodeExecutor.js.map +1 -0
- package/src/tools/CodeExecutor.ts +62 -54
- package/src/tools/ProgrammaticToolCalling.js.map +1 -0
- package/src/tools/ProgrammaticToolCalling.ts +29 -14
- package/src/tools/ReadFile.ts +39 -0
- package/src/tools/SkillTool.ts +46 -0
- package/src/tools/StreamingToolCallBuffer.js.map +1 -0
- package/src/tools/SubagentTool.ts +100 -0
- package/src/tools/ToolNode.js.map +1 -0
- package/src/tools/ToolNode.ts +548 -26
- package/src/tools/ToolSearch.js.map +1 -0
- package/src/tools/__tests__/BashExecutor.test.ts +49 -0
- package/src/tools/__tests__/BrowserTools.test.js.map +1 -0
- package/src/tools/__tests__/CodeExecutor.test.ts +37 -36
- package/src/tools/__tests__/ProgrammaticToolCalling.integration.test.js.map +1 -0
- package/src/tools/__tests__/ProgrammaticToolCalling.test.js.map +1 -0
- package/src/tools/__tests__/ProgrammaticToolCalling.test.ts +60 -0
- package/src/tools/__tests__/ReadFile.test.ts +44 -0
- package/src/tools/__tests__/SkillTool.test.ts +442 -0
- package/src/tools/__tests__/StreamingToolCallBuffer.test.js.map +1 -0
- package/src/tools/__tests__/SubagentExecutor.test.ts +1148 -0
- package/src/tools/__tests__/SubagentTool.test.ts +149 -0
- package/src/tools/__tests__/ToolApproval.test.js.map +1 -0
- package/src/tools/__tests__/ToolNode.outputReferences.test.ts +1438 -0
- package/src/tools/__tests__/ToolNode.recovery.test.js.map +1 -0
- package/src/tools/__tests__/ToolNode.session.test.js.map +1 -0
- package/src/tools/__tests__/ToolSearch.integration.test.js.map +1 -0
- package/src/tools/__tests__/ToolSearch.test.js.map +1 -0
- package/src/tools/__tests__/annotateMessagesForLLM.test.ts +479 -0
- package/src/tools/__tests__/handlers.test.js.map +1 -0
- package/src/tools/__tests__/skillCatalog.test.ts +161 -0
- package/src/tools/__tests__/subagentHooks.test.ts +210 -0
- package/src/tools/__tests__/toolOutputReferences.test.ts +415 -0
- package/src/tools/__tests__/truncation-recovery.integration.test.js.map +1 -0
- package/src/tools/handlers.js.map +1 -0
- package/src/tools/schema.js.map +1 -0
- package/src/tools/search/anthropic.js.map +1 -0
- package/src/tools/search/content.js.map +1 -0
- package/src/tools/search/content.test.js.map +1 -0
- package/src/tools/search/firecrawl.js.map +1 -0
- package/src/tools/search/format.js.map +1 -0
- package/src/tools/search/highlights.js.map +1 -0
- package/src/tools/search/index.js.map +1 -0
- package/src/tools/search/jina-reranker.test.js.map +1 -0
- package/src/tools/search/rerankers.js.map +1 -0
- package/src/tools/search/schema.js.map +1 -0
- package/src/tools/search/search.js.map +1 -0
- package/src/tools/search/search.ts +12 -2
- package/src/tools/search/serper-scraper.js.map +1 -0
- package/src/tools/search/tavily-scraper.ts +235 -0
- package/src/tools/search/tavily-search.ts +424 -0
- package/src/tools/search/tavily.test.ts +965 -0
- package/src/tools/search/test.js.map +1 -0
- package/src/tools/search/tool.js.map +1 -0
- package/src/tools/search/tool.ts +36 -2
- package/src/tools/search/types.js.map +1 -0
- package/src/tools/search/types.ts +133 -8
- package/src/tools/search/utils.js.map +1 -0
- package/src/tools/search/utils.ts +13 -5
- package/src/tools/skillCatalog.ts +126 -0
- package/src/tools/subagent/SubagentExecutor.ts +676 -0
- package/src/tools/subagent/index.ts +13 -0
- package/src/tools/subagent/types.test.ts +70 -0
- package/src/tools/subagent/types.ts +115 -0
- package/src/tools/toolOutputReferences.ts +825 -0
- package/src/types/agent-cache.ts +73 -0
- package/src/types/graph.js.map +1 -0
- package/src/types/graph.test.js.map +1 -0
- package/src/types/graph.ts +171 -20
- package/src/types/index.js.map +1 -0
- package/src/types/index.ts +3 -0
- package/src/types/llm.js.map +1 -0
- package/src/types/messages.js.map +1 -0
- package/src/types/messages.ts +27 -0
- package/src/types/run.js.map +1 -0
- package/src/types/run.ts +22 -0
- package/src/types/skill.ts +11 -0
- package/src/types/stream.js.map +1 -0
- package/src/types/tools.js.map +1 -0
- package/src/types/tools.ts +118 -0
- package/src/utils/__tests__/truncation.test.ts +66 -0
- package/src/utils/contextAnalytics.js.map +1 -0
- package/src/utils/contextAnalytics.test.js.map +1 -0
- package/src/utils/events.js.map +1 -0
- package/src/utils/graph.js.map +1 -0
- package/src/utils/handlers.js.map +1 -0
- package/src/utils/index.js.map +1 -0
- package/src/utils/index.ts +1 -3
- package/src/utils/llm.js.map +1 -0
- package/src/utils/llmConfig.js.map +1 -0
- package/src/utils/logging.js.map +1 -0
- package/src/utils/misc.js.map +1 -0
- package/src/utils/run.js.map +1 -0
- package/src/utils/schema.js.map +1 -0
- package/src/utils/title.js.map +1 -0
- package/src/utils/tokens.js.map +1 -0
- package/src/utils/toonFormat.js.map +1 -0
- package/src/utils/truncation.ts +154 -0
- package/dist/cjs/common/spawnPath.cjs +0 -104
- package/dist/cjs/common/spawnPath.cjs.map +0 -1
- package/dist/cjs/graphs/HandoffRegistry.cjs +0 -143
- package/dist/cjs/graphs/HandoffRegistry.cjs.map +0 -1
- package/dist/cjs/providers/a2a/A2ACapabilityProvider.cjs +0 -288
- package/dist/cjs/providers/a2a/A2ACapabilityProvider.cjs.map +0 -1
- package/dist/cjs/providers/a2a/client.cjs +0 -92
- package/dist/cjs/providers/a2a/client.cjs.map +0 -1
- package/dist/cjs/providers/a2a/config.cjs +0 -38
- package/dist/cjs/providers/a2a/config.cjs.map +0 -1
- package/dist/cjs/providers/capabilityNaming.cjs +0 -43
- package/dist/cjs/providers/capabilityNaming.cjs.map +0 -1
- package/dist/cjs/providers/mcp/MCPCapabilityProvider.cjs +0 -244
- package/dist/cjs/providers/mcp/MCPCapabilityProvider.cjs.map +0 -1
- package/dist/cjs/providers/mcp/config.cjs +0 -42
- package/dist/cjs/providers/mcp/config.cjs.map +0 -1
- package/dist/cjs/providers/mcp/transport.cjs +0 -65
- package/dist/cjs/providers/mcp/transport.cjs.map +0 -1
- package/dist/cjs/providers/tools-server/ToolsServerCapabilityProvider.cjs +0 -128
- package/dist/cjs/providers/tools-server/ToolsServerCapabilityProvider.cjs.map +0 -1
- package/dist/cjs/providers/types.cjs +0 -51
- package/dist/cjs/providers/types.cjs.map +0 -1
- package/dist/cjs/tools/artifacts/schema.cjs +0 -86
- package/dist/cjs/tools/artifacts/schema.cjs.map +0 -1
- package/dist/cjs/tools/artifacts/tool.cjs +0 -219
- package/dist/cjs/tools/artifacts/tool.cjs.map +0 -1
- package/dist/cjs/tools/fileSearch/formatter.cjs +0 -93
- package/dist/cjs/tools/fileSearch/formatter.cjs.map +0 -1
- package/dist/cjs/tools/fileSearch/ragClient.cjs +0 -102
- package/dist/cjs/tools/fileSearch/ragClient.cjs.map +0 -1
- package/dist/cjs/tools/fileSearch/schema.cjs +0 -18
- package/dist/cjs/tools/fileSearch/schema.cjs.map +0 -1
- package/dist/cjs/tools/fileSearch/tool.cjs +0 -155
- package/dist/cjs/tools/fileSearch/tool.cjs.map +0 -1
- package/dist/cjs/tools/proxyTool.cjs +0 -102
- package/dist/cjs/tools/proxyTool.cjs.map +0 -1
- package/dist/cjs/utils/childAgentContext.cjs +0 -242
- package/dist/cjs/utils/childAgentContext.cjs.map +0 -1
- package/dist/cjs/utils/credentials.cjs +0 -142
- package/dist/cjs/utils/credentials.cjs.map +0 -1
- package/dist/cjs/utils/httpClient.cjs +0 -74
- package/dist/cjs/utils/httpClient.cjs.map +0 -1
- package/dist/cjs/utils/toolManifest.cjs +0 -100
- package/dist/cjs/utils/toolManifest.cjs.map +0 -1
- package/dist/esm/common/spawnPath.mjs +0 -95
- package/dist/esm/common/spawnPath.mjs.map +0 -1
- package/dist/esm/graphs/HandoffRegistry.mjs +0 -141
- package/dist/esm/graphs/HandoffRegistry.mjs.map +0 -1
- package/dist/esm/providers/a2a/A2ACapabilityProvider.mjs +0 -281
- package/dist/esm/providers/a2a/A2ACapabilityProvider.mjs.map +0 -1
- package/dist/esm/providers/a2a/client.mjs +0 -88
- package/dist/esm/providers/a2a/client.mjs.map +0 -1
- package/dist/esm/providers/a2a/config.mjs +0 -35
- package/dist/esm/providers/a2a/config.mjs.map +0 -1
- package/dist/esm/providers/capabilityNaming.mjs +0 -39
- package/dist/esm/providers/capabilityNaming.mjs.map +0 -1
- package/dist/esm/providers/mcp/MCPCapabilityProvider.mjs +0 -240
- package/dist/esm/providers/mcp/MCPCapabilityProvider.mjs.map +0 -1
- package/dist/esm/providers/mcp/config.mjs +0 -39
- package/dist/esm/providers/mcp/config.mjs.map +0 -1
- package/dist/esm/providers/mcp/transport.mjs +0 -63
- package/dist/esm/providers/mcp/transport.mjs.map +0 -1
- package/dist/esm/providers/tools-server/ToolsServerCapabilityProvider.mjs +0 -126
- package/dist/esm/providers/tools-server/ToolsServerCapabilityProvider.mjs.map +0 -1
- package/dist/esm/providers/types.mjs +0 -51
- package/dist/esm/providers/types.mjs.map +0 -1
- package/dist/esm/tools/artifacts/schema.mjs +0 -79
- package/dist/esm/tools/artifacts/schema.mjs.map +0 -1
- package/dist/esm/tools/artifacts/tool.mjs +0 -213
- package/dist/esm/tools/artifacts/tool.mjs.map +0 -1
- package/dist/esm/tools/fileSearch/formatter.mjs +0 -90
- package/dist/esm/tools/fileSearch/formatter.mjs.map +0 -1
- package/dist/esm/tools/fileSearch/ragClient.mjs +0 -98
- package/dist/esm/tools/fileSearch/ragClient.mjs.map +0 -1
- package/dist/esm/tools/fileSearch/schema.mjs +0 -15
- package/dist/esm/tools/fileSearch/schema.mjs.map +0 -1
- package/dist/esm/tools/fileSearch/tool.mjs +0 -152
- package/dist/esm/tools/fileSearch/tool.mjs.map +0 -1
- package/dist/esm/tools/proxyTool.mjs +0 -100
- package/dist/esm/tools/proxyTool.mjs.map +0 -1
- package/dist/esm/utils/childAgentContext.mjs +0 -237
- package/dist/esm/utils/childAgentContext.mjs.map +0 -1
- package/dist/esm/utils/credentials.mjs +0 -135
- package/dist/esm/utils/credentials.mjs.map +0 -1
- package/dist/esm/utils/httpClient.mjs +0 -70
- package/dist/esm/utils/httpClient.mjs.map +0 -1
- package/dist/esm/utils/toolManifest.mjs +0 -96
- package/dist/esm/utils/toolManifest.mjs.map +0 -1
- package/dist/types/common/spawnPath.d.ts +0 -59
- package/dist/types/graphs/HandoffRegistry.d.ts +0 -97
- package/dist/types/providers/a2a/A2ACapabilityProvider.d.ts +0 -89
- package/dist/types/providers/a2a/client.d.ts +0 -47
- package/dist/types/providers/a2a/config.d.ts +0 -18
- package/dist/types/providers/a2a/index.d.ts +0 -6
- package/dist/types/providers/a2a/types.d.ts +0 -173
- package/dist/types/providers/capabilityNaming.d.ts +0 -25
- package/dist/types/providers/index.d.ts +0 -12
- package/dist/types/providers/mcp/MCPCapabilityProvider.d.ts +0 -54
- package/dist/types/providers/mcp/config.d.ts +0 -20
- package/dist/types/providers/mcp/index.d.ts +0 -5
- package/dist/types/providers/mcp/transport.d.ts +0 -18
- package/dist/types/providers/mcp/types.d.ts +0 -112
- package/dist/types/providers/tools-server/ToolsServerCapabilityProvider.d.ts +0 -59
- package/dist/types/providers/tools-server/index.d.ts +0 -1
- package/dist/types/providers/types.d.ts +0 -184
- package/dist/types/tools/artifacts/index.d.ts +0 -3
- package/dist/types/tools/artifacts/schema.d.ts +0 -63
- package/dist/types/tools/artifacts/tool.d.ts +0 -16
- package/dist/types/tools/artifacts/types.d.ts +0 -127
- package/dist/types/tools/fileSearch/formatter.d.ts +0 -25
- package/dist/types/tools/fileSearch/index.d.ts +0 -5
- package/dist/types/tools/fileSearch/ragClient.d.ts +0 -32
- package/dist/types/tools/fileSearch/schema.d.ts +0 -13
- package/dist/types/tools/fileSearch/tool.d.ts +0 -18
- package/dist/types/tools/fileSearch/types.d.ts +0 -139
- package/dist/types/tools/proxyTool.d.ts +0 -62
- package/dist/types/utils/childAgentContext.d.ts +0 -99
- package/dist/types/utils/credentials.d.ts +0 -77
- package/dist/types/utils/httpClient.d.ts +0 -46
- package/dist/types/utils/toolManifest.d.ts +0 -49
- package/src/common/__tests__/spawnPath.test.ts +0 -110
- package/src/common/spawnPath.ts +0 -101
- package/src/graphs/HandoffRegistry.ts +0 -199
- package/src/graphs/__tests__/HandoffRegistry.test.ts +0 -410
- package/src/graphs/__tests__/multi-agent-delegate.test.ts +0 -458
- package/src/graphs/__tests__/multi-agent-edges.test.ts +0 -276
- package/src/graphs/__tests__/multi-agent-nested-subgraph.test.ts +0 -221
- package/src/graphs/handoffValidation.test.ts +0 -353
- package/src/providers/__tests__/ToolsServerCapabilityProvider.integration.spec.ts +0 -79
- package/src/providers/__tests__/ToolsServerCapabilityProvider.test.ts +0 -269
- package/src/providers/__tests__/types.test.ts +0 -64
- package/src/providers/a2a/A2ACapabilityProvider.ts +0 -384
- package/src/providers/a2a/__tests__/A2ACapabilityProvider.integration.spec.ts +0 -345
- package/src/providers/a2a/__tests__/A2ACapabilityProvider.test.ts +0 -460
- package/src/providers/a2a/client.ts +0 -115
- package/src/providers/a2a/config.ts +0 -40
- package/src/providers/a2a/index.ts +0 -29
- package/src/providers/a2a/types.ts +0 -191
- package/src/providers/capabilityNaming.ts +0 -42
- package/src/providers/index.ts +0 -68
- package/src/providers/mcp/MCPCapabilityProvider.ts +0 -345
- package/src/providers/mcp/__tests__/MCPCapabilityProvider.integration.spec.ts +0 -386
- package/src/providers/mcp/__tests__/MCPCapabilityProvider.test.ts +0 -371
- package/src/providers/mcp/config.ts +0 -45
- package/src/providers/mcp/index.ts +0 -21
- package/src/providers/mcp/transport.ts +0 -76
- package/src/providers/mcp/types.ts +0 -139
- package/src/providers/tools-server/ToolsServerCapabilityProvider.ts +0 -248
- package/src/providers/tools-server/index.ts +0 -1
- package/src/providers/types.ts +0 -204
- package/src/scripts/test-bedrock-handoff-autonomous.ts +0 -267
- package/src/scripts/test-handoff-preamble.ts +0 -278
- package/src/specs/agent-handoffs-bedrock.integration.test.ts +0 -415
- package/src/tools/artifacts/__tests__/tool.test.ts +0 -259
- package/src/tools/artifacts/index.ts +0 -33
- package/src/tools/artifacts/schema.ts +0 -99
- package/src/tools/artifacts/tool.ts +0 -289
- package/src/tools/artifacts/types.ts +0 -162
- package/src/tools/fileSearch/__tests__/tool.test.ts +0 -261
- package/src/tools/fileSearch/formatter.ts +0 -129
- package/src/tools/fileSearch/index.ts +0 -23
- package/src/tools/fileSearch/ragClient.ts +0 -137
- package/src/tools/fileSearch/schema.ts +0 -19
- package/src/tools/fileSearch/tool.ts +0 -207
- package/src/tools/fileSearch/types.ts +0 -149
- package/src/tools/proxyTool.ts +0 -166
- package/src/utils/__tests__/childAgentContext.test.ts +0 -217
- package/src/utils/__tests__/credentials.test.ts +0 -130
- package/src/utils/__tests__/httpClient.test.ts +0 -75
- package/src/utils/__tests__/toolManifest.test.ts +0 -116
- package/src/utils/childAgentContext.ts +0 -259
- package/src/utils/credentials.ts +0 -157
- package/src/utils/httpClient.ts +0 -92
- package/src/utils/toolManifest.ts +0 -109
|
@@ -94,7 +94,7 @@ describe('Agent Handoffs Tests', () => {
|
|
|
94
94
|
{
|
|
95
95
|
from: 'agent_a',
|
|
96
96
|
to: 'agent_b',
|
|
97
|
-
edgeType: EdgeType.
|
|
97
|
+
edgeType: EdgeType.HANDOFF,
|
|
98
98
|
description: 'Transfer to agent B',
|
|
99
99
|
},
|
|
100
100
|
];
|
|
@@ -128,7 +128,7 @@ describe('Agent Handoffs Tests', () => {
|
|
|
128
128
|
{
|
|
129
129
|
from: 'agent_a',
|
|
130
130
|
to: 'agent_b',
|
|
131
|
-
edgeType: EdgeType.
|
|
131
|
+
edgeType: EdgeType.HANDOFF,
|
|
132
132
|
description: 'Transfer to agent B when needed',
|
|
133
133
|
},
|
|
134
134
|
];
|
|
@@ -192,7 +192,7 @@ describe('Agent Handoffs Tests', () => {
|
|
|
192
192
|
{
|
|
193
193
|
from: 'agent_a',
|
|
194
194
|
to: 'agent_b',
|
|
195
|
-
edgeType: EdgeType.
|
|
195
|
+
edgeType: EdgeType.HANDOFF,
|
|
196
196
|
},
|
|
197
197
|
];
|
|
198
198
|
|
|
@@ -223,13 +223,13 @@ describe('Agent Handoffs Tests', () => {
|
|
|
223
223
|
{
|
|
224
224
|
from: 'agent_a',
|
|
225
225
|
to: 'agent_b',
|
|
226
|
-
edgeType: EdgeType.
|
|
226
|
+
edgeType: EdgeType.HANDOFF,
|
|
227
227
|
description: 'Transfer to agent B',
|
|
228
228
|
},
|
|
229
229
|
{
|
|
230
230
|
from: 'agent_b',
|
|
231
231
|
to: 'agent_a',
|
|
232
|
-
edgeType: EdgeType.
|
|
232
|
+
edgeType: EdgeType.HANDOFF,
|
|
233
233
|
description: 'Transfer to agent A',
|
|
234
234
|
},
|
|
235
235
|
];
|
|
@@ -268,12 +268,12 @@ describe('Agent Handoffs Tests', () => {
|
|
|
268
268
|
{
|
|
269
269
|
from: 'agent_a',
|
|
270
270
|
to: 'agent_b',
|
|
271
|
-
edgeType: EdgeType.
|
|
271
|
+
edgeType: EdgeType.HANDOFF,
|
|
272
272
|
},
|
|
273
273
|
{
|
|
274
274
|
from: 'agent_b',
|
|
275
275
|
to: 'agent_a',
|
|
276
|
-
edgeType: EdgeType.
|
|
276
|
+
edgeType: EdgeType.HANDOFF,
|
|
277
277
|
},
|
|
278
278
|
];
|
|
279
279
|
|
|
@@ -334,13 +334,13 @@ describe('Agent Handoffs Tests', () => {
|
|
|
334
334
|
{
|
|
335
335
|
from: 'agent_a',
|
|
336
336
|
to: 'agent_b',
|
|
337
|
-
edgeType: EdgeType.
|
|
337
|
+
edgeType: EdgeType.HANDOFF,
|
|
338
338
|
description: 'Transfer to agent B',
|
|
339
339
|
},
|
|
340
340
|
{
|
|
341
341
|
from: 'agent_b',
|
|
342
342
|
to: 'agent_c',
|
|
343
|
-
edgeType: EdgeType.
|
|
343
|
+
edgeType: EdgeType.HANDOFF,
|
|
344
344
|
description: 'Transfer to agent C',
|
|
345
345
|
},
|
|
346
346
|
];
|
|
@@ -395,19 +395,19 @@ describe('Agent Handoffs Tests', () => {
|
|
|
395
395
|
{
|
|
396
396
|
from: 'router',
|
|
397
397
|
to: 'agent_a',
|
|
398
|
-
edgeType: EdgeType.
|
|
398
|
+
edgeType: EdgeType.HANDOFF,
|
|
399
399
|
description: 'Transfer to agent A for task A',
|
|
400
400
|
},
|
|
401
401
|
{
|
|
402
402
|
from: 'router',
|
|
403
403
|
to: 'agent_b',
|
|
404
|
-
edgeType: EdgeType.
|
|
404
|
+
edgeType: EdgeType.HANDOFF,
|
|
405
405
|
description: 'Transfer to agent B for task B',
|
|
406
406
|
},
|
|
407
407
|
{
|
|
408
408
|
from: 'router',
|
|
409
409
|
to: 'agent_c',
|
|
410
|
-
edgeType: EdgeType.
|
|
410
|
+
edgeType: EdgeType.HANDOFF,
|
|
411
411
|
description: 'Transfer to agent C for task C',
|
|
412
412
|
},
|
|
413
413
|
];
|
|
@@ -449,13 +449,13 @@ describe('Agent Handoffs Tests', () => {
|
|
|
449
449
|
{
|
|
450
450
|
from: 'router',
|
|
451
451
|
to: 'agent_a',
|
|
452
|
-
edgeType: EdgeType.
|
|
452
|
+
edgeType: EdgeType.HANDOFF,
|
|
453
453
|
description: 'Transfer to agent A',
|
|
454
454
|
},
|
|
455
455
|
{
|
|
456
456
|
from: 'router',
|
|
457
457
|
to: 'agent_b',
|
|
458
|
-
edgeType: EdgeType.
|
|
458
|
+
edgeType: EdgeType.HANDOFF,
|
|
459
459
|
description: 'Transfer to agent B',
|
|
460
460
|
},
|
|
461
461
|
];
|
|
@@ -519,7 +519,7 @@ describe('Agent Handoffs Tests', () => {
|
|
|
519
519
|
{
|
|
520
520
|
from: 'agent_a',
|
|
521
521
|
to: 'agent_b',
|
|
522
|
-
edgeType: EdgeType.
|
|
522
|
+
edgeType: EdgeType.HANDOFF,
|
|
523
523
|
description: 'Transfer to agent B with instructions',
|
|
524
524
|
prompt: 'Provide specific instructions for agent B',
|
|
525
525
|
promptKey: 'instructions',
|
|
@@ -551,7 +551,7 @@ describe('Agent Handoffs Tests', () => {
|
|
|
551
551
|
{
|
|
552
552
|
from: 'agent_a',
|
|
553
553
|
to: 'agent_b',
|
|
554
|
-
edgeType: EdgeType.
|
|
554
|
+
edgeType: EdgeType.HANDOFF,
|
|
555
555
|
prompt: 'Instructions for handoff',
|
|
556
556
|
// promptKey not specified, should default to 'instructions'
|
|
557
557
|
},
|
|
@@ -581,7 +581,7 @@ describe('Agent Handoffs Tests', () => {
|
|
|
581
581
|
{
|
|
582
582
|
from: 'agent_a',
|
|
583
583
|
to: 'agent_b',
|
|
584
|
-
edgeType: EdgeType.
|
|
584
|
+
edgeType: EdgeType.HANDOFF,
|
|
585
585
|
description: 'Transfer to agent B',
|
|
586
586
|
prompt: 'Additional context for agent B',
|
|
587
587
|
promptKey: 'context',
|
|
@@ -638,7 +638,7 @@ describe('Agent Handoffs Tests', () => {
|
|
|
638
638
|
{
|
|
639
639
|
from: 'agent_a',
|
|
640
640
|
to: 'agent_a',
|
|
641
|
-
edgeType: EdgeType.
|
|
641
|
+
edgeType: EdgeType.HANDOFF,
|
|
642
642
|
description: 'Self-handoff (should be allowed but unusual)',
|
|
643
643
|
},
|
|
644
644
|
];
|
|
@@ -724,7 +724,7 @@ describe('Agent Handoffs Tests', () => {
|
|
|
724
724
|
{
|
|
725
725
|
from: 'agent_a',
|
|
726
726
|
to: 'agent_b',
|
|
727
|
-
edgeType: EdgeType.
|
|
727
|
+
edgeType: EdgeType.HANDOFF,
|
|
728
728
|
description: 'Transfer to agent B',
|
|
729
729
|
},
|
|
730
730
|
];
|
|
@@ -759,12 +759,12 @@ describe('Agent Handoffs Tests', () => {
|
|
|
759
759
|
{
|
|
760
760
|
from: 'agent_a',
|
|
761
761
|
to: 'agent_b',
|
|
762
|
-
edgeType: EdgeType.
|
|
762
|
+
edgeType: EdgeType.HANDOFF,
|
|
763
763
|
},
|
|
764
764
|
{
|
|
765
765
|
from: 'agent_b',
|
|
766
766
|
to: 'agent_c',
|
|
767
|
-
edgeType: EdgeType.
|
|
767
|
+
edgeType: EdgeType.HANDOFF,
|
|
768
768
|
},
|
|
769
769
|
];
|
|
770
770
|
|
|
@@ -806,12 +806,12 @@ describe('Agent Handoffs Tests', () => {
|
|
|
806
806
|
{
|
|
807
807
|
from: 'agent_a',
|
|
808
808
|
to: 'agent_c',
|
|
809
|
-
edgeType: EdgeType.
|
|
809
|
+
edgeType: EdgeType.HANDOFF,
|
|
810
810
|
},
|
|
811
811
|
{
|
|
812
812
|
from: 'agent_b',
|
|
813
813
|
to: 'agent_c',
|
|
814
|
-
edgeType: EdgeType.
|
|
814
|
+
edgeType: EdgeType.HANDOFF,
|
|
815
815
|
},
|
|
816
816
|
];
|
|
817
817
|
|
|
@@ -853,7 +853,7 @@ describe('Agent Handoffs Tests', () => {
|
|
|
853
853
|
{
|
|
854
854
|
from: 'router',
|
|
855
855
|
to: 'data_analyst',
|
|
856
|
-
edgeType: EdgeType.
|
|
856
|
+
edgeType: EdgeType.HANDOFF,
|
|
857
857
|
description: 'Transfer to data analyst',
|
|
858
858
|
prompt: 'Instructions for the analyst about what to analyze',
|
|
859
859
|
promptKey: 'instructions',
|
|
@@ -939,7 +939,7 @@ describe('Agent Handoffs Tests', () => {
|
|
|
939
939
|
{
|
|
940
940
|
from: 'flight_assistant',
|
|
941
941
|
to: 'hotel_assistant',
|
|
942
|
-
edgeType: EdgeType.
|
|
942
|
+
edgeType: EdgeType.HANDOFF,
|
|
943
943
|
description: 'Transfer to hotel booking',
|
|
944
944
|
},
|
|
945
945
|
];
|
|
@@ -970,7 +970,7 @@ describe('Agent Handoffs Tests', () => {
|
|
|
970
970
|
{
|
|
971
971
|
from: 'agent_with_underscores',
|
|
972
972
|
to: 'AgentWithCamelCase',
|
|
973
|
-
edgeType: EdgeType.
|
|
973
|
+
edgeType: EdgeType.HANDOFF,
|
|
974
974
|
},
|
|
975
975
|
];
|
|
976
976
|
|
|
@@ -990,461 +990,4 @@ describe('Agent Handoffs Tests', () => {
|
|
|
990
990
|
);
|
|
991
991
|
});
|
|
992
992
|
});
|
|
993
|
-
|
|
994
|
-
describe('Handoff Tool Description Enrichment', () => {
|
|
995
|
-
it('should use agent name and description when edge.description is not provided', async () => {
|
|
996
|
-
const agents: t.AgentInputs[] = [
|
|
997
|
-
createBasicAgent('supervisor', 'You are a supervisor'),
|
|
998
|
-
{
|
|
999
|
-
...createBasicAgent('data_analyst', 'You analyze data'),
|
|
1000
|
-
name: 'Data Analyst',
|
|
1001
|
-
description:
|
|
1002
|
-
'Analyzes datasets, creates charts, and provides statistical insights',
|
|
1003
|
-
},
|
|
1004
|
-
];
|
|
1005
|
-
|
|
1006
|
-
const edges: t.GraphEdge[] = [
|
|
1007
|
-
{
|
|
1008
|
-
from: 'supervisor',
|
|
1009
|
-
to: 'data_analyst',
|
|
1010
|
-
edgeType: EdgeType.TRANSFER,
|
|
1011
|
-
// No description provided - should auto-generate from agent name + description
|
|
1012
|
-
},
|
|
1013
|
-
];
|
|
1014
|
-
|
|
1015
|
-
const run = await Run.create(createTestConfig(agents, edges));
|
|
1016
|
-
|
|
1017
|
-
const supervisorContext = (run.Graph as StandardGraph).agentContexts.get(
|
|
1018
|
-
'supervisor'
|
|
1019
|
-
);
|
|
1020
|
-
const handoffTool = findToolByName(
|
|
1021
|
-
supervisorContext?.graphTools,
|
|
1022
|
-
`${Constants.LC_TRANSFER_TO_}data_analyst`
|
|
1023
|
-
);
|
|
1024
|
-
|
|
1025
|
-
expect(handoffTool).toBeDefined();
|
|
1026
|
-
const description = getToolDescription(handoffTool!);
|
|
1027
|
-
expect(description).toContain('Data Analyst');
|
|
1028
|
-
expect(description).toContain('Analyzes datasets');
|
|
1029
|
-
});
|
|
1030
|
-
|
|
1031
|
-
it('should use agent name without description when only name is available', async () => {
|
|
1032
|
-
const agents: t.AgentInputs[] = [
|
|
1033
|
-
createBasicAgent('supervisor', 'You are a supervisor'),
|
|
1034
|
-
{
|
|
1035
|
-
...createBasicAgent('writer', 'You write things'),
|
|
1036
|
-
name: 'Content Writer',
|
|
1037
|
-
// No description field
|
|
1038
|
-
},
|
|
1039
|
-
];
|
|
1040
|
-
|
|
1041
|
-
const edges: t.GraphEdge[] = [
|
|
1042
|
-
{
|
|
1043
|
-
from: 'supervisor',
|
|
1044
|
-
to: 'writer',
|
|
1045
|
-
edgeType: EdgeType.TRANSFER,
|
|
1046
|
-
},
|
|
1047
|
-
];
|
|
1048
|
-
|
|
1049
|
-
const run = await Run.create(createTestConfig(agents, edges));
|
|
1050
|
-
|
|
1051
|
-
const supervisorContext = (run.Graph as StandardGraph).agentContexts.get(
|
|
1052
|
-
'supervisor'
|
|
1053
|
-
);
|
|
1054
|
-
const handoffTool = findToolByName(
|
|
1055
|
-
supervisorContext?.graphTools,
|
|
1056
|
-
`${Constants.LC_TRANSFER_TO_}writer`
|
|
1057
|
-
);
|
|
1058
|
-
|
|
1059
|
-
expect(handoffTool).toBeDefined();
|
|
1060
|
-
const description = getToolDescription(handoffTool!);
|
|
1061
|
-
expect(description).toContain('Content Writer');
|
|
1062
|
-
});
|
|
1063
|
-
|
|
1064
|
-
it('should prefer explicit edge.description over auto-generated description', async () => {
|
|
1065
|
-
const agents: t.AgentInputs[] = [
|
|
1066
|
-
createBasicAgent('supervisor', 'You are a supervisor'),
|
|
1067
|
-
{
|
|
1068
|
-
...createBasicAgent('agent_b', 'You do things'),
|
|
1069
|
-
name: 'Agent B',
|
|
1070
|
-
description: 'This is agent B description',
|
|
1071
|
-
},
|
|
1072
|
-
];
|
|
1073
|
-
|
|
1074
|
-
const edges: t.GraphEdge[] = [
|
|
1075
|
-
{
|
|
1076
|
-
from: 'supervisor',
|
|
1077
|
-
to: 'agent_b',
|
|
1078
|
-
edgeType: EdgeType.TRANSFER,
|
|
1079
|
-
description: 'Custom handoff description that takes priority',
|
|
1080
|
-
},
|
|
1081
|
-
];
|
|
1082
|
-
|
|
1083
|
-
const run = await Run.create(createTestConfig(agents, edges));
|
|
1084
|
-
|
|
1085
|
-
const supervisorContext = (run.Graph as StandardGraph).agentContexts.get(
|
|
1086
|
-
'supervisor'
|
|
1087
|
-
);
|
|
1088
|
-
const handoffTool = findToolByName(
|
|
1089
|
-
supervisorContext?.graphTools,
|
|
1090
|
-
`${Constants.LC_TRANSFER_TO_}agent_b`
|
|
1091
|
-
);
|
|
1092
|
-
|
|
1093
|
-
expect(handoffTool).toBeDefined();
|
|
1094
|
-
const description = getToolDescription(handoffTool!);
|
|
1095
|
-
expect(description).toBe(
|
|
1096
|
-
'Custom handoff description that takes priority'
|
|
1097
|
-
);
|
|
1098
|
-
});
|
|
1099
|
-
|
|
1100
|
-
it('should generate meaningful descriptions for multiple handoff targets', async () => {
|
|
1101
|
-
const agents: t.AgentInputs[] = [
|
|
1102
|
-
createBasicAgent('router', 'You route requests'),
|
|
1103
|
-
{
|
|
1104
|
-
...createBasicAgent('sales', 'Handle sales'),
|
|
1105
|
-
name: 'Sales Agent',
|
|
1106
|
-
description: 'Handles product pricing, quotes, and purchase orders',
|
|
1107
|
-
},
|
|
1108
|
-
{
|
|
1109
|
-
...createBasicAgent('support', 'Handle support'),
|
|
1110
|
-
name: 'Support Agent',
|
|
1111
|
-
description: 'Troubleshoots technical issues and handles bug reports',
|
|
1112
|
-
},
|
|
1113
|
-
{
|
|
1114
|
-
...createBasicAgent('billing', 'Handle billing'),
|
|
1115
|
-
name: 'Billing Agent',
|
|
1116
|
-
description: 'Manages invoices, payments, and subscription changes',
|
|
1117
|
-
},
|
|
1118
|
-
];
|
|
1119
|
-
|
|
1120
|
-
const edges: t.GraphEdge[] = [
|
|
1121
|
-
{ from: 'router', to: 'sales', edgeType: EdgeType.TRANSFER },
|
|
1122
|
-
{ from: 'router', to: 'support', edgeType: EdgeType.TRANSFER },
|
|
1123
|
-
{ from: 'router', to: 'billing', edgeType: EdgeType.TRANSFER },
|
|
1124
|
-
];
|
|
1125
|
-
|
|
1126
|
-
const run = await Run.create(createTestConfig(agents, edges));
|
|
1127
|
-
|
|
1128
|
-
const routerContext = (run.Graph as StandardGraph).agentContexts.get(
|
|
1129
|
-
'router'
|
|
1130
|
-
);
|
|
1131
|
-
|
|
1132
|
-
const salesTool = findToolByName(
|
|
1133
|
-
routerContext?.graphTools,
|
|
1134
|
-
`${Constants.LC_TRANSFER_TO_}sales`
|
|
1135
|
-
);
|
|
1136
|
-
const supportTool = findToolByName(
|
|
1137
|
-
routerContext?.graphTools,
|
|
1138
|
-
`${Constants.LC_TRANSFER_TO_}support`
|
|
1139
|
-
);
|
|
1140
|
-
const billingTool = findToolByName(
|
|
1141
|
-
routerContext?.graphTools,
|
|
1142
|
-
`${Constants.LC_TRANSFER_TO_}billing`
|
|
1143
|
-
);
|
|
1144
|
-
|
|
1145
|
-
// Each tool should have a meaningful description from the target agent
|
|
1146
|
-
expect(getToolDescription(salesTool!)).toContain('pricing');
|
|
1147
|
-
expect(getToolDescription(supportTool!)).toContain('Troubleshoots');
|
|
1148
|
-
expect(getToolDescription(billingTool!)).toContain('invoices');
|
|
1149
|
-
});
|
|
1150
|
-
|
|
1151
|
-
it('should store description in AgentContext', async () => {
|
|
1152
|
-
const agents: t.AgentInputs[] = [
|
|
1153
|
-
{
|
|
1154
|
-
...createBasicAgent('agent_a', 'Instructions for A'),
|
|
1155
|
-
name: 'Agent Alpha',
|
|
1156
|
-
description: 'Handles alpha tasks',
|
|
1157
|
-
},
|
|
1158
|
-
];
|
|
1159
|
-
|
|
1160
|
-
const edges: t.GraphEdge[] = [];
|
|
1161
|
-
|
|
1162
|
-
const run = await Run.create(createTestConfig(agents, edges));
|
|
1163
|
-
|
|
1164
|
-
const context = (run.Graph as StandardGraph).agentContexts.get('agent_a');
|
|
1165
|
-
expect(context).toBeDefined();
|
|
1166
|
-
expect(context?.name).toBe('Agent Alpha');
|
|
1167
|
-
expect(context?.description).toBe('Handles alpha tasks');
|
|
1168
|
-
});
|
|
1169
|
-
});
|
|
1170
|
-
|
|
1171
|
-
describe('Last Active Agent Tracking', () => {
|
|
1172
|
-
it('should return undefined for getLastActiveAgentId before any agent runs', async () => {
|
|
1173
|
-
const agents: t.AgentInputs[] = [
|
|
1174
|
-
createBasicAgent('agent_a', 'You are agent A'),
|
|
1175
|
-
createBasicAgent('agent_b', 'You are agent B'),
|
|
1176
|
-
];
|
|
1177
|
-
|
|
1178
|
-
const edges: t.GraphEdge[] = [
|
|
1179
|
-
{ from: 'agent_a', to: 'agent_b', edgeType: EdgeType.TRANSFER },
|
|
1180
|
-
];
|
|
1181
|
-
|
|
1182
|
-
const run = await Run.create(createTestConfig(agents, edges));
|
|
1183
|
-
|
|
1184
|
-
// Before running, lastActiveAgentId should be undefined
|
|
1185
|
-
expect(run.getLastActiveAgentId()).toBeUndefined();
|
|
1186
|
-
});
|
|
1187
|
-
|
|
1188
|
-
it('should return undefined for single-agent graph', async () => {
|
|
1189
|
-
const agents: t.AgentInputs[] = [
|
|
1190
|
-
createBasicAgent('agent_a', 'You are agent A'),
|
|
1191
|
-
];
|
|
1192
|
-
|
|
1193
|
-
const config: t.RunConfig = {
|
|
1194
|
-
runId: `single-agent-test-${Date.now()}`,
|
|
1195
|
-
graphConfig: {
|
|
1196
|
-
type: 'standard',
|
|
1197
|
-
agents,
|
|
1198
|
-
},
|
|
1199
|
-
returnContent: true,
|
|
1200
|
-
};
|
|
1201
|
-
|
|
1202
|
-
const run = await Run.create(config);
|
|
1203
|
-
|
|
1204
|
-
// Single-agent graph does not have getLastActiveAgentId
|
|
1205
|
-
expect(run.getLastActiveAgentId()).toBeUndefined();
|
|
1206
|
-
});
|
|
1207
|
-
|
|
1208
|
-
it('should track last active agent after handoff execution', async () => {
|
|
1209
|
-
const agents: t.AgentInputs[] = [
|
|
1210
|
-
createBasicAgent('agent_a', 'You are agent A. Transfer to B.'),
|
|
1211
|
-
createBasicAgent('agent_b', 'You are agent B.'),
|
|
1212
|
-
];
|
|
1213
|
-
|
|
1214
|
-
const edges: t.GraphEdge[] = [
|
|
1215
|
-
{
|
|
1216
|
-
from: 'agent_a',
|
|
1217
|
-
to: 'agent_b',
|
|
1218
|
-
edgeType: EdgeType.TRANSFER,
|
|
1219
|
-
description: 'Transfer to B',
|
|
1220
|
-
},
|
|
1221
|
-
];
|
|
1222
|
-
|
|
1223
|
-
const run = await Run.create(createTestConfig(agents, edges));
|
|
1224
|
-
|
|
1225
|
-
run.Graph?.overrideTestModel(['Transferring to B', 'Hello from B'], 10, [
|
|
1226
|
-
{
|
|
1227
|
-
id: 'tool_call_handoff',
|
|
1228
|
-
name: `${Constants.LC_TRANSFER_TO_}agent_b`,
|
|
1229
|
-
args: {},
|
|
1230
|
-
} as ToolCall,
|
|
1231
|
-
]);
|
|
1232
|
-
|
|
1233
|
-
const messages = [new HumanMessage('Hello')];
|
|
1234
|
-
const config: Partial<RunnableConfig> & {
|
|
1235
|
-
version: 'v1' | 'v2';
|
|
1236
|
-
streamMode: string;
|
|
1237
|
-
} = {
|
|
1238
|
-
configurable: { thread_id: 'last-active-test' },
|
|
1239
|
-
streamMode: 'values',
|
|
1240
|
-
version: 'v2' as const,
|
|
1241
|
-
};
|
|
1242
|
-
|
|
1243
|
-
await run.processStream({ messages }, config);
|
|
1244
|
-
|
|
1245
|
-
// After handoff A -> B, last active agent should be B
|
|
1246
|
-
expect(run.getLastActiveAgentId()).toBe('agent_b');
|
|
1247
|
-
});
|
|
1248
|
-
});
|
|
1249
|
-
|
|
1250
|
-
describe('Content Tool Compaction in Handoff', () => {
|
|
1251
|
-
it('should compact verbose content_tool ToolMessages during handoff', async () => {
|
|
1252
|
-
const agents: t.AgentInputs[] = [
|
|
1253
|
-
createBasicAgent('agent_a', 'You are agent A'),
|
|
1254
|
-
createBasicAgent('agent_b', 'You are agent B'),
|
|
1255
|
-
];
|
|
1256
|
-
|
|
1257
|
-
const edges: t.GraphEdge[] = [
|
|
1258
|
-
{ from: 'agent_a', to: 'agent_b', edgeType: EdgeType.TRANSFER },
|
|
1259
|
-
];
|
|
1260
|
-
|
|
1261
|
-
const run = await Run.create(createTestConfig(agents, edges));
|
|
1262
|
-
const { MultiAgentGraph } = await import('@/graphs/MultiAgentGraph');
|
|
1263
|
-
|
|
1264
|
-
if (run.Graph instanceof MultiAgentGraph) {
|
|
1265
|
-
// Build a mock message chain with a verbose content_tool ToolMessage
|
|
1266
|
-
const _verboseReadOutput =
|
|
1267
|
-
'"Dashboard.tsx" (content_id: abc123)\nShowing lines 1-200 of 200 total.\n---\n' +
|
|
1268
|
-
Array.from(
|
|
1269
|
-
{ length: 200 },
|
|
1270
|
-
(_, i) => ` ${i + 1} | const x${i} = ${i};`
|
|
1271
|
-
).join('\n') +
|
|
1272
|
-
'\n---';
|
|
1273
|
-
|
|
1274
|
-
const _messages = [
|
|
1275
|
-
new HumanMessage('Read the file'),
|
|
1276
|
-
// Simulate AI calling content_tool then transfer
|
|
1277
|
-
// The processHandoffReception is private, so we test indirectly via the graph execution
|
|
1278
|
-
];
|
|
1279
|
-
|
|
1280
|
-
// Verify that a ToolMessage with content_tool name and > 500 chars would be compacted
|
|
1281
|
-
const longContent = 'x'.repeat(600);
|
|
1282
|
-
const toolMsg = new ToolMessage({
|
|
1283
|
-
content: `First line summary\n${longContent}`,
|
|
1284
|
-
name: 'content_tool',
|
|
1285
|
-
tool_call_id: 'test-tc-1',
|
|
1286
|
-
status: 'success',
|
|
1287
|
-
});
|
|
1288
|
-
|
|
1289
|
-
// The compaction logic truncates to first line + suffix
|
|
1290
|
-
const firstLine = `First line summary\n${longContent}`.split('\n')[0];
|
|
1291
|
-
expect(firstLine).toBe('First line summary');
|
|
1292
|
-
// ToolMessage content is > 500 chars so it should be compacted
|
|
1293
|
-
expect(toolMsg.content.length).toBeGreaterThan(500);
|
|
1294
|
-
}
|
|
1295
|
-
});
|
|
1296
|
-
});
|
|
1297
|
-
|
|
1298
|
-
describe('Multi-Turn Agent Resumption', () => {
|
|
1299
|
-
it('should route START to resumeFromAgentId when valid', async () => {
|
|
1300
|
-
const agents: t.AgentInputs[] = [
|
|
1301
|
-
createBasicAgent('router', 'You are the router agent'),
|
|
1302
|
-
createBasicAgent('writer', 'You are the writer agent'),
|
|
1303
|
-
createBasicAgent('researcher', 'You are the researcher agent'),
|
|
1304
|
-
];
|
|
1305
|
-
|
|
1306
|
-
const edges: t.GraphEdge[] = [
|
|
1307
|
-
{ from: 'router', to: 'writer', edgeType: EdgeType.TRANSFER },
|
|
1308
|
-
{ from: 'router', to: 'researcher', edgeType: EdgeType.TRANSFER },
|
|
1309
|
-
];
|
|
1310
|
-
|
|
1311
|
-
// Create run WITH resumeFromAgentId set to 'writer'
|
|
1312
|
-
const run = await Run.create({
|
|
1313
|
-
runId: `resume-test-${Date.now()}`,
|
|
1314
|
-
graphConfig: {
|
|
1315
|
-
type: 'multi-agent',
|
|
1316
|
-
agents,
|
|
1317
|
-
edges,
|
|
1318
|
-
resumeFromAgentId: 'writer',
|
|
1319
|
-
},
|
|
1320
|
-
returnContent: true,
|
|
1321
|
-
skipCleanup: true,
|
|
1322
|
-
});
|
|
1323
|
-
|
|
1324
|
-
// Graph should compile without error
|
|
1325
|
-
expect(run.graphRunnable).toBeDefined();
|
|
1326
|
-
|
|
1327
|
-
// The writer agent should be reachable from START
|
|
1328
|
-
// (We verify by checking that the graph compiled successfully with conditional routing)
|
|
1329
|
-
expect(run.Graph).toBeDefined();
|
|
1330
|
-
});
|
|
1331
|
-
|
|
1332
|
-
it('should fall back to default starting nodes when resumeFromAgentId is invalid', async () => {
|
|
1333
|
-
const agents: t.AgentInputs[] = [
|
|
1334
|
-
createBasicAgent('router', 'You are the router agent'),
|
|
1335
|
-
createBasicAgent('writer', 'You are the writer agent'),
|
|
1336
|
-
];
|
|
1337
|
-
|
|
1338
|
-
const edges: t.GraphEdge[] = [
|
|
1339
|
-
{ from: 'router', to: 'writer', edgeType: EdgeType.TRANSFER },
|
|
1340
|
-
];
|
|
1341
|
-
|
|
1342
|
-
// Create run with an invalid resumeFromAgentId
|
|
1343
|
-
const run = await Run.create({
|
|
1344
|
-
runId: `resume-invalid-test-${Date.now()}`,
|
|
1345
|
-
graphConfig: {
|
|
1346
|
-
type: 'multi-agent',
|
|
1347
|
-
agents,
|
|
1348
|
-
edges,
|
|
1349
|
-
resumeFromAgentId: 'nonexistent_agent',
|
|
1350
|
-
},
|
|
1351
|
-
returnContent: true,
|
|
1352
|
-
skipCleanup: true,
|
|
1353
|
-
});
|
|
1354
|
-
|
|
1355
|
-
// Should still compile (falls back to default starting nodes)
|
|
1356
|
-
expect(run.graphRunnable).toBeDefined();
|
|
1357
|
-
expect(run.Graph).toBeDefined();
|
|
1358
|
-
});
|
|
1359
|
-
|
|
1360
|
-
it('should compile normally without resumeFromAgentId (backward compat)', async () => {
|
|
1361
|
-
const agents: t.AgentInputs[] = [
|
|
1362
|
-
createBasicAgent('router', 'You are the router agent'),
|
|
1363
|
-
createBasicAgent('writer', 'You are the writer agent'),
|
|
1364
|
-
];
|
|
1365
|
-
|
|
1366
|
-
const edges: t.GraphEdge[] = [
|
|
1367
|
-
{ from: 'router', to: 'writer', edgeType: EdgeType.TRANSFER },
|
|
1368
|
-
];
|
|
1369
|
-
|
|
1370
|
-
// Create run WITHOUT resumeFromAgentId — existing behavior
|
|
1371
|
-
const run = await Run.create(createTestConfig(agents, edges));
|
|
1372
|
-
|
|
1373
|
-
expect(run.graphRunnable).toBeDefined();
|
|
1374
|
-
expect(run.Graph).toBeDefined();
|
|
1375
|
-
});
|
|
1376
|
-
|
|
1377
|
-
it('should route to resume agent and track lastActiveAgentId correctly', async () => {
|
|
1378
|
-
const agents: t.AgentInputs[] = [
|
|
1379
|
-
createBasicAgent('router', 'You are the router agent'),
|
|
1380
|
-
createBasicAgent('writer', 'You are the writer agent'),
|
|
1381
|
-
];
|
|
1382
|
-
|
|
1383
|
-
const edges: t.GraphEdge[] = [
|
|
1384
|
-
{ from: 'router', to: 'writer', edgeType: EdgeType.TRANSFER },
|
|
1385
|
-
];
|
|
1386
|
-
|
|
1387
|
-
const run = await Run.create({
|
|
1388
|
-
runId: `resume-execution-test-${Date.now()}`,
|
|
1389
|
-
graphConfig: {
|
|
1390
|
-
type: 'multi-agent',
|
|
1391
|
-
agents,
|
|
1392
|
-
edges,
|
|
1393
|
-
resumeFromAgentId: 'writer',
|
|
1394
|
-
},
|
|
1395
|
-
returnContent: true,
|
|
1396
|
-
skipCleanup: true,
|
|
1397
|
-
});
|
|
1398
|
-
|
|
1399
|
-
// Override test model to respond directly (no transfer)
|
|
1400
|
-
run.Graph?.overrideTestModel(
|
|
1401
|
-
['I am the writer, continuing your work.'],
|
|
1402
|
-
10
|
|
1403
|
-
);
|
|
1404
|
-
|
|
1405
|
-
const messages = [new HumanMessage('Make the intro shorter')];
|
|
1406
|
-
const config: Partial<RunnableConfig> & {
|
|
1407
|
-
version: 'v1' | 'v2';
|
|
1408
|
-
streamMode: string;
|
|
1409
|
-
} = {
|
|
1410
|
-
configurable: { thread_id: 'resume-exec-test' },
|
|
1411
|
-
streamMode: 'values',
|
|
1412
|
-
version: 'v2' as const,
|
|
1413
|
-
};
|
|
1414
|
-
|
|
1415
|
-
await run.processStream({ messages }, config);
|
|
1416
|
-
|
|
1417
|
-
// After execution, lastActiveAgentId should be 'writer' (not 'router')
|
|
1418
|
-
expect(run.getLastActiveAgentId()).toBe('writer');
|
|
1419
|
-
});
|
|
1420
|
-
|
|
1421
|
-
it('should handle resumeFromAgentId with parallel starting nodes', async () => {
|
|
1422
|
-
const agents: t.AgentInputs[] = [
|
|
1423
|
-
createBasicAgent('agent_a', 'You are agent A'),
|
|
1424
|
-
createBasicAgent('agent_b', 'You are agent B'),
|
|
1425
|
-
createBasicAgent('agent_c', 'You are agent C'),
|
|
1426
|
-
];
|
|
1427
|
-
|
|
1428
|
-
// Both A and B are starting nodes (no incoming edges), C has incoming
|
|
1429
|
-
const edges: t.GraphEdge[] = [
|
|
1430
|
-
{ from: 'agent_a', to: 'agent_c', edgeType: EdgeType.TRANSFER },
|
|
1431
|
-
{ from: 'agent_b', to: 'agent_c', edgeType: EdgeType.TRANSFER },
|
|
1432
|
-
];
|
|
1433
|
-
|
|
1434
|
-
// Resume from agent_c — should override the parallel start (A + B)
|
|
1435
|
-
const run = await Run.create({
|
|
1436
|
-
runId: `resume-parallel-test-${Date.now()}`,
|
|
1437
|
-
graphConfig: {
|
|
1438
|
-
type: 'multi-agent',
|
|
1439
|
-
agents,
|
|
1440
|
-
edges,
|
|
1441
|
-
resumeFromAgentId: 'agent_c',
|
|
1442
|
-
},
|
|
1443
|
-
returnContent: true,
|
|
1444
|
-
skipCleanup: true,
|
|
1445
|
-
});
|
|
1446
|
-
|
|
1447
|
-
expect(run.graphRunnable).toBeDefined();
|
|
1448
|
-
});
|
|
1449
|
-
});
|
|
1450
993
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic.simple.test.js","sourceRoot":"","sources":["anthropic.simple.test.ts"],"names":[],"mappings":"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"}
|