v0.0.5
What's Changed
Added
FileSearchSetcandidate container — unordered set with set algebra (&,|,-,>>), path transforms (rebase,remap_paths), and iteration. Used as input filter for search methods.BatchResult— batch operation result type withsucceeded/failedcounts.- Candidates filtering —
glob,grep,vector_search,lexical_search,hybrid_searchall acceptcandidates: FileSearchSetfor pipeline-style filtering. diff_versions— compare two file versions, exposed onGrover/GroverAsync.write_file,write_files,write_chunk,write_chunks— public API methods for model-based writes.- Self-managing graph —
RustworkxGraphlazy-loads from DB, TTL-based refresh,configure_refresh(). IndexConfig— frozen dataclass for vector index creation.parent_path_from_id— utility to extract parent file path from chunk IDs.
Changed
- SearchProvider protocol stripped to MVP — 6 methods using domain types (
File,BatchResult,FileSearchResult).lexical_searchmoved to filesystem backend. types.pydeleted —VectorEntry,UpsertResult,DeleteResult,VectorHit,SparseVector,TextEntry,IndexConfig(old),IndexInfo,SearchResultall removed.- Opt-in search protocols removed —
SupportsNamespaces,SupportsMetadataFilter,SupportsIndexLifecycle,SupportsHybridSearch,SupportsRerankingdeleted. Pinecone/Databricks keep these as concrete methods. - DatabricksVectorStore rewritten — stripped to protocol surface only.
- Internal result types overhauled —
FileSearchResultextendsFileSearchSet, typedEvidencesubclasses onFileobjects replace 30+ result subclasses. - RustworkxGraph refactored — adjacency dicts,
_snapshot()for thread-safe algorithm execution,.graphproperty exposesPyDiGraph. - Async graph operations — all query/algorithm methods are
async def. Heavy algorithms useasyncio.to_thread(). - Graph facade simplified —
GraphOpsMixinis pure delegation toGraphProvider.GraphStorealias removed. GroverAsyncmixins consolidated — 8 → 6 mixins (ConnectionMixin absorbed into GraphOpsMixin, VersionTrashMixin into FileOpsMixin).- Search method signatures corrected —
list_dir,tree,list_versionsreverted to path-based;vector_searchrebase bug fixed.
Fixed
- CI workflow —
uvx ruff/uvx tyinstead of pip-installed tools; trigger on workflow file changes. - ty type errors — evidence lists annotated as
list[Evidence],Anyreplaced with concrete types.
Full Changelog: v0.0.4...v0.0.5