Skip to main content

Install

pip install synap-autogen

What’s included

ClassPurpose
SynapSearchToolBaseTool that searches Synap memory
SynapStoreToolBaseTool that stores a memory in Synap
Both tools support AutoGen’s CancellationToken for cooperative cancellation.

Quick start

from autogen_agentchat.agents import AssistantAgent
from synap_autogen import SynapSearchTool, SynapStoreTool

tools = [
    SynapSearchTool(sdk=sdk, user_id="alice", customer_id="acme"),
    SynapStoreTool(sdk=sdk, user_id="alice", customer_id="acme"),
]

agent = AssistantAgent(
    name="MemoryAgent",
    model_client=your_model_client,
    tools=tools,
    system_message="Use synap_search to recall user context. Use synap_store to remember new information.",
)

await agent.run(task="What are my top priorities this week?")

Tool details

SynapSearchTool — call schema:
{
  "query": "string",
  "max_results": "int (default 5)",
  "mode": "\"fast\" | \"accurate\" (default \"fast\")"
}
Returns a list of memory objects with content, type, and confidence fields. SynapStoreTool — call schema:
{
  "content": "string",
  "memory_type": "string (default \"fact\")"
}
Returns {"status": "stored", "id": "..."} on success.

Cancellation

Both tools propagate AutoGen’s CancellationToken:
from autogen_core import CancellationToken

token = CancellationToken()
result = await tool.run({"query": "project deadlines"}, cancellation_token=token)

# Cancel from elsewhere in the same asyncio task group:
token.cancel()

Next steps

OpenAI Agents

Function tools for the OpenAI Agents SDK.

CrewAI

Storage backend for CrewAI crews.