The UI's backend client connected straight to the workspace unix socket, hard-coding the local shape. It now talks JSON-lines through a DaemonTransport (new lib/src/ipc/transport.dart, Flutter-free), with LocalSocketTransport reproducing today's connect byte-for-byte — zero behavior change, proven by the untouched client test suite plus new seam tests driving the client over an in-memory transport. This is the slot the SSH-remote backend (T-329/Q-23) plugs into: request correlation, reconnect/backoff, and event forwarding live above the seam and won't change when the endpoint is remote. main.dart's swapIpcServer becomes swapBackend per the same plan. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
37 lines
1.7 KiB
Dart
37 lines
1.7 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/ipc/transport.dart' show DaemonTransport, DaemonConnection, LocalSocketTransport;
|
|
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;
|