@f5xc-salesdemos/xcsh 18.5.3 → 18.5.4

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": "18.5.3",
4
+ "version": "18.5.4",
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",
@@ -47,12 +47,12 @@
47
47
  "dependencies": {
48
48
  "@agentclientprotocol/sdk": "0.16.1",
49
49
  "@mozilla/readability": "^0.6",
50
- "@f5xc-salesdemos/xcsh-stats": "18.5.3",
51
- "@f5xc-salesdemos/pi-agent-core": "18.5.3",
52
- "@f5xc-salesdemos/pi-ai": "18.5.3",
53
- "@f5xc-salesdemos/pi-natives": "18.5.3",
54
- "@f5xc-salesdemos/pi-tui": "18.5.3",
55
- "@f5xc-salesdemos/pi-utils": "18.5.3",
50
+ "@f5xc-salesdemos/xcsh-stats": "18.5.4",
51
+ "@f5xc-salesdemos/pi-agent-core": "18.5.4",
52
+ "@f5xc-salesdemos/pi-ai": "18.5.4",
53
+ "@f5xc-salesdemos/pi-natives": "18.5.4",
54
+ "@f5xc-salesdemos/pi-tui": "18.5.4",
55
+ "@f5xc-salesdemos/pi-utils": "18.5.4",
56
56
  "@sinclair/typebox": "^0.34",
57
57
  "@xterm/headless": "^6.0",
58
58
  "ajv": "^8.18",
@@ -17,17 +17,17 @@ export interface BuildInfo {
17
17
  }
18
18
 
19
19
  export const BUILD_INFO: BuildInfo = {
20
- "version": "18.5.3",
21
- "commit": "94fee5084a501db13d610c4844a763e47314cfc9",
22
- "shortCommit": "94fee50",
20
+ "version": "18.5.4",
21
+ "commit": "a42b5ccc77040540c237254209bd6deb39b106ad",
22
+ "shortCommit": "a42b5cc",
23
23
  "branch": "main",
24
- "tag": "v18.5.3",
25
- "commitDate": "2026-04-22T03:46:25Z",
26
- "buildDate": "2026-04-22T04:28:15.429Z",
24
+ "tag": "v18.5.4",
25
+ "commitDate": "2026-04-22T05:01:25Z",
26
+ "buildDate": "2026-04-22T05:23:42.465Z",
27
27
  "dirty": false,
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/94fee5084a501db13d610c4844a763e47314cfc9",
32
- "releaseUrl": "https://github.com/f5xc-salesdemos/xcsh/releases/tag/v18.5.3"
31
+ "commitUrl": "https://github.com/f5xc-salesdemos/xcsh/commit/a42b5ccc77040540c237254209bd6deb39b106ad",
32
+ "releaseUrl": "https://github.com/f5xc-salesdemos/xcsh/releases/tag/v18.5.4"
33
33
  };
@@ -166,6 +166,30 @@ class SelectSubmenu extends Container {
166
166
  }
167
167
  }
168
168
 
169
+ /**
170
+ * Format the displayed value for a submenu-type setting row.
171
+ *
172
+ * Pure helper so the active-theme indicator and default-sentinel mappings can
173
+ * be unit-tested without rendering the TUI. Called from
174
+ * `#getSubmenuCurrentValue` with the current theme name injected by the caller.
175
+ */
176
+ export function formatSubmenuCurrentValue(
177
+ path: SettingPath,
178
+ value: string,
179
+ currentThemeName: string | undefined,
180
+ ): string {
181
+ if (path === "compaction.thresholdPercent" && (value === "-1" || value === "")) {
182
+ return "default";
183
+ }
184
+ if (path === "compaction.thresholdTokens" && (value === "-1" || value === "")) {
185
+ return "default";
186
+ }
187
+ if ((path === "theme.dark" || path === "theme.light") && currentThemeName && value === currentThemeName) {
188
+ return `${value} (active)`;
189
+ }
190
+ return value;
191
+ }
192
+
169
193
  function getSettingsTabs(): Tab[] {
170
194
  return [
171
195
  ...SETTING_TABS.map(id => {
@@ -345,14 +369,7 @@ export class SettingsSelectorComponent extends Container {
345
369
  }
346
370
 
347
371
  #getSubmenuCurrentValue(path: SettingPath, value: unknown): string {
348
- const rawValue = String(value ?? "");
349
- if (path === "compaction.thresholdPercent" && (rawValue === "-1" || rawValue === "")) {
350
- return "default";
351
- }
352
- if (path === "compaction.thresholdTokens" && (rawValue === "-1" || rawValue === "")) {
353
- return "default";
354
- }
355
- return rawValue;
372
+ return formatSubmenuCurrentValue(path, String(value ?? ""), getCurrentThemeName());
356
373
  }
357
374
 
358
375
  /**
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://raw.githubusercontent.com/f5xc-salesdemos/xcsh/main/packages/coding-agent/theme-schema.json",
2
+ "$schema": "https://raw.githubusercontent.com/f5xc-salesdemos/xcsh/main/packages/coding-agent/src/modes/theme/theme-schema.json",
3
3
  "name": "xcsh-dark",
4
4
  "vars": {
5
5
  "f5Red": "#ca260a",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://raw.githubusercontent.com/f5xc-salesdemos/xcsh/main/packages/coding-agent/theme-schema.json",
2
+ "$schema": "https://raw.githubusercontent.com/f5xc-salesdemos/xcsh/main/packages/coding-agent/src/modes/theme/theme-schema.json",
3
3
  "name": "xcsh-light",
4
4
  "vars": {
5
5
  "f5Red": "#ca260a",