@markusylisiurunen/tau 0.1.33 → 0.1.36

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.
Files changed (59) hide show
  1. package/README.md +17 -16
  2. package/dist/app.js +101 -105
  3. package/dist/app.js.map +1 -1
  4. package/dist/commands.js +43 -10
  5. package/dist/commands.js.map +1 -1
  6. package/dist/terminal.js +13 -0
  7. package/dist/terminal.js.map +1 -1
  8. package/dist/tools/bash.js +6 -13
  9. package/dist/tools/bash.js.map +1 -1
  10. package/dist/tools/edit.js +2 -47
  11. package/dist/tools/edit.js.map +1 -1
  12. package/dist/tools/grep.js +3 -23
  13. package/dist/tools/grep.js.map +1 -1
  14. package/dist/tools/read.js +7 -14
  15. package/dist/tools/read.js.map +1 -1
  16. package/dist/tools/registry.js.map +1 -1
  17. package/dist/tools/write.js +1 -19
  18. package/dist/tools/write.js.map +1 -1
  19. package/dist/types.js.map +1 -1
  20. package/dist/ui/app_intro.js +12 -0
  21. package/dist/ui/app_intro.js.map +1 -0
  22. package/dist/ui/assistant_message.js +4 -3
  23. package/dist/ui/assistant_message.js.map +1 -1
  24. package/dist/ui/bash_execution.js +46 -36
  25. package/dist/ui/bash_execution.js.map +1 -1
  26. package/dist/ui/components/one_line_segments.js +69 -0
  27. package/dist/ui/components/one_line_segments.js.map +1 -1
  28. package/dist/ui/custom_editor.js +11 -18
  29. package/dist/ui/custom_editor.js.map +1 -1
  30. package/dist/ui/file_execution.js +70 -27
  31. package/dist/ui/file_execution.js.map +1 -1
  32. package/dist/ui/footer.js +64 -14
  33. package/dist/ui/footer.js.map +1 -1
  34. package/dist/ui/inline.js +4 -0
  35. package/dist/ui/inline.js.map +1 -0
  36. package/dist/ui/queued_messages.js +9 -8
  37. package/dist/ui/queued_messages.js.map +1 -1
  38. package/dist/ui/restricted_execution.js +60 -47
  39. package/dist/ui/restricted_execution.js.map +1 -1
  40. package/dist/ui/session_divider.js +4 -3
  41. package/dist/ui/session_divider.js.map +1 -1
  42. package/dist/ui/session_summary.js +3 -4
  43. package/dist/ui/session_summary.js.map +1 -1
  44. package/dist/ui/slash_autocomplete.js +2 -2
  45. package/dist/ui/slash_autocomplete.js.map +1 -1
  46. package/dist/ui/system_message.js +10 -2
  47. package/dist/ui/system_message.js.map +1 -1
  48. package/dist/ui/task_execution.js +14 -15
  49. package/dist/ui/task_execution.js.map +1 -1
  50. package/dist/ui/theme.js +179 -89
  51. package/dist/ui/theme.js.map +1 -1
  52. package/dist/ui/tool_output.js +7 -2
  53. package/dist/ui/tool_output.js.map +1 -1
  54. package/dist/ui/tool_truncation.js +21 -0
  55. package/dist/ui/tool_truncation.js.map +1 -0
  56. package/dist/ui/user_message.js +1 -2
  57. package/dist/ui/user_message.js.map +1 -1
  58. package/dist/version.js +1 -1
  59. package/package.json +11 -9
@@ -34,6 +34,34 @@ function normalizeInlineTextPreservePadding(text) {
34
34
  // Callers should trim user-provided segments (e.g. commands) as needed.
35
35
  return text.replace(/[\r\n\t]+/g, " ").replace(/ {2,}/g, " ");
36
36
  }
37
+ function wrapTextByWidth(text, maxCols) {
38
+ if (maxCols <= 0)
39
+ return [""];
40
+ if (text.length === 0)
41
+ return [""];
42
+ const graphemes = iterateGraphemes(text);
43
+ const lines = [];
44
+ let line = "";
45
+ let lineCols = 0;
46
+ for (const g of graphemes) {
47
+ const gCols = visibleWidth(g);
48
+ if (lineCols + gCols > maxCols && line.length > 0) {
49
+ lines.push(line);
50
+ line = "";
51
+ lineCols = 0;
52
+ }
53
+ if (gCols > maxCols && line.length === 0) {
54
+ lines.push(g);
55
+ continue;
56
+ }
57
+ line += g;
58
+ lineCols += gCols;
59
+ }
60
+ if (line.length > 0) {
61
+ lines.push(line);
62
+ }
63
+ return lines;
64
+ }
37
65
  export class OneLineSegmentsComponent {
38
66
  segments;
39
67
  flexIndices;
@@ -76,4 +104,45 @@ export class OneLineSegmentsComponent {
76
104
  return [`${rendered}${" ".repeat(pad)}`];
77
105
  }
78
106
  }
107
+ export class WrappedSegmentsComponent {
108
+ segments;
109
+ wrapIndex;
110
+ constructor(segments, wrapIndex) {
111
+ this.segments = segments;
112
+ this.wrapIndex = wrapIndex;
113
+ }
114
+ invalidate() { }
115
+ render(width) {
116
+ const minWidth = Math.max(0, width);
117
+ if (this.segments.length === 0) {
118
+ return [" ".repeat(minWidth)];
119
+ }
120
+ const texts = this.segments.map((s) => normalizeInlineTextPreservePadding(s.text));
121
+ const wrapAt = this.wrapIndex ?? texts.length - 1;
122
+ if (wrapAt < 0 || wrapAt >= texts.length || wrapAt !== texts.length - 1) {
123
+ return new OneLineSegmentsComponent(this.segments, []).render(width);
124
+ }
125
+ const prefixTexts = texts.slice(0, wrapAt);
126
+ const wrapText = texts[wrapAt] ?? "";
127
+ const prefixWidth = visibleWidth(prefixTexts.join(""));
128
+ if (prefixWidth >= minWidth || minWidth <= 0) {
129
+ return new OneLineSegmentsComponent(this.segments, []).render(width);
130
+ }
131
+ const availableWidth = Math.max(1, minWidth - prefixWidth);
132
+ const wrapped = wrapTextByWidth(wrapText, availableWidth);
133
+ const prefixRendered = prefixTexts
134
+ .map((t, i) => {
135
+ const style = this.segments[i]?.style ?? ((s) => s);
136
+ return style(t);
137
+ })
138
+ .join("");
139
+ const wrapStyle = this.segments[wrapAt]?.style ?? ((s) => s);
140
+ return wrapped.map((line, index) => {
141
+ const leading = index === 0 ? prefixRendered : "";
142
+ const lineWidth = (index === 0 ? prefixWidth : 0) + visibleWidth(line);
143
+ const pad = Math.max(0, minWidth - lineWidth);
144
+ return `${leading}${wrapStyle(line)}${" ".repeat(pad)}`;
145
+ });
146
+ }
147
+ }
79
148
  //# sourceMappingURL=one_line_segments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"one_line_segments.js","sourceRoot":"","sources":["../../../src/ui/components/one_line_segments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"one_line_segments.js","sourceRoot":"","sources":["../../../src/ui/components/one_line_segments.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { Editor, isCtrlC, isCtrlO, isCtrlP, isCtrlT, isEnter, isEscape, isShiftTab, } from "@mariozechner/pi-tui";
2
- import { isKittyCtrl } from "@mariozechner/pi-tui/dist/keys.js";
1
+ import { Editor, Key, matchesKey } from "@mariozechner/pi-tui";
3
2
  export class CustomEditor extends Editor {
4
3
  onCtrlC;
5
4
  onCtrlT;
@@ -18,50 +17,44 @@ export class CustomEditor extends Editor {
18
17
  return super.getLines();
19
18
  }
20
19
  handleInput(data) {
21
- if ((isShiftTab(data) || data === "\x1b[1;2Z") && this.onShiftTab) {
20
+ if (matchesKey(data, Key.shift("tab")) && this.onShiftTab) {
22
21
  this.onShiftTab();
23
22
  return;
24
23
  }
25
- if (isCtrlC(data) && this.onCtrlC) {
24
+ if (matchesKey(data, Key.ctrl("c")) && this.onCtrlC) {
26
25
  this.onCtrlC();
27
26
  return;
28
27
  }
29
- if (isCtrlT(data) && this.onCtrlT) {
28
+ if (matchesKey(data, Key.ctrl("t")) && this.onCtrlT) {
30
29
  this.onCtrlT();
31
30
  return;
32
31
  }
33
- if (isCtrlO(data) && this.onCtrlO && !this.isShowingAutocomplete()) {
32
+ if (matchesKey(data, Key.ctrl("o")) && this.onCtrlO && !this.isShowingAutocomplete()) {
34
33
  this.onCtrlO();
35
34
  return;
36
35
  }
37
- if ((data === "\x06" || isKittyCtrl(data, "f")) &&
38
- this.onCtrlF &&
39
- !this.isShowingAutocomplete()) {
36
+ if (matchesKey(data, Key.ctrl("f")) && this.onCtrlF && !this.isShowingAutocomplete()) {
40
37
  this.onCtrlF();
41
38
  return;
42
39
  }
43
- if ((data === "\x12" || isKittyCtrl(data, "r")) &&
44
- this.onCtrlR &&
45
- !this.isShowingAutocomplete()) {
40
+ if (matchesKey(data, Key.ctrl("r")) && this.onCtrlR && !this.isShowingAutocomplete()) {
46
41
  this.onCtrlR();
47
42
  return;
48
43
  }
49
- if (isCtrlP(data) && this.onCtrlP && !this.isShowingAutocomplete()) {
44
+ if (matchesKey(data, Key.ctrl("p")) && this.onCtrlP && !this.isShowingAutocomplete()) {
50
45
  this.onCtrlP();
51
46
  return;
52
47
  }
53
- if ((data === "\x1b[1;3A" || data === "\x1b[1;9A") &&
54
- this.onAltUp &&
55
- !this.isShowingAutocomplete()) {
48
+ if (matchesKey(data, Key.alt("up")) && this.onAltUp && !this.isShowingAutocomplete()) {
56
49
  this.onAltUp();
57
50
  return;
58
51
  }
59
- if (isEnter(data) && this.beforeSubmit && !this.isShowingAutocomplete()) {
52
+ if (matchesKey(data, Key.enter) && this.beforeSubmit && !this.isShowingAutocomplete()) {
60
53
  if (!this.beforeSubmit(this.getText())) {
61
54
  return;
62
55
  }
63
56
  }
64
- if (isEscape(data) && this.onEscape && !this.isShowingAutocomplete()) {
57
+ if (matchesKey(data, Key.escape) && this.onEscape && !this.isShowingAutocomplete()) {
65
58
  this.onEscape();
66
59
  return;
67
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"custom_editor.js","sourceRoot":"","sources":["../../src/ui/custom_editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custom_editor.js","sourceRoot":"","sources":["../../src/ui/custom_editor.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,56 @@
1
- import { theme } from "./theme.js";
1
+ import { bytesToTokens } from "../utils/token.js";
2
+ import { inlineText } from "./inline.js";
2
3
  import { ToolOutputComponent } from "./tool_output.js";
3
- function bold(text) {
4
- return `\u001b[1m${text}\u001b[22m`;
5
- }
6
- function inline(text) {
7
- return text.replace(/\s+/g, " ").trim();
4
+ import { EDIT_DIFF_MAX_LINES, EDIT_DIFF_MAX_TOKENS, truncateForUi, WRITE_UI_PREVIEW_LINES, } from "./tool_truncation.js";
5
+ 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}`);
11
+ }
12
+ for (const line of newLines) {
13
+ diffLines.push(`+ ${line}`);
14
+ }
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;
23
+ }
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);
31
+ }
32
+ diff = lines.join("\n");
33
+ truncated = true;
34
+ }
35
+ return {
36
+ diff,
37
+ truncation: {
38
+ truncated,
39
+ totalLines,
40
+ outputLines: diff.split("\n").length,
41
+ },
42
+ };
8
43
  }
9
- export function renderWriteSuccess(path, bytes, lines, preview, previewTruncation, compact) {
10
- const { palette } = theme;
44
+ export function renderWriteSuccess(theme, path, bytes, lines, content, compact) {
45
+ const { palette, text } = theme;
11
46
  const writeColor = (s) => palette.toolFileRan(s);
47
+ const previewTruncation = truncateForUi(content, {
48
+ maxLines: WRITE_UI_PREVIEW_LINES,
49
+ strategy: "head",
50
+ });
51
+ const preview = previewTruncation.content;
12
52
  const expandedParts = [];
13
- expandedParts.push(writeColor(bold(`write ${path}`)));
53
+ expandedParts.push(writeColor(text.bold(`write ${path}`)));
14
54
  expandedParts.push("");
15
55
  expandedParts.push(palette.muted(`${bytes} bytes (${lines} lines)`));
16
56
  if (preview) {
@@ -23,7 +63,7 @@ export function renderWriteSuccess(path, bytes, lines, preview, previewTruncatio
23
63
  expandedParts.push("");
24
64
  expandedParts.push(`${icon} ${msg}`);
25
65
  }
26
- const pathInline = inline(path);
66
+ const pathInline = inlineText(path);
27
67
  const segments = [
28
68
  { text: " ", style: (s) => s },
29
69
  { text: "▪", style: writeColor },
@@ -56,17 +96,17 @@ export function renderWriteSuccess(path, bytes, lines, preview, previewTruncatio
56
96
  },
57
97
  });
58
98
  }
59
- export function renderWriteBlocked(path, reason, compact) {
60
- const { palette } = theme;
99
+ export function renderWriteBlocked(theme, path, reason, compact) {
100
+ const { palette, text } = theme;
61
101
  const errorColor = (s) => palette.error(s);
62
- const expandedParts = [errorColor(bold(`write ${path}`))];
102
+ const expandedParts = [errorColor(text.bold(`write ${path}`))];
63
103
  const msg = reason.trim();
64
104
  if (msg) {
65
105
  expandedParts.push("");
66
106
  expandedParts.push(errorColor(msg));
67
107
  }
68
- const pathInline = inline(path);
69
- const whyInline = inline(reason);
108
+ const pathInline = inlineText(path);
109
+ const whyInline = inlineText(reason);
70
110
  const segments = [
71
111
  { text: " ", style: (s) => s },
72
112
  { text: "▪", style: errorColor },
@@ -94,25 +134,28 @@ function countDiffChanges(diff) {
94
134
  }
95
135
  return { added, removed };
96
136
  }
97
- function colorDiffLine(line) {
98
- const { palette } = theme;
137
+ function colorDiffLine(palette, line) {
99
138
  if (line.startsWith("- "))
100
139
  return palette.diffRemoved(line);
101
140
  if (line.startsWith("+ "))
102
141
  return palette.diffAdded(line);
103
142
  return palette.muted(line);
104
143
  }
105
- export function renderEditSuccess(path, oldLength, newLength, diff, diffTruncation, compact) {
106
- const { palette } = theme;
144
+ export function renderEditSuccess(theme, path, oldLength, newLength, oldText, newText, compact) {
145
+ const { palette, text } = theme;
107
146
  const editColor = (s) => palette.toolFileRan(s);
147
+ const { diff, truncation: diffTruncation } = buildSimpleDiff(oldText, newText);
108
148
  const sizeDiff = newLength - oldLength;
109
149
  const diffStr = sizeDiff === 0 ? "same size" : sizeDiff > 0 ? `+${sizeDiff} chars` : `${sizeDiff} chars`;
110
150
  const expandedParts = [];
111
- expandedParts.push(editColor(bold(`edit ${path}`)));
151
+ expandedParts.push(editColor(text.bold(`edit ${path}`)));
112
152
  expandedParts.push("");
113
153
  expandedParts.push(palette.muted(`replaced ${oldLength} → ${newLength} chars (${diffStr})`));
114
154
  expandedParts.push("");
115
- expandedParts.push(diff.split("\n").map(colorDiffLine).join("\n"));
155
+ expandedParts.push(diff
156
+ .split("\n")
157
+ .map((line) => colorDiffLine(palette, line))
158
+ .join("\n"));
116
159
  if (diffTruncation.truncated) {
117
160
  const icon = palette.warn("◆");
118
161
  const msg = palette.dim(`truncated: ${diffTruncation.outputLines} of ${diffTruncation.totalLines} lines`);
@@ -120,7 +163,7 @@ export function renderEditSuccess(path, oldLength, newLength, diff, diffTruncati
120
163
  expandedParts.push(`${icon} ${msg}`);
121
164
  }
122
165
  const { added, removed } = countDiffChanges(diff);
123
- const pathInline = inline(path);
166
+ const pathInline = inlineText(path);
124
167
  const segments = [
125
168
  { text: " ", style: (s) => s },
126
169
  { text: "▪", style: editColor },
@@ -159,17 +202,17 @@ export function renderEditSuccess(path, oldLength, newLength, diff, diffTruncati
159
202
  },
160
203
  });
161
204
  }
162
- export function renderEditBlocked(path, reason, compact) {
163
- const { palette } = theme;
205
+ export function renderEditBlocked(theme, path, reason, compact) {
206
+ const { palette, text } = theme;
164
207
  const errorColor = (s) => palette.error(s);
165
- const expandedParts = [errorColor(bold(`edit ${path}`))];
208
+ const expandedParts = [errorColor(text.bold(`edit ${path}`))];
166
209
  const msg = reason.trim();
167
210
  if (msg) {
168
211
  expandedParts.push("");
169
212
  expandedParts.push(errorColor(msg));
170
213
  }
171
- const pathInline = inline(path);
172
- const whyInline = inline(reason);
214
+ const pathInline = inlineText(path);
215
+ const whyInline = inlineText(reason);
173
216
  const segments = [
174
217
  { text: " ", style: (s) => s },
175
218
  { text: "▪", style: errorColor },
@@ -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
@@ -1,14 +1,15 @@
1
- import { truncateToWidth, visibleWidth } from "@mariozechner/pi-tui";
2
- import { palette, theme } from "./theme.js";
1
+ import { visibleWidth } from "@mariozechner/pi-tui";
2
+ import { truncateFromEndByWidth } from "./components/one_line_segments.js";
3
3
  export class FooterComponent {
4
4
  ui;
5
+ theme;
5
6
  idleIcon = "○";
6
7
  iconFrames = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"];
7
8
  currentIconFrame = 0;
8
9
  iconIntervalId = null;
9
- left = "";
10
- right = "";
11
- constructor(ui) {
10
+ status = null;
11
+ constructor(theme, ui) {
12
+ this.theme = theme;
12
13
  this.ui = ui;
13
14
  }
14
15
  startWorkingIcon() {
@@ -26,31 +27,80 @@ export class FooterComponent {
26
27
  this.currentIconFrame = 0;
27
28
  this.ui.requestRender();
28
29
  }
29
- setLeftRight(left, right) {
30
- this.left = left;
31
- this.right = right;
30
+ setStatus(status) {
31
+ this.status = status;
32
32
  }
33
33
  invalidate() { }
34
34
  render(width) {
35
35
  if (width <= 0)
36
36
  return [""];
37
+ const { palette } = this.theme;
37
38
  const iconChar = this.iconIntervalId ? this.iconFrames[this.currentIconFrame] : this.idleIcon;
38
- const icon = this.iconIntervalId ? theme.palette.accent(iconChar) : theme.palette.dim(iconChar);
39
+ const icon = this.iconIntervalId ? palette.accent(iconChar) : palette.dim(iconChar);
39
40
  const iconWidth = visibleWidth(iconChar);
40
- const leftWidth = visibleWidth(this.left);
41
- const rightWidth = visibleWidth(this.right);
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
+ : "";
52
+ const { riskText, riskStyled } = this.status
53
+ ? this.formatRiskLabel(this.status.riskLevel)
54
+ : { riskText: "", riskStyled: "" };
55
+ 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;
58
+ const leftWidth = visibleWidth(leftRaw);
42
59
  let line;
43
60
  const totalContentWidth = 1 + iconWidth + 1 + leftWidth + rightWidth + 1 + 1;
44
61
  if (totalContentWidth > width) {
45
62
  const availableLeft = Math.max(0, width - 1 - iconWidth - 1 - rightWidth - 1 - 1);
46
- const truncatedLeft = truncateToWidth(this.left, availableLeft, palette.dim("…"));
47
- line = ` ${icon} ${truncatedLeft} ${this.right} `;
63
+ const truncatedLeft = truncateFromEndByWidth(leftRaw, availableLeft);
64
+ const leftStyled = palette.dim(truncatedLeft);
65
+ const rightStyled = `${palette.dim(rightPrefixRaw)}${riskStyled}`;
66
+ line = ` ${icon} ${leftStyled} ${rightStyled} `;
48
67
  }
49
68
  else {
50
69
  const spaces = " ".repeat(Math.max(1, width - 1 - iconWidth - 1 - leftWidth - rightWidth - 1));
51
- line = ` ${icon} ${this.left + spaces}${this.right} `;
70
+ const leftStyled = palette.dim(leftRaw);
71
+ const rightStyled = `${palette.dim(rightPrefixRaw)}${riskStyled}`;
72
+ line = ` ${icon} ${leftStyled + spaces}${rightStyled} `;
52
73
  }
53
74
  return [line];
54
75
  }
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
+ formatRiskLabel(riskLevel) {
95
+ const { palette } = this.theme;
96
+ switch (riskLevel) {
97
+ case "restricted":
98
+ return { riskText: "restricted", riskStyled: palette.riskRestricted("restricted") };
99
+ case "read-only":
100
+ return { riskText: "read-only", riskStyled: palette.riskReadOnly("read-only") };
101
+ case "read-write":
102
+ return { riskText: "read-write", riskStyled: palette.riskReadWrite("read-write") };
103
+ }
104
+ }
55
105
  }
56
106
  //# sourceMappingURL=footer.js.map
@@ -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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"}
@@ -0,0 +1,4 @@
1
+ export function inlineText(text) {
2
+ return text.replace(/\s+/g, " ").trim();
3
+ }
4
+ //# sourceMappingURL=inline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline.js","sourceRoot":"","sources":["../../src/ui/inline.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1C,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { truncateToWidth, visibleWidth } from "@mariozechner/pi-tui";
2
- import { palette, theme } from "./theme.js";
3
2
  function firstLine(text) {
4
3
  const idx = text.indexOf("\n");
5
4
  if (idx === -1)
@@ -7,23 +6,25 @@ function firstLine(text) {
7
6
  return text.slice(0, idx);
8
7
  }
9
8
  export class QueuedMessagesComponent {
10
- getMessages;
11
- constructor(getMessages) {
12
- this.getMessages = getMessages;
9
+ theme;
10
+ messages;
11
+ constructor(theme, messages) {
12
+ this.theme = theme;
13
+ this.messages = messages;
13
14
  }
14
15
  invalidate() { }
15
16
  render(width) {
16
- const messages = this.getMessages();
17
- if (messages.length === 0)
17
+ if (this.messages.length === 0)
18
18
  return [];
19
- return messages.map((message, index) => {
19
+ const { palette, markdownTheme } = this.theme;
20
+ return this.messages.map((message, index) => {
20
21
  const prefixRaw = `${index + 1}. `;
21
22
  const prefix = palette.dim(prefixRaw);
22
23
  const prefixWidth = visibleWidth(prefixRaw);
23
24
  const line = firstLine(message);
24
25
  const available = Math.max(0, width - prefixWidth);
25
26
  const truncated = truncateToWidth(line, available, "…");
26
- const styled = theme.markdownTheme.italic(palette.muted(truncated));
27
+ const styled = markdownTheme.italic(palette.muted(truncated));
27
28
  return `${prefix}${styled}`;
28
29
  });
29
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"queued_messages.js","sourceRoot":"","sources":["../../src/ui/queued_messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAE5C,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,OAAO,uBAAuB;IACd;IAApB,YAAoB,WAA2B;QAA3B,gBAAW,GAAX,WAAW,CAAgB;IAAG,CAAC;IAEnD,UAAU,KAAI,CAAC;IAEf,MAAM,CAAC,KAAa;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAErC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YACrC,MAAM,SAAS,GAAG,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC;YACnC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;YAE5C,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YACpE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"queued_messages.js","sourceRoot":"","sources":["../../src/ui/queued_messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGrF,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,OAAO,uBAAuB;IAExB;IACA;IAFV,YACU,KAAY,EACZ,QAAkB;QADlB,UAAK,GAAL,KAAK,CAAO;QACZ,aAAQ,GAAR,QAAQ,CAAU;IACzB,CAAC;IAEJ,UAAU,KAAI,CAAC;IAEf,MAAM,CAAC,KAAa;QAClB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAE1C,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAC1C,MAAM,SAAS,GAAG,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC;YACnC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;YAE5C,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9D,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}