Skip to main content

Glossary

The Arc Framework DSL provides a rich set of functions that can be used to implement complex logic in a concise and readable manner.

If you are looking for a description of the Agent Fields DSL, please check out the Defining Agents.

Example of the time and memory functions:

  agent {
name = "MyAgent"
prompt {
val name = memory<String>("user_name")
"""
The user's name is $name.
The time is ${time()}
"""
}
}

The following list some of the most common functions that can be used in the DSL.

NameDescriptionDetails
getReturns a bean from the Agent Context.More
llmCalls the llm.More
userProfileReturns a value from the customer profile.More
systemReturns a system property.More
limitRate limiterMore
getDataReturns a data set that was stored.More
addDataSets a data set that was loaded.More
timeReturns the current time.More
debug, info, warn, and errorLogs messages to the logging systemMore
tracerReturns the AgentTracer.More
memoryStores and retrieves values from memory.More
emitMessageReturns a message to the client. Multiple messages can be returned to the client in a single turn.
breakWithThe breakWith function can be used to stop the agent from further processing the message and a return a dedicated response.More