fleet-memory/hindsight-api-slim/hindsight_api
Nicolò Boschi 3c633e5e16
feat: add retain update_mode='append' for document content concatenation (#932)
* feat: add update_mode='append' for retain to concatenate content to existing documents

When retaining with update_mode='append' and a document_id that already exists,
the new content is appended to the existing document text and the full document
is reprocessed. Delta retain automatically skips unchanged chunks, so only the
new content triggers LLM extraction.

- Add update_mode field to MemoryItem (API), RetainContentDict (internal), MCP tools
- Validate that update_mode='append' requires a document_id
- Fetch existing document content and prepend before processing in orchestrator
- Update Python, TypeScript, Go generated clients and top-level client wrappers
- Add tests for append, multiple appends, no-existing-doc, validation, and default replace

* fix: add update_mode field to Rust CLI and client MemoryItem initializers

* chore: regenerate docs skill references for update_mode
2026-04-08 14:39:16 +02:00
..
admin fix(migrations): bypass PgBouncer for advisory locks via MIGRATION_DATABASE_URL (#726) 2026-03-27 16:01:38 +01:00
alembic fix(recall): cap entity fanout in graph expansion (#911) 2026-04-07 18:59:50 +02:00
api feat: add retain update_mode='append' for document content concatenation (#932) 2026-04-08 14:39:16 +02:00
engine feat: add retain update_mode='append' for document content concatenation (#932) 2026-04-08 14:39:16 +02:00
extensions fix(retain): preserve normalized experience fact types (#848) 2026-04-02 12:20:37 +02:00
webhooks feat: introduce hindsight-api-slim and hindsight-all-slim packages (#560) 2026-03-13 13:50:03 +01:00
worker Fix orphaned batch_retain parents when child fails via unhandled exception (#618) 2026-03-19 14:55:26 +01:00
__init__.py Release v0.4.22 2026-03-31 18:14:59 +02:00
banner.py feat: introduce hindsight-api-slim and hindsight-all-slim packages (#560) 2026-03-13 13:50:03 +01:00
config.py feat: add OpenRouter support for LLM, embeddings, and reranking (#930) 2026-04-08 11:24:21 +02:00
config_resolver.py fix(config): validate entity_labels structure on PATCH (#902) 2026-04-07 11:58:02 +02:00
daemon.py feat: introduce hindsight-api-slim and hindsight-all-slim packages (#560) 2026-03-13 13:50:03 +01:00
main.py docs: add supported platforms and Windows installation guide (#700) 2026-03-26 12:01:30 +01:00
mcp_local.py feat: introduce hindsight-api-slim and hindsight-all-slim packages (#560) 2026-03-13 13:50:03 +01:00
mcp_tools.py feat: add retain update_mode='append' for document content concatenation (#932) 2026-04-08 14:39:16 +02:00
metrics.py fix: make bank_id metric label opt-in to prevent OTel memory leak (#898) 2026-04-07 09:42:59 +02:00
migrations.py fix(migrations): bypass PgBouncer for advisory locks via MIGRATION_DATABASE_URL (#726) 2026-03-27 16:01:38 +01:00
models.py fix(retain): preserve normalized experience fact types (#848) 2026-04-02 12:20:37 +02:00
pg0.py feat: introduce hindsight-api-slim and hindsight-all-slim packages (#560) 2026-03-13 13:50:03 +01:00
server.py feat: introduce hindsight-api-slim and hindsight-all-slim packages (#560) 2026-03-13 13:50:03 +01:00
tracing.py feat: introduce hindsight-api-slim and hindsight-all-slim packages (#560) 2026-03-13 13:50:03 +01:00
utils.py feat: introduce hindsight-api-slim and hindsight-all-slim packages (#560) 2026-03-13 13:50:03 +01:00