mirror of
https://github.com/block/buzz.git
synced 2026-11-06 01:11:33 +00:00
Rebasing the bounded/tiered observer window onto #5680's per-envelope batch ingestion left two defects: - appendAgentEvents kept a per-event recordChannelActivity(key, event) call from the pre-#5680 singular appendAgentEvent, but its parameter is now the events array — 'event' resolved to the global DOM Event. Record activity for every event in the batch so the durable channel-activity summary sees each frame. - #5680's batch dedup/merge/cap logic is more verbose than the singular path it replaced, pushing observerRelayStore.ts back over the 1000-line ratchet (1032) the channelActivitySummary/observerEventOrdering split existed to satisfy. Extract the pure batch computation as mergeObserverEventBatch in observerEventOrdering.ts and the latest-live-session subsystem as latestLiveSession.ts, both re-exported from the store to keep import paths stable. Store lands at 973 lines. The batching and the tiered per-agent cap compose unchanged: the batch fold runs against agentEventCap(key), and the incremental-vs-rebuild transcript decision is preserved in canFoldIncrementally. Co-authored-by: Will Pfleger <pfleger.will@gmail.com> Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Buzz
Desktop chat shell with:
- Tauri + React + TypeScript + Vite
- Tailwind CSS
- shadcn/ui-ready shared components
- Biome (lint/format/check)
- Feature-driven frontend structure
Scripts
pnpm dev- run the web frontendpnpm tauri dev- run the desktop apppnpm build- typecheck and build frontendpnpm typecheck- TypeScript checkspnpm lint- Biome lintpnpm format- Biome format (write)pnpm check- Biome check
Structure
src/shared- reusable app-wide code (ui,lib,styles)src/features- feature modules (vertical slices)src/app- top-level app composition