@markusylisiurunen/tau 0.1.38 → 0.1.40

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.
@@ -1,138 +1,181 @@
1
- import { bytesToTokens } from "../utils/token.js";
2
1
  import { inlineText } from "./inline.js";
3
- import { ToolOutputComponent } from "./tool_output.js";
2
+ import { buildHeaderLine, buildSection, renderToolOutput, } from "./tool_output_layout.js";
3
+ import { applyPreviewPolicy, buildCompactPreviewLines } from "./tool_output_preview.js";
4
4
  import { EDIT_DIFF_MAX_LINES, EDIT_DIFF_MAX_TOKENS, truncateForUi, WRITE_UI_PREVIEW_LINES, } from "./tool_truncation.js";
5
+ function* iterateTextLinesForDiff(text) {
6
+ if (text.length === 0)
7
+ return;
8
+ let start = 0;
9
+ while (true) {
10
+ const idx = text.indexOf("\n", start);
11
+ if (idx === -1) {
12
+ yield text.slice(start);
13
+ break;
14
+ }
15
+ yield text.slice(start, idx);
16
+ start = idx + 1;
17
+ if (start === text.length) {
18
+ yield "";
19
+ break;
20
+ }
21
+ }
22
+ }
5
23
  function buildSimpleDiff(oldText, newText) {
6
- const oldLines = oldText.length === 0 ? ["(empty)"] : oldText.split("\n");
7
- const newLines = newText.length === 0 ? ["(empty)"] : newText.split("\n");
8
- const diffLines = [];
9
- for (const line of oldLines) {
10
- diffLines.push(`- ${line}`);
24
+ const safeMaxLines = Math.max(1, EDIT_DIFF_MAX_LINES);
25
+ const headCount = Math.floor(safeMaxLines / 2);
26
+ const tailCount = safeMaxLines - headCount;
27
+ let totalLines = 0;
28
+ let added = 0;
29
+ let removed = 0;
30
+ let allLines = [];
31
+ const headLines = [];
32
+ const tailBuffer = tailCount > 0 ? new Array(tailCount) : [];
33
+ let tailSize = 0;
34
+ let tailPos = 0;
35
+ const handleLine = (line) => {
36
+ totalLines++;
37
+ if (allLines) {
38
+ allLines.push(line);
39
+ if (allLines.length > safeMaxLines) {
40
+ allLines = undefined;
41
+ }
42
+ }
43
+ if (headLines.length < headCount) {
44
+ headLines.push(line);
45
+ }
46
+ if (tailCount > 0) {
47
+ tailBuffer[tailPos] = line;
48
+ tailPos = (tailPos + 1) % tailCount;
49
+ tailSize = Math.min(tailSize + 1, tailCount);
50
+ }
51
+ };
52
+ for (const line of iterateTextLinesForDiff(oldText)) {
53
+ removed++;
54
+ handleLine(`- ${line}`);
55
+ }
56
+ for (const line of iterateTextLinesForDiff(newText)) {
57
+ added++;
58
+ handleLine(`+ ${line}`);
11
59
  }
12
- for (const line of newLines) {
13
- diffLines.push(`+ ${line}`);
60
+ if (totalLines === 0) {
61
+ return {
62
+ diff: "",
63
+ truncation: {
64
+ truncated: false,
65
+ totalLines: 0,
66
+ outputLines: 0,
67
+ },
68
+ added,
69
+ removed,
70
+ };
14
71
  }
15
- const totalLines = diffLines.length;
16
- let outputLines = diffLines;
17
- let truncated = false;
18
- if (outputLines.length > EDIT_DIFF_MAX_LINES) {
19
- const headCount = Math.floor(EDIT_DIFF_MAX_LINES / 2);
20
- const tailCount = EDIT_DIFF_MAX_LINES - headCount;
21
- outputLines = [...outputLines.slice(0, headCount), ...outputLines.slice(-tailCount)];
22
- truncated = true;
72
+ const truncatedByLines = totalLines > safeMaxLines;
73
+ let diffCandidate;
74
+ if (!truncatedByLines) {
75
+ diffCandidate = (allLines ?? []).join("\n");
23
76
  }
24
- let diff = outputLines.join("\n");
25
- if (bytesToTokens(Buffer.byteLength(diff, "utf-8")) > EDIT_DIFF_MAX_TOKENS) {
26
- const lines = diff.split("\n");
27
- while (bytesToTokens(Buffer.byteLength(lines.join("\n"), "utf-8")) > EDIT_DIFF_MAX_TOKENS &&
28
- lines.length > 2) {
29
- const mid = Math.floor(lines.length / 2);
30
- lines.splice(mid, 1);
77
+ else {
78
+ const tailLines = [];
79
+ for (let i = 0; i < tailSize; i++) {
80
+ const idx = (tailPos - tailSize + i + tailCount) % tailCount;
81
+ tailLines.push(tailBuffer[idx]);
31
82
  }
32
- diff = lines.join("\n");
33
- truncated = true;
83
+ diffCandidate = [...headLines, ...tailLines].join("\n");
34
84
  }
85
+ const display = truncateForUi(diffCandidate, {
86
+ maxLines: Math.min(totalLines, safeMaxLines),
87
+ maxTokens: EDIT_DIFF_MAX_TOKENS,
88
+ strategy: "middle",
89
+ });
90
+ const truncated = truncatedByLines || display.truncated;
35
91
  return {
36
- diff,
92
+ diff: display.content,
37
93
  truncation: {
38
94
  truncated,
39
95
  totalLines,
40
- outputLines: diff.split("\n").length,
96
+ outputLines: display.outputLines,
41
97
  },
98
+ added,
99
+ removed,
42
100
  };
43
101
  }
44
- export function renderWriteSuccess(theme, path, bytes, lines, content, compact) {
102
+ export function buildWriteSuccessView(theme, path, bytes, lines, content) {
45
103
  const { palette, text } = theme;
46
104
  const writeColor = (s) => palette.toolFileRan(s);
47
- const previewTruncation = truncateForUi(content, {
105
+ const successBullet = (s) => palette.diffAdded(s);
106
+ const { truncation: previewTruncation, previewLines } = applyPreviewPolicy(content, {
48
107
  maxLines: WRITE_UI_PREVIEW_LINES,
49
108
  strategy: "head",
50
109
  });
51
110
  const preview = previewTruncation.content;
52
- const expandedParts = [];
53
- expandedParts.push(writeColor(text.bold(`write ${path}`)));
54
- expandedParts.push("");
55
- expandedParts.push(palette.muted(`${bytes} bytes (${lines} lines)`));
111
+ const expandedSections = [];
112
+ expandedSections.push(palette.muted(`${bytes} bytes (${lines} lines)`));
56
113
  if (preview) {
57
- expandedParts.push("");
58
- expandedParts.push(palette.filePreview(preview));
114
+ expandedSections.push(palette.filePreview(preview));
59
115
  }
60
116
  if (previewTruncation.truncated) {
61
117
  const icon = palette.warn("◆");
62
118
  const msg = palette.dim(`preview: ${previewTruncation.outputLines} of ${previewTruncation.totalLines} lines`);
63
- expandedParts.push("");
64
- expandedParts.push(`${icon} ${msg}`);
119
+ expandedSections.push(`${icon} ${msg}`);
65
120
  }
66
121
  const pathInline = inlineText(path);
67
- const segments = [
68
- { text: " ", style: (s) => s },
69
- { text: "", style: writeColor },
70
- { text: " ", style: (s) => s },
71
- { text: "wrote", style: palette.muted },
72
- { text: " ", style: (s) => s },
73
- { text: pathInline, style: palette.accent },
74
- { text: " ", style: (s) => s },
75
- { text: `(${lines} lines)`, style: palette.muted },
76
- ];
77
- const maxPreviewLines = 4;
78
- const previewLines = preview.trimEnd() ? preview.trimEnd().split("\n") : [];
79
- const shownPreviewLines = previewLines.slice(0, maxPreviewLines);
80
- const shownCount = Math.min(lines, shownPreviewLines.length);
81
- const remaining = Math.max(0, lines - shownCount);
82
- const compactLines = [];
83
- for (const l of shownPreviewLines) {
84
- compactLines.push(palette.muted(` ${l}`));
85
- }
86
- if (remaining > 0) {
87
- compactLines.push(palette.dim(` (${remaining} more lines)`));
88
- }
89
- return new ToolOutputComponent({
90
- compact,
91
- expanded: { borderColor: writeColor, text: expandedParts.join("\n") },
92
- compactView: {
93
- segments,
94
- flexIndices: [5],
95
- extraText: compactLines.length > 0 ? compactLines.join("\n") : undefined,
96
- },
122
+ const header = buildHeaderLine({
123
+ bulletStyle: successBullet,
124
+ bullet: "",
125
+ label: "wrote",
126
+ labelStyle: palette.muted,
127
+ accent: pathInline,
128
+ accentStyle: palette.accent,
129
+ tailSegments: [
130
+ { text: " ", style: (s) => s },
131
+ { text: `(${lines} lines)`, style: palette.muted },
132
+ ],
97
133
  });
134
+ const compactLines = buildCompactPreviewLines(previewLines, {
135
+ totalLines: lines,
136
+ maxLines: 16,
137
+ lineStyle: palette.muted,
138
+ moreStyle: palette.dim,
139
+ });
140
+ return {
141
+ borderColor: writeColor,
142
+ expanded: {
143
+ title: writeColor(text.bold(`write ${path}`)),
144
+ sections: expandedSections,
145
+ },
146
+ compact: {
147
+ header,
148
+ extraText: compactLines,
149
+ },
150
+ };
98
151
  }
99
- export function renderWriteBlocked(theme, path, reason, compact) {
152
+ export function buildWriteBlockedView(theme, path, reason) {
100
153
  const { palette, text } = theme;
101
154
  const errorColor = (s) => palette.error(s);
102
- const expandedParts = [errorColor(text.bold(`write ${path}`))];
103
155
  const msg = reason.trim();
104
- if (msg) {
105
- expandedParts.push("");
106
- expandedParts.push(errorColor(msg));
107
- }
156
+ const section = buildSection(msg ? [errorColor(msg)] : []);
108
157
  const pathInline = inlineText(path);
109
158
  const whyInline = inlineText(reason);
110
- const segments = [
111
- { text: " ", style: (s) => s },
112
- { text: "", style: errorColor },
113
- { text: " ", style: (s) => s },
114
- { text: "write", style: palette.muted },
115
- { text: " ", style: (s) => s },
116
- { text: pathInline, style: palette.accent },
117
- { text: " ", style: (s) => s },
118
- { text: `(blocked: ${whyInline})`, style: palette.muted },
119
- ];
120
- return new ToolOutputComponent({
121
- compact,
122
- expanded: { borderColor: errorColor, text: expandedParts.join("\n") },
123
- compactView: { segments, flexIndices: [5, 7] },
159
+ const header = buildHeaderLine({
160
+ bulletStyle: errorColor,
161
+ label: "write",
162
+ labelStyle: palette.muted,
163
+ accent: pathInline,
164
+ accentStyle: palette.accent,
165
+ tailSegments: [
166
+ { text: " ", style: (s) => s },
167
+ { text: `(blocked: ${whyInline})`, style: palette.muted },
168
+ ],
169
+ flexTailIndices: [1],
124
170
  });
125
- }
126
- function countDiffChanges(diff) {
127
- let added = 0;
128
- let removed = 0;
129
- for (const line of diff.split("\n")) {
130
- if (line.startsWith("+ "))
131
- added++;
132
- else if (line.startsWith("- "))
133
- removed++;
134
- }
135
- return { added, removed };
171
+ return {
172
+ borderColor: errorColor,
173
+ expanded: {
174
+ title: errorColor(text.bold(`write ${path}`)),
175
+ sections: section ? [section] : [],
176
+ },
177
+ compact: { header },
178
+ };
136
179
  }
137
180
  function colorDiffLine(palette, line) {
138
181
  if (line.startsWith("- "))
@@ -141,40 +184,37 @@ function colorDiffLine(palette, line) {
141
184
  return palette.diffAdded(line);
142
185
  return palette.muted(line);
143
186
  }
144
- export function renderEditSuccess(theme, path, oldLength, newLength, oldText, newText, compact) {
187
+ export function buildEditSuccessView(theme, path, oldLength, newLength, oldText, newText) {
145
188
  const { palette, text } = theme;
146
189
  const editColor = (s) => palette.toolFileRan(s);
147
- const { diff, truncation: diffTruncation } = buildSimpleDiff(oldText, newText);
190
+ const successBullet = (s) => palette.diffAdded(s);
191
+ const { diff, truncation: diffTruncation, added, removed } = buildSimpleDiff(oldText, newText);
192
+ const diffLines = diff ? diff.split("\n") : [];
148
193
  const sizeDiff = newLength - oldLength;
149
194
  const diffStr = sizeDiff === 0 ? "same size" : sizeDiff > 0 ? `+${sizeDiff} chars` : `${sizeDiff} chars`;
150
- const expandedParts = [];
151
- expandedParts.push(editColor(text.bold(`edit ${path}`)));
152
- expandedParts.push("");
153
- expandedParts.push(palette.muted(`replaced ${oldLength} ${newLength} chars (${diffStr})`));
154
- expandedParts.push("");
155
- expandedParts.push(diff
156
- .split("\n")
157
- .map((line) => colorDiffLine(palette, line))
158
- .join("\n"));
195
+ const expandedSections = [];
196
+ expandedSections.push(palette.muted(`replaced ${oldLength} → ${newLength} chars (${diffStr})`));
197
+ if (diffLines.length > 0) {
198
+ expandedSections.push(diffLines.map((line) => colorDiffLine(palette, line)).join("\n"));
199
+ }
159
200
  if (diffTruncation.truncated) {
160
201
  const icon = palette.warn("◆");
161
202
  const msg = palette.dim(`truncated: ${diffTruncation.outputLines} of ${diffTruncation.totalLines} lines`);
162
- expandedParts.push("");
163
- expandedParts.push(`${icon} ${msg}`);
203
+ expandedSections.push(`${icon} ${msg}`);
164
204
  }
165
- const { added, removed } = countDiffChanges(diff);
166
205
  const pathInline = inlineText(path);
167
- const segments = [
168
- { text: " ", style: (s) => s },
169
- { text: "", style: editColor },
170
- { text: " ", style: (s) => s },
171
- { text: "edited", style: palette.muted },
172
- { text: " ", style: (s) => s },
173
- { text: pathInline, style: palette.accent },
174
- { text: " ", style: (s) => s },
175
- { text: `(+${added}, -${removed})`, style: palette.muted },
176
- ];
177
- const diffLines = diff ? diff.split("\n") : [];
206
+ const header = buildHeaderLine({
207
+ bulletStyle: successBullet,
208
+ bullet: "",
209
+ label: "edited",
210
+ labelStyle: palette.muted,
211
+ accent: pathInline,
212
+ accentStyle: palette.accent,
213
+ tailSegments: [
214
+ { text: " ", style: (s) => s },
215
+ { text: `(+${added}, -${removed})`, style: palette.muted },
216
+ ],
217
+ });
178
218
  const compactLines = [];
179
219
  for (const l of diffLines) {
180
220
  if (l.startsWith("- ")) {
@@ -192,41 +232,54 @@ export function renderEditSuccess(theme, path, oldLength, newLength, oldText, ne
192
232
  const msg = palette.dim(`truncated: ${diffTruncation.outputLines} of ${diffTruncation.totalLines} lines`);
193
233
  compactLines.push(` ${icon} ${msg}`);
194
234
  }
195
- return new ToolOutputComponent({
196
- compact,
197
- expanded: { borderColor: editColor, text: expandedParts.join("\n") },
198
- compactView: {
199
- segments,
200
- flexIndices: [5],
235
+ return {
236
+ borderColor: editColor,
237
+ expanded: {
238
+ title: editColor(text.bold(`edit ${path}`)),
239
+ sections: expandedSections,
240
+ },
241
+ compact: {
242
+ header,
201
243
  extraText: compactLines.length > 0 ? compactLines.join("\n") : undefined,
202
244
  },
203
- });
245
+ };
204
246
  }
205
- export function renderEditBlocked(theme, path, reason, compact) {
247
+ export function buildEditBlockedView(theme, path, reason) {
206
248
  const { palette, text } = theme;
207
249
  const errorColor = (s) => palette.error(s);
208
- const expandedParts = [errorColor(text.bold(`edit ${path}`))];
209
250
  const msg = reason.trim();
210
- if (msg) {
211
- expandedParts.push("");
212
- expandedParts.push(errorColor(msg));
213
- }
251
+ const section = buildSection(msg ? [errorColor(msg)] : []);
214
252
  const pathInline = inlineText(path);
215
253
  const whyInline = inlineText(reason);
216
- const segments = [
217
- { text: " ", style: (s) => s },
218
- { text: "", style: errorColor },
219
- { text: " ", style: (s) => s },
220
- { text: "edit", style: palette.muted },
221
- { text: " ", style: (s) => s },
222
- { text: pathInline, style: palette.accent },
223
- { text: " ", style: (s) => s },
224
- { text: `(blocked: ${whyInline})`, style: palette.muted },
225
- ];
226
- return new ToolOutputComponent({
227
- compact,
228
- expanded: { borderColor: errorColor, text: expandedParts.join("\n") },
229
- compactView: { segments, flexIndices: [5, 7] },
254
+ const header = buildHeaderLine({
255
+ bulletStyle: errorColor,
256
+ label: "edit",
257
+ labelStyle: palette.muted,
258
+ accent: pathInline,
259
+ accentStyle: palette.accent,
230
260
  });
261
+ return {
262
+ borderColor: errorColor,
263
+ expanded: {
264
+ title: errorColor(text.bold(`edit ${path}`)),
265
+ sections: section ? [section] : [],
266
+ },
267
+ compact: {
268
+ header,
269
+ extraText: whyInline ? errorColor(` blocked: ${whyInline}`) : undefined,
270
+ },
271
+ };
272
+ }
273
+ export function renderWriteSuccess(theme, path, bytes, lines, content, compact) {
274
+ return renderToolOutput(buildWriteSuccessView(theme, path, bytes, lines, content), compact);
275
+ }
276
+ export function renderWriteBlocked(theme, path, reason, compact) {
277
+ return renderToolOutput(buildWriteBlockedView(theme, path, reason), compact);
278
+ }
279
+ export function renderEditSuccess(theme, path, oldLength, newLength, oldText, newText, compact) {
280
+ return renderToolOutput(buildEditSuccessView(theme, path, oldLength, newLength, oldText, newText), compact);
281
+ }
282
+ export function renderEditBlocked(theme, path, reason, compact) {
283
+ return renderToolOutput(buildEditBlockedView(theme, path, reason), compact);
231
284
  }
232
285
  //# sourceMappingURL=file_execution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file_execution.js","sourceRoot":"","sources":["../../src/ui/file_execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file_execution.js","sourceRoot":"","sources":["../../src/ui/file_execution.ts"],"names":[],"mappings":"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"}
package/dist/ui/footer.js CHANGED
@@ -13,6 +13,9 @@ export class FooterComponent {
13
13
  this.ui = ui;
14
14
  }
15
15
  startWorkingIcon() {
16
+ if (this.iconIntervalId)
17
+ return;
18
+ this.currentIconFrame = 0;
16
19
  this.ui.requestRender();
17
20
  this.iconIntervalId = setInterval(() => {
18
21
  this.currentIconFrame = (this.currentIconFrame + 1) % this.iconFrames.length;
@@ -29,6 +32,7 @@ export class FooterComponent {
29
32
  }
30
33
  setStatus(status) {
31
34
  this.status = status;
35
+ this.ui.requestRender();
32
36
  }
33
37
  invalidate() { }
34
38
  render(width) {
@@ -38,23 +42,13 @@ export class FooterComponent {
38
42
  const iconChar = this.iconIntervalId ? this.iconFrames[this.currentIconFrame] : this.idleIcon;
39
43
  const icon = this.iconIntervalId ? palette.accent(iconChar) : palette.dim(iconChar);
40
44
  const iconWidth = visibleWidth(iconChar);
41
- const fullCwd = this.status?.cwd ?? "";
42
- const compactCwd = this.compactCwd(fullCwd);
43
- const leftFull = this.status
44
- ? `${fullCwd} · ${this.status.contextUsage} · ${this.status.sessionCost}`
45
- : "";
46
- const leftCompact = this.status
47
- ? `${compactCwd} · ${this.status.contextUsage} · ${this.status.sessionCost}`
48
- : "";
49
- const rightPrefixRaw = this.status
50
- ? `${this.status.personaLabel} · ${this.status.reasoningLabel} · `
51
- : "";
45
+ const leftFull = this.status ? `${this.status.contextUsage} · ${this.status.sessionCost}` : "";
46
+ const rightPrefixRaw = "";
52
47
  const { riskText, riskStyled } = this.status
53
48
  ? this.formatRiskLabel(this.status.riskLevel)
54
49
  : { riskText: "", riskStyled: "" };
55
50
  const rightWidth = visibleWidth(`${rightPrefixRaw}${riskText}`);
56
- const fits = (leftValue) => 1 + iconWidth + 1 + visibleWidth(leftValue) + rightWidth + 1 + 1 <= width;
57
- const leftRaw = fits(leftFull) ? leftFull : leftCompact;
51
+ const leftRaw = leftFull;
58
52
  const leftWidth = visibleWidth(leftRaw);
59
53
  let line;
60
54
  const totalContentWidth = 1 + iconWidth + 1 + leftWidth + rightWidth + 1 + 1;
@@ -73,24 +67,6 @@ export class FooterComponent {
73
67
  }
74
68
  return [line];
75
69
  }
76
- compactCwd(cwd) {
77
- if (!cwd)
78
- return "";
79
- if (cwd === "~")
80
- return "~";
81
- const trimmed = cwd.replace(/[\\/]+$/, "");
82
- if (trimmed === "")
83
- return cwd;
84
- if (trimmed === "~")
85
- return "~";
86
- if (trimmed === "/")
87
- return "/";
88
- const lastSlash = Math.max(trimmed.lastIndexOf("/"), trimmed.lastIndexOf("\\"));
89
- if (lastSlash === -1)
90
- return trimmed;
91
- const base = trimmed.slice(lastSlash + 1);
92
- return base || trimmed;
93
- }
94
70
  formatRiskLabel(riskLevel) {
95
71
  const { palette } = this.theme;
96
72
  switch (riskLevel) {
@@ -1 +1 @@
1
- {"version":3,"file":"footer.js","sourceRoot":"","sources":["../../src/ui/footer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"footer.js","sourceRoot":"","sources":["../../src/ui/footer.ts"],"names":[],"mappings":"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"}