@illuma-ai/agents 1.4.0-alpha.6 → 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 -127
- 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/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 -27
- 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 -9
- 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 +57 -17
- 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 -24
- 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/content/ArtifactStore.cjs +0 -579
- package/dist/cjs/content/ArtifactStore.cjs.map +0 -1
- package/dist/cjs/content/ContentStore.cjs +0 -638
- package/dist/cjs/content/ContentStore.cjs.map +0 -1
- package/dist/cjs/content/contentAnalyzer.cjs +0 -91
- package/dist/cjs/content/contentAnalyzer.cjs.map +0 -1
- package/dist/cjs/content/index.cjs +0 -20
- package/dist/cjs/content/index.cjs.map +0 -1
- package/dist/cjs/content/mcpAutoCache.cjs +0 -115
- package/dist/cjs/content/mcpAutoCache.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/content/ArtifactStore.mjs +0 -576
- package/dist/esm/content/ArtifactStore.mjs.map +0 -1
- package/dist/esm/content/ContentStore.mjs +0 -635
- package/dist/esm/content/ContentStore.mjs.map +0 -1
- package/dist/esm/content/contentAnalyzer.mjs +0 -87
- package/dist/esm/content/contentAnalyzer.mjs.map +0 -1
- package/dist/esm/content/index.mjs +0 -5
- package/dist/esm/content/mcpAutoCache.mjs +0 -111
- package/dist/esm/content/mcpAutoCache.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/content/ArtifactStore.d.ts +0 -223
- package/dist/types/content/ContentStore.d.ts +0 -140
- package/dist/types/content/contentAnalyzer.d.ts +0 -38
- package/dist/types/content/index.d.ts +0 -24
- package/dist/types/content/mcpAutoCache.d.ts +0 -89
- package/dist/types/content/types.d.ts +0 -75
- 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/content/ArtifactStore.ts +0 -782
- package/src/content/ContentStore.ts +0 -753
- package/src/content/contentAnalyzer.ts +0 -105
- package/src/content/index.ts +0 -51
- package/src/content/mcpAutoCache.ts +0 -185
- package/src/content/types.ts +0 -82
- 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 -271
- 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 -249
- 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
- /package/dist/esm/{content → langchain}/index.mjs.map +0 -0
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export { createArtifactTool, createContentReaderTool, ARTIFACT_TOOL_NAME, CONTENT_READER_NAME, ARTIFACT_WRITE_ACTIONS, CONTENT_READ_ACTIONS, } from './tool';
|
|
2
|
-
export { artifactToolSchema, contentReaderSchema, type ArtifactToolInput, type ContentReaderInput, } from './schema';
|
|
3
|
-
export type { ArtifactToolScope, ArtifactToolResult, ArtifactToolLogger, ArtifactToolBaseConfig, ArtifactToolConfig, ContentReaderToolConfig, ArtifactWriteHandlers, ContentReadHandlers, ContentIdResolver, WriteArgs, EditArgs, VerifyArgs, DeleteArgs, ReadArgs, SearchArgs, ListArgs, InfoArgs, } from './types';
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export declare const ARTIFACT_WRITE_ACTIONS: readonly ["write", "edit", "verify", "delete"];
|
|
3
|
-
export declare const CONTENT_READ_ACTIONS: readonly ["read", "search", "list", "info"];
|
|
4
|
-
export declare const artifactToolSchema: z.ZodObject<{
|
|
5
|
-
action: z.ZodEnum<["write", "edit", "verify", "delete"]>;
|
|
6
|
-
content_id: z.ZodOptional<z.ZodString>;
|
|
7
|
-
content: z.ZodOptional<z.ZodString>;
|
|
8
|
-
name: z.ZodOptional<z.ZodString>;
|
|
9
|
-
old_str: z.ZodOptional<z.ZodString>;
|
|
10
|
-
new_str: z.ZodOptional<z.ZodString>;
|
|
11
|
-
replace_all: z.ZodOptional<z.ZodBoolean>;
|
|
12
|
-
}, "strip", z.ZodTypeAny, {
|
|
13
|
-
action: "write" | "delete" | "edit" | "verify";
|
|
14
|
-
content?: string | undefined;
|
|
15
|
-
name?: string | undefined;
|
|
16
|
-
old_str?: string | undefined;
|
|
17
|
-
new_str?: string | undefined;
|
|
18
|
-
content_id?: string | undefined;
|
|
19
|
-
replace_all?: boolean | undefined;
|
|
20
|
-
}, {
|
|
21
|
-
action: "write" | "delete" | "edit" | "verify";
|
|
22
|
-
content?: string | undefined;
|
|
23
|
-
name?: string | undefined;
|
|
24
|
-
old_str?: string | undefined;
|
|
25
|
-
new_str?: string | undefined;
|
|
26
|
-
content_id?: string | undefined;
|
|
27
|
-
replace_all?: boolean | undefined;
|
|
28
|
-
}>;
|
|
29
|
-
export declare const contentReaderSchema: z.ZodObject<{
|
|
30
|
-
action: z.ZodEnum<["read", "search", "list", "info"]>;
|
|
31
|
-
content_id: z.ZodOptional<z.ZodString>;
|
|
32
|
-
start_line: z.ZodOptional<z.ZodNumber>;
|
|
33
|
-
end_line: z.ZodOptional<z.ZodNumber>;
|
|
34
|
-
pattern: z.ZodOptional<z.ZodString>;
|
|
35
|
-
flags: z.ZodOptional<z.ZodString>;
|
|
36
|
-
context: z.ZodOptional<z.ZodNumber>;
|
|
37
|
-
offset: z.ZodOptional<z.ZodNumber>;
|
|
38
|
-
limit: z.ZodOptional<z.ZodNumber>;
|
|
39
|
-
}, "strip", z.ZodTypeAny, {
|
|
40
|
-
action: "read" | "search" | "info" | "list";
|
|
41
|
-
pattern?: string | undefined;
|
|
42
|
-
context?: number | undefined;
|
|
43
|
-
flags?: string | undefined;
|
|
44
|
-
content_id?: string | undefined;
|
|
45
|
-
start_line?: number | undefined;
|
|
46
|
-
end_line?: number | undefined;
|
|
47
|
-
offset?: number | undefined;
|
|
48
|
-
limit?: number | undefined;
|
|
49
|
-
}, {
|
|
50
|
-
action: "read" | "search" | "info" | "list";
|
|
51
|
-
pattern?: string | undefined;
|
|
52
|
-
context?: number | undefined;
|
|
53
|
-
flags?: string | undefined;
|
|
54
|
-
content_id?: string | undefined;
|
|
55
|
-
start_line?: number | undefined;
|
|
56
|
-
end_line?: number | undefined;
|
|
57
|
-
offset?: number | undefined;
|
|
58
|
-
limit?: number | undefined;
|
|
59
|
-
}>;
|
|
60
|
-
export declare const ARTIFACT_TOOL_NAME = "artifact_tool";
|
|
61
|
-
export declare const CONTENT_READER_NAME = "content_reader";
|
|
62
|
-
export type ArtifactToolInput = z.infer<typeof artifactToolSchema>;
|
|
63
|
-
export type ContentReaderInput = z.infer<typeof contentReaderSchema>;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* artifact_tool + content_reader library factories.
|
|
3
|
-
*
|
|
4
|
-
* The library owns the LangChain wiring (schema, description, response
|
|
5
|
-
* shape) and the action dispatch; the runtime supplies a handler bundle
|
|
6
|
-
* matching the `ArtifactWriteHandlers` / `ContentReadHandlers` interface.
|
|
7
|
-
*
|
|
8
|
-
* This keeps 800+ LOC of host-specific handler logic (S3 adapters, file
|
|
9
|
-
* model CRUD, syntax checkers, line utils) out of the library while
|
|
10
|
-
* still centralizing the tool surface every runtime shares.
|
|
11
|
-
*/
|
|
12
|
-
import { DynamicStructuredTool } from '@langchain/core/tools';
|
|
13
|
-
import type { ArtifactToolConfig, ContentReaderToolConfig } from './types';
|
|
14
|
-
export declare function createArtifactTool(config: ArtifactToolConfig): DynamicStructuredTool;
|
|
15
|
-
export declare function createContentReaderTool(config: ContentReaderToolConfig): DynamicStructuredTool;
|
|
16
|
-
export { ARTIFACT_TOOL_NAME, CONTENT_READER_NAME, ARTIFACT_WRITE_ACTIONS, CONTENT_READ_ACTIONS, } from './schema';
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Artifact-tool types. The library owns the LangChain wiring, schema, and
|
|
3
|
-
* action dispatch. Runtime supplies an `ArtifactHandlers` bundle — one
|
|
4
|
-
* function per action — so ranger reuses its existing handlers, CLI
|
|
5
|
-
* supplies disk-backed ones, and A2A server supplies buffer-backed ones.
|
|
6
|
-
*
|
|
7
|
-
* Each handler receives:
|
|
8
|
-
* - `args`: the parsed input (typed per action)
|
|
9
|
-
* - `scope`: runtime-resolved scope identity (conversationId + userId
|
|
10
|
-
* for ranger, agent-run-id for CLI, a2a-task-id for A2A)
|
|
11
|
-
*
|
|
12
|
-
* Each handler returns a `[llmText, toolArtifact]` tuple matching
|
|
13
|
-
* LangChain's `content_and_artifact` response format.
|
|
14
|
-
*/
|
|
15
|
-
export interface ArtifactToolScope {
|
|
16
|
-
/**
|
|
17
|
-
* Primary scope — whatever the runtime uses to silo artifacts per
|
|
18
|
-
* session/run/conversation. Ranger uses `conversationId`; CLI uses
|
|
19
|
-
* `agent-run-id` or `agent-id`; A2A uses `a2a-task-id`.
|
|
20
|
-
*/
|
|
21
|
-
conversationId: string;
|
|
22
|
-
/** Optional — present when the runtime has an authenticated user. */
|
|
23
|
-
userId?: string;
|
|
24
|
-
/** Free-form extension — runtimes can add their own fields. */
|
|
25
|
-
[key: string]: unknown;
|
|
26
|
-
}
|
|
27
|
-
export type ArtifactToolResult = [llmText: string, artifact?: unknown];
|
|
28
|
-
export interface WriteArgs {
|
|
29
|
-
action: 'write';
|
|
30
|
-
content_id?: string;
|
|
31
|
-
content: string;
|
|
32
|
-
name?: string;
|
|
33
|
-
}
|
|
34
|
-
export interface EditArgs {
|
|
35
|
-
action: 'edit';
|
|
36
|
-
content_id: string;
|
|
37
|
-
old_str: string;
|
|
38
|
-
new_str: string;
|
|
39
|
-
replace_all?: boolean;
|
|
40
|
-
}
|
|
41
|
-
export interface VerifyArgs {
|
|
42
|
-
action: 'verify';
|
|
43
|
-
content_id: string;
|
|
44
|
-
}
|
|
45
|
-
export interface DeleteArgs {
|
|
46
|
-
action: 'delete';
|
|
47
|
-
content_id: string;
|
|
48
|
-
}
|
|
49
|
-
export interface ReadArgs {
|
|
50
|
-
action: 'read';
|
|
51
|
-
content_id: string;
|
|
52
|
-
start_line?: number;
|
|
53
|
-
end_line?: number;
|
|
54
|
-
offset?: number;
|
|
55
|
-
limit?: number;
|
|
56
|
-
}
|
|
57
|
-
export interface SearchArgs {
|
|
58
|
-
action: 'search';
|
|
59
|
-
content_id: string;
|
|
60
|
-
pattern: string;
|
|
61
|
-
flags?: string;
|
|
62
|
-
context?: number;
|
|
63
|
-
offset?: number;
|
|
64
|
-
limit?: number;
|
|
65
|
-
}
|
|
66
|
-
export interface ListArgs {
|
|
67
|
-
action: 'list';
|
|
68
|
-
}
|
|
69
|
-
export interface InfoArgs {
|
|
70
|
-
action: 'info';
|
|
71
|
-
content_id: string;
|
|
72
|
-
}
|
|
73
|
-
export type ArtifactWriteAction = WriteArgs | EditArgs | VerifyArgs | DeleteArgs;
|
|
74
|
-
export type ArtifactReadAction = ReadArgs | SearchArgs | ListArgs | InfoArgs;
|
|
75
|
-
/** Writer-surface handlers — invoked by `artifact_tool`. */
|
|
76
|
-
export interface ArtifactWriteHandlers {
|
|
77
|
-
write(args: WriteArgs, scope: ArtifactToolScope): Promise<ArtifactToolResult>;
|
|
78
|
-
edit(args: EditArgs, scope: ArtifactToolScope): Promise<ArtifactToolResult>;
|
|
79
|
-
verify(args: VerifyArgs, scope: ArtifactToolScope): Promise<ArtifactToolResult>;
|
|
80
|
-
delete(args: DeleteArgs, scope: ArtifactToolScope): Promise<ArtifactToolResult>;
|
|
81
|
-
}
|
|
82
|
-
/** Reader-surface handlers — invoked by `content_reader`. */
|
|
83
|
-
export interface ContentReadHandlers {
|
|
84
|
-
read(args: ReadArgs, scope: ArtifactToolScope): Promise<ArtifactToolResult>;
|
|
85
|
-
search(args: SearchArgs, scope: ArtifactToolScope): Promise<ArtifactToolResult>;
|
|
86
|
-
list(args: ListArgs, scope: ArtifactToolScope): Promise<ArtifactToolResult>;
|
|
87
|
-
info(args: InfoArgs, scope: ArtifactToolScope): Promise<ArtifactToolResult>;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Optional content_id self-healing: runtimes that want to let the LLM
|
|
91
|
-
* pass nicknames (e.g., "Dashboard") instead of canonical IDs implement
|
|
92
|
-
* this. Library falls through when unset.
|
|
93
|
-
*/
|
|
94
|
-
export interface ContentIdResolver {
|
|
95
|
-
resolve(id: string, scope: ArtifactToolScope): Promise<{
|
|
96
|
-
resolvedId: string;
|
|
97
|
-
resolvedName?: string;
|
|
98
|
-
} | null>;
|
|
99
|
-
}
|
|
100
|
-
export interface ArtifactToolLogger {
|
|
101
|
-
debug: (msg: string, ...args: unknown[]) => void;
|
|
102
|
-
info: (msg: string, ...args: unknown[]) => void;
|
|
103
|
-
warn: (msg: string, ...args: unknown[]) => void;
|
|
104
|
-
error: (msg: string, ...args: unknown[]) => void;
|
|
105
|
-
}
|
|
106
|
-
export interface ArtifactToolBaseConfig {
|
|
107
|
-
/**
|
|
108
|
-
* Resolves the runtime scope from the LangChain `config` object on each
|
|
109
|
-
* invocation. Ranger pulls `conversationId` + `userId` from request
|
|
110
|
-
* metadata; CLI pulls `agent-run-id` from its runner context.
|
|
111
|
-
*/
|
|
112
|
-
getScope: (config: unknown) => ArtifactToolScope | null;
|
|
113
|
-
resolver?: ContentIdResolver;
|
|
114
|
-
logger?: ArtifactToolLogger;
|
|
115
|
-
/**
|
|
116
|
-
* Description override. Host can inject brand-specific guidance
|
|
117
|
-
* (e.g., ranger's HTML branding mandate, TSX style rules). Defaults
|
|
118
|
-
* to a generic description appropriate for any runtime.
|
|
119
|
-
*/
|
|
120
|
-
descriptionOverride?: string;
|
|
121
|
-
}
|
|
122
|
-
export interface ArtifactToolConfig extends ArtifactToolBaseConfig {
|
|
123
|
-
handlers: ArtifactWriteHandlers;
|
|
124
|
-
}
|
|
125
|
-
export interface ContentReaderToolConfig extends ArtifactToolBaseConfig {
|
|
126
|
-
handlers: ContentReadHandlers;
|
|
127
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Default result formatters.
|
|
3
|
-
*
|
|
4
|
-
* - `plainTextFormatter`: CLI / A2A / generic output. No citation anchors.
|
|
5
|
-
* - `citationAnchorFormatter`: ranger-style `\ue202turn0fileN` anchors with
|
|
6
|
-
* a monotonic `sourceOffset` so multi-call turns stay globally unique.
|
|
7
|
-
*
|
|
8
|
-
* Runtimes can supply their own `FileSearchResultFormatter` to override.
|
|
9
|
-
*/
|
|
10
|
-
import type { FileSearchResultFormatter, FileSearchFile, RagChunk } from './types';
|
|
11
|
-
export declare const plainTextFormatter: FileSearchResultFormatter;
|
|
12
|
-
export interface CitationAnchorFormatterOptions {
|
|
13
|
-
/** Tool name used in the `file_search` artifact wrapper. Defaults to `'file_search'`. */
|
|
14
|
-
toolName?: string;
|
|
15
|
-
/**
|
|
16
|
-
* Monotonic counter for source indices within a turn. Pass the SAME
|
|
17
|
-
* function to the formatter across multiple calls in the same turn so
|
|
18
|
-
* anchors stay globally unique.
|
|
19
|
-
*/
|
|
20
|
-
getSourceOffset?: () => number;
|
|
21
|
-
/** Called after formatting to advance the offset. */
|
|
22
|
-
advanceSourceOffset?: (by: number) => void;
|
|
23
|
-
}
|
|
24
|
-
export declare function createCitationAnchorFormatter(opts?: CitationAnchorFormatterOptions): FileSearchResultFormatter;
|
|
25
|
-
export type { FileSearchResultFormatter, FileSearchFile, RagChunk };
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { createFileSearchTool, FileSearchToolName } from './tool';
|
|
2
|
-
export { HttpRagClient, getRagBaseUrl, RAG_API_URL_ENV, type HttpRagClientOptions, } from './ragClient';
|
|
3
|
-
export { plainTextFormatter, createCitationAnchorFormatter, type CitationAnchorFormatterOptions, } from './formatter';
|
|
4
|
-
export { fileSearchInputSchema, type FileSearchInput } from './schema';
|
|
5
|
-
export type { FileSearchFile, RagChunk, RagClient, RagQueryParams, FileSearchResultFormatter, FileSearchToolCallbacks, FileSearchToolConfig, FileSearchToolLogger, } from './types';
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Default HTTP RAG client. Posts to `${baseUrl}/query` with the shape
|
|
3
|
-
* rag_api expects (`{ file_id, query, k, entity_id? }`). Runtimes that
|
|
4
|
-
* use a different vector backend implement their own `RagClient`.
|
|
5
|
-
*
|
|
6
|
-
* Auth is runtime-provided per call (via `authHeaders` on the params) so
|
|
7
|
-
* short-lived tokens can be minted per request without the client
|
|
8
|
-
* caching stale credentials.
|
|
9
|
-
*/
|
|
10
|
-
import type { RagClient, RagQueryParams, RagChunk, FileSearchToolLogger } from './types';
|
|
11
|
-
export declare const RAG_API_URL_ENV = "RAG_API_URL";
|
|
12
|
-
/** Resolve base URL at call time so env-var changes propagate. */
|
|
13
|
-
export declare function getRagBaseUrl(override?: string): string;
|
|
14
|
-
export interface HttpRagClientOptions {
|
|
15
|
-
/** Base URL of the RAG service (no trailing slash). Falls back to env. */
|
|
16
|
-
baseUrl?: string;
|
|
17
|
-
/** Default headers sent on every request (e.g., a static API key). */
|
|
18
|
-
defaultHeaders?: Record<string, string>;
|
|
19
|
-
/** Default timeout if params don't override. Default 15_000. */
|
|
20
|
-
defaultTimeoutMs?: number;
|
|
21
|
-
logger?: FileSearchToolLogger;
|
|
22
|
-
}
|
|
23
|
-
export declare class HttpRagClient implements RagClient {
|
|
24
|
-
private readonly baseUrlOverride?;
|
|
25
|
-
private readonly defaultHeaders;
|
|
26
|
-
private readonly defaultTimeoutMs;
|
|
27
|
-
private readonly logger?;
|
|
28
|
-
constructor(opts?: HttpRagClientOptions);
|
|
29
|
-
query(params: RagQueryParams): Promise<RagChunk[]>;
|
|
30
|
-
/** Convert rag_api's tuple format into the library's normalized shape. */
|
|
31
|
-
private normalize;
|
|
32
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export declare const fileSearchInputSchema: z.ZodObject<{
|
|
3
|
-
query: z.ZodString;
|
|
4
|
-
target_files: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
5
|
-
}, "strip", z.ZodTypeAny, {
|
|
6
|
-
query: string;
|
|
7
|
-
target_files?: string[] | undefined;
|
|
8
|
-
}, {
|
|
9
|
-
query: string;
|
|
10
|
-
target_files?: string[] | undefined;
|
|
11
|
-
}>;
|
|
12
|
-
export type FileSearchInput = z.infer<typeof fileSearchInputSchema>;
|
|
13
|
-
export declare const FileSearchToolName = "file_search";
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* file_search tool factory — library-native equivalent of the CodeExecutor
|
|
3
|
-
* pattern. Runtimes supply a `RagClient`, the file list for this turn, and
|
|
4
|
-
* an optional formatter (ranger uses citation anchors; CLI/A2A use plain
|
|
5
|
-
* text).
|
|
6
|
-
*
|
|
7
|
-
* The tool itself:
|
|
8
|
-
* 1. Accepts `{ query, target_files? }` from the LLM.
|
|
9
|
-
* 2. Filters files by `target_files` substring match when provided.
|
|
10
|
-
* 3. Queries each file in bounded concurrent batches.
|
|
11
|
-
* 4. Enforces per-file timeouts (failures isolated per file).
|
|
12
|
-
* 5. Flattens chunks, deprioritizes stale-turn files, caps results.
|
|
13
|
-
* 6. Hands formatted output to the runtime's formatter for final shape.
|
|
14
|
-
*/
|
|
15
|
-
import { DynamicStructuredTool } from '@langchain/core/tools';
|
|
16
|
-
import type { FileSearchToolConfig } from './types';
|
|
17
|
-
export declare function createFileSearchTool(config: FileSearchToolConfig): DynamicStructuredTool;
|
|
18
|
-
export { FileSearchToolName } from './schema';
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* File-search tool types. Mirrors the web_search / code_executor split —
|
|
3
|
-
* the library owns tool logic; the host supplies a `RagClient` + config
|
|
4
|
-
* shaped to its own deployment (auth strategy, scope identity, file set).
|
|
5
|
-
*/
|
|
6
|
-
export interface FileSearchFile {
|
|
7
|
-
/** Stable identifier within the RAG backend. */
|
|
8
|
-
file_id: string;
|
|
9
|
-
/** Human-readable name surfaced in tool results and prompts. */
|
|
10
|
-
filename: string;
|
|
11
|
-
/**
|
|
12
|
-
* Hint that this file arrived on the *current* conversation turn (as
|
|
13
|
-
* opposed to an earlier turn). Hosts that don't distinguish leave this
|
|
14
|
-
* undefined; the formatter deprioritizes older files when set.
|
|
15
|
-
*/
|
|
16
|
-
isCurrentMessage?: boolean;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* A single chunk returned by the RAG backend for a query.
|
|
20
|
-
* Shape is normalized here so the library stays independent of any
|
|
21
|
-
* specific RAG service's response format — the `RagClient` is responsible
|
|
22
|
-
* for translating the backend response into this shape.
|
|
23
|
-
*/
|
|
24
|
-
export interface RagChunk {
|
|
25
|
-
file_id: string;
|
|
26
|
-
page_content: string;
|
|
27
|
-
distance: number;
|
|
28
|
-
metadata?: Record<string, unknown>;
|
|
29
|
-
}
|
|
30
|
-
export interface RagQueryParams {
|
|
31
|
-
file_id: string;
|
|
32
|
-
query: string;
|
|
33
|
-
/** Top-K chunks to return per file. Default 10. */
|
|
34
|
-
k?: number;
|
|
35
|
-
/** Optional tenant/entity ID — forwarded to the backend verbatim. */
|
|
36
|
-
entity_id?: string;
|
|
37
|
-
/**
|
|
38
|
-
* Scope identifier. Hosts use this for per-tenant isolation in the RAG
|
|
39
|
-
* backend (ranger → userId, cli → agentId, a2a → task-id).
|
|
40
|
-
*/
|
|
41
|
-
scope?: string;
|
|
42
|
-
/**
|
|
43
|
-
* Per-request auth headers — the host builds these (e.g., ranger sends
|
|
44
|
-
* `Authorization: Bearer <short-lived-JWT-for-userId>`). Allows
|
|
45
|
-
* different runtimes to use different auth strategies without the
|
|
46
|
-
* library knowing.
|
|
47
|
-
*/
|
|
48
|
-
authHeaders?: Record<string, string>;
|
|
49
|
-
/** Optional per-call timeout override. */
|
|
50
|
-
timeoutMs?: number;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Pluggable RAG backend. Runtimes provide an implementation that speaks
|
|
54
|
-
* to whatever vector DB / search service they've deployed (rag_api is the
|
|
55
|
-
* default; azure search, pinecone, etc. are valid alternates).
|
|
56
|
-
*/
|
|
57
|
-
export interface RagClient {
|
|
58
|
-
query(params: RagQueryParams): Promise<RagChunk[]>;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Formatter callback that shapes raw chunks into the runtime's preferred
|
|
62
|
-
* presentation. Ranger uses citation anchors (`\ue202turn0fileN`), CLI
|
|
63
|
-
* uses plain text, A2A server can return structured parts.
|
|
64
|
-
*/
|
|
65
|
-
export interface FileSearchResultFormatter {
|
|
66
|
-
format(chunks: Array<RagChunk & {
|
|
67
|
-
filename: string;
|
|
68
|
-
isCurrentMessage: boolean;
|
|
69
|
-
}>, context: {
|
|
70
|
-
/**
|
|
71
|
-
* Monotonic call index within a single turn. Ranger uses this to
|
|
72
|
-
* keep citation source indices globally unique across multiple
|
|
73
|
-
* file_search invocations.
|
|
74
|
-
*/
|
|
75
|
-
callIndex: number;
|
|
76
|
-
/** Same files list the factory was seeded with (for lookups). */
|
|
77
|
-
files: FileSearchFile[];
|
|
78
|
-
}): {
|
|
79
|
-
/** Message returned to the LLM (content). */
|
|
80
|
-
message: string;
|
|
81
|
-
/** Optional artifact payload (sources, metadata) returned alongside. */
|
|
82
|
-
artifact?: unknown;
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
export interface FileSearchToolCallbacks {
|
|
86
|
-
/**
|
|
87
|
-
* Fires when a RAG query completes successfully for one file. Hosts can
|
|
88
|
-
* use this for telemetry, streaming UI updates, etc.
|
|
89
|
-
*/
|
|
90
|
-
onFileQueried?: (file: FileSearchFile, chunkCount: number) => void;
|
|
91
|
-
/** Fires when a RAG query fails. Hosts can log or surface via UI. */
|
|
92
|
-
onFileError?: (file: FileSearchFile, error: Error) => void;
|
|
93
|
-
}
|
|
94
|
-
export interface FileSearchToolLogger {
|
|
95
|
-
debug: (msg: string, ...args: unknown[]) => void;
|
|
96
|
-
info: (msg: string, ...args: unknown[]) => void;
|
|
97
|
-
warn: (msg: string, ...args: unknown[]) => void;
|
|
98
|
-
error: (msg: string, ...args: unknown[]) => void;
|
|
99
|
-
}
|
|
100
|
-
export interface FileSearchToolConfig {
|
|
101
|
-
/** The RAG backend client. Required. */
|
|
102
|
-
ragClient: RagClient;
|
|
103
|
-
/** Files the agent has access to this turn. Empty = tool self-reports so. */
|
|
104
|
-
files: FileSearchFile[];
|
|
105
|
-
/** Tenant/entity ID forwarded to the backend per-query. */
|
|
106
|
-
entity_id?: string;
|
|
107
|
-
/**
|
|
108
|
-
* Per-turn scope identity. Most runtimes pin this once (userId/agentId);
|
|
109
|
-
* if omitted, no scope is sent to the backend.
|
|
110
|
-
*/
|
|
111
|
-
scope?: string;
|
|
112
|
-
/**
|
|
113
|
-
* Per-call auth header builder. Called on every tool invocation so
|
|
114
|
-
* the host can mint fresh short-lived tokens (ranger's JWT pattern).
|
|
115
|
-
* When omitted, no auth headers are sent.
|
|
116
|
-
*/
|
|
117
|
-
getAuthHeaders?: () => Record<string, string> | Promise<Record<string, string>>;
|
|
118
|
-
/**
|
|
119
|
-
* Result formatter. When omitted, the default plain-text formatter is
|
|
120
|
-
* used (suitable for CLI/A2A runtimes that don't need citation anchors).
|
|
121
|
-
*/
|
|
122
|
-
formatter?: FileSearchResultFormatter;
|
|
123
|
-
/** Per-file query timeout in ms. Default 15_000. */
|
|
124
|
-
queryTimeoutMs?: number;
|
|
125
|
-
/**
|
|
126
|
-
* Max concurrent in-flight RAG queries. Protects HTTP connection pools
|
|
127
|
-
* under heavy file counts. Default 10.
|
|
128
|
-
*/
|
|
129
|
-
concurrencyLimit?: number;
|
|
130
|
-
/** Top-K chunks per file. Default 10. */
|
|
131
|
-
topK?: number;
|
|
132
|
-
/**
|
|
133
|
-
* Cap on total chunks returned to the LLM after sorting. Default is
|
|
134
|
-
* `max(10, filesCount * 3)`.
|
|
135
|
-
*/
|
|
136
|
-
resultCap?: number;
|
|
137
|
-
callbacks?: FileSearchToolCallbacks;
|
|
138
|
-
logger?: FileSearchToolLogger;
|
|
139
|
-
}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* proxyTool — wraps a Capability into a LangChain StructuredTool that
|
|
3
|
-
* dispatches execution to a remote backend (e.g., tools-server) over HTTP.
|
|
4
|
-
*
|
|
5
|
-
* The LLM sees this tool identically to a locally-implemented tool:
|
|
6
|
-
* - same name
|
|
7
|
-
* - same description
|
|
8
|
-
* - same input schema (JSON Schema)
|
|
9
|
-
* - same invoke(input) contract
|
|
10
|
-
*
|
|
11
|
-
* Under the hood, invoke() POSTs to the backend's execute endpoint with
|
|
12
|
-
* the input and a caller-supplied credential map. The backend returns
|
|
13
|
-
* { success, result, error, timing } which this wrapper unpacks.
|
|
14
|
-
*/
|
|
15
|
-
import type { AxiosInstance } from 'axios';
|
|
16
|
-
import { type StructuredToolInterface } from '@langchain/core/tools';
|
|
17
|
-
import type { Capability, CredentialMap } from '@/providers/types';
|
|
18
|
-
/** Shape of the backend's execute response. Matches tools-server. */
|
|
19
|
-
export interface ExecuteResponse {
|
|
20
|
-
success: boolean;
|
|
21
|
-
result?: unknown;
|
|
22
|
-
error?: string;
|
|
23
|
-
timing?: {
|
|
24
|
-
durationMs: number;
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
/** Options passed to buildProxyTool. */
|
|
28
|
-
export interface ProxyToolOptions {
|
|
29
|
-
/** HTTP client configured with backend base URL + auth. */
|
|
30
|
-
client: AxiosInstance;
|
|
31
|
-
/**
|
|
32
|
-
* Path template for execution. The literal `:name` is replaced with the
|
|
33
|
-
* capability's name. Defaults to `/execute/:name` (tools-server convention).
|
|
34
|
-
*/
|
|
35
|
-
executePath?: string;
|
|
36
|
-
/**
|
|
37
|
-
* Optional callback invoked on every execution — used for metrics,
|
|
38
|
-
* telemetry, debug logging. Errors in the hook are swallowed.
|
|
39
|
-
*/
|
|
40
|
-
onExecute?: (ctx: ExecuteCallbackContext) => void;
|
|
41
|
-
/**
|
|
42
|
-
* Optional per-invocation auth header builder. Called on every tool
|
|
43
|
-
* invocation before POSTing; returned headers are merged into the
|
|
44
|
-
* request alongside the base client's headers. Typical use: pass a
|
|
45
|
-
* freshly minted per-user JWT for admin-gated tools.
|
|
46
|
-
*/
|
|
47
|
-
getAuthHeaders?: () => Record<string, string> | Promise<Record<string, string>>;
|
|
48
|
-
}
|
|
49
|
-
export interface ExecuteCallbackContext {
|
|
50
|
-
capabilityName: string;
|
|
51
|
-
input: unknown;
|
|
52
|
-
response?: ExecuteResponse;
|
|
53
|
-
error?: Error;
|
|
54
|
-
durationMs: number;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Build a StructuredTool that proxies to a remote backend.
|
|
58
|
-
*
|
|
59
|
-
* The credentialMap is baked into the closure — callers that need
|
|
60
|
-
* per-invocation credential rotation should rebuild the tool.
|
|
61
|
-
*/
|
|
62
|
-
export declare function buildProxyTool(capability: Capability, credentials: CredentialMap, options: ProxyToolOptions): StructuredToolInterface;
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Child-agent context preparation utilities.
|
|
3
|
-
*
|
|
4
|
-
* When a parent agent invokes a child agent — via handoff, sequence edge,
|
|
5
|
-
* or scoped subgraph — the child cannot just receive `state.messages`
|
|
6
|
-
* verbatim. The parent's conversation contains tool_use/tool_result blocks
|
|
7
|
-
* that are (a) often incompatible with the child's tool registry, and
|
|
8
|
-
* (b) actively harmful to the child's ability to reason cleanly about its
|
|
9
|
-
* own task (noise → schema confusion → malformed tool_use).
|
|
10
|
-
*
|
|
11
|
-
* This module provides the two canonical strategies, extracted from
|
|
12
|
-
* `MultiAgentGraph` so they can be unit-tested in isolation and reused by
|
|
13
|
-
* future sub-agent orchestrators:
|
|
14
|
-
*
|
|
15
|
-
* 1. `prepareHandoffMessages` — "cleaned parent history"
|
|
16
|
-
* Used when the child still needs the orchestrator's context (it's
|
|
17
|
-
* the handoff target). Drops orphaned tool_use, compacts paired
|
|
18
|
-
* tool_use/tool_result into text summaries, and guarantees the tail
|
|
19
|
-
* is a HumanMessage so Bedrock/VertexAI won't reject the conversation
|
|
20
|
-
* with "assistant message prefill" errors.
|
|
21
|
-
*
|
|
22
|
-
* 2. `prepareIsolatedChildMessages` — "fresh session"
|
|
23
|
-
* Used for downstream sequence-node children inside a scoped subgraph.
|
|
24
|
-
* The child sees only the original user request plus a synthetic
|
|
25
|
-
* HumanMessage summarizing the upstream agent's final text output and
|
|
26
|
-
* directing the child to act. Raw upstream tool_use/tool_result blocks
|
|
27
|
-
* are discarded.
|
|
28
|
-
*
|
|
29
|
-
* Both helpers are pure functions over message arrays — no I/O, no
|
|
30
|
-
* LangGraph coupling — so they can be exercised by unit tests with
|
|
31
|
-
* synthetic message fixtures.
|
|
32
|
-
*/
|
|
33
|
-
import type { BaseMessage } from '@langchain/core/messages';
|
|
34
|
-
/**
|
|
35
|
-
* Prefix injected in front of a trailing AIMessage when we flip it to a
|
|
36
|
-
* HumanMessage to satisfy provider "last message must be user" rules.
|
|
37
|
-
*/
|
|
38
|
-
export declare const HANDOFF_TAIL_CONTEXT_PREFIX = "[Context from orchestrator]: ";
|
|
39
|
-
/**
|
|
40
|
-
* Directive task-framing wrapper for downstream scoped-subgraph children.
|
|
41
|
-
*
|
|
42
|
-
* Design notes — each line is load-bearing:
|
|
43
|
-
* - "Prior step output" names the upstream role without leaking the
|
|
44
|
-
* agent's internal id.
|
|
45
|
-
* - "You MUST now perform..." replaces ambiguity with obligation.
|
|
46
|
-
* - "system instructions" references the agent's stored system prompt
|
|
47
|
-
* as the source of task definition — so operators can tune behavior
|
|
48
|
-
* via data, not code.
|
|
49
|
-
* - The tool-first clause prevents small/fast models from stalling on a
|
|
50
|
-
* text-only acknowledgement when a tool action is expected.
|
|
51
|
-
*/
|
|
52
|
-
export declare function buildIsolatedChildPrompt(upstreamText: string): string;
|
|
53
|
-
/**
|
|
54
|
-
* Prepare messages for a handoff child agent.
|
|
55
|
-
*
|
|
56
|
-
* Handles two problems that break Bedrock/Anthropic conversations:
|
|
57
|
-
*
|
|
58
|
-
* 1. **Orphaned tool_use**: The parent's AI message contains a `tool_use`
|
|
59
|
-
* block for the handoff tool itself, with no matching `tool_result`.
|
|
60
|
-
* Providers (Bedrock/Anthropic) reject this.
|
|
61
|
-
*
|
|
62
|
-
* 2. **Paired tool_use/tool_result in history**: The child may not have
|
|
63
|
-
* the same tools as the parent. Bedrock requires `toolConfig` when any
|
|
64
|
-
* tool_use/tool_result blocks exist in the history. Compacting these
|
|
65
|
-
* into text summaries avoids the requirement and reduces context bloat.
|
|
66
|
-
*
|
|
67
|
-
* Also ensures the tail is a HumanMessage — some providers reject a
|
|
68
|
-
* conversation that ends with an assistant message.
|
|
69
|
-
*
|
|
70
|
-
* @param messages - Current state messages from the parent
|
|
71
|
-
* @returns A sanitized copy, safe to pass to any provider as the child's
|
|
72
|
-
* input regardless of which tools the child has registered.
|
|
73
|
-
*/
|
|
74
|
-
export declare function prepareHandoffMessages(messages: BaseMessage[]): BaseMessage[];
|
|
75
|
-
/**
|
|
76
|
-
* Build an ISOLATED message context for a downstream scoped-subgraph node.
|
|
77
|
-
*
|
|
78
|
-
* Unlike `prepareHandoffMessages` (which cleans up tool_use artifacts but
|
|
79
|
-
* preserves most of the parent history), this helper produces a fresh
|
|
80
|
-
* minimal context containing only:
|
|
81
|
-
*
|
|
82
|
-
* 1. The original user request (first HumanMessage in the history)
|
|
83
|
-
* 2. A synthetic HumanMessage summarizing the upstream agent's final
|
|
84
|
-
* text output and directing the downstream agent to act on it
|
|
85
|
-
*
|
|
86
|
-
* Tool_use / tool_result blocks from the upstream agent are discarded —
|
|
87
|
-
* the downstream agent shouldn't reason about how the upstream agent did
|
|
88
|
-
* its work, only about the result.
|
|
89
|
-
*
|
|
90
|
-
* This "fresh subagent session" pattern is the primary defense against
|
|
91
|
-
* schema confusion / malformed tool_use JSON that occurs when downstream
|
|
92
|
-
* models see a noisy upstream conversation.
|
|
93
|
-
*
|
|
94
|
-
* Defensive fallback: if the messages array contains neither a user
|
|
95
|
-
* message nor a non-empty upstream AI message, return the input unchanged
|
|
96
|
-
* so the caller still has something to invoke on. This only matters for
|
|
97
|
-
* malformed state fixtures in tests.
|
|
98
|
-
*/
|
|
99
|
-
export declare function prepareIsolatedChildMessages(messages: BaseMessage[]): BaseMessage[];
|