@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
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent system-message prompt-cache types.
|
|
3
|
+
* ==========================================
|
|
4
|
+
*
|
|
5
|
+
* `@illuma-ai/agents` exposes a generic primitive — `system_cache_blocks` —
|
|
6
|
+
* for composing a system message that gets explicit cache markers
|
|
7
|
+
* (cachePoint on Bedrock, cache_control on Anthropic) at consumer-defined
|
|
8
|
+
* boundaries. The library encodes each entry into the right wire format
|
|
9
|
+
* for the active provider; consumers decide what content to put in each
|
|
10
|
+
* block.
|
|
11
|
+
*
|
|
12
|
+
* Why this is generic rather than ranger-specific
|
|
13
|
+
* ------------------------------------------------
|
|
14
|
+
* Earlier iterations exposed `platform_instructions` and `cache_ttl:
|
|
15
|
+
* { platform, agent }` — vocabulary borrowed from a multi-tenant chat
|
|
16
|
+
* platform's mental model. That leaked a specific consumer's domain into
|
|
17
|
+
* the library and made it confusing for other consumers (CLI tools,
|
|
18
|
+
* desktop apps, gateways) which have no notion of "platforms" or "agents".
|
|
19
|
+
*
|
|
20
|
+
* The current shape lets every consumer define their own cache-tier
|
|
21
|
+
* organization without the library knowing or caring.
|
|
22
|
+
*
|
|
23
|
+
* Cache key composition
|
|
24
|
+
* ---------------------
|
|
25
|
+
* Both Anthropic and Bedrock hash the message bytes leading up to each
|
|
26
|
+
* cache marker. So entry N's cache key is the concatenation of bytes
|
|
27
|
+
* 0..N. Stable content (universal rules, framework docs) goes earlier;
|
|
28
|
+
* volatile content (per-agent identity, per-tool docs) goes later. The
|
|
29
|
+
* earlier entries get cross-tenant cache hits; the later entries get
|
|
30
|
+
* narrower hits.
|
|
31
|
+
*
|
|
32
|
+
* Provider budget
|
|
33
|
+
* ---------------
|
|
34
|
+
* Bedrock's Converse API supports up to 4 cachePoint blocks per request.
|
|
35
|
+
* The default tools-array cache strategy (see `IllumaBedrockConverse`)
|
|
36
|
+
* uses up to 2 of those. So at most 2 entries should appear in
|
|
37
|
+
* `system_cache_blocks` to leave budget for the trailing
|
|
38
|
+
* `instructions` block. The library throws on more than 2.
|
|
39
|
+
*
|
|
40
|
+
* Anthropic supports up to 4 cache breakpoints per request workspace-wide;
|
|
41
|
+
* the same constraint applies to keep tools + system within budget.
|
|
42
|
+
*/
|
|
43
|
+
|
|
44
|
+
/** Provider TTL hint applied to a cachePoint / cache_control marker. */
|
|
45
|
+
export type AgentCacheTTL = '5m' | '1h';
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* One cacheable system content block. Each entry produces a text block
|
|
49
|
+
* followed by a provider-specific cache marker in the assembled system
|
|
50
|
+
* message. Entries are emitted in array order — earlier = more stable
|
|
51
|
+
* = wider cache key.
|
|
52
|
+
*/
|
|
53
|
+
export interface SystemCacheBlock {
|
|
54
|
+
/**
|
|
55
|
+
* Text payload. Caller is responsible for keeping this byte-stable
|
|
56
|
+
* across requests that should share a cache entry. ANY change to
|
|
57
|
+
* these bytes invalidates every cache key that includes this entry.
|
|
58
|
+
*/
|
|
59
|
+
text: string;
|
|
60
|
+
/**
|
|
61
|
+
* Optional TTL hint for the cache marker. Defaults to '5m' when
|
|
62
|
+
* omitted. '1h' costs more to write (2× base vs 1.25×) but survives
|
|
63
|
+
* longer idle, which is the right tradeoff for low-traffic blocks.
|
|
64
|
+
*/
|
|
65
|
+
ttl?: AgentCacheTTL;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Maximum number of `system_cache_blocks` entries the library accepts.
|
|
70
|
+
* Higher than this would exceed Bedrock's 4-cachePoint budget once the
|
|
71
|
+
* tools array and trailing `instructions` block are counted.
|
|
72
|
+
*/
|
|
73
|
+
export const MAX_SYSTEM_CACHE_BLOCKS = 2;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["graph.ts"],"names":[],"mappings":"AA4YA;;GAEG;AACH,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IAClC;IAAnB,YAAmB,WAAmB;QACpC,KAAK,CAAC,+CAA+C,WAAW,EAAE,CAAC,CAAC;QADnD,gBAAW,GAAX,WAAW,CAAQ;QAEpC,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IACpC;IAAnB,YAAmB,UAAkB;QACnC,KAAK,CACH,iDAAiD,UAAU,KAAK;YAC9D,sEAAsE,CACzE,CAAC;QAJe,eAAU,GAAV,UAAU,CAAQ;QAKnC,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;IAC/C,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.test.js","sourceRoot":"","sources":["graph.test.ts"],"names":[],"mappings":"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"}
|
package/src/types/graph.ts
CHANGED
|
@@ -24,6 +24,7 @@ import type {
|
|
|
24
24
|
GenericTool,
|
|
25
25
|
LCTool,
|
|
26
26
|
ToolApprovalConfig,
|
|
27
|
+
ToolExecuteBatchRequest,
|
|
27
28
|
} from '@/types/tools';
|
|
28
29
|
import type { Providers, Callback, GraphNodeKeys } from '@/common';
|
|
29
30
|
import type { StandardGraph, MultiAgentGraph } from '@/graphs';
|
|
@@ -35,6 +36,7 @@ import type {
|
|
|
35
36
|
ReasoningDeltaEvent,
|
|
36
37
|
} from '@/types/stream';
|
|
37
38
|
import type { TokenCounter } from '@/types/run';
|
|
39
|
+
import type { SystemCacheBlock, AgentCacheTTL } from '@/types/agent-cache';
|
|
38
40
|
|
|
39
41
|
/** Interface for bound model with stream and invoke methods */
|
|
40
42
|
export interface ChatModel {
|
|
@@ -109,6 +111,8 @@ export interface EventHandler {
|
|
|
109
111
|
| RunStepDeltaEvent
|
|
110
112
|
| MessageDeltaEvent
|
|
111
113
|
| ReasoningDeltaEvent
|
|
114
|
+
| SubagentUpdateEvent
|
|
115
|
+
| ToolExecuteBatchRequest
|
|
112
116
|
| { result: ToolEndEvent },
|
|
113
117
|
metadata?: Record<string, unknown>,
|
|
114
118
|
graph?: StandardGraph | MultiAgentGraph
|
|
@@ -383,9 +387,12 @@ export type GraphEdge = {
|
|
|
383
387
|
/** Can return boolean or specific destination(s) */
|
|
384
388
|
condition?: (state: BaseGraphState) => boolean | string | string[];
|
|
385
389
|
/**
|
|
386
|
-
* EdgeType.HANDOFF —
|
|
387
|
-
*
|
|
388
|
-
*
|
|
390
|
+
* EdgeType.HANDOFF — one-way routing: parent emits an `lc_transfer_to_*`
|
|
391
|
+
* tool call and exits, child takes over and responds directly to the
|
|
392
|
+
* user. Aligns with upstream's handoff semantics.
|
|
393
|
+
* EdgeType.DIRECT — fixed graph edges for automatic sequential / parallel
|
|
394
|
+
* transitions. Ranger preserves its enriched wiring (fan-in with prompt,
|
|
395
|
+
* parallel groups, ApprovalGateNode, excludeResults / agentMessages).
|
|
389
396
|
*/
|
|
390
397
|
edgeType?: import('@/common').EdgeType;
|
|
391
398
|
/**
|
|
@@ -415,19 +422,6 @@ export type GraphEdge = {
|
|
|
415
422
|
* For handoff edges: Customizes the parameter name for the handoff instruction input.
|
|
416
423
|
*/
|
|
417
424
|
promptKey?: string;
|
|
418
|
-
/**
|
|
419
|
-
* For handoff edges: Maximum characters for the result returned to the parent.
|
|
420
|
-
* Uses head/tail truncation (60/40 split) to preserve key findings and conclusions.
|
|
421
|
-
* Defaults to DEFAULT_HANDOFF_MAX_RESULT_CHARS (32768 chars, ~8192 tokens).
|
|
422
|
-
*/
|
|
423
|
-
maxResultChars?: number;
|
|
424
|
-
/**
|
|
425
|
-
* For handoff edges: When true, the child agent receives the full parent
|
|
426
|
-
* conversation history plus the orchestrator's instructions appended.
|
|
427
|
-
* When false (default), the child only receives the orchestrator's scoped
|
|
428
|
-
* instructions — isolated from the parent conversation.
|
|
429
|
-
*/
|
|
430
|
-
passthrough?: boolean;
|
|
431
425
|
/**
|
|
432
426
|
* Approval gate configuration for sequence edges.
|
|
433
427
|
* When set, inserts an approval gate node between source and destination.
|
|
@@ -439,12 +433,15 @@ export type GraphEdge = {
|
|
|
439
433
|
export type MultiAgentGraphInput = StandardGraphInput & {
|
|
440
434
|
edges: GraphEdge[];
|
|
441
435
|
/**
|
|
442
|
-
* When set, the graph routes START to this agent instead of the default
|
|
443
|
-
* Used for multi-turn resumption: the caller reads
|
|
444
|
-
*
|
|
436
|
+
* When set, the graph routes START to this agent instead of the default
|
|
437
|
+
* starting nodes. Used for multi-turn resumption: the caller reads the
|
|
438
|
+
* last active agent id from the previous turn (e.g. via
|
|
439
|
+
* `Run.getLastActiveAgentId()`, which derives it from the run's content
|
|
440
|
+
* data trail) and passes it here so follow-up messages route to the
|
|
445
441
|
* agent that last handled the conversation.
|
|
446
442
|
*
|
|
447
|
-
* If the agent ID is invalid (not in the graph), falls back to default
|
|
443
|
+
* If the agent ID is invalid (not in the graph), falls back to default
|
|
444
|
+
* starting nodes.
|
|
448
445
|
*/
|
|
449
446
|
resumeFromAgentId?: string;
|
|
450
447
|
};
|
|
@@ -618,6 +615,20 @@ export interface SummarizationConfig {
|
|
|
618
615
|
* while persistedSummary is loaded from the conversation's own history.
|
|
619
616
|
*/
|
|
620
617
|
initialSummary?: string;
|
|
618
|
+
|
|
619
|
+
/**
|
|
620
|
+
* Upstream-aligned optional fields. When the host wants the summarization
|
|
621
|
+
* pass to run on a different LLM than the agent's own (e.g. a cheaper
|
|
622
|
+
* model for compaction), these provider/model overrides flow through to
|
|
623
|
+
* the summarize callback.
|
|
624
|
+
*/
|
|
625
|
+
provider?: Providers;
|
|
626
|
+
model?: string;
|
|
627
|
+
parameters?: Record<string, unknown>;
|
|
628
|
+
prompt?: string;
|
|
629
|
+
updatePrompt?: string;
|
|
630
|
+
trigger?: { type: string; value: number };
|
|
631
|
+
maxSummaryTokens?: number;
|
|
621
632
|
}
|
|
622
633
|
|
|
623
634
|
/**
|
|
@@ -651,6 +662,73 @@ export interface FileManifestEntry {
|
|
|
651
662
|
messageIndex?: number;
|
|
652
663
|
}
|
|
653
664
|
|
|
665
|
+
/** Configuration for a subagent type that can be spawned by a parent agent. */
|
|
666
|
+
export type SubagentConfig = {
|
|
667
|
+
/** Identifier used in the tool's `subagent_type` enum (e.g. 'researcher', 'coder'). */
|
|
668
|
+
type: string;
|
|
669
|
+
/** Human-readable display name. */
|
|
670
|
+
name: string;
|
|
671
|
+
/** What this subagent specializes in — shown to the LLM. */
|
|
672
|
+
description: string;
|
|
673
|
+
/** Full agent config for the child graph. Omit when `self` is true. */
|
|
674
|
+
agentInputs?: AgentInputs;
|
|
675
|
+
/** When true, reuse the parent's AgentInputs (context isolation without separate config). */
|
|
676
|
+
self?: boolean;
|
|
677
|
+
/** Max AGENT→TOOLS cycles before forced stop (default: 25). */
|
|
678
|
+
maxTurns?: number;
|
|
679
|
+
/** Allow this subagent to spawn its own subagents (default: false). */
|
|
680
|
+
allowNested?: boolean;
|
|
681
|
+
};
|
|
682
|
+
|
|
683
|
+
/** SubagentConfig with agentInputs guaranteed present (self-spawn resolved). */
|
|
684
|
+
export type ResolvedSubagentConfig = SubagentConfig & {
|
|
685
|
+
agentInputs: AgentInputs;
|
|
686
|
+
};
|
|
687
|
+
|
|
688
|
+
/** Lifecycle phase carried on {@link SubagentUpdateEvent}. */
|
|
689
|
+
export type SubagentUpdatePhase =
|
|
690
|
+
| 'start'
|
|
691
|
+
| 'run_step'
|
|
692
|
+
| 'run_step_delta'
|
|
693
|
+
| 'run_step_completed'
|
|
694
|
+
| 'message_delta'
|
|
695
|
+
| 'reasoning_delta'
|
|
696
|
+
| 'stop'
|
|
697
|
+
| 'error';
|
|
698
|
+
|
|
699
|
+
/**
|
|
700
|
+
* Wrapper event emitted when a subagent's child graph dispatches activity.
|
|
701
|
+
* Lets hosts show subagent progress in a UI surface separate from the parent
|
|
702
|
+
* conversation without having to untangle events by agent ID.
|
|
703
|
+
*/
|
|
704
|
+
export interface SubagentUpdateEvent {
|
|
705
|
+
/** Parent run ID. */
|
|
706
|
+
runId: string;
|
|
707
|
+
/** Child run ID (unique per subagent execution). */
|
|
708
|
+
subagentRunId: string;
|
|
709
|
+
/**
|
|
710
|
+
* Parent-side `tool_call_id` for the `subagent` tool invocation that
|
|
711
|
+
* triggered this run. Stable for the duration of the child; lets hosts
|
|
712
|
+
* correlate updates deterministically instead of inferring by ordering.
|
|
713
|
+
* Omitted when the executor was invoked outside of a tool-call context.
|
|
714
|
+
*/
|
|
715
|
+
parentToolCallId?: string;
|
|
716
|
+
/** Subagent `type` identifier from the SubagentConfig. */
|
|
717
|
+
subagentType: string;
|
|
718
|
+
/** Child agent ID assigned to this subagent execution. */
|
|
719
|
+
subagentAgentId: string;
|
|
720
|
+
/** Parent agent ID that spawned this subagent. */
|
|
721
|
+
parentAgentId?: string;
|
|
722
|
+
/** Lifecycle phase carried by this update. */
|
|
723
|
+
phase: SubagentUpdatePhase;
|
|
724
|
+
/** Underlying event payload (shape depends on phase). */
|
|
725
|
+
data?: unknown;
|
|
726
|
+
/** Short human-readable description. Hosts can render this directly. */
|
|
727
|
+
label?: string;
|
|
728
|
+
/** ISO timestamp for ordering / display. */
|
|
729
|
+
timestamp: string;
|
|
730
|
+
}
|
|
731
|
+
|
|
654
732
|
export interface AgentInputs {
|
|
655
733
|
agentId: string;
|
|
656
734
|
/** Human-readable name for the agent (used in handoff context). Defaults to agentId if not provided. */
|
|
@@ -661,12 +739,64 @@ export interface AgentInputs {
|
|
|
661
739
|
toolMap?: ToolMap;
|
|
662
740
|
tools?: GraphTools;
|
|
663
741
|
provider: Providers;
|
|
742
|
+
/**
|
|
743
|
+
* Ordered list of cacheable system content blocks emitted BEFORE
|
|
744
|
+
* `instructions` in the system message. Each block gets its own cache
|
|
745
|
+
* marker (cachePoint on Bedrock, cache_control on Anthropic) so the
|
|
746
|
+
* cache key for each block includes only the bytes up to and including
|
|
747
|
+
* its own marker. Entries are emitted in array order — earlier =
|
|
748
|
+
* stabler = wider cache key (best for cross-tenant sharing).
|
|
749
|
+
*
|
|
750
|
+
* See `src/types/agent-cache.ts` for full semantics. Capped at
|
|
751
|
+
* `MAX_SYSTEM_CACHE_BLOCKS` (2) entries to stay within Bedrock's
|
|
752
|
+
* 4-cachePoint budget after the tools array consumes 2.
|
|
753
|
+
*/
|
|
754
|
+
system_cache_blocks?: SystemCacheBlock[];
|
|
755
|
+
/**
|
|
756
|
+
* Stable/cacheable system instructions for this agent. Always emitted
|
|
757
|
+
* with its own trailing cache marker (when caching is supported by
|
|
758
|
+
* the provider/model). Use `instructions_cache_ttl` to override the
|
|
759
|
+
* default '5m' TTL.
|
|
760
|
+
*/
|
|
664
761
|
instructions?: string;
|
|
762
|
+
/** TTL for the trailing `instructions` cache marker. Defaults to '5m'. */
|
|
763
|
+
instructions_cache_ttl?: AgentCacheTTL;
|
|
665
764
|
streamBuffer?: number;
|
|
666
765
|
maxContextTokens?: number;
|
|
667
766
|
clientOptions?: ClientOptions;
|
|
767
|
+
/**
|
|
768
|
+
* Dynamic system tail appended after the cacheable instructions
|
|
769
|
+
* without any cache marker. Per-user / per-message context belongs
|
|
770
|
+
* here so it does not invalidate the cacheable prefix.
|
|
771
|
+
*/
|
|
668
772
|
additional_instructions?: string;
|
|
669
773
|
reasoningKey?: 'reasoning_content' | 'reasoning';
|
|
774
|
+
/**
|
|
775
|
+
* Subagent types this agent may spawn. When non-empty, Graph injects the
|
|
776
|
+
* `subagent` tool into the agent's toolset with the per-config enum and
|
|
777
|
+
* description populated.
|
|
778
|
+
*/
|
|
779
|
+
subagentConfigs?: SubagentConfig[];
|
|
780
|
+
/**
|
|
781
|
+
* Maximum subagent depth allowed below this agent. Used by SubagentExecutor
|
|
782
|
+
* to abort runaway nesting. Defaults to a small constant.
|
|
783
|
+
*/
|
|
784
|
+
maxSubagentDepth?: number;
|
|
785
|
+
/**
|
|
786
|
+
* Pre-existing summary injected into the system message via
|
|
787
|
+
* AgentContext.buildInstructionsString. Populated by SubagentExecutor when
|
|
788
|
+
* spawning a self-config subagent that should inherit the parent's prior
|
|
789
|
+
* compaction summary; otherwise host-supplied at run time.
|
|
790
|
+
*/
|
|
791
|
+
initialSummary?: { text: string; tokenCount: number };
|
|
792
|
+
/**
|
|
793
|
+
* Upstream-aligned opt-in for summarization. When false, the agent never
|
|
794
|
+
* invokes the summarize callback regardless of context utilization.
|
|
795
|
+
* Defaults to undefined (treated as enabled in Ranger to preserve prior
|
|
796
|
+
* behaviour); hosts that want strict opt-in semantics should set it
|
|
797
|
+
* explicitly.
|
|
798
|
+
*/
|
|
799
|
+
summarizationEnabled?: boolean;
|
|
670
800
|
/** Format content blocks as strings (for legacy compatibility i.e. Ollama/Azure Serverless) */
|
|
671
801
|
useLegacyContent?: boolean;
|
|
672
802
|
/**
|
|
@@ -745,3 +875,24 @@ export interface AgentInputs {
|
|
|
745
875
|
*/
|
|
746
876
|
fileManifest?: FileManifestEntry[];
|
|
747
877
|
}
|
|
878
|
+
|
|
879
|
+
/**
|
|
880
|
+
* Tunable knobs for position-based content degradation.
|
|
881
|
+
* See `messages/contextPruning.ts` and `messages/contextPruningSettings.ts`.
|
|
882
|
+
*/
|
|
883
|
+
export interface ContextPruningConfig {
|
|
884
|
+
enabled?: boolean;
|
|
885
|
+
keepLastAssistants?: number;
|
|
886
|
+
softTrimRatio?: number;
|
|
887
|
+
hardClearRatio?: number;
|
|
888
|
+
minPrunableToolChars?: number;
|
|
889
|
+
softTrim?: {
|
|
890
|
+
maxChars?: number;
|
|
891
|
+
headChars?: number;
|
|
892
|
+
tailChars?: number;
|
|
893
|
+
};
|
|
894
|
+
hardClear?: {
|
|
895
|
+
enabled?: boolean;
|
|
896
|
+
placeholder?: string;
|
|
897
|
+
};
|
|
898
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
package/src/types/index.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm.js","sourceRoot":"","sources":["llm.ts"],"names":[],"mappings":"AAoCA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["messages.ts"],"names":[],"mappings":""}
|
package/src/types/messages.ts
CHANGED
|
@@ -2,3 +2,30 @@ import type Anthropic from '@anthropic-ai/sdk';
|
|
|
2
2
|
import type { BaseMessage } from '@langchain/core/messages';
|
|
3
3
|
export type AnthropicMessages = Array<AnthropicMessage | BaseMessage>;
|
|
4
4
|
export type AnthropicMessage = Anthropic.MessageParam;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Per-message ref metadata stamped onto a `ToolMessage` at execution time
|
|
8
|
+
* (upstream PR #117). Read by `annotateMessagesForLLM` to apply transient
|
|
9
|
+
* annotation to a copy of the message right before it goes on the wire to
|
|
10
|
+
* the provider. Never read after the run-scoped registry has been cleared.
|
|
11
|
+
*
|
|
12
|
+
* Lives in `ToolMessage.additional_kwargs`. LangChain's provider
|
|
13
|
+
* serializers don't transmit `additional_kwargs` to provider APIs, so the
|
|
14
|
+
* metadata never leaks even if you forget to clean it.
|
|
15
|
+
*/
|
|
16
|
+
export interface ToolMessageRefMetadata {
|
|
17
|
+
/** Key under which this message's untruncated output was registered. */
|
|
18
|
+
_refKey?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Registry bucket scope under which `_refKey` was stored. For named runs
|
|
21
|
+
* this equals `config.configurable.run_id`; for anonymous invocations
|
|
22
|
+
* (no `run_id`) ToolNode mints a per-batch synthetic scope
|
|
23
|
+
* (`\0anon-<n>`) so concurrent batches don't collide. Stamping the
|
|
24
|
+
* scope on the message itself lets `annotateMessagesForLLM` recover it
|
|
25
|
+
* without re-deriving from config — which is impossible for the
|
|
26
|
+
* anonymous case, since the scope is internal to ToolNode.
|
|
27
|
+
*/
|
|
28
|
+
_refScope?: string;
|
|
29
|
+
/** Placeholders the model used that could not be resolved this batch. */
|
|
30
|
+
_unresolvedRefs?: string[];
|
|
31
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["run.ts"],"names":[],"mappings":""}
|
package/src/types/run.ts
CHANGED
|
@@ -11,6 +11,7 @@ import type * as s from '@/types/stream';
|
|
|
11
11
|
import type * as e from '@/common/enum';
|
|
12
12
|
import type * as g from '@/types/graph';
|
|
13
13
|
import type * as l from '@/types/llm';
|
|
14
|
+
import type { HookRegistry } from '@/hooks';
|
|
14
15
|
|
|
15
16
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
16
17
|
export type ZodObjectAny = z.ZodObject<any, any, any, any>;
|
|
@@ -73,7 +74,9 @@ export interface AgentStateChannels {
|
|
|
73
74
|
messages: BaseMessage[];
|
|
74
75
|
next: string;
|
|
75
76
|
[key: string]: unknown;
|
|
77
|
+
/** Stable/cacheable system instructions for this agent. */
|
|
76
78
|
instructions?: string;
|
|
79
|
+
/** Dynamic system tail appended after stable instructions. */
|
|
77
80
|
additional_instructions?: string;
|
|
78
81
|
}
|
|
79
82
|
|
|
@@ -118,6 +121,25 @@ export type RunConfig = {
|
|
|
118
121
|
runId: string;
|
|
119
122
|
graphConfig: LegacyGraphConfig | StandardGraphConfig | MultiAgentGraphConfig;
|
|
120
123
|
customHandlers?: Record<string, g.EventHandler>;
|
|
124
|
+
/**
|
|
125
|
+
* Optional {@link HookRegistry} that wires host-defined hook callbacks
|
|
126
|
+
* (PreToolUse / PostToolUse / PreCompact / etc.) into this run.
|
|
127
|
+
*
|
|
128
|
+
* Hooks fire synchronously inside ToolNode and processStream; returning
|
|
129
|
+
* `deny` from a PreToolUse hook short-circuits the tool call. Lifetime
|
|
130
|
+
* is per-run — the host should construct a fresh registry (or reuse a
|
|
131
|
+
* shared one) and dispose of it together with the conversation block
|
|
132
|
+
* to prevent leaks.
|
|
133
|
+
*/
|
|
134
|
+
hooks?: HookRegistry;
|
|
135
|
+
/**
|
|
136
|
+
* Tool output reference configuration (upstream PRs #114 / #117).
|
|
137
|
+
* When `enabled` is true, the Run constructs a single
|
|
138
|
+
* ToolOutputReferenceRegistry and threads it to every ToolNode built by
|
|
139
|
+
* the graph so `{{tool<i>turn<n>}}` placeholders resolve across agents.
|
|
140
|
+
* Defaults to disabled (registry not constructed).
|
|
141
|
+
*/
|
|
142
|
+
toolOutputReferences?: import('@/types/tools').ToolOutputReferencesConfig;
|
|
121
143
|
returnContent?: boolean;
|
|
122
144
|
tokenCounter?: TokenCounter;
|
|
123
145
|
indexTokenCountMap?: Record<string, number>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// src/types/skill.ts
|
|
2
|
+
|
|
3
|
+
/** Minimal skill metadata for catalog assembly. The host provides these from its own data layer. */
|
|
4
|
+
export type SkillCatalogEntry = {
|
|
5
|
+
/** Kebab-case identifier (what the model passes to SkillTool) */
|
|
6
|
+
name: string;
|
|
7
|
+
/** One-line description for the catalog listing */
|
|
8
|
+
description: string;
|
|
9
|
+
/** Optional human-readable label (UI only, not shown to model) */
|
|
10
|
+
displayTitle?: string;
|
|
11
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["stream.ts"],"names":[],"mappings":"AAaA,OAAO,EAA2B,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["tools.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
|
package/src/types/tools.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import type { StructuredToolInterface } from '@langchain/core/tools';
|
|
3
3
|
import type { RunnableToolLike } from '@langchain/core/runnables';
|
|
4
4
|
import type { ToolCall } from '@langchain/core/messages/tool';
|
|
5
|
+
import type { MessageContentComplex } from '@langchain/core/messages';
|
|
5
6
|
import type { ToolErrorData } from './stream';
|
|
6
7
|
import { EnvVar, ExecutionContext } from '@/common';
|
|
7
8
|
|
|
@@ -60,6 +61,35 @@ export type ToolNodeOptions = {
|
|
|
60
61
|
* When provided, tools matching the policy will call interrupt() before execution.
|
|
61
62
|
*/
|
|
62
63
|
toolApprovalConfig?: ToolApprovalConfig;
|
|
64
|
+
/**
|
|
65
|
+
* Optional hook registry threaded down from Run. When set, ToolNode
|
|
66
|
+
* fires PreToolUse / PostToolUse / PostToolUseFailure / PermissionDenied
|
|
67
|
+
* lifecycle events through executeHooks during event-driven dispatch.
|
|
68
|
+
*/
|
|
69
|
+
hookRegistry?: import('@/hooks').HookRegistry;
|
|
70
|
+
/**
|
|
71
|
+
* Maximum characters for a single tool result (head+tail truncation).
|
|
72
|
+
* When omitted, derived from the agent's `maxContextTokens` (30%
|
|
73
|
+
* heuristic), capped at HARD_MAX_TOOL_RESULT_CHARS. Upstream-aligned —
|
|
74
|
+
* Ranger's truncation today is driven by other knobs, but accepting
|
|
75
|
+
* this option keeps the test surface portable.
|
|
76
|
+
*/
|
|
77
|
+
maxToolResultChars?: number;
|
|
78
|
+
/**
|
|
79
|
+
* Run-scoped tool output reference configuration (upstream PR #114).
|
|
80
|
+
* When `enabled` is true, ToolNode registers successful outputs and
|
|
81
|
+
* substitutes `{{tool<i>turn<n>}}` placeholders found in string args.
|
|
82
|
+
* Ignored when `toolOutputRegistry` is also provided (the host-supplied
|
|
83
|
+
* registry wins).
|
|
84
|
+
*/
|
|
85
|
+
toolOutputReferences?: ToolOutputReferencesConfig;
|
|
86
|
+
/**
|
|
87
|
+
* Pre-constructed registry instance shared across ToolNodes for the run.
|
|
88
|
+
* Graphs pass the same registry to every ToolNode they compile so
|
|
89
|
+
* cross-agent `{{tool<i>turn<n>}}` substitutions resolve. Takes
|
|
90
|
+
* precedence over `toolOutputReferences` when both are set.
|
|
91
|
+
*/
|
|
92
|
+
toolOutputRegistry?: import('@/tools/toolOutputReferences').ToolOutputReferenceRegistry;
|
|
63
93
|
};
|
|
64
94
|
|
|
65
95
|
export type ToolNodeConstructorParams = ToolRefs & ToolNodeOptions;
|
|
@@ -90,12 +120,39 @@ export type CodeExecutionToolParams =
|
|
|
90
120
|
[EnvVar.CODE_API_KEY]?: string;
|
|
91
121
|
};
|
|
92
122
|
|
|
123
|
+
/**
|
|
124
|
+
* Bash execution tool params. Same shape as CodeExecutionToolParams —
|
|
125
|
+
* BashExecutor reuses the /exec endpoint with `lang: 'bash'`.
|
|
126
|
+
*/
|
|
127
|
+
export type BashExecutionToolParams = CodeExecutionToolParams;
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Read-file tool params. Resolution of the `file_path` to actual bytes is
|
|
131
|
+
* delegated to a host-supplied resolver in `RunConfig` (skill files, code
|
|
132
|
+
* exec session files, etc.).
|
|
133
|
+
*/
|
|
134
|
+
export type ReadFileToolParams =
|
|
135
|
+
| undefined
|
|
136
|
+
| {
|
|
137
|
+
apiKey?: string;
|
|
138
|
+
[EnvVar.CODE_API_KEY]?: string;
|
|
139
|
+
};
|
|
140
|
+
|
|
93
141
|
export type FileRef = {
|
|
94
142
|
id: string;
|
|
95
143
|
name: string;
|
|
96
144
|
path?: string;
|
|
97
145
|
/** Session ID this file belongs to (for multi-session file tracking) */
|
|
98
146
|
session_id?: string;
|
|
147
|
+
/**
|
|
148
|
+
* `true` when the codeapi sandbox echoed this entry as an unchanged
|
|
149
|
+
* passthrough of an input the caller already owns (skill files,
|
|
150
|
+
* downloaded inputs whose hash matched the baseline, inherited
|
|
151
|
+
* `.dirkeep` markers). The tool-result formatter renders these as
|
|
152
|
+
* "Available files" rather than "Generated files" so the LLM doesn't
|
|
153
|
+
* conflate infrastructure inputs with newly-produced outputs.
|
|
154
|
+
*/
|
|
155
|
+
inherited?: true;
|
|
99
156
|
};
|
|
100
157
|
|
|
101
158
|
export type FileRefs = FileRef[];
|
|
@@ -190,6 +247,27 @@ export type ToolExecuteBatchRequest = {
|
|
|
190
247
|
reject: (error: Error) => void;
|
|
191
248
|
};
|
|
192
249
|
|
|
250
|
+
/**
|
|
251
|
+
* Generic message-injection envelope used by SkillTool, hooks, and any other
|
|
252
|
+
* tool execution handler that needs to push extra context into graph state
|
|
253
|
+
* after the ToolMessage. The host's message formatter is responsible for
|
|
254
|
+
* placement and any per-provider merging rules.
|
|
255
|
+
*/
|
|
256
|
+
export type InjectedMessage = {
|
|
257
|
+
/** 'user' for skill body injection, 'system' for context hints.
|
|
258
|
+
* Both are converted to HumanMessage at runtime; the original role
|
|
259
|
+
* is preserved in additional_kwargs.role. */
|
|
260
|
+
role: 'user' | 'system';
|
|
261
|
+
/** Message content: string for simple text, array for complex multi-part content */
|
|
262
|
+
content: string | MessageContentComplex[];
|
|
263
|
+
/** When true, the message is framework-internal: not shown in UI, not counted as a user turn */
|
|
264
|
+
isMeta?: boolean;
|
|
265
|
+
/** Origin tag for downstream consumers (UI, pruner, compaction) */
|
|
266
|
+
source?: 'skill' | 'hook' | 'system';
|
|
267
|
+
/** Only set when source is 'skill', for compaction preservation */
|
|
268
|
+
skillName?: string;
|
|
269
|
+
};
|
|
270
|
+
|
|
193
271
|
/** Result for a single tool call in event-driven execution */
|
|
194
272
|
export type ToolExecuteResult = {
|
|
195
273
|
/** Matches ToolCallRequest.id */
|
|
@@ -202,11 +280,44 @@ export type ToolExecuteResult = {
|
|
|
202
280
|
status: 'success' | 'error';
|
|
203
281
|
/** Error message if status is 'error' */
|
|
204
282
|
errorMessage?: string;
|
|
283
|
+
/**
|
|
284
|
+
* Messages to inject into graph state after the ToolMessage for this call.
|
|
285
|
+
* Placed after tool results to respect provider message ordering
|
|
286
|
+
* (tool_call -> tool_result adjacency). The host's message formatter may
|
|
287
|
+
* merge injected user messages with the preceding tool_result turn.
|
|
288
|
+
* Generic mechanism: any tool execution handler can use this.
|
|
289
|
+
*/
|
|
290
|
+
injectedMessages?: InjectedMessage[];
|
|
205
291
|
};
|
|
206
292
|
|
|
207
293
|
/** Map of tool names to tool definitions */
|
|
208
294
|
export type LCToolRegistry = Map<string, LCTool>;
|
|
209
295
|
|
|
296
|
+
/**
|
|
297
|
+
* Configuration for the tool output reference feature (upstream PR #114).
|
|
298
|
+
*
|
|
299
|
+
* When `enabled: true`, ToolNode stores each successful tool output under
|
|
300
|
+
* a stable key `tool<idx>turn<turn>` and the LLM can pipe a previous output
|
|
301
|
+
* into a subsequent tool's args via the literal placeholder
|
|
302
|
+
* `{{tool<idx>turn<turn>}}`. Substitution happens immediately before tool
|
|
303
|
+
* invocation; the LLM-visible ToolMessage.content is annotated with a
|
|
304
|
+
* `_ref` JSON field or a `[ref: tool<idx>turn<turn>]` prefix so the model
|
|
305
|
+
* knows which key the output is stored under.
|
|
306
|
+
*
|
|
307
|
+
* Disabled by default. Hosts that want to opt in pass
|
|
308
|
+
* `toolOutputReferences: { enabled: true }` on RunConfig and (optionally)
|
|
309
|
+
* append the bash tool's tool-output-references guide to the bash tool
|
|
310
|
+
* description so the LLM learns the substitution syntax.
|
|
311
|
+
*/
|
|
312
|
+
export type ToolOutputReferencesConfig = {
|
|
313
|
+
/** Enable the registry and placeholder substitution. Defaults to `false`. */
|
|
314
|
+
enabled?: boolean;
|
|
315
|
+
/** Maximum characters stored (and substituted) per registered output. */
|
|
316
|
+
maxOutputSize?: number;
|
|
317
|
+
/** Hard cap on total characters retained across all registered outputs for the run. */
|
|
318
|
+
maxTotalSize?: number;
|
|
319
|
+
};
|
|
320
|
+
|
|
210
321
|
export type ProgrammaticCache = { toolMap: ToolMap; toolDefs: LCTool[] };
|
|
211
322
|
|
|
212
323
|
// ============================================================================
|
|
@@ -456,6 +567,13 @@ export type ProgrammaticToolCallingParams = {
|
|
|
456
567
|
[key: string]: unknown;
|
|
457
568
|
};
|
|
458
569
|
|
|
570
|
+
/**
|
|
571
|
+
* Initialization parameters for the BashPTC tool. Same shape as
|
|
572
|
+
* {@link ProgrammaticToolCallingParams}; the bash variant just runs
|
|
573
|
+
* generated code through `lang: 'bash'` instead of `lang: 'python'`.
|
|
574
|
+
*/
|
|
575
|
+
export type BashProgrammaticToolCallingParams = ProgrammaticToolCallingParams;
|
|
576
|
+
|
|
459
577
|
// ============================================================================
|
|
460
578
|
// Tool Session Context Types
|
|
461
579
|
// ============================================================================
|