Team feed
SetTEAM_MODE=shared, TEAM_ID, and USER_ID in the env; memories are then scoped to (team, user) tuples.
Records received through sharing carry the
shared provenance channel, so recall can tell them apart from your own writes.
Mesh
The mesh syncs data between separate agentmemory instances (memory_mesh_sync, mesh/* routes).
Register a peer with a name and URL via POST /agentmemory/mesh/peers. Peer URLs must be public http or https addresses: localhost, private ranges, and link-local addresses are rejected, including after DNS resolution.
POST /agentmemory/mesh/sync pushes, pulls, or both (direction: "push" | "pull" | "both") against one peer or all of them. Sync requires AGENTMEMORY_SECRET to be set and fails without it. Default scopes: memories, actions, semantic, procedural, relations, graph:nodes, graph:edges; peers can narrow scopes and filter by project.
Conflicts resolve last-write-wins on the record timestamp, per record, under a keyed lock. POST /agentmemory/mesh/receive is the inbound half; GET /agentmemory/mesh/export returns the outbound payload. Every register, sync, and receive lands in the audit trail.