Stores

Stores - anlegen, auflisten, löschen.

Ein Store ist die user_id, unter der Sie lesen und schreiben - ein isolierter Gedächtnisraum pro Endnutzer, Agent oder Thema. Stores sind explizit: Legen Sie einen an, bevor Sie hineinspeichern oder daraus abrufen, sonst liefert der Aufruf 404. Jedes Konto startet mit einem default-Store, Sie können also ohne Create-Aufruf beginnen.

Wie die Isolation verschachtelt ist. Ein Konto besitzt Workspaces; jeder Workspace isoliert sein eigenes Gedächtnis, seine API-Schlüssel und seine Nutzung (die Abrechnung erfolgt gemeinsam auf Kontoebene). Ein Store liegt innerhalb eines Workspace: Schlüssel im selben Workspace teilen sich dessen Stores, und verschiedene Workspaces sehen niemals das Gedächtnis des jeweils anderen. account → workspace → store (user_id) → memories.
mem.create_store("alice")        # create (idempotent)
mem.list_stores()              # [{"user_id","created_at"}, ...]
mem.delete_store("alice")        # delete the store + all its memories
await mem.createStore("alice");
await mem.listStores();          // [{ user_id, created_at }, ...]
await mem.deleteStore("alice");     // store + all its memories
mem.create_store("alice").await?;
let stores = mem.list_stores().await?;
mem.delete_store("alice").await?;
# create
curl -X POST https://api.wontopos.com/api/v1/memory/collection \
  -H "X-API-Key: $WOS_API_KEY" -H "Content-Type: application/json" -d '{"user_id":"alice"}'
# list
curl https://api.wontopos.com/api/v1/memory/collections -H "X-API-Key: $WOS_API_KEY"
# delete (store + all its memories)
curl -X DELETE https://api.wontopos.com/api/v1/memory/collection \
  -H "X-API-Key: $WOS_API_KEY" -H "Content-Type: application/json" -d '{"user_id":"alice"}'
Tatsächliche Antwort - create
{ "user_id": "alice", "status": "created" }   // "exists" if it already did
Tatsächliche Antwort - list
{ "collections": [
  { "user_id": "default", "created_at": "2026-06-26T02:23:14Z" },
  { "user_id": "alice",   "created_at": "2026-06-26T02:24:01Z" }
], "count": 2 }
Recall auf einen Store, der nicht existiert
{ "error": { "type": "not_found_error",
  "message": "Store 'ghost' does not exist. Create it first with
              POST /api/v1/memory/collection {\"user_id\":\"ghost\"}, then store or recall." } }
Verwenden Sie einen Store pro Endnutzer ("alice", "user_42"), um die Erinnerungen jeder Person getrennt zu halten, oder einen einzelnen default-Store für einen persönlichen Agenten. Stores lassen sich auch in der Konsole anlegen und durchsehen (Memory ids → Issue), ganz ohne Code. Das Löschen eines Stores ist endgültig - es entfernt jede Erinnerung darin. Store-Ids werden vor der Speicherung zusammengefaltet - kleingeschrieben, alles außerhalb von [a-z0-9_] wird zu _ -, sodass Alice.Smith und alice-smith denselben Store bezeichnen. Eine zweite Id, die auf eine vorhandene fällt, wird mit 409 abgelehnt statt stillschweigend geteilt. Die Id muss außerdem [A-Za-z0-9][A-Za-z0-9._-]{0,63} entsprechen; eine E-Mail-Adresse oder ein nicht-lateinischer Name kann daher keine Store-Id sein - verwenden Sie stattdessen eine interne Id.

Stores auflisten und löschen

mem.list_stores()                # [{"user_id","created_at"}, …]
mem.delete_store("alice")      # the store and every memory in it
await mem.listStores();
await mem.deleteStore("alice");
let stores = mem.list_stores().await?;
mem.delete_store("alice").await?;
curl -X POST   .../api/v1/memory/collections -d '{}'
curl -X DELETE .../api/v1/memory/collection  -d '{"user_id":"alice"}'