Description

Retrieve memory

Semantic search over vector memory. Use when you do not know the exact path (e.g. user profession, favorite color, pets).

Included in Version 7

Dynamically extracted tool implementation.
How to register BuiltInToolscsharp
registry.Register(new AgentTool(            "retrieve_memory",            "Semantic search over vector memory. Use when you do not know the exact path (e.g. 'user profession', 'favorite color', 'pets').",            args => {                if (registry.Memory is null) return "Error: Memory system is not initialized.";                try {                    using var doc = JsonDocument.Parse(args);                    var root = doc.RootElement;                    if (!root.TryGetProperty("query", out var queryProp)) {                        return "Error: Missing query property.";                    }                    string query = queryProp.GetString() ?? "";                    if (string.IsNullOrWhiteSpace(query)) return "Error: Query cannot be empty.";                    var matches = registry.Memory.RetrieveAsync(query, topN: 3).GetAwaiter().GetResult();                    if (matches.Count == 0) return "No matching memories found.";                    return JsonSerializer.Serialize(matches.Select(m => new { path = m.Path, content = m.Value }));                }                catch (Exception ex) {                    return $"Error: {ex.Message}";                }            },            new {                type = "object",                properties = new {                    query = new { type = "string", description = "The semantic query to search memory for, e.g. 'What is the user's name?'." }                },                required = new[] { "query" }            }        ));