Skip to content

Add IMAP flag-based search filters to list_emails_metadata#101

Merged
Wh1isper merged 1 commit intoai-zerolab:mainfrom
jbkjr:pr/search-filters
Jan 19, 2026
Merged

Add IMAP flag-based search filters to list_emails_metadata#101
Wh1isper merged 1 commit intoai-zerolab:mainfrom
jbkjr:pr/search-filters

Conversation

@jbkjr
Copy link
Contributor

@jbkjr jbkjr commented Jan 15, 2026

Summary

  • Add seen, flagged, answered tri-state filter parameters to list_emails_metadata
  • Enable compound IMAP searches (e.g., unread emails from a specific sender)

New Parameters

Parameter Values Description
seen true/false/null Filter by read status (SEEN/UNSEEN)
flagged true/false/null Filter by starred status (FLAGGED/UNFLAGGED)
answered true/false/null Filter by replied status (ANSWERED/UNANSWERED)

Example Usage

# Get unread emails from a specific sender
list_emails_metadata(account_name="work", seen=False, from_address="boss@example.com")

# Get flagged/starred emails
list_emails_metadata(account_name="work", flagged=True)

Test plan

  • Unit tests added for _build_search_criteria method
  • Integration tests updated for handler and MCP tools
  • All 110 tests passing

🤖 Generated with Claude Code

@codecov
Copy link

codecov bot commented Jan 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Add three new tri-state filter parameters:
- seen: True=read (SEEN), False=unread (UNSEEN), None=all
- flagged: True=starred (FLAGGED), False=not starred (UNFLAGGED), None=all
- answered: True=replied (ANSWERED), False=not replied (UNANSWERED), None=all

These filters enable compound searches like "unread emails from SenderX"
by combining from_address and seen parameters.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@jbkjr jbkjr force-pushed the pr/search-filters branch from 88613c8 to 05cd08e Compare January 15, 2026 08:11
@jbkjr jbkjr closed this Jan 15, 2026
@jbkjr jbkjr deleted the pr/search-filters branch January 15, 2026 08:35
@jbkjr jbkjr restored the pr/search-filters branch January 15, 2026 09:21
@jbkjr jbkjr reopened this Jan 15, 2026
@Wh1isper Wh1isper merged commit 3e4fea5 into ai-zerolab:main Jan 19, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants