Won · revisions

Quanto de um store foi reescrito

revisions responde revised de total: quantas memórias de um store foram alteradas depois de escritas. Vale a pena perguntar antes de se apoiar na memória para algo que importa, ou quando um fato lembrado não bate com o que o usuário está dizendo agora. Um store em que três de cada dez fatos foram substituídos merece menos confiança do que um que ninguém editou.

Suportado no Tablet 2 e superiores. Pode ser chamado pela API HTTP, pelos SDKs de Python, TypeScript e Rust, e como ferramenta MCP. Motores mais antigos respondem 501 e informam o modelo que não consegue atender.

Contagens

Conta o que uma transformação tocou - substituído, atualizado, revogado e imagens removidas.

mem.revisions()
# {"revised": 3, "unrevised": 37, "total": 40, …}
await mem.revisions();
mem.revisions(None).await?;
curl -X POST https://api.wontopos.com/api/v1/won/revisions \
  -H "X-API-Key: $WOS_KEY" -d '{"user_id":"alice"}'
CampoO que significa
revisedMemórias que uma transformação tocou.
unrevisedMemórias que nada tocou desde que foram escritas. revised + unrevised é sempre igual a total - é um valor derivado, não contado à parte, então uma escrita concorrente não pode fazer os três discordarem.
totalMemórias que existem no store.
counts / excludesFrases simples, não flags, explicitando o que os números cobrem. Quem chama costuma ser um modelo.

Ler a lista

Passe include para obter as próprias memórias, não apenas a quantidade. Omita e você recebe só as contagens, que é a chamada barata.

page = mem.revisions(include="revised", limit=20)
page["memories"], page["matched"], page["has_more"]
const page = await mem.revisions(undefined, { include: "revised", limit: 20 });
let page = mem.revisions_page(None, "revised", 20, None, None).await?;
curl -X POST https://api.wontopos.com/api/v1/won/revisions \
  -H "X-API-Key: $WOS_KEY" \
  -d '{"user_id":"alice","include":"revised","limit":20}'
CampoO que faz
include"revised" ou "unrevised". Qualquer outro valor é recusado com um 400 em vez de voltar para as contagens - um erro de digitação que descarta a lista em silêncio fica idêntico a um store vazio.
limitDe 5 a 20, padrão 20. Fora do intervalo, ou com o tipo errado, é recusado, não ajustado ao limite.
matchedTotal de linhas por trás desta página, não o tamanho da página.
ordered_byO serviço declara a própria ordenação: primeiro as armazenadas mais recentemente, não as editadas mais recentemente.
next_beforeCursor para a próxima página, junto com next_skip_ids. Devolva os dois; os ids se acumulam entre as páginas.
A lista é ordenada por quando uma memória foi armazenada, não por quando foi alterada. Quem assume "editadas mais recentemente primeiro" lê a página de forma errada, e por isso a resposta informa qual é a ordem.
As exclusões não são contadas. Uma memória apagada não deixa nada para contar, então um store bastante podado continua reportando um revised baixo. Este número diz quanto foi reescrito, não quanto desapareceu.