Skip to main content

Crate oino_view

Crate oino_view 

Source
Expand description

oino-view: frontend-agnostic view models shared by the terminal client (oino-tui) and the GPUI apps (modes.md §7.1).

Nothing here knows about a UI toolkit. Every model is a plain state machine fed with oino_core::events::ClientEvents, RPC replies or user intents, and is unit-tested without a terminal.

§API map

ModuleContents
transcripttranscript::Transcript rows keyed by tool-call id; reducer over session events
ui_stateui_state::RegistryMirror: v2 snapshot/patch mirror (ui-protocol §6, §9.2) with the dialog queue; ui_state::UiState: the transitional v1 request reducer
ousous::OusNode: typed Oino UI Spec v1 nodes (deleted with the last v1 emitter, WP-U7)
treetree::TreeModel: flattening, filter modes, folding, search
sessionssessions::SessionListModel: scope, sort, name filter, search
settings_hubextension settings hub: namespaces, flattened fields, display, cycling, parsing, visibleIf/disabledIf
composercomposer::Composer: multi-line buffer, history, kill ring, undo, paste markers
commandsbuilt-in slash command table and parsing
keyskeys::KeyId, keys::Keybindings with defaults
fuzzysubsequence matcher
formattoken, cwd, age formatting

Wire types come from oino-core/oino-session/oino-ai until oino-protocol exists (deviations/tui-client.md).

Modules§

commands
Built-in interactive slash commands (modes.md §1.3) and the command menu model merged with get_commands results.
composer
Composer buffer (Editor semantics): multi-line text with a cursor, prompt history, kill ring (yank / yank-pop), undo, large-paste markers and attachment tokens.
format
Display formatting shared by frontends (footer, session selector, tool renderers).
fuzzy
Subsequence fuzzy matching (approximation of fuzzyFilter).
keys
Key ids and keybindings (KeybindingsManager).
ous
Oino UI Spec v1 nodes (ui-protocol §6), parsed from JSON into a typed tree.
sessions
Session resume picker model.
settings_hub
Extension settings hub model (ui-protocol §7, OSS-2): namespaces from the typed SettingsNamespace descriptors (or from get_settings_schema JSON), flattened fields per namespace, values from get_extension_settings, and the edits a frontend sends back (set_extension_setting / unset_extension_setting).
transcript
Transcript rows (the interactive-mode chat container).
tree
Session tree navigator model.
ui_state
Extension UI state (ui-protocol §2–§6, §9.2).

Type Aliases§

JsonObject
JSON value type used throughout (re-exported from oino-ai). JSON object with insertion order preserved (Record<string, unknown>).
JsonValue
JSON value type used throughout (re-exported from oino-ai). Arbitrary JSON value (unknown).