cuba_ingesta
Ingest structured items, parse raw text, or auto-extract facts from conversations via LLM sampling. Enables deduplication and conflict handling for knowledge memory.
Instructions
Bulk knowledge ingestion. 'ingest': array of {entity_name, content, observation_type} items. 'parse': split long text by paragraphs + heuristic classify. 'auto_extract' (v0.11): the calling client's LLM extracts salient durable facts from a turn/conversation via MCP Sampling ($0, no API key) and ingests them — the automatic-extraction that mem0/Zep have. All routes share the dedup/PE-gating/embedding pipeline; none delete.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | Raw text: paragraphs to split (parse) or a turn/conversation to extract facts from (auto_extract) | |
| items | No | Array of {entity_name, content, observation_type?} objects (for ingest action, max 200) | |
| action | Yes | Ingestion mode. 'ingest' for structured items, 'parse' for raw text splitting, 'auto_extract' for LLM extraction via MCP sampling. | |
| untrusted | No | Set when the text came from somewhere you do not control (a fetched page, a pasted document, a third party). Everything extracted lands quarantined — stored and inspectable via cuba_eco action=pending, but withheld from cuba_faro until promoted. Default false. | |
| entity_hint | No | Optional main-subject hint for auto_extract (biases entity_name) | |
| entity_name | No | Entity to attach parsed observations to (for parse action) | |
| supersede_conflicts | No | v0.11 (auto_extract): when a new fact replaces/contradicts an existing related one, ask the judge and mark the old observation superseded (knowledge-update; never deletes). Default false. |