NSQL Language Specification
NSQL (Nuncio SQL) is a real, implemented grammar, parsed and validated by nuncio-filter using sqlparser-rs. You can create, validate, and dry-run test rules against your synced mail today. Authoring & dry-run testing
1. Statement Syntax
[ON ACCOUNT '<target_account>'] [WHERE] <field> <operator> <value> [AND|OR <condition>] ACTION <action_1> [, <action_2> ...];
Example, matching the parser's actual grammar (not a WHEN/THEN dialect):
ON ACCOUNT 'you@example.com' WHERE from CONTAINS '@example-crm.com' AND size > 5242880 ACTION MOVE TO 'vip-inbox', FLAG;
- •
subject, from, to, body - •
has_attachment, size, folder, date, account - •
header['X-Spam-Score']: header lookup — always evaluates false today - • Operators:
= != CONTAINS NOT CONTAINS MATCHES > < >= <= IN NOT IN
- •
MOVE TO 'folder'/COPY TO 'folder' - •
MARK READ/MARK UNREAD - •
FLAG/UNFLAG - •
DELETE - •
FORWARD TO 'email' - •
CALL WEBHOOK 'url'— dispatcher is real, not wired into live sync
The parser, validator, and match engine are genuinely implemented — account-scoped rules (ON ACCOUNT) and non-ASCII parsing are correct and tested. Use nuncio filter create --name "..." --sql "..." to save a rule, and nuncio filter test --sql "..." --message-id <id>to dry-run it against a real message — both are real today. What isn't wired up yet: the match-and-act engine doesn't run against the live sync path, so saved rules don't currently take action on new mail as it arrives.