RAG via the Guava server API (v1/rag/*). Uploads plain-text documents; the
server stores and answers over them. Handles content-addressed keys and
namespace scoping.
Summary
Functions
Ask a question, optionally scoped to document_keys, with optional instructions.
Derive a deterministic 16-char key from document content.
Delete a document by key.
List stored documents.
Apply a namespace prefix to a key when a namespace is set.
Sync server state to match documents.
Upload (or replace) a document by key.
Functions
@spec ask(Guava.Client.t(), String.t(), [String.t()] | nil, String.t() | nil) :: String.t()
Ask a question, optionally scoped to document_keys, with optional instructions.
Derive a deterministic 16-char key from document content.
@spec delete_document(Guava.Client.t(), String.t()) :: :ok
Delete a document by key.
@spec list_documents(Guava.Client.t()) :: [map()]
List stored documents.
Apply a namespace prefix to a key when a namespace is set.
@spec reconcile(Guava.Client.t(), String.t() | nil, [String.t()], [String.t()] | nil) :: MapSet.t()
Sync server state to match documents.
Returns the set of tracked keys. When ids is nil, keys are content
hashes and unchanged documents are skipped; stale documents in the namespace
are deleted.
@spec upload_document(Guava.Client.t(), String.t(), String.t()) :: map()
Upload (or replace) a document by key.