@wahack/pi-coding-agent 15.11.1 → 15.11.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -1
- package/src/autoresearch/dashboard.ts +1 -1
- package/src/autoresearch/index.ts +1 -1
- package/src/autoresearch/tools/init-experiment.ts +1 -1
- package/src/autoresearch/tools/log-experiment.ts +1 -1
- package/src/autoresearch/tools/run-experiment.ts +1 -1
- package/src/autoresearch/tools/update-notes.ts +1 -1
- package/src/cli/claude-trace-cli.ts +1 -1
- package/src/cli/dry-balance-cli.ts +1 -1
- package/src/cli/gallery-cli.ts +1 -1
- package/src/cli/grep-cli.ts +1 -1
- package/src/cli/list-models.ts +1 -1
- package/src/cli/session-picker.ts +1 -1
- package/src/cli/shell-cli.ts +1 -1
- package/src/commands/grep.ts +1 -1
- package/src/commit/agentic/agent.ts +1 -1
- package/src/config/keybindings.ts +3 -5
- package/src/config/model-resolver.ts +1 -1
- package/src/config/resolve-config-value.ts +1 -1
- package/src/debug/index.ts +3 -5
- package/src/debug/log-viewer.ts +2 -4
- package/src/debug/protocol-probe.ts +2 -4
- package/src/debug/raw-sse.ts +2 -4
- package/src/debug/report-bundle.ts +1 -1
- package/src/debug/terminal-info.ts +2 -4
- package/src/discovery/helpers.ts +1 -1
- package/src/edit/hashline/block-resolver.ts +1 -1
- package/src/edit/normalize.ts +1 -1
- package/src/edit/renderer.ts +2 -2
- package/src/exec/bash-executor.ts +1 -1
- package/src/export/ttsr.ts +1 -1
- package/src/extensibility/custom-tools/types.ts +1 -1
- package/src/extensibility/extensions/loader.ts +1 -1
- package/src/extensibility/extensions/runner.ts +1 -1
- package/src/extensibility/extensions/types.ts +1 -1
- package/src/extensibility/hooks/types.ts +1 -1
- package/src/extensibility/slash-commands.ts +1 -1
- package/src/goals/tools/goal-tool.ts +2 -2
- package/src/lsp/render.ts +2 -2
- package/src/mcp/render.ts +2 -2
- package/src/modes/components/agent-dashboard.ts +2 -4
- package/src/modes/components/agent-hub.ts +1 -1
- package/src/modes/components/assistant-message.ts +1 -1
- package/src/modes/components/bash-execution.ts +2 -4
- package/src/modes/components/bordered-loader.ts +1 -1
- package/src/modes/components/branch-summary-message.ts +1 -1
- package/src/modes/components/btw-panel.ts +1 -1
- package/src/modes/components/chat-block.ts +1 -1
- package/src/modes/components/compaction-summary-message.ts +1 -1
- package/src/modes/components/copy-selector.ts +1 -1
- package/src/modes/components/countdown-timer.ts +1 -1
- package/src/modes/components/custom-editor.ts +1 -1
- package/src/modes/components/custom-message.ts +2 -2
- package/src/modes/components/dynamic-border.ts +1 -1
- package/src/modes/components/error-banner.ts +1 -1
- package/src/modes/components/eval-execution.ts +1 -1
- package/src/modes/components/execution-shared.ts +1 -1
- package/src/modes/components/extensions/extension-dashboard.ts +2 -4
- package/src/modes/components/extensions/extension-list.ts +2 -4
- package/src/modes/components/extensions/inspector-panel.ts +1 -1
- package/src/modes/components/extensions/state-manager.ts +1 -1
- package/src/modes/components/footer.ts +1 -1
- package/src/modes/components/history-search.ts +2 -4
- package/src/modes/components/hook-editor.ts +1 -1
- package/src/modes/components/hook-input.ts +1 -1
- package/src/modes/components/hook-message.ts +2 -2
- package/src/modes/components/hook-selector.ts +2 -4
- package/src/modes/components/keybinding-hints.ts +1 -1
- package/src/modes/components/late-diagnostics-message.ts +1 -1
- package/src/modes/components/login-dialog.ts +1 -1
- package/src/modes/components/mcp-add-wizard.ts +2 -4
- package/src/modes/components/message-frame.ts +2 -2
- package/src/modes/components/model-selector.ts +2 -4
- package/src/modes/components/oauth-selector.ts +2 -4
- package/src/modes/components/omfg-panel.ts +1 -1
- package/src/modes/components/overlay-box.ts +1 -1
- package/src/modes/components/plan-review-overlay.ts +2 -4
- package/src/modes/components/plugin-selector.ts +1 -1
- package/src/modes/components/plugin-settings.ts +2 -4
- package/src/modes/components/queue-mode-selector.ts +1 -1
- package/src/modes/components/read-tool-group.ts +2 -2
- package/src/modes/components/session-selector.ts +2 -4
- package/src/modes/components/settings-defs.ts +1 -1
- package/src/modes/components/settings-selector.ts +2 -4
- package/src/modes/components/show-images-selector.ts +1 -1
- package/src/modes/components/skill-message.ts +2 -2
- package/src/modes/components/status-line/component.ts +1 -1
- package/src/modes/components/status-line/segments.ts +1 -1
- package/src/modes/components/theme-selector.ts +1 -1
- package/src/modes/components/thinking-selector.ts +1 -1
- package/src/modes/components/tiny-title-download-progress.ts +1 -1
- package/src/modes/components/todo-reminder.ts +1 -1
- package/src/modes/components/tool-execution.ts +2 -4
- package/src/modes/components/transcript-container.ts +1 -1
- package/src/modes/components/tree-selector.ts +2 -4
- package/src/modes/components/ttsr-notification.ts +1 -1
- package/src/modes/components/user-message-selector.ts +2 -4
- package/src/modes/components/user-message.ts +1 -1
- package/src/modes/components/visual-truncate.ts +1 -1
- package/src/modes/components/welcome.ts +2 -4
- package/src/modes/controllers/command-controller-shared.ts +1 -1
- package/src/modes/controllers/command-controller.ts +1 -1
- package/src/modes/controllers/event-controller.ts +1 -1
- package/src/modes/controllers/extension-ui-controller.ts +2 -2
- package/src/modes/controllers/input-controller.ts +1 -1
- package/src/modes/controllers/mcp-command-controller.ts +1 -1
- package/src/modes/controllers/selector-controller.ts +2 -2
- package/src/modes/controllers/streaming-reveal.ts +1 -1
- package/src/modes/emoji-autocomplete.ts +1 -1
- package/src/modes/index.ts +1 -1
- package/src/modes/interactive-mode.ts +3 -5
- package/src/modes/internal-url-autocomplete.ts +1 -1
- package/src/modes/prompt-action-autocomplete.ts +2 -4
- package/src/modes/setup-wizard/scenes/glyph.ts +1 -1
- package/src/modes/setup-wizard/scenes/outro.ts +1 -1
- package/src/modes/setup-wizard/scenes/providers.ts +1 -1
- package/src/modes/setup-wizard/scenes/sign-in.ts +1 -1
- package/src/modes/setup-wizard/scenes/splash.ts +1 -1
- package/src/modes/setup-wizard/scenes/theme.ts +1 -1
- package/src/modes/setup-wizard/scenes/types.ts +1 -1
- package/src/modes/setup-wizard/scenes/web-search.ts +1 -1
- package/src/modes/setup-wizard/wizard-overlay.ts +1 -1
- package/src/modes/shared.ts +1 -1
- package/src/modes/theme/theme.ts +3 -5
- package/src/modes/types.ts +1 -1
- package/src/modes/utils/context-usage.ts +1 -1
- package/src/modes/utils/keybinding-matchers.ts +1 -1
- package/src/modes/utils/ui-helpers.ts +1 -1
- package/src/session/agent-session.ts +1 -1
- package/src/session/session-manager.ts +1 -1
- package/src/task/render.ts +2 -2
- package/src/task/subprocess-tool-registry.ts +1 -1
- package/src/task/worktree.ts +1 -1
- package/src/tools/ask.ts +1 -1
- package/src/tools/ast-edit.ts +3 -3
- package/src/tools/ast-grep.ts +3 -3
- package/src/tools/bash-command-fixup.ts +1 -1
- package/src/tools/bash-interactive.ts +3 -5
- package/src/tools/bash.ts +2 -2
- package/src/tools/browser/attach.ts +1 -1
- package/src/tools/browser/render.ts +2 -2
- package/src/tools/debug.ts +1 -1
- package/src/tools/eval-render.ts +2 -2
- package/src/tools/fetch.ts +2 -2
- package/src/tools/find.ts +3 -3
- package/src/tools/fs-cache-invalidation.ts +1 -1
- package/src/tools/gh-renderer.ts +1 -1
- package/src/tools/inspect-image-renderer.ts +2 -2
- package/src/tools/irc.ts +1 -1
- package/src/tools/job.ts +2 -2
- package/src/tools/memory-render.ts +2 -2
- package/src/tools/read.ts +3 -3
- package/src/tools/render-utils.ts +5 -5
- package/src/tools/renderers.ts +1 -1
- package/src/tools/resolve.ts +2 -2
- package/src/tools/review.ts +2 -2
- package/src/tools/search-tool-bm25.ts +2 -2
- package/src/tools/search.ts +3 -3
- package/src/tools/ssh.ts +1 -1
- package/src/tools/todo.ts +2 -2
- package/src/tools/write.ts +1 -1
- package/src/tui/code-cell.ts +1 -1
- package/src/tui/hyperlink.ts +1 -1
- package/src/tui/output-block.ts +2 -2
- package/src/tui/tree-list.ts +1 -1
- package/src/tui/utils.ts +2 -2
- package/src/utils/block-context.ts +1 -1
- package/src/utils/clipboard.ts +2 -2
- package/src/web/search/render.ts +2 -2
- package/src/workspace-tree.ts +1 -1
- package/stubs/natives/index.ts +814 -0
- package/stubs/natives/package.json +7 -0
- package/stubs/tui/index.ts +282 -0
- package/stubs/tui/package.json +7 -0
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
// Stub for @oh-my-pi/pi-tui — provides minimal UI primitives for pi-coding-agent
|
|
2
|
+
// used in Vividra's SDK context. Real TUI rendering is not needed.
|
|
3
|
+
|
|
4
|
+
export type AutocompleteItem = { label: string; detail?: string; kind?: string };
|
|
5
|
+
|
|
6
|
+
export interface BoxSymbols {
|
|
7
|
+
topLeft: string;
|
|
8
|
+
topRight: string;
|
|
9
|
+
bottomLeft: string;
|
|
10
|
+
bottomRight: string;
|
|
11
|
+
horizontal: string;
|
|
12
|
+
vertical: string;
|
|
13
|
+
teeDown: string;
|
|
14
|
+
teeUp: string;
|
|
15
|
+
teeLeft: string;
|
|
16
|
+
teeRight: string;
|
|
17
|
+
cross: string;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface SymbolTheme {
|
|
21
|
+
cursor: string;
|
|
22
|
+
inputCursor: string;
|
|
23
|
+
boxRound: Omit<BoxSymbols, "teeDown" | "teeUp" | "teeLeft" | "teeRight" | "cross">;
|
|
24
|
+
boxSharp: BoxSymbols;
|
|
25
|
+
table: BoxSymbols;
|
|
26
|
+
quoteBorder: string;
|
|
27
|
+
hrChar: string;
|
|
28
|
+
colorSwatch?: string;
|
|
29
|
+
spinnerFrames: string[];
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export type KeyId = string;
|
|
33
|
+
export type Keybinding = string;
|
|
34
|
+
|
|
35
|
+
export interface KeybindingDefinition {
|
|
36
|
+
modes?: string[];
|
|
37
|
+
key?: string;
|
|
38
|
+
preventDefault?: boolean;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export type KeybindingsConfig = Record<string, KeyId | KeyId[] | undefined>;
|
|
42
|
+
|
|
43
|
+
export class KeybindingsManager {
|
|
44
|
+
constructor() {}
|
|
45
|
+
get(key: string): KeybindingDefinition | undefined { return undefined; }
|
|
46
|
+
all(): Record<string, KeybindingDefinition> { return {}; }
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export function canonicalKeyId(key: string): string { return key; }
|
|
50
|
+
export function addKeyAliases(_keys: Set<string>, _key: KeyId): void {}
|
|
51
|
+
export function parseKey(_data: string, _kittyProtocolActive: boolean): string | null { return null; }
|
|
52
|
+
export function parseKittySequence(_data: string): ParsedKittyResult | null { return null; }
|
|
53
|
+
export function getKeybindings(): KeybindingsManager { return new KeybindingsManager(); }
|
|
54
|
+
export function setKeybindings(_manager: KeybindingsManager): void {}
|
|
55
|
+
|
|
56
|
+
export interface ParsedKittyResult {
|
|
57
|
+
codepoint: number;
|
|
58
|
+
shiftedKey?: number;
|
|
59
|
+
baseLayoutKey?: number;
|
|
60
|
+
modifier: number;
|
|
61
|
+
eventType?: KeyEventType;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export enum KeyEventType {
|
|
65
|
+
Press = 1,
|
|
66
|
+
Repeat = 2,
|
|
67
|
+
Release = 3,
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export function matchesKey(_data: string, _keyId: string, _kittyProtocolActive: boolean): boolean { return false; }
|
|
71
|
+
export function matchesKittySequence(_data: string, _expectedCodepoint: number, _expectedModifier: number): boolean { return false; }
|
|
72
|
+
export function matchesLegacySequence(_data: string, _keyName: string): boolean { return false; }
|
|
73
|
+
|
|
74
|
+
export interface FuzzyMatch {
|
|
75
|
+
matches: boolean;
|
|
76
|
+
score: number;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export function fuzzyMatch(query: string, text: string): FuzzyMatch {
|
|
80
|
+
const ql = query.toLowerCase();
|
|
81
|
+
const tl = text.toLowerCase();
|
|
82
|
+
let qi = 0;
|
|
83
|
+
let score = 0;
|
|
84
|
+
let last = -1;
|
|
85
|
+
for (let i = 0; i < tl.length && qi < ql.length; i++) {
|
|
86
|
+
if (tl[i] === ql[qi]) {
|
|
87
|
+
if (last >= 0) score += (i - last - 1) * 2;
|
|
88
|
+
if (i === 0 || /[\s\-_./:]/.test(tl[i - 1]!)) score -= 10;
|
|
89
|
+
last = i;
|
|
90
|
+
qi++;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return { matches: qi === ql.length, score };
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export function fuzzyFilter<T>(items: T[], query: string, getText: (item: T) => string): T[] {
|
|
97
|
+
if (!query.trim()) return items;
|
|
98
|
+
const tokens = query.trim().split(/\s+/).filter(t => t.length > 0);
|
|
99
|
+
const results: { item: T; totalScore: number }[] = [];
|
|
100
|
+
for (const item of items) {
|
|
101
|
+
const text = getText(item);
|
|
102
|
+
let totalScore = 0;
|
|
103
|
+
let allMatch = true;
|
|
104
|
+
for (const token of tokens) {
|
|
105
|
+
const match = fuzzyMatch(token, text);
|
|
106
|
+
if (match.matches) totalScore += match.score;
|
|
107
|
+
else { allMatch = false; break; }
|
|
108
|
+
}
|
|
109
|
+
if (allMatch) results.push({ item, totalScore });
|
|
110
|
+
}
|
|
111
|
+
results.sort((a, b) => a.totalScore - b.totalScore);
|
|
112
|
+
return results.map(r => r.item);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
export function padding(n: number): string { return " ".repeat(n); }
|
|
116
|
+
|
|
117
|
+
export function replaceTabs(text: string, _file?: string): string { return text.replace(/\t/g, " "); }
|
|
118
|
+
|
|
119
|
+
export function sliceWithWidth(line: string, startCol: number, length: number, _strict?: boolean | null): SliceResult {
|
|
120
|
+
const text = line.slice(startCol, startCol + length);
|
|
121
|
+
return { text, width: text.length };
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
export function truncateToWidth(text: string, maxWidth: number, _ellipsisKind?: unknown | null, _pad?: boolean | null, _tabWidth?: number): string {
|
|
125
|
+
if (text.length <= maxWidth) return text;
|
|
126
|
+
return text.slice(0, Math.max(0, maxWidth - 1)) + "…";
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export function visibleWidth(str: string, _tabWidth?: number): number {
|
|
130
|
+
return str.replace(/\x1b\[[0-9;]*m/g, "").length;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
export function wrapTextWithAnsi(text: string, width: number, _tabWidth?: number): string[] {
|
|
134
|
+
const lines: string[] = [];
|
|
135
|
+
let start = 0;
|
|
136
|
+
while (start < text.length) {
|
|
137
|
+
lines.push(text.slice(start, start + width));
|
|
138
|
+
start += width;
|
|
139
|
+
}
|
|
140
|
+
return lines.length ? lines : [""];
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export interface SliceResult {
|
|
144
|
+
text: string;
|
|
145
|
+
width: number;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
export enum Ellipsis {
|
|
149
|
+
Unicode = 0,
|
|
150
|
+
Ascii = 1,
|
|
151
|
+
Omit = 2,
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
export interface ExtractSegmentsResult {
|
|
155
|
+
before: string;
|
|
156
|
+
beforeWidth: number;
|
|
157
|
+
after: string;
|
|
158
|
+
afterWidth: number;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
export function extractSegments(_line: string, _beforeEnd: number, _afterStart: number, _afterLen: number, _strictAfter: boolean, _tabWidth: number): ExtractSegmentsResult {
|
|
162
|
+
return { before: "", beforeWidth: 0, after: "", afterWidth: 0 };
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
export type TextSizingScale = 1 | 2 | 3;
|
|
166
|
+
export type TextSizingVerticalAlign = "top" | "bottom" | "center";
|
|
167
|
+
export type TextSizingHorizontalAlign = "left" | "right" | "center";
|
|
168
|
+
|
|
169
|
+
export interface TextSizingOptions {
|
|
170
|
+
scale?: TextSizingScale;
|
|
171
|
+
widthCells?: number;
|
|
172
|
+
verticalAlign?: TextSizingVerticalAlign;
|
|
173
|
+
horizontalAlign?: TextSizingHorizontalAlign;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
export function encodeTextSized(text: string, _options?: TextSizingOptions): string { return text; }
|
|
177
|
+
|
|
178
|
+
// ---------------------------------------------------------------------------
|
|
179
|
+
// Component types and stubs
|
|
180
|
+
// ---------------------------------------------------------------------------
|
|
181
|
+
|
|
182
|
+
export type Component = unknown;
|
|
183
|
+
|
|
184
|
+
export type TUI = unknown;
|
|
185
|
+
|
|
186
|
+
export type EditorTheme = unknown;
|
|
187
|
+
export type MarkdownTheme = unknown;
|
|
188
|
+
export type SelectListTheme = unknown;
|
|
189
|
+
export type SymbolTheme_Alias = unknown;
|
|
190
|
+
|
|
191
|
+
// Terminal ID — critical for session-manager.ts:876,898
|
|
192
|
+
export function getTerminalId(): string { return process.env.TERM_SESSION_ID ?? process.env.TMUX_PANE ?? "stub-terminal"; }
|
|
193
|
+
export const TERMINAL = { id: getTerminalId() };
|
|
194
|
+
|
|
195
|
+
// ---------------------------------------------------------------------------
|
|
196
|
+
// Box component
|
|
197
|
+
// ---------------------------------------------------------------------------
|
|
198
|
+
export function Box(_props: { children?: unknown; width?: number; height?: number } & Record<string, unknown>): unknown { return null; }
|
|
199
|
+
|
|
200
|
+
// ---------------------------------------------------------------------------
|
|
201
|
+
// CancellableLoader / Loader
|
|
202
|
+
// ---------------------------------------------------------------------------
|
|
203
|
+
export type Loader = unknown;
|
|
204
|
+
export function CancellableLoader(_props: { title?: string } & Record<string, unknown>): unknown { return null; }
|
|
205
|
+
|
|
206
|
+
// ---------------------------------------------------------------------------
|
|
207
|
+
// Container
|
|
208
|
+
// ---------------------------------------------------------------------------
|
|
209
|
+
export function Container(_props: { children?: unknown; direction?: string; gap?: number } & Record<string, unknown>): unknown { return null; }
|
|
210
|
+
|
|
211
|
+
// ---------------------------------------------------------------------------
|
|
212
|
+
// Editor
|
|
213
|
+
// ---------------------------------------------------------------------------
|
|
214
|
+
export interface EditorProps {
|
|
215
|
+
onKeystroke?: (key: string) => void;
|
|
216
|
+
onFocus?: () => void;
|
|
217
|
+
onBlur?: () => void;
|
|
218
|
+
text?: string;
|
|
219
|
+
placeholder?: string;
|
|
220
|
+
readonly?: boolean;
|
|
221
|
+
language?: string;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
export const Editor = (_props: EditorProps): unknown => null;
|
|
225
|
+
|
|
226
|
+
// ---------------------------------------------------------------------------
|
|
227
|
+
// Image
|
|
228
|
+
// ---------------------------------------------------------------------------
|
|
229
|
+
export type ImageBudget = unknown;
|
|
230
|
+
export type ImageProtocol = unknown;
|
|
231
|
+
export const Image = (_props: { src?: string; alt?: string; budget?: ImageBudget; protocol?: ImageProtocol; width?: number; height?: number } & Record<string, unknown>): unknown => null;
|
|
232
|
+
|
|
233
|
+
// ---------------------------------------------------------------------------
|
|
234
|
+
// Input
|
|
235
|
+
// ---------------------------------------------------------------------------
|
|
236
|
+
export const Input = (_props: { value?: string; placeholder?: string; onInput?: (text: string) => void; readonly?: boolean; password?: boolean } & Record<string, unknown>): unknown => null;
|
|
237
|
+
|
|
238
|
+
// ---------------------------------------------------------------------------
|
|
239
|
+
// Markdown
|
|
240
|
+
// ---------------------------------------------------------------------------
|
|
241
|
+
export function Markdown(_props: { content?: string; theme?: MarkdownTheme } & Record<string, unknown>): unknown { return _props.content ?? ""; }
|
|
242
|
+
|
|
243
|
+
// ---------------------------------------------------------------------------
|
|
244
|
+
// ScrollView
|
|
245
|
+
// ---------------------------------------------------------------------------
|
|
246
|
+
export function ScrollView(_props: { children?: unknown; offset?: number } & Record<string, unknown>): unknown { return null; }
|
|
247
|
+
|
|
248
|
+
// ---------------------------------------------------------------------------
|
|
249
|
+
// SelectList / SelectItem
|
|
250
|
+
// ---------------------------------------------------------------------------
|
|
251
|
+
export type SelectItem = { label: string; value?: string; detail?: string };
|
|
252
|
+
export function SelectList(_props: { items?: SelectItem[]; selected?: number; onSelect?: (index: number) => void; theme?: SelectListTheme } & Record<string, unknown>): unknown { return null; }
|
|
253
|
+
|
|
254
|
+
// ---------------------------------------------------------------------------
|
|
255
|
+
// SettingsList
|
|
256
|
+
// ---------------------------------------------------------------------------
|
|
257
|
+
export function SettingsList(_props: { children?: unknown } & Record<string, unknown>): unknown { return null; }
|
|
258
|
+
|
|
259
|
+
// ---------------------------------------------------------------------------
|
|
260
|
+
// Spacer
|
|
261
|
+
// ---------------------------------------------------------------------------
|
|
262
|
+
export function Spacer(_props?: Record<string, unknown>): unknown { return null; }
|
|
263
|
+
|
|
264
|
+
// ---------------------------------------------------------------------------
|
|
265
|
+
// TabBar
|
|
266
|
+
// ---------------------------------------------------------------------------
|
|
267
|
+
export function TabBar(_props: { tabs?: string[]; selected?: number; onSelect?: (index: number) => void } & Record<string, unknown>): unknown { return null; }
|
|
268
|
+
|
|
269
|
+
// ---------------------------------------------------------------------------
|
|
270
|
+
// Text
|
|
271
|
+
// ---------------------------------------------------------------------------
|
|
272
|
+
export function Text(_props: { children?: string; color?: string; bold?: boolean; dim?: boolean; italic?: boolean; underline?: boolean; strikethrough?: boolean;ansi?: string; } & Record<string, unknown>): unknown { return _props.children ?? ""; }
|
|
273
|
+
|
|
274
|
+
// ---------------------------------------------------------------------------
|
|
275
|
+
// TruncatedText
|
|
276
|
+
// ---------------------------------------------------------------------------
|
|
277
|
+
export function TruncatedText(_props: { text?: string; maxWidth?: number; ellipsis?: string } & Record<string, unknown>): unknown { return _props.text ?? ""; }
|
|
278
|
+
|
|
279
|
+
// ---------------------------------------------------------------------------
|
|
280
|
+
// Editor component interface
|
|
281
|
+
// ---------------------------------------------------------------------------
|
|
282
|
+
export type EditorComponent = unknown;
|