@wrongstack/tui 0.267.0 → 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 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
- | `Ctrl+G` | Toggle agents monitor overlay |
74
- | `Ctrl+S` | Edit autonomy settings (default mode + auto-proceed delay); also `/settings` |
75
- | `Esc` | Close any picker / dialog / agents monitor |
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 remains on React 18 because ink v5 does not yet fully support React 19.
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
@@ -128,6 +128,12 @@ interface ProviderOption {
128
128
  /** Context window mode options — cyclable via ←/→. */
129
129
  declare const CONTEXT_MODES: readonly ["balanced", "frugal", "deep", "archival"];
130
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];
131
137
 
132
138
  /** Thin view over a SessionSummary for the resume picker. */
133
139
  interface ResumeSessionEntry {
@@ -179,6 +185,16 @@ type Settings = {
179
185
  enhanceLanguage: 'original' | 'english';
180
186
  /** Raw SSE stream debugging — hex-dump every byte received from providers. */
181
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;
182
198
  /** Where to persist settings: 'global' or 'project'. */
183
199
  configScope: 'global' | 'project';
184
200
  /** Full mouse mode: in-app managed scroll + clickable UI (SGR tracking on). */
@@ -263,6 +279,8 @@ interface RunTuiOptions {
263
279
  effectiveMaxContext?: number | undefined;
264
280
  /** Absolute project root for goal.json loading. */
265
281
  projectRoot?: string | undefined;
282
+ /** Full app config, used for HQ client publishing settings. */
283
+ appConfig?: _wrongstack_core.Config | undefined;
266
284
  /**
267
285
  * Terminal title animation on/off. Defaults to true. When false, the
268
286
  * OSC-0 window/tab title stays static (the app name only, no spinner).
@@ -553,6 +571,40 @@ interface RunTuiOptions {
553
571
  onCoordinatorStart?: ((goal?: string) => void) | undefined;
554
572
  /** Stop the AutonomousCoordinator loop. */
555
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;
556
608
  }
557
609
  declare function runTui(opts: RunTuiOptions): Promise<number>;
558
610