@f5xc-salesdemos/xcsh 19.42.1 → 19.42.2
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/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "@f5xc-salesdemos/xcsh",
|
|
4
|
-
"version": "19.42.
|
|
4
|
+
"version": "19.42.2",
|
|
5
5
|
"description": "Coding agent CLI with read, bash, edit, write tools and session management",
|
|
6
6
|
"homepage": "https://github.com/f5xc-salesdemos/xcsh",
|
|
7
7
|
"author": "Can Boluk",
|
|
@@ -52,13 +52,13 @@
|
|
|
52
52
|
"dependencies": {
|
|
53
53
|
"@agentclientprotocol/sdk": "0.16.1",
|
|
54
54
|
"@mozilla/readability": "^0.6",
|
|
55
|
-
"@f5xc-salesdemos/xcsh-stats": "19.42.
|
|
56
|
-
"@f5xc-salesdemos/pi-agent-core": "19.42.
|
|
57
|
-
"@f5xc-salesdemos/pi-ai": "19.42.
|
|
58
|
-
"@f5xc-salesdemos/pi-natives": "19.42.
|
|
59
|
-
"@f5xc-salesdemos/pi-resource-management": "19.42.
|
|
60
|
-
"@f5xc-salesdemos/pi-tui": "19.42.
|
|
61
|
-
"@f5xc-salesdemos/pi-utils": "19.42.
|
|
55
|
+
"@f5xc-salesdemos/xcsh-stats": "19.42.2",
|
|
56
|
+
"@f5xc-salesdemos/pi-agent-core": "19.42.2",
|
|
57
|
+
"@f5xc-salesdemos/pi-ai": "19.42.2",
|
|
58
|
+
"@f5xc-salesdemos/pi-natives": "19.42.2",
|
|
59
|
+
"@f5xc-salesdemos/pi-resource-management": "19.42.2",
|
|
60
|
+
"@f5xc-salesdemos/pi-tui": "19.42.2",
|
|
61
|
+
"@f5xc-salesdemos/pi-utils": "19.42.2",
|
|
62
62
|
"@sinclair/typebox": "^0.34",
|
|
63
63
|
"@xterm/headless": "^6.0",
|
|
64
64
|
"ajv": "^8.20",
|
|
@@ -17,17 +17,17 @@ export interface BuildInfo {
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
export const BUILD_INFO: BuildInfo = {
|
|
20
|
-
"version": "19.42.
|
|
21
|
-
"commit": "
|
|
22
|
-
"shortCommit": "
|
|
20
|
+
"version": "19.42.2",
|
|
21
|
+
"commit": "a018af25c2adec4357b1aa63213417ef9331ef18",
|
|
22
|
+
"shortCommit": "a018af2",
|
|
23
23
|
"branch": "main",
|
|
24
|
-
"tag": "v19.42.
|
|
25
|
-
"commitDate": "2026-06-
|
|
26
|
-
"buildDate": "2026-06-24T03:
|
|
24
|
+
"tag": "v19.42.2",
|
|
25
|
+
"commitDate": "2026-06-24T03:15:55Z",
|
|
26
|
+
"buildDate": "2026-06-24T03:45:49.205Z",
|
|
27
27
|
"dirty": true,
|
|
28
28
|
"prNumber": "",
|
|
29
29
|
"repoUrl": "https://github.com/f5xc-salesdemos/xcsh",
|
|
30
30
|
"repoSlug": "f5xc-salesdemos/xcsh",
|
|
31
|
-
"commitUrl": "https://github.com/f5xc-salesdemos/xcsh/commit/
|
|
32
|
-
"releaseUrl": "https://github.com/f5xc-salesdemos/xcsh/releases/tag/v19.42.
|
|
31
|
+
"commitUrl": "https://github.com/f5xc-salesdemos/xcsh/commit/a018af25c2adec4357b1aa63213417ef9331ef18",
|
|
32
|
+
"releaseUrl": "https://github.com/f5xc-salesdemos/xcsh/releases/tag/v19.42.2"
|
|
33
33
|
};
|
|
@@ -63,7 +63,16 @@ export function renderMermaidThemed(source: string, theme: Theme, opts?: RenderM
|
|
|
63
63
|
if (cached !== undefined) return cached;
|
|
64
64
|
|
|
65
65
|
const asciiTheme = buildMermaidAsciiTheme(theme);
|
|
66
|
-
|
|
66
|
+
// Compact defaults: beautiful-mermaid's paddingX/paddingY of 5 spreads nodes far
|
|
67
|
+
// apart and bloats the diagram. Tighter spacing reads more elegantly and helps it
|
|
68
|
+
// fit the transcript width. Callers can still override via opts.render.
|
|
69
|
+
const colored = renderMermaidAsciiSafe(source, {
|
|
70
|
+
paddingX: 2,
|
|
71
|
+
paddingY: 1,
|
|
72
|
+
...opts?.render,
|
|
73
|
+
colorMode: mode,
|
|
74
|
+
theme: asciiTheme,
|
|
75
|
+
});
|
|
67
76
|
if (colored == null) {
|
|
68
77
|
cache.set(key, null);
|
|
69
78
|
return null;
|
|
@@ -10,7 +10,6 @@ import type { RenderMermaidToolDetails } from "./render-mermaid";
|
|
|
10
10
|
import { addSection, formatErrorMessage, replaceTabs } from "./render-utils";
|
|
11
11
|
|
|
12
12
|
const TOOL_TITLE = "Mermaid";
|
|
13
|
-
const MAX_DIAGRAM_LINES = 40;
|
|
14
13
|
|
|
15
14
|
/** Human-friendly caption for the diagram-type badge in the block header. */
|
|
16
15
|
function diagramTypeLabel(type: MermaidDiagramType): string {
|
|
@@ -77,8 +76,9 @@ export const mermaidRenderer = {
|
|
|
77
76
|
const caption = source ? diagramTypeLabel(detectDiagramType(source)) : "diagram";
|
|
78
77
|
|
|
79
78
|
// Keep the diagram's own colors — do NOT recolor each line a flat tool color.
|
|
79
|
+
// Show the FULL diagram: truncating a diagram with "… N more lines" defeats the purpose.
|
|
80
80
|
const diagramLines = diagramText.split("\n").map(line => replaceTabs(line));
|
|
81
|
-
addSection(sections, "Diagram", diagramLines, uiTheme
|
|
81
|
+
addSection(sections, "Diagram", diagramLines, uiTheme);
|
|
82
82
|
|
|
83
83
|
if (result.details?.artifactId) {
|
|
84
84
|
meta.push(uiTheme.fg("dim", `artifact:${result.details.artifactId.slice(0, 8)}`));
|
package/src/tui/output-block.ts
CHANGED
|
@@ -6,7 +6,7 @@ import type { Theme, ThemeColor } from "../modes/theme/theme";
|
|
|
6
6
|
import { getImageLineMask } from "../utils/image-passthrough";
|
|
7
7
|
import type { State } from "./types";
|
|
8
8
|
import type { RenderCache } from "./utils";
|
|
9
|
-
import { getStateBgColor, Hasher, padToWidth, truncateToWidth } from "./utils";
|
|
9
|
+
import { Ellipsis, getStateBgColor, Hasher, padToWidth, truncateToWidth } from "./utils";
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Border color override for F5-branded tool renderers.
|
|
@@ -109,7 +109,9 @@ export function renderOutputBlock(options: OutputBlockOptions, theme: Theme): st
|
|
|
109
109
|
}
|
|
110
110
|
const wrappedLines = wrapContent
|
|
111
111
|
? wrapTextWithAnsi(line.trimEnd(), contentWidth)
|
|
112
|
-
:
|
|
112
|
+
: // Clip cleanly with no trailing ellipsis — a column of "…" down the
|
|
113
|
+
// right edge of a clipped diagram is clutter, not information.
|
|
114
|
+
[truncateToWidth(line.trimEnd(), contentWidth, Ellipsis.Omit)];
|
|
113
115
|
for (const wrappedLine of wrappedLines) {
|
|
114
116
|
const innerPadding = padding(Math.max(0, contentWidth - visibleWidth(wrappedLine)));
|
|
115
117
|
const fullLine = `${contentPrefix}${wrappedLine}${innerPadding}${contentSuffix}`;
|