Liking cljdoc? Tell your friends :D

com.blockether.vis.ext.channel-tui.builtin-hooks

Built-in TUI channel contributions mounted on the channel-tui extension.

Channel-tui is itself an extension (:ext/name com.blockether.vis.ext.channel-tui), so it can declare its own :ext/channel-contributions like any external extension. This gives every first-party TUI surface (model display, reasoning level, codex verbosity) the same contribution path third-party extensions use.

Why register here instead of inline in footer.clj:

  1. The data flow is uniform - footer's extension-footer-segments treats first-party + third-party contributions identically. Settings UI's contributor toggle (in dialogs.clj) sees these as regular contributors that the user can hide.

  2. Other channels (Telegram, web, ...) reading (channel-contributions-for :tui) get the same model/provider data without channel-tui-specific calls.

  3. Provider extensions can later override / supplement these contributions with provider-specific contributions (e.g. anthropic could register a :anthropic/model-footer showing rate-limit headroom) without touching channel-tui core.

The contribution fns return CANONICAL IR (channel-agnostic). Channels translate IR to their surface.

Built-in TUI channel contributions mounted on the channel-tui extension.

Channel-tui is itself an extension (`:ext/name`
`com.blockether.vis.ext.channel-tui`), so it can declare its own
`:ext/channel-contributions` like any external extension. This gives every
first-party TUI surface (model display, reasoning level, codex
verbosity) the same contribution path third-party extensions use.

Why register here instead of inline in footer.clj:

  1. The data flow is uniform - footer's `extension-footer-segments`
     treats first-party + third-party contributions identically. Settings
     UI's contributor toggle (in dialogs.clj) sees these as
     regular contributors that the user can hide.

  2. Other channels (Telegram, web, ...) reading
     `(channel-contributions-for :tui)` get the same model/provider data
     without channel-tui-specific calls.

  3. Provider extensions can later override / supplement these
     contributions with provider-specific contributions (e.g. anthropic could
     register a `:anthropic/model-footer` showing rate-limit
     headroom) without touching channel-tui core.

The contribution fns return CANONICAL IR (channel-agnostic). Channels
translate IR to their surface.
raw docstring

channel-contributionsclj

source

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