%% @doc Dependency-free, Erlang-hosted developer console. -module(adk_dev_ui). -export([render/0]). -spec render() -> {binary(), binary()}. render() -> Nonce = base64:encode(crypto:strong_rand_bytes(18)), Csp = <<"default-src 'none'; base-uri 'none'; form-action 'self'; ", "frame-ancestors 'none'; connect-src 'self'; img-src 'self' data:; ", "style-src 'nonce-", Nonce/binary, "'; ", "script-src 'nonce-", Nonce/binary, "'">>, {iolist_to_binary(page(Nonce)), Csp}. page(Nonce) -> [ <<"", "", "Erlang ADK Developer Console", "

Erlang ADK Developer Console

single-operator local /dev/v1", "

Connection

", "

Local administrator tooling only. This shared bearer console is not a production or multi-user UI.

", "
", "
", "", "", "", "", "", "
", "

Reconnect

", "
", "

The run is supervised independently of this browser. Reattach by Run ID;", " replay is bounded by the server configuration.

idle
", "
", "

Chat

", "

Event trace

No events yet.
", "

Session snapshot

Not loaded.
", "
", "
", "

Context diagnostics

", "

Computes bounded counts and a fingerprint; events and state values are not returned.

", "", "
", "", "
", "

Lifecycle inspection is content-free. Cache invalidation uses the exact app/user/model/policy scope fingerprint and requires confirmation.

", "
Not loaded.
", "

Artifacts

", "
", "
", "", "
", "

Artifact data and metadata values are never returned. Deletion requires an exact confirmation.

", "
Not loaded.
", "

Memory

", "", "
", "
", "", "
", "

Search is bounded and redacted. Erasure is scoped to the displayed application and user.

", "
Not loaded.
", "

Gemini Live sessions

", "", "
", "
", "", "", "
", "

Requires an exact server-configured Live principal. Streams do not replay; raw audio bytes are never rendered.

", "
Not attached.
", "

Observability

", "
", "

This view is metadata-only and bounded; prompts, responses, tool arguments, media, and credentials are excluded.

", "
Not loaded.
", "

Evaluation reports

", "", "", "
", "
", "
", "

The server accepts only canonical saved results/comparisons; this view never loads paths, modules, metrics, or agents.

", "
Not loaded.
", "
">> ].