search
Keep the last N messages and/or fit a heuristic token budget, optionally dropping tool parts
from what is kept (tool parts are stripped before the budget is applied). Returns the trimmed
messages plus before/after stats.
With no constraints set, the messages are returned unchanged and only the stats are computed -
a deliberate, cheap “how big is my context?” probe (no LLM call, no mutation).
Usage
// Initialize the client
var client = new AgentStudioClient(
new AgentStudioConfig("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
);
// Call the API
var response = await client.TrimContextAsync(
new ContextTrimRequest
{
Messages = new MessagesUnion(
new List<MessageV4>
{
new MessageV4(new UserMessageV4 { Role = "user", Content = "Hello, how are you?" }),
}
),
}
);
// print the response
Console.WriteLine(response);
// Initialize the client
final client = AgentStudioClient(
appId: 'ALGOLIA_APPLICATION_ID', apiKey: 'ALGOLIA_API_KEY');
// Call the API
final response = await client.trimContext(
contextTrimRequest: ContextTrimRequest(
messages: [
UserMessageV4(
role: "user",
content: "Hello, how are you?",
),
],
),
);
// print the response
print(response);
// Initialize the client
client, err := agentStudio.NewClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
if err != nil {
// The client can fail to initialize if you pass an invalid parameter.
panic(err)
}
// Call the API
response, err := client.TrimContext(client.NewApiTrimContextRequest(
agentStudio.NewEmptyContextTrimRequest().SetMessages(agentStudio.ArrayOfMessageV4AsMessagesUnion(
[]agentStudio.MessageV4{*agentStudio.UserMessageV4AsMessageV4(
agentStudio.NewEmptyUserMessageV4().SetRole("user").SetContent("Hello, how are you?"))}))))
if err != nil {
// handle the eventual error
panic(err)
}
// print the response
print(response)
// Initialize the client
AgentStudioClient client = new AgentStudioClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY");
// Call the API
ContextResponse response = client.trimContext(
new ContextTrimRequest().setMessages(
MessagesUnion.ofListOfMessageV4(Arrays.asList(new UserMessageV4().setRole("user").setContent("Hello, how are you?")))
)
);
// print the response
System.out.println(response);
// Initialize the client
const client = agentStudioClient('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY');
// Call the API
const response = await client.trimContext({ messages: [{ role: 'user', content: 'Hello, how are you?' }] });
// print the response
console.log(response);
// Initialize the client
val client = AgentStudioClient(appId = "ALGOLIA_APPLICATION_ID", apiKey = "ALGOLIA_API_KEY")
// Call the API
var response =
client.trimContext(
contextTrimRequest =
ContextTrimRequest(
messages =
MessagesUnion.ofListOfMessageV4(
listOf(UserMessageV4(role = "user", content = "Hello, how are you?"))
)
)
)
// print the response
println(response)
// Initialize the client
$client = AgentStudioClient::create('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY');
// Call the API
$response = $client->trimContext(
['messages' => [
['role' => 'user',
'content' => 'Hello, how are you?',
],
],
],
);
// print the response
var_dump($response);
# Initialize the client
# In an asynchronous context, you can use AgentStudioClient instead, which exposes the exact same methods.
client = AgentStudioClientSync("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
# Call the API
response = client.trim_context(
context_trim_request={
"messages": [
{
"role": "user",
"content": "Hello, how are you?",
},
],
},
)
# print the response
print(response)
# Initialize the client
client = Algolia::AgentStudioClient.create("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
# Call the API
response = client.trim_context(
Algolia::AgentStudio::ContextTrimRequest.new(
messages: [Algolia::AgentStudio::UserMessageV4.new(role: "user", content: "Hello, how are you?")]
)
)
# print the response
puts(response)
// Initialize the client
val client = AgentStudioClient(appId = "ALGOLIA_APPLICATION_ID", apiKey = "ALGOLIA_API_KEY")
// Call the API
val response = Await.result(
client.trimContext(
contextTrimRequest = ContextTrimRequest(
messages = MessagesUnion(
Seq(
UserMessageV4(
role = "user",
content = "Hello, how are you?"
)
)
)
)
),
Duration(100, "sec")
)
// print the response
println(response)
// Initialize the client
let client = try AgentStudioClient(appID: "ALGOLIA_APPLICATION_ID", apiKey: "ALGOLIA_API_KEY")
// Call the API
let response = try await client
.trimContext(contextTrimRequest: ContextTrimRequest(messages: MessagesUnion
.arrayOfMessageV4([MessageV4.userMessageV4(UserMessageV4(
role: "user",
content: "Hello, how are you?"
))])))
// print the response
print(response)
See the full API reference
For more details about input parameters
and response fields.