- Escape LIKE metacharacters in the search path so a query like "100%"
no longer matches every bookmark; queries gain ESCAPE '\\' on the
three OR'd LIKE clauses.
- Tighten MAX_TAGS check to fire BEFORE pushing the over-limit tag so
the tags array is never momentarily oversized.
- Tombstone the markdown sidecar on delete (the SDK
PluginLocalFoldersClient surface does not expose a remove primitive,
so an atomic rewrite is the closest we can get without extending the
SDK). Document the limitation inline.
- Extend the in-memory test harness to honor the LIKE escape character
and add coverage for wildcard literal handling, MAX_TAGS upper bound,
and the tombstone-on-delete path.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Adds packages/plugins/examples/plugin-bookmarks-example, a new first-party
"core surface" example that exercises plugin database namespaces, local
folders, scoped API routes, and the page/sidebar/dashboard/settings UI
slots end-to-end. Registers the example as a bundled plugin in
server/src/routes/plugins.ts and excludes its workspace importer in
pnpm-workspace.yaml so PRs don't have to commit lockfile entries for it.
Co-Authored-By: Paperclip <noreply@paperclip.ing>