@wrongstack/tui 0.286.0 → 0.289.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 +48 -8
- package/dist/app-initial-state.d.ts +19 -2
- package/dist/app-initial-state.d.ts.map +1 -1
- package/dist/app-props.d.ts +618 -0
- package/dist/app-props.d.ts.map +1 -0
- package/dist/app-reducer.d.ts.map +1 -1
- package/dist/app-state.d.ts +63 -12
- package/dist/app-state.d.ts.map +1 -1
- package/dist/app.d.ts +5 -587
- package/dist/app.d.ts.map +1 -1
- package/dist/components/agents-monitor.d.ts +21 -34
- package/dist/components/agents-monitor.d.ts.map +1 -1
- package/dist/components/auth-panel.d.ts.map +1 -1
- package/dist/components/composer-status-chip.d.ts +55 -0
- package/dist/components/composer-status-chip.d.ts.map +1 -0
- package/dist/components/context-panel.d.ts +25 -0
- package/dist/components/context-panel.d.ts.map +1 -0
- package/dist/components/coordinator-panel.d.ts.map +1 -1
- package/dist/components/cron-jobs.d.ts +24 -0
- package/dist/components/cron-jobs.d.ts.map +1 -0
- package/dist/components/enhance-panel.d.ts +43 -18
- package/dist/components/enhance-panel.d.ts.map +1 -1
- package/dist/components/f-key-picker.d.ts.map +1 -1
- package/dist/components/fleet-monitor.d.ts.map +1 -1
- package/dist/components/fleet-panel.d.ts +11 -7
- package/dist/components/fleet-panel.d.ts.map +1 -1
- package/dist/components/goal-kanban-panel.d.ts +14 -0
- package/dist/components/goal-kanban-panel.d.ts.map +1 -0
- package/dist/components/goal-panel.d.ts.map +1 -1
- package/dist/components/history/banner.d.ts +3 -6
- package/dist/components/history/banner.d.ts.map +1 -1
- package/dist/components/history/entry.d.ts +6 -1
- package/dist/components/history/entry.d.ts.map +1 -1
- package/dist/components/history/index.d.ts +2 -2
- package/dist/components/history/index.d.ts.map +1 -1
- package/dist/components/history/replay.d.ts +14 -38
- package/dist/components/history/replay.d.ts.map +1 -1
- package/dist/components/history/tool-card.d.ts +20 -0
- package/dist/components/history/tool-card.d.ts.map +1 -0
- package/dist/components/history/types.d.ts +16 -0
- package/dist/components/history/types.d.ts.map +1 -1
- package/dist/components/history/utils.d.ts.map +1 -1
- package/dist/components/history.d.ts +1 -1
- package/dist/components/history.d.ts.map +1 -1
- package/dist/components/input.d.ts +24 -1
- package/dist/components/input.d.ts.map +1 -1
- package/dist/components/kanban-panel.d.ts +4 -1
- package/dist/components/kanban-panel.d.ts.map +1 -1
- package/dist/components/monitor-shell.d.ts +48 -0
- package/dist/components/monitor-shell.d.ts.map +1 -0
- package/dist/components/phase-panel.d.ts +1 -1
- package/dist/components/plan-panel.d.ts +1 -1
- package/dist/components/plan-panel.d.ts.map +1 -1
- package/dist/components/powerline-rail.d.ts +16 -0
- package/dist/components/powerline-rail.d.ts.map +1 -0
- package/dist/components/process-list.d.ts.map +1 -1
- package/dist/components/project-picker.d.ts +2 -1
- package/dist/components/project-picker.d.ts.map +1 -1
- package/dist/components/queue-panel.d.ts.map +1 -1
- package/dist/components/refine-failure-panel.d.ts +47 -0
- package/dist/components/refine-failure-panel.d.ts.map +1 -0
- package/dist/components/scrollable-history.d.ts +1 -1
- package/dist/components/scrollable-history.d.ts.map +1 -1
- package/dist/components/sessions-panel.d.ts.map +1 -1
- package/dist/components/settings-picker.d.ts +5 -2
- package/dist/components/settings-picker.d.ts.map +1 -1
- package/dist/components/status-bar-chips.d.ts +33 -0
- package/dist/components/status-bar-chips.d.ts.map +1 -0
- package/dist/components/status-bar.d.ts +58 -25
- package/dist/components/status-bar.d.ts.map +1 -1
- package/dist/components/statusline-detail-panel.d.ts +10 -0
- package/dist/components/statusline-detail-panel.d.ts.map +1 -0
- package/dist/components/statusline-picker.d.ts +4 -4
- package/dist/components/statusline-picker.d.ts.map +1 -1
- package/dist/components/todos-monitor.d.ts.map +1 -1
- package/dist/components/worktree-monitor.d.ts +1 -1
- package/dist/components/worktree-monitor.d.ts.map +1 -1
- package/dist/components/worktree-panel.d.ts +1 -1
- package/dist/context-slash.d.ts +75 -0
- package/dist/context-slash.d.ts.map +1 -0
- package/dist/cron-slash.d.ts +33 -0
- package/dist/cron-slash.d.ts.map +1 -0
- package/dist/esc-close-panels.d.ts +42 -0
- package/dist/esc-close-panels.d.ts.map +1 -0
- package/dist/f-key-panels.d.ts +14 -1
- package/dist/f-key-panels.d.ts.map +1 -1
- package/dist/height-cache.d.ts +124 -0
- package/dist/height-cache.d.ts.map +1 -0
- package/dist/hooks/use-auth-panel.d.ts +2 -0
- package/dist/hooks/use-auth-panel.d.ts.map +1 -1
- package/dist/hooks/use-director-fleet-bridge.d.ts +6 -1
- package/dist/hooks/use-director-fleet-bridge.d.ts.map +1 -1
- package/dist/hooks/use-fleet-generation-gate.d.ts +37 -0
- package/dist/hooks/use-fleet-generation-gate.d.ts.map +1 -0
- package/dist/hooks/use-live-todos.d.ts +4 -0
- package/dist/hooks/use-live-todos.d.ts.map +1 -0
- package/dist/hooks/use-session-interrupt-controller.d.ts +44 -0
- package/dist/hooks/use-session-interrupt-controller.d.ts.map +1 -0
- package/dist/hooks/use-subagent-events.d.ts +3 -1
- package/dist/hooks/use-subagent-events.d.ts.map +1 -1
- package/dist/hooks/use-tui-activity.d.ts +28 -0
- package/dist/hooks/use-tui-activity.d.ts.map +1 -0
- package/dist/hooks/use-tui-event-bridge.d.ts +9 -3
- package/dist/hooks/use-tui-event-bridge.d.ts.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21439 -16063
- package/dist/index.js.map +4 -4
- package/dist/memory-slash.d.ts +15 -0
- package/dist/memory-slash.d.ts.map +1 -0
- package/dist/on-panel-open.d.ts +1 -1
- package/dist/on-panel-open.d.ts.map +1 -1
- package/dist/reducers/helpers.d.ts +1 -1
- package/dist/reducers/helpers.d.ts.map +1 -1
- package/dist/run-tui.d.ts +27 -2
- package/dist/run-tui.d.ts.map +1 -1
- package/dist/running-tools.d.ts +9 -0
- package/dist/running-tools.d.ts.map +1 -0
- package/dist/slash-command-search.d.ts +5 -0
- package/dist/slash-command-search.d.ts.map +1 -1
- package/dist/submit-history.d.ts.map +1 -1
- package/dist/terminal-width.d.ts +36 -0
- package/dist/terminal-width.d.ts.map +1 -0
- package/dist/theme.d.ts +50 -0
- package/dist/theme.d.ts.map +1 -1
- package/dist/tool-glyph.d.ts +1 -4
- package/dist/tool-glyph.d.ts.map +1 -1
- package/dist/ui-glyphs.d.ts +45 -0
- package/dist/ui-glyphs.d.ts.map +1 -0
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -26,11 +26,14 @@ const exitCode = await runTui({
|
|
|
26
26
|
model: 'anthropic-test-model',
|
|
27
27
|
banner: true,
|
|
28
28
|
yolo: false,
|
|
29
|
-
appVersion: '0.
|
|
29
|
+
appVersion: '0.287.0',
|
|
30
30
|
provider: 'anthropic',
|
|
31
31
|
family: 'anthropic',
|
|
32
32
|
keyTail: '…ABC',
|
|
33
33
|
effectiveMaxContext: 200_000,
|
|
34
|
+
statuslineHiddenItems: [],
|
|
35
|
+
setStatuslineHiddenItems: () => {},
|
|
36
|
+
saveStatuslineHiddenItems: async () => {},
|
|
34
37
|
});
|
|
35
38
|
|
|
36
39
|
process.exit(exitCode);
|
|
@@ -39,16 +42,32 @@ process.exit(exitCode);
|
|
|
39
42
|
## What you get
|
|
40
43
|
|
|
41
44
|
```
|
|
42
|
-
|
|
43
|
-
│
|
|
44
|
-
|
|
45
|
+
╭──────────────────────────────────────────────────────────────────────────────╮
|
|
46
|
+
│ v0.287.0 │
|
|
47
|
+
│ │
|
|
48
|
+
│ _ ______ ____ _ ______________________ ________ __ │
|
|
49
|
+
│ | | / / __ \/ __ \/ | / / ____/ ___/_ __/ | / ____/ //_/ │
|
|
50
|
+
│ | | /| / / /_/ / / / / |/ / / __ \__ \ / / / /| |/ / / ,< │
|
|
51
|
+
│ | |/ |/ / _, _/ /_/ / /| / /_/ /___/ // / / ___ / /___/ /| | │
|
|
52
|
+
│ |__/|__/_/ |_|\____/_/ |_/\____//____//_/ /_/ |_|\____/_/ |_| │
|
|
53
|
+
│ │
|
|
54
|
+
│ BUILT ON THE WRONG STACK. SHIPPED ANYWAY. │
|
|
55
|
+
│ │
|
|
56
|
+
│ ◆ route anthropic › anthropic-test-model │
|
|
57
|
+
│ ◇ family anthropic ◈ key •••• ABC │
|
|
58
|
+
│ ⌁ workspace /workspace/wrongstack │
|
|
59
|
+
│ │
|
|
60
|
+
│ ★ github.com/wrongstack/wrongstack — don't forget to star! │
|
|
61
|
+
│ ◆ wrongstack.com │
|
|
62
|
+
╰──────────────────────────────────────────────────────────────────────────────╯
|
|
45
63
|
user> refactor auth.ts to async/await
|
|
46
|
-
|
|
47
|
-
…
|
|
64
|
+
⠋ thinking (3 tools used · 4.2k tokens · 1.3s)
|
|
48
65
|
> █ ⚠ YOLO
|
|
49
|
-
|
|
66
|
+
───────────────────────────────────────────── ctx 47%
|
|
50
67
|
```
|
|
51
68
|
|
|
69
|
+
The wordmark and route label render in the brand gradient (orange → pink).
|
|
70
|
+
|
|
52
71
|
- **History pane** — assistant text, tool calls, tool results, errors, turn summaries
|
|
53
72
|
- **Streaming text** — partial deltas render live; on abort, partial response is preserved
|
|
54
73
|
- **Status bar** — model · provider · context-window % · YOLO chip · spinner
|
|
@@ -58,6 +77,27 @@ process.exit(exitCode);
|
|
|
58
77
|
- **Todo list** — sidebar reflecting `ctx.todos`
|
|
59
78
|
- **Attachments** — images and files dropped into the input become inline content blocks
|
|
60
79
|
|
|
80
|
+
## Terminal icons and Powerline
|
|
81
|
+
|
|
82
|
+
The TUI defaults to a portable Unicode icon set, so the segmented status rail,
|
|
83
|
+
composer frame, and tool cards work without installing a special font. Two
|
|
84
|
+
additional profiles are available through `WRONGSTACK_TUI_ICON_STYLE`:
|
|
85
|
+
|
|
86
|
+
```powershell
|
|
87
|
+
# Rich Powerline + development icons (requires a Nerd Font in the terminal)
|
|
88
|
+
$env:WRONGSTACK_TUI_ICON_STYLE = 'nerd'
|
|
89
|
+
wstack --tui
|
|
90
|
+
|
|
91
|
+
# Strict compatibility for basic terminals and CI captures
|
|
92
|
+
$env:WRONGSTACK_TUI_ICON_STYLE = 'ascii'
|
|
93
|
+
wstack --tui
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
For the `nerd` profile, select a current Nerd Font such as **CaskaydiaCove Nerd
|
|
97
|
+
Font** or **MesloLGS Nerd Font** in Windows Terminal, WezTerm, Kitty, or the
|
|
98
|
+
terminal host you use. Font selection belongs to the terminal; WrongStack does
|
|
99
|
+
not silently install or change system fonts.
|
|
100
|
+
|
|
61
101
|
## Key bindings
|
|
62
102
|
|
|
63
103
|
| Key | Effect |
|
|
@@ -73,7 +113,7 @@ process.exit(exitCode);
|
|
|
73
113
|
| `?` (empty prompt) | Keyboard shortcuts help overlay |
|
|
74
114
|
| `F1` | Project switcher (also `/project`) |
|
|
75
115
|
| `Ctrl+F` / `F2` | Toggle fleet orchestration monitor |
|
|
76
|
-
| `Ctrl+G` / `F3` | Toggle agents live
|
|
116
|
+
| `Ctrl+G` / `F3` | Toggle agents panel — left-right split: agent list + live transcript |
|
|
77
117
|
| `Ctrl+T` / `F4` | Toggle worktree monitor |
|
|
78
118
|
| `F5` | Toggle plan panel |
|
|
79
119
|
| `F6` | Toggle todos monitor overlay |
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AutonomyAgentStatus } from './components/history/types.js';
|
|
2
|
+
import type { FleetChatVerbosity, Message, SessionEvent } from '@wrongstack/core';
|
|
2
3
|
import type { State } from './app-state.js';
|
|
3
4
|
export type RestoredToolCall = {
|
|
4
5
|
name: string;
|
|
@@ -9,7 +10,19 @@ export type RestoredToolCall = {
|
|
|
9
10
|
outputTokens?: number | undefined;
|
|
10
11
|
outputLines?: number | undefined;
|
|
11
12
|
};
|
|
12
|
-
export declare function buildRestoredEntries(messages: Message[] | undefined, restoredToolCalls?: RestoredToolCall[] | undefined): State['entries'];
|
|
13
|
+
export declare function buildRestoredEntries(messages: Message[] | undefined, restoredToolCalls?: RestoredToolCall[] | undefined, restoredEvents?: SessionEvent[] | undefined): State['entries'];
|
|
14
|
+
/**
|
|
15
|
+
* Rebuild the checkpoint list from a resumed session's events.
|
|
16
|
+
*
|
|
17
|
+
* The live list is fed by the `checkpoint.written` EventBus bridge, which only
|
|
18
|
+
* fires for checkpoints written by THIS process — so without this a resumed
|
|
19
|
+
* session starts with an empty list and `/rewind` reports "no checkpoints"
|
|
20
|
+
* despite a JSONL full of them.
|
|
21
|
+
*
|
|
22
|
+
* `fileCount` is a live-only stat computed when the checkpoint is written; the
|
|
23
|
+
* JSONL does not carry it, so restored rows report 0.
|
|
24
|
+
*/
|
|
25
|
+
export declare function buildRestoredCheckpoints(restoredEvents?: SessionEvent[] | undefined): State['checkpoints'];
|
|
13
26
|
export interface CreateInitialStateOptions {
|
|
14
27
|
banner: boolean;
|
|
15
28
|
appVersion?: string | undefined;
|
|
@@ -18,7 +31,11 @@ export interface CreateInitialStateOptions {
|
|
|
18
31
|
cwd: string;
|
|
19
32
|
family?: string | undefined;
|
|
20
33
|
keyTail?: string | undefined;
|
|
34
|
+
/** Background autonomy agents to display in the banner. */
|
|
35
|
+
autonomyAgents?: ReadonlyArray<AutonomyAgentStatus> | undefined;
|
|
21
36
|
restoredEntries: State['entries'];
|
|
37
|
+
/** Checkpoints rebuilt from a resumed session's events. Empty for a fresh session. */
|
|
38
|
+
restoredCheckpoints?: State['checkpoints'] | undefined;
|
|
22
39
|
enhanceEnabled: boolean;
|
|
23
40
|
initialAgentsMonitorOpen?: boolean | undefined;
|
|
24
41
|
/** Boot-time fleet-chat verbosity (from persisted config). Default 'compact'. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-initial-state.d.ts","sourceRoot":"","sources":["../src/app-initial-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAmB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"app-initial-state.d.ts","sourceRoot":"","sources":["../src/app-initial-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,YAAY,EAAmB,MAAM,kBAAkB,CAAC;AAKnG,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,OAAO,EAAE,GAAG,SAAS,EAC/B,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAClD,cAAc,CAAC,EAAE,YAAY,EAAE,GAAG,SAAS,GAC1C,KAAK,CAAC,SAAS,CAAC,CAelB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,cAAc,CAAC,EAAE,YAAY,EAAE,GAAG,SAAS,GAC1C,KAAK,CAAC,aAAa,CAAC,CAatB;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,2DAA2D;IAC3D,cAAc,CAAC,EAAE,aAAa,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC;IAChE,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAClC,sFAAsF;IACtF,mBAAmB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;IACvD,cAAc,EAAE,OAAO,CAAC;IACxB,wBAAwB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/C,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;CACnD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,KAAK,CA8N5E"}
|