Override `NonShittyWrapper._setTimer()` to compute packet silence
in seconds from integer epoch nanoseconds, avoiding upstream's
`datetime` subtraction error after `tcpDataArrived()`. Delegate
pre-traffic datetime and sentinel handling upstream.
Preserve the packet timestamp on expiry and clear the timer before
`timeoutEvent` emission so listeners can safely rearm it. Add three
offline regressions under `tests/providers/` for rescheduling, single
expiry, datetime and sentinel states, disabling, and reentrant
listener rearming. Document the wrapper overrides on the class.
This fixes an explicitly armed packet-idle timer; heartbeat, default
arming, and reconnect behavior are outside this change.
Prompt-IO: ai/prompt-io/opencode/20260924_ib_idle_timer.md
(this patch was generated in some part by `opencode` using
`gpt-6-astra` (`openai`))