@f5xc-salesdemos/xcsh 18.23.0 → 18.24.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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@f5xc-salesdemos/xcsh",
4
- "version": "18.23.0",
4
+ "version": "18.24.0",
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.23.0",
51
- "@f5xc-salesdemos/pi-agent-core": "18.23.0",
52
- "@f5xc-salesdemos/pi-ai": "18.23.0",
53
- "@f5xc-salesdemos/pi-natives": "18.23.0",
54
- "@f5xc-salesdemos/pi-tui": "18.23.0",
55
- "@f5xc-salesdemos/pi-utils": "18.23.0",
50
+ "@f5xc-salesdemos/xcsh-stats": "18.24.0",
51
+ "@f5xc-salesdemos/pi-agent-core": "18.24.0",
52
+ "@f5xc-salesdemos/pi-ai": "18.24.0",
53
+ "@f5xc-salesdemos/pi-natives": "18.24.0",
54
+ "@f5xc-salesdemos/pi-tui": "18.24.0",
55
+ "@f5xc-salesdemos/pi-utils": "18.24.0",
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.23.0",
21
- "commit": "527daa1a388b492488179243d601f0c4af26e4d0",
22
- "shortCommit": "527daa1",
20
+ "version": "18.24.0",
21
+ "commit": "dac603ea95ed2b8256eede56654936b456cdf596",
22
+ "shortCommit": "dac603e",
23
23
  "branch": "main",
24
- "tag": "v18.23.0",
25
- "commitDate": "2026-04-29T04:43:58Z",
26
- "buildDate": "2026-04-29T05:08:22.277Z",
24
+ "tag": "v18.24.0",
25
+ "commitDate": "2026-04-29T05:28:17Z",
26
+ "buildDate": "2026-04-29T05:49:28.785Z",
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/527daa1a388b492488179243d601f0c4af26e4d0",
32
- "releaseUrl": "https://github.com/f5xc-salesdemos/xcsh/releases/tag/v18.23.0"
31
+ "commitUrl": "https://github.com/f5xc-salesdemos/xcsh/commit/dac603ea95ed2b8256eede56654936b456cdf596",
32
+ "releaseUrl": "https://github.com/f5xc-salesdemos/xcsh/releases/tag/v18.24.0"
33
33
  };
@@ -629,6 +629,10 @@ export class ContextService {
629
629
  badNames.push(`${name} (invalid name)`);
630
630
  continue;
631
631
  }
632
+ if (RESERVED_CONTEXT_NAMES.has(rawObj.name.toLowerCase())) {
633
+ badNames.push(`${rawObj.name} (reserved subcommand name)`);
634
+ continue;
635
+ }
632
636
  const shape = this.#validateContextShape(raw, rawObj.name);
633
637
  if (!shape) {
634
638
  badNames.push(`${rawObj.name} (invalid shape)`);
@@ -738,6 +742,7 @@ export class ContextService {
738
742
  async renameContext(oldName: string, newName: string): Promise<void> {
739
743
  this.#validateContextName(oldName);
740
744
  this.#validateContextName(newName);
745
+ this.#assertNotReserved(newName);
741
746
 
742
747
  const oldPath = path.join(this.contextsDir, `${oldName}.json`);
743
748
  const newPath = path.join(this.contextsDir, `${newName}.json`);