Skip to content

Add time-based filters to search and listing APIs#441

Open
sebkouba wants to merge 1 commit intotobi:mainfrom
sebkouba:feat/time-filters-pr
Open

Add time-based filters to search and listing APIs#441
sebkouba wants to merge 1 commit intotobi:mainfrom
sebkouba:feat/time-filters-pr

Conversation

@sebkouba
Copy link
Copy Markdown
Contributor

Problem

QMD had no first-class way to constrain search or listing to recently created or modified documents. Users and MCP/SDK callers had to encode recency indirectly in query text, and qmd ls could not filter by indexed timestamps at all.

Solution

  • add --modified-since / --created-since to qmd search, qmd query, qmd vsearch, and qmd ls
  • thread modifiedAfter / createdAfter through the store, SDK, and MCP search APIs
  • apply filters in SQL using the indexed documents.modified_at and documents.created_at metadata
  • document the feature in the README and QMD skill
  • sync the packaged embedded skill with skills/qmd/SKILL.md and harden CLI tests so packaged skill drift is caught

Notes

Time filters operate on indexed filesystem timestamps, so callers still need qmd update when they want the latest metadata reflected.

Testing

  • bunx vitest run --reporter=verbose test/store.helpers.unit.test.ts test/cli.test.ts test/sdk.test.ts test/mcp.test.ts
  • CLI coverage for search, structured query, listing, and invalid values
  • SDK coverage for modified/created filters, inclusive boundaries, combined filters, and vector search
  • MCP coverage for the new search tool parameters

@sebkouba sebkouba force-pushed the feat/time-filters-pr branch from 0a864f4 to 1d84829 Compare March 19, 2026 10:33
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.

1 participant