Class OrderStatusTool
- All Implemented Interfaces:
GuardedExecution, Identifiable, Job<OrderStatus>, Tool<OrderNumber, OrderStatus>
A model chooses a tool the way a person chooses a button: by reading its label.
@ToolName is the name it calls the tool by and @ToolDescription says what
the tool is for; readOnly = true promises the tool changes nothing, which lets it
be offered to agents that are only allowed to look. The input and output are plain beans:
from OrderNumber Nucleo builds the form a model fills in, and an
OrderStatus goes back to code as the object and to a model as text.
getRequirements() is where a tool asks for what it needs while it runs - a
connection, a transaction - and Nucleo hands them over when the tool starts and takes
them back when it ends. This one needs nothing.
The two failures are typed, and that is how the model knows what to do next:
InvalidInputException means the caller asked the wrong way and says how to ask
right, so a model corrects its call and tries again; ResourceNotFoundException
means the order does not exist.
- Since:
- 0.1 (2026-09-27)
- Author:
- Andrey Santrosyan
-
Field Summary
Fields inherited from class AbstractTool
inputFields inherited from class AbstractJob
timeout, upstreamRetriesFields inherited from interface Job
DEFAULT_UPSTREAM_RETRIESFields inherited from interface Tool
OBS_INPUT, OBS_OUTPUT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionexecute(JobResources resources, JobContext<OrderStatus> context) Executes the job with the provided resources and context.Default requirements for tools.Methods inherited from class AbstractTool
getInput, getJobType, postExecute, preExecute, setInputMethods inherited from class AbstractJob
getId, getName, getParentJobId, getPriority, getTimeout, getUpstreamRetries, getUserId, getWorkflowId, randomIdSuffix, setTimeout, setUpstreamRetries, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface GuardedExecution
declareAdmissionGuardrails, declareAuthGuardrails, declareContentGuardrailsMethods inherited from interface Identifiable
getParentJobId, getUserId, getWorkflowIdMethods inherited from interface Job
getDisplayName, getId, getJobId, getName, getPriority, getTimeout, getUpstreamRetriesMethods inherited from interface Tool
guardedInputTarget
-
Constructor Details
-
OrderStatusTool
-
-
Method Details
-
getRequirements
Description copied from class:AbstractToolDefault requirements for tools. Subclasses should override to add database, LLM, or other requirements. JobType is handled byAbstractTool.getJobType(), not here.- Specified by:
getRequirementsin interfaceJob<OrderStatus>- Overrides:
getRequirementsin classAbstractTool<OrderNumber, OrderStatus>- Returns:
- resource requirements, or null if the job needs no resources
-
execute
public OrderStatus execute(JobResources resources, JobContext<OrderStatus> context) throws LLMReadableCheckedException Description copied from interface:JobExecutes the job with the provided resources and context. A job reports progress and checks for cancellation through the context, and completes all its work before returning. A tool narrows this contract to the LLM-readable exceptions ofTool.execute(JobResources, JobContext).- Parameters:
resources- the allocated resourcescontext- the job execution context for monitoring- Returns:
- the job result, which may be null
- Throws:
LLMReadableCheckedException- if execution fails
-