twenty
twenty copied to clipboard
Refactor filter definitions to use shared filter language
Scope & Context
In the current codebase, filter definitions are duplicated across multiple layers:
- GraphQL filter input types in
packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/ - REST filter parsing logic for string queries like field[eq]:value
- AI Agent tool JSON schema generation in
generateFieldFilterJsonSchemafunction
This duplication leads to inconsistencies, maintenance overhead, and potential bugs when filter logic diverges between layers.
Technical inputs
Create a shared filter language system that can be used across GraphQL, REST, and AI Agent Tool layers.