Native dynamic console: one accepted operation/control channel and repeated
explicit data attachments. Attachments, handshake time and total lifetime are
bounded. The creating process owns the console; its exit or explicit close
releases local channels, sending the pinned 1000 "Detaching from console"
close frame on the control channel, without cancelling the backend operation. A failed
attachment retains the operation and never repeats the console POST.
attach/1 returns a native WebSocket byte channel. Hosts explicitly send/read
binary frames through WebSocket, then detach/2; no terminal, IO device or
platform callback is opened automatically. Control messages use native JSON. Asynchronous errors from recognized channels
are forwarded as {:dynamic_console, console.pid, {channel.ref, :error, error}}, retaining the exact cause and accepted operation for reconciliation.
Unknown channel references are ignored.
Summary
Functions
Returns a specification to start this module under a supervisor.