Added validation to prevent using contradictory filter criteria (e.g., Ids and NotIds together) and reject negation-only queries as they are impractical. Refactored logic for simplicity and added tests to ensure proper handling of invalid filters.
Introduced a `Limit` field to `filter.F` for event query limits and updated database queries to respect this constraint. Added a `Server` interface and relay API for improved modularity and functionality. Included tests for limit behavior and new components to ensure validity.
Introduces a comprehensive README detailing the public API of the Manifold database package. Includes sections on database initialization, operations, event handling, querying, and logging, with full function signatures and usage explanations.
Introduced methods for marshaling and unmarshaling filters, ensuring correct handling of fields and sentinels. Added comprehensive unit tests to validate the encoding and decoding behavior across various scenarios. Minor typo fix in `hex/aliases.go` and removed commented code from `database/store.go`.
Updated the query logic to support `NotIds`, `NotAuthors`, and `NotTags` filters, enabling exclusion of specific IDs, authors, or tags. Introduced tests to validate these negation features and ensure proper functionality when combined or used individually.