chore: adopt Dart 3.9 toolchain — honest floor + tall-style reformat (T-353)

Raise the declared minimums in pubspec.yaml to what our deps already
require: Flutter >=3.35.0 / Dart >=3.9.0 (was 3.19.0 / 3.5.0). alchemist
0.12 needs Flutter 3.32; Dart 3.9 first ships in Flutter 3.35, so 3.35 is
the binding floor. Pin the exact build toolchain in .fvmrc (Flutter
3.44.1).

Moving to the Dart 3.9 language level switches `dart format` to the new
"tall" style and enables two new lints. This commit is the resulting
mechanical churn, isolated from any behaviour change:
  - whole-tree `dart format` reformat (tall style)
  - `dart fix` for unnecessary_underscores + use_null_aware_elements

No runtime behaviour change; `make test` green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-11 12:11:53 +02:00
co-authored by Claude Opus 4.8
parent bcea5f15b7
commit 6d0ebab721
444 changed files with 7587 additions and 12849 deletions
+1 -5
View File
@@ -1,11 +1,7 @@
import 'dart:async';
class Message {
Message({
required this.publisher,
required this.channel,
required this.data,
}) : timestamp = DateTime.now();
Message({required this.publisher, required this.channel, required this.data}) : timestamp = DateTime.now();
final String publisher;
final String channel;
+13 -28
View File
@@ -13,13 +13,7 @@ class ClideEventEnvelope {
final ClideEvent event;
final DateTime timestamp;
Map<String, Object?> toJson() => {
'v': 1,
'subsystem': event.subsystem,
'kind': event.kind,
'ts': timestamp.toIso8601String(),
'data': event.payload(),
};
Map<String, Object?> toJson() => {'v': 1, 'subsystem': event.subsystem, 'kind': event.kind, 'ts': timestamp.toIso8601String(), 'data': event.payload()};
}
class DaemonConnectionChanged extends ClideEvent {
@@ -89,12 +83,7 @@ class ExtensionDeactivated extends ClideEvent {
/// narrow by subsystem+kind, or register a converter that emits a typed
/// `ClideEvent` subclass into the bus.
class DaemonEvent extends ClideEvent {
const DaemonEvent({
required this.subsystem,
required this.kind,
required this.data,
required this.ts,
});
const DaemonEvent({required this.subsystem, required this.kind, required this.data, required this.ts});
@override
final String subsystem;
@@ -145,26 +134,22 @@ class TeamMemberJoined extends ClideEvent {
String get kind => 'member-joined';
@override
Map<String, Object?> payload() => {
'team': team,
'agentId': agentId,
'name': name,
'agentType': agentType,
'paneId': paneId,
if (model != null) 'model': model,
if (color != null) 'color': color,
if (cwd != null) 'cwd': cwd,
if (transcriptPath != null) 'transcriptPath': transcriptPath,
};
'team': team,
'agentId': agentId,
'name': name,
'agentType': agentType,
'paneId': paneId,
if (model != null) 'model': model,
if (color != null) 'color': color,
if (cwd != null) 'cwd': cwd,
if (transcriptPath != null) 'transcriptPath': transcriptPath,
};
}
/// A Claude Code tmux teammate's pane went away (it exited or the team
/// dissolved) — T-139.
class TeamMemberLeft extends ClideEvent {
const TeamMemberLeft({
required this.team,
required this.agentId,
required this.paneId,
});
const TeamMemberLeft({required this.team, required this.agentId, required this.paneId});
final String team;
final String agentId;