diff --git a/src/type.jl b/src/type.jl index 4f987c4..46f95bc 100644 --- a/src/type.jl +++ b/src/type.jl @@ -1,6 +1,29 @@ -module type - export agentContext, yiemAgent, - run_agent, take_response, follow_up, stop_agent + module type + export Timestamp, + # Abstract types + messageContent, agentMessage, agent, + # Model types + modelCost, llmModel, llmUsage, + # Message content types + textContent, imageContent, + # Message types + userMessage, assistantMessage, toolResultMessage, + # Tool types + agentTool, + # Context types + agentContext, agentState, agentToolCall, prepareNextTurnContext, + # Loop & execution types + agentLoopConfig, abortSignal, agentToolResult, + assistantMsgCtx, afterCtx, + # Event types + toolExecStartEvent, toolExecUpdateEvent, toolExecEndEvent, + # Agent + yiemAgent, + # Tool call lifecycle types + preparedToolCall, immediateOutcome, executedOutcome, finalizedOutcome, + agentToolCallBatch, + # Functions (defined elsewhere) + run_agent, take_response, follow_up, stop_agent using Dates, UUIDs, DataStructures, JSON, NATS, Base.Threads @@ -597,7 +620,7 @@ carrying the full context through the call chain. struct preparedToolCall tool::agentTool # The resolved tool definition from the context toolCall::agentToolCall # The original tool call from the assistant - args::any # Validated (and coerced) argument values + args::Any # Validated (and coerced) argument values end """ @@ -615,7 +638,7 @@ corrected arguments after a validation failure. # Fields - `result::agentToolResult`: The pre-computed tool result -- `isError::bool`: Whether this outcome represents an error +- `isError::Bool`: Whether this outcome represents an error # Examples ```julia @@ -634,7 +657,7 @@ immediateOutcome( """ struct immediateOutcome result::agentToolResult # The pre-computed tool result - isError::bool # Whether this outcome represents an error + isError::Bool # Whether this outcome represents an error end """ @@ -649,7 +672,7 @@ whether to transform it or replace it entirely. # Fields - `result::agentToolResult`: The tool's execution result -- `isError::bool`: Whether execution raised an error +- `isError::Bool`: Whether execution raised an error # Examples ```julia @@ -668,7 +691,7 @@ executedOutcome( """ struct executedOutcome result::agentToolResult # The tool's execution result - isError::bool # Whether execution raised an error + isError::Bool # Whether execution raised an error end """ @@ -689,7 +712,7 @@ and swappable. # Fields - `toolCall::agentToolCall`: The original tool call reference - `result::agentToolResult`: The final tool result (post-afterToolCall) -- `isError::bool`: Whether the call failed or was blocked +- `isError::Bool`: Whether the call failed or was blocked # Examples ```julia @@ -703,7 +726,7 @@ finalizedOutcome(tc, agentToolResult(content, details, usage, true), false) struct finalizedOutcome toolCall::agentToolCall # The original tool call reference result::agentToolResult # The final tool result (post-afterToolCall) - isError::bool # Whether the call failed or was blocked + isError::Bool # Whether the call failed or was blocked end """ @@ -749,8 +772,8 @@ agentToolCallBatch(toolResultMessage[], false) ``` """ struct agentToolCallBatch - messages::vector{toolResultMessage} # Tool result messages for this batch - terminate::bool # Whether the batch should terminate the loop + messages::Vector{toolResultMessage} # Tool result messages for this batch + terminate::Bool # Whether the batch should terminate the loop end diff --git a/src/utils.jl b/src/utils.jl index fda9814..0c92f43 100644 --- a/src/utils.jl +++ b/src/utils.jl @@ -29,10 +29,10 @@ julia> YiemAgent.clearhistory(agent) ``` """ function clearhistory(a::T) where {T<:agent} - empty!(a.chathistory) - empty!(a.memory["shortmem"]) - empty!(a.memory["events"]) - a.memory["chatbox"] = "" + # empty!(a.chathistory) + # empty!(a.memory["shortmem"]) + # empty!(a.memory["events"]) + # a.memory["chatbox"] = "" end