docs: fix 41 unresolved dartdoc references
Convert non-resolving [refs] in doc comments to backtick code-spans across 24 lib/ files (param/field names out of doc scope, method refs on other classes, non-API strings like regex char-classes and command ids). Verified 0 "unresolved doc reference" warnings via `dart doc --validate-links`. The dart-doc CI gate (test.yml) never ran before — Gitea Actions was inactive — so this debt had accumulated unchecked. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
/// This file is pure (no Flutter): it turns a flat [ConversationItem] list
|
||||
/// into a list of [RenderGroup]s — each either a first-class [StickyItem] or
|
||||
/// a foldable [FoldedCluster]. The widget layer renders sticky items as
|
||||
/// before and clusters as one [activity card]. Kept separate + unit-tested
|
||||
/// before and clusters as one `activity card`. Kept separate + unit-tested
|
||||
/// because the fold rules are the load-bearing part.
|
||||
library;
|
||||
|
||||
|
||||
@@ -53,8 +53,8 @@ String nextSafePermissionMode(String current) {
|
||||
}
|
||||
|
||||
/// Status-line segments split around the permission-mode badge so the UI can
|
||||
/// render the mode as an interactive control between them (T-226). [leading]
|
||||
/// is the model; [trailing] joins context / cost / rate-limit. Either may be
|
||||
/// render the mode as an interactive control between them (T-226). `leading`
|
||||
/// is the model; `trailing` joins context / cost / rate-limit. Either may be
|
||||
/// null when there's nothing to show.
|
||||
({String? leading, String? trailing}) statusSegmentsAroundMode(SessionStatus s) {
|
||||
final trailing = [
|
||||
|
||||
@@ -28,8 +28,8 @@ class ConversationController extends ChangeNotifier {
|
||||
}
|
||||
|
||||
/// Build a controller fed from the kernel [MessageBus] — it consumes
|
||||
/// the [ConversationItem]s a [TranscriptPublisher] writes onto
|
||||
/// [publisher]/[channel]. Decouples the view from the reader so several
|
||||
/// the [ConversationItem]s a `TranscriptPublisher` writes onto
|
||||
/// `publisher`/[channel]. Decouples the view from the reader so several
|
||||
/// panels can render the same conversation (team work, T-139/T-140).
|
||||
factory ConversationController.fromBus({required MessageBus messages, String channel = ClaudeConversation.leadChannel, Future<void> Function()? onDispose}) {
|
||||
final stream = messages
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
/// process), so to "watch the same output" we open our OWN read-only follower
|
||||
/// on the file the command tails. This never spawns a process and never
|
||||
/// touches Claude's command — it just reads the file as it grows, like
|
||||
/// `tail -f`, and hands new bytes to [onData].
|
||||
/// `tail -f`, and hands new bytes to `onData`.
|
||||
///
|
||||
/// Pure dart:io/dart:async (no Flutter) so it's unit-testable. Polls rather
|
||||
/// than using a watcher so it works uniformly across platforms and survives
|
||||
|
||||
@@ -51,7 +51,7 @@ class AgentRosterRow extends StatefulWidget {
|
||||
final void Function(String memberName, String text) onInjectSubmit;
|
||||
final void Function(String memberName) onClose;
|
||||
|
||||
/// Called when the badge cycles to a new [mode] string for this member.
|
||||
/// Called when the badge cycles to a new `mode` string for this member.
|
||||
/// Handles both safe-trio clicks and confirmed bypass. The parent sends
|
||||
/// the mode to the session via `StreamJsonSession.setPermissionMode`.
|
||||
final void Function(String memberName, String mode) onSetPermissionMode;
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
/// Rendered in the composer zone (not inline in the conversation) so
|
||||
/// interaction and conversation widgets don't mix — the pane swaps it in for
|
||||
/// the text input while a prompt is open. The decision is returned via
|
||||
/// [onResolve]; the pane then removes the card.
|
||||
/// `onResolve`; the pane then removes the card.
|
||||
///
|
||||
/// Plain [ClideButton]s (Semantics buttons → keyboard/AT reachable), no
|
||||
/// hover-revealed chrome that would fight the buttons.
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
///
|
||||
/// A session is a `claude` stream-json process clide spawns and renders; a
|
||||
/// pane is just a *view* on one. The orchestrator decouples a session's
|
||||
/// lifecycle from any pane: [spawn] starts and registers it, [show]/[hide]
|
||||
/// toggle visibility WITHOUT tearing the process down, and [close] kills it.
|
||||
/// lifecycle from any pane: `spawn` starts and registers it, `show`/`hide`
|
||||
/// toggle visibility WITHOUT tearing the process down, and `close` kills it.
|
||||
/// This is the one primitive behind teammate / secondary tab / forked branch
|
||||
/// (Phase 2): they are all just managed sessions shown as panes.
|
||||
///
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
/// and the full workspace pane read from this one model — they share state,
|
||||
/// they do NOT each hold their own copy.
|
||||
///
|
||||
/// [postAsUser] is the user's write path: it routes by @tag (one agent or
|
||||
/// broadcast) and, when the interrupt flag is set, calls [interrupt()] on the
|
||||
/// `postAsUser` is the user's write path: it routes by @tag (one agent or
|
||||
/// broadcast) and, when the interrupt flag is set, calls `interrupt()` on the
|
||||
/// target session THEN delivers the message.
|
||||
///
|
||||
/// Flutter-free on purpose: this module (like [TeamBroker]) runs under
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
///
|
||||
/// Displays the live broker chat timeline as colour-coded rows and provides a
|
||||
/// quick @-post composer. Tapping the pop-out icon opens the full chat pane
|
||||
/// ([claude.team-chat] workspace tab).
|
||||
/// (`claude.team-chat` workspace tab).
|
||||
///
|
||||
/// Both this widget and [TeamChatPane] read from the same [TeamChatModel] —
|
||||
/// there is one model, two surfaces.
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
///
|
||||
/// # Version drift-guard
|
||||
/// If the envelope `version` field has an unfamiliar major version the reader
|
||||
/// warns via [onWarn] (or stderr if omitted) and degrades gracefully — it
|
||||
/// warns via `onWarn` (or stderr if omitted) and degrades gracefully — it
|
||||
/// parses whatever it can and skips the rest rather than crashing.
|
||||
library;
|
||||
|
||||
@@ -227,7 +227,7 @@ class TranscriptReader {
|
||||
/// [pollInterval] controls how often the reader polls for new data and
|
||||
/// session switches (default 500 ms).
|
||||
///
|
||||
/// [onWarn] receives warning messages from the version drift-guard.
|
||||
/// `onWarn` receives warning messages from the version drift-guard.
|
||||
/// If omitted, warnings are written to stderr.
|
||||
TranscriptReader(
|
||||
this.workspacePath, {
|
||||
@@ -419,7 +419,7 @@ class TranscriptReader {
|
||||
}
|
||||
|
||||
/// Parse a single JSONL line into its items (forwarding any version
|
||||
/// warnings to [onWarn]). Public so tests exercise the real parser.
|
||||
/// warnings to `onWarn`). Public so tests exercise the real parser.
|
||||
List<ConversationItem> parseLine(String line) {
|
||||
final parsed = parseTranscriptChunk(line);
|
||||
for (final w in parsed.warnings) {
|
||||
|
||||
@@ -13,7 +13,7 @@ import 'vim_edit_ops.dart';
|
||||
|
||||
/// Tier-2 editor pane. Shows one tab per open buffer via the shared
|
||||
/// [MultitabPane] (the same strip the Claude pane uses); the body
|
||||
/// reflects the daemon's active buffer. The daemon ([EditorRegistry])
|
||||
/// reflects the daemon's active buffer. The daemon (`EditorRegistry`)
|
||||
/// is the source of truth for which buffers are open and which is
|
||||
/// active — the local [MultitabController] is reconciled from it, and
|
||||
/// tab gestures (select / close) are routed back as `editor.activate`
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
/// the `vim.yaml` preset (T-65) guards its bindings with `when: vim.normal`
|
||||
/// etc. Nothing reaches into this object across the builtin boundary.
|
||||
///
|
||||
/// The whole layer is gated by [enabled], which the Vim extension ties to
|
||||
/// The whole layer is gated by `enabled`, which the Vim extension ties to
|
||||
/// the active preset: under a non-Vim preset the flags are cleared so they
|
||||
/// can never affect another preset's bindings.
|
||||
library;
|
||||
@@ -47,7 +47,7 @@ class VimModeService extends ChangeNotifier {
|
||||
/// Whether the Vim layer is live. False under non-Vim presets.
|
||||
bool get enabled => _enabled;
|
||||
|
||||
/// The active mode. Meaningful only while [enabled]; defaults to
|
||||
/// The active mode. Meaningful only while `enabled`; defaults to
|
||||
/// [VimMode.normal] and resets to it whenever the layer is enabled.
|
||||
VimMode get mode => _mode;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user