MailboxEntry class

One entry in the messaging-fabric directory.

Constructors

MailboxEntry({required String id, String? name, String? cwd, String? slug, DateTime? lastActivity, AgentPresence? presence, List<AgentCapability> capabilities = const [], String? source})
Creates a directory entry with optional session name, cwd, slug, presence, activity, capability and source metadata.
const

Properties

capabilities List<AgentCapability>
Capabilities the owner announced at registration (fabric.enable analog). Empty for sources that do not carry them (the hub roster, legacy mailboxes).
final
cwd String?
The working directory this mailbox belongs to, when known.
final
hashCode int
The hash code for this object.
no setteroverride
id String
The mailbox id (e.g. a1, sess1/main).
final
isConfirmedLive bool
Whether this entry POSITIVELY announces a live owner: transport presence (hub roster, file busy marker) or dated activity inside the live window. Unlike isLive, an UNDATED entry is NOT live here — routing and misroute diagnostics (issue #516) trust evidence only, never the can't-date-means-visible default.
no setter
lastActivity DateTime?
The newest activity observed in this mailbox. SOURCE-DEFINED: the file repository reports the newest file mtime inside the mailbox (heartbeat marker, inbox and read content); a future hub-presence feed would report its own activity semantics — never compare values across sources. Null when the source cannot date the mailbox.
final
name String?
The session display name this mailbox belongs to, when known — the human-addressable form (--session goal_builder). Senders may use it wherever a mailbox id is expected: goal_builder or goal_builder/main resolve through the directory. Null for legacy mailboxes registered before names existed.
final
presence AgentPresence?
The transport-REPORTED presence state, when the source knows it: the hub roster sets live/offline from registration (authoritative, not an mtime heuristic), the file fabric sets busy from the instance's marker. Null = derive from lastActivity heuristics.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
slug String?
The session slug this mailbox belongs to, when known.
final
source String?
The transport that sourced this entry (mailboxSourceHub for hub roster peers), or null for file-fabric/legacy entries.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
override

Operators

operator ==(Object other) bool
The equality operator.
override

Static Methods

isLive(DateTime? lastActivity, {DateTime? now, Duration window = defaultLiveWindow}) bool
Whether lastActivity counts as live: inside window of now. An UNKNOWN timestamp (null) counts as live — a source that cannot date a mailbox must never have it hidden from the default view.

Constants

defaultLiveWindow → const Duration
How recent lastActivity must be for a mailbox to count as live in directory views. Generous enough that a briefly paused watcher never makes a running peer vanish.