@f5xc-salesdemos/xcsh 19.33.0 → 19.34.1

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.
@@ -18,7 +18,7 @@ const filteredSkills = allSkills.filter(s => s.name.includes("browser") || s.nam
18
18
 
19
19
  // Or define custom skills inline
20
20
  const customSkill: Skill = {
21
- name: "my-skill",
21
+ name: "example-skill",
22
22
  description: "Custom project instructions",
23
23
  filePath: "/virtual/SKILL.md",
24
24
  baseDir: "/virtual",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@f5xc-salesdemos/xcsh",
4
- "version": "19.33.0",
4
+ "version": "19.34.1",
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",
@@ -50,13 +50,13 @@
50
50
  "dependencies": {
51
51
  "@agentclientprotocol/sdk": "0.16.1",
52
52
  "@mozilla/readability": "^0.6",
53
- "@f5xc-salesdemos/xcsh-stats": "19.33.0",
54
- "@f5xc-salesdemos/pi-agent-core": "19.33.0",
55
- "@f5xc-salesdemos/pi-ai": "19.33.0",
56
- "@f5xc-salesdemos/pi-natives": "19.33.0",
57
- "@f5xc-salesdemos/pi-resource-management": "19.33.0",
58
- "@f5xc-salesdemos/pi-tui": "19.33.0",
59
- "@f5xc-salesdemos/pi-utils": "19.33.0",
53
+ "@f5xc-salesdemos/xcsh-stats": "19.34.1",
54
+ "@f5xc-salesdemos/pi-agent-core": "19.34.1",
55
+ "@f5xc-salesdemos/pi-ai": "19.34.1",
56
+ "@f5xc-salesdemos/pi-natives": "19.34.1",
57
+ "@f5xc-salesdemos/pi-resource-management": "19.34.1",
58
+ "@f5xc-salesdemos/pi-tui": "19.34.1",
59
+ "@f5xc-salesdemos/pi-utils": "19.34.1",
60
60
  "@sinclair/typebox": "^0.34",
61
61
  "@xterm/headless": "^6.0",
62
62
  "ajv": "^8.20",
@@ -1359,8 +1359,13 @@ export const SETTINGS_SCHEMA = {
1359
1359
 
1360
1360
  "web_search.enabled": {
1361
1361
  type: "boolean",
1362
- default: true,
1363
- ui: { tab: "tools", label: "Web Search", description: "Enable the web_search tool for web searching" },
1362
+ default: false,
1363
+ ui: {
1364
+ tab: "tools",
1365
+ label: "Web Search",
1366
+ description:
1367
+ "Enable the web_search tool for web searching (disabled by default to prevent accidental PII exposure via prompt injection)",
1368
+ },
1364
1369
  },
1365
1370
  "web_search.verbose": {
1366
1371
  type: "boolean",
@@ -17,17 +17,17 @@ export interface BuildInfo {
17
17
  }
18
18
 
19
19
  export const BUILD_INFO: BuildInfo = {
20
- "version": "19.33.0",
21
- "commit": "f29552ef521f334d775ed9700aea3e820e89cbe7",
22
- "shortCommit": "f29552e",
20
+ "version": "19.34.1",
21
+ "commit": "c4f25152065ba8aaef7187bbab3ff5698f752cc0",
22
+ "shortCommit": "c4f2515",
23
23
  "branch": "main",
24
- "tag": "v19.33.0",
25
- "commitDate": "2026-06-16T01:41:37Z",
26
- "buildDate": "2026-06-16T02:10:01.349Z",
24
+ "tag": "v19.34.1",
25
+ "commitDate": "2026-06-18T03:53:26Z",
26
+ "buildDate": "2026-06-18T04:18:34.040Z",
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/f29552ef521f334d775ed9700aea3e820e89cbe7",
32
- "releaseUrl": "https://github.com/f5xc-salesdemos/xcsh/releases/tag/v19.33.0"
31
+ "commitUrl": "https://github.com/f5xc-salesdemos/xcsh/commit/c4f25152065ba8aaef7187bbab3ff5698f752cc0",
32
+ "releaseUrl": "https://github.com/f5xc-salesdemos/xcsh/releases/tag/v19.34.1"
33
33
  };
@@ -12,6 +12,10 @@ export function validateWizardUrl(url: string): string | null {
12
12
  try {
13
13
  const parsed = new URL(url);
14
14
  if (parsed.protocol !== "https:") return "URL must use HTTPS";
15
+ const labels = parsed.hostname.replace(/\.$/, "").split(".");
16
+ if (labels.length < 2 || labels.some(l => l.length === 0)) {
17
+ return "URL must include a full domain (e.g., tenant.console.ves.volterra.io)";
18
+ }
15
19
  return null;
16
20
  } catch {
17
21
  return "Invalid URL format";
@@ -349,6 +349,11 @@ async function handleCreate(ctx: CommandContext, service: ContextService, args:
349
349
  ctx.showError(t("context.create.invalidUrl"));
350
350
  return;
351
351
  }
352
+ const labels = parsed.hostname.replace(/\.$/, "").split(".");
353
+ if (labels.length < 2 || labels.some(l => l.length === 0)) {
354
+ ctx.showError(t("context.create.invalidUrl"));
355
+ return;
356
+ }
352
357
  } catch {
353
358
  ctx.showError(t("context.create.invalidUrl"));
354
359
  return;