@aiwayds/dsh-tui-pi 2.18.2 → 2.20.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 +12 -43
- package/README.zh-CN.md +11 -42
- package/lib/agents.js +67 -52
- package/lib/agents.js.map +1 -1
- package/lib/ask-user.d.ts +122 -3
- package/lib/ask-user.js +335 -41
- package/lib/ask-user.js.map +1 -1
- package/lib/attachments.js +8 -3
- package/lib/attachments.js.map +1 -1
- package/lib/btw.d.ts +4 -2
- package/lib/btw.js +22 -16
- package/lib/btw.js.map +1 -1
- package/lib/custom-provider.js +34 -28
- package/lib/custom-provider.js.map +1 -1
- package/lib/footer.d.ts +9 -8
- package/lib/footer.js +36 -18
- package/lib/footer.js.map +1 -1
- package/lib/hard-exit.d.ts +36 -0
- package/lib/hard-exit.js +64 -0
- package/lib/hard-exit.js.map +1 -0
- package/lib/history-fork.d.ts +2 -2
- package/lib/history-fork.js +12 -9
- package/lib/history-fork.js.map +1 -1
- package/lib/history-turns.d.ts +4 -2
- package/lib/history-turns.js +7 -3
- package/lib/history-turns.js.map +1 -1
- package/lib/history.js +57 -45
- package/lib/history.js.map +1 -1
- package/lib/hotkeys.js +44 -33
- package/lib/hotkeys.js.map +1 -1
- package/lib/i18n/index.d.ts +54 -0
- package/lib/i18n/index.js +98 -0
- package/lib/i18n/index.js.map +1 -0
- package/lib/i18n/registry.d.ts +65 -0
- package/lib/i18n/registry.js +129 -0
- package/lib/i18n/registry.js.map +1 -0
- package/lib/index.js +219 -109
- package/lib/index.js.map +1 -1
- package/lib/language-ask.d.ts +98 -0
- package/lib/language-ask.js +118 -0
- package/lib/language-ask.js.map +1 -0
- package/lib/live-widgets.js +9 -8
- package/lib/live-widgets.js.map +1 -1
- package/lib/login.js +5 -4
- package/lib/login.js.map +1 -1
- package/lib/messages.d.ts +0 -4
- package/lib/messages.js +14 -15
- package/lib/messages.js.map +1 -1
- package/lib/model-profiles.js +32 -20
- package/lib/model-profiles.js.map +1 -1
- package/lib/panels.js +18 -17
- package/lib/panels.js.map +1 -1
- package/lib/preflight-projcache.js +9 -3
- package/lib/preflight-projcache.js.map +1 -1
- package/lib/preset-dialog.d.ts +3 -3
- package/lib/preset-dialog.js +20 -17
- package/lib/preset-dialog.js.map +1 -1
- package/lib/provider-catalog.d.ts +23 -7
- package/lib/provider-catalog.js +90 -68
- package/lib/provider-catalog.js.map +1 -1
- package/lib/queue-panel.d.ts +2 -2
- package/lib/queue-panel.js +13 -9
- package/lib/queue-panel.js.map +1 -1
- package/lib/repair-dialog.d.ts +4 -4
- package/lib/repair-dialog.js +23 -16
- package/lib/repair-dialog.js.map +1 -1
- package/lib/route-dialog.d.ts +3 -3
- package/lib/route-dialog.js +20 -14
- package/lib/route-dialog.js.map +1 -1
- package/lib/selectors.d.ts +15 -1
- package/lib/selectors.js +57 -23
- package/lib/selectors.js.map +1 -1
- package/lib/sessions.d.ts +47 -14
- package/lib/sessions.js +162 -53
- package/lib/sessions.js.map +1 -1
- package/lib/settings.d.ts +68 -9
- package/lib/settings.js +327 -78
- package/lib/settings.js.map +1 -1
- package/lib/skills-manager.js +27 -21
- package/lib/skills-manager.js.map +1 -1
- package/lib/skills.js +5 -4
- package/lib/skills.js.map +1 -1
- package/lib/startup-info.js +9 -3
- package/lib/startup-info.js.map +1 -1
- package/lib/steer-flow.d.ts +14 -4
- package/lib/steer-flow.js +24 -9
- package/lib/steer-flow.js.map +1 -1
- package/lib/stop-dialog.d.ts +2 -2
- package/lib/stop-dialog.js +16 -12
- package/lib/stop-dialog.js.map +1 -1
- package/lib/subagent-viewer.d.ts +3 -8
- package/lib/subagent-viewer.js +38 -62
- package/lib/subagent-viewer.js.map +1 -1
- package/lib/theme-preview.js +12 -11
- package/lib/theme-preview.js.map +1 -1
- package/lib/theme-settings.d.ts +44 -2
- package/lib/theme-settings.js +97 -54
- package/lib/theme-settings.js.map +1 -1
- package/lib/tui.js +2 -1
- package/lib/tui.js.map +1 -1
- package/locales/en.json +646 -0
- package/locales/ja.json +646 -0
- package/locales/ko.json +646 -0
- package/locales/zh-CN.json +646 -0
- package/package.json +2 -1
- package/skills/dsh-tui-pi-config/SKILL.md +14 -4
package/lib/sessions.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* (autoColumns + booktabs rules), each in a framed overlay with
|
|
7
7
|
* `restoreFocus` on close.
|
|
8
8
|
*/
|
|
9
|
-
import { getKeybindings } from '@earendil-works/pi-tui';
|
|
9
|
+
import { getKeybindings, matchesKey } from '@earendil-works/pi-tui';
|
|
10
10
|
import { readdir, stat } from 'node:fs/promises';
|
|
11
11
|
import { homedir } from 'node:os';
|
|
12
12
|
import { basename, join } from 'node:path';
|
|
@@ -14,6 +14,7 @@ import { SESSION_LOG_FILE_NAMES } from "./retention.js";
|
|
|
14
14
|
import { isCorruptLogError } from "./log-repair.js";
|
|
15
15
|
import { emitNotice } from "./notice-bridge.js";
|
|
16
16
|
import { wrapFramedOverlay } from "./frame.js";
|
|
17
|
+
import { t } from "./i18n/index.js";
|
|
17
18
|
import { autoColumns, columnWidths, MARKER_W, padCell, panelThemeFns, TablePanel, tableHeaderLine, tableRuleLine, TABLE_SEP, } from "./panels.js";
|
|
18
19
|
import { BOLD, RESET } from "./theme/index.js";
|
|
19
20
|
import { clipToWidth, visibleWidth } from "./text.js";
|
|
@@ -26,61 +27,77 @@ const FIELD_CAP = 12;
|
|
|
26
27
|
*/
|
|
27
28
|
export function sessionInfoRows(data) {
|
|
28
29
|
return [
|
|
29
|
-
{ field: 'session', value: data.id ?? '—' },
|
|
30
|
-
{ field: 'cwd', value: data.cwd ?? '—' },
|
|
31
|
-
{ field: 'created', value: data.createdAt === undefined ? '—' : new Date(data.createdAt).toLocaleString() },
|
|
32
|
-
{ field: 'model', value: data.model ?? '—' },
|
|
33
|
-
{ field: 'think', value: data.effort ?? '—' },
|
|
34
|
-
{ field: 'status', value: data.status },
|
|
35
|
-
{ field: 'messages', value: String(data.msgCount) },
|
|
36
|
-
{ field: '
|
|
37
|
-
{ field: '
|
|
38
|
-
{ field: '
|
|
39
|
-
{ field: '
|
|
40
|
-
{ field: '
|
|
41
|
-
{ field: 'events', value: data.eventCount === undefined ? '—' : String(data.eventCount) },
|
|
30
|
+
{ field: t('resume.field.session'), value: data.id ?? '—' },
|
|
31
|
+
{ field: t('resume.field.cwd'), value: data.cwd ?? '—' },
|
|
32
|
+
{ field: t('resume.field.created'), value: data.createdAt === undefined ? '—' : new Date(data.createdAt).toLocaleString() },
|
|
33
|
+
{ field: t('resume.field.model'), value: data.model ?? '—' },
|
|
34
|
+
{ field: t('resume.field.think'), value: data.effort ?? '—' },
|
|
35
|
+
{ field: t('resume.field.status'), value: data.status },
|
|
36
|
+
{ field: t('resume.field.messages'), value: String(data.msgCount) },
|
|
37
|
+
{ field: t('resume.field.toolcalls'), value: String(data.toolCallCount) },
|
|
38
|
+
{ field: t('resume.field.tokensin'), value: String(data.inputTokens) },
|
|
39
|
+
{ field: t('resume.field.tokensout'), value: String(data.outputTokens) },
|
|
40
|
+
{ field: t('resume.field.cacheread'), value: String(data.cacheReadTokens) },
|
|
41
|
+
{ field: t('resume.field.cachewrite'), value: String(data.cacheWriteTokens) },
|
|
42
|
+
{ field: t('resume.field.events'), value: data.eventCount === undefined ? '—' : String(data.eventCount) },
|
|
42
43
|
// Same short form the /resume rows use — a parent id is a pointer, not
|
|
43
44
|
// something to read in full.
|
|
44
|
-
{ field: 'parent', value: data.parentSession === undefined ? '—' : clipToWidth(data.parentSession, 8) },
|
|
45
|
+
{ field: t('resume.field.parent'), value: data.parentSession === undefined ? '—' : clipToWidth(data.parentSession, 8) },
|
|
45
46
|
];
|
|
46
47
|
}
|
|
47
48
|
/**
|
|
48
|
-
* One-shot
|
|
49
|
-
*
|
|
49
|
+
* One-shot info panel in the shared FW auto-table style: FIELD fits its
|
|
50
|
+
* content (capped), VALUE runs to the right edge and clips (never wraps),
|
|
50
51
|
* width-exact padded cells under the booktabs rule trio — the same table
|
|
51
|
-
* language as the /resume picker and every other panel. Esc
|
|
52
|
-
*
|
|
52
|
+
* language as the /resume picker and every other panel. Esc closes; when
|
|
53
|
+
* `onRename` is wired, `r` enters an inline rename edit on the same 20-row
|
|
54
|
+
* budget (the input line replaces the hint line, never a table row):
|
|
55
|
+
* Enter commits through {@link SessionRenameFn}, Esc returns to the table.
|
|
53
56
|
*/
|
|
54
57
|
export class SessionInfoPanel {
|
|
55
58
|
theme;
|
|
56
59
|
data;
|
|
57
60
|
onClose;
|
|
58
|
-
|
|
61
|
+
onRename;
|
|
62
|
+
/** Rename edit state: only one of these is live at a time. */
|
|
63
|
+
editing = false;
|
|
64
|
+
buffer = '';
|
|
65
|
+
/** Accepted/failed rename note; shown on the hint line until the next keypress. */
|
|
66
|
+
note;
|
|
67
|
+
/** The live heading title after a committed rename (the snapshot data is stale then). */
|
|
68
|
+
titleOverride;
|
|
69
|
+
constructor(theme, data, onClose, onRename) {
|
|
59
70
|
this.theme = theme;
|
|
60
71
|
this.data = data;
|
|
61
72
|
this.onClose = onClose;
|
|
73
|
+
this.onRename = onRename;
|
|
62
74
|
}
|
|
63
75
|
invalidate() { }
|
|
64
76
|
render(width) {
|
|
65
77
|
// Scope note rides on the title line (no extra row: the panel must stay
|
|
66
78
|
// at 20 rows so the framed overlay keeps its bottom border on a 24-row
|
|
67
|
-
// terminal). The
|
|
68
|
-
//
|
|
79
|
+
// terminal). The heading carries the session title when one exists (same
|
|
80
|
+
// zero-row trick); the token totals are per provider/model route segment
|
|
81
|
+
// — they reset on a route change — while messages/events are session-wide.
|
|
69
82
|
const fns = panelThemeFns(this.theme);
|
|
70
|
-
const
|
|
83
|
+
const title = this.titleOverride ?? this.data.title;
|
|
84
|
+
const heading = title !== undefined && title !== ''
|
|
85
|
+
? t('resume.headingTitle', { title })
|
|
86
|
+
: t('resume.headingPlain');
|
|
87
|
+
const lines = [fns.accent(BOLD + clipToWidth(heading, width) + RESET)];
|
|
71
88
|
if (this.data.id === undefined) {
|
|
72
89
|
lines.push('');
|
|
73
|
-
lines.push(fns.muted(clipToWidth('
|
|
90
|
+
lines.push(fns.muted(clipToWidth(t('resume.empty'), width)));
|
|
74
91
|
lines.push('');
|
|
75
|
-
lines.push(fns.subtle(clipToWidth('
|
|
92
|
+
lines.push(fns.subtle(clipToWidth(t('resume.hintClose'), width)));
|
|
76
93
|
return lines;
|
|
77
94
|
}
|
|
78
95
|
// Auto layout: FIELD fits its content (capped), VALUE is flex — it takes
|
|
79
96
|
// the remainder and clips, so long values (cwd, full session id) never wrap.
|
|
80
97
|
const rows = sessionInfoRows(this.data);
|
|
81
98
|
const columns = autoColumns([
|
|
82
|
-
{ key: 'field', title: '
|
|
83
|
-
{ key: 'value', title: '
|
|
99
|
+
{ key: 'field', title: t('resume.col.field'), cap: FIELD_CAP },
|
|
100
|
+
{ key: 'value', title: t('resume.col.value') },
|
|
84
101
|
], rows, (row, key) => (key === 'value' ? row.value : row.field));
|
|
85
102
|
const widths = columnWidths(width - MARKER_W, columns);
|
|
86
103
|
// The booktabs trio seals the table right under the title (no gap row):
|
|
@@ -98,35 +115,114 @@ export class SessionInfoPanel {
|
|
|
98
115
|
const fieldCell = padCell(row.field, widths[0]);
|
|
99
116
|
const remaining = width - MARKER_W - visibleWidth(TABLE_SEP) - visibleWidth(fieldCell);
|
|
100
117
|
const valueCell = padCell(row.value, Math.min(widths[1], Math.max(remaining, 0)));
|
|
101
|
-
const paintedValue = row.field === 'status' && this.data.status === 'running'
|
|
118
|
+
const paintedValue = row.field === t('resume.field.status') && this.data.status === 'running'
|
|
102
119
|
? fns.accent(valueCell)
|
|
103
120
|
: fns.muted(valueCell);
|
|
104
121
|
lines.push(`${' '.repeat(MARKER_W)}${fieldCell}${TABLE_SEP}${paintedValue}`);
|
|
105
122
|
}
|
|
106
123
|
lines.push(fns.subtle(clipToWidth(tableRuleLine(widths, '┴'), width)));
|
|
107
|
-
lines.push(
|
|
124
|
+
lines.push(this.hintLine(width, fns));
|
|
108
125
|
return lines;
|
|
109
126
|
}
|
|
127
|
+
/** The panel's last line: the rename input while editing, else the key hint (with a transient note). */
|
|
128
|
+
hintLine(width, fns) {
|
|
129
|
+
if (this.editing) {
|
|
130
|
+
const cursor = '▏';
|
|
131
|
+
const body = this.buffer === ''
|
|
132
|
+
? clipToWidth(t('resume.renameEmpty', { cursor }), width)
|
|
133
|
+
: clipToWidth(t('resume.renameEdit', { buffer: this.buffer, cursor }), width);
|
|
134
|
+
const failed = this.note !== undefined && !this.note.ok ? `✗ ${this.note.note} · ` : '';
|
|
135
|
+
const suffix = clipToWidth(`${failed}${t('resume.hintEdit')}`, Math.max(width - visibleWidth(body) - 1, 0));
|
|
136
|
+
return fns.accent(clipToWidth(`${body} ${suffix}`, width));
|
|
137
|
+
}
|
|
138
|
+
if (this.note !== undefined) {
|
|
139
|
+
const mark = this.note.ok ? '✓' : '✗';
|
|
140
|
+
const next = ` · ${this.data.canRename ? t('resume.hintRename') : t('resume.hintClose')}`;
|
|
141
|
+
return fns.accent(clipToWidth(`${mark} ${this.note.note}${next}`, width));
|
|
142
|
+
}
|
|
143
|
+
const hint = this.data.canRename ? t('resume.hintRename') : t('resume.hintClose');
|
|
144
|
+
return fns.subtle(clipToWidth(hint, width));
|
|
145
|
+
}
|
|
110
146
|
handleInput(data) {
|
|
111
|
-
|
|
147
|
+
const kb = getKeybindings();
|
|
148
|
+
if (this.editing) {
|
|
149
|
+
if (kb.matches(data, 'tui.select.cancel')) {
|
|
150
|
+
this.editing = false;
|
|
151
|
+
this.buffer = '';
|
|
152
|
+
this.note = undefined;
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
if (kb.matches(data, 'tui.select.confirm')) {
|
|
156
|
+
this.commitRename();
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
if (data === '\x7f' || matchesKey(data, 'backspace')) {
|
|
160
|
+
this.buffer = this.buffer.slice(0, -1);
|
|
161
|
+
this.note = undefined;
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
// Printable accumulation, paste-tolerant: an IME composition or a
|
|
165
|
+
// bracketed paste arrives as one multi-char chunk — accept it whole
|
|
166
|
+
// when every char is printable (control keys were matched above).
|
|
167
|
+
if (data.length > 0 && [...data].every(ch => ch.charCodeAt(0) >= 0x20 && ch.charCodeAt(0) !== 0x7f)) {
|
|
168
|
+
this.buffer += data;
|
|
169
|
+
this.note = undefined;
|
|
170
|
+
}
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
if (this.data.canRename && data === 'r') {
|
|
174
|
+
this.editing = true;
|
|
175
|
+
this.buffer = this.titleOverride ?? this.data.title ?? '';
|
|
176
|
+
this.note = undefined;
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
this.note = undefined;
|
|
180
|
+
if (kb.matches(data, 'tui.select.cancel') || kb.matches(data, 'tui.select.confirm')) {
|
|
112
181
|
this.onClose();
|
|
113
182
|
}
|
|
114
183
|
}
|
|
184
|
+
/** Commit the edit through the caller's rename fn; a failure keeps the edit open. */
|
|
185
|
+
commitRename() {
|
|
186
|
+
if (this.onRename === undefined)
|
|
187
|
+
return;
|
|
188
|
+
const title = this.buffer.trim();
|
|
189
|
+
if (title === '') {
|
|
190
|
+
this.note = { ok: false, note: t('resume.titleEmpty') };
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
let outcome;
|
|
194
|
+
try {
|
|
195
|
+
outcome = this.onRename(title);
|
|
196
|
+
}
|
|
197
|
+
catch (error) {
|
|
198
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
199
|
+
outcome = { ok: false, note: message };
|
|
200
|
+
}
|
|
201
|
+
this.note = outcome;
|
|
202
|
+
if (outcome.ok) {
|
|
203
|
+
this.titleOverride = outcome.title ?? title;
|
|
204
|
+
this.editing = false;
|
|
205
|
+
this.buffer = '';
|
|
206
|
+
}
|
|
207
|
+
}
|
|
115
208
|
}
|
|
116
209
|
/**
|
|
117
210
|
* Open the `/session` info panel; resolves when the user closes it. Focus
|
|
118
211
|
* returns to `restoreFocus` on close — it must re-focus the CURRENT editor
|
|
119
212
|
* instance, which may have been rebuilt under a theme hot-swap while the
|
|
120
213
|
* panel was open (pi-tui's hide would otherwise restore focus to the stale
|
|
121
|
-
* pre-overlay editor and swallow subsequent input).
|
|
214
|
+
* pre-overlay editor and swallow subsequent input). `onRename` wires the
|
|
215
|
+
* panel's `r` rename edit; omit it (or leave `canRename` false in the data)
|
|
216
|
+
* when no live session or no title service exists and the panel stays
|
|
217
|
+
* read-only.
|
|
122
218
|
*/
|
|
123
|
-
export async function showSessionInfo(tui, theme, data, restoreFocus) {
|
|
219
|
+
export async function showSessionInfo(tui, theme, data, restoreFocus, onRename) {
|
|
124
220
|
await new Promise(resolve => {
|
|
125
221
|
const panel = new SessionInfoPanel(theme, data, () => {
|
|
126
222
|
overlay.hide();
|
|
127
223
|
restoreFocus();
|
|
128
224
|
resolve();
|
|
129
|
-
});
|
|
225
|
+
}, onRename);
|
|
130
226
|
// maxHeight only ever slices (never stretches), and the framed overlay
|
|
131
227
|
// needs 4 extra rows for its borders: cap high so the bottom border
|
|
132
228
|
// survives on small terminals (24 rows: 20 panel rows + 4 frame rows).
|
|
@@ -167,7 +263,7 @@ export async function readPersistedSession(persistence, id) {
|
|
|
167
263
|
}
|
|
168
264
|
}
|
|
169
265
|
if (typeof persistence.inspect !== 'function') {
|
|
170
|
-
throw new Error('
|
|
266
|
+
throw new Error(t('resume.noBackend'));
|
|
171
267
|
}
|
|
172
268
|
return await persistence.inspect(id);
|
|
173
269
|
}
|
|
@@ -238,8 +334,7 @@ function explicitSetting(section, key, accept) {
|
|
|
238
334
|
if (raw === undefined)
|
|
239
335
|
return undefined;
|
|
240
336
|
if (typeof raw !== 'number' || !Number.isFinite(raw) || !accept(raw)) {
|
|
241
|
-
emitNotice(
|
|
242
|
-
+ `${JSON.stringify(raw)} — falling back to environment/default`);
|
|
337
|
+
emitNotice(t('resume.settingInvalid', { key, value: JSON.stringify(raw) }));
|
|
243
338
|
return undefined;
|
|
244
339
|
}
|
|
245
340
|
return raw;
|
|
@@ -358,16 +453,30 @@ export async function loadSessionLastUpdates(root = sessionLogRoot()) {
|
|
|
358
453
|
* when a log file is known, else the header's `createdAt`. Ties fall back to
|
|
359
454
|
* `createdAt` then the id, so the order is deterministic. Pure — the mtime
|
|
360
455
|
* walk lives in `loadSessionLastUpdates`.
|
|
456
|
+
*
|
|
457
|
+
* The ordering is FIXED — no sort spec, no dynamic field, ever. Every key is
|
|
458
|
+
* coerced to a finite number (or a plain string) before the comparator sees
|
|
459
|
+
* it, so a corrupted log stat cannot inject a NaN into the ordering.
|
|
361
460
|
*/
|
|
362
|
-
|
|
461
|
+
function lastUpdateSortKey(header, logStats) {
|
|
462
|
+
const stat = logStats.get(String(header.id));
|
|
463
|
+
const mtime = typeof stat?.mtimeMs === 'number' && Number.isFinite(stat.mtimeMs)
|
|
464
|
+
? stat.mtimeMs
|
|
465
|
+
: header.createdAt;
|
|
466
|
+
const created = typeof header.createdAt === 'number' && Number.isFinite(header.createdAt)
|
|
467
|
+
? header.createdAt
|
|
468
|
+
: 0;
|
|
469
|
+
return { mtime, created, id: String(header.id) };
|
|
470
|
+
}
|
|
471
|
+
export function orderSessionsByLastUpdate(headers, logStats) {
|
|
363
472
|
return headers.slice().sort((a, b) => {
|
|
364
|
-
const
|
|
365
|
-
const
|
|
366
|
-
if (
|
|
367
|
-
return
|
|
368
|
-
if (
|
|
369
|
-
return
|
|
370
|
-
return
|
|
473
|
+
const ka = lastUpdateSortKey(a, logStats);
|
|
474
|
+
const kb = lastUpdateSortKey(b, logStats);
|
|
475
|
+
if (kb.mtime !== ka.mtime)
|
|
476
|
+
return kb.mtime - ka.mtime;
|
|
477
|
+
if (kb.created !== ka.created)
|
|
478
|
+
return kb.created - ka.created;
|
|
479
|
+
return kb.id.localeCompare(ka.id);
|
|
371
480
|
});
|
|
372
481
|
}
|
|
373
482
|
/**
|
|
@@ -507,7 +616,7 @@ export async function loadSessionPreviews(persistence, ids) {
|
|
|
507
616
|
export async function inspectPersistedSession(ctx, id) {
|
|
508
617
|
const persistence = ctx.get('sessionPersistence');
|
|
509
618
|
if (persistence === undefined) {
|
|
510
|
-
throw new Error('
|
|
619
|
+
throw new Error(t('resume.noPersistence'));
|
|
511
620
|
}
|
|
512
621
|
return await readPersistedSession(persistence, id);
|
|
513
622
|
}
|
|
@@ -544,7 +653,7 @@ export function isResumableSessionHeader(header) {
|
|
|
544
653
|
export async function pickPersistedSession(ctx, tui, theme, excludeSessionId, restoreFocus, resumeSettings) {
|
|
545
654
|
const persistence = ctx.get('sessionPersistence');
|
|
546
655
|
if (persistence === undefined) {
|
|
547
|
-
throw new Error('
|
|
656
|
+
throw new Error(t('resume.noPersistence'));
|
|
548
657
|
}
|
|
549
658
|
let headers;
|
|
550
659
|
try {
|
|
@@ -552,7 +661,7 @@ export async function pickPersistedSession(ctx, tui, theme, excludeSessionId, re
|
|
|
552
661
|
}
|
|
553
662
|
catch (error) {
|
|
554
663
|
const message = error instanceof Error ? error.message : String(error);
|
|
555
|
-
throw new Error(
|
|
664
|
+
throw new Error(t('resume.listFailed', { message }));
|
|
556
665
|
}
|
|
557
666
|
const candidates = headers
|
|
558
667
|
.filter(isResumableSessionHeader)
|
|
@@ -575,7 +684,7 @@ export async function pickPersistedSession(ctx, tui, theme, excludeSessionId, re
|
|
|
575
684
|
minBytes: resumeConfig.minBytes,
|
|
576
685
|
now: Date.now(),
|
|
577
686
|
});
|
|
578
|
-
const ordered =
|
|
687
|
+
const ordered = orderSessionsByLastUpdate(visible, lastUpdates);
|
|
579
688
|
if (ordered.length === 0) {
|
|
580
689
|
return candidates.length === 0
|
|
581
690
|
? { kind: 'empty' }
|
|
@@ -599,7 +708,7 @@ export async function pickPersistedSession(ctx, tui, theme, excludeSessionId, re
|
|
|
599
708
|
header,
|
|
600
709
|
session: resumeRowTitle(header, previews.get(id), corruptIds.has(id)),
|
|
601
710
|
when: new Date(updated).toLocaleString(),
|
|
602
|
-
dir: header.cwd ?? '
|
|
711
|
+
dir: header.cwd ?? t('resume.noCwd'),
|
|
603
712
|
};
|
|
604
713
|
});
|
|
605
714
|
return new Promise(resolve => {
|
|
@@ -608,12 +717,12 @@ export async function pickPersistedSession(ctx, tui, theme, excludeSessionId, re
|
|
|
608
717
|
// capped — fitted widths scan EVERY candidate row, so one deep cwd
|
|
609
718
|
// would otherwise eat the session column (see RESUME_DIR_CAP).
|
|
610
719
|
const columns = autoColumns([
|
|
611
|
-
{ key: 'when', title: '
|
|
612
|
-
{ key: 'dir', title: '
|
|
613
|
-
{ key: 'session', title: '
|
|
720
|
+
{ key: 'when', title: t('resume.col.updated'), cap: 26 },
|
|
721
|
+
{ key: 'dir', title: t('resume.col.dir'), cap: RESUME_DIR_CAP },
|
|
722
|
+
{ key: 'session', title: t('resume.col.session') },
|
|
614
723
|
], rows, (row, key) => row[key]);
|
|
615
724
|
const list = new TablePanel(theme, {
|
|
616
|
-
title: '
|
|
725
|
+
title: t('resume.title'),
|
|
617
726
|
columns,
|
|
618
727
|
rows,
|
|
619
728
|
renderCell: (row, column) => row[column.key],
|
package/lib/sessions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../src/sessions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,cAAc,EAA4B,MAAM,wBAAwB,CAAA;AACjF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EACL,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,aAAa,EACb,UAAU,EACV,eAAe,EACf,aAAa,EACb,SAAS,GAEV,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAiB,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAwBrD,8EAA8E;AAC9E,MAAM,SAAS,GAAG,EAAE,CAAA;AAEpB;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAAsB;IACpD,OAAO;QACL,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE;QAC3C,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE;QACxC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE;QAC3G,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE;QAC5C,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE;QAC7C,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;QACvC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;QACnD,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;QAC1D,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;QACvD,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;QACzD,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;QAC5D,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;QAC9D,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QACzF,uEAAuE;QACvE,6BAA6B;QAC7B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE;KACxG,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,gBAAgB;IACV,KAAK,CAAU;IACf,IAAI,CAAkB;IACtB,OAAO,CAAY;IAEpC,YAAY,KAAe,EAAE,IAAsB,EAAE,OAAmB;QACtE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,UAAU,KAAU,CAAC;IAErB,MAAM,CAAC,KAAa;QAClB,wEAAwE;QACxE,uEAAuE;QACvE,0EAA0E;QAC1E,oEAAoE;QACpE,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACrC,MAAM,KAAK,GAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC,mCAAmC,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAA;QAC5G,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACd,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,kDAAkD,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;YAC7F,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACd,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;YAC1D,OAAO,KAAK,CAAA;QACd,CAAC;QAED,yEAAyE;QACzE,6EAA6E;QAC7E,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACvC,MAAM,OAAO,GAAG,WAAW,CACzB;YACE,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE;YAChD,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;SACjC,EACD,IAAI,EACJ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CACxD,CAAA;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAA;QAEtD,wEAAwE;QACxE,0EAA0E;QAC1E,sEAAsE;QACtE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;QACtE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;QAC5E,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;QACtE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,sEAAsE;YACtE,qEAAqE;YACrE,kEAAkE;YAClE,sEAAsE;YACtE,iEAAiE;YACjE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC,CAAA;YAChD,MAAM,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;YACtF,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YAClF,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS;gBAC3E,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;gBACvB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YACxB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,EAAE,CAAC,CAAA;QAC9E,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;QACtE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;QAC1D,OAAO,KAAK,CAAA;IACd,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,IAAI,cAAc,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,cAAc,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,oBAAoB,CAAC,EAAE,CAAC;YAChH,IAAI,CAAC,OAAO,EAAE,CAAA;QAChB,CAAC;IACH,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,GAAQ,EACR,KAAe,EACf,IAAsB,EACtB,YAAwB;IAExB,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;QAChC,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE;YACnD,OAAO,CAAC,IAAI,EAAE,CAAA;YACd,YAAY,EAAE,CAAA;YACd,OAAO,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;QACF,uEAAuE;QACvE,oEAAoE;QACpE,uEAAuE;QACvE,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;IACvG,CAAC,CAAC,CAAA;AACJ,CAAC;AAoCD;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAgD;IACvE,OAAQ,KAAoC,CAAC,MAAM,IAAK,KAAuB,CAAA;AACjF,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,WAA+B,EAC/B,EAAa;IAEb,IAAI,OAAO,WAAW,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAmB,EAAE,CAAA;YACjC,IAAI,MAAM,GAAG,CAAC,CAAA;YACd,SAAS,CAAC;gBACR,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACvC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;oBAAE,MAAK;gBACpC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;gBAC5B,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAA;YAC/B,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAA;QACxC,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;QACtB,CAAC;IACH,CAAC;IACD,IAAI,OAAO,WAAW,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;IAC9E,CAAC;IACD,OAAO,MAAM,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAA;AAErC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAA;AAEhC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAA;AAErC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAA;AAsBpC;;;;GAIG;AACH,SAAS,SAAS,CAChB,GAAuB,EACvB,SAAqC,GAAG,EAAE,CAAC,IAAI;IAE/C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,SAAS,CAAA;IAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IACzB,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AACpE,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CACtB,OAAwC,EACxC,GAA8B,EAC9B,MAAkC;IAElC,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,CAAA;IAC1B,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACvC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACrE,UAAU,CACR,2BAA2B,GAAG,kBAAkB;cAC9C,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,wCAAwC,CACjE,CAAA;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAA0C,OAAO,CAAC,GAAG,EACrD,QAA8B;IAE9B,MAAM,WAAW,GAAG,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;IAC/E,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAA;IACvG,MAAM,UAAU,GAAG,WAAW,IAAI,SAAS,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;IAC5E,MAAM,QAAQ,GAAG,SAAS,IAAI,SAAS,CACrC,GAAG,CAAC,wBAAwB,EAC5B,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAC/C,CAAA;IACD,OAAO;QACL,UAAU,EAAE,UAAU,KAAK,SAAS,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB;QACzF,QAAQ,EAAE,QAAQ,IAAI,gBAAgB;KACvC,CAAA;AACH,CAAC;AAED,2DAA2D;AAC3D,MAAM,mBAAmB,GAAG,CAAC,CAAA;AAE7B;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc;IAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,EAAE,EAAE,CAAC;QACtF,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAA;IACrC,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAA;IAC5D,OAAO,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;AAC/B,CAAC;AAED,uEAAuE;AACvE,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAWlC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAAe,cAAc,EAAE;IAC1E,MAAM,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAA;IACjD,IAAI,QAAkB,CAAA;IACtB,IAAI,CAAC;QACH,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;aACtD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;aACpC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,WAAqB,CAAA;QACzB,IAAI,CAAC;YACH,WAAW,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;iBACpC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,SAAQ;QACV,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,iEAAiE;YACjE,mEAAmE;YACnE,kEAAkE;YAClE,iEAAiE;YACjE,mEAAmE;YACnE,kEAAkE;YAClE,gEAAgE;YAChE,YAAY;YACZ,IAAI,MAAkC,CAAA;YACtC,KAAK,MAAM,IAAI,IAAI,sBAAsB,EAAE,CAAC;gBAC1C,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAA;oBACvD,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;wBAC1D,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;oBACrD,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,sCAAsC;gBACxC,CAAC;YACH,CAAC;YACD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAC1E,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAiC,EACjC,QAA6C;IAE7C,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACnC,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,SAAS,CAAA;QAC7D,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,SAAS,CAAA;QAC7D,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO,EAAE,GAAG,EAAE,CAAA;QAC7B,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS;YAAE,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAA;QACjE,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;AACJ,CAAC;AAYD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,4BAA4B,CAC1C,OAAiC,EACjC,QAA6C,EAC7C,MAA4B;IAE5B,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,UAAU,GAAG,MAAM,CAAA;IACzD,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;QAC7B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QAC5C,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC,SAAS,IAAI,SAAS,CAAA;QAC5D,OAAO,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAA;IAClE,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,iBAAiB,GAAG,GAAG,CAAA;AAE7B,2EAA2E;AAC3E,SAAS,aAAa,CAAC,OAAgB;IACrC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC,IAAI,EAAE,CAAA;IACtD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAA;IACtC,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAK,KAA4B,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxF,MAAM,SAAS,GAAI,KAA4B,CAAC,IAAI,CAAA;YACpD,IAAI,OAAO,SAAS,KAAK,QAAQ;gBAAE,IAAI,IAAI,SAAS,GAAG,GAAG,CAAA;QAC5D,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;AACpB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,MAA+B;IAC7D,IAAI,YAAgC,CAAA;IACpC,IAAI,iBAAqC,CAAA;IACzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAwE,CAAA;YAC9F,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC5C,IAAI,CAAC,IAAI;gBAAE,SAAQ;YACnB,MAAM,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,CAAA;YAClC,IAAI,IAAI,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAA;YAChC,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,oBAAoB;gBAAE,SAAQ;YACnF,IAAI,YAAY,KAAK,SAAS;gBAAE,YAAY,GAAG,IAAI,CAAA;QACrD,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAI,KAAK,CAAC,IAA4C,CAAC,OAAO,CAAA;YAC3E,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC5C,IAAI,IAAI,IAAI,iBAAiB,KAAK,SAAS;gBAAE,iBAAiB,GAAG,IAAI,CAAA;QACvE,CAAC;IACH,CAAC;IACD,OAAO,YAAY,IAAI,iBAAiB,CAAA;AAC1C,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,QAAQ,GAAG,iBAAiB;IACzE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IAClF,OAAO,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAA;AAChF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,MAAqB,EAAE,OAA2B,EAAE,OAAgB;IACjG,MAAM,IAAI,GAAG,OAAO,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAA;IAC/F,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACrC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,WAA+B,EAC/B,GAAyB;IAEzB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAA;IACtD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAA;IACpC,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QAC3F,OAAO,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,MAAM,EAAE,CAAA;YACtB,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAA;YACrB,IAAI,OAA2B,CAAA;YAC/B,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;gBAC9D,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;gBACpC,IAAI,IAAI;oBAAE,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;YAC5C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,GAAG,SAAS,CAAA;gBACnB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACtE,IAAI,iBAAiB,CAAC,OAAO,CAAC;oBAAE,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;YAC5D,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;QACnC,CAAC;IACH,CAAC,CAAC,CAAA;IACF,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC1B,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;AACjC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,GAAY,EACZ,EAAa;IAEb,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAmC,CAAA;IACnF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;IAC3E,CAAC;IACD,OAAO,MAAM,oBAAoB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;AACpD,CAAC;AAkBD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAqB;IAC5D,OAAO,MAAM,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC,KAAK,CAAC,CAAA;AAC5E,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,GAAY,EACZ,GAAQ,EACR,KAAe,EACf,gBAAoC,EACpC,YAAwB,EACxB,cAAoC;IAEpC,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAmC,CAAA;IACnF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;IAC3E,CAAC;IACD,IAAI,OAAwB,CAAA;IAC5B,IAAI,CAAC;QACH,OAAO,GAAG,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACpD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACtE,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,EAAE,CAAC,CAAA;IAClE,CAAC;IACD,MAAM,UAAU,GAAG,OAAO;SACvB,MAAM,CAAC,wBAAwB,CAAC;SAChC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,gBAAgB,CAAC,CAAA;IAC3D,2EAA2E;IAC3E,0EAA0E;IAC1E,oEAAoE;IACpE,sDAAsD;IACtD,MAAM,WAAW,GAAG,MAAM,sBAAsB,EAAE,CAAA;IAClD,wEAAwE;IACxE,yEAAyE;IACzE,wEAAwE;IACxE,wEAAwE;IACxE,sEAAsE;IACtE,kEAAkE;IAClE,yBAAyB;IACzB,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;IACrE,MAAM,OAAO,GAAG,4BAA4B,CAAC,UAAU,EAAE,WAAW,EAAE;QACpE,UAAU,EAAE,YAAY,CAAC,UAAU;QACnC,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;KAChB,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,wBAAwB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IAC9D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC;YAC5B,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;YACnB,CAAC,CAAC;gBACE,IAAI,EAAE,gBAAgB;gBACtB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,UAAU,EAAE,YAAY,CAAC,UAAU;gBACnC,QAAQ,EAAE,YAAY,CAAC,QAAQ;aAChC,CAAA;IACP,CAAC;IAED,4EAA4E;IAC5E,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,mBAAmB,CACxD,WAAW,EACX,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAC/D,CAAA;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QAChC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC5B,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,OAAO,IAAI,MAAM,CAAC,SAAS,CAAA;QAChE,OAAO;YACL,KAAK,EAAE,EAAE;YACT,MAAM;YACN,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrE,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE;YACxC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,QAAQ;SAC5B,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,IAAI,OAAO,CAAoB,OAAO,CAAC,EAAE;QAC9C,sEAAsE;QACtE,sEAAsE;QACtE,mEAAmE;QACnE,+DAA+D;QAC/D,MAAM,OAAO,GAA2B,WAAW,CACjD;YACE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE;YAC1C,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE;YACjD,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;SACrC,EACD,IAAI,EACJ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAiC,CAAC,CACrD,CAAA;QACD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE;YACjC,KAAK,EAAE,kBAAkB;YACzB,OAAO;YACP,IAAI;YACJ,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAiC,CAAC;YAC1E,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;YACnC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;SAClC,CAAC,CAAA;QAEF,yEAAyE;QACzE,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;QAEnG,SAAS,MAAM,CAAC,MAAiC;YAC/C,OAAO,CAAC,IAAI,EAAE,CAAA;YACd,YAAY,EAAE,CAAA;YACd,OAAO,CAAC,MAAM,KAAK,SAAS;gBAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE;gBACvB,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;QACxD,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../src/sessions.ts"],"names":[],"mappings":"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"}
|
package/lib/settings.d.ts
CHANGED
|
@@ -6,8 +6,9 @@
|
|
|
6
6
|
* schemastery schemas → resolved values) and renders it as nested FW list
|
|
7
7
|
* panels (src/panels.ts SettingsListPanel), one level per schema depth:
|
|
8
8
|
*
|
|
9
|
-
* level 0 category list (searchable)
|
|
10
|
-
*
|
|
9
|
+
* level 0 category list (searchable), alphabetical by canonical label:
|
|
10
|
+
* Agent Presets / General / Models / Other / Plugins / TUI,
|
|
11
|
+
* with `other` hidden when no namespace falls into it. Namespace→category comes
|
|
11
12
|
* from a static mapping (categorizeNamespaces) mirroring the web
|
|
12
13
|
* settings page: the web client slots namespaces into categories
|
|
13
14
|
* client-side and the data plane carries no category field, so
|
|
@@ -19,9 +20,13 @@
|
|
|
19
20
|
* model summary, API-key state) instead of the raw namespace —
|
|
20
21
|
* the original schema surface is hidden — plus dedicated
|
|
21
22
|
* llm-deepseek / agent-default-model rows and an add-provider
|
|
22
|
-
* flow (built-in directory → one API key → write)
|
|
23
|
+
* flow (built-in directory → one API key → write). The
|
|
24
|
+
* single-namespace dsh-tui category drills straight through to
|
|
25
|
+
* its field list, titled by the category label.
|
|
23
26
|
* level 2+ schema walk, dispatched on node type:
|
|
24
|
-
* - object/dict → drill in (nested list; dicts get an add-key
|
|
27
|
+
* - object/dict → drill in (nested list; dicts get an add-key
|
|
28
|
+
* row); at a grouped namespace's root (FIELD_GROUPS) member
|
|
29
|
+
* fields collapse into one virtual group drill row
|
|
25
30
|
* - boolean / all-literal union → Enter cycles the value
|
|
26
31
|
* - string/number/mixed union → inline Input editor
|
|
27
32
|
* - array / literal / const / unknown → read-only viewer
|
|
@@ -47,17 +52,71 @@ export interface SettingsCategory {
|
|
|
47
52
|
* Static namespace→category mapping, mirroring the web settings page's
|
|
48
53
|
* client-side slot structure (see the module header): the data plane carries
|
|
49
54
|
* no category field, so the slots are maintained here by hand. Namespaces not
|
|
50
|
-
* listed anywhere fall into the trailing `other` category.
|
|
55
|
+
* listed anywhere fall into the trailing `other` category. Beyond the web
|
|
56
|
+
* page's own slots, the plugins category enumerates the settings namespaces
|
|
57
|
+
* of the dsh plugins installed in this ecosystem (mcp-adapter, topics, vault,
|
|
58
|
+
* model-sync, dsh-feishu, dsh-llm-proxy) so their rows group under Plugins
|
|
59
|
+
* instead of leaking into `other`.
|
|
51
60
|
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
61
|
+
* The `label`s here are the English source of truth: rows render through
|
|
62
|
+
* `categoryLabel()` (t() at render time, keyed by category id), so the active
|
|
63
|
+
* UI language translates them while search keeps matching whatever is
|
|
64
|
+
* displayed. The first level is ordered by this canonical label
|
|
65
|
+
* (categorizeNamespaces sorts), not by map order.
|
|
54
66
|
*/
|
|
55
67
|
export declare const CATEGORY_MAP: readonly SettingsCategory[];
|
|
56
68
|
/** Cap for a category row's member-name description line. */
|
|
57
69
|
export declare const CATEGORY_DESC_MAX = 60;
|
|
58
70
|
/**
|
|
59
|
-
*
|
|
60
|
-
*
|
|
71
|
+
* UI-only virtual field groups: at the root of a grouped namespace, member
|
|
72
|
+
* fields collapse into one drill row (positioned at the group's first
|
|
73
|
+
* member) instead of sitting flat in the field list. Purely a settings
|
|
74
|
+
* BROWSER display regroup — the schema and the settings document keep their
|
|
75
|
+
* flat shape, so user config paths (`dsh-tui.maxAgents` etc.) never move.
|
|
76
|
+
*
|
|
77
|
+
* A virtual group has no single path of its own: its list carries no reset
|
|
78
|
+
* row (the namespace-level reset still covers the whole subtree), and its
|
|
79
|
+
* value column shows a member count.
|
|
80
|
+
*/
|
|
81
|
+
export interface FieldGroupDef {
|
|
82
|
+
id: string;
|
|
83
|
+
/** i18n key of the group label (resolved through resolveFieldGroupLabel). */
|
|
84
|
+
labelKey: string;
|
|
85
|
+
/** Schema field names grouped under this row, in display order. */
|
|
86
|
+
fields: readonly string[];
|
|
87
|
+
}
|
|
88
|
+
export declare const FIELD_GROUPS: Readonly<Record<string, readonly FieldGroupDef[]>>;
|
|
89
|
+
/**
|
|
90
|
+
* Resolve one group's label to display text. The static tables carry i18n
|
|
91
|
+
* KEYS (module data must not freeze a language at import time); this switch
|
|
92
|
+
* enumerates them as literal t() call sites — which is also what the i18n
|
|
93
|
+
* coverage guard matches against. Anything else passes through `t()`
|
|
94
|
+
* unchanged, since a non-key falls back to itself.
|
|
95
|
+
*/
|
|
96
|
+
export declare function resolveFieldGroupLabel(labelKey: string): string;
|
|
97
|
+
/** One walked field: a plain schema key, or a collapsed group slot. */
|
|
98
|
+
export type FieldSlot = {
|
|
99
|
+
kind: 'field';
|
|
100
|
+
key: string;
|
|
101
|
+
} | {
|
|
102
|
+
kind: 'group';
|
|
103
|
+
group: FieldGroupDef;
|
|
104
|
+
members: readonly string[];
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* Order schema field keys for display: grouped fields collapse into a single
|
|
108
|
+
* group slot at the position of the group's FIRST member present (members
|
|
109
|
+
* list only the keys actually present, in group-declaration order). Keys in
|
|
110
|
+
* no group pass through in order. Unknown/hidden keys never reach this
|
|
111
|
+
* function — the caller walks already-filtered rows.
|
|
112
|
+
*/
|
|
113
|
+
export declare function slotFieldKeys(ns: string, keys: readonly string[]): FieldSlot[];
|
|
114
|
+
/**
|
|
115
|
+
* Group a describe() namespace list into ordered categories. The result is
|
|
116
|
+
* sorted alphabetically by the canonical (English) label — Agent Presets,
|
|
117
|
+
* General, Models, Other, Plugins, TUI — so the first level reads the same
|
|
118
|
+
* regardless of CATEGORY_MAP order or the active UI language (sorting keys on
|
|
119
|
+
* the canonical label, never the t()-translated one). Categories with no
|
|
61
120
|
* members are dropped, including `other` when nothing falls into it.
|
|
62
121
|
*
|
|
63
122
|
* Defensive: duplicate namespaces in the input count once (a namespace
|