Skip to content

Built-in Capabilities

Built-in Tools

ToolPurpose
STOP_TOOL (agent_stop)Ends the tool loop; the agent answers directly
REASONING_TOOL (reasoning)Explicit reasoning step (non-native-thinking mode)
UPDATE_STEP_TOOL (update_step)Revise the task plan: replan / mark_done / add_step / remove_step
PROCESS_MESSAGEReports agent progress to the user (enabled by function_config.agent_middle_message)

Built-in tools bypass the agent.tool_call / agent.tool_return lifecycle events and are excluded from stall-signature cancellation.

Built-in Metadata Types

Stream metadata (MessageWithMetadata.metadata) uses type + extra_type:

typeextra_typeMeaning
function_callTool start/finish (is_done)
reasoning_chunkcot_chunkThinking-mode reasoning streaming
reasoning / structured_reasoningReasoning summaries
reflectionPost-stop reflection results
errorloop_reasoningLoop-detection error notice
stepdecompose / intro / leave / stall / compressStep-loop lifecycle (see Step Loop)

Built-in Adapters

See Model Adapters — the OpenAI-compatible adapter (serves OpenAI, DeepSeek, Azure and any OpenAI-compatible endpoint via base_url/model) and the Anthropic adapter (protocol="anthropic").

Built-in Strategies

StrategyCategoryNotes
ReActAgentStrategyagent-mixedDefault strategy class; node-driven Step loop once the step-loop workflow is active (see Agent Strategy)
HybridReActAgentStrategyagent-mixedMoE XML-style results; deprecated, removed in v0.14.0
NoActionAgentStrategyworkflowSkip tool calling

Built-in Event Hooks

When config.cookie.enable_cookie = True, responses are scanned for configured cookie values; on a match the session terminates with a generic error to prevent data leakage (see Security).

Post-Process Hook

strategy.on_post_process() runs after successful execution for all strategy categories — final instructions, summarization, or cleanup.

Built-in Workflows

Pre-composed pipelines in amrita_core.builtins.workflows (see Workflow Engine):

WorkflowPipeline
SIMPLE_CHATPlain chat, no agent (default)
REACT_BLOCK / SIMPLE_REACT / REACT_ONLYLegacy ReAct loop
STEP_REACT_BLOCK / SIMPLE_STEP_REACT / STEP_REACT_ONLYStep-driven ReAct (opt-in)
CHATOBJECT_STEP_REACTInternal archived step-loop (used by the ChatObject runner)

workflow=None (the ChatObject default) resolves to the simple chat pipeline. The step-driven family runs only when you pass it explicitly — e.g. get_chatobject(..., workflow=SIMPLE_STEP_REACT) or workflow=_step_workflow_rendered (see The Step Loop). CHATOBJECT_STEP_REACT is normally selected for you — pass it only when you compose custom pipelines and need the archived block variant.

Apache 2.0 License