@agi-fans/dsh-tui 0.14.0 → 0.16.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 +77 -1
- package/lib/chrome/diff-render.js +12 -0
- package/lib/chrome/diff-render.js.map +1 -1
- package/lib/chrome/goal-bar.d.ts +13 -0
- package/lib/chrome/goal-bar.js +45 -0
- package/lib/chrome/goal-bar.js.map +1 -0
- package/lib/chrome/grapheme.d.ts +15 -0
- package/lib/chrome/grapheme.js +49 -0
- package/lib/chrome/grapheme.js.map +1 -0
- package/lib/chrome/main-screen-renderer.js +21 -5
- package/lib/chrome/main-screen-renderer.js.map +1 -1
- package/lib/chrome/markdown.js +101 -30
- package/lib/chrome/markdown.js.map +1 -1
- package/lib/chrome/renderer.d.ts +13 -61
- package/lib/chrome/renderer.js +17 -181
- package/lib/chrome/renderer.js.map +1 -1
- package/lib/chrome/status-config.d.ts +9 -4
- package/lib/chrome/status-config.js +13 -4
- package/lib/chrome/status-config.js.map +1 -1
- package/lib/chrome/status-line.d.ts +3 -1
- package/lib/chrome/status-line.js +42 -10
- package/lib/chrome/status-line.js.map +1 -1
- package/lib/chrome/theme.d.ts +9 -2
- package/lib/chrome/theme.js +60 -12
- package/lib/chrome/theme.js.map +1 -1
- package/lib/chrome/tool-renderers.d.ts +2 -0
- package/lib/chrome/tool-renderers.js +149 -2
- package/lib/chrome/tool-renderers.js.map +1 -1
- package/lib/chrome/welcome-tips.js +1 -0
- package/lib/chrome/welcome-tips.js.map +1 -1
- package/lib/chrome/width.d.ts +19 -1
- package/lib/chrome/width.js +135 -41
- package/lib/chrome/width.js.map +1 -1
- package/lib/commands/diff.d.ts +32 -0
- package/lib/commands/diff.js +116 -0
- package/lib/commands/diff.js.map +1 -0
- package/lib/commands/jobs.d.ts +14 -0
- package/lib/commands/jobs.js +82 -0
- package/lib/commands/jobs.js.map +1 -0
- package/lib/commands/model.d.ts +25 -0
- package/lib/commands/model.js +168 -4
- package/lib/commands/model.js.map +1 -1
- package/lib/commands/permission.d.ts +10 -1
- package/lib/commands/permission.js +23 -14
- package/lib/commands/permission.js.map +1 -1
- package/lib/commands/session.js +75 -1
- package/lib/commands/session.js.map +1 -1
- package/lib/definition.d.ts +38 -4
- package/lib/definition.js.map +1 -1
- package/lib/input/editor.d.ts +2 -0
- package/lib/input/editor.js +19 -9
- package/lib/input/editor.js.map +1 -1
- package/lib/input/keybindings-config.d.ts +1 -1
- package/lib/input/keybindings-config.js +9 -0
- package/lib/input/keybindings-config.js.map +1 -1
- package/lib/runtime/agent-profile.d.ts +11 -0
- package/lib/runtime/agent-profile.js +20 -1
- package/lib/runtime/agent-profile.js.map +1 -1
- package/lib/runtime/provider-local.d.ts +15 -5
- package/lib/runtime/provider-local.js +392 -98
- package/lib/runtime/provider-local.js.map +1 -1
- package/lib/runtime/runner.js +33 -8
- package/lib/runtime/runner.js.map +1 -1
- package/lib/runtime/tool-presentation.js +13 -2
- package/lib/runtime/tool-presentation.js.map +1 -1
- package/lib/session/interaction-adapter.d.ts +10 -0
- package/lib/session/interaction-adapter.js +12 -1
- package/lib/session/interaction-adapter.js.map +1 -1
- package/lib/session/job-notice.d.ts +28 -0
- package/lib/session/job-notice.js +34 -0
- package/lib/session/job-notice.js.map +1 -0
- package/lib/session/live-attempt-tracker.d.ts +43 -0
- package/lib/session/live-attempt-tracker.js +58 -0
- package/lib/session/live-attempt-tracker.js.map +1 -0
- package/lib/session/project-context.d.ts +2 -0
- package/lib/session/project-context.js +22 -11
- package/lib/session/project-context.js.map +1 -1
- package/lib/session/session-configuration.js +1 -1
- package/lib/session/session-configuration.js.map +1 -1
- package/lib/session/session-controller.d.ts +10 -4
- package/lib/session/session-controller.js +293 -65
- package/lib/session/session-controller.js.map +1 -1
- package/lib/session/subagent-roster.d.ts +31 -1
- package/lib/session/subagent-roster.js +79 -19
- package/lib/session/subagent-roster.js.map +1 -1
- package/lib/session/tui-settings.js +1 -0
- package/lib/session/tui-settings.js.map +1 -1
- package/lib/views/agent-hub.d.ts +3 -0
- package/lib/views/agent-hub.js +40 -4
- package/lib/views/agent-hub.js.map +1 -1
- package/lib/views/copy-selector.d.ts +3 -0
- package/lib/views/copy-selector.js +26 -6
- package/lib/views/copy-selector.js.map +1 -1
- package/lib/views/event-views.d.ts +59 -1
- package/lib/views/event-views.js +245 -73
- package/lib/views/event-views.js.map +1 -1
- package/lib/views/history-search.d.ts +3 -0
- package/lib/views/history-search.js +40 -4
- package/lib/views/history-search.js.map +1 -1
- package/lib/views/hotkey-format.d.ts +39 -0
- package/lib/views/hotkey-format.js +42 -0
- package/lib/views/hotkey-format.js.map +1 -0
- package/lib/views/hotkeys.d.ts +3 -0
- package/lib/views/hotkeys.js +44 -7
- package/lib/views/hotkeys.js.map +1 -1
- package/lib/views/prompt-selector.d.ts +3 -0
- package/lib/views/prompt-selector.js +46 -7
- package/lib/views/prompt-selector.js.map +1 -1
- package/lib/views/settings-list.d.ts +3 -0
- package/lib/views/settings-list.js +36 -5
- package/lib/views/settings-list.js.map +1 -1
- package/lib/views/stream-time.d.ts +14 -0
- package/lib/views/stream-time.js +32 -0
- package/lib/views/stream-time.js.map +1 -0
- package/lib/views/streaming-reveal.js +56 -8
- package/lib/views/streaming-reveal.js.map +1 -1
- package/lib/views/trajectory.d.ts +57 -1
- package/lib/views/trajectory.js +452 -60
- package/lib/views/trajectory.js.map +1 -1
- package/lib/views/transcript-search.d.ts +45 -0
- package/lib/views/transcript-search.js +105 -0
- package/lib/views/transcript-search.js.map +1 -0
- package/package.json +41 -30
package/lib/chrome/width.js
CHANGED
|
@@ -56,6 +56,10 @@ export function charWidth(cp) {
|
|
|
56
56
|
return 0;
|
|
57
57
|
if (cp === 0x200d || cp === 0xfe0f)
|
|
58
58
|
return 0;
|
|
59
|
+
// Skin-tone modifiers fold into the preceding base glyph and never advance
|
|
60
|
+
// the cursor, so they must be measured as zero rather than as emoji.
|
|
61
|
+
if (cp >= 0x1f3fb && cp <= 0x1f3ff)
|
|
62
|
+
return 0;
|
|
59
63
|
if ((cp >= 0x1100 && cp <= 0x115f)
|
|
60
64
|
|| cp === 0x2329
|
|
61
65
|
|| cp === 0x232a
|
|
@@ -68,17 +72,96 @@ export function charWidth(cp) {
|
|
|
68
72
|
|| (cp >= 0xffe0 && cp <= 0xffe6)
|
|
69
73
|
|| isWideEmojiSymbol(cp)
|
|
70
74
|
|| (cp >= 0x1f300 && cp <= 0x1f64f)
|
|
75
|
+
// Transport and map symbols (🚀 U+1F680, 🛸 U+1F6F8, …). Ornamental
|
|
76
|
+
// dingbats (U+1F650–U+1F67F) sit between the two emoji blocks and are
|
|
77
|
+
// text-presentation, so they stay one cell.
|
|
78
|
+
|| (cp >= 0x1f680 && cp <= 0x1f6ff)
|
|
79
|
+
// Large coloured circles and squares (U+1F7E0–U+1F7EB).
|
|
80
|
+
|| (cp >= 0x1f7e0 && cp <= 0x1f7eb)
|
|
71
81
|
|| (cp >= 0x1f900 && cp <= 0x1f9ff)
|
|
72
82
|
|| (cp >= 0x1fa00 && cp <= 0x1faff))
|
|
73
83
|
return 2;
|
|
74
84
|
return 1;
|
|
75
85
|
}
|
|
76
|
-
|
|
77
|
-
|
|
86
|
+
let clusterSegmenter;
|
|
87
|
+
/**
|
|
88
|
+
* Clusters that a terminal draws as a single glyph but that per-code-point
|
|
89
|
+
* summing gets wrong: ZWJ sequences, emoji presentation selectors, and
|
|
90
|
+
* regional-indicator pairs. Everything else — including skin-tone modifiers
|
|
91
|
+
* and combining marks, which `charWidth` already reports as zero — keeps the
|
|
92
|
+
* per-code-point fast path.
|
|
93
|
+
*/
|
|
94
|
+
const CLUSTER_RE = /[\u200D\uFE0F\u{1F1E6}-\u{1F1FF}]/u;
|
|
95
|
+
const REGIONAL_PAIR_RE = /^\p{Regional_Indicator}{2}$/u;
|
|
96
|
+
function segments(text) {
|
|
97
|
+
clusterSegmenter ??= new Intl.Segmenter(undefined, { granularity: 'grapheme' });
|
|
98
|
+
return clusterSegmenter.segment(text);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Cell width of one grapheme cluster.
|
|
102
|
+
*
|
|
103
|
+
* Clusters that fold several code points into a single terminal glyph occupy
|
|
104
|
+
* two cells on mainstream terminals, so they are measured as a unit instead of
|
|
105
|
+
* summing their parts (which would report a ZWJ family as eight). Clusters
|
|
106
|
+
* without ZWJ, an emoji presentation selector, or a regional-indicator pair
|
|
107
|
+
* fall back to per-code-point summing, which is also what makes decomposed
|
|
108
|
+
* sequences such as `e` + U+0301 measure as one cell.
|
|
109
|
+
*/
|
|
110
|
+
export function graphemeWidth(cluster) {
|
|
111
|
+
if (cluster === '')
|
|
112
|
+
return 0;
|
|
113
|
+
if (cluster.length === 1)
|
|
114
|
+
return charWidth(cluster.codePointAt(0) ?? 0);
|
|
115
|
+
if (cluster.includes('\u200D') || cluster.includes('\uFE0F'))
|
|
116
|
+
return 2;
|
|
117
|
+
if (REGIONAL_PAIR_RE.test(cluster))
|
|
118
|
+
return 2;
|
|
78
119
|
let width = 0;
|
|
79
|
-
for (const ch of
|
|
120
|
+
for (const ch of cluster)
|
|
80
121
|
width += charWidth(ch.codePointAt(0) ?? 0);
|
|
122
|
+
return width;
|
|
123
|
+
}
|
|
124
|
+
/** Iterate `text` as grapheme clusters, using code points when that suffices. */
|
|
125
|
+
function* clusters(text) {
|
|
126
|
+
if (!CLUSTER_RE.test(text)) {
|
|
127
|
+
for (const ch of text)
|
|
128
|
+
yield ch;
|
|
129
|
+
return;
|
|
81
130
|
}
|
|
131
|
+
for (const part of segments(text))
|
|
132
|
+
yield part.segment;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Grapheme spans with their UTF-16 offsets. Callers that must map a cursor
|
|
136
|
+
* back onto a wrapped row need both the cluster text and where it starts, so
|
|
137
|
+
* the offsets stay valid indices into the original string.
|
|
138
|
+
*/
|
|
139
|
+
function clusterSpans(text) {
|
|
140
|
+
const spans = [];
|
|
141
|
+
if (!CLUSTER_RE.test(text)) {
|
|
142
|
+
for (let i = 0; i < text.length;) {
|
|
143
|
+
const ch = String.fromCodePoint(text.codePointAt(i) ?? 0);
|
|
144
|
+
spans.push({ index: i, cluster: ch });
|
|
145
|
+
i += ch.length;
|
|
146
|
+
}
|
|
147
|
+
return spans;
|
|
148
|
+
}
|
|
149
|
+
for (const part of segments(text))
|
|
150
|
+
spans.push({ index: part.index, cluster: part.segment });
|
|
151
|
+
return spans;
|
|
152
|
+
}
|
|
153
|
+
/** Visible column count, ignoring ANSI and counting wide glyphs as two cells. */
|
|
154
|
+
export function visibleWidth(text) {
|
|
155
|
+
const plain = stripAnsi(text);
|
|
156
|
+
if (!CLUSTER_RE.test(plain)) {
|
|
157
|
+
let width = 0;
|
|
158
|
+
for (const ch of plain)
|
|
159
|
+
width += charWidth(ch.codePointAt(0) ?? 0);
|
|
160
|
+
return width;
|
|
161
|
+
}
|
|
162
|
+
let width = 0;
|
|
163
|
+
for (const part of segments(plain))
|
|
164
|
+
width += graphemeWidth(part.segment);
|
|
82
165
|
return width;
|
|
83
166
|
}
|
|
84
167
|
/** Split `text` into ANSI vs printable runs. */
|
|
@@ -109,18 +192,18 @@ export function expandTabs(text, tabWidth = 8, initialColumn = 0) {
|
|
|
109
192
|
out += part.value;
|
|
110
193
|
continue;
|
|
111
194
|
}
|
|
112
|
-
for (const
|
|
113
|
-
if (
|
|
195
|
+
for (const cluster of clusters(part.value)) {
|
|
196
|
+
if (cluster === '\t') {
|
|
114
197
|
const spaces = size - (column % size);
|
|
115
198
|
out += ' '.repeat(spaces);
|
|
116
199
|
column += spaces;
|
|
117
200
|
}
|
|
118
201
|
else {
|
|
119
|
-
out +=
|
|
120
|
-
if (
|
|
202
|
+
out += cluster;
|
|
203
|
+
if (cluster === '\n')
|
|
121
204
|
column = Math.max(0, Math.trunc(initialColumn));
|
|
122
205
|
else
|
|
123
|
-
column +=
|
|
206
|
+
column += graphemeWidth(cluster);
|
|
124
207
|
}
|
|
125
208
|
}
|
|
126
209
|
}
|
|
@@ -132,7 +215,9 @@ export function padding(n) {
|
|
|
132
215
|
}
|
|
133
216
|
/**
|
|
134
217
|
* Truncate to `width` cells, preserving leading ANSI and appending an ellipsis.
|
|
135
|
-
*
|
|
218
|
+
* Clusters are atomic: a ZWJ sequence, emoji presentation sequence, or flag is
|
|
219
|
+
* either kept whole or dropped, never cut into a dangling joiner. Closes SGR so
|
|
220
|
+
* a cut mid-style cannot bleed into the next cell.
|
|
136
221
|
*/
|
|
137
222
|
export function truncateToWidth(text, width, ellipsis = '…') {
|
|
138
223
|
if (width <= 0)
|
|
@@ -143,20 +228,23 @@ export function truncateToWidth(text, width, ellipsis = '…') {
|
|
|
143
228
|
const budget = Math.max(0, width - ellW);
|
|
144
229
|
let out = '';
|
|
145
230
|
let used = 0;
|
|
231
|
+
let reset = '';
|
|
146
232
|
for (const part of splitAnsi(text)) {
|
|
147
233
|
if (part.ansi) {
|
|
148
234
|
out += part.value;
|
|
235
|
+
if (part.value.endsWith('m'))
|
|
236
|
+
reset = '\x1b[0m';
|
|
149
237
|
continue;
|
|
150
238
|
}
|
|
151
|
-
for (const
|
|
152
|
-
const cw =
|
|
239
|
+
for (const cluster of clusters(part.value)) {
|
|
240
|
+
const cw = graphemeWidth(cluster);
|
|
153
241
|
if (used + cw > budget)
|
|
154
|
-
return out + ellipsis +
|
|
155
|
-
out +=
|
|
242
|
+
return out + ellipsis + reset;
|
|
243
|
+
out += cluster;
|
|
156
244
|
used += cw;
|
|
157
245
|
}
|
|
158
246
|
}
|
|
159
|
-
return out + ellipsis +
|
|
247
|
+
return out + ellipsis + reset;
|
|
160
248
|
}
|
|
161
249
|
/** Pad (or truncate) so the line occupies exactly `width` cells. */
|
|
162
250
|
export function padToWidth(text, width) {
|
|
@@ -206,14 +294,14 @@ function hardWrapAnsi(text, width) {
|
|
|
206
294
|
pending += part.value;
|
|
207
295
|
continue;
|
|
208
296
|
}
|
|
209
|
-
for (const
|
|
210
|
-
const cw =
|
|
297
|
+
for (const cluster of clusters(part.value)) {
|
|
298
|
+
const cw = graphemeWidth(cluster);
|
|
211
299
|
if (currentW + cw > width && currentW > 0) {
|
|
212
300
|
lines.push(current);
|
|
213
301
|
current = '';
|
|
214
302
|
currentW = 0;
|
|
215
303
|
}
|
|
216
|
-
current += pending +
|
|
304
|
+
current += pending + cluster;
|
|
217
305
|
pending = '';
|
|
218
306
|
currentW += cw;
|
|
219
307
|
}
|
|
@@ -231,8 +319,13 @@ function hardWrapAnsi(text, width) {
|
|
|
231
319
|
export function wrapText(text, width) {
|
|
232
320
|
if (width <= 0)
|
|
233
321
|
return [''];
|
|
322
|
+
// A tab carries no cell width of its own, so a paragraph that still holds one
|
|
323
|
+
// would be measured short and overflow its row. Callers that prefix padding
|
|
324
|
+
// expand before adding it, so the tab stop accounts for that padding; the
|
|
325
|
+
// expansion here covers the remaining entry points from column zero.
|
|
326
|
+
const expanded = text.includes('\t') ? expandTabs(text, 8, 0) : text;
|
|
234
327
|
const out = [];
|
|
235
|
-
for (const para of
|
|
328
|
+
for (const para of expanded.split('\n')) {
|
|
236
329
|
if (para === '') {
|
|
237
330
|
out.push('');
|
|
238
331
|
continue;
|
|
@@ -357,48 +450,53 @@ export function wrapTextStable(text, width) {
|
|
|
357
450
|
/**
|
|
358
451
|
* Wrap plain `text` (no ANSI) to `width`, carrying source offsets so a cursor
|
|
359
452
|
* index can be mapped to (row, column).
|
|
453
|
+
*
|
|
454
|
+
* Tabs are deliberately not expanded here: a literal tab is a completion key in
|
|
455
|
+
* the composer rather than buffer content, and expanding would invalidate the
|
|
456
|
+
* UTF-16 offsets this returns. A tab that did reach the buffer would measure as
|
|
457
|
+
* zero cells, so callers must keep it out of the text.
|
|
360
458
|
*/
|
|
361
459
|
export function wrapIndexed(text, width) {
|
|
362
460
|
if (width <= 0)
|
|
363
461
|
return [{ text: '', start: 0, end: 0 }];
|
|
364
462
|
const lines = [];
|
|
463
|
+
const spans = clusterSpans(text);
|
|
365
464
|
let start = 0;
|
|
366
465
|
let used = 0;
|
|
367
466
|
let breakAt = -1;
|
|
368
467
|
const flush = (end) => {
|
|
369
468
|
lines.push({ text: text.slice(start, end), start, end });
|
|
370
469
|
};
|
|
371
|
-
for (
|
|
372
|
-
const
|
|
373
|
-
const
|
|
374
|
-
if (
|
|
470
|
+
for (const span of spans) {
|
|
471
|
+
const i = span.index;
|
|
472
|
+
const cluster = span.cluster;
|
|
473
|
+
if (cluster === '\n') {
|
|
375
474
|
flush(i);
|
|
376
|
-
i
|
|
377
|
-
start = i;
|
|
475
|
+
start = i + 1;
|
|
378
476
|
used = 0;
|
|
379
477
|
breakAt = -1;
|
|
380
478
|
continue;
|
|
381
479
|
}
|
|
382
|
-
const cw =
|
|
480
|
+
const cw = graphemeWidth(cluster);
|
|
383
481
|
if (used + cw > width && i > start) {
|
|
384
482
|
const cut = breakAt >= start ? breakAt : i;
|
|
385
483
|
flush(cut);
|
|
386
484
|
start = breakAt >= start ? breakAt + 1 : i;
|
|
387
485
|
used = 0;
|
|
388
486
|
breakAt = -1;
|
|
389
|
-
for (
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
if (
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
487
|
+
for (const inner of spans) {
|
|
488
|
+
if (inner.index < start)
|
|
489
|
+
continue;
|
|
490
|
+
if (inner.index >= i)
|
|
491
|
+
break;
|
|
492
|
+
if (inner.cluster === ' ')
|
|
493
|
+
breakAt = inner.index;
|
|
494
|
+
used += graphemeWidth(inner.cluster);
|
|
396
495
|
}
|
|
397
496
|
}
|
|
398
|
-
if (
|
|
497
|
+
if (cluster === ' ')
|
|
399
498
|
breakAt = i;
|
|
400
499
|
used += cw;
|
|
401
|
-
i += ch.length;
|
|
402
500
|
}
|
|
403
501
|
flush(text.length);
|
|
404
502
|
return lines.length > 0 ? lines : [{ text: '', start: 0, end: 0 }];
|
|
@@ -407,15 +505,11 @@ export function wrapIndexed(text, width) {
|
|
|
407
505
|
export function indexOnWrapped(line, column, source) {
|
|
408
506
|
const target = Math.max(0, column);
|
|
409
507
|
let col = 0;
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
const cp = source.codePointAt(i) ?? 0;
|
|
413
|
-
const ch = String.fromCodePoint(cp);
|
|
414
|
-
const width = charWidth(cp);
|
|
508
|
+
for (const span of clusterSpans(source.slice(line.start, line.end))) {
|
|
509
|
+
const width = graphemeWidth(span.cluster);
|
|
415
510
|
if (col + width > target)
|
|
416
|
-
return
|
|
511
|
+
return line.start + span.index;
|
|
417
512
|
col += width;
|
|
418
|
-
i += ch.length;
|
|
419
513
|
}
|
|
420
514
|
return line.end;
|
|
421
515
|
}
|
package/lib/chrome/width.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"width.js","sourceRoot":"","sources":["../../src/chrome/width.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"width.js","sourceRoot":"","sources":["../../src/chrome/width.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/** Workspace change summary command registered through dsh-commands. */
|
|
2
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
3
|
+
export declare const name = "omdsh-command-diff";
|
|
4
|
+
export declare const inject: string[];
|
|
5
|
+
/** One tracked file's line delta in the working tree. */
|
|
6
|
+
export interface FileChange {
|
|
7
|
+
path: string;
|
|
8
|
+
added: number;
|
|
9
|
+
removed: number;
|
|
10
|
+
/** Binary files report `-` for both counts. */
|
|
11
|
+
binary: boolean;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Parse `git diff --numstat` output.
|
|
15
|
+
* @param output - raw stdout, one `added\tremoved\tpath` row per file.
|
|
16
|
+
* @returns parsed changes in git's order.
|
|
17
|
+
*/
|
|
18
|
+
export declare function parseNumstat(output: string): FileChange[];
|
|
19
|
+
/**
|
|
20
|
+
* Collect untracked paths from `git status --porcelain` output.
|
|
21
|
+
* @param output - raw stdout; only `??` rows are considered.
|
|
22
|
+
* @returns untracked paths in git's order.
|
|
23
|
+
*/
|
|
24
|
+
export declare function untrackedFromStatus(output: string): string[];
|
|
25
|
+
/**
|
|
26
|
+
* Render the workspace change summary as Markdown.
|
|
27
|
+
* @param changes - tracked file deltas.
|
|
28
|
+
* @param untracked - untracked paths.
|
|
29
|
+
* @returns a Markdown summary, or a no-change notice.
|
|
30
|
+
*/
|
|
31
|
+
export declare function formatChangeSummary(changes: readonly FileChange[], untracked: readonly string[]): string;
|
|
32
|
+
export declare function apply(ctx: Context): void;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/** Workspace change summary command registered through dsh-commands. */
|
|
2
|
+
import { execFile } from 'node:child_process';
|
|
3
|
+
import { registerCommands } from "./registration.js";
|
|
4
|
+
export const name = 'omdsh-command-diff';
|
|
5
|
+
export const inject = ['commands'];
|
|
6
|
+
/** Maximum rows rendered before a summary is truncated. */
|
|
7
|
+
const DIFF_MAX_ROWS = 20;
|
|
8
|
+
/**
|
|
9
|
+
* Parse `git diff --numstat` output.
|
|
10
|
+
* @param output - raw stdout, one `added\tremoved\tpath` row per file.
|
|
11
|
+
* @returns parsed changes in git's order.
|
|
12
|
+
*/
|
|
13
|
+
export function parseNumstat(output) {
|
|
14
|
+
const changes = [];
|
|
15
|
+
for (const line of output.split('\n')) {
|
|
16
|
+
if (line.trim() === '')
|
|
17
|
+
continue;
|
|
18
|
+
const [added, removed, ...rest] = line.split('\t');
|
|
19
|
+
const path = rest.join('\t').trim();
|
|
20
|
+
if (path === '')
|
|
21
|
+
continue;
|
|
22
|
+
const binary = added === '-' || removed === '-';
|
|
23
|
+
changes.push({
|
|
24
|
+
path,
|
|
25
|
+
added: binary ? 0 : Number.parseInt(added ?? '0', 10) || 0,
|
|
26
|
+
removed: binary ? 0 : Number.parseInt(removed ?? '0', 10) || 0,
|
|
27
|
+
binary,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
return changes;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Collect untracked paths from `git status --porcelain` output.
|
|
34
|
+
* @param output - raw stdout; only `??` rows are considered.
|
|
35
|
+
* @returns untracked paths in git's order.
|
|
36
|
+
*/
|
|
37
|
+
export function untrackedFromStatus(output) {
|
|
38
|
+
return output.split('\n')
|
|
39
|
+
.filter(line => line.startsWith('?? '))
|
|
40
|
+
.map(line => line.slice(3).trim())
|
|
41
|
+
.filter(path => path !== '');
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Render the workspace change summary as Markdown.
|
|
45
|
+
* @param changes - tracked file deltas.
|
|
46
|
+
* @param untracked - untracked paths.
|
|
47
|
+
* @returns a Markdown summary, or a no-change notice.
|
|
48
|
+
*/
|
|
49
|
+
export function formatChangeSummary(changes, untracked) {
|
|
50
|
+
if (changes.length === 0 && untracked.length === 0)
|
|
51
|
+
return 'No workspace changes.';
|
|
52
|
+
const added = changes.reduce((total, change) => total + change.added, 0);
|
|
53
|
+
const removed = changes.reduce((total, change) => total + change.removed, 0);
|
|
54
|
+
const lines = [
|
|
55
|
+
`Workspace changes · ${changes.length} tracked · ${untracked.length} untracked · +${added} −${removed}`,
|
|
56
|
+
];
|
|
57
|
+
if (changes.length > 0) {
|
|
58
|
+
lines.push('', '| File | + | − |', '|---|---|---|');
|
|
59
|
+
for (const change of changes.slice(0, DIFF_MAX_ROWS)) {
|
|
60
|
+
lines.push(`| \`${change.path}\` | ${change.binary ? '—' : change.added} | ${change.binary ? '—' : change.removed} |`);
|
|
61
|
+
}
|
|
62
|
+
if (changes.length > DIFF_MAX_ROWS)
|
|
63
|
+
lines.push('', `…and ${changes.length - DIFF_MAX_ROWS} more tracked files.`);
|
|
64
|
+
}
|
|
65
|
+
if (untracked.length > 0) {
|
|
66
|
+
lines.push('', '**Untracked**');
|
|
67
|
+
for (const path of untracked.slice(0, DIFF_MAX_ROWS))
|
|
68
|
+
lines.push(`- \`${path}\``);
|
|
69
|
+
if (untracked.length > DIFF_MAX_ROWS)
|
|
70
|
+
lines.push(`- …and ${untracked.length - DIFF_MAX_ROWS} more.`);
|
|
71
|
+
}
|
|
72
|
+
return lines.join('\n');
|
|
73
|
+
}
|
|
74
|
+
function gitRunner(cwd) {
|
|
75
|
+
return (args) => new Promise((resolvePromise, reject) => {
|
|
76
|
+
execFile('git', [...args], { cwd, timeout: 5_000, maxBuffer: 4 * 1024 * 1024 }, (error, stdout) => {
|
|
77
|
+
if (error !== null)
|
|
78
|
+
reject(error);
|
|
79
|
+
else
|
|
80
|
+
resolvePromise(stdout);
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
async function showDiff(invocation) {
|
|
85
|
+
const target = invocation.rawInput.trim();
|
|
86
|
+
const cwd = invocation.agent.session.header.cwd ?? process.cwd();
|
|
87
|
+
const git = gitRunner(cwd);
|
|
88
|
+
try {
|
|
89
|
+
if (target !== '') {
|
|
90
|
+
const patch = await git(['diff', '--', target]);
|
|
91
|
+
if (patch.trim() === '')
|
|
92
|
+
return { kind: 'success', text: `No unstaged changes in ${target}.` };
|
|
93
|
+
return { kind: 'success', text: `Diff · ${target}\n\n\`\`\`diff\n${patch.trimEnd()}\n\`\`\`` };
|
|
94
|
+
}
|
|
95
|
+
const [numstat, status] = await Promise.all([
|
|
96
|
+
git(['diff', '--numstat']),
|
|
97
|
+
git(['status', '--porcelain']),
|
|
98
|
+
]);
|
|
99
|
+
return {
|
|
100
|
+
kind: 'success',
|
|
101
|
+
text: formatChangeSummary(parseNumstat(numstat), untrackedFromStatus(status)),
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
return { kind: 'error', text: 'git diff failed: ' + (error instanceof Error ? error.message : String(error)) };
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
export function apply(ctx) {
|
|
109
|
+
registerCommands(ctx, [{
|
|
110
|
+
name: 'diff',
|
|
111
|
+
description: 'Summarize the workspace changes, or show one file',
|
|
112
|
+
input: { hint: '[path]' },
|
|
113
|
+
handler: showDiff,
|
|
114
|
+
}], 'omdsh diff command');
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=diff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/commands/diff.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Human-facing background-job surface over the Harness job registry.
|
|
3
|
+
* `/jobs` lists this session's jobs; `/jobs kill <id>` requests cancellation.
|
|
4
|
+
* Output stays with the model: the registry's read cursor is consuming, so a
|
|
5
|
+
* human read would steal the model's next `job_output`.
|
|
6
|
+
* @module @agi-fans/dsh-tui/command-jobs
|
|
7
|
+
*/
|
|
8
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
9
|
+
import { type JobSnapshot } from '@deepseek-ai/dsh-jobs';
|
|
10
|
+
export declare const name = "omdsh-command-jobs";
|
|
11
|
+
export declare const inject: string[];
|
|
12
|
+
/** Markdown panel for `/jobs`; `now` is injected so the rendering stays pure. */
|
|
13
|
+
export declare function jobsText(jobs: readonly JobSnapshot[], now: number): string;
|
|
14
|
+
export declare function apply(ctx: Context): void;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Human-facing background-job surface over the Harness job registry.
|
|
3
|
+
* `/jobs` lists this session's jobs; `/jobs kill <id>` requests cancellation.
|
|
4
|
+
* Output stays with the model: the registry's read cursor is consuming, so a
|
|
5
|
+
* human read would steal the model's next `job_output`.
|
|
6
|
+
* @module @agi-fans/dsh-tui/command-jobs
|
|
7
|
+
*/
|
|
8
|
+
import { JobId } from '@deepseek-ai/dsh-jobs';
|
|
9
|
+
import { formatDuration } from "../chrome/status-line.js";
|
|
10
|
+
import { JOB_STATUS_WORD } from "../session/job-notice.js";
|
|
11
|
+
import { registerCommands } from "./registration.js";
|
|
12
|
+
export const name = 'omdsh-command-jobs';
|
|
13
|
+
export const inject = ['commands', 'jobs'];
|
|
14
|
+
function elapsed(snapshot, now) {
|
|
15
|
+
const end = snapshot.finishedAt ?? now;
|
|
16
|
+
return formatDuration(Math.max(0, end - snapshot.startedAt));
|
|
17
|
+
}
|
|
18
|
+
function statusCell(snapshot, now) {
|
|
19
|
+
const parts = [JOB_STATUS_WORD[snapshot.status], elapsed(snapshot, now)];
|
|
20
|
+
if (snapshot.detail !== undefined && snapshot.detail.trim() !== '')
|
|
21
|
+
parts.push(snapshot.detail.trim());
|
|
22
|
+
return parts.join(' · ');
|
|
23
|
+
}
|
|
24
|
+
/** Markdown panel for `/jobs`; `now` is injected so the rendering stays pure. */
|
|
25
|
+
export function jobsText(jobs, now) {
|
|
26
|
+
if (jobs.length === 0)
|
|
27
|
+
return 'No background jobs in this session.';
|
|
28
|
+
const running = jobs.filter(job => job.status === 'running' || job.status === 'stopping').length;
|
|
29
|
+
const settled = jobs.length - running;
|
|
30
|
+
const summary = [running === 0 ? '' : `${running} running`, settled === 0 ? '' : `${settled} finished`]
|
|
31
|
+
.filter(part => part !== '')
|
|
32
|
+
.join(' · ');
|
|
33
|
+
return [
|
|
34
|
+
`Jobs · ${summary}`,
|
|
35
|
+
'',
|
|
36
|
+
'| Job | Status | Description |',
|
|
37
|
+
'|---|---|---|',
|
|
38
|
+
...jobs.map(job => `| \`${job.id}\` | ${statusCell(job, now)} | ${(job.label || '—').replace(/\|/gu, '\\|')} |`),
|
|
39
|
+
'',
|
|
40
|
+
'`/jobs kill <id>` stops a running job.',
|
|
41
|
+
].join('\n');
|
|
42
|
+
}
|
|
43
|
+
function killJob(ctx, invocation) {
|
|
44
|
+
const id = invocation.rawInput.trim();
|
|
45
|
+
if (id === '')
|
|
46
|
+
return { kind: 'error', text: 'Usage: /jobs kill <id>' };
|
|
47
|
+
try {
|
|
48
|
+
const outcome = ctx.jobs.kill(JobId(id), invocation.agent, 'stopped from /jobs');
|
|
49
|
+
return {
|
|
50
|
+
kind: 'success',
|
|
51
|
+
text: outcome === 'requested' ? `Stopping ${id}.` : `${id} has already finished.`,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
return { kind: 'error', text: error instanceof Error ? error.message : String(error) };
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
function showJobs(ctx, invocation) {
|
|
59
|
+
const raw = invocation.rawInput.trim();
|
|
60
|
+
if (raw === '') {
|
|
61
|
+
return { kind: 'success', text: jobsText(ctx.jobs.list(invocation.agent), Date.now()) };
|
|
62
|
+
}
|
|
63
|
+
const [verb, ...rest] = raw.split(/\s+/u);
|
|
64
|
+
if (verb === 'kill') {
|
|
65
|
+
const id = rest[0];
|
|
66
|
+
if (id === undefined || rest.length > 1)
|
|
67
|
+
return { kind: 'error', text: 'Usage: /jobs kill <id>' };
|
|
68
|
+
return killJob(ctx, { ...invocation, rawInput: id });
|
|
69
|
+
}
|
|
70
|
+
return { kind: 'error', text: 'Usage: /jobs [kill <id>]' };
|
|
71
|
+
}
|
|
72
|
+
export function apply(ctx) {
|
|
73
|
+
registerCommands(ctx, [
|
|
74
|
+
{
|
|
75
|
+
name: 'jobs',
|
|
76
|
+
description: 'List background jobs or stop one',
|
|
77
|
+
input: { hint: '[kill <id>]' },
|
|
78
|
+
handler: invocation => showJobs(ctx, invocation),
|
|
79
|
+
},
|
|
80
|
+
], 'omdsh jobs command');
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=jobs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../src/commands/jobs.ts"],"names":[],"mappings":"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"}
|