Add tasks.search_tasks intent for AI task discovery
Details
Adds a new search intent that allows the AI to actively search tasks by
title, description, tags, or status. Uses SDK search with fuzzy fallback
(Contains matching) to catch partial matches. Supports optional status
filter and configurable max results. Also updates PLUGIN_CONTEXT.md to
document all five task intents.
Add fuzzy search, new AI intents, and RAG improvements to Contacts plugin
Details
Add StringSimilarity utility (Jaro-Winkler, Levenshtein, Token Jaccard) for
fuzzy name matching in contact resolution and search. ResolveContactAsync now
falls back to fuzzy matching (threshold 0.6) when exact match fails, including
a full scan fallback for typos/nicknames. Search intent also augments SDK
results with fuzzy matches.
New intents:
- contacts.get_contact: retrieves full contact details (emails, phones,
addresses, social profiles, tags, recent interactions)
- contacts.list_by_company: lists contacts at a company (fuzzy matched)
- contacts.list_by_group: lists contacts in a group (fuzzy matched)
RAG indexing now includes:
- Company chunks with name, industry, website, employee count
- Group chunks with name, description, member count, member names
- Enriched contact chunks with tags, address, social profiles
Version bump 1.9.7 → 1.10.0
Improve list_events intent with keyword filter and month-grouped output
Details
- Update intent description and slot descriptions to guide the LLM:
forward-looking queries use 30-day lookahead without period clipping,
strict queries use calendar boundaries
- Group results by month in summary output so the AI can respond
naturally: "You have a lunch on the 27th, then in March you have..."
- Include day-of-week in event timestamps (e.g. "Thu Feb 27, 12:00 PM")
for more conversational responses
Add search_query slot and improve date semantics for calendar.list_events
Details
The list_events intent had no keyword filtering and its slot descriptions
didn't guide the LLM on forward-looking vs. full-period date ranges.
- Add search_query slot for keyword filtering by title, description,
or location (e.g. "lunch", "dentist", "standup")
- Apply client-side case-insensitive filter in ExecuteListEventsAsync
when search_query is provided
- Update slot descriptions with explicit guidance: "coming up" → start
from NOW, "this week" → Monday of current week, "this month" → 1st
to last day
- Update intent description with colloquial date resolution rules
- Include search term in result summary for clearer AI responses
Remove read-only view from task detail panel
Details
Merge the read-only and edit views into a single always-editable view,
eliminating the Edit/Done toggle friction. All fields are now immediately
editable when a task is selected.
- Delete the entire read-only StackPanel (~380 lines of duplicated UI)
- Remove Edit/Done toggle buttons from headline toolbar
- Remove IsDetailPanelEditing/IsDetailPanelReadOnly properties and
StartDetailPanelEditing/CancelDetailPanelEditing commands from ViewModel
- Remove Escape key handler that toggled edit mode off
- Add auto-save handlers for start date, reminder, and estimated time
(matching existing OnEditDueDateChanged pattern with toast feedback)
- Carry over GitHub metadata, activity timestamps, and GitHub activity
log sections into the merged view (after linked items)
- Remove unused md: XAML namespace (MarkdownRenderer was read-only only)
Get notified about new releases