birdclaw 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +6 -2
  3. package/dist/cli/birdclaw.js +3267 -2991
  4. package/dist/client/assets/{SavedTimelineView-4QYaZ4CU.js → SavedTimelineView-CFgHR6di.js} +1 -1
  5. package/dist/client/assets/{TimelineRouteFrame-DJdUR7DX.js → TimelineRouteFrame-DcipwBqo.js} +1 -1
  6. package/dist/client/assets/{blocks-C84MpzHq.js → blocks-GWWj1dXr.js} +1 -1
  7. package/dist/client/assets/blocks-qrevFiNI.js +2 -0
  8. package/dist/client/assets/{bookmarks-Gy6MvAc9.js → bookmarks-BMf6Ytua.js} +1 -1
  9. package/dist/client/assets/{discuss-DKC6H1fN.js → discuss-BeFPn8mN.js} +2 -2
  10. package/dist/client/assets/{discuss-C0CUMn6v.js → discuss-ZvGdSAmA.js} +1 -1
  11. package/dist/client/assets/dms-CMp6bAR_.js +1 -0
  12. package/dist/client/assets/{dms-Q1a1kZ_P.js → dms-DBexFtGg.js} +2 -2
  13. package/dist/client/assets/{inbox-C9zFrQ76.js → inbox-CeGwsGo_.js} +1 -1
  14. package/dist/client/assets/{inbox-DjlVjj3K.js → inbox-DvSRkOiH.js} +2 -2
  15. package/dist/client/assets/{index-B8hO98gL.js → index-Bz8aYylW.js} +3 -3
  16. package/dist/client/assets/{likes-BXANVRCj.js → likes-BaljrAHC.js} +1 -1
  17. package/dist/client/assets/{links-6tWeHun_.js → links-CbC-fX7T.js} +2 -2
  18. package/dist/client/assets/{links-D3Ut-aUB.js → links-DMGuDd-B.js} +1 -1
  19. package/dist/client/assets/{mentions-BKO40XiK.js → mentions-TFNyR9F4.js} +1 -1
  20. package/dist/client/assets/{network-map-DUpppygD.js → network-map-1fXIqI3Y.js} +1 -1
  21. package/dist/client/assets/{network-map-2EPsbMIT.js → network-map-CKiXfloJ.js} +2 -2
  22. package/dist/client/assets/{routes-ARIEjgq-.js → routes-P7NzOusD.js} +1 -1
  23. package/dist/client/assets/{today-DNAg-wnA.js → today-DOUIqDPa.js} +2 -2
  24. package/dist/client/assets/{today-Q3xFx4cl.js → today-Dq8qoGhX.js} +1 -1
  25. package/dist/client/assets/{useTimelineRouteData-DYhYLZY4.js → useTimelineRouteData-2v9TVG9L.js} +1 -1
  26. package/dist/server/assets/{SavedTimelineView-Ern3q7LW.js → SavedTimelineView-lVz_ZZnh.js} +1 -1
  27. package/dist/server/assets/{TimelineRouteFrame-CYD-qMuy.js → TimelineRouteFrame-Dj1TeYrD.js} +1 -1
  28. package/dist/server/assets/{_tanstack-start-manifest_v-CHtuH75x.js → _tanstack-start-manifest_v-DQT-Q-zz.js} +28 -28
  29. package/dist/server/assets/{blocks-VXmcBqKD.js → blocks-BSvPOa_E.js} +2 -2
  30. package/dist/server/assets/{blocks-DWZAKPAX.js → blocks-Cv7I4iVs.js} +2 -2
  31. package/dist/server/assets/{bookmarks-DVCjWQPu.js → bookmarks-BcFpV8qD.js} +1 -1
  32. package/dist/server/assets/{discuss-4b2z14mT.js → discuss-BuLhalye.js} +2 -2
  33. package/dist/server/assets/{discuss-CJ_vThu8.js → discuss-D1q_L77A.js} +2 -2
  34. package/dist/server/assets/{dms-DbJk33XB.js → dms-C-s5l0cs.js} +3 -3
  35. package/dist/server/assets/{dms-Cr5heLhm.js → dms-OtbAd5nR.js} +2 -2
  36. package/dist/server/assets/{inbox-D607zrwZ.js → inbox-Wf8xGIjq.js} +2 -2
  37. package/dist/server/assets/{inbox-BJzEE8Aa.js → inbox-wLir608r.js} +1 -1
  38. package/dist/server/assets/{likes-C3EpsPbF.js → likes-BfFIyEbU.js} +1 -1
  39. package/dist/server/assets/{links-BU_FRxcz.js → links-BWt4ORY4.js} +2 -2
  40. package/dist/server/assets/{links-Dz-6bmkg.js → links-_ePW92kI.js} +2 -2
  41. package/dist/server/assets/{mentions-BHd6N_OL.js → mentions-oO4uv0Ju.js} +1 -1
  42. package/dist/server/assets/{router-BMfpBcBM.js → router-DY-ahyjD.js} +14588 -14521
  43. package/dist/server/assets/{routes-Cyokiwx1.js → routes-CYJ-dTi6.js} +1 -1
  44. package/dist/server/assets/start-CHdfdlfD.js +4 -0
  45. package/dist/server/assets/{today-CRa6Y-Tg.js → today-BLDqhLvT.js} +2 -2
  46. package/dist/server/assets/{today-CScZDxQx.js → today-D8zExFWH.js} +2 -2
  47. package/dist/server/server.js +4 -4
  48. package/package.json +89 -91
  49. package/dist/client/assets/blocks-BpjvGwYq.js +0 -2
  50. package/dist/client/assets/dms-DWA5tvJS.js +0 -1
  51. package/dist/server/assets/start-P4i55asu.js +0 -4
  52. package/dist/server/assets/{useTimelineRouteData-BWxx9yQl.js → useTimelineRouteData-wthflgOe.js} +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 0.11.0 - 2026-07-18
4
+
5
+ ### Highlights
6
+
7
+ - Choose an existing account independently for each live operation without changing the database's persistent account identity.
8
+ - Start a fully local sample archive with `init --demo` for immediate zero-auth exploration.
9
+
10
+ ### Added
11
+
12
+ - Select existing accounts per live operation with `--account <username>` or `accounts.default`, including sync, profile hydration, DMs, compose, moderation, and scheduled jobs, without changing persistent database identity. (idea from #97 - thanks @ivankuznetsov)
13
+ - Add explicit `init --demo` sample data for zero-auth offline exploration while keeping normal initialization empty.
14
+
15
+ ### Fixed
16
+
17
+ - Keep `birdclaw db stats` local-only so it does not block on unrelated macOS archive discovery.
18
+
19
+ ### Dependencies and maintenance
20
+
21
+ - Update `lucide-react` to 1.25.0, `@tanstack/react-start` to 1.168.30, and the pnpm 10 release pin to 10.34.5.
22
+
3
23
  ## 0.10.0 - 2026-07-17
4
24
 
5
25
  ### Highlights
package/README.md CHANGED
@@ -224,6 +224,8 @@ birdclaw auth status --json
224
224
  birdclaw db stats --json
225
225
  ```
226
226
 
227
+ Want to explore before importing an archive or signing in? `birdclaw init --demo` fills the local database with sample tweets, DMs, profiles, and links. It makes no network requests; run `birdclaw serve` afterward to browse the demo.
228
+
227
229
  `auth status` reports Birdclaw's coarse xurl status. Verify xurl with `xurl whoami`. If you already have a private bird installation, verify it with `bird whoami`. For setup and transport selection, see [Sign in](docs/auth.md).
228
230
 
229
231
  Find and import an archive:
@@ -234,14 +236,16 @@ birdclaw import archive --json
234
236
  birdclaw import archive ~/Downloads/twitter-archive-2025.zip --json
235
237
  ```
236
238
 
237
- Don't have an archive yet? Request it from <https://x.com/settings/download_your_data>; X emails a download link when it is ready, which may take a few days. A fresh Birdclaw database needs the archive import to establish account identity before live sync. See [Archive Import → Get an archive](docs/archive.md#get-an-archive).
239
+ Don't have an archive yet? Request it from <https://x.com/settings/download_your_data>; X emails a download link when it is ready, which may take a few days. A fresh or demo Birdclaw database needs the archive import to establish real account identity before live sync. See [Archive Import → Get an archive](docs/archive.md#get-an-archive).
238
240
 
239
241
  Optional profile hydration through xurl can improve bios, follower counts, and avatars, but it performs live X profile reads and can spend API credits on large archives. With an existing private bird installation, the command can instead correct the seeded local account identity from `bird whoami` without bulk-hydrating imported profiles:
240
242
 
241
243
  ```bash
242
- birdclaw import hydrate-profiles --json
244
+ birdclaw import hydrate-profiles --account steipete --json
243
245
  ```
244
246
 
247
+ Every command that touches live account auth accepts `--account <username>` (stored IDs also work). To reuse one selection without changing the database identity, set `{"accounts":{"default":"steipete"}}` in `~/.birdclaw/config.json`; an explicit flag overrides it for one operation.
248
+
245
249
  `import archive` is idempotent. Re-running parses follower/following edges into the local follow graph, streams bundled media files under `data/tweets_media/`, `data/direct_messages_media/`, and the other archive media folders into `~/.birdclaw/media/originals/archive/<kind>/<id>/`, and pulls `video_info.variants[]` so archive video and animated-GIF rows carry mp4 URLs for the live media fetcher. Already-extracted files are skipped when size matches.
246
250
 
247
251
  Re-import only one part of a newer archive when you already have live or local data you want to keep: