Add ISeedDataProvider to WebClips plugin for data wipe support
Details
WebClips was the last plugin missing ISeedDataProvider, so its
web_clip, browsing_history, and transcription_job entities were
never deleted during a data wipe. Adds wipe-only implementation
(no seed data) that declares all three entity types as WipeTargets.
All plugins now implement ISeedDataProvider.
Add ISeedDataProvider to Canvas plugin for data wipe support
Details
Canvas was missing ISeedDataProvider, so its whiteboard entities were
never deleted during a data wipe. This caused leftover canvas items
to persist after "wipe all data". Adds wipe-only implementation
(no seed data) that declares the whiteboard entity type as a
WipeTarget.
Fix Tab key incorrectly tree-nesting non-list blocks
Details
The global Tab KeyDown handler in NotesView was catching Tab presses in
definition lists, tables, and other non-RTE blocks and calling
IndentBlock(), which removes the block from its position and appends it
as a child of the previous sibling — appearing as a "merge" with the
block above.
This was wrong for all non-list block types:
- RTE blocks (paragraph, heading, etc.) already handle Tab internally
via IndentRequested, adjusting visual IndentLevel — so the global
handler was unreachable for those.
- Non-RTE blocks (definition list, table, image, code) don't support
Tab indentation, but the global handler was tree-nesting them.
Remove the global Tab handler entirely. Each editor handles Tab
appropriately on its own.
Update DetailedDescriptions with expanded AI intent listings
Details
All 12 plugins now list their complete AI intent inventory in the
DetailedDescription field, which is RAG-indexed for Duncan's intent
classification pipeline.
Updated from single-line format to multi-line bullet format matching
the Habits gold-standard pattern. Each intent line includes the intent
ID, action description, and slot signature with required (*) markers.
Intent count by plugin:
Calendar: 4, Notes: 4, Contacts: 5, Email: 5, Tasks: 4 (unchanged),
Finance: 10 (unchanged), Journal: 3, Habits: 6, Snippets: 4, RSS: 4,
WebClips: 3, Files: 3, Canvas: 2 (new), Data: 2 (new)
Total: ~59 intents across 14 plugins (up from 25).
Add IIntentProvider to Canvas and Data plugins
Details
Canvas: 2 new intents (create_whiteboard, delete_whiteboard)
- create_whiteboard: create new blank whiteboard
- delete_whiteboard: delete by ID or title search
- Changed CanvasPlugin from sealed class to sealed partial class
Data: 2 new intents (run_query, import_csv)
- run_query: execute saved SQL query by name, returns result preview
- import_csv: create empty dataset placeholder for import
- Changed DataPlugin from sealed class to sealed partial class
These two plugins previously had zero AI intent support. Both now follow
the standard partial class IIntentProvider pattern with entity resolution
helpers.
Get notified about new releases