mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-19 06:01:14 +00:00
- Add allocateImageId() to generate unique image IDs - Add deleteKittyImage() and deleteAllKittyImages() functions - Image component now tracks its ID and has dispose() method - renderImage() returns imageId for tracking - DOSBox: reuse single image ID for all frames, delete on dispose Fixes image accumulation hitting terminal quota and lingering images after component close.
92 lines
2.7 KiB
TypeScript
92 lines
2.7 KiB
TypeScript
// Core TUI interfaces and classes
|
|
|
|
// Autocomplete support
|
|
export {
|
|
type AutocompleteItem,
|
|
type AutocompleteProvider,
|
|
CombinedAutocompleteProvider,
|
|
type SlashCommand,
|
|
} from "./autocomplete.js";
|
|
// Components
|
|
export { Box } from "./components/box.js";
|
|
export { CancellableLoader } from "./components/cancellable-loader.js";
|
|
export { Editor, type EditorOptions, type EditorTheme } from "./components/editor.js";
|
|
export { Image, type ImageOptions, type ImageTheme } from "./components/image.js";
|
|
export { Input } from "./components/input.js";
|
|
export { Loader } from "./components/loader.js";
|
|
export { type DefaultTextStyle, Markdown, type MarkdownTheme } from "./components/markdown.js";
|
|
export { type SelectItem, SelectList, type SelectListTheme } from "./components/select-list.js";
|
|
export { type SettingItem, SettingsList, type SettingsListTheme } from "./components/settings-list.js";
|
|
export { Spacer } from "./components/spacer.js";
|
|
export { Text } from "./components/text.js";
|
|
export { TruncatedText } from "./components/truncated-text.js";
|
|
// Editor component interface (for custom editors)
|
|
export type { EditorComponent } from "./editor-component.js";
|
|
// Fuzzy matching
|
|
export { type FuzzyMatch, fuzzyFilter, fuzzyMatch } from "./fuzzy.js";
|
|
// Keybindings
|
|
export {
|
|
DEFAULT_EDITOR_KEYBINDINGS,
|
|
type EditorAction,
|
|
type EditorKeybindingsConfig,
|
|
EditorKeybindingsManager,
|
|
getEditorKeybindings,
|
|
setEditorKeybindings,
|
|
} from "./keybindings.js";
|
|
// Keyboard input handling
|
|
export {
|
|
isKeyRelease,
|
|
isKeyRepeat,
|
|
isKittyProtocolActive,
|
|
Key,
|
|
type KeyEventType,
|
|
type KeyId,
|
|
matchesKey,
|
|
parseKey,
|
|
setKittyProtocolActive,
|
|
} from "./keys.js";
|
|
// Input buffering for batch splitting
|
|
export { StdinBuffer, type StdinBufferEventMap, type StdinBufferOptions } from "./stdin-buffer.js";
|
|
// Terminal interface and implementations
|
|
export { ProcessTerminal, type Terminal } from "./terminal.js";
|
|
// Terminal image support
|
|
export {
|
|
allocateImageId,
|
|
type CellDimensions,
|
|
calculateImageRows,
|
|
deleteAllKittyImages,
|
|
deleteKittyImage,
|
|
detectCapabilities,
|
|
encodeITerm2,
|
|
encodeKitty,
|
|
getCapabilities,
|
|
getCellDimensions,
|
|
getGifDimensions,
|
|
getImageDimensions,
|
|
getJpegDimensions,
|
|
getPngDimensions,
|
|
getWebpDimensions,
|
|
type ImageDimensions,
|
|
type ImageProtocol,
|
|
type ImageRenderOptions,
|
|
imageFallback,
|
|
renderImage,
|
|
resetCapabilitiesCache,
|
|
setCellDimensions,
|
|
type TerminalCapabilities,
|
|
} from "./terminal-image.js";
|
|
export {
|
|
type Component,
|
|
Container,
|
|
CURSOR_MARKER,
|
|
type Focusable,
|
|
isFocusable,
|
|
type OverlayAnchor,
|
|
type OverlayHandle,
|
|
type OverlayMargin,
|
|
type OverlayOptions,
|
|
type SizeValue,
|
|
TUI,
|
|
} from "./tui.js";
|
|
// Utilities
|
|
export { truncateToWidth, visibleWidth, wrapTextWithAnsi } from "./utils.js";
|