AIAgentEdgeBuilderIntermediate
Functions
Link copied to clipboard
infix fun <IncomingOutput, IntermediateOutput, OutgoingInput> AIAgentEdgeBuilderIntermediate<IncomingOutput, IntermediateOutput, OutgoingInput>.onAssistantMessage(block: suspend (Message.Assistant) -> Boolean): AIAgentEdgeBuilderIntermediate<IncomingOutput, String, OutgoingInput>
Creates an edge that filters assistant messages based on a custom condition and extracts their content.
Link copied to clipboard
infix fun onCondition(block: suspend AIAgentContextBase.(output: IntermediateOutput) -> Boolean): AIAgentEdgeBuilderIntermediate<IncomingOutput, IntermediateOutput, OutgoingInput>
Link copied to clipboard
infix inline fun <IncomingOutput, OutgoingInput, TResult : ToolResult> AIAgentEdgeBuilderIntermediate<IncomingOutput, SafeTool.Result<TResult>, OutgoingInput>.onFailure(crossinline condition: suspend (error: String) -> Boolean): AIAgentEdgeBuilderIntermediate<IncomingOutput, SafeTool.Result.Failure<TResult>, OutgoingInput>
Link copied to clipboard
infix inline fun <IncomingOutput, IntermediateOutput, OutgoingInput, T : Any> AIAgentEdgeBuilderIntermediate<IncomingOutput, IntermediateOutput, OutgoingInput>.onIsInstance(klass: KClass<T>): AIAgentEdgeBuilderIntermediate<IncomingOutput, T, OutgoingInput>
Creates an edge that filters outputs based on their type.
Link copied to clipboard
infix fun <IncomingOutput, IntermediateOutput, OutgoingInput> AIAgentEdgeBuilderIntermediate<IncomingOutput, IntermediateOutput, OutgoingInput>.onMultipleToolCalls(block: suspend (List<Message.Tool.Call>) -> Boolean): AIAgentEdgeBuilderIntermediate<IncomingOutput, List<Message.Tool.Call>, OutgoingInput>
Creates an edge that filters lists of tool call messages based on a custom condition.
Link copied to clipboard
infix fun <IncomingOutput, IntermediateOutput, OutgoingInput> AIAgentEdgeBuilderIntermediate<IncomingOutput, IntermediateOutput, OutgoingInput>.onMultipleToolResults(block: suspend (List<ReceivedToolResult>) -> Boolean): AIAgentEdgeBuilderIntermediate<IncomingOutput, List<ReceivedToolResult>, OutgoingInput>
Creates an edge that filters lists of tool result messages based on a custom condition.
Link copied to clipboard
infix inline fun <IncomingOutput, OutgoingInput, TResult : ToolResult> AIAgentEdgeBuilderIntermediate<IncomingOutput, SafeTool.Result<TResult>, OutgoingInput>.onSuccessful(crossinline condition: suspend (TResult) -> Boolean): AIAgentEdgeBuilderIntermediate<IncomingOutput, SafeTool.Result.Success<TResult>, OutgoingInput>
Link copied to clipboard
infix fun <IncomingOutput, IntermediateOutput, OutgoingInput> AIAgentEdgeBuilderIntermediate<IncomingOutput, IntermediateOutput, OutgoingInput>.onToolCall(tool: Tool<*, *>): AIAgentEdgeBuilderIntermediate<IncomingOutput, Message.Tool.Call, OutgoingInput>
Creates an edge that filters tool call messages for a specific tool.
infix fun <IncomingOutput, IntermediateOutput, OutgoingInput> AIAgentEdgeBuilderIntermediate<IncomingOutput, IntermediateOutput, OutgoingInput>.onToolCall(block: suspend (Message.Tool.Call) -> Boolean): AIAgentEdgeBuilderIntermediate<IncomingOutput, Message.Tool.Call, OutgoingInput>
Creates an edge that filters tool call messages based on a custom condition.
inline fun <IncomingOutput, IntermediateOutput, OutgoingInput, Args : Tool.Args> AIAgentEdgeBuilderIntermediate<IncomingOutput, IntermediateOutput, OutgoingInput>.onToolCall(tool: Tool<Args, *>, crossinline block: suspend (Args) -> Boolean): AIAgentEdgeBuilderIntermediate<IncomingOutput, Message.Tool.Call, OutgoingInput>
Creates an edge that filters tool call messages for a specific tool and arguments condition.
Link copied to clipboard
infix fun <IncomingOutput, IntermediateOutput, OutgoingInput> AIAgentEdgeBuilderIntermediate<IncomingOutput, IntermediateOutput, OutgoingInput>.onToolNotCalled(tool: Tool<*, *>): AIAgentEdgeBuilderIntermediate<IncomingOutput, Message.Tool.Call, OutgoingInput>
Creates an edge that filters tool call messages to NOT be a specific tool
Link copied to clipboard
inline fun <IncomingOutput, IntermediateOutput, OutgoingInput, Result : ToolResult> AIAgentEdgeBuilderIntermediate<IncomingOutput, IntermediateOutput, OutgoingInput>.onToolResult(tool: Tool<*, Result>, crossinline block: suspend (SafeTool.Result<Result>) -> Boolean): AIAgentEdgeBuilderIntermediate<IncomingOutput, ReceivedToolResult, OutgoingInput>
Creates an edge that filters tool result messages for a specific tool and result condition.
Link copied to clipboard
infix fun <NewIntermediateOutput> transformed(block: suspend AIAgentContextBase.(IntermediateOutput) -> NewIntermediateOutput): AIAgentEdgeBuilderIntermediate<IncomingOutput, NewIntermediateOutput, OutgoingInput>