Broadcast streams drop the current value for late subscribers — the shape behind T-274: the init event fires while spawn() is still awaiting the transcript-tail read, before the pane subscribes, so the status bar stayed blank. New pure-Dart ValueStream<T> (no rxdart — prefer-zero-deps) replays the latest value to each new subscriber; statusStream, busyStream, and pendingPromptStream in the claude builtin now use it. busyStream subscribers see the current state first (seeded false), which the busy test now asserts. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
36 lines
1.6 KiB
Dart
36 lines
1.6 KiB
Dart
/// clide — Dart core library.
|
|
///
|
|
/// See:
|
|
/// * `governance/decisions/architecture.md` `D-005` — layout + language rationale.
|
|
/// * `governance/decisions/architecture.md` `D-006` — CLI + event contract.
|
|
library;
|
|
|
|
// Flutter-app-visible surface. Deliberately **does not** export the
|
|
// `pty/` or `panes/registry.dart` modules — those import `dart:ffi`
|
|
// and pull in the PTY machinery that only runs on desktop.
|
|
//
|
|
// `Pane` + `PaneKind` + the event-sink interfaces travel here because
|
|
// they're pure data types referenced throughout the app.
|
|
|
|
export 'src/daemon/dispatcher.dart';
|
|
export 'src/editor/buffer.dart';
|
|
export 'src/files/ignore.dart';
|
|
export 'src/files/listing.dart' show FileEntry, listDir;
|
|
export 'src/git/diff.dart' show GitDiff, GitHunk, DiffLine, DiffLineKind;
|
|
export 'src/git/client.dart' show GitClient;
|
|
export 'src/git/operations.dart' show GitLogEntry, GitException;
|
|
export 'src/git/status.dart' show GitStatus, GitFileStatus, GitFileState, GitConflictType;
|
|
export 'src/pql/client.dart' show PqlClient, PqlException;
|
|
export 'src/ipc/envelope.dart';
|
|
export 'src/ipc/paths.dart';
|
|
export 'src/ipc/schema_v1.dart';
|
|
export 'src/panes/event_sink.dart';
|
|
export 'src/panes/pane.dart' show Pane, PaneKind;
|
|
export 'src/util/value_stream.dart' show ValueStream;
|
|
|
|
// clideName, clideTagline, clideVersion, clideRepository, clideCommit,
|
|
// clideDate live in lib/src/build_info.g.dart, regenerated by every
|
|
// `make` build/run/test target from pubspec.yaml + git short SHA +
|
|
// current UTC time. See `gen-build-info` in the Makefile.
|
|
export 'src/build_info.g.dart' show clideName, clideTagline, clideVersion, clideRepository, clideCommit, clideDate;
|