@wrongstack/tui 0.265.1 → 0.268.0
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/README.md +16 -5
- package/dist/index.d.ts +72 -0
- package/dist/index.js +1327 -304
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -70,9 +70,21 @@ process.exit(exitCode);
|
|
|
70
70
|
| `↑` / `↓` | History navigation when buffer empty |
|
|
71
71
|
| `@` | File picker |
|
|
72
72
|
| `/` (at start) | Slash command picker |
|
|
73
|
-
|
|
|
74
|
-
| `
|
|
75
|
-
| `
|
|
73
|
+
| `?` (empty prompt) | Keyboard shortcuts help overlay |
|
|
74
|
+
| `F1` | Project switcher (also `/project`) |
|
|
75
|
+
| `Ctrl+F` / `F2` | Toggle fleet orchestration monitor |
|
|
76
|
+
| `Ctrl+G` / `F3` | Toggle agents live monitor |
|
|
77
|
+
| `Ctrl+T` / `F4` | Toggle worktree monitor |
|
|
78
|
+
| `F5` | Toggle plan panel |
|
|
79
|
+
| `F6` | Toggle todos monitor overlay |
|
|
80
|
+
| `F7` | Toggle queue panel |
|
|
81
|
+
| `F8` | Toggle process list overlay |
|
|
82
|
+
| `F9` | Toggle goal panel |
|
|
83
|
+
| `F10` | Toggle live sessions panel |
|
|
84
|
+
| `F11` | Toggle coordinator monitor |
|
|
85
|
+
| `F12` | Open status line picker |
|
|
86
|
+
| `Ctrl+S` | Edit autonomy/settings defaults; also `/settings` |
|
|
87
|
+
| `Esc` | Close any picker / dialog / monitor / panel |
|
|
76
88
|
| `Ctrl+L` | Clear screen (TUI keeps state — equivalent to scrolling) |
|
|
77
89
|
|
|
78
90
|
## Options worth knowing
|
|
@@ -95,8 +107,7 @@ State is a single `useReducer` `State` shape with discriminated-union `Action`s.
|
|
|
95
107
|
|
|
96
108
|
## React Version
|
|
97
109
|
|
|
98
|
-
TUI
|
|
99
|
-
WebUI uses React 19. This is a known divergence tracked in this codebase.
|
|
110
|
+
TUI uses React 19 with Ink 7, matching the package dependencies in this workspace.
|
|
100
111
|
|
|
101
112
|
## License
|
|
102
113
|
|
package/dist/index.d.ts
CHANGED
|
@@ -125,6 +125,16 @@ interface ProviderOption {
|
|
|
125
125
|
modelsLabel?: string | undefined;
|
|
126
126
|
}
|
|
127
127
|
|
|
128
|
+
/** Context window mode options — cyclable via ←/→. */
|
|
129
|
+
declare const CONTEXT_MODES: readonly ["balanced", "frugal", "deep", "archival"];
|
|
130
|
+
type ContextMode = (typeof CONTEXT_MODES)[number];
|
|
131
|
+
declare const STATUSLINE_MODES: readonly ["minimum", "detailed"];
|
|
132
|
+
type StatuslineMode = (typeof STATUSLINE_MODES)[number];
|
|
133
|
+
declare const REASONING_EFFORTS: readonly ["none", "minimal", "low", "medium", "high", "xhigh", "max"];
|
|
134
|
+
type ReasoningEffort = (typeof REASONING_EFFORTS)[number];
|
|
135
|
+
declare const CACHE_TTLS: readonly ["default", "5m", "1h"];
|
|
136
|
+
type CacheTtl = (typeof CACHE_TTLS)[number];
|
|
137
|
+
|
|
128
138
|
/** Thin view over a SessionSummary for the resume picker. */
|
|
129
139
|
interface ResumeSessionEntry {
|
|
130
140
|
id: string;
|
|
@@ -159,6 +169,8 @@ type Settings = {
|
|
|
159
169
|
allowOutsideProjectRoot: boolean;
|
|
160
170
|
contextAutoCompact: boolean;
|
|
161
171
|
contextStrategy: 'hybrid' | 'intelligent' | 'selective';
|
|
172
|
+
contextMode: ContextMode;
|
|
173
|
+
maxConcurrent: number;
|
|
162
174
|
logLevel: 'error' | 'warn' | 'info' | 'debug' | 'trace';
|
|
163
175
|
auditLevel: 'minimal' | 'standard' | 'full';
|
|
164
176
|
indexOnStart: boolean;
|
|
@@ -173,6 +185,16 @@ type Settings = {
|
|
|
173
185
|
enhanceLanguage: 'original' | 'english';
|
|
174
186
|
/** Raw SSE stream debugging — hex-dump every byte received from providers. */
|
|
175
187
|
debugStream: boolean;
|
|
188
|
+
/** Statusline density mode. Defaults to detailed. */
|
|
189
|
+
statuslineMode: StatuslineMode;
|
|
190
|
+
/** Reasoning mode: auto (provider default) | on | off. */
|
|
191
|
+
reasoningMode: 'auto' | 'on' | 'off';
|
|
192
|
+
/** Reasoning effort level. */
|
|
193
|
+
reasoningEffort: ReasoningEffort;
|
|
194
|
+
/** Preserve thinking across turns. */
|
|
195
|
+
reasoningPreserve: boolean;
|
|
196
|
+
/** Prompt cache TTL. */
|
|
197
|
+
cacheTtl: CacheTtl;
|
|
176
198
|
/** Where to persist settings: 'global' or 'project'. */
|
|
177
199
|
configScope: 'global' | 'project';
|
|
178
200
|
/** Full mouse mode: in-app managed scroll + clickable UI (SGR tracking on). */
|
|
@@ -257,6 +279,8 @@ interface RunTuiOptions {
|
|
|
257
279
|
effectiveMaxContext?: number | undefined;
|
|
258
280
|
/** Absolute project root for goal.json loading. */
|
|
259
281
|
projectRoot?: string | undefined;
|
|
282
|
+
/** Full app config, used for HQ client publishing settings. */
|
|
283
|
+
appConfig?: _wrongstack_core.Config | undefined;
|
|
260
284
|
/**
|
|
261
285
|
* Terminal title animation on/off. Defaults to true. When false, the
|
|
262
286
|
* OSC-0 window/tab title stays static (the app name only, no spinner).
|
|
@@ -363,6 +387,12 @@ interface RunTuiOptions {
|
|
|
363
387
|
*/
|
|
364
388
|
statuslineHiddenItems: Array<'todos' | 'plan' | 'tasks' | 'fleet' | 'git' | 'elapsed' | 'context' | 'cost' | 'working_dir'>;
|
|
365
389
|
setStatuslineHiddenItems: (items: Array<'todos' | 'plan' | 'tasks' | 'fleet' | 'git' | 'elapsed' | 'context' | 'cost' | 'working_dir'>) => void;
|
|
390
|
+
/**
|
|
391
|
+
* Atomically updates in-memory state AND persists to
|
|
392
|
+
* ~/.wrongstack/statusline.json. Used by the statusline picker to
|
|
393
|
+
* make each toggle immediately durable.
|
|
394
|
+
*/
|
|
395
|
+
saveStatuslineHiddenItems: (items: Array<'todos' | 'plan' | 'tasks' | 'fleet' | 'git' | 'elapsed' | 'context' | 'cost' | 'working_dir'>) => Promise<void>;
|
|
366
396
|
/**
|
|
367
397
|
* Controller for the agents monitor overlay. App installs a dispatch-backed
|
|
368
398
|
* setter on mount so the `/agents on|off` slash command can toggle the
|
|
@@ -372,6 +402,14 @@ interface RunTuiOptions {
|
|
|
372
402
|
visible: boolean;
|
|
373
403
|
setVisible: (visible: boolean) => void;
|
|
374
404
|
} | undefined;
|
|
405
|
+
/**
|
|
406
|
+
* Mutable ref for opening TUI panels from slash commands. The slash commands
|
|
407
|
+
* call `onPanelOpen.current(action)` to open panels. The App sets
|
|
408
|
+
* `onPanelOpen.current` to its actual dispatch function on mount.
|
|
409
|
+
*/
|
|
410
|
+
onPanelOpen?: {
|
|
411
|
+
current: ((action: string) => boolean) | null;
|
|
412
|
+
} | undefined;
|
|
375
413
|
/**
|
|
376
414
|
* If set, the App boots straight into goal mode — the text is wrapped
|
|
377
415
|
* in the GOAL preamble and submitted as the first turn. Lets users
|
|
@@ -533,6 +571,40 @@ interface RunTuiOptions {
|
|
|
533
571
|
onCoordinatorStart?: ((goal?: string) => void) | undefined;
|
|
534
572
|
/** Stop the AutonomousCoordinator loop. */
|
|
535
573
|
onCoordinatorStop?: (() => void) | undefined;
|
|
574
|
+
/** List pending coordinator tasks claimable by this terminal. */
|
|
575
|
+
onCoordinatorTasks?: (() => Promise<Array<{
|
|
576
|
+
id: string;
|
|
577
|
+
title: string;
|
|
578
|
+
priority: string;
|
|
579
|
+
tags: string[];
|
|
580
|
+
}> | null>) | undefined;
|
|
581
|
+
/** Claim a coordinator task. Returns description on success. */
|
|
582
|
+
onCoordinatorClaim?: ((taskId: string) => Promise<string | null | {
|
|
583
|
+
description: string;
|
|
584
|
+
}>) | undefined;
|
|
585
|
+
/** Mark a claimed task as completed. */
|
|
586
|
+
onCoordinatorComplete?: ((taskId: string, result?: string) => Promise<string | null>) | undefined;
|
|
587
|
+
/** Mark a claimed task as failed. */
|
|
588
|
+
onCoordinatorFail?: ((taskId: string, error: string) => Promise<string | null>) | undefined;
|
|
589
|
+
/** Get coordinator stats for status display. */
|
|
590
|
+
onCoordinatorStatus?: (() => Promise<{
|
|
591
|
+
goals: {
|
|
592
|
+
total: number;
|
|
593
|
+
done: number;
|
|
594
|
+
pending: number;
|
|
595
|
+
failed: number;
|
|
596
|
+
};
|
|
597
|
+
dag: {
|
|
598
|
+
running: number;
|
|
599
|
+
ready: number;
|
|
600
|
+
done: number;
|
|
601
|
+
failed: number;
|
|
602
|
+
};
|
|
603
|
+
auction: {
|
|
604
|
+
pending: number;
|
|
605
|
+
inProgress: number;
|
|
606
|
+
};
|
|
607
|
+
} | null>) | undefined;
|
|
536
608
|
}
|
|
537
609
|
declare function runTui(opts: RunTuiOptions): Promise<number>;
|
|
538
610
|
|