@k1e1n04/mav 0.1.19 → 0.1.21
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/dist/package.json +1 -1
- package/dist/src/ui/overview.d.ts +12 -1
- package/dist/src/ui/overview.js +145 -39
- package/dist/src/ui/overview.js.map +1 -1
- package/lua/mav/init.lua +21 -0
- package/package.json +1 -1
- package/src/ui/overview.ts +164 -39
package/dist/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { SessionManager } from '../session-manager.js';
|
|
2
2
|
import type { KeyInfo, TerminalUI } from './terminal.js';
|
|
3
3
|
export declare class OverviewUI {
|
|
4
|
+
private static readonly HORIZONTAL_MARGIN;
|
|
4
5
|
private static readonly ANSI;
|
|
5
6
|
private static readonly STATUS_GROUPS;
|
|
6
7
|
private static readonly AGENT_TYPES;
|
|
@@ -26,11 +27,21 @@ export declare class OverviewUI {
|
|
|
26
27
|
private getStatusRank;
|
|
27
28
|
private countByStatus;
|
|
28
29
|
private stripAnsi;
|
|
30
|
+
private visibleLength;
|
|
31
|
+
private getRenderWidth;
|
|
32
|
+
private getContentWidth;
|
|
33
|
+
private insetLine;
|
|
34
|
+
private finalizeLines;
|
|
29
35
|
private padRight;
|
|
36
|
+
private fitPlain;
|
|
37
|
+
private fitVisible;
|
|
30
38
|
private color;
|
|
31
39
|
private getStatusColor;
|
|
32
40
|
private makeRule;
|
|
33
|
-
private
|
|
41
|
+
private wrapPlainText;
|
|
42
|
+
private wrapPathText;
|
|
43
|
+
private wrapVisibleParts;
|
|
44
|
+
private formatSummaryLines;
|
|
34
45
|
private buildMainLines;
|
|
35
46
|
private buildPromptLines;
|
|
36
47
|
private render;
|
package/dist/src/ui/overview.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { getAgentDefaults, resolveSessionArgs } from '../agent-launch.js';
|
|
2
2
|
import { completePath } from './path-completion.js';
|
|
3
3
|
export class OverviewUI {
|
|
4
|
+
static HORIZONTAL_MARGIN = 1;
|
|
4
5
|
static ANSI = {
|
|
5
6
|
reset: '\x1b[0m',
|
|
6
7
|
bold: '\x1b[1m',
|
|
@@ -273,13 +274,47 @@ export class OverviewUI {
|
|
|
273
274
|
stripAnsi(value) {
|
|
274
275
|
return value.replace(/\x1b\[[0-9;]*m/g, '');
|
|
275
276
|
}
|
|
277
|
+
visibleLength(value) {
|
|
278
|
+
return this.stripAnsi(value).length;
|
|
279
|
+
}
|
|
280
|
+
getRenderWidth() {
|
|
281
|
+
return Math.max(20, this.terminal.cols || 80);
|
|
282
|
+
}
|
|
283
|
+
getContentWidth() {
|
|
284
|
+
return Math.max(10, this.getRenderWidth() - (OverviewUI.HORIZONTAL_MARGIN * 2));
|
|
285
|
+
}
|
|
286
|
+
insetLine(line) {
|
|
287
|
+
if (line.length === 0)
|
|
288
|
+
return '';
|
|
289
|
+
return `${' '.repeat(OverviewUI.HORIZONTAL_MARGIN)}${line}`;
|
|
290
|
+
}
|
|
291
|
+
finalizeLines(lines) {
|
|
292
|
+
const maxWidth = this.getRenderWidth();
|
|
293
|
+
return lines.map((line) => {
|
|
294
|
+
const inset = this.insetLine(line);
|
|
295
|
+
return this.fitVisible(inset, maxWidth);
|
|
296
|
+
});
|
|
297
|
+
}
|
|
276
298
|
padRight(value, width) {
|
|
277
|
-
const visibleLength = this.
|
|
299
|
+
const visibleLength = this.visibleLength(value);
|
|
278
300
|
if (visibleLength >= width) {
|
|
279
301
|
return value;
|
|
280
302
|
}
|
|
281
303
|
return value + ' '.repeat(width - visibleLength);
|
|
282
304
|
}
|
|
305
|
+
fitPlain(value, width) {
|
|
306
|
+
if (width <= 0)
|
|
307
|
+
return '';
|
|
308
|
+
if (value.length <= width)
|
|
309
|
+
return value;
|
|
310
|
+
if (width === 1)
|
|
311
|
+
return '…';
|
|
312
|
+
return `${value.slice(0, width - 1)}…`;
|
|
313
|
+
}
|
|
314
|
+
fitVisible(value, width) {
|
|
315
|
+
const plain = this.stripAnsi(value);
|
|
316
|
+
return plain.length <= width ? value : this.fitPlain(plain, width);
|
|
317
|
+
}
|
|
283
318
|
color(text, ...codes) {
|
|
284
319
|
return `${codes.join('')}${text}${OverviewUI.ANSI.reset}`;
|
|
285
320
|
}
|
|
@@ -297,29 +332,103 @@ export class OverviewUI {
|
|
|
297
332
|
return OverviewUI.ANSI.fgSlate;
|
|
298
333
|
}
|
|
299
334
|
}
|
|
300
|
-
makeRule(label, width =
|
|
335
|
+
makeRule(label, width = this.getRenderWidth()) {
|
|
301
336
|
const text = ` ${label} `;
|
|
302
337
|
if (text.length >= width) {
|
|
303
|
-
return text;
|
|
338
|
+
return this.fitPlain(text, width);
|
|
304
339
|
}
|
|
305
340
|
const fill = '─'.repeat(width - text.length);
|
|
306
341
|
return text + fill;
|
|
307
342
|
}
|
|
308
|
-
|
|
343
|
+
wrapPlainText(text, width) {
|
|
344
|
+
if (width <= 0)
|
|
345
|
+
return [''];
|
|
346
|
+
const words = text.split(/\s+/).filter(Boolean);
|
|
347
|
+
if (words.length === 0)
|
|
348
|
+
return [''];
|
|
349
|
+
const lines = [];
|
|
350
|
+
let current = '';
|
|
351
|
+
for (const word of words) {
|
|
352
|
+
const next = current ? `${current} ${word}` : word;
|
|
353
|
+
if (next.length <= width) {
|
|
354
|
+
current = next;
|
|
355
|
+
continue;
|
|
356
|
+
}
|
|
357
|
+
if (current) {
|
|
358
|
+
lines.push(current);
|
|
359
|
+
current = '';
|
|
360
|
+
}
|
|
361
|
+
if (word.length <= width) {
|
|
362
|
+
current = word;
|
|
363
|
+
}
|
|
364
|
+
else {
|
|
365
|
+
lines.push(this.fitPlain(word, width));
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
if (current) {
|
|
369
|
+
lines.push(current);
|
|
370
|
+
}
|
|
371
|
+
return lines;
|
|
372
|
+
}
|
|
373
|
+
wrapPathText(text, width) {
|
|
374
|
+
if (width <= 0)
|
|
375
|
+
return [''];
|
|
376
|
+
if (text.length <= width)
|
|
377
|
+
return [text];
|
|
378
|
+
const lines = [];
|
|
379
|
+
let remaining = text;
|
|
380
|
+
while (remaining.length > width) {
|
|
381
|
+
const slice = remaining.slice(0, width + 1);
|
|
382
|
+
const breakIndex = slice.lastIndexOf('/');
|
|
383
|
+
if (breakIndex > 0) {
|
|
384
|
+
lines.push(remaining.slice(0, breakIndex));
|
|
385
|
+
remaining = remaining.slice(breakIndex);
|
|
386
|
+
continue;
|
|
387
|
+
}
|
|
388
|
+
lines.push(remaining.slice(0, width));
|
|
389
|
+
remaining = remaining.slice(width);
|
|
390
|
+
}
|
|
391
|
+
if (remaining.length > 0) {
|
|
392
|
+
lines.push(remaining);
|
|
393
|
+
}
|
|
394
|
+
return lines;
|
|
395
|
+
}
|
|
396
|
+
wrapVisibleParts(parts, width) {
|
|
397
|
+
if (width <= 0)
|
|
398
|
+
return [''];
|
|
399
|
+
const lines = [];
|
|
400
|
+
let current = '';
|
|
401
|
+
for (const part of parts) {
|
|
402
|
+
const next = current ? `${current} · ${part}` : part;
|
|
403
|
+
if (this.visibleLength(next) <= width) {
|
|
404
|
+
current = next;
|
|
405
|
+
continue;
|
|
406
|
+
}
|
|
407
|
+
if (current) {
|
|
408
|
+
lines.push(current);
|
|
409
|
+
}
|
|
410
|
+
current = this.visibleLength(part) <= width ? part : this.fitVisible(part, width);
|
|
411
|
+
}
|
|
412
|
+
if (current) {
|
|
413
|
+
lines.push(current);
|
|
414
|
+
}
|
|
415
|
+
return lines;
|
|
416
|
+
}
|
|
417
|
+
formatSummaryLines(width) {
|
|
309
418
|
const parts = OverviewUI.STATUS_GROUPS.map((group) => {
|
|
310
419
|
const count = this.countByStatus(group.status);
|
|
311
420
|
return this.color(`${group.label} ${count}`, OverviewUI.ANSI.bold, this.getStatusColor(group.status));
|
|
312
421
|
});
|
|
313
|
-
return
|
|
422
|
+
return this.wrapVisibleParts(parts, width);
|
|
314
423
|
}
|
|
315
424
|
buildMainLines() {
|
|
316
425
|
const orderedSessions = this.getOrderedSessions();
|
|
317
426
|
const selectedId = this.manager.selectedSession?.id;
|
|
427
|
+
const width = this.getContentWidth();
|
|
318
428
|
const lines = [
|
|
319
|
-
'
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
'╰──────────────────────────────────────────────────────────────────────────╯',
|
|
429
|
+
this.color(this.makeRule('mav overview', width), OverviewUI.ANSI.dim),
|
|
430
|
+
'AGENTS',
|
|
431
|
+
...this.formatSummaryLines(width),
|
|
323
432
|
'',
|
|
324
433
|
];
|
|
325
434
|
const cwdGroups = this.groupByCwd(orderedSessions);
|
|
@@ -339,7 +448,7 @@ export class OverviewUI {
|
|
|
339
448
|
const sessionTitle = session.displayName ?? session.id;
|
|
340
449
|
const sessionLabel = session.type ? `${sessionTitle} (${session.type})` : sessionTitle;
|
|
341
450
|
const prefix = session.id === selectedId ? '> ' : ' ';
|
|
342
|
-
const sessionLine = `${prefix}${statusIcon} ${sessionLabel} ${this.getStatusLabel(session.status)}
|
|
451
|
+
const sessionLine = this.fitPlain(`${prefix}${statusIcon} ${sessionLabel} ${this.getStatusLabel(session.status)}`, width);
|
|
343
452
|
lines.push(session.id === selectedId
|
|
344
453
|
? this.color(sessionLine, OverviewUI.ANSI.bold, color)
|
|
345
454
|
: this.color(sessionLine, color));
|
|
@@ -348,54 +457,51 @@ export class OverviewUI {
|
|
|
348
457
|
}
|
|
349
458
|
}
|
|
350
459
|
if (orderedSessions.length === 0) {
|
|
351
|
-
lines.push(this.makeRule('empty'));
|
|
352
|
-
lines.push(' No sessions. Press n to add one.');
|
|
460
|
+
lines.push(this.color(this.makeRule('empty', width), OverviewUI.ANSI.dim));
|
|
461
|
+
lines.push(this.fitPlain(' No sessions. Press n to add one.', width));
|
|
353
462
|
lines.push('');
|
|
354
463
|
}
|
|
355
|
-
lines.push('
|
|
356
|
-
lines.push(
|
|
357
|
-
|
|
358
|
-
return lines;
|
|
464
|
+
lines.push(this.color(this.makeRule('controls', width), OverviewUI.ANSI.dim));
|
|
465
|
+
lines.push(...this.wrapPlainText('↑/↓ or j/k move Enter detail Ctrl+] back n new d delete q quit', width));
|
|
466
|
+
return this.finalizeLines(lines);
|
|
359
467
|
}
|
|
360
468
|
buildPromptLines() {
|
|
361
469
|
const state = this.promptState;
|
|
362
470
|
if (!state)
|
|
363
471
|
return [];
|
|
364
|
-
const
|
|
472
|
+
const width = this.getContentWidth();
|
|
473
|
+
const lines = ['', this.color(this.makeRule('prompt', width), OverviewUI.ANSI.dim)];
|
|
365
474
|
if (state.mode === 'agent') {
|
|
366
|
-
lines.push(
|
|
367
|
-
lines.push('
|
|
475
|
+
lines.push(this.fitPlain('Select agent type', width));
|
|
476
|
+
lines.push('');
|
|
368
477
|
for (const [index, agentType] of OverviewUI.AGENT_TYPES.entries()) {
|
|
369
|
-
lines.push(
|
|
478
|
+
lines.push(this.fitPlain(`${index === state.selectedIndex ? '> ' : ' '}${agentType}`, width));
|
|
370
479
|
}
|
|
371
|
-
lines.push('
|
|
372
|
-
lines.push(
|
|
373
|
-
|
|
374
|
-
return lines;
|
|
480
|
+
lines.push('');
|
|
481
|
+
lines.push(...this.wrapPlainText('Enter: select Esc: cancel', width));
|
|
482
|
+
return this.finalizeLines(lines);
|
|
375
483
|
}
|
|
376
484
|
if (state.mode === 'cwd') {
|
|
377
|
-
lines.push(
|
|
378
|
-
lines.push(
|
|
485
|
+
lines.push(this.fitPlain(`cwd for ${state.agentType}`, width));
|
|
486
|
+
lines.push(...this.wrapPathText(state.value, width));
|
|
379
487
|
if (state.candidates.length > 1) {
|
|
380
|
-
lines.push('
|
|
381
|
-
lines.push(
|
|
488
|
+
lines.push('');
|
|
489
|
+
lines.push(this.fitPlain('Candidates:', width));
|
|
382
490
|
for (const candidate of state.candidates.slice(0, 8)) {
|
|
383
|
-
lines.push(
|
|
491
|
+
lines.push(...this.wrapPathText(` ${candidate}`, width));
|
|
384
492
|
}
|
|
385
493
|
}
|
|
386
|
-
lines.push('
|
|
387
|
-
lines.push(
|
|
388
|
-
|
|
389
|
-
return lines;
|
|
494
|
+
lines.push('');
|
|
495
|
+
lines.push(...this.wrapPlainText('Tab: complete Enter: confirm Esc: cancel', width));
|
|
496
|
+
return this.finalizeLines(lines);
|
|
390
497
|
}
|
|
391
|
-
lines.push(
|
|
498
|
+
lines.push(this.fitPlain('Error', width));
|
|
392
499
|
for (const line of state.message.split('\n')) {
|
|
393
|
-
lines.push(
|
|
500
|
+
lines.push(this.fitPlain(line, width));
|
|
394
501
|
}
|
|
395
|
-
lines.push('
|
|
396
|
-
lines.push(
|
|
397
|
-
|
|
398
|
-
return lines;
|
|
502
|
+
lines.push('');
|
|
503
|
+
lines.push(...this.wrapPlainText('Enter/Esc/q: close', width));
|
|
504
|
+
return this.finalizeLines(lines);
|
|
399
505
|
}
|
|
400
506
|
render() {
|
|
401
507
|
if (!this.visible)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overview.js","sourceRoot":"","sources":["../../../src/ui/overview.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"overview.js","sourceRoot":"","sources":["../../../src/ui/overview.ts"],"names":[],"mappings":"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"}
|
package/lua/mav/init.lua
CHANGED
|
@@ -16,6 +16,24 @@ M._timer = nil
|
|
|
16
16
|
M._last_updated = nil
|
|
17
17
|
M._last_session = nil
|
|
18
18
|
|
|
19
|
+
local function normalize_path(path)
|
|
20
|
+
if type(path) ~= "string" or path == "" then
|
|
21
|
+
return nil
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
local uv = vim.uv or vim.loop
|
|
25
|
+
local real = uv and uv.fs_realpath(path) or nil
|
|
26
|
+
return real or path
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
local function current_cwd_matches(session)
|
|
30
|
+
if not session or type(session.cwd) ~= "string" or session.cwd == "" then
|
|
31
|
+
return false
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
return normalize_path(vim.fn.getcwd()) == normalize_path(session.cwd)
|
|
35
|
+
end
|
|
36
|
+
|
|
19
37
|
local function read_session()
|
|
20
38
|
return state.read(M._opts.state_file)
|
|
21
39
|
end
|
|
@@ -42,6 +60,9 @@ function M.poll_once()
|
|
|
42
60
|
end
|
|
43
61
|
|
|
44
62
|
if session.updatedAt == M._last_updated then
|
|
63
|
+
if M._opts.auto_follow and not current_cwd_matches(M._last_session) then
|
|
64
|
+
follow.follow(M._last_session, M._opts)
|
|
65
|
+
end
|
|
45
66
|
return M._last_session
|
|
46
67
|
end
|
|
47
68
|
|
package/package.json
CHANGED
package/src/ui/overview.ts
CHANGED
|
@@ -11,6 +11,8 @@ type PromptState =
|
|
|
11
11
|
| null
|
|
12
12
|
|
|
13
13
|
export class OverviewUI {
|
|
14
|
+
private static readonly HORIZONTAL_MARGIN = 1
|
|
15
|
+
|
|
14
16
|
private static readonly ANSI = {
|
|
15
17
|
reset: '\x1b[0m',
|
|
16
18
|
bold: '\x1b[1m',
|
|
@@ -323,14 +325,51 @@ export class OverviewUI {
|
|
|
323
325
|
return value.replace(/\x1b\[[0-9;]*m/g, '')
|
|
324
326
|
}
|
|
325
327
|
|
|
328
|
+
private visibleLength(value: string): number {
|
|
329
|
+
return this.stripAnsi(value).length
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
private getRenderWidth(): number {
|
|
333
|
+
return Math.max(20, this.terminal.cols || 80)
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
private getContentWidth(): number {
|
|
337
|
+
return Math.max(10, this.getRenderWidth() - (OverviewUI.HORIZONTAL_MARGIN * 2))
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
private insetLine(line: string): string {
|
|
341
|
+
if (line.length === 0) return ''
|
|
342
|
+
return `${' '.repeat(OverviewUI.HORIZONTAL_MARGIN)}${line}`
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
private finalizeLines(lines: string[]): string[] {
|
|
346
|
+
const maxWidth = this.getRenderWidth()
|
|
347
|
+
return lines.map((line) => {
|
|
348
|
+
const inset = this.insetLine(line)
|
|
349
|
+
return this.fitVisible(inset, maxWidth)
|
|
350
|
+
})
|
|
351
|
+
}
|
|
352
|
+
|
|
326
353
|
private padRight(value: string, width: number): string {
|
|
327
|
-
const visibleLength = this.
|
|
354
|
+
const visibleLength = this.visibleLength(value)
|
|
328
355
|
if (visibleLength >= width) {
|
|
329
356
|
return value
|
|
330
357
|
}
|
|
331
358
|
return value + ' '.repeat(width - visibleLength)
|
|
332
359
|
}
|
|
333
360
|
|
|
361
|
+
private fitPlain(value: string, width: number): string {
|
|
362
|
+
if (width <= 0) return ''
|
|
363
|
+
if (value.length <= width) return value
|
|
364
|
+
if (width === 1) return '…'
|
|
365
|
+
return `${value.slice(0, width - 1)}…`
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
private fitVisible(value: string, width: number): string {
|
|
369
|
+
const plain = this.stripAnsi(value)
|
|
370
|
+
return plain.length <= width ? value : this.fitPlain(plain, width)
|
|
371
|
+
}
|
|
372
|
+
|
|
334
373
|
private color(text: string, ...codes: string[]): string {
|
|
335
374
|
return `${codes.join('')}${text}${OverviewUI.ANSI.reset}`
|
|
336
375
|
}
|
|
@@ -350,31 +389,117 @@ export class OverviewUI {
|
|
|
350
389
|
}
|
|
351
390
|
}
|
|
352
391
|
|
|
353
|
-
private makeRule(label: string, width =
|
|
392
|
+
private makeRule(label: string, width = this.getRenderWidth()): string {
|
|
354
393
|
const text = ` ${label} `
|
|
355
394
|
if (text.length >= width) {
|
|
356
|
-
return text
|
|
395
|
+
return this.fitPlain(text, width)
|
|
357
396
|
}
|
|
358
397
|
const fill = '─'.repeat(width - text.length)
|
|
359
398
|
return text + fill
|
|
360
399
|
}
|
|
361
400
|
|
|
362
|
-
private
|
|
401
|
+
private wrapPlainText(text: string, width: number): string[] {
|
|
402
|
+
if (width <= 0) return ['']
|
|
403
|
+
const words = text.split(/\s+/).filter(Boolean)
|
|
404
|
+
if (words.length === 0) return ['']
|
|
405
|
+
|
|
406
|
+
const lines: string[] = []
|
|
407
|
+
let current = ''
|
|
408
|
+
for (const word of words) {
|
|
409
|
+
const next = current ? `${current} ${word}` : word
|
|
410
|
+
if (next.length <= width) {
|
|
411
|
+
current = next
|
|
412
|
+
continue
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
if (current) {
|
|
416
|
+
lines.push(current)
|
|
417
|
+
current = ''
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
if (word.length <= width) {
|
|
421
|
+
current = word
|
|
422
|
+
} else {
|
|
423
|
+
lines.push(this.fitPlain(word, width))
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
if (current) {
|
|
428
|
+
lines.push(current)
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
return lines
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
private wrapPathText(text: string, width: number): string[] {
|
|
435
|
+
if (width <= 0) return ['']
|
|
436
|
+
if (text.length <= width) return [text]
|
|
437
|
+
|
|
438
|
+
const lines: string[] = []
|
|
439
|
+
let remaining = text
|
|
440
|
+
|
|
441
|
+
while (remaining.length > width) {
|
|
442
|
+
const slice = remaining.slice(0, width + 1)
|
|
443
|
+
const breakIndex = slice.lastIndexOf('/')
|
|
444
|
+
if (breakIndex > 0) {
|
|
445
|
+
lines.push(remaining.slice(0, breakIndex))
|
|
446
|
+
remaining = remaining.slice(breakIndex)
|
|
447
|
+
continue
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
lines.push(remaining.slice(0, width))
|
|
451
|
+
remaining = remaining.slice(width)
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
if (remaining.length > 0) {
|
|
455
|
+
lines.push(remaining)
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
return lines
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
private wrapVisibleParts(parts: string[], width: number): string[] {
|
|
462
|
+
if (width <= 0) return ['']
|
|
463
|
+
|
|
464
|
+
const lines: string[] = []
|
|
465
|
+
let current = ''
|
|
466
|
+
for (const part of parts) {
|
|
467
|
+
const next = current ? `${current} · ${part}` : part
|
|
468
|
+
if (this.visibleLength(next) <= width) {
|
|
469
|
+
current = next
|
|
470
|
+
continue
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
if (current) {
|
|
474
|
+
lines.push(current)
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
current = this.visibleLength(part) <= width ? part : this.fitVisible(part, width)
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
if (current) {
|
|
481
|
+
lines.push(current)
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
return lines
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
private formatSummaryLines(width: number): string[] {
|
|
363
488
|
const parts = OverviewUI.STATUS_GROUPS.map((group) => {
|
|
364
489
|
const count = this.countByStatus(group.status)
|
|
365
490
|
return this.color(`${group.label} ${count}`, OverviewUI.ANSI.bold, this.getStatusColor(group.status))
|
|
366
491
|
})
|
|
367
|
-
return
|
|
492
|
+
return this.wrapVisibleParts(parts, width)
|
|
368
493
|
}
|
|
369
494
|
|
|
370
495
|
private buildMainLines(): string[] {
|
|
371
496
|
const orderedSessions = this.getOrderedSessions()
|
|
372
497
|
const selectedId = this.manager.selectedSession?.id
|
|
498
|
+
const width = this.getContentWidth()
|
|
373
499
|
const lines = [
|
|
374
|
-
'
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
'╰──────────────────────────────────────────────────────────────────────────╯',
|
|
500
|
+
this.color(this.makeRule('mav overview', width), OverviewUI.ANSI.dim),
|
|
501
|
+
'AGENTS',
|
|
502
|
+
...this.formatSummaryLines(width),
|
|
378
503
|
'',
|
|
379
504
|
]
|
|
380
505
|
|
|
@@ -397,7 +522,10 @@ export class OverviewUI {
|
|
|
397
522
|
const sessionTitle = session.displayName ?? session.id
|
|
398
523
|
const sessionLabel = session.type ? `${sessionTitle} (${session.type})` : sessionTitle
|
|
399
524
|
const prefix = session.id === selectedId ? '> ' : ' '
|
|
400
|
-
const sessionLine =
|
|
525
|
+
const sessionLine = this.fitPlain(
|
|
526
|
+
`${prefix}${statusIcon} ${sessionLabel} ${this.getStatusLabel(session.status)}`,
|
|
527
|
+
width
|
|
528
|
+
)
|
|
401
529
|
lines.push(session.id === selectedId
|
|
402
530
|
? this.color(sessionLine, OverviewUI.ANSI.bold, color)
|
|
403
531
|
: this.color(sessionLine, color))
|
|
@@ -408,58 +536,55 @@ export class OverviewUI {
|
|
|
408
536
|
}
|
|
409
537
|
|
|
410
538
|
if (orderedSessions.length === 0) {
|
|
411
|
-
lines.push(this.makeRule('empty'))
|
|
412
|
-
lines.push(' No sessions. Press n to add one.')
|
|
539
|
+
lines.push(this.color(this.makeRule('empty', width), OverviewUI.ANSI.dim))
|
|
540
|
+
lines.push(this.fitPlain(' No sessions. Press n to add one.', width))
|
|
413
541
|
lines.push('')
|
|
414
542
|
}
|
|
415
543
|
|
|
416
|
-
lines.push('
|
|
417
|
-
lines.push(
|
|
418
|
-
|
|
419
|
-
return lines
|
|
544
|
+
lines.push(this.color(this.makeRule('controls', width), OverviewUI.ANSI.dim))
|
|
545
|
+
lines.push(...this.wrapPlainText('↑/↓ or j/k move Enter detail Ctrl+] back n new d delete q quit', width))
|
|
546
|
+
return this.finalizeLines(lines)
|
|
420
547
|
}
|
|
421
548
|
|
|
422
549
|
private buildPromptLines(): string[] {
|
|
423
550
|
const state = this.promptState
|
|
424
551
|
if (!state) return []
|
|
425
552
|
|
|
426
|
-
const
|
|
553
|
+
const width = this.getContentWidth()
|
|
554
|
+
const lines = ['', this.color(this.makeRule('prompt', width), OverviewUI.ANSI.dim)]
|
|
427
555
|
if (state.mode === 'agent') {
|
|
428
|
-
lines.push(
|
|
429
|
-
lines.push('
|
|
556
|
+
lines.push(this.fitPlain('Select agent type', width))
|
|
557
|
+
lines.push('')
|
|
430
558
|
for (const [index, agentType] of OverviewUI.AGENT_TYPES.entries()) {
|
|
431
|
-
lines.push(
|
|
559
|
+
lines.push(this.fitPlain(`${index === state.selectedIndex ? '> ' : ' '}${agentType}`, width))
|
|
432
560
|
}
|
|
433
|
-
lines.push('
|
|
434
|
-
lines.push(
|
|
435
|
-
|
|
436
|
-
return lines
|
|
561
|
+
lines.push('')
|
|
562
|
+
lines.push(...this.wrapPlainText('Enter: select Esc: cancel', width))
|
|
563
|
+
return this.finalizeLines(lines)
|
|
437
564
|
}
|
|
438
565
|
|
|
439
566
|
if (state.mode === 'cwd') {
|
|
440
|
-
lines.push(
|
|
441
|
-
lines.push(
|
|
567
|
+
lines.push(this.fitPlain(`cwd for ${state.agentType}`, width))
|
|
568
|
+
lines.push(...this.wrapPathText(state.value, width))
|
|
442
569
|
if (state.candidates.length > 1) {
|
|
443
|
-
lines.push('
|
|
444
|
-
lines.push(
|
|
570
|
+
lines.push('')
|
|
571
|
+
lines.push(this.fitPlain('Candidates:', width))
|
|
445
572
|
for (const candidate of state.candidates.slice(0, 8)) {
|
|
446
|
-
lines.push(
|
|
573
|
+
lines.push(...this.wrapPathText(` ${candidate}`, width))
|
|
447
574
|
}
|
|
448
575
|
}
|
|
449
|
-
lines.push('
|
|
450
|
-
lines.push(
|
|
451
|
-
|
|
452
|
-
return lines
|
|
576
|
+
lines.push('')
|
|
577
|
+
lines.push(...this.wrapPlainText('Tab: complete Enter: confirm Esc: cancel', width))
|
|
578
|
+
return this.finalizeLines(lines)
|
|
453
579
|
}
|
|
454
580
|
|
|
455
|
-
lines.push(
|
|
581
|
+
lines.push(this.fitPlain('Error', width))
|
|
456
582
|
for (const line of state.message.split('\n')) {
|
|
457
|
-
lines.push(
|
|
583
|
+
lines.push(this.fitPlain(line, width))
|
|
458
584
|
}
|
|
459
|
-
lines.push('
|
|
460
|
-
lines.push(
|
|
461
|
-
|
|
462
|
-
return lines
|
|
585
|
+
lines.push('')
|
|
586
|
+
lines.push(...this.wrapPlainText('Enter/Esc/q: close', width))
|
|
587
|
+
return this.finalizeLines(lines)
|
|
463
588
|
}
|
|
464
589
|
|
|
465
590
|
private render(): void {
|