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.