mirror of
https://github.com/block/buzz.git
synced 2026-08-18 06:50:31 +02:00
* main: (128 commits) perf(timeline): gate heavy message render behind useDeferredValue (#1022) Add animated profile avatars (#1031) Polish direct message and members modals (#1054) Polish huddles UI (#1041) Fix video review comments in threads (#1056) Polish message reaction tray (#1002) Refine app loading skeletons (#1001) Polish channel modal forms (#1000) Normalize desktop icon sizing (#999) Add shared skeleton loader primitives (#998) chore(scripts): update post-screenshots repo name to block/buzz (#1042) docs: fix stale sprout repo references in RELEASING.md (#1043) chore(release): release version 0.3.23 (#1040) fix(release): publish manifest from successful platforms (#1039) chore(release): release version 0.3.22 (#1038) chore(release): release version 0.3.21 (#1037) fix(release): use signed NSIS installer for updates (#1036) handoff: pass full session history to summarizer (#1033) feat(emoji): latest-set-wins union for custom emoji across desktop, mobile, and CLI (#989) Fix relay NIP-11 software URL (#1030) ... # Conflicts: # Cargo.lock # crates/buzz-acp/src/config.rs # crates/buzz-acp/src/relay.rs # crates/buzz-acp/src/serverless_relay.rs # crates/buzz-cli/src/client.rs # crates/buzz-cli/src/commands/channels.rs # crates/buzz-cli/src/commands/mem.rs # crates/buzz-cli/src/lib.rs # desktop/scripts/check-file-sizes.mjs # desktop/src-tauri/Cargo.lock # desktop/src-tauri/src/commands/messages.rs # desktop/src-tauri/src/commands/mod.rs # desktop/src-tauri/src/events.rs # desktop/src-tauri/src/lib.rs # desktop/src-tauri/src/managed_agents/runtime.rs # desktop/src-tauri/src/relay.rs # desktop/src/app/AppShell.tsx # desktop/src/app/AppTopChrome.tsx # desktop/src/features/messages/hooks.ts # desktop/src/features/sidebar/ui/AppSidebar.tsx # desktop/src/features/workspaces/ui/AddWorkspaceDialog.tsx # desktop/src/features/workspaces/ui/WelcomeSetup.tsx # desktop/src/features/workspaces/workspaceStorage.ts # desktop/src/shared/api/tauri.ts # justfile
76 lines
2.4 KiB
TOML
76 lines
2.4 KiB
TOML
[package]
|
|
name = "buzz-cli"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
description = "Agent-first CLI for Buzz relay"
|
|
|
|
[lib]
|
|
name = "buzz_cli"
|
|
path = "src/lib.rs"
|
|
|
|
[[bin]]
|
|
name = "buzz"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
# CLI argument parsing — derive macros + env var support (BUZZ_API_TOKEN auto-wired)
|
|
clap = { version = "4", features = ["derive", "env"] }
|
|
|
|
# HTTP client — async REST calls to the relay
|
|
reqwest = { workspace = true, features = ["json"] }
|
|
|
|
# Async runtime — tokio macros + multi-thread for reqwest
|
|
tokio = { workspace = true, features = ["macros", "rt-multi-thread", "time"] }
|
|
|
|
# WebSocket transport for serverless mode (generic relays, no HTTP bridge)
|
|
tokio-tungstenite = { workspace = true }
|
|
futures-util = { workspace = true }
|
|
# rustls provider install for the serverless WS transport. The CLI links
|
|
# aws-lc-rs (via reqwest's rustls); install that provider at startup so
|
|
# tokio-tungstenite's direct TLS config has a process-level provider.
|
|
rustls = { version = "0.23", default-features = false, features = ["aws_lc_rs", "std"] }
|
|
|
|
# Serialization — JSON body building and response passthrough
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
|
|
# Structured error types with exit code mapping
|
|
thiserror = { workspace = true }
|
|
|
|
# Nostr event signing — used in `buzz auth`, auto-mint, and signed event writes
|
|
nostr = { workspace = true }
|
|
|
|
# UUID parsing for validate_uuid + event building
|
|
uuid = { workspace = true }
|
|
|
|
# Typed event builders for all write operations
|
|
buzz-sdk = { workspace = true }
|
|
buzz-core = { workspace = true }
|
|
|
|
# Base64 encoding — NIP-98 event serialization for Authorization header
|
|
base64 = "0.22"
|
|
|
|
# SHA-256 — NIP-98 payload hash tag, Blossom file hash, mem patch base-hash
|
|
sha2 = "0.11"
|
|
|
|
# Unified-diff parser and strict applier — `mem patch`
|
|
diffy = "0.5"
|
|
|
|
# Hex encoding — SHA-256 hash output for Blossom uploads
|
|
hex = { workspace = true }
|
|
|
|
# MIME type detection via magic bytes — file upload validation
|
|
infer = "0.19"
|
|
|
|
# URL parsing — extract server domain for Blossom auth tag
|
|
url = { workspace = true }
|
|
|
|
# Persona pack parsing, validation, and resolution
|
|
buzz-persona = { path = "../buzz-persona" }
|
|
|
|
# WebSocket client — ephemeral event publish (kind:20001 is WS-only on the relay)
|
|
buzz-ws-client = { path = "../buzz-ws-client" }
|