@agi-fans/dsh-tui 0.8.0 → 0.10.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/lib/CHANGELOG.md +44 -1
- package/lib/chrome/box.js +2 -1
- package/lib/chrome/box.js.map +1 -1
- package/lib/chrome/code-highlight.d.ts +45 -0
- package/lib/chrome/code-highlight.js +155 -0
- package/lib/chrome/code-highlight.js.map +1 -0
- package/lib/chrome/diff-render.d.ts +3 -1
- package/lib/chrome/diff-render.js +73 -9
- package/lib/chrome/diff-render.js.map +1 -1
- package/lib/chrome/markdown.d.ts +3 -6
- package/lib/chrome/markdown.js +5 -59
- package/lib/chrome/markdown.js.map +1 -1
- package/lib/chrome/md-style.d.ts +31 -0
- package/lib/chrome/md-style.js +58 -0
- package/lib/chrome/md-style.js.map +1 -0
- package/lib/chrome/welcome-tips.js +2 -1
- package/lib/chrome/welcome-tips.js.map +1 -1
- package/lib/chrome/width.d.ts +15 -0
- package/lib/chrome/width.js +119 -0
- package/lib/chrome/width.js.map +1 -1
- package/lib/commands/auth.d.ts +2 -1
- package/lib/commands/auth.js +318 -38
- package/lib/commands/auth.js.map +1 -1
- package/lib/commands/export.js +11 -6
- package/lib/commands/export.js.map +1 -1
- package/lib/commands/model.js +111 -4
- package/lib/commands/model.js.map +1 -1
- package/lib/commands/permission.js +1 -6
- package/lib/commands/permission.js.map +1 -1
- package/lib/commands/session.js +79 -36
- package/lib/commands/session.js.map +1 -1
- package/lib/commands/trajectory.d.ts +5 -0
- package/lib/commands/trajectory.js +20 -0
- package/lib/commands/trajectory.js.map +1 -0
- package/lib/definition.d.ts +12 -0
- package/lib/input/keybindings-config.d.ts +1 -1
- package/lib/input/keybindings-config.js +7 -1
- package/lib/input/keybindings-config.js.map +1 -1
- package/lib/runtime/provider-local.d.ts +1 -0
- package/lib/runtime/provider-local.js +110 -19
- package/lib/runtime/provider-local.js.map +1 -1
- package/lib/runtime/terminal-notifications.d.ts +24 -0
- package/lib/runtime/terminal-notifications.js +61 -0
- package/lib/runtime/terminal-notifications.js.map +1 -0
- package/lib/session/authorization-interaction.d.ts +12 -0
- package/lib/session/authorization-interaction.js +70 -0
- package/lib/session/authorization-interaction.js.map +1 -0
- package/lib/session/context-diagnostics.d.ts +8 -0
- package/lib/session/context-diagnostics.js +50 -0
- package/lib/session/context-diagnostics.js.map +1 -0
- package/lib/session/model-favorites.d.ts +11 -0
- package/lib/session/model-favorites.js +74 -0
- package/lib/session/model-favorites.js.map +1 -0
- package/lib/session/session-controller.d.ts +15 -5
- package/lib/session/session-controller.js +50 -16
- package/lib/session/session-controller.js.map +1 -1
- package/lib/session/session-library.d.ts +8 -0
- package/lib/session/session-library.js +43 -0
- package/lib/session/session-library.js.map +1 -0
- package/lib/session/subagent-roster.js +11 -1
- package/lib/session/subagent-roster.js.map +1 -1
- package/lib/session/tui-settings.d.ts +2 -0
- package/lib/session/tui-settings.js +2 -0
- package/lib/session/tui-settings.js.map +1 -1
- package/lib/views/agent-hub.d.ts +29 -0
- package/lib/views/agent-hub.js +165 -0
- package/lib/views/agent-hub.js.map +1 -0
- package/lib/views/event-views.d.ts +6 -0
- package/lib/views/event-views.js +84 -22
- package/lib/views/event-views.js.map +1 -1
- package/lib/views/hotkeys.js +3 -0
- package/lib/views/hotkeys.js.map +1 -1
- package/lib/views/prompt-selector.js +2 -1
- package/lib/views/prompt-selector.js.map +1 -1
- package/lib/views/settings-list.d.ts +2 -0
- package/lib/views/settings-list.js +21 -1
- package/lib/views/settings-list.js.map +1 -1
- package/lib/views/trajectory.d.ts +64 -0
- package/lib/views/trajectory.js +550 -0
- package/lib/views/trajectory.js.map +1 -0
- package/lib/views/transcript-export.d.ts +2 -0
- package/lib/views/transcript-export.js +34 -0
- package/lib/views/transcript-export.js.map +1 -1
- package/package.json +33 -27
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/** Product-owned ordering metadata for the durable Session Library. */
|
|
2
|
+
import { chmodSync, mkdirSync, readFileSync, renameSync, writeFileSync } from 'node:fs';
|
|
3
|
+
import { dirname } from 'node:path';
|
|
4
|
+
function validIds(value) {
|
|
5
|
+
if (!Array.isArray(value))
|
|
6
|
+
return [];
|
|
7
|
+
return [...new Set(value.filter((id) => typeof id === 'string' && id.trim() !== '').map(id => id.trim()))];
|
|
8
|
+
}
|
|
9
|
+
export function readPinnedSessions(path) {
|
|
10
|
+
try {
|
|
11
|
+
const parsed = JSON.parse(readFileSync(path, 'utf8'));
|
|
12
|
+
return validIds(parsed.pinned);
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
return [];
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export function writePinnedSessions(path, pinned) {
|
|
19
|
+
mkdirSync(dirname(path), { recursive: true, mode: 0o700 });
|
|
20
|
+
const temp = `${path}.${process.pid}.tmp`;
|
|
21
|
+
writeFileSync(temp, JSON.stringify({ pinned: validIds(pinned) }, null, 2) + '\n', { mode: 0o600 });
|
|
22
|
+
chmodSync(temp, 0o600);
|
|
23
|
+
renameSync(temp, path);
|
|
24
|
+
}
|
|
25
|
+
export function togglePinnedSession(pinned, id) {
|
|
26
|
+
return pinned.includes(id) ? pinned.filter(item => item !== id) : [id, ...pinned];
|
|
27
|
+
}
|
|
28
|
+
export function sortSessionRows(rows, pinned) {
|
|
29
|
+
const rank = new Map(pinned.map((id, index) => [id, index]));
|
|
30
|
+
return [...rows].sort((left, right) => {
|
|
31
|
+
const leftRank = rank.get(left.id);
|
|
32
|
+
const rightRank = rank.get(right.id);
|
|
33
|
+
if (leftRank !== undefined || rightRank !== undefined) {
|
|
34
|
+
if (leftRank === undefined)
|
|
35
|
+
return 1;
|
|
36
|
+
if (rightRank === undefined)
|
|
37
|
+
return -1;
|
|
38
|
+
return leftRank - rightRank;
|
|
39
|
+
}
|
|
40
|
+
return right.createdAt - left.createdAt;
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=session-library.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-library.js","sourceRoot":"","sources":["../../src/session/session-library.ts"],"names":[],"mappings":"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"}
|
|
@@ -274,8 +274,18 @@ export class SubagentRoster {
|
|
|
274
274
|
phase: agentStatus === 'running' ? 'running' : 'starting',
|
|
275
275
|
});
|
|
276
276
|
const seedLength = session.header.seedLength ?? 0;
|
|
277
|
-
|
|
277
|
+
const events = session.events.slice(seedLength);
|
|
278
|
+
for (const event of events)
|
|
278
279
|
view = applySubagentEvent(view, event);
|
|
280
|
+
const startedAt = events[0]?.time;
|
|
281
|
+
const updatedAt = events.at(-1)?.time;
|
|
282
|
+
if (startedAt !== undefined || updatedAt !== undefined) {
|
|
283
|
+
view = {
|
|
284
|
+
...view,
|
|
285
|
+
...(startedAt === undefined ? {} : { startedAt }),
|
|
286
|
+
...(updatedAt === undefined ? {} : { updatedAt }),
|
|
287
|
+
};
|
|
288
|
+
}
|
|
279
289
|
if (agentStatus === 'running' && view.phase !== 'error')
|
|
280
290
|
view = { ...view, phase: 'running' };
|
|
281
291
|
else if (agentStatus === 'idle' && view.phase === 'starting')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-roster.js","sourceRoot":"","sources":["../../src/session/subagent-roster.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subagent-roster.js","sourceRoot":"","sources":["../../src/session/subagent-roster.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,8 @@ export interface TuiSettings {
|
|
|
15
15
|
expandTools: boolean;
|
|
16
16
|
checkUpdates: boolean;
|
|
17
17
|
startupChangelog: StartupChangelogMode;
|
|
18
|
+
notifications: 'off' | 'long-running' | 'always';
|
|
19
|
+
notificationThreshold: '15s' | '30s' | '1m' | '2m';
|
|
18
20
|
statusBar?: StatusBarConfig;
|
|
19
21
|
/** Legacy input retained so older settings documents can be migrated. */
|
|
20
22
|
statusPreset?: StatusPreset;
|
|
@@ -15,6 +15,8 @@ export const TuiSettingsSchema = z.object({
|
|
|
15
15
|
expandTools: z.boolean().default(false),
|
|
16
16
|
checkUpdates: z.boolean().default(true),
|
|
17
17
|
startupChangelog: z.union([...STARTUP_CHANGELOG_MODES]).default('summary'),
|
|
18
|
+
notifications: z.union(['off', 'long-running', 'always']).default('off'),
|
|
19
|
+
notificationThreshold: z.union(['15s', '30s', '1m', '2m']).default('30s'),
|
|
18
20
|
statusBar: z.union([z.object({
|
|
19
21
|
enabled: z.boolean().default(true),
|
|
20
22
|
labels: z.union([...STATUS_LABEL_STYLES]).default('compact'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui-settings.js","sourceRoot":"","sources":["../../src/session/tui-settings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,CAAC,MAAM,0BAA0B,CAAA;AACxC,OAAO,EAAE,uBAAuB,EAA6B,MAAM,oBAAoB,CAAA;AACvF,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,cAAc,GAGf,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,WAAW,EAAkB,MAAM,oBAAoB,CAAA;AAEhE,0DAA0D;AAC1D,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"tui-settings.js","sourceRoot":"","sources":["../../src/session/tui-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** Keyboard-first full-screen roster and inspector for descendant subagents. */
|
|
2
|
+
import type { KeyEvent } from '../input/keys.ts';
|
|
3
|
+
import type { Theme } from '../chrome/theme.ts';
|
|
4
|
+
import type { TuiSubagentRoster } from '../definition.ts';
|
|
5
|
+
export interface AgentHubState {
|
|
6
|
+
roster: TuiSubagentRoster;
|
|
7
|
+
selectedId: string | null;
|
|
8
|
+
inspector: boolean;
|
|
9
|
+
detailScroll: number;
|
|
10
|
+
tree: boolean;
|
|
11
|
+
}
|
|
12
|
+
export type AgentHubCommand = {
|
|
13
|
+
state: AgentHubState;
|
|
14
|
+
} | {
|
|
15
|
+
close: true;
|
|
16
|
+
} | {
|
|
17
|
+
open: string;
|
|
18
|
+
};
|
|
19
|
+
export declare function createAgentHub(roster: TuiSubagentRoster): AgentHubState;
|
|
20
|
+
export declare function updateAgentHub(state: AgentHubState, roster: TuiSubagentRoster): AgentHubState;
|
|
21
|
+
export declare function applyAgentHubEvent(state: AgentHubState, event: KeyEvent): AgentHubCommand;
|
|
22
|
+
export declare function renderAgentHub(state: AgentHubState, theme: Theme, width: number, height: number, now?: number): {
|
|
23
|
+
lines: string[];
|
|
24
|
+
cursor: {
|
|
25
|
+
row: number;
|
|
26
|
+
column: number;
|
|
27
|
+
};
|
|
28
|
+
cursorVisible: boolean;
|
|
29
|
+
};
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/** Keyboard-first full-screen roster and inspector for descendant subagents. */
|
|
2
|
+
import { padToWidth, truncateToWidth, visibleWidth, wrapText } from "../chrome/width.js";
|
|
3
|
+
export function createAgentHub(roster) {
|
|
4
|
+
return {
|
|
5
|
+
roster,
|
|
6
|
+
selectedId: roster.agents[0]?.id ?? null,
|
|
7
|
+
inspector: false,
|
|
8
|
+
detailScroll: 0,
|
|
9
|
+
tree: true,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export function updateAgentHub(state, roster) {
|
|
13
|
+
const selectedId = roster.agents.some(agent => agent.id === state.selectedId)
|
|
14
|
+
? state.selectedId
|
|
15
|
+
: roster.agents[0]?.id ?? null;
|
|
16
|
+
return { ...state, roster, selectedId, detailScroll: selectedId === state.selectedId ? state.detailScroll : 0 };
|
|
17
|
+
}
|
|
18
|
+
function selectedAgent(state) {
|
|
19
|
+
return state.roster.agents.find(agent => agent.id === state.selectedId);
|
|
20
|
+
}
|
|
21
|
+
function move(state, delta) {
|
|
22
|
+
const agents = state.roster.agents;
|
|
23
|
+
if (agents.length === 0)
|
|
24
|
+
return state;
|
|
25
|
+
const current = Math.max(0, agents.findIndex(agent => agent.id === state.selectedId));
|
|
26
|
+
const index = Math.max(0, Math.min(agents.length - 1, current + delta));
|
|
27
|
+
return { ...state, selectedId: agents[index]?.id ?? null, detailScroll: 0 };
|
|
28
|
+
}
|
|
29
|
+
export function applyAgentHubEvent(state, event) {
|
|
30
|
+
if (event.type === 'text' && event.value.toLowerCase() === 't')
|
|
31
|
+
return { state: { ...state, tree: !state.tree } };
|
|
32
|
+
if (event.type !== 'key')
|
|
33
|
+
return { state };
|
|
34
|
+
if (event.id === 'escape' || event.id === 'ctrl+c') {
|
|
35
|
+
if (state.inspector)
|
|
36
|
+
return { state: { ...state, inspector: false, detailScroll: 0 } };
|
|
37
|
+
return { close: true };
|
|
38
|
+
}
|
|
39
|
+
if (event.id === 'up')
|
|
40
|
+
return { state: move(state, -1) };
|
|
41
|
+
if (event.id === 'down')
|
|
42
|
+
return { state: move(state, 1) };
|
|
43
|
+
if (event.id === 'home')
|
|
44
|
+
return { state: { ...state, selectedId: state.roster.agents[0]?.id ?? null, detailScroll: 0 } };
|
|
45
|
+
if (event.id === 'end')
|
|
46
|
+
return { state: { ...state, selectedId: state.roster.agents.at(-1)?.id ?? null, detailScroll: 0 } };
|
|
47
|
+
if (event.id === 'pageUp')
|
|
48
|
+
return { state: { ...state, detailScroll: Math.max(0, state.detailScroll - 10) } };
|
|
49
|
+
if (event.id === 'pageDown')
|
|
50
|
+
return { state: { ...state, detailScroll: state.detailScroll + 10 } };
|
|
51
|
+
if (event.id === 'tab' || event.id === 'left' || event.id === 'right') {
|
|
52
|
+
return { state: { ...state, inspector: !state.inspector, detailScroll: 0 } };
|
|
53
|
+
}
|
|
54
|
+
if (event.id === 'enter') {
|
|
55
|
+
const agent = selectedAgent(state);
|
|
56
|
+
return agent === undefined ? { state } : { open: agent.id };
|
|
57
|
+
}
|
|
58
|
+
return { state };
|
|
59
|
+
}
|
|
60
|
+
function phaseColor(phase) {
|
|
61
|
+
if (phase === 'running' || phase === 'starting')
|
|
62
|
+
return 'accent';
|
|
63
|
+
if (phase === 'completed')
|
|
64
|
+
return 'success';
|
|
65
|
+
if (phase === 'waiting')
|
|
66
|
+
return 'warning';
|
|
67
|
+
if (phase === 'error')
|
|
68
|
+
return 'error';
|
|
69
|
+
return 'dim';
|
|
70
|
+
}
|
|
71
|
+
function duration(agent, now) {
|
|
72
|
+
if (agent.startedAt === undefined)
|
|
73
|
+
return '—';
|
|
74
|
+
const end = agent.phase === 'running' || agent.phase === 'starting' ? now : agent.updatedAt ?? now;
|
|
75
|
+
const ms = Math.max(0, end - agent.startedAt);
|
|
76
|
+
if (ms < 1_000)
|
|
77
|
+
return `${Math.round(ms)}ms`;
|
|
78
|
+
if (ms < 60_000)
|
|
79
|
+
return `${(ms / 1_000).toFixed(ms < 10_000 ? 1 : 0)}s`;
|
|
80
|
+
return `${Math.floor(ms / 60_000)}m${Math.floor((ms % 60_000) / 1_000)}s`;
|
|
81
|
+
}
|
|
82
|
+
function rosterLine(agent, selected, tree, theme, width, now) {
|
|
83
|
+
const marker = selected ? theme.fg('accent', '›') : ' ';
|
|
84
|
+
const indent = tree ? ' '.repeat(Math.max(0, agent.depth - 1)) : '';
|
|
85
|
+
const phase = theme.fg(phaseColor(agent.phase), agent.phase.padEnd(9));
|
|
86
|
+
const elapsed = duration(agent, now).padStart(7);
|
|
87
|
+
const prefix = `${marker} ${indent}${phase} ${elapsed} `;
|
|
88
|
+
return prefix + truncateToWidth(agent.label, Math.max(0, width - visibleWidth(prefix)));
|
|
89
|
+
}
|
|
90
|
+
function rosterRows(state, theme, width, height, now) {
|
|
91
|
+
if (state.roster.agents.length === 0)
|
|
92
|
+
return [theme.fg('dim', ' No subagents are available in this session.')];
|
|
93
|
+
const selected = Math.max(0, state.roster.agents.findIndex(agent => agent.id === state.selectedId));
|
|
94
|
+
const start = Math.max(0, Math.min(state.roster.agents.length - height, selected - Math.floor(height / 2)));
|
|
95
|
+
return state.roster.agents.slice(start, start + height)
|
|
96
|
+
.map(agent => truncateToWidth(rosterLine(agent, agent.id === state.selectedId, state.tree, theme, width, now), width));
|
|
97
|
+
}
|
|
98
|
+
function inspectorText(agent, now) {
|
|
99
|
+
if (agent === undefined)
|
|
100
|
+
return 'No subagent selected.';
|
|
101
|
+
const current = agent.activity.at(-1);
|
|
102
|
+
const activity = agent.activity.length === 0
|
|
103
|
+
? ['No activity recorded.']
|
|
104
|
+
: agent.activity.map(item => `${item.status.padEnd(8)} ${item.text}`);
|
|
105
|
+
return [
|
|
106
|
+
agent.label,
|
|
107
|
+
'',
|
|
108
|
+
`Status: ${agent.phase}`,
|
|
109
|
+
`Mode: ${agent.mode ?? 'unknown'}`,
|
|
110
|
+
`Elapsed: ${duration(agent, now)}`,
|
|
111
|
+
`Session: ${agent.id}`,
|
|
112
|
+
`Parent: ${agent.parentId ?? 'root session'}`,
|
|
113
|
+
`Depth: ${agent.depth}`,
|
|
114
|
+
`Current: ${current?.text ?? '—'}`,
|
|
115
|
+
'',
|
|
116
|
+
'Recent activity',
|
|
117
|
+
...activity,
|
|
118
|
+
].join('\n');
|
|
119
|
+
}
|
|
120
|
+
function inspectorRows(state, theme, width, height, now) {
|
|
121
|
+
const body = wrapText(inspectorText(selectedAgent(state), now), Math.max(1, width - 2));
|
|
122
|
+
const viewportHeight = Math.max(0, height - 2);
|
|
123
|
+
const maxScroll = Math.max(0, body.length - viewportHeight);
|
|
124
|
+
const start = Math.min(state.detailScroll, maxScroll);
|
|
125
|
+
const end = Math.min(body.length, start + viewportHeight);
|
|
126
|
+
const position = body.length > viewportHeight
|
|
127
|
+
? theme.fg('dim', ` ${start + 1}-${end} / ${body.length} lines · PgUp/PgDn scroll`)
|
|
128
|
+
: '';
|
|
129
|
+
return [theme.bold(theme.fg('accent', ' Inspector')), truncateToWidth(position, width), ...body.slice(start, end)];
|
|
130
|
+
}
|
|
131
|
+
export function renderAgentHub(state, theme, width, height, now = Date.now()) {
|
|
132
|
+
const safeWidth = Math.max(1, width);
|
|
133
|
+
const safeHeight = Math.max(1, height);
|
|
134
|
+
const running = state.roster.agents.filter(agent => agent.phase === 'running' || agent.phase === 'starting').length;
|
|
135
|
+
const waiting = state.roster.agents.filter(agent => agent.phase === 'waiting').length;
|
|
136
|
+
const header = truncateToWidth(theme.bold(' Agent Hub ') + theme.fg('dim', `${state.roster.agents.length} agents · ${running} active · ${waiting} waiting`), safeWidth);
|
|
137
|
+
const toolbar = truncateToWidth(theme.fg('dim', ' ↑↓ navigate · Enter transcript · Tab inspector · PgUp/PgDn detail · t tree · Esc close'), safeWidth);
|
|
138
|
+
const divider = theme.fg('border', '─'.repeat(safeWidth));
|
|
139
|
+
const bodyHeight = Math.max(0, safeHeight - 4);
|
|
140
|
+
const wide = safeWidth >= 96;
|
|
141
|
+
let body;
|
|
142
|
+
if (wide) {
|
|
143
|
+
const leftWidth = Math.max(36, Math.floor(safeWidth * 0.46));
|
|
144
|
+
const rightWidth = Math.max(1, safeWidth - leftWidth - 1);
|
|
145
|
+
const left = rosterRows(state, theme, leftWidth, bodyHeight, now);
|
|
146
|
+
const right = inspectorRows(state, theme, rightWidth, bodyHeight, now);
|
|
147
|
+
body = Array.from({ length: bodyHeight }, (_, index) => padToWidth(left[index] ?? '', leftWidth) + theme.fg('border', '│') + truncateToWidth(right[index] ?? '', rightWidth));
|
|
148
|
+
}
|
|
149
|
+
else if (state.inspector) {
|
|
150
|
+
body = inspectorRows(state, theme, safeWidth, bodyHeight, now);
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
body = rosterRows(state, theme, safeWidth, bodyHeight, now);
|
|
154
|
+
}
|
|
155
|
+
while (body.length < bodyHeight)
|
|
156
|
+
body.push('');
|
|
157
|
+
const footer = truncateToWidth(theme.fg('dim', wide || state.inspector
|
|
158
|
+
? ' PgUp/PgDn scroll · Enter transcript · Esc close'
|
|
159
|
+
: ' Tab inspector · Enter transcript · Esc close'), safeWidth);
|
|
160
|
+
const lines = [header, toolbar, divider, ...body.slice(0, bodyHeight), footer].slice(0, safeHeight);
|
|
161
|
+
while (lines.length < safeHeight)
|
|
162
|
+
lines.push('');
|
|
163
|
+
return { lines, cursor: { row: safeHeight - 1, column: 0 }, cursorVisible: false };
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=agent-hub.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-hub.js","sourceRoot":"","sources":["../../src/views/agent-hub.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,8 @@ import { type HistorySearchState } from './history-search.ts';
|
|
|
15
15
|
import type { Frame, TranscriptScroll } from '../chrome/renderer.ts';
|
|
16
16
|
import { type CopySelectorState } from './copy-selector.ts';
|
|
17
17
|
import { type SettingsState } from './settings-list.ts';
|
|
18
|
+
import { type TrajectoryState } from './trajectory.ts';
|
|
19
|
+
import { type AgentHubState } from './agent-hub.ts';
|
|
18
20
|
import { type PromptSelectorState } from './prompt-selector.ts';
|
|
19
21
|
import { type StatusBarConfig, type StatusPreset } from '../chrome/status-config.ts';
|
|
20
22
|
import { type Theme, type ThemeName } from '../chrome/theme.ts';
|
|
@@ -140,6 +142,10 @@ export interface ViewOptions {
|
|
|
140
142
|
settings?: SettingsState;
|
|
141
143
|
/** `/copy` picker overlay; replaces the editor while open. */
|
|
142
144
|
copySelector?: CopySelectorState;
|
|
145
|
+
/** `/trajectory` full-screen event ledger. */
|
|
146
|
+
trajectory?: TrajectoryState;
|
|
147
|
+
/** Keyboard-first full-screen descendant roster and inspector. */
|
|
148
|
+
agentHub?: AgentHubState;
|
|
143
149
|
/** Human-interaction selector; replaces the normal editor while active. */
|
|
144
150
|
promptSelector?: PromptSelectorState;
|
|
145
151
|
/** Effective local + agent-scoped slash command catalog. */
|
package/lib/views/event-views.js
CHANGED
|
@@ -14,6 +14,8 @@ import { renderEditor, renderFramedBlock, renderWelcome, renderWorking } from ".
|
|
|
14
14
|
import { renderMarkdown } from "../chrome/markdown.js";
|
|
15
15
|
import { renderCopySelector } from "./copy-selector.js";
|
|
16
16
|
import { renderSettings } from "./settings-list.js";
|
|
17
|
+
import { renderTrajectory } from "./trajectory.js";
|
|
18
|
+
import { renderAgentHub } from "./agent-hub.js";
|
|
17
19
|
import { renderPlanReviewPage, renderPromptSelector, renderPromptSelectorPage, } from "./prompt-selector.js";
|
|
18
20
|
import { resolveStatusBarConfig } from "../chrome/status-config.js";
|
|
19
21
|
import { renderPermissionBadge, renderStatusFooter } from "../chrome/status-line.js";
|
|
@@ -70,12 +72,41 @@ function prettyArgs(raw) {
|
|
|
70
72
|
return raw;
|
|
71
73
|
}
|
|
72
74
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
75
|
+
function isRetryNotice(block) {
|
|
76
|
+
return block?.kind === 'notice' && block.level === 'info' && block.text.startsWith('retrying ');
|
|
77
|
+
}
|
|
78
|
+
function formatRetryNotice(event) {
|
|
79
|
+
const budget = event.data.mode === 'always'
|
|
80
|
+
? `${event.data.retry}`
|
|
81
|
+
: `${event.data.retry}/${event.data.maxRetries}`;
|
|
82
|
+
return `retrying ${event.data.failure.code} (${budget})`;
|
|
83
|
+
}
|
|
84
|
+
function dropRetryNotice(blocks) {
|
|
85
|
+
if (isRetryNotice(blocks[blocks.length - 1]))
|
|
86
|
+
blocks.pop();
|
|
87
|
+
}
|
|
88
|
+
function isMutableAttemptBlock(block, turn, step) {
|
|
89
|
+
if (block.kind === 'assistant') {
|
|
90
|
+
return block.streaming && block.turn === turn && (step === undefined || block.step === step);
|
|
91
|
+
}
|
|
92
|
+
return block.kind === 'tool' && (block.status === 'running' || block.partial === true);
|
|
93
|
+
}
|
|
94
|
+
/** Drop trailing live mutable rows from a failed attempt and keep replay indexes aligned. */
|
|
95
|
+
function hideFailedAttempt(blocks, turn, step, indexes) {
|
|
96
|
+
while (blocks.length > 0) {
|
|
97
|
+
const last = blocks[blocks.length - 1];
|
|
98
|
+
if (last === undefined)
|
|
99
|
+
break;
|
|
100
|
+
if (isRetryNotice(last)) {
|
|
101
|
+
blocks.pop();
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
if (!isMutableAttemptBlock(last, turn, step))
|
|
105
|
+
break;
|
|
106
|
+
blocks.pop();
|
|
107
|
+
if (last.kind === 'tool')
|
|
108
|
+
indexes?.toolByCallId.delete(last.callId);
|
|
109
|
+
}
|
|
79
110
|
}
|
|
80
111
|
/** Replace the trailing streaming block with a settled one, or append. */
|
|
81
112
|
function editableBlocks(state, mutable) {
|
|
@@ -83,6 +114,7 @@ function editableBlocks(state, mutable) {
|
|
|
83
114
|
}
|
|
84
115
|
function settleAssistant(state, turn, step, text, reasoning, interrupted, mutable) {
|
|
85
116
|
const blocks = editableBlocks(state, mutable);
|
|
117
|
+
dropRetryNotice(blocks);
|
|
86
118
|
const last = blocks[blocks.length - 1];
|
|
87
119
|
const settled = {
|
|
88
120
|
kind: 'assistant',
|
|
@@ -126,22 +158,38 @@ function foldEvent(state, event, presentation, mutable, indexes) {
|
|
|
126
158
|
switch (event.type) {
|
|
127
159
|
case 'turn/start':
|
|
128
160
|
return { ...state, status: 'running', turn: event.data.turn, todos: [], compactCommandId: undefined };
|
|
161
|
+
case 'llm/retry': {
|
|
162
|
+
const blocks = editableBlocks(state, mutable);
|
|
163
|
+
hideFailedAttempt(blocks, event.data.turn, event.data.step, indexes);
|
|
164
|
+
const notice = { kind: 'notice', level: 'info', text: formatRetryNotice(event) };
|
|
165
|
+
if (isRetryNotice(blocks[blocks.length - 1]))
|
|
166
|
+
blocks[blocks.length - 1] = notice;
|
|
167
|
+
else
|
|
168
|
+
blocks.push(notice);
|
|
169
|
+
return { ...state, blocks, status: 'running', turn: event.data.turn };
|
|
170
|
+
}
|
|
129
171
|
case 'turn/end': {
|
|
130
172
|
const last = state.blocks[state.blocks.length - 1];
|
|
131
173
|
const reason = event.data.reason;
|
|
132
174
|
const changesBlocks = (last?.kind === 'assistant' && last.streaming)
|
|
175
|
+
|| (last?.kind === 'tool' && (last.status === 'running' || last.partial === true))
|
|
176
|
+
|| isRetryNotice(last)
|
|
133
177
|
|| reason.kind === 'error'
|
|
134
178
|
|| reason.kind === 'aborted';
|
|
135
179
|
const blocks = changesBlocks ? editableBlocks(state, mutable) : state.blocks;
|
|
136
|
-
if (
|
|
137
|
-
blocks
|
|
180
|
+
if (reason.kind === 'error')
|
|
181
|
+
hideFailedAttempt(blocks, event.data.turn, undefined, indexes);
|
|
182
|
+
dropRetryNotice(blocks);
|
|
183
|
+
const settledLast = blocks[blocks.length - 1];
|
|
184
|
+
if (settledLast?.kind === 'assistant' && settledLast.streaming) {
|
|
185
|
+
blocks[blocks.length - 1] = { ...settledLast, streaming: false };
|
|
138
186
|
}
|
|
139
187
|
if (reason.kind === 'error') {
|
|
140
188
|
blocks.push({ kind: 'notice', level: 'error', text: 'error: ' + reason.error.code + ': ' + reason.error.message });
|
|
141
189
|
}
|
|
142
190
|
else if (reason.kind === 'aborted') {
|
|
143
|
-
//
|
|
144
|
-
// block
|
|
191
|
+
// A cancelled turn that already delivered a prefix finalizes it as an
|
|
192
|
+
// assistant block marked interrupted; the bare notice only covers a
|
|
145
193
|
// turn that aborted before any visible content.
|
|
146
194
|
const settledLast = blocks[blocks.length - 1];
|
|
147
195
|
if (settledLast?.kind !== 'assistant' || settledLast.interrupted !== true) {
|
|
@@ -167,12 +215,10 @@ function foldEvent(state, event, presentation, mutable, indexes) {
|
|
|
167
215
|
const { turn, step, chunk } = event.data;
|
|
168
216
|
if (chunk.type === 'text-delta') {
|
|
169
217
|
const blocks = editableBlocks(state, mutable);
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
if (found?.kind === 'assistant')
|
|
175
|
-
blocks[idx] = { ...found, text: found.text + chunk.text };
|
|
218
|
+
dropRetryNotice(blocks);
|
|
219
|
+
const last = blocks[blocks.length - 1];
|
|
220
|
+
if (last?.kind === 'assistant' && last.streaming && last.turn === turn && last.step === step) {
|
|
221
|
+
blocks[blocks.length - 1] = { ...last, text: last.text + chunk.text };
|
|
176
222
|
}
|
|
177
223
|
else {
|
|
178
224
|
blocks.push({ kind: 'assistant', turn, step, text: chunk.text, reasoning: '', streaming: true });
|
|
@@ -181,12 +227,10 @@ function foldEvent(state, event, presentation, mutable, indexes) {
|
|
|
181
227
|
}
|
|
182
228
|
if (chunk.type === 'reasoning-delta') {
|
|
183
229
|
const blocks = editableBlocks(state, mutable);
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
if (found?.kind === 'assistant')
|
|
189
|
-
blocks[idx] = { ...found, reasoning: found.reasoning + chunk.text };
|
|
230
|
+
dropRetryNotice(blocks);
|
|
231
|
+
const last = blocks[blocks.length - 1];
|
|
232
|
+
if (last?.kind === 'assistant' && last.streaming && last.turn === turn && last.step === step) {
|
|
233
|
+
blocks[blocks.length - 1] = { ...last, reasoning: last.reasoning + chunk.text };
|
|
190
234
|
}
|
|
191
235
|
else {
|
|
192
236
|
blocks.push({ kind: 'assistant', turn, step, text: '', reasoning: chunk.text, streaming: true });
|
|
@@ -195,6 +239,7 @@ function foldEvent(state, event, presentation, mutable, indexes) {
|
|
|
195
239
|
}
|
|
196
240
|
if (chunk.type === 'tool-call-delta') {
|
|
197
241
|
const blocks = editableBlocks(state, mutable);
|
|
242
|
+
dropRetryNotice(blocks);
|
|
198
243
|
const index = indexes === undefined
|
|
199
244
|
? blocks.findIndex(block => block.kind === 'tool' && block.callId === chunk.id)
|
|
200
245
|
: indexes.toolByCallId.get(chunk.id) ?? -1;
|
|
@@ -233,6 +278,7 @@ function foldEvent(state, event, presentation, mutable, indexes) {
|
|
|
233
278
|
...(presentation === undefined ? {} : { presentation }),
|
|
234
279
|
};
|
|
235
280
|
const blocks = editableBlocks(state, mutable);
|
|
281
|
+
dropRetryNotice(blocks);
|
|
236
282
|
const partial = indexes === undefined
|
|
237
283
|
? blocks.findIndex(item => item.kind === 'tool' && item.callId === event.data.callId)
|
|
238
284
|
: indexes.toolByCallId.get(event.data.callId) ?? -1;
|
|
@@ -919,6 +965,22 @@ export function renderView(state, options) {
|
|
|
919
965
|
const version = options.version ?? '0.1.0';
|
|
920
966
|
const pwd = options.pwd ?? '';
|
|
921
967
|
const spinnerFrame = options.spinnerFrame ?? 0;
|
|
968
|
+
if (options.agentHub !== undefined) {
|
|
969
|
+
const hub = renderAgentHub(options.agentHub, theme, width, height);
|
|
970
|
+
return {
|
|
971
|
+
lines: fitFrame(hub.lines, width),
|
|
972
|
+
cursor: hub.cursor,
|
|
973
|
+
cursorVisible: hub.cursorVisible,
|
|
974
|
+
};
|
|
975
|
+
}
|
|
976
|
+
if (options.trajectory !== undefined) {
|
|
977
|
+
const trajectory = renderTrajectory(options.trajectory, theme, width, height);
|
|
978
|
+
return {
|
|
979
|
+
lines: fitFrame(trajectory.lines, width),
|
|
980
|
+
cursor: trajectory.cursor,
|
|
981
|
+
cursorVisible: trajectory.cursorVisible,
|
|
982
|
+
};
|
|
983
|
+
}
|
|
922
984
|
if (options.settings !== undefined && options.promptSelector === undefined) {
|
|
923
985
|
const settings = renderSettings(options.settings, theme, width, height);
|
|
924
986
|
return {
|