diff --git a/agents.md b/agents.md index ebc6795..df5c289 100644 --- a/agents.md +++ b/agents.md @@ -81,6 +81,25 @@ Bookmarked pages with auto-extracted metadata: #### Tag Hierarchical tagging system: + +#### Bookmark +Archived social-media posts (originally x.com / Twitter bookmarks), each saved with full preview data so a viewer page renders offline without further x.com API calls: +- **tweet_id**: Source post id (unique, indexed) +- **url**: Canonical x.com post URL +- **author_screen_name / author_name / author_profile_image_url**: Denormalised author +- **text**: Full post text (searchable) +- **summary**: Optional human/agent-written summary (writable via API `PATCH`) +- **tweet_created_at / bookmark_created_at**: Parsed source dates (indexed) +- **view_count / favorite_count / retweet_count / reply_count / bookmark_count / quote_count**: Engagement counters +- **has_video / has_photo / has_card / is_quote / is_retweet**: Indexed boolean flags for fast filter pages +- **media**: JSON list of media objects (photo URL variants; video/animated_gif with `poster`, `best_mp4`, `duration_ms`, `variants[]`) +- **card_data**: JSON link-preview card (title/description/site/image/url) +- **quoted_data**: JSON nested quoted post (recursive shape) +- **data**: The complete original normalised export object (kept for round-tripping / the offline viewer) +- UI: `/ui/bookmarks/` (list, `BookmarkListView`) + `/ui/bookmarks//` (detail). Top-menu item "Bookmarks" in `templates/base.html`. +- Import: `python manage.py import_x_bookmarks [--clear]` (loads `x-bookmarks-exporter` JSON) or `POST /api/bookmarks/import`. +- **No `