Haoli
56ca7b9841
Add paged bookmark export with gating and retries
2026-01-03 15:51:49 +01:00
Peter Steinberger
533db2d210
test: cover json-full timelines
2026-01-03 06:59:47 +01:00
cc-vps and Christian Catalan
3815ebfa03
feat: add --json-full flag to include raw API response in _raw field
...
Add a new --json-full flag to tweet-fetching commands that outputs JSON
with an additional _raw field containing the full GraphQL response.
This provides power users access to additional data not exposed in the
curated TweetData interface (media, entities, hashtags, cards, etc.)
while maintaining backward compatibility with --json.
Supported commands:
- read, replies, thread (TweetDetail API)
- search, mentions (SearchTimeline API)
- bookmarks (Bookmarks API)
- likes (Likes API)
Not supported: following, followers (uses mixed GraphQL/REST fallback
with different response structures)
Implementation:
- Add _raw?: GraphqlTweetResult optional field to TweetData type
- Add includeRaw option to mapTweetResult() and parseTweetsFromInstructions()
- Add TweetFetchOptions, SearchFetchOptions, TimelineFetchOptions interfaces
- Update client methods to accept options parameter
- Add --json-full flag to CLI commands
- Update help text to document the new flag
- Add comprehensive test coverage (16 tests)
Co-authored-by: Christian Catalan <[email protected] >
2026-01-03 06:54:36 +01:00
Peter Steinberger
a38de2b0a9
fix(following): fallback to internal API
2026-01-01 17:09:36 +01:00
Peter Steinberger
8ae5b9b5d4
test(live): add live CLI suite
2026-01-01 16:53:24 +01:00
Peter Steinberger
1a610c366a
fix(followers): fallback to legacy API
2026-01-01 16:53:19 +01:00
Peter Steinberger
5551d5fa66
test(help): cover help output
2026-01-01 16:34:44 +01:00
Peter Steinberger
c78be5d1ea
chore: fix lint issues
2026-01-01 14:13:32 +01:00
Peter Steinberger
f1663c8609
test: split twitter client tests
2026-01-01 14:09:18 +01:00
Peter Steinberger
7a4782ddc4
refactor: split twitter client
2026-01-01 13:58:08 +01:00
Peter Steinberger
d8c2181dfb
refactor: split cli and library entry
2026-01-01 12:31:02 +01:00
Peter Steinberger
d7fd0f94a5
test: expand search pagination coverage
2026-01-01 12:17:52 +01:00
Peter Steinberger
3cca0ee989
fix: paginate search results
2026-01-01 12:15:23 +01:00
Peter Steinberger
cfd4045d3e
test: cover default cookie timeout
2026-01-01 12:11:39 +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
f3977509dc
style: satisfy formatting in tests
2026-01-01 11:32:41 +01:00
Peter Steinberger
9dccb6a3b9
chore: merge origin/main
2026-01-01 11:31:29 +01:00
Peter Steinberger
97c73e939f
test: cover following/followers
2026-01-01 11:25:32 +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
df6b92e39c
test: cover quoted tweet depth
2026-01-01 10:45:20 +01:00
Peter Steinberger
d1a3d1f289
chore: merge origin/main
2026-01-01 10:00:06 +01:00
Peter Steinberger
1e6dda961d
test: cover likes timeline handling
2026-01-01 09:54:53 +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
Peter Steinberger
e541d904f2
test: cover bookmark folder parsing and count fallback
2026-01-01 09:13:41 +01:00
Tyler Seymour
ee9c89018e
feat: add folder support for bookmarks command
2025-12-31 15:20:36 -05:00
Peter Steinberger
2a2a3a7c59
chore: run oxlint type-aware in lint
2025-12-31 19:59:31 +01:00
Peter Steinberger
fc77190929
chore: tighten lint rules and tests
2025-12-31 19:36:33 +01:00
Peter Steinberger
2ba0eff1e6
test: cover bookmarks
2025-12-31 12:04:24 +01:00
Peter Steinberger
c495fb5078
refactor(cookies): use sweet-cookie
2025-12-27 13:23:39 +01:00
Peter Steinberger
a3d1ba29f7
test(cli): always print tweet URL
2025-12-26 22:04:08 +01:00
Peter Steinberger
1007d051e4
fix(tweet): fallback to statuses/update on 226
2025-12-26 21:57:36 +01:00
Peter Steinberger
e8e98e641a
refactor(auth)!: replace allow toggles with cookieSource
2025-12-26 21:28:27 +01:00
Peter Steinberger
008e550654
test: skip safari cookieSource on non-darwin
2025-12-26 21:18:41 +01:00
Peter Steinberger
1744f4cc24
feat(auth): allow selecting cookie source
2025-12-26 21:17:20 +01:00
Peter Steinberger
b46b24a8c5
test: enforce coverage thresholds
2025-12-26 18:23:59 +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
8257d52532
fix(twitter): improve createTweet posting
2025-12-26 13:10:49 +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
5613caa149
feat(cli): include git sha in --version
2025-12-26 12:12:16 +01:00
Peter Steinberger
9222908ab7
fix(cli): read version from file
2025-12-26 12:05:52 +01:00
Peter Steinberger
8b9072fa7e
test: cover auto engine behavior
2025-12-25 14:00:43 +01:00