Package com.embabel.chat.support
Class AssetAddingTool
-
- All Implemented Interfaces:
-
com.embabel.agent.api.tool.DelegatingTool,com.embabel.agent.api.tool.Tool,com.embabel.agent.api.tool.ToolInfo
public final class AssetAddingTool<T extends Object> implements DelegatingTool
Add the result of calling this tool as an asset to the given AssetTracker if it is of the expected type. Also unwraps Iterables of the expected type.
-
-
Field Summary
Fields Modifier and Type Field Description private final Tool.Definitiondefinitionprivate final Tooldelegateprivate final AssetTrackerassetTrackerprivate final Function1<T, Asset>converterprivate final Class<T>clazzprivate final Function1<T, Boolean>artifactFilterprivate final Tool.Metadatametadata
-
Constructor Summary
Constructors Constructor Description AssetAddingTool(Tool delegate, AssetTracker assetTracker, Function1<T, Asset> converter, Class<T> clazz, Function1<T, Boolean> artifactFilter)
-
Method Summary
Modifier and Type Method Description Tool.DefinitiongetDefinition()Tool definition for LLM ToolgetDelegate()final AssetTrackergetAssetTracker()final Function1<T, Asset>getConverter()final Class<T>getClazz()final Function1<T, Boolean>getArtifactFilter()Tool.Resultcall(String input)Execute the tool with JSON input. -
Methods inherited from class com.embabel.agent.api.tool.ToolInfo
getMetadata -
Methods inherited from class com.embabel.agent.api.tool.Tool
withDescription, withName, withNote -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Constructor Detail
-
AssetAddingTool
AssetAddingTool(Tool delegate, AssetTracker assetTracker, Function1<T, Asset> converter, Class<T> clazz, Function1<T, Boolean> artifactFilter)
- Parameters:
delegate- The tool to delegate toassetTracker- The asset tracker to add assets toconverter- Function to convert from T to Assetclazz- The class of TartifactFilter- Optional filter to decide which artifacts become assets.
-
-
Method Detail
-
getDefinition
Tool.Definition getDefinition()
Tool definition for LLM
-
getDelegate
Tool getDelegate()
-
getAssetTracker
final AssetTracker getAssetTracker()
-
getConverter
final Function1<T, Asset> getConverter()
-
getArtifactFilter
final Function1<T, Boolean> getArtifactFilter()
-
call
Tool.Result call(String input)
Execute the tool with JSON input.
- Parameters:
input- JSON string matching inputSchema- Returns:
Result to send back to LLM
-
-
-
-