/** * 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 { renderContextGauge, renderPhaseRibbon, renderStatusBar } from "./components/status-bar.js"; export type { StatusBarData } from "./components/status-bar.js"; export { renderVerifyStrip } from "./components/verify-strip.js"; export type { VerifyCheckState } from "./components/verify-strip.js"; export { renderDesignPanel } from "./components/design-panel.js"; export type { DesignPanelData } from "./components/design-panel.js"; export { brailleSparkline } from "./components/sparkline.js"; export { gradientSteps, gradientText, gradientSweepFrame, mixOklch } from "./theme/gradient.js"; export type { Rgb } from "./theme/gradient.js"; export { MotionController } from "./motion.js"; export type { MotionEffect } from "./motion.js"; export { SPLASH_FRAMES, WORDMARK, WORDMARK_TAGLINE, renderCompactBrand, renderSplashFrame } from "./splash.js"; export { doctorReport } from "./doctor.js"; export type { DoctorEnv } from "./doctor.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";