Commit Graph
53 Commits
Author SHA1 Message Date
Peter Steinberger d8c2181dfb refactor: split cli and library entry 2026-01-01 12:31:02 +01:00
Peter Steinberger 14ad6cf73f fix: allow cookie timeout config 2026-01-01 12:00:02 +01:00
Peter Steinberger 11f8c8cb19 refactor: camelcase user json output 2026-01-01 11:42:36 +01:00
Peter Steinberger 9dccb6a3b9 chore: merge origin/main 2026-01-01 11:31:29 +01:00
Peter Steinberger 9d715fb3a6 feat: add following/followers query refresh + retry 2026-01-01 11:25:21 +01:00
Peter Steinberger 9b7dab7643 style: satisfy lint for quote depth 2026-01-01 10:48:34 +01:00
Peter Steinberger 48722d8462 chore: merge origin/main 2026-01-01 10:46:10 +01:00
Peter Steinberger 071953e9f4 feat: add quote depth option for quoted tweets 2026-01-01 10:45:15 +01:00
Peter Steinberger d1a3d1f289 chore: merge origin/main 2026-01-01 10:00:06 +01:00
Peter Steinberger e3aa7e7ca9 Merge pull request #7 from tylerseymour/bookmark-collection-selection
feat: add folder support for bookmarks command
2026-01-01 09:15:28 +01:00
swairshahandClaude Opus 4.5 676bff71f3 feat: add likes command
Add `bird likes` command to fetch the authenticated user's liked tweets,
similar to the existing bookmarks command.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
2025-12-31 14:02:08 -08:00
Tyler Seymour ee9c89018e feat: add folder support for bookmarks command 2025-12-31 15:20:36 -05:00
thelockmeister 34f45fece7 feat: add following and followers commands
Add two new commands to list users:
- `bird following` - list users that you (or another user) follow
- `bird followers` - list users that follow you (or another user)

Both commands support:
- `--user <userId>` to query another user's following/followers
- `-n <count>` to limit results
- `--json` for structured output

Uses Twitter's GraphQL Following/Followers endpoints with proper
feature flags and query ID rotation support.
2026-01-01 09:06:17 +13:00
Peter Steinberger 94de794588 chore: tighten biome rules further 2025-12-31 19:52:23 +01:00
Peter Steinberger fc77190929 chore: tighten lint rules and tests 2025-12-31 19:36:33 +01:00
Alex HillmanandClaude Opus 4.5 9c553e46bf feat: add bookmarks command
Add `bird bookmarks` command to fetch the authenticated user's bookmarked tweets.

- New `getBookmarks()` method in TwitterClient
- Uses graphql_timeline_v2_bookmark_timeline feature flag
- Supports `--count` and `--json` options
- Follows existing patterns for query ID rotation and retry logic

Usage:
  bird bookmarks           # Get your recent bookmarks
  bird bookmarks -n 50     # Get 50 bookmarks
  bird bookmarks --json    # Output as JSON

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
2025-12-30 22:44:52 +00:00
Peter Steinberger a3d1ba29f7 test(cli): always print tweet URL 2025-12-26 22:04:08 +01:00
Peter Steinberger e8e98e641a refactor(auth)!: replace allow toggles with cookieSource 2025-12-26 21:28:27 +01:00
Peter Steinberger 1744f4cc24 feat(auth): allow selecting cookie source 2025-12-26 21:17:20 +01:00
Peter Steinberger a4686f90ee feat: add Safari cookie extraction 2025-12-26 17:51:41 +01:00
Peter Steinberger 02d12b4e87 refactor!: remove Sweetistics engine
bird is GraphQL-only; bump to 0.3.0
2025-12-26 17:41:43 +01:00
Peter Steinberger 0bf7190c95 feat(graphql): support video uploads 2025-12-26 15:27:35 +01:00
Peter Steinberger 3be2e3ae7e feat(graphql): upload media 2025-12-26 15:22:53 +01:00
Peter Steinberger dee304235b fix(engine): disable Sweetistics fallback when forcing graphql 2025-12-26 15:10:10 +01:00
Peter Steinberger 978d07f60f feat(graphql): runtime query-id refresh 2025-12-26 14:58:03 +01:00
Peter Steinberger c35e937b2a feat(cli): add plain/no-emoji/no-color + help 2025-12-26 14:14:31 +01:00
Peter Steinberger 4730267c2a fix(sweetistics): improve media upload errors 2025-12-26 13:10:54 +01:00
Peter Steinberger 6669ba9912 test(cli): validate mentions handle 2025-12-26 12:34:16 +01:00
Peter Steinberger 3df7969b16 feat(cli): mentions target user 2025-12-26 12:23:00 +01:00
Peter Steinberger 9222908ab7 fix(cli): read version from file 2025-12-26 12:05:52 +01:00
Peter Steinberger 618d87ec72 fix(lint): satisfy biome 2025-12-26 10:30:54 +01:00
Peter Steinberger 3661f784cb fix: default engine auto with graphql primary 2025-12-25 14:00:35 +01:00
Peter Steinberger 8e4c5c8bd8 feat(cli): add shorthand read and timeouts 2025-12-20 11:29:17 +01:00
Peter Steinberger da22ef25d3 Add Sweetistics media uploads and CLI flags 2025-12-04 14:25:59 +00:00
Peter Steinberger 3e2d5641d7 fix: auto-detect firefox profile by default 2025-12-03 16:44:14 +00:00
Peter Steinberger 1c2f1d2789 fix: show actual credential source in whoami 2025-12-03 16:42:30 +00:00
Peter Steinberger 6ecfe57018 feat: allow disabling cookie sources and default to firefox/graphql 2025-12-03 16:31:55 +00:00
Peter Steinberger e0ca146567 feat: default to graphql+firefox, fallback to sweetistics 2025-12-03 16:29:16 +00:00
Peter Steinberger 5797c00882 docs: clarify transport vs credentials; show engine+source in whoami 2025-12-03 16:26:21 +00:00
Peter Steinberger a94a5edc11 chore: align biome lint config and clean warnings 2025-12-03 16:09:44 +00:00
Peter Steinberger 8a220f6809 docs: refresh bird tagline 2025-12-03 16:04:50 +00:00
Peter Steinberger 6804f2f483 chore: normalize spacing in whoami output 2025-12-03 16:02:32 +00:00
Peter Steinberger 77e163ff97 chore: show resolved engine in whoami output 2025-12-03 16:01:34 +00:00
Peter Steinberger 4da93d754a feat: show engine in whoami output 2025-12-03 15:59:56 +00:00
Peter Steinberger 9a14b71571 feat: add config defaults, Firefox cookies, and Sweetistics whoami 2025-12-03 15:39:10 +00:00
Peter Steinberger 0f6cc5c663 Add engine switch and Sweetistics endpoints for tweet reading 2025-12-02 14:53:35 +00:00
Peter Steinberger 850d59e68d Add Sweetistics API posting support to bird 2025-12-02 12:36:54 +00:00
Peter Steinberger df66ef0706 Add search/mentions commands and fix cookie decryption
- Added `search <query>` command to search tweets
- Added `mentions` command to find @clawdbot mentions
- Fixed Chrome cookie decryption to extract hex values correctly
- Added SearchTimeline query ID (may need updating as Twitter rotates these)

Note: Search endpoints may return 404 if query IDs are outdated
2025-12-02 12:14:22 +00:00
Peter Steinberger 5ae8801b23 chore: reformat with 2-space indentation (biome) 2025-11-28 08:09:32 +01:00
Peter Steinberger 5889044d7b Improve tweet read reliability and test coverage 2025-11-28 08:07:44 +01:00