Liking cljdoc? Tell your friends :D

com.blockether.vis.ext.channel-tui.provider

TUI provider management dialogs - model picker, model manager, provider router. Config I/O and data helpers live in tui/config.clj.

The channel-neutral brain — status probing, limits, live model catalogs, presets, persistence shapes — lives in com.blockether.vis.internal.providers (exposed through vis.core) and can be SHARED across channels. This namespace owns only the lanterna interaction layer.

ALL provider OAuth is driven ENTIRELY through the gateway — Anthropic + Codex over browser/PKCE, GitHub Copilot over device code — via /v1/providers/:id/auth/{start,complete,poll,cancel} and /logout. The TUI therefore needs NO provider extension on its own classpath, holds no credential secret at any moment, and behaves identically when attached to a gateway on another machine.

TUI provider management dialogs - model picker, model manager, provider router.
Config I/O and data helpers live in tui/config.clj.

The channel-neutral brain — status probing, limits, live model
catalogs, presets, persistence shapes — lives in
`com.blockether.vis.internal.providers` (exposed through `vis.core`)
and can be SHARED across channels. This namespace owns only the
lanterna interaction layer.

ALL provider OAuth is driven ENTIRELY through the gateway —
Anthropic + Codex over browser/PKCE, GitHub Copilot over device code —
via `/v1/providers/:id/auth/{start,complete,poll,cancel}` and `/logout`.
The TUI therefore needs NO provider extension on its own classpath, holds
no credential secret at any moment, and behaves identically when attached
to a gateway on another machine.
raw docstring

auth-provider-itemsclj

(auth-provider-items)

One row per auth-capable provider, labelled with its GATEWAY auth verdict.

The N status probes fan out onto worker futures and are joined once, so opening the dialog costs one round trip of latency instead of N serialized blocking gateway calls on the UI thread.

One row per auth-capable provider, labelled with its GATEWAY auth verdict.

The N status probes fan out onto worker futures and are joined once, so
opening the dialog costs one round trip of latency instead of N serialized
blocking gateway calls on the UI thread.
sourceraw docstring

authenticate-provider!clj

(authenticate-provider! screen provider)
(authenticate-provider! screen provider force?)

The ONE auth entry point for every channel action (auth dialog, provider manager, add-provider). EVERY kind goes through the gateway: device for GitHub Copilot, PKCE for Codex/Anthropic, api-key for everything else. No provider credential is ever exchanged or written in the TUI process.

The ONE auth entry point for every channel action (auth dialog, provider
manager, add-provider). EVERY kind goes through the gateway: device for
GitHub Copilot, PKCE for Codex/Anthropic, `api-key` for everything else.
No provider credential is ever exchanged or written in the TUI process.
sourceraw docstring

logout-provider!clj

(logout-provider! screen provider)
source

provider-action-itemsclj

(provider-action-items provider)
(provider-action-items provider status)
source

show-provider-auth-dialog!clj

(show-provider-auth-dialog! screen)
source

show-provider-dialog!clj

(show-provider-dialog! screen)
(show-provider-dialog! screen current-config)
(show-provider-dialog! screen current-config _opts)

Provider manager dialog. Esc saves and closes. Provider order has no routing semantics; choose exactly one default provider/model pair.

Provider manager dialog.
Esc saves and closes. Provider order has no routing semantics; choose exactly
one default provider/model pair.
sourceraw docstring

show-provider-status!clj

(show-provider-status! screen provider)
(show-provider-status! screen provider status limits)

Status + limits as the RICH canonical markdown form, painted through the IR walker — the same report the web renders as markdown. The fallback arity fetches diagnostics through the gateway, never through local provider OAuth.

Status + limits as the RICH canonical markdown form, painted through the IR
walker — the same report the web renders as markdown. The fallback arity
fetches diagnostics through the gateway, never through local provider OAuth.
sourceraw docstring

show-welcome!clj

(show-welcome! screen)

First-run welcome screen. The single primary action (Enter) drops straight into the provider picker; ? explains how the key is used; Esc quits.

Returns {:providers [cfg]} once a provider is added, or nil if the user quits without connecting one.

First-run welcome screen. The single primary action (Enter) drops straight
into the provider picker; `?` explains how the key is used; Esc quits.

Returns `{:providers [cfg]}` once a provider is added, or nil if the user
quits without connecting one.
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close