Signal freshness window. Defaults to MODEL_ADDRESSED_SIGNAL_WINDOW_MS.
Injected clock (epoch ms). Defaults to Date.now.
Whether an unconsumed, unexpired model signal is pending (does not consume it).
The transcript segment to test.
true if the agent was addressed in the segment.
Records that the model judged itself addressed.
When it signalled (epoch ms). Defaults to the injected clock's now.
Addressed-matcher driven by the MODEL's own judgement rather than a name pattern.
A full-duplex model listens continuously and knows whether a sentence was meant for it; a regex cannot ("what does the room think?", a nickname, an indirect request). The model raises its judgement through the host tool
i_am_addressed(seeturn-taking-tools.ts), or implicitly by starting to speak; the engine relays either to ModelSideAddressedMatcher.NoteModelAddressed. ModelSideAddressedMatcher.IsAddressed then answers for the next evaluated human segment.The signal is a one-shot latch with a freshness window: it is consumed by the first matching read, and it expires after MODEL_ADDRESSED_SIGNAL_WINDOW_MS, so a stale signal can never address the agent for a later, unrelated segment. Agent-spoken segments are never addressed (no self-trigger loops).