/** * KHAELOR * File: src/tui/index.ts * Description: Public barrel for the TUI module (Layer 2 — imports session, config, shared). * * Author: Simon-Pierre Boucher * Contact: contact@spboucher.ai */ export { TuiApp } from "./app.js"; export type { TuiAppActions, TuiAppOptions, ModelPricing, PermissionDecision, } from "./app.js"; export { CommandRegistry } from "./commands.js"; export type { CommandDef } from "./commands.js"; export { resolveTheme } from "./theme.js"; export type { Theme, StyleRole, GradientName, LineTint, ResolveThemeOptions } from "./theme.js"; export { LiveRenderer, streamIo } from "./renderer/renderer.js"; export type { RendererIo, RendererMetrics, LiveRendererOptions } from "./renderer/renderer.js"; export { composeFrame } from "./renderer/frame.js"; export type { LiveFrame, ComposeFrameInput, ComposedFrame } from "./renderer/frame.js"; export { detectColorDepth, parseDecrqmReply, parseOsc11Reply, probeTerminal, } from "./renderer/capabilities.js"; export type { ColorDepth, Background, TerminalCapabilities } from "./renderer/capabilities.js"; export { KeyDecoder } from "./renderer/input.js"; export type { KeyEvent } from "./renderer/input.js"; export { enterTerminal } from "./renderer/terminal.js"; export type { TerminalSession } from "./renderer/terminal.js"; export { stripAnsi, visibleWidth, truncateAnsi, wrapText, padEndAnsi, } from "./renderer/ansi.js"; export { MarkdownStreamScanner } from "./markdown/scanner.js"; export { renderMarkdownBlock, renderTailLine } from "./markdown/render.js"; export { highlightLine } from "./markdown/highlight.js"; export type { SynSpan, SynRole } from "./markdown/highlight.js"; export { renderStatusLine } from "./components/status-line.js"; export type { AgentStatus, AgentStateKind } from "./components/status-line.js"; export { renderStatusBar } from "./components/status-bar.js"; export type { StatusBarData } from "./components/status-bar.js"; export { renderToolLine, renderRunningTool, renderToolDetailBlock, rule, } from "./components/tool-line.js"; export type { SettledToolLine, RunningToolRow, ToolDetailBlock, ToolOutcome, ToolLineKind } from "./components/tool-line.js"; export { renderComposerBox, COMPOSER_BOX_MIN_WIDTH } from "./components/composer-box.js"; export type { ComposerBoxContent, ComposerBoxOptions, ComposerBoxRender } from "./components/composer-box.js"; export { renderEditSummary, renderDiffBlock } from "./components/diff.js"; export { renderPermissionPanel } from "./components/permission-panel.js"; export type { PermissionPanelData } from "./components/permission-panel.js"; export { renderErrorPanel } from "./components/error-panel.js"; export type { ErrorPanelData } from "./components/error-panel.js"; export { Composer } from "./composer/composer.js"; export type { ComposerEffect, ComposerProviders, ComposerRender } from "./composer/composer.js"; export { createPalette, paletteSetQuery, paletteSetItems, paletteMove, paletteSelection, renderPalette, } from "./composer/palette.js"; export type { PaletteItem, PaletteKind, PaletteState } from "./composer/palette.js"; export { fuzzyMatch, fuzzyFilter } from "./composer/fuzzy.js"; export type { FuzzyResult, FuzzyRanked } from "./composer/fuzzy.js"; export * as editor from "./composer/editor.js";