Skip to content

feat(search): add session-backed search filters#12

Merged
Microck merged 3 commits intomainfrom
feat/search-v2-filters
Mar 19, 2026
Merged

feat(search): add session-backed search filters#12
Microck merged 3 commits intomainfrom
feat/search-v2-filters

Conversation

@Microck
Copy link
Owner

@Microck Microck commented Mar 19, 2026

Summary

  • add runtime search filters to kagi search and kagi batch
  • keep plain search behavior intact while routing filtered searches through the session-backed web product
  • refresh search docs and demo to cover the new filter surface

Implementation

  • add --region, --time, --from-date, --to-date, --order, --verbatim, --personalized, and --no-personalized
  • validate date formats and reject incompatible combinations like --time with explicit date ranges
  • keep plain base search on the current path, but require the session-backed web route for lenses or runtime filters
  • normalize full Session Link URLs when loading session auth from env or config

Docs and Demo

  • update the search command reference, README, auth matrix, coverage, error reference, authentication guide, quickstart, troubleshooting, and API coverage docs
  • refresh scripts/demo-search.sh
  • update the search GIF assets

Verification

  • cargo fmt --all --check
  • cargo test
  • cargo clippy --all-targets --all-features -- -D warnings
  • cargo build
  • ./target/debug/kagi auth check
  • live plain search
  • live filtered search with --region, --time, --order, --verbatim, and --no-personalized
  • live batch search with date filters
  • invalid --time plus date-range rejection
  • invalid nonexistent date rejection
  • inverted date-range rejection
  • invalid session-token rejection for filtered search
  • Session Link URL normalization verified through an env override
  • ./scripts/demo-search.sh

Notes

  • search filters are session-backed because the public Search API only supports plain base search
  • safe_search remains an account setting, not a per-request CLI runtime flag in this PR

Resolve Search V2 against main after Assistant V2 and ask-page landed.
Keep filtered search, assistant threads, ask-page, updated auth docs, and demo coverage together on one branch.
Apply the post-merge formatting cleanup that CI flagged in src/auth.rs.
@Microck Microck merged commit 5de4534 into main Mar 19, 2026
6 checks passed
@Microck Microck deleted the feat/search-v2-filters branch March 19, 2026 18:48
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