memory
The memory namespace provides persistent key-value storage for your agent. All data is scoped to your agent session and persists across executions. Use memory to track state, store configuration, or maintain context between runs. Memory is automatically scoped to your session ID, and for now is simple string storage. You will need to handle serialization of whatever data you want to store here.
memory.set()
memory.set()Store a string value with a unique key.
Signature
agent.memory.set(
key: string,
value: string
): Promise<MemorySetResponse>Parameters
key
string
Unique identifier for the value (1 - 255 characters)
value
string
String value to store
Returns
Promise<MemorySetResponse>
type MemorySetResponse = {
success: boolean;
data?: {
key: string; // The key that was set
};
error?: string;
errorMessage?: string;
errorDetails?: object;
}Examples
// Set a value
const result = await agent.memory.set("lastSwapNetwork", "ethereum:42161");
if (result.success && result.data) {
await agent.log(`Stored key: ${result.data.key}`);
} else {
await agent.log(result.error || 'Failed to set memory', { error: true });
}Common Errors
"Invalid key"
Key too long (>255 chars) or empty
Use keys between 1-255 characters
"Invalid value"
Value exceeds size limit
Keep values reasonable size, consider splitting large data
memory.get()
memory.get()Retrieve a previously stored value by key.
Signature
agent.memory.get(
key: string
): Promise<MemoryGetResponse>Parameters
key
string
The key to retrieve
Returns
Promise<MemoryGetResponse>
type MemoryGetResponse = {
success: boolean;
data?: {
key: string; // The requested key
value: string; // The stored value
};
error?: string;
errorMessage?: string;
errorDetails?: object;
}Examples
// Get a value
const result = await agent.memory.get("lastSwapNetwork");
if (result.success && result.data) {
await agent.log(`Network: ${result.data.value}`);
} else {
await agent.log(`Key not found: ${result.error}`, { error: true });
}Common Errors
"Key not found"
Key doesn't exist in memory
Check if key exists first, or handle missing keys gracefully
memory.delete()
memory.delete()Remove a key-value pair from storage. Succeeds even if the key doesn't exist.
Signature
agent.memory.delete(
key: string
): Promise<MemoryDeleteResponse>Parameters
key
string
The key to delete
Returns
Promise<MemoryDeleteResponse>
type MemoryDeleteResponse = {
success: boolean;
data?: {
key: string; // The deleted key
};
error?: string;
errorMessage?: string;
errorDetails?: object;
}Examples
// Get a key
const result = await agent.memory.delete("tempSwapQuote");
if (result.success && result.data) {
await agent.log(`Deleted key: ${result.data.key}`);
}memory.list()
memory.list()Get an array of all keys stored for this agent session. Useful for debugging or iterating through stored data.
Signature
agent.memory.list(): Promise<MemoryListResponse>Returns
Promise<MemoryListResponse>
type MemoryListResponse = {
success: boolean;
data?: {
keys: string[]; // Array of all stored keys
count: number; // Total number of keys
};
error?: string;
errorMessage?: string;
errorDetails?: object;
}Examples
// List all keys
const result = await agent.memory.list();
if (result.success && result.data) {
await agent.log(`Found ${result.data.count} keys: ${result.data.keys.join(', ')}`);
// Iterate through all stored values
for (const key of result.data.keys) {
const value = await agent.memory.get(key);
await agent.log(`${key}: ${value.data?.value}`);
}
}Last updated