Package-level declarations
Types
Ephemeral connect information for the SESSION_CODE flow. sessionCode is a complete access credential -- the live 8-character code -- and connectUrl embeds it in the #code= fragment. There is no on-device approval step: whoever presents the code within its TTL gets a full session. Never log, display outside the trusted device screen, or persist either value.
Network exposure requested by the host, passed per-call as StartRequest.bindingMode. Loopback is the safe default -- the dashboard speaks plaintext HTTP, and LAN exposes that traffic to anyone else on the local network; see docs/THREAT_MODEL.md at the repository root before ever passing LAN.
Network exposure declared on BrowserConfig (DevConsoleConfig.browserConfig.binding). Despite living on the host's DevConsoleConfig, this field is not currently consumed by the running server -- as of this writing, binding mode for an actual io.devconsole.DevConsole.startBrowser call is decided entirely by the separate StartRequest.bindingMode (which has its own BindingMode type and its own BindingMode.LOOPBACK default, independent of this field). Setting BrowserConfig.binding round-trips through DevConsoleConfig and back out, but has no effect on what the server actually binds to; treat StartRequest.bindingMode as the only thing that matters until this is wired up. See the KDoc on BindingMode for the other half of this relationship.
SESSION_CODE is the only browser-access flow; there is no longer an access-mode field to set.
Public description of the server selected after a successful DevConsoleFacadeProvider.startBrowser.
A capture surface a host can independently opt into or out of at DevConsoleConfig construction time -- see DevConsoleConfig.captureCategories. Every gate downstream is fail-open: a config that is absent, or a gate lambda that throws, always means "capture", never "drop".
Evaluates capture exclusions on the network capture hot path.
Durable backing store for CaptureRules; implementations must survive process restart.
Controls uncaught-exception and ANR capture depth.
Host configuration supplied to io.devconsole.DevConsole.initialize.
Lifecycle state of the SDK runtime, observable via io.devconsole.DevConsole.state (a StateFlow). This tracks the runtime -- whether io.devconsole.DevConsole.initialize has succeeded and whether the embedded browser server is bound -- not individual capture sources; network/socket/push recording is available as soon as Initialized is reached, independent of whether the server has ever been started.
Outcome of io.devconsole.DevConsole.initialize (or the internal provisional auto-init call).
Test and default implementation; deliberately not durable.
Outcome of io.devconsole.DevConsole.open -- launching the SDK's own in-app inspector (as opposed to the browser dashboard, which is io.devconsole.DevConsole.startBrowser's concern). The SDK never opens this on its own; it only launches from an explicit host trigger.
Opt-in ways the SDK itself opens the in-app inspector -- see DevConsoleConfig.openTriggers. Everything defaults to off, so hosts that never touch this see no behaviour change. Triggers only open the inspector UI; they never start the embedded server.
Controls whether and how io.devconsole.DevConsole.captureScreenshot may capture the foreground window.
Outcome of io.devconsole.DevConsole.captureScreenshot.
Concurrent-session cap. One access tier -- every session is equivalent, so the old CONTROL/ADMIN-specific caps are gone; maxAuthenticatedSessions alone still bounds total live sessions.
How hard a shake must be before the inspector opens -- see OpenTriggers.shakeIntensity.
Stable host-facing server start options.
Outcome of io.devconsole.DevConsole.startBrowser / startBrowserAsync.
Why io.devconsole.DevConsole.stop / stopAsync was called; informational, does not change stop behavior.