@illuma-ai/agents 1.0.89 → 1.0.93
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/agents/AgentContext.cjs +98 -49
- package/dist/cjs/agents/AgentContext.cjs.map +1 -1
- package/dist/cjs/common/constants.cjs +25 -0
- package/dist/cjs/common/constants.cjs.map +1 -0
- package/dist/cjs/common/enum.cjs +30 -0
- package/dist/cjs/common/enum.cjs.map +1 -1
- package/dist/cjs/events.cjs +9 -4
- package/dist/cjs/events.cjs.map +1 -1
- package/dist/cjs/graphs/Graph.cjs +397 -92
- package/dist/cjs/graphs/Graph.cjs.map +1 -1
- package/dist/cjs/graphs/MultiAgentGraph.cjs +223 -92
- package/dist/cjs/graphs/MultiAgentGraph.cjs.map +1 -1
- package/dist/cjs/instrumentation.cjs +30 -14
- package/dist/cjs/instrumentation.cjs.map +1 -1
- package/dist/cjs/llm/anthropic/index.cjs +43 -11
- package/dist/cjs/llm/anthropic/index.cjs.map +1 -1
- package/dist/cjs/llm/anthropic/types.cjs.map +1 -1
- package/dist/cjs/llm/anthropic/utils/message_inputs.cjs +10 -7
- package/dist/cjs/llm/anthropic/utils/message_inputs.cjs.map +1 -1
- package/dist/cjs/llm/anthropic/utils/message_outputs.cjs +32 -0
- package/dist/cjs/llm/anthropic/utils/message_outputs.cjs.map +1 -1
- package/dist/cjs/llm/anthropic/utils/tools.cjs.map +1 -1
- package/dist/cjs/llm/bedrock/index.cjs +129 -101
- package/dist/cjs/llm/bedrock/index.cjs.map +1 -1
- package/dist/cjs/llm/bedrock/utils/message_inputs.cjs +489 -0
- package/dist/cjs/llm/bedrock/utils/message_inputs.cjs.map +1 -0
- package/dist/cjs/llm/bedrock/utils/message_outputs.cjs +176 -0
- package/dist/cjs/llm/bedrock/utils/message_outputs.cjs.map +1 -0
- package/dist/cjs/llm/fake.cjs.map +1 -1
- package/dist/cjs/llm/google/index.cjs.map +1 -1
- package/dist/cjs/llm/google/utils/common.cjs.map +1 -1
- package/dist/cjs/llm/openai/index.cjs +1 -1
- package/dist/cjs/llm/openai/index.cjs.map +1 -1
- package/dist/cjs/llm/openai/utils/index.cjs.map +1 -1
- package/dist/cjs/llm/openrouter/index.cjs +59 -5
- package/dist/cjs/llm/openrouter/index.cjs.map +1 -1
- package/dist/cjs/llm/providers.cjs.map +1 -1
- package/dist/cjs/llm/text.cjs.map +1 -1
- package/dist/cjs/llm/vertexai/index.cjs +80 -2
- package/dist/cjs/llm/vertexai/index.cjs.map +1 -1
- package/dist/cjs/main.cjs +60 -27
- package/dist/cjs/main.cjs.map +1 -1
- package/dist/cjs/messages/cache.cjs +131 -108
- package/dist/cjs/messages/cache.cjs.map +1 -1
- package/dist/cjs/messages/content.cjs.map +1 -1
- package/dist/cjs/messages/core.cjs +3 -0
- package/dist/cjs/messages/core.cjs.map +1 -1
- package/dist/cjs/messages/format.cjs +265 -47
- package/dist/cjs/messages/format.cjs.map +1 -1
- package/dist/cjs/messages/ids.cjs.map +1 -1
- package/dist/cjs/messages/prune.cjs +55 -2
- package/dist/cjs/messages/prune.cjs.map +1 -1
- package/dist/cjs/messages/summarize.cjs +170 -0
- package/dist/cjs/messages/summarize.cjs.map +1 -0
- package/dist/cjs/messages/tools.cjs.map +1 -1
- package/dist/cjs/run.cjs +87 -30
- package/dist/cjs/run.cjs.map +1 -1
- package/dist/cjs/schemas/validate.cjs.map +1 -1
- package/dist/cjs/splitStream.cjs.map +1 -1
- package/dist/cjs/stream.cjs +59 -25
- package/dist/cjs/stream.cjs.map +1 -1
- package/dist/cjs/tools/AskUser.cjs +131 -0
- package/dist/cjs/tools/AskUser.cjs.map +1 -0
- package/dist/cjs/tools/BrowserTools.cjs +11 -7
- package/dist/cjs/tools/BrowserTools.cjs.map +1 -1
- package/dist/cjs/tools/Calculator.cjs.map +1 -1
- package/dist/cjs/tools/CodeExecutor.cjs +46 -4
- package/dist/cjs/tools/CodeExecutor.cjs.map +1 -1
- package/dist/cjs/tools/ProgrammaticToolCalling.cjs +36 -53
- package/dist/cjs/tools/ProgrammaticToolCalling.cjs.map +1 -1
- package/dist/cjs/tools/StreamingToolCallBuffer.cjs +208 -0
- package/dist/cjs/tools/StreamingToolCallBuffer.cjs.map +1 -0
- package/dist/cjs/tools/ToolNode.cjs +333 -30
- package/dist/cjs/tools/ToolNode.cjs.map +1 -1
- package/dist/cjs/tools/ToolSearch.cjs +66 -30
- package/dist/cjs/tools/ToolSearch.cjs.map +1 -1
- package/dist/cjs/tools/handlers.cjs +94 -8
- package/dist/cjs/tools/handlers.cjs.map +1 -1
- package/dist/cjs/tools/schema.cjs.map +1 -1
- package/dist/cjs/tools/search/content.cjs.map +1 -1
- package/dist/cjs/tools/search/firecrawl.cjs.map +1 -1
- package/dist/cjs/tools/search/format.cjs.map +1 -1
- package/dist/cjs/tools/search/highlights.cjs.map +1 -1
- package/dist/cjs/tools/search/rerankers.cjs.map +1 -1
- package/dist/cjs/tools/search/schema.cjs.map +1 -1
- package/dist/cjs/tools/search/search.cjs +1 -0
- package/dist/cjs/tools/search/search.cjs.map +1 -1
- package/dist/cjs/tools/search/serper-scraper.cjs.map +1 -1
- package/dist/cjs/tools/search/tool.cjs.map +1 -1
- package/dist/cjs/tools/search/utils.cjs.map +1 -1
- package/dist/cjs/types/graph.cjs +1 -1
- package/dist/cjs/types/graph.cjs.map +1 -1
- package/dist/cjs/utils/contextAnalytics.cjs +23 -6
- package/dist/cjs/utils/contextAnalytics.cjs.map +1 -1
- package/dist/cjs/utils/events.cjs.map +1 -1
- package/dist/cjs/utils/graph.cjs.map +1 -1
- package/dist/cjs/utils/handlers.cjs.map +1 -1
- package/dist/cjs/utils/llm.cjs.map +1 -1
- package/dist/cjs/utils/misc.cjs.map +1 -1
- package/dist/cjs/utils/run.cjs +3 -1
- package/dist/cjs/utils/run.cjs.map +1 -1
- package/dist/cjs/utils/schema.cjs.map +1 -1
- package/dist/cjs/utils/title.cjs.map +1 -1
- package/dist/cjs/utils/tokens.cjs +33 -58
- package/dist/cjs/utils/tokens.cjs.map +1 -1
- package/dist/cjs/utils/toolCallContinuation.cjs +55 -0
- package/dist/cjs/utils/toolCallContinuation.cjs.map +1 -0
- package/dist/cjs/utils/toonFormat.cjs.map +1 -1
- package/dist/esm/agents/AgentContext.mjs +98 -49
- package/dist/esm/agents/AgentContext.mjs.map +1 -1
- package/dist/esm/common/constants.mjs +22 -0
- package/dist/esm/common/constants.mjs.map +1 -0
- package/dist/esm/common/enum.mjs +31 -1
- package/dist/esm/common/enum.mjs.map +1 -1
- package/dist/esm/events.mjs +9 -4
- package/dist/esm/events.mjs.map +1 -1
- package/dist/esm/graphs/Graph.mjs +393 -88
- package/dist/esm/graphs/Graph.mjs.map +1 -1
- package/dist/esm/graphs/MultiAgentGraph.mjs +224 -93
- package/dist/esm/graphs/MultiAgentGraph.mjs.map +1 -1
- package/dist/esm/instrumentation.mjs +30 -14
- package/dist/esm/instrumentation.mjs.map +1 -1
- package/dist/esm/llm/anthropic/index.mjs +43 -11
- package/dist/esm/llm/anthropic/index.mjs.map +1 -1
- package/dist/esm/llm/anthropic/types.mjs.map +1 -1
- package/dist/esm/llm/anthropic/utils/message_inputs.mjs +10 -7
- package/dist/esm/llm/anthropic/utils/message_inputs.mjs.map +1 -1
- package/dist/esm/llm/anthropic/utils/message_outputs.mjs +32 -0
- package/dist/esm/llm/anthropic/utils/message_outputs.mjs.map +1 -1
- package/dist/esm/llm/anthropic/utils/tools.mjs.map +1 -1
- package/dist/esm/llm/bedrock/index.mjs +128 -101
- package/dist/esm/llm/bedrock/index.mjs.map +1 -1
- package/dist/esm/llm/bedrock/utils/message_inputs.mjs +484 -0
- package/dist/esm/llm/bedrock/utils/message_inputs.mjs.map +1 -0
- package/dist/esm/llm/bedrock/utils/message_outputs.mjs +171 -0
- package/dist/esm/llm/bedrock/utils/message_outputs.mjs.map +1 -0
- package/dist/esm/llm/fake.mjs.map +1 -1
- package/dist/esm/llm/google/index.mjs.map +1 -1
- package/dist/esm/llm/google/utils/common.mjs.map +1 -1
- package/dist/esm/llm/openai/index.mjs +1 -1
- package/dist/esm/llm/openai/index.mjs.map +1 -1
- package/dist/esm/llm/openai/utils/index.mjs.map +1 -1
- package/dist/esm/llm/openrouter/index.mjs +59 -5
- package/dist/esm/llm/openrouter/index.mjs.map +1 -1
- package/dist/esm/llm/providers.mjs.map +1 -1
- package/dist/esm/llm/text.mjs.map +1 -1
- package/dist/esm/llm/vertexai/index.mjs +80 -2
- package/dist/esm/llm/vertexai/index.mjs.map +1 -1
- package/dist/esm/main.mjs +8 -3
- package/dist/esm/main.mjs.map +1 -1
- package/dist/esm/messages/cache.mjs +131 -108
- package/dist/esm/messages/cache.mjs.map +1 -1
- package/dist/esm/messages/content.mjs.map +1 -1
- package/dist/esm/messages/core.mjs +4 -1
- package/dist/esm/messages/core.mjs.map +1 -1
- package/dist/esm/messages/format.mjs +267 -49
- package/dist/esm/messages/format.mjs.map +1 -1
- package/dist/esm/messages/ids.mjs.map +1 -1
- package/dist/esm/messages/prune.mjs +56 -4
- package/dist/esm/messages/prune.mjs.map +1 -1
- package/dist/esm/messages/summarize.mjs +161 -0
- package/dist/esm/messages/summarize.mjs.map +1 -0
- package/dist/esm/messages/tools.mjs.map +1 -1
- package/dist/esm/run.mjs +88 -31
- package/dist/esm/run.mjs.map +1 -1
- package/dist/esm/schemas/validate.mjs.map +1 -1
- package/dist/esm/splitStream.mjs.map +1 -1
- package/dist/esm/stream.mjs +60 -26
- package/dist/esm/stream.mjs.map +1 -1
- package/dist/esm/tools/AskUser.mjs +125 -0
- package/dist/esm/tools/AskUser.mjs.map +1 -0
- package/dist/esm/tools/BrowserTools.mjs +11 -7
- package/dist/esm/tools/BrowserTools.mjs.map +1 -1
- package/dist/esm/tools/Calculator.mjs.map +1 -1
- package/dist/esm/tools/CodeExecutor.mjs +46 -4
- package/dist/esm/tools/CodeExecutor.mjs.map +1 -1
- package/dist/esm/tools/ProgrammaticToolCalling.mjs +37 -54
- package/dist/esm/tools/ProgrammaticToolCalling.mjs.map +1 -1
- package/dist/esm/tools/StreamingToolCallBuffer.mjs +206 -0
- package/dist/esm/tools/StreamingToolCallBuffer.mjs.map +1 -0
- package/dist/esm/tools/ToolNode.mjs +333 -30
- package/dist/esm/tools/ToolNode.mjs.map +1 -1
- package/dist/esm/tools/ToolSearch.mjs +66 -30
- package/dist/esm/tools/ToolSearch.mjs.map +1 -1
- package/dist/esm/tools/handlers.mjs +95 -9
- package/dist/esm/tools/handlers.mjs.map +1 -1
- package/dist/esm/tools/schema.mjs.map +1 -1
- package/dist/esm/tools/search/content.mjs.map +1 -1
- package/dist/esm/tools/search/firecrawl.mjs.map +1 -1
- package/dist/esm/tools/search/format.mjs.map +1 -1
- package/dist/esm/tools/search/highlights.mjs.map +1 -1
- package/dist/esm/tools/search/rerankers.mjs.map +1 -1
- package/dist/esm/tools/search/schema.mjs.map +1 -1
- package/dist/esm/tools/search/search.mjs +1 -0
- package/dist/esm/tools/search/search.mjs.map +1 -1
- package/dist/esm/tools/search/serper-scraper.mjs.map +1 -1
- package/dist/esm/tools/search/tool.mjs.map +1 -1
- package/dist/esm/tools/search/utils.mjs.map +1 -1
- package/dist/esm/types/graph.mjs +1 -1
- package/dist/esm/types/graph.mjs.map +1 -1
- package/dist/esm/utils/contextAnalytics.mjs +23 -6
- package/dist/esm/utils/contextAnalytics.mjs.map +1 -1
- package/dist/esm/utils/events.mjs.map +1 -1
- package/dist/esm/utils/graph.mjs.map +1 -1
- package/dist/esm/utils/handlers.mjs.map +1 -1
- package/dist/esm/utils/llm.mjs.map +1 -1
- package/dist/esm/utils/misc.mjs.map +1 -1
- package/dist/esm/utils/run.mjs +3 -1
- package/dist/esm/utils/run.mjs.map +1 -1
- package/dist/esm/utils/schema.mjs.map +1 -1
- package/dist/esm/utils/title.mjs.map +1 -1
- package/dist/esm/utils/tokens.mjs +33 -59
- package/dist/esm/utils/tokens.mjs.map +1 -1
- package/dist/esm/utils/toolCallContinuation.mjs +52 -0
- package/dist/esm/utils/toolCallContinuation.mjs.map +1 -0
- package/dist/esm/utils/toonFormat.mjs.map +1 -1
- package/dist/types/agents/AgentContext.d.ts +14 -7
- package/dist/types/common/constants.d.ts +18 -0
- package/dist/types/common/enum.d.ts +28 -0
- package/dist/types/common/index.d.ts +1 -0
- package/dist/types/events.d.ts +10 -3
- package/dist/types/graphs/Graph.d.ts +37 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/llm/anthropic/index.d.ts +7 -1
- package/dist/types/llm/anthropic/types.d.ts +5 -2
- package/dist/types/llm/anthropic/utils/message_outputs.d.ts +1 -1
- package/dist/types/llm/bedrock/index.d.ts +40 -33
- package/dist/types/llm/bedrock/utils/message_outputs.d.ts +1 -1
- package/dist/types/llm/google/index.d.ts +2 -3
- package/dist/types/llm/openrouter/index.d.ts +21 -1
- package/dist/types/llm/vertexai/index.d.ts +3 -2
- package/dist/types/messages/cache.d.ts +1 -1
- package/dist/types/messages/index.d.ts +1 -0
- package/dist/types/messages/prune.d.ts +2 -7
- package/dist/types/messages/summarize.d.ts +33 -0
- package/dist/types/run.d.ts +6 -0
- package/dist/types/tools/AskUser.d.ts +408 -0
- package/dist/types/tools/BrowserTools.d.ts +2 -2
- package/dist/types/tools/CodeExecutor.d.ts +2 -2
- package/dist/types/tools/StreamingToolCallBuffer.d.ts +106 -0
- package/dist/types/tools/ToolNode.d.ts +55 -3
- package/dist/types/tools/ToolSearch.d.ts +9 -5
- package/dist/types/tools/handlers.d.ts +2 -2
- package/dist/types/types/graph.d.ts +9 -2
- package/dist/types/types/llm.d.ts +8 -3
- package/dist/types/types/run.d.ts +2 -0
- package/dist/types/types/tools.d.ts +20 -2
- package/dist/types/utils/contextAnalytics.d.ts +5 -4
- package/dist/types/utils/index.d.ts +1 -0
- package/dist/types/utils/tokens.d.ts +6 -19
- package/dist/types/utils/toolCallContinuation.d.ts +30 -0
- package/package.json +15 -8
- package/src/agents/AgentContext.js +782 -0
- package/src/agents/AgentContext.js.map +1 -0
- package/src/agents/AgentContext.test.js +421 -0
- package/src/agents/AgentContext.test.js.map +1 -0
- package/src/agents/AgentContext.ts +132 -64
- package/src/agents/__tests__/AgentContext.test.js +678 -0
- package/src/agents/__tests__/AgentContext.test.js.map +1 -0
- package/src/agents/__tests__/AgentContext.test.ts +25 -4
- package/src/agents/__tests__/resolveStructuredOutputMode.test.js +117 -0
- package/src/agents/__tests__/resolveStructuredOutputMode.test.js.map +1 -0
- package/src/common/__tests__/enum.test.ts +135 -0
- package/src/common/constants.ts +21 -0
- package/src/common/enum.js +192 -0
- package/src/common/enum.js.map +1 -0
- package/src/common/enum.ts +30 -0
- package/src/common/index.js +3 -0
- package/src/common/index.js.map +1 -0
- package/src/common/index.ts +2 -1
- package/src/events.js +166 -0
- package/src/events.js.map +1 -0
- package/src/events.ts +11 -14
- package/src/graphs/Graph.js +1857 -0
- package/src/graphs/Graph.js.map +1 -0
- package/src/graphs/Graph.ts +580 -162
- package/src/graphs/MultiAgentGraph.js +1092 -0
- package/src/graphs/MultiAgentGraph.js.map +1 -0
- package/src/graphs/MultiAgentGraph.ts +331 -112
- package/src/graphs/__tests__/adaptive-thinking.test.ts +369 -0
- package/src/graphs/__tests__/graph-direct-tool-names.test.ts +210 -0
- package/src/graphs/__tests__/multi-agent-edges.test.ts +237 -0
- package/src/graphs/__tests__/structured-output.integration.test.js +624 -0
- package/src/graphs/__tests__/structured-output.integration.test.js.map +1 -0
- package/src/graphs/__tests__/structured-output.test.js +144 -0
- package/src/graphs/__tests__/structured-output.test.js.map +1 -0
- package/src/graphs/contextManagement.e2e.test.js +718 -0
- package/src/graphs/contextManagement.e2e.test.js.map +1 -0
- package/src/graphs/contextManagement.e2e.test.ts +990 -0
- package/src/graphs/contextManagement.test.js +485 -0
- package/src/graphs/contextManagement.test.js.map +1 -0
- package/src/graphs/contextManagement.test.ts +625 -0
- package/src/graphs/handoffValidation.test.js +276 -0
- package/src/graphs/handoffValidation.test.js.map +1 -0
- package/src/graphs/handoffValidation.test.ts +353 -0
- package/src/graphs/index.js +3 -0
- package/src/graphs/index.js.map +1 -0
- package/src/index.js +28 -0
- package/src/index.js.map +1 -0
- package/src/index.ts +13 -0
- package/src/instrumentation.js +21 -0
- package/src/instrumentation.js.map +1 -0
- package/src/instrumentation.ts +38 -17
- package/src/llm/anthropic/index.js +319 -0
- package/src/llm/anthropic/index.js.map +1 -0
- package/src/llm/anthropic/index.ts +68 -15
- package/src/llm/anthropic/llm.spec.ts +402 -0
- package/src/llm/anthropic/types.js +46 -0
- package/src/llm/anthropic/types.js.map +1 -0
- package/src/llm/anthropic/types.ts +8 -2
- package/src/llm/anthropic/utils/message_inputs.js +627 -0
- package/src/llm/anthropic/utils/message_inputs.js.map +1 -0
- package/src/llm/anthropic/utils/message_inputs.ts +16 -33
- package/src/llm/anthropic/utils/message_outputs.js +290 -0
- package/src/llm/anthropic/utils/message_outputs.js.map +1 -0
- package/src/llm/anthropic/utils/message_outputs.ts +40 -1
- package/src/llm/anthropic/utils/output_parsers.js +89 -0
- package/src/llm/anthropic/utils/output_parsers.js.map +1 -0
- package/src/llm/anthropic/utils/tools.js +25 -0
- package/src/llm/anthropic/utils/tools.js.map +1 -0
- package/src/llm/bedrock/__tests__/bedrock-caching.test.js +392 -0
- package/src/llm/bedrock/__tests__/bedrock-caching.test.js.map +1 -0
- package/src/llm/bedrock/__tests__/bedrock-caching.test.ts +24 -40
- package/src/llm/bedrock/index.js +303 -0
- package/src/llm/bedrock/index.js.map +1 -0
- package/src/llm/bedrock/index.ts +171 -134
- package/src/llm/bedrock/llm.spec.ts +395 -52
- package/src/llm/bedrock/types.js +2 -0
- package/src/llm/bedrock/types.js.map +1 -0
- package/src/llm/bedrock/utils/index.js +6 -0
- package/src/llm/bedrock/utils/index.js.map +1 -0
- package/src/llm/bedrock/utils/message_inputs.js +463 -0
- package/src/llm/bedrock/utils/message_inputs.js.map +1 -0
- package/src/llm/bedrock/utils/message_inputs.ts +30 -5
- package/src/llm/bedrock/utils/message_outputs.js +269 -0
- package/src/llm/bedrock/utils/message_outputs.js.map +1 -0
- package/src/llm/bedrock/utils/message_outputs.ts +70 -22
- package/src/llm/fake.js +92 -0
- package/src/llm/fake.js.map +1 -0
- package/src/llm/google/index.js +215 -0
- package/src/llm/google/index.js.map +1 -0
- package/src/llm/google/index.ts +2 -3
- package/src/llm/google/types.js +12 -0
- package/src/llm/google/types.js.map +1 -0
- package/src/llm/google/utils/common.js +670 -0
- package/src/llm/google/utils/common.js.map +1 -0
- package/src/llm/google/utils/tools.js +111 -0
- package/src/llm/google/utils/tools.js.map +1 -0
- package/src/llm/google/utils/zod_to_genai_parameters.js +47 -0
- package/src/llm/google/utils/zod_to_genai_parameters.js.map +1 -0
- package/src/llm/openai/index.js +1033 -0
- package/src/llm/openai/index.js.map +1 -0
- package/src/llm/openai/types.js +2 -0
- package/src/llm/openai/types.js.map +1 -0
- package/src/llm/openai/utils/index.js +756 -0
- package/src/llm/openai/utils/index.js.map +1 -0
- package/src/llm/openai/utils/isReasoningModel.test.js +79 -0
- package/src/llm/openai/utils/isReasoningModel.test.js.map +1 -0
- package/src/llm/openrouter/index.js +261 -0
- package/src/llm/openrouter/index.js.map +1 -0
- package/src/llm/openrouter/index.ts +117 -6
- package/src/llm/openrouter/reasoning.test.js +181 -0
- package/src/llm/openrouter/reasoning.test.js.map +1 -0
- package/src/llm/openrouter/reasoning.test.ts +207 -0
- package/src/llm/providers.js +36 -0
- package/src/llm/providers.js.map +1 -0
- package/src/llm/text.js +65 -0
- package/src/llm/text.js.map +1 -0
- package/src/llm/vertexai/index.js +402 -0
- package/src/llm/vertexai/index.js.map +1 -0
- package/src/llm/vertexai/index.ts +115 -5
- package/src/llm/vertexai/llm.spec.ts +114 -0
- package/src/messages/__tests__/tools.test.js +392 -0
- package/src/messages/__tests__/tools.test.js.map +1 -0
- package/src/messages/cache.js +404 -0
- package/src/messages/cache.js.map +1 -0
- package/src/messages/cache.test.js +1167 -0
- package/src/messages/cache.test.js.map +1 -0
- package/src/messages/cache.test.ts +178 -16
- package/src/messages/cache.ts +152 -147
- package/src/messages/content.js +48 -0
- package/src/messages/content.js.map +1 -0
- package/src/messages/content.test.js +314 -0
- package/src/messages/content.test.js.map +1 -0
- package/src/messages/core.js +359 -0
- package/src/messages/core.js.map +1 -0
- package/src/messages/core.ts +5 -0
- package/src/messages/ensureThinkingBlock.test.js +997 -0
- package/src/messages/ensureThinkingBlock.test.js.map +1 -0
- package/src/messages/ensureThinkingBlock.test.ts +751 -10
- package/src/messages/format.js +973 -0
- package/src/messages/format.js.map +1 -0
- package/src/messages/format.ts +334 -57
- package/src/messages/formatAgentMessages.test.js +2278 -0
- package/src/messages/formatAgentMessages.test.js.map +1 -0
- package/src/messages/formatAgentMessages.test.ts +1175 -1
- package/src/messages/formatAgentMessages.tools.test.js +362 -0
- package/src/messages/formatAgentMessages.tools.test.js.map +1 -0
- package/src/messages/formatMessage.test.js +608 -0
- package/src/messages/formatMessage.test.js.map +1 -0
- package/src/messages/ids.js +18 -0
- package/src/messages/ids.js.map +1 -0
- package/src/messages/index.js +9 -0
- package/src/messages/index.js.map +1 -0
- package/src/messages/index.ts +1 -0
- package/src/messages/labelContentByAgent.test.js +725 -0
- package/src/messages/labelContentByAgent.test.js.map +1 -0
- package/src/messages/prune.js +438 -0
- package/src/messages/prune.js.map +1 -0
- package/src/messages/prune.ts +87 -25
- package/src/messages/reducer.js +60 -0
- package/src/messages/reducer.js.map +1 -0
- package/src/messages/shiftIndexTokenCountMap.test.js +63 -0
- package/src/messages/shiftIndexTokenCountMap.test.js.map +1 -0
- package/src/messages/summarize.js +146 -0
- package/src/messages/summarize.js.map +1 -0
- package/src/messages/summarize.test.js +332 -0
- package/src/messages/summarize.test.js.map +1 -0
- package/src/messages/summarize.test.ts +466 -0
- package/src/messages/summarize.ts +222 -0
- package/src/messages/tools.js +90 -0
- package/src/messages/tools.js.map +1 -0
- package/src/mockStream.js +81 -0
- package/src/mockStream.js.map +1 -0
- package/src/prompts/collab.js +7 -0
- package/src/prompts/collab.js.map +1 -0
- package/src/prompts/index.js +3 -0
- package/src/prompts/index.js.map +1 -0
- package/src/prompts/taskmanager.js +58 -0
- package/src/prompts/taskmanager.js.map +1 -0
- package/src/run.js +427 -0
- package/src/run.js.map +1 -0
- package/src/run.ts +101 -33
- package/src/schemas/index.js +3 -0
- package/src/schemas/index.js.map +1 -0
- package/src/schemas/schema-preparation.test.js +370 -0
- package/src/schemas/schema-preparation.test.js.map +1 -0
- package/src/schemas/validate.js +314 -0
- package/src/schemas/validate.js.map +1 -0
- package/src/schemas/validate.test.js +264 -0
- package/src/schemas/validate.test.js.map +1 -0
- package/src/scripts/abort.js +127 -0
- package/src/scripts/abort.js.map +1 -0
- package/src/scripts/ant_web_search.js +130 -0
- package/src/scripts/ant_web_search.js.map +1 -0
- package/src/scripts/ant_web_search.ts +1 -0
- package/src/scripts/ant_web_search_edge_case.js +133 -0
- package/src/scripts/ant_web_search_edge_case.js.map +1 -0
- package/src/scripts/ant_web_search_edge_case.ts +1 -0
- package/src/scripts/ant_web_search_error_edge_case.js +119 -0
- package/src/scripts/ant_web_search_error_edge_case.js.map +1 -0
- package/src/scripts/ant_web_search_error_edge_case.ts +1 -0
- package/src/scripts/args.js +41 -0
- package/src/scripts/args.js.map +1 -0
- package/src/scripts/bedrock-cache-debug.js +186 -0
- package/src/scripts/bedrock-cache-debug.js.map +1 -0
- package/src/scripts/bedrock-cache-debug.ts +250 -0
- package/src/scripts/bedrock-content-aggregation-test.js +195 -0
- package/src/scripts/bedrock-content-aggregation-test.js.map +1 -0
- package/src/scripts/bedrock-content-aggregation-test.ts +266 -0
- package/src/scripts/bedrock-merge-test.js +80 -0
- package/src/scripts/bedrock-merge-test.js.map +1 -0
- package/src/scripts/bedrock-merge-test.ts +107 -0
- package/src/scripts/bedrock-parallel-tools-test.js +150 -0
- package/src/scripts/bedrock-parallel-tools-test.js.map +1 -0
- package/src/scripts/bedrock-parallel-tools-test.ts +204 -0
- package/src/scripts/caching.js +106 -0
- package/src/scripts/caching.js.map +1 -0
- package/src/scripts/caching.ts +1 -0
- package/src/scripts/cli.js +152 -0
- package/src/scripts/cli.js.map +1 -0
- package/src/scripts/cli2.js +119 -0
- package/src/scripts/cli2.js.map +1 -0
- package/src/scripts/cli3.js +163 -0
- package/src/scripts/cli3.js.map +1 -0
- package/src/scripts/cli4.js +165 -0
- package/src/scripts/cli4.js.map +1 -0
- package/src/scripts/cli5.js +165 -0
- package/src/scripts/cli5.js.map +1 -0
- package/src/scripts/code_exec.js +171 -0
- package/src/scripts/code_exec.js.map +1 -0
- package/src/scripts/code_exec.ts +1 -0
- package/src/scripts/code_exec_files.js +180 -0
- package/src/scripts/code_exec_files.js.map +1 -0
- package/src/scripts/code_exec_files.ts +1 -0
- package/src/scripts/code_exec_multi_session.js +185 -0
- package/src/scripts/code_exec_multi_session.js.map +1 -0
- package/src/scripts/code_exec_multi_session.ts +9 -13
- package/src/scripts/code_exec_ptc.js +265 -0
- package/src/scripts/code_exec_ptc.js.map +1 -0
- package/src/scripts/code_exec_ptc.ts +1 -0
- package/src/scripts/code_exec_session.js +217 -0
- package/src/scripts/code_exec_session.js.map +1 -0
- package/src/scripts/code_exec_session.ts +1 -0
- package/src/scripts/code_exec_simple.js +120 -0
- package/src/scripts/code_exec_simple.js.map +1 -0
- package/src/scripts/code_exec_simple.ts +1 -0
- package/src/scripts/content.js +111 -0
- package/src/scripts/content.js.map +1 -0
- package/src/scripts/content.ts +1 -0
- package/src/scripts/empty_input.js +125 -0
- package/src/scripts/empty_input.js.map +1 -0
- package/src/scripts/handoff-test.js +96 -0
- package/src/scripts/handoff-test.js.map +1 -0
- package/src/scripts/image.js +138 -0
- package/src/scripts/image.js.map +1 -0
- package/src/scripts/image.ts +3 -1
- package/src/scripts/memory.js +83 -0
- package/src/scripts/memory.js.map +1 -0
- package/src/scripts/memory.ts +16 -6
- package/src/scripts/multi-agent-chain.js +271 -0
- package/src/scripts/multi-agent-chain.js.map +1 -0
- package/src/scripts/multi-agent-chain.ts +1 -0
- package/src/scripts/multi-agent-conditional.js +185 -0
- package/src/scripts/multi-agent-conditional.js.map +1 -0
- package/src/scripts/multi-agent-conditional.ts +1 -0
- package/src/scripts/multi-agent-document-review-chain.js +171 -0
- package/src/scripts/multi-agent-document-review-chain.js.map +1 -0
- package/src/scripts/multi-agent-document-review-chain.ts +1 -0
- package/src/scripts/multi-agent-hybrid-flow.js +264 -0
- package/src/scripts/multi-agent-hybrid-flow.js.map +1 -0
- package/src/scripts/multi-agent-hybrid-flow.ts +1 -0
- package/src/scripts/multi-agent-parallel-start.js +214 -0
- package/src/scripts/multi-agent-parallel-start.js.map +1 -0
- package/src/scripts/multi-agent-parallel-start.ts +4 -4
- package/src/scripts/multi-agent-parallel.js +346 -0
- package/src/scripts/multi-agent-parallel.js.map +1 -0
- package/src/scripts/multi-agent-parallel.ts +1 -0
- package/src/scripts/multi-agent-sequence.js +184 -0
- package/src/scripts/multi-agent-sequence.js.map +1 -0
- package/src/scripts/multi-agent-sequence.ts +4 -4
- package/src/scripts/multi-agent-supervisor.js +324 -0
- package/src/scripts/multi-agent-supervisor.js.map +1 -0
- package/src/scripts/multi-agent-supervisor.ts +1 -0
- package/src/scripts/multi-agent-test.js +147 -0
- package/src/scripts/multi-agent-test.js.map +1 -0
- package/src/scripts/multi-agent-test.ts +1 -0
- package/src/scripts/parallel-asymmetric-tools-test.js +202 -0
- package/src/scripts/parallel-asymmetric-tools-test.js.map +1 -0
- package/src/scripts/parallel-asymmetric-tools-test.ts +1 -0
- package/src/scripts/parallel-full-metadata-test.js +176 -0
- package/src/scripts/parallel-full-metadata-test.js.map +1 -0
- package/src/scripts/parallel-full-metadata-test.ts +1 -0
- package/src/scripts/parallel-tools-test.js +256 -0
- package/src/scripts/parallel-tools-test.js.map +1 -0
- package/src/scripts/parallel-tools-test.ts +1 -0
- package/src/scripts/poc-multi-agent-comprehensive.ts +1222 -0
- package/src/scripts/programmatic_exec.js +277 -0
- package/src/scripts/programmatic_exec.js.map +1 -0
- package/src/scripts/programmatic_exec_agent.js +168 -0
- package/src/scripts/programmatic_exec_agent.js.map +1 -0
- package/src/scripts/programmatic_exec_agent.ts +1 -0
- package/src/scripts/search.js +118 -0
- package/src/scripts/search.js.map +1 -0
- package/src/scripts/search.ts +1 -0
- package/src/scripts/sequential-full-metadata-test.js +143 -0
- package/src/scripts/sequential-full-metadata-test.js.map +1 -0
- package/src/scripts/sequential-full-metadata-test.ts +1 -0
- package/src/scripts/simple.js +174 -0
- package/src/scripts/simple.js.map +1 -0
- package/src/scripts/simple.ts +2 -1
- package/src/scripts/single-agent-metadata-test.js +152 -0
- package/src/scripts/single-agent-metadata-test.js.map +1 -0
- package/src/scripts/single-agent-metadata-test.ts +4 -6
- package/src/scripts/stream.js +113 -0
- package/src/scripts/stream.js.map +1 -0
- package/src/scripts/stream.ts +1 -0
- package/src/scripts/test-custom-prompt-key.js +132 -0
- package/src/scripts/test-custom-prompt-key.js.map +1 -0
- package/src/scripts/test-handoff-input.js +143 -0
- package/src/scripts/test-handoff-input.js.map +1 -0
- package/src/scripts/test-handoff-preamble.js +227 -0
- package/src/scripts/test-handoff-preamble.js.map +1 -0
- package/src/scripts/test-handoff-preamble.ts +1 -0
- package/src/scripts/test-handoff-steering.js +353 -0
- package/src/scripts/test-handoff-steering.js.map +1 -0
- package/src/scripts/test-handoff-steering.ts +430 -0
- package/src/scripts/test-multi-agent-list-handoff.js +318 -0
- package/src/scripts/test-multi-agent-list-handoff.js.map +1 -0
- package/src/scripts/test-multi-agent-list-handoff.ts +1 -0
- package/src/scripts/test-parallel-agent-labeling.js +253 -0
- package/src/scripts/test-parallel-agent-labeling.js.map +1 -0
- package/src/scripts/test-parallel-agent-labeling.ts +2 -0
- package/src/scripts/test-parallel-handoffs.js +229 -0
- package/src/scripts/test-parallel-handoffs.js.map +1 -0
- package/src/scripts/test-parallel-handoffs.ts +1 -0
- package/src/scripts/test-thinking-handoff-bedrock.js +132 -0
- package/src/scripts/test-thinking-handoff-bedrock.js.map +1 -0
- package/src/scripts/test-thinking-handoff-bedrock.ts +1 -0
- package/src/scripts/test-thinking-handoff.js +132 -0
- package/src/scripts/test-thinking-handoff.js.map +1 -0
- package/src/scripts/test-thinking-handoff.ts +1 -0
- package/src/scripts/test-thinking-to-thinking-handoff-bedrock.js +140 -0
- package/src/scripts/test-thinking-to-thinking-handoff-bedrock.js.map +1 -0
- package/src/scripts/test-thinking-to-thinking-handoff-bedrock.ts +166 -0
- package/src/scripts/test-tool-before-handoff-role-order.js +223 -0
- package/src/scripts/test-tool-before-handoff-role-order.js.map +1 -0
- package/src/scripts/test-tool-before-handoff-role-order.ts +276 -0
- package/src/scripts/test-tools-before-handoff.js +187 -0
- package/src/scripts/test-tools-before-handoff.js.map +1 -0
- package/src/scripts/test-tools-before-handoff.ts +4 -8
- package/src/scripts/test_code_api.js +263 -0
- package/src/scripts/test_code_api.js.map +1 -0
- package/src/scripts/thinking-bedrock.js +128 -0
- package/src/scripts/thinking-bedrock.js.map +1 -0
- package/src/scripts/thinking-bedrock.ts +1 -0
- package/src/scripts/thinking-vertexai.js +130 -0
- package/src/scripts/thinking-vertexai.js.map +1 -0
- package/src/scripts/thinking-vertexai.ts +168 -0
- package/src/scripts/thinking.js +134 -0
- package/src/scripts/thinking.js.map +1 -0
- package/src/scripts/thinking.ts +1 -0
- package/src/scripts/tool_search.js +114 -0
- package/src/scripts/tool_search.js.map +1 -0
- package/src/scripts/tools.js +125 -0
- package/src/scripts/tools.js.map +1 -0
- package/src/scripts/tools.ts +5 -19
- package/src/specs/agent-handoffs-bedrock.integration.test.js +280 -0
- package/src/specs/agent-handoffs-bedrock.integration.test.js.map +1 -0
- package/src/specs/agent-handoffs-bedrock.integration.test.ts +412 -375
- package/src/specs/agent-handoffs.test.js +924 -0
- package/src/specs/agent-handoffs.test.js.map +1 -0
- package/src/specs/agent-handoffs.test.ts +152 -39
- package/src/specs/anthropic.simple.test.js +287 -0
- package/src/specs/anthropic.simple.test.js.map +1 -0
- package/src/specs/anthropic.simple.test.ts +7 -4
- package/src/specs/azure.simple.test.js +381 -0
- package/src/specs/azure.simple.test.js.map +1 -0
- package/src/specs/azure.simple.test.ts +143 -5
- package/src/specs/cache.simple.test.js +282 -0
- package/src/specs/cache.simple.test.js.map +1 -0
- package/src/specs/cache.simple.test.ts +9 -2
- package/src/specs/custom-event-await.test.js +148 -0
- package/src/specs/custom-event-await.test.js.map +1 -0
- package/src/specs/custom-event-await.test.ts +215 -0
- package/src/specs/deepseek.simple.test.js +189 -0
- package/src/specs/deepseek.simple.test.js.map +1 -0
- package/src/specs/deepseek.simple.test.ts +4 -2
- package/src/specs/emergency-prune.test.js +308 -0
- package/src/specs/emergency-prune.test.js.map +1 -0
- package/src/specs/moonshot.simple.test.js +237 -0
- package/src/specs/moonshot.simple.test.js.map +1 -0
- package/src/specs/moonshot.simple.test.ts +6 -2
- package/src/specs/observability.integration.test.js +1337 -0
- package/src/specs/observability.integration.test.js.map +1 -0
- package/src/specs/observability.integration.test.ts +2223 -0
- package/src/specs/openai.simple.test.js +233 -0
- package/src/specs/openai.simple.test.js.map +1 -0
- package/src/specs/openai.simple.test.ts +4 -2
- package/src/specs/openrouter.simple.test.js +202 -0
- package/src/specs/openrouter.simple.test.js.map +1 -0
- package/src/specs/openrouter.simple.test.ts +165 -4
- package/src/specs/prune.test.js +733 -0
- package/src/specs/prune.test.js.map +1 -0
- package/src/specs/prune.test.ts +1 -0
- package/src/specs/reasoning.test.js +144 -0
- package/src/specs/reasoning.test.js.map +1 -0
- package/src/specs/reasoning.test.ts +2 -2
- package/src/specs/spec.utils.js +4 -0
- package/src/specs/spec.utils.js.map +1 -0
- package/src/specs/thinking-handoff.test.js +486 -0
- package/src/specs/thinking-handoff.test.js.map +1 -0
- package/src/specs/thinking-handoff.test.ts +3 -2
- package/src/specs/thinking-prune.test.js +600 -0
- package/src/specs/thinking-prune.test.js.map +1 -0
- package/src/specs/token-distribution-edge-case.test.js +246 -0
- package/src/specs/token-distribution-edge-case.test.js.map +1 -0
- package/src/specs/token-memoization.test.js +32 -0
- package/src/specs/token-memoization.test.js.map +1 -0
- package/src/specs/token-memoization.test.ts +14 -5
- package/src/specs/tokens.test.js +49 -0
- package/src/specs/tokens.test.js.map +1 -0
- package/src/specs/tokens.test.ts +64 -0
- package/src/specs/tool-error.test.js +139 -0
- package/src/specs/tool-error.test.js.map +1 -0
- package/src/specs/tool-error.test.ts +2 -2
- package/src/splitStream.js +204 -0
- package/src/splitStream.js.map +1 -0
- package/src/splitStream.test.js +504 -0
- package/src/splitStream.test.js.map +1 -0
- package/src/stream.js +650 -0
- package/src/stream.js.map +1 -0
- package/src/stream.test.js +225 -0
- package/src/stream.test.js.map +1 -0
- package/src/stream.test.ts +25 -15
- package/src/stream.ts +82 -32
- package/src/test/mockTools.js +340 -0
- package/src/test/mockTools.js.map +1 -0
- package/src/tools/AskUser.ts +159 -0
- package/src/tools/BrowserTools.js +245 -0
- package/src/tools/BrowserTools.js.map +1 -0
- package/src/tools/BrowserTools.ts +12 -8
- package/src/tools/Calculator.js +38 -0
- package/src/tools/Calculator.js.map +1 -0
- package/src/tools/Calculator.test.js +225 -0
- package/src/tools/Calculator.test.js.map +1 -0
- package/src/tools/CodeExecutor.js +233 -0
- package/src/tools/CodeExecutor.js.map +1 -0
- package/src/tools/CodeExecutor.selfhealing.test.ts +435 -0
- package/src/tools/CodeExecutor.ts +62 -4
- package/src/tools/ProgrammaticToolCalling.js +602 -0
- package/src/tools/ProgrammaticToolCalling.js.map +1 -0
- package/src/tools/ProgrammaticToolCalling.ts +40 -52
- package/src/tools/StreamingToolCallBuffer.js +179 -0
- package/src/tools/StreamingToolCallBuffer.js.map +1 -0
- package/src/tools/StreamingToolCallBuffer.ts +218 -0
- package/src/tools/ToolNode.js +930 -0
- package/src/tools/ToolNode.js.map +1 -0
- package/src/tools/ToolNode.ts +454 -41
- package/src/tools/ToolSearch.js +904 -0
- package/src/tools/ToolSearch.js.map +1 -0
- package/src/tools/ToolSearch.ts +84 -33
- package/src/tools/__tests__/AskUser.test.ts +537 -0
- package/src/tools/__tests__/BrowserTools.test.js +306 -0
- package/src/tools/__tests__/BrowserTools.test.js.map +1 -0
- package/src/tools/__tests__/BrowserTools.test.ts +131 -6
- package/src/tools/__tests__/ProgrammaticToolCalling.integration.test.js +276 -0
- package/src/tools/__tests__/ProgrammaticToolCalling.integration.test.js.map +1 -0
- package/src/tools/__tests__/ProgrammaticToolCalling.test.js +807 -0
- package/src/tools/__tests__/ProgrammaticToolCalling.test.js.map +1 -0
- package/src/tools/__tests__/StreamingToolCallBuffer.test.js +175 -0
- package/src/tools/__tests__/StreamingToolCallBuffer.test.js.map +1 -0
- package/src/tools/__tests__/StreamingToolCallBuffer.test.ts +263 -0
- package/src/tools/__tests__/ToolApproval.test.js +675 -0
- package/src/tools/__tests__/ToolApproval.test.js.map +1 -0
- package/src/tools/__tests__/ToolApproval.test.ts +194 -20
- package/src/tools/__tests__/ToolNode.hitl.test.ts +267 -0
- package/src/tools/__tests__/ToolNode.recovery.test.js +200 -0
- package/src/tools/__tests__/ToolNode.recovery.test.js.map +1 -0
- package/src/tools/__tests__/ToolNode.recovery.test.ts +276 -0
- package/src/tools/__tests__/ToolNode.session.test.js +319 -0
- package/src/tools/__tests__/ToolNode.session.test.js.map +1 -0
- package/src/tools/__tests__/ToolNode.session.test.ts +465 -0
- package/src/tools/__tests__/ToolSearch.integration.test.js +125 -0
- package/src/tools/__tests__/ToolSearch.integration.test.js.map +1 -0
- package/src/tools/__tests__/ToolSearch.test.js +812 -0
- package/src/tools/__tests__/ToolSearch.test.js.map +1 -0
- package/src/tools/__tests__/ToolSearch.test.ts +78 -5
- package/src/tools/__tests__/handlers.test.js +799 -0
- package/src/tools/__tests__/handlers.test.js.map +1 -0
- package/src/tools/__tests__/handlers.test.ts +1100 -0
- package/src/tools/__tests__/truncation-recovery.integration.test.js +362 -0
- package/src/tools/__tests__/truncation-recovery.integration.test.js.map +1 -0
- package/src/tools/__tests__/truncation-recovery.integration.test.ts +560 -0
- package/src/tools/handlers.js +306 -0
- package/src/tools/handlers.js.map +1 -0
- package/src/tools/handlers.ts +119 -16
- package/src/tools/schema.js +25 -0
- package/src/tools/schema.js.map +1 -0
- package/src/tools/search/anthropic.js +34 -0
- package/src/tools/search/anthropic.js.map +1 -0
- package/src/tools/search/content.js +116 -0
- package/src/tools/search/content.js.map +1 -0
- package/src/tools/search/content.test.js +133 -0
- package/src/tools/search/content.test.js.map +1 -0
- package/src/tools/search/firecrawl.js +173 -0
- package/src/tools/search/firecrawl.js.map +1 -0
- package/src/tools/search/format.js +198 -0
- package/src/tools/search/format.js.map +1 -0
- package/src/tools/search/highlights.js +241 -0
- package/src/tools/search/highlights.js.map +1 -0
- package/src/tools/search/index.js +3 -0
- package/src/tools/search/index.js.map +1 -0
- package/src/tools/search/jina-reranker.test.js +106 -0
- package/src/tools/search/jina-reranker.test.js.map +1 -0
- package/src/tools/search/rerankers.js +165 -0
- package/src/tools/search/rerankers.js.map +1 -0
- package/src/tools/search/schema.js +102 -0
- package/src/tools/search/schema.js.map +1 -0
- package/src/tools/search/search.js +561 -0
- package/src/tools/search/search.js.map +1 -0
- package/src/tools/search/serper-scraper.js +126 -0
- package/src/tools/search/serper-scraper.js.map +1 -0
- package/src/tools/search/test.js +129 -0
- package/src/tools/search/test.js.map +1 -0
- package/src/tools/search/tool.js +453 -0
- package/src/tools/search/tool.js.map +1 -0
- package/src/tools/search/types.js +2 -0
- package/src/tools/search/types.js.map +1 -0
- package/src/tools/search/utils.js +59 -0
- package/src/tools/search/utils.js.map +1 -0
- package/src/types/graph.js +24 -0
- package/src/types/graph.js.map +1 -0
- package/src/types/graph.test.js +192 -0
- package/src/types/graph.test.js.map +1 -0
- package/src/types/graph.ts +26 -6
- package/src/types/index.js +7 -0
- package/src/types/index.js.map +1 -0
- package/src/types/llm.js +2 -0
- package/src/types/llm.js.map +1 -0
- package/src/types/llm.ts +8 -3
- package/src/types/messages.js +2 -0
- package/src/types/messages.js.map +1 -0
- package/src/types/run.js +2 -0
- package/src/types/run.js.map +1 -0
- package/src/types/run.ts +2 -0
- package/src/types/stream.js +2 -0
- package/src/types/stream.js.map +1 -0
- package/src/types/tools.js +2 -0
- package/src/types/tools.js.map +1 -0
- package/src/types/tools.ts +21 -2
- package/src/utils/contextAnalytics.js +79 -0
- package/src/utils/contextAnalytics.js.map +1 -0
- package/src/utils/contextAnalytics.test.js +166 -0
- package/src/utils/contextAnalytics.test.js.map +1 -0
- package/src/utils/contextAnalytics.test.ts +222 -0
- package/src/utils/contextAnalytics.ts +27 -9
- package/src/utils/events.js +26 -0
- package/src/utils/events.js.map +1 -0
- package/src/utils/graph.js +11 -0
- package/src/utils/graph.js.map +1 -0
- package/src/utils/handlers.js +65 -0
- package/src/utils/handlers.js.map +1 -0
- package/src/utils/index.js +10 -0
- package/src/utils/index.js.map +1 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/llm.js +21 -0
- package/src/utils/llm.js.map +1 -0
- package/src/utils/llmConfig.js +205 -0
- package/src/utils/llmConfig.js.map +1 -0
- package/src/utils/llmConfig.ts +5 -5
- package/src/utils/logging.js +37 -0
- package/src/utils/logging.js.map +1 -0
- package/src/utils/misc.js +51 -0
- package/src/utils/misc.js.map +1 -0
- package/src/utils/run.js +69 -0
- package/src/utils/run.js.map +1 -0
- package/src/utils/run.ts +108 -106
- package/src/utils/schema.js +21 -0
- package/src/utils/schema.js.map +1 -0
- package/src/utils/title.js +119 -0
- package/src/utils/title.js.map +1 -0
- package/src/utils/tokens.js +92 -0
- package/src/utils/tokens.js.map +1 -0
- package/src/utils/tokens.ts +118 -142
- package/src/utils/toolCallContinuation.ts +55 -0
- package/src/utils/toonFormat.js +379 -0
- package/src/utils/toonFormat.js.map +1 -0
|
@@ -0,0 +1,408 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { Constants } from '@/common';
|
|
3
|
+
export declare const AskUserToolName = Constants.ASK_USER;
|
|
4
|
+
export declare const AskUserDescription: string;
|
|
5
|
+
export declare const AskUserStepSchema: z.ZodObject<{
|
|
6
|
+
question: z.ZodString;
|
|
7
|
+
options: z.ZodArray<z.ZodObject<{
|
|
8
|
+
label: z.ZodString;
|
|
9
|
+
value: z.ZodString;
|
|
10
|
+
description: z.ZodOptional<z.ZodString>;
|
|
11
|
+
}, "strip", z.ZodTypeAny, {
|
|
12
|
+
value: string;
|
|
13
|
+
label: string;
|
|
14
|
+
description?: string | undefined;
|
|
15
|
+
}, {
|
|
16
|
+
value: string;
|
|
17
|
+
label: string;
|
|
18
|
+
description?: string | undefined;
|
|
19
|
+
}>, "many">;
|
|
20
|
+
type: z.ZodDefault<z.ZodEnum<["single", "multi"]>>;
|
|
21
|
+
}, "strip", z.ZodTypeAny, {
|
|
22
|
+
type: "single" | "multi";
|
|
23
|
+
options: {
|
|
24
|
+
value: string;
|
|
25
|
+
label: string;
|
|
26
|
+
description?: string | undefined;
|
|
27
|
+
}[];
|
|
28
|
+
question: string;
|
|
29
|
+
}, {
|
|
30
|
+
options: {
|
|
31
|
+
value: string;
|
|
32
|
+
label: string;
|
|
33
|
+
description?: string | undefined;
|
|
34
|
+
}[];
|
|
35
|
+
question: string;
|
|
36
|
+
type?: "single" | "multi" | undefined;
|
|
37
|
+
}>;
|
|
38
|
+
export type AskUserStep = z.infer<typeof AskUserStepSchema>;
|
|
39
|
+
/**
|
|
40
|
+
* Represents a single step selection from the multi-step wizard UI.
|
|
41
|
+
* Exported for use by both ranger web client and browser extension.
|
|
42
|
+
*/
|
|
43
|
+
export type StepSelection = {
|
|
44
|
+
values: string[];
|
|
45
|
+
customInput?: string;
|
|
46
|
+
};
|
|
47
|
+
/** Field names injected into modifiedArgs by the approval flow */
|
|
48
|
+
export declare const HITL_FIELDS: {
|
|
49
|
+
readonly SELECTIONS: "_selections";
|
|
50
|
+
readonly SELECTED_OPTION: "_selectedOption";
|
|
51
|
+
readonly CUSTOM_INPUT: "_customInput";
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Creates an ask_user tool that lets the LLM ask clarification questions mid-conversation.
|
|
55
|
+
*
|
|
56
|
+
* How it works:
|
|
57
|
+
* 1. LLM calls ask_user(question, options) OR ask_user(steps)
|
|
58
|
+
* 2. ToolNode.requiresApproval() → always true (per-tool rule in askUserRules.js)
|
|
59
|
+
* 3. ToolNode.requestApproval() promotes options/question/steps to top-level fields on the event
|
|
60
|
+
* 4. Frontend HumanInputPopover renders option cards + freeform text input
|
|
61
|
+
* 5. User selects option(s) OR types custom input →
|
|
62
|
+
* backend resolves with modifiedArgs containing _selections, _selectedOption, or _customInput
|
|
63
|
+
* 6. Tool executes, reads the user's choice, returns result to LLM
|
|
64
|
+
*/
|
|
65
|
+
export declare function createAskUserTool(): import("@langchain/core/tools").DynamicStructuredTool<z.ZodEffects<z.ZodObject<{
|
|
66
|
+
question: z.ZodOptional<z.ZodString>;
|
|
67
|
+
options: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
68
|
+
label: z.ZodString;
|
|
69
|
+
value: z.ZodString;
|
|
70
|
+
description: z.ZodOptional<z.ZodString>;
|
|
71
|
+
}, "strip", z.ZodTypeAny, {
|
|
72
|
+
value: string;
|
|
73
|
+
label: string;
|
|
74
|
+
description?: string | undefined;
|
|
75
|
+
}, {
|
|
76
|
+
value: string;
|
|
77
|
+
label: string;
|
|
78
|
+
description?: string | undefined;
|
|
79
|
+
}>, "many">>;
|
|
80
|
+
context: z.ZodOptional<z.ZodString>;
|
|
81
|
+
steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
82
|
+
question: z.ZodString;
|
|
83
|
+
options: z.ZodArray<z.ZodObject<{
|
|
84
|
+
label: z.ZodString;
|
|
85
|
+
value: z.ZodString;
|
|
86
|
+
description: z.ZodOptional<z.ZodString>;
|
|
87
|
+
}, "strip", z.ZodTypeAny, {
|
|
88
|
+
value: string;
|
|
89
|
+
label: string;
|
|
90
|
+
description?: string | undefined;
|
|
91
|
+
}, {
|
|
92
|
+
value: string;
|
|
93
|
+
label: string;
|
|
94
|
+
description?: string | undefined;
|
|
95
|
+
}>, "many">;
|
|
96
|
+
type: z.ZodDefault<z.ZodEnum<["single", "multi"]>>;
|
|
97
|
+
}, "strip", z.ZodTypeAny, {
|
|
98
|
+
type: "single" | "multi";
|
|
99
|
+
options: {
|
|
100
|
+
value: string;
|
|
101
|
+
label: string;
|
|
102
|
+
description?: string | undefined;
|
|
103
|
+
}[];
|
|
104
|
+
question: string;
|
|
105
|
+
}, {
|
|
106
|
+
options: {
|
|
107
|
+
value: string;
|
|
108
|
+
label: string;
|
|
109
|
+
description?: string | undefined;
|
|
110
|
+
}[];
|
|
111
|
+
question: string;
|
|
112
|
+
type?: "single" | "multi" | undefined;
|
|
113
|
+
}>, "many">>;
|
|
114
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
115
|
+
question: z.ZodOptional<z.ZodString>;
|
|
116
|
+
options: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
117
|
+
label: z.ZodString;
|
|
118
|
+
value: z.ZodString;
|
|
119
|
+
description: z.ZodOptional<z.ZodString>;
|
|
120
|
+
}, "strip", z.ZodTypeAny, {
|
|
121
|
+
value: string;
|
|
122
|
+
label: string;
|
|
123
|
+
description?: string | undefined;
|
|
124
|
+
}, {
|
|
125
|
+
value: string;
|
|
126
|
+
label: string;
|
|
127
|
+
description?: string | undefined;
|
|
128
|
+
}>, "many">>;
|
|
129
|
+
context: z.ZodOptional<z.ZodString>;
|
|
130
|
+
steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
131
|
+
question: z.ZodString;
|
|
132
|
+
options: z.ZodArray<z.ZodObject<{
|
|
133
|
+
label: z.ZodString;
|
|
134
|
+
value: z.ZodString;
|
|
135
|
+
description: z.ZodOptional<z.ZodString>;
|
|
136
|
+
}, "strip", z.ZodTypeAny, {
|
|
137
|
+
value: string;
|
|
138
|
+
label: string;
|
|
139
|
+
description?: string | undefined;
|
|
140
|
+
}, {
|
|
141
|
+
value: string;
|
|
142
|
+
label: string;
|
|
143
|
+
description?: string | undefined;
|
|
144
|
+
}>, "many">;
|
|
145
|
+
type: z.ZodDefault<z.ZodEnum<["single", "multi"]>>;
|
|
146
|
+
}, "strip", z.ZodTypeAny, {
|
|
147
|
+
type: "single" | "multi";
|
|
148
|
+
options: {
|
|
149
|
+
value: string;
|
|
150
|
+
label: string;
|
|
151
|
+
description?: string | undefined;
|
|
152
|
+
}[];
|
|
153
|
+
question: string;
|
|
154
|
+
}, {
|
|
155
|
+
options: {
|
|
156
|
+
value: string;
|
|
157
|
+
label: string;
|
|
158
|
+
description?: string | undefined;
|
|
159
|
+
}[];
|
|
160
|
+
question: string;
|
|
161
|
+
type?: "single" | "multi" | undefined;
|
|
162
|
+
}>, "many">>;
|
|
163
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
164
|
+
question: z.ZodOptional<z.ZodString>;
|
|
165
|
+
options: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
166
|
+
label: z.ZodString;
|
|
167
|
+
value: z.ZodString;
|
|
168
|
+
description: z.ZodOptional<z.ZodString>;
|
|
169
|
+
}, "strip", z.ZodTypeAny, {
|
|
170
|
+
value: string;
|
|
171
|
+
label: string;
|
|
172
|
+
description?: string | undefined;
|
|
173
|
+
}, {
|
|
174
|
+
value: string;
|
|
175
|
+
label: string;
|
|
176
|
+
description?: string | undefined;
|
|
177
|
+
}>, "many">>;
|
|
178
|
+
context: z.ZodOptional<z.ZodString>;
|
|
179
|
+
steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
180
|
+
question: z.ZodString;
|
|
181
|
+
options: z.ZodArray<z.ZodObject<{
|
|
182
|
+
label: z.ZodString;
|
|
183
|
+
value: z.ZodString;
|
|
184
|
+
description: z.ZodOptional<z.ZodString>;
|
|
185
|
+
}, "strip", z.ZodTypeAny, {
|
|
186
|
+
value: string;
|
|
187
|
+
label: string;
|
|
188
|
+
description?: string | undefined;
|
|
189
|
+
}, {
|
|
190
|
+
value: string;
|
|
191
|
+
label: string;
|
|
192
|
+
description?: string | undefined;
|
|
193
|
+
}>, "many">;
|
|
194
|
+
type: z.ZodDefault<z.ZodEnum<["single", "multi"]>>;
|
|
195
|
+
}, "strip", z.ZodTypeAny, {
|
|
196
|
+
type: "single" | "multi";
|
|
197
|
+
options: {
|
|
198
|
+
value: string;
|
|
199
|
+
label: string;
|
|
200
|
+
description?: string | undefined;
|
|
201
|
+
}[];
|
|
202
|
+
question: string;
|
|
203
|
+
}, {
|
|
204
|
+
options: {
|
|
205
|
+
value: string;
|
|
206
|
+
label: string;
|
|
207
|
+
description?: string | undefined;
|
|
208
|
+
}[];
|
|
209
|
+
question: string;
|
|
210
|
+
type?: "single" | "multi" | undefined;
|
|
211
|
+
}>, "many">>;
|
|
212
|
+
}, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
|
|
213
|
+
question: z.ZodOptional<z.ZodString>;
|
|
214
|
+
options: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
215
|
+
label: z.ZodString;
|
|
216
|
+
value: z.ZodString;
|
|
217
|
+
description: z.ZodOptional<z.ZodString>;
|
|
218
|
+
}, "strip", z.ZodTypeAny, {
|
|
219
|
+
value: string;
|
|
220
|
+
label: string;
|
|
221
|
+
description?: string | undefined;
|
|
222
|
+
}, {
|
|
223
|
+
value: string;
|
|
224
|
+
label: string;
|
|
225
|
+
description?: string | undefined;
|
|
226
|
+
}>, "many">>;
|
|
227
|
+
context: z.ZodOptional<z.ZodString>;
|
|
228
|
+
steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
229
|
+
question: z.ZodString;
|
|
230
|
+
options: z.ZodArray<z.ZodObject<{
|
|
231
|
+
label: z.ZodString;
|
|
232
|
+
value: z.ZodString;
|
|
233
|
+
description: z.ZodOptional<z.ZodString>;
|
|
234
|
+
}, "strip", z.ZodTypeAny, {
|
|
235
|
+
value: string;
|
|
236
|
+
label: string;
|
|
237
|
+
description?: string | undefined;
|
|
238
|
+
}, {
|
|
239
|
+
value: string;
|
|
240
|
+
label: string;
|
|
241
|
+
description?: string | undefined;
|
|
242
|
+
}>, "many">;
|
|
243
|
+
type: z.ZodDefault<z.ZodEnum<["single", "multi"]>>;
|
|
244
|
+
}, "strip", z.ZodTypeAny, {
|
|
245
|
+
type: "single" | "multi";
|
|
246
|
+
options: {
|
|
247
|
+
value: string;
|
|
248
|
+
label: string;
|
|
249
|
+
description?: string | undefined;
|
|
250
|
+
}[];
|
|
251
|
+
question: string;
|
|
252
|
+
}, {
|
|
253
|
+
options: {
|
|
254
|
+
value: string;
|
|
255
|
+
label: string;
|
|
256
|
+
description?: string | undefined;
|
|
257
|
+
}[];
|
|
258
|
+
question: string;
|
|
259
|
+
type?: "single" | "multi" | undefined;
|
|
260
|
+
}>, "many">>;
|
|
261
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
262
|
+
question: z.ZodOptional<z.ZodString>;
|
|
263
|
+
options: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
264
|
+
label: z.ZodString;
|
|
265
|
+
value: z.ZodString;
|
|
266
|
+
description: z.ZodOptional<z.ZodString>;
|
|
267
|
+
}, "strip", z.ZodTypeAny, {
|
|
268
|
+
value: string;
|
|
269
|
+
label: string;
|
|
270
|
+
description?: string | undefined;
|
|
271
|
+
}, {
|
|
272
|
+
value: string;
|
|
273
|
+
label: string;
|
|
274
|
+
description?: string | undefined;
|
|
275
|
+
}>, "many">>;
|
|
276
|
+
context: z.ZodOptional<z.ZodString>;
|
|
277
|
+
steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
278
|
+
question: z.ZodString;
|
|
279
|
+
options: z.ZodArray<z.ZodObject<{
|
|
280
|
+
label: z.ZodString;
|
|
281
|
+
value: z.ZodString;
|
|
282
|
+
description: z.ZodOptional<z.ZodString>;
|
|
283
|
+
}, "strip", z.ZodTypeAny, {
|
|
284
|
+
value: string;
|
|
285
|
+
label: string;
|
|
286
|
+
description?: string | undefined;
|
|
287
|
+
}, {
|
|
288
|
+
value: string;
|
|
289
|
+
label: string;
|
|
290
|
+
description?: string | undefined;
|
|
291
|
+
}>, "many">;
|
|
292
|
+
type: z.ZodDefault<z.ZodEnum<["single", "multi"]>>;
|
|
293
|
+
}, "strip", z.ZodTypeAny, {
|
|
294
|
+
type: "single" | "multi";
|
|
295
|
+
options: {
|
|
296
|
+
value: string;
|
|
297
|
+
label: string;
|
|
298
|
+
description?: string | undefined;
|
|
299
|
+
}[];
|
|
300
|
+
question: string;
|
|
301
|
+
}, {
|
|
302
|
+
options: {
|
|
303
|
+
value: string;
|
|
304
|
+
label: string;
|
|
305
|
+
description?: string | undefined;
|
|
306
|
+
}[];
|
|
307
|
+
question: string;
|
|
308
|
+
type?: "single" | "multi" | undefined;
|
|
309
|
+
}>, "many">>;
|
|
310
|
+
}, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
|
|
311
|
+
question: z.ZodOptional<z.ZodString>;
|
|
312
|
+
options: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
313
|
+
label: z.ZodString;
|
|
314
|
+
value: z.ZodString;
|
|
315
|
+
description: z.ZodOptional<z.ZodString>;
|
|
316
|
+
}, "strip", z.ZodTypeAny, {
|
|
317
|
+
value: string;
|
|
318
|
+
label: string;
|
|
319
|
+
description?: string | undefined;
|
|
320
|
+
}, {
|
|
321
|
+
value: string;
|
|
322
|
+
label: string;
|
|
323
|
+
description?: string | undefined;
|
|
324
|
+
}>, "many">>;
|
|
325
|
+
context: z.ZodOptional<z.ZodString>;
|
|
326
|
+
steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
327
|
+
question: z.ZodString;
|
|
328
|
+
options: z.ZodArray<z.ZodObject<{
|
|
329
|
+
label: z.ZodString;
|
|
330
|
+
value: z.ZodString;
|
|
331
|
+
description: z.ZodOptional<z.ZodString>;
|
|
332
|
+
}, "strip", z.ZodTypeAny, {
|
|
333
|
+
value: string;
|
|
334
|
+
label: string;
|
|
335
|
+
description?: string | undefined;
|
|
336
|
+
}, {
|
|
337
|
+
value: string;
|
|
338
|
+
label: string;
|
|
339
|
+
description?: string | undefined;
|
|
340
|
+
}>, "many">;
|
|
341
|
+
type: z.ZodDefault<z.ZodEnum<["single", "multi"]>>;
|
|
342
|
+
}, "strip", z.ZodTypeAny, {
|
|
343
|
+
type: "single" | "multi";
|
|
344
|
+
options: {
|
|
345
|
+
value: string;
|
|
346
|
+
label: string;
|
|
347
|
+
description?: string | undefined;
|
|
348
|
+
}[];
|
|
349
|
+
question: string;
|
|
350
|
+
}, {
|
|
351
|
+
options: {
|
|
352
|
+
value: string;
|
|
353
|
+
label: string;
|
|
354
|
+
description?: string | undefined;
|
|
355
|
+
}[];
|
|
356
|
+
question: string;
|
|
357
|
+
type?: "single" | "multi" | undefined;
|
|
358
|
+
}>, "many">>;
|
|
359
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
360
|
+
question: z.ZodOptional<z.ZodString>;
|
|
361
|
+
options: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
362
|
+
label: z.ZodString;
|
|
363
|
+
value: z.ZodString;
|
|
364
|
+
description: z.ZodOptional<z.ZodString>;
|
|
365
|
+
}, "strip", z.ZodTypeAny, {
|
|
366
|
+
value: string;
|
|
367
|
+
label: string;
|
|
368
|
+
description?: string | undefined;
|
|
369
|
+
}, {
|
|
370
|
+
value: string;
|
|
371
|
+
label: string;
|
|
372
|
+
description?: string | undefined;
|
|
373
|
+
}>, "many">>;
|
|
374
|
+
context: z.ZodOptional<z.ZodString>;
|
|
375
|
+
steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
376
|
+
question: z.ZodString;
|
|
377
|
+
options: z.ZodArray<z.ZodObject<{
|
|
378
|
+
label: z.ZodString;
|
|
379
|
+
value: z.ZodString;
|
|
380
|
+
description: z.ZodOptional<z.ZodString>;
|
|
381
|
+
}, "strip", z.ZodTypeAny, {
|
|
382
|
+
value: string;
|
|
383
|
+
label: string;
|
|
384
|
+
description?: string | undefined;
|
|
385
|
+
}, {
|
|
386
|
+
value: string;
|
|
387
|
+
label: string;
|
|
388
|
+
description?: string | undefined;
|
|
389
|
+
}>, "many">;
|
|
390
|
+
type: z.ZodDefault<z.ZodEnum<["single", "multi"]>>;
|
|
391
|
+
}, "strip", z.ZodTypeAny, {
|
|
392
|
+
type: "single" | "multi";
|
|
393
|
+
options: {
|
|
394
|
+
value: string;
|
|
395
|
+
label: string;
|
|
396
|
+
description?: string | undefined;
|
|
397
|
+
}[];
|
|
398
|
+
question: string;
|
|
399
|
+
}, {
|
|
400
|
+
options: {
|
|
401
|
+
value: string;
|
|
402
|
+
label: string;
|
|
403
|
+
description?: string | undefined;
|
|
404
|
+
}[];
|
|
405
|
+
question: string;
|
|
406
|
+
type?: "single" | "multi" | undefined;
|
|
407
|
+
}>, "many">>;
|
|
408
|
+
}, z.ZodTypeAny, "passthrough">, string>;
|
|
@@ -43,8 +43,8 @@ export interface BrowserActionResult {
|
|
|
43
43
|
/**
|
|
44
44
|
* Check if browser capability is available based on request headers or context
|
|
45
45
|
* The browser extension sets these headers when connected:
|
|
46
|
-
* - X-
|
|
47
|
-
* - X-
|
|
46
|
+
* - X-Illuma-Browser-Extension: true
|
|
47
|
+
* - X-Illuma-Browser-Capable: true
|
|
48
48
|
*/
|
|
49
49
|
export declare function hasBrowserCapability(req?: {
|
|
50
50
|
headers?: Record<string, string | string[] | undefined>;
|
|
@@ -8,7 +8,7 @@ export declare const CodeExecutionToolSchema: {
|
|
|
8
8
|
readonly properties: {
|
|
9
9
|
readonly lang: {
|
|
10
10
|
readonly type: "string";
|
|
11
|
-
readonly enum: readonly ["py", "js", "ts", "c", "cpp", "java", "php", "rs", "go", "d", "f90", "r"];
|
|
11
|
+
readonly enum: readonly ["py", "js", "ts", "c", "cpp", "java", "php", "rs", "go", "d", "f90", "r", "bash"];
|
|
12
12
|
readonly description: "The programming language or runtime to execute the code in.";
|
|
13
13
|
};
|
|
14
14
|
readonly code: {
|
|
@@ -35,7 +35,7 @@ export declare const CodeExecutionToolDefinition: {
|
|
|
35
35
|
readonly properties: {
|
|
36
36
|
readonly lang: {
|
|
37
37
|
readonly type: "string";
|
|
38
|
-
readonly enum: readonly ["py", "js", "ts", "c", "cpp", "java", "php", "rs", "go", "d", "f90", "r"];
|
|
38
|
+
readonly enum: readonly ["py", "js", "ts", "c", "cpp", "java", "php", "rs", "go", "d", "f90", "r", "bash"];
|
|
39
39
|
readonly description: "The programming language or runtime to execute the code in.";
|
|
40
40
|
};
|
|
41
41
|
readonly code: {
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* StreamingToolCallBuffer — Accumulates raw tool call argument strings
|
|
3
|
+
* during streaming, providing a fallback when LangChain's parsePartialJson
|
|
4
|
+
* loses data (e.g., when max_tokens truncates a tool call mid-JSON).
|
|
5
|
+
*
|
|
6
|
+
* Architecture:
|
|
7
|
+
* - handleToolCallChunks feeds raw arg fragments into this buffer
|
|
8
|
+
* - When a tool call is finalized (or truncated), the ToolNode can access
|
|
9
|
+
* the accumulated raw string and extract field values that parsePartialJson
|
|
10
|
+
* may have dropped
|
|
11
|
+
* - This enables "streaming write" semantics: content that streamed to the UI
|
|
12
|
+
* is never lost, even if the JSON wrapper was incomplete
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* const buffer = new StreamingToolCallBuffer();
|
|
17
|
+
*
|
|
18
|
+
* // During streaming (called by handleToolCallChunks):
|
|
19
|
+
* buffer.append(toolCallId, '{"action":"write","content":"func');
|
|
20
|
+
* buffer.append(toolCallId, 'tion App() {');
|
|
21
|
+
* buffer.setToolName(toolCallId, 'content_tool');
|
|
22
|
+
*
|
|
23
|
+
* // When ToolNode needs the content:
|
|
24
|
+
* const content = buffer.extractFieldValue(toolCallId, 'content');
|
|
25
|
+
* // => 'function App() {'
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare class StreamingToolCallBuffer {
|
|
29
|
+
/** Raw accumulated arg strings keyed by tool call ID */
|
|
30
|
+
private argBuffers;
|
|
31
|
+
/** Tool names keyed by tool call ID */
|
|
32
|
+
private toolNames;
|
|
33
|
+
/**
|
|
34
|
+
* Maps chunk index → tool call ID for providers (e.g., Bedrock) that send
|
|
35
|
+
* START chunks with {id, name, index} and DELTA chunks with {args, index} (no id).
|
|
36
|
+
* Without this mapping, DELTA chunks cannot be associated with the correct buffer entry.
|
|
37
|
+
*/
|
|
38
|
+
private indexToIdMap;
|
|
39
|
+
/**
|
|
40
|
+
* Tracks the last appended args fragment per tool call ID.
|
|
41
|
+
* Used to skip exact duplicate fragments caused by LangChain's `streamEvents`
|
|
42
|
+
* emitting the same `on_chat_model_stream` event multiple times when the model
|
|
43
|
+
* is wrapped in nested runnables (e.g., `.bind()`, `.withConfig()`).
|
|
44
|
+
*/
|
|
45
|
+
private lastChunks;
|
|
46
|
+
/**
|
|
47
|
+
* Append a raw argument string chunk for a tool call.
|
|
48
|
+
* Called during streaming as each ToolCallChunk arrives.
|
|
49
|
+
*
|
|
50
|
+
* Skips exact duplicate fragments that arrive when LangChain emits the same
|
|
51
|
+
* streaming event multiple times from nested runnable wrappers. Without this,
|
|
52
|
+
* each token's args appear twice, producing malformed JSON like:
|
|
53
|
+
* `{"action": "write"action": "write"...`
|
|
54
|
+
*
|
|
55
|
+
* @returns true if the chunk was appended, false if it was a duplicate
|
|
56
|
+
*/
|
|
57
|
+
append(toolCallId: string, argsChunk: string): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Record the tool name for a tool call ID.
|
|
60
|
+
* Usually available from the first chunk.
|
|
61
|
+
*/
|
|
62
|
+
setToolName(toolCallId: string, name: string): void;
|
|
63
|
+
/**
|
|
64
|
+
* Get the tool name for a tool call ID.
|
|
65
|
+
*/
|
|
66
|
+
getToolName(toolCallId: string): string | undefined;
|
|
67
|
+
/**
|
|
68
|
+
* Get the raw accumulated argument string for a tool call.
|
|
69
|
+
*/
|
|
70
|
+
getRawArgs(toolCallId: string): string | undefined;
|
|
71
|
+
/**
|
|
72
|
+
* Extract a string field value from the raw accumulated JSON args.
|
|
73
|
+
*
|
|
74
|
+
* Uses simple string parsing (not JSON.parse) to handle truncated JSON.
|
|
75
|
+
* Finds `"fieldName":"` and extracts everything after it until the next
|
|
76
|
+
* unescaped quote or end of buffer.
|
|
77
|
+
*
|
|
78
|
+
* @param toolCallId - The tool call ID
|
|
79
|
+
* @param fieldName - The JSON field name to extract (e.g., 'content')
|
|
80
|
+
* @returns The extracted value, or undefined if the field wasn't found
|
|
81
|
+
*/
|
|
82
|
+
extractFieldValue(toolCallId: string, fieldName: string): string | undefined;
|
|
83
|
+
/**
|
|
84
|
+
* Store an index → tool call ID mapping.
|
|
85
|
+
* Called when a START chunk arrives with both `id` and `index` (e.g., Bedrock).
|
|
86
|
+
* Subsequent DELTA chunks that only have `index` can resolve the ID via getIdByIndex.
|
|
87
|
+
*/
|
|
88
|
+
setIndexMapping(index: number, toolCallId: string): void;
|
|
89
|
+
/**
|
|
90
|
+
* Resolve a tool call ID from a chunk index.
|
|
91
|
+
* Returns undefined if no mapping exists (e.g., provider sends id on every chunk).
|
|
92
|
+
*/
|
|
93
|
+
getIdByIndex(index: number): string | undefined;
|
|
94
|
+
/**
|
|
95
|
+
* Check if a tool call has accumulated content.
|
|
96
|
+
*/
|
|
97
|
+
has(toolCallId: string): boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Clear the buffer for a specific tool call (after processing).
|
|
100
|
+
*/
|
|
101
|
+
clear(toolCallId: string): void;
|
|
102
|
+
/**
|
|
103
|
+
* Clear all buffers (at the start of a new callModel cycle).
|
|
104
|
+
*/
|
|
105
|
+
clearAll(): void;
|
|
106
|
+
}
|
|
@@ -12,6 +12,8 @@ export declare class ToolNode<T = any> extends RunnableCallable<T, T> {
|
|
|
12
12
|
toolCallStepIds?: Map<string, string>;
|
|
13
13
|
errorHandler?: t.ToolNodeConstructorParams['errorHandler'];
|
|
14
14
|
private toolUsageCount;
|
|
15
|
+
/** Maps toolCallId → turn captured in runTool, used by handleRunToolCompletions */
|
|
16
|
+
private toolCallTurns;
|
|
15
17
|
/** Tool registry for filtering (lazy computation of programmatic maps) */
|
|
16
18
|
private toolRegistry?;
|
|
17
19
|
/** Cached programmatic tools (computed once on first PTC call) */
|
|
@@ -20,13 +22,15 @@ export declare class ToolNode<T = any> extends RunnableCallable<T, T> {
|
|
|
20
22
|
private sessions?;
|
|
21
23
|
/** When true, dispatches ON_TOOL_EXECUTE events instead of invoking tools directly */
|
|
22
24
|
private eventDrivenMode;
|
|
23
|
-
/** Tool definitions for event-driven mode */
|
|
24
|
-
private toolDefinitions?;
|
|
25
25
|
/** Agent ID for event-driven mode */
|
|
26
26
|
private agentId?;
|
|
27
|
+
/** Tool names that bypass event dispatch and execute directly (e.g., graph-managed handoff tools) */
|
|
28
|
+
private directToolNames?;
|
|
27
29
|
/** HITL tool approval configuration */
|
|
28
30
|
private toolApprovalConfig?;
|
|
29
|
-
|
|
31
|
+
/** Buffer for recovering truncated tool call arguments from streaming data */
|
|
32
|
+
private streamingToolCallBuffer?;
|
|
33
|
+
constructor({ tools, toolMap, name, tags, errorHandler, toolCallStepIds, handleToolErrors, loadRuntimeTools, toolRegistry, sessions, eventDrivenMode, agentId, directToolNames, streamingToolCallBuffer, toolApprovalConfig, }: t.ToolNodeConstructorParams);
|
|
30
34
|
/**
|
|
31
35
|
* Returns cached programmatic tools, computing once on first access.
|
|
32
36
|
* Single iteration builds both toolMap and toolDefs simultaneously.
|
|
@@ -60,6 +64,54 @@ export declare class ToolNode<T = any> extends RunnableCallable<T, T> {
|
|
|
60
64
|
* Runs a single tool call with error handling
|
|
61
65
|
*/
|
|
62
66
|
protected runTool(call: ToolCall, config: RunnableConfig): Promise<BaseMessage | Command>;
|
|
67
|
+
/**
|
|
68
|
+
* Recover truncated tool call arguments using the raw streaming buffer.
|
|
69
|
+
*
|
|
70
|
+
* When parsePartialJson drops content (e.g., a large "content" field truncated
|
|
71
|
+
* at max_tokens), this method extracts the field value from the raw accumulated
|
|
72
|
+
* arg string and merges it back into the parsed args object.
|
|
73
|
+
*
|
|
74
|
+
* This is generic — it checks ALL string fields in the raw buffer, not just
|
|
75
|
+
* content_tool fields. Any tool with a truncated string value benefits.
|
|
76
|
+
*/
|
|
77
|
+
/**
|
|
78
|
+
* Recover truncated tool call arguments using the raw streaming buffer.
|
|
79
|
+
*
|
|
80
|
+
* Strategy:
|
|
81
|
+
* 1. If args are completely empty → try parsePartialJson on the raw buffer
|
|
82
|
+
* 2. Otherwise → field-level recovery: extract missing fields from raw buffer
|
|
83
|
+
*
|
|
84
|
+
* @param toolName - Tool name (for logging)
|
|
85
|
+
* @param toolCallId - The tool call ID
|
|
86
|
+
* @param args - The parsed args (potentially incomplete from parsePartialJson)
|
|
87
|
+
* @returns The args with recovered fields merged in
|
|
88
|
+
*/
|
|
89
|
+
private recoverTruncatedArgs;
|
|
90
|
+
/**
|
|
91
|
+
* Builds code session context for injection into event-driven tool calls.
|
|
92
|
+
* Mirrors the session injection logic in runTool() for direct execution.
|
|
93
|
+
*/
|
|
94
|
+
private getCodeSessionContext;
|
|
95
|
+
/**
|
|
96
|
+
* Extracts code execution session context from tool results and stores in Graph.sessions.
|
|
97
|
+
* Mirrors the session storage logic in handleRunToolCompletions for direct execution.
|
|
98
|
+
*/
|
|
99
|
+
private storeCodeSessionFromResults;
|
|
100
|
+
/**
|
|
101
|
+
* Post-processes standard runTool outputs: dispatches ON_RUN_STEP_COMPLETED
|
|
102
|
+
* and stores code session context. Mirrors the completion handling in
|
|
103
|
+
* dispatchToolEvents for the event-driven path.
|
|
104
|
+
*
|
|
105
|
+
* By handling completions here in graph context (rather than in the
|
|
106
|
+
* stream consumer via ToolEndHandler), the race between the stream
|
|
107
|
+
* consumer and graph execution is eliminated.
|
|
108
|
+
*/
|
|
109
|
+
private handleRunToolCompletions;
|
|
110
|
+
/**
|
|
111
|
+
* Dispatches tool calls to the host via ON_TOOL_EXECUTE event and returns raw ToolMessages.
|
|
112
|
+
* Core logic for event-driven execution, separated from output shaping.
|
|
113
|
+
*/
|
|
114
|
+
private dispatchToolEvents;
|
|
63
115
|
/**
|
|
64
116
|
* Execute all tool calls via ON_TOOL_EXECUTE event dispatch.
|
|
65
117
|
* Used in event-driven mode where the host handles actual tool execution.
|
|
@@ -25,7 +25,7 @@ export declare const ToolSearchToolSchema: {
|
|
|
25
25
|
readonly type: "integer";
|
|
26
26
|
readonly minimum: 1;
|
|
27
27
|
readonly maximum: 50;
|
|
28
|
-
readonly default:
|
|
28
|
+
readonly default: 5;
|
|
29
29
|
readonly description: "Maximum number of matching tools to return";
|
|
30
30
|
};
|
|
31
31
|
readonly mcp_server: {
|
|
@@ -67,7 +67,7 @@ export declare const ToolSearchToolDefinition: {
|
|
|
67
67
|
readonly type: "integer";
|
|
68
68
|
readonly minimum: 1;
|
|
69
69
|
readonly maximum: 50;
|
|
70
|
-
readonly default:
|
|
70
|
+
readonly default: 5;
|
|
71
71
|
readonly description: "Maximum number of matching tools to return";
|
|
72
72
|
};
|
|
73
73
|
readonly mcp_server: {
|
|
@@ -157,8 +157,9 @@ declare function sanitizeRegex(pattern: string): {
|
|
|
157
157
|
/**
|
|
158
158
|
* Performs BM25-based search for better relevance ranking.
|
|
159
159
|
* Uses Okapi BM25 algorithm for term frequency and document length normalization.
|
|
160
|
+
* If query is empty, returns all tools (up to maxResults) sorted alphabetically.
|
|
160
161
|
* @param tools - Array of tool metadata to search
|
|
161
|
-
* @param query - The search query
|
|
162
|
+
* @param query - The search query (empty returns all tools)
|
|
162
163
|
* @param fields - Which fields to search
|
|
163
164
|
* @param maxResults - Maximum results to return
|
|
164
165
|
* @returns Search response with matching tools ranked by BM25 score
|
|
@@ -172,7 +173,9 @@ declare function performLocalSearch(tools: t.ToolMetadata[], query: string, fiel
|
|
|
172
173
|
declare function getBaseToolName(toolName: string): string;
|
|
173
174
|
/**
|
|
174
175
|
* Generates a compact listing of deferred tools grouped by server.
|
|
175
|
-
* Format: "server: tool1, tool2, tool3"
|
|
176
|
+
* Format: "server: tool1, tool2(\u2026), tool3"
|
|
177
|
+
* Tools with parameters are annotated with (\u2026) to signal
|
|
178
|
+
* that the LLM should discover the schema via tool_search before calling.
|
|
176
179
|
* Non-MCP tools are grouped under "other".
|
|
177
180
|
* @param toolRegistry - The tool registry
|
|
178
181
|
* @param onlyDeferred - Whether to only include deferred tools
|
|
@@ -184,9 +187,10 @@ declare function getDeferredToolsListing(toolRegistry: t.LCToolRegistry | undefi
|
|
|
184
187
|
* NOTE: This is a PREVIEW only - tools are NOT discovered/loaded.
|
|
185
188
|
* @param tools - Array of tool metadata from the server(s)
|
|
186
189
|
* @param serverNames - The MCP server name(s)
|
|
190
|
+
* @param nameFormat - Whether to show 'full' names (tool_mcp_server) or 'base' names (tool only)
|
|
187
191
|
* @returns JSON string showing all tools grouped by server
|
|
188
192
|
*/
|
|
189
|
-
declare function formatServerListing(tools: t.ToolMetadata[], serverNames: string | string[]): string;
|
|
193
|
+
declare function formatServerListing(tools: t.ToolMetadata[], serverNames: string | string[], nameFormat?: t.McpNameFormat): string;
|
|
190
194
|
/**
|
|
191
195
|
* Creates a Tool Search tool for discovering tools from a large registry.
|
|
192
196
|
*
|