This commit is contained in:
2026-08-08 09:38:05 +07:00
parent 04e75e61b8
commit 0ddbcf9ca1
5 changed files with 548 additions and 27 deletions
+9 -3
View File
@@ -8,8 +8,8 @@
textContent, imageContent,
# Message types
userMessage, assistantMessage, toolResultMessage,
# Tool types
agentTool,
# Tool types
agentTool, validateRequiredArgs
# Context types
agentContext, agentState, agentToolCall, prepareNextTurnContext,
# Loop & execution types
@@ -207,6 +207,8 @@ Maps MCP server tool definitions to an executable Julia tool.
- `execute::Function`: Tool execution function, signature:
`execute(toolCallId::String, args::Dict, signal::Union{Nothing,AbortSignal}, onPartialResult::Function)`
- `prepareArguments::Union{Function, Nothing}`: Optional argument preparation callback
- `validateRequiredArgs::Union{Function, Nothing}`: Optional validation hook, signature:
`validateRequiredArgs(args::Dict) -> Union{Nothing, String}` where `String` is an error message
- `parallelToolExecute::Bool`: Override: run tool calls sequentially or in parallel
# Returns
@@ -249,7 +251,10 @@ tool = agentTool(
[textContent("Sunny, 22C in $(city)")],
Dict{Any,Any}(), nothing, false
)
end
end,
prepareArguments = nothing,
validateRequiredArgs = nothing,
parallelToolExecute = false
)
```
"""
@@ -260,6 +265,7 @@ struct agentTool # A tool available to the agent
inputSchema::Any # Tool parameters schema (JSON schema, MCP inputSchema format)
execute::Function # Tool execution function
prepareArguments::Union{Function, Nothing} # Optional argument preparation callback
validateRequiredArgs::Union{Function, Nothing} # Optional validation hook for required args
parallelToolExecute::Bool # Override: run tool calls sequentially or in parallel
end