@f5xc-salesdemos/xcsh 19.19.1 → 19.19.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.19.1",
4
+ "version": "19.19.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",
@@ -50,12 +50,12 @@
50
50
  "dependencies": {
51
51
  "@agentclientprotocol/sdk": "0.16.1",
52
52
  "@mozilla/readability": "^0.6",
53
- "@f5xc-salesdemos/xcsh-stats": "19.19.1",
54
- "@f5xc-salesdemos/pi-agent-core": "19.19.1",
55
- "@f5xc-salesdemos/pi-ai": "19.19.1",
56
- "@f5xc-salesdemos/pi-natives": "19.19.1",
57
- "@f5xc-salesdemos/pi-tui": "19.19.1",
58
- "@f5xc-salesdemos/pi-utils": "19.19.1",
53
+ "@f5xc-salesdemos/xcsh-stats": "19.19.2",
54
+ "@f5xc-salesdemos/pi-agent-core": "19.19.2",
55
+ "@f5xc-salesdemos/pi-ai": "19.19.2",
56
+ "@f5xc-salesdemos/pi-natives": "19.19.2",
57
+ "@f5xc-salesdemos/pi-tui": "19.19.2",
58
+ "@f5xc-salesdemos/pi-utils": "19.19.2",
59
59
  "@sinclair/typebox": "^0.34",
60
60
  "@xterm/headless": "^6.0",
61
61
  "ajv": "^8.20",
@@ -12,7 +12,7 @@ import type { TSchema } from "@sinclair/typebox";
12
12
  import * as TypeBox from "@sinclair/typebox";
13
13
  import { type ExtensionModule, extensionModuleCapability } from "../../capability/extension-module";
14
14
  import { loadCapability } from "../../discovery";
15
- import { getExtensionNameFromPath } from "../../discovery/helpers";
15
+ import { getExtensionNameFromPath, getPreloadedPluginRoots } from "../../discovery/helpers";
16
16
  import type { ExecOptions } from "../../exec/exec";
17
17
  import { execCommand } from "../../exec/exec";
18
18
  import { PROFILE_COLLECTORS, type ProfileCollector } from "../../internal-urls/profile-collectors";
@@ -515,9 +515,31 @@ export async function discoverAndLoadExtensions(
515
515
  addPath(ext.path);
516
516
  }
517
517
 
518
- // 2. Discover extension entry points from installed plugins
518
+ // 2. Discover extension entry points from installed plugins (node_modules path)
519
519
  addPaths(await getAllPluginExtensionPaths(cwd));
520
520
 
521
+ // 2b. Discover extension entry points from marketplace-cached plugins
522
+ for (const root of getPreloadedPluginRoots()) {
523
+ try {
524
+ const pkgPath = path.join(root.path, "package.json");
525
+ const pkg = await Bun.file(pkgPath).json();
526
+ const manifest = pkg?.xcsh ?? pkg?.pi;
527
+ const extensions = manifest?.extensions;
528
+ if (Array.isArray(extensions)) {
529
+ for (const entry of extensions) {
530
+ if (typeof entry !== "string") continue;
531
+ if (path.isAbsolute(entry) || entry.includes("..")) continue;
532
+ const resolved = path.resolve(root.path, entry);
533
+ if (!resolved.startsWith(root.path + path.sep) && resolved !== root.path) continue;
534
+ if (isDisabledName(getExtensionNameFromPath(resolved))) continue;
535
+ addPath(resolved);
536
+ }
537
+ }
538
+ } catch {
539
+ // No package.json or invalid — skip
540
+ }
541
+ }
542
+
521
543
  // 3. Explicitly configured paths
522
544
  for (const configuredPath of configuredPaths) {
523
545
  const resolved = resolvePath(configuredPath, cwd);
@@ -17,17 +17,17 @@ export interface BuildInfo {
17
17
  }
18
18
 
19
19
  export const BUILD_INFO: BuildInfo = {
20
- "version": "19.19.1",
21
- "commit": "1d8f572501dac4506ac9d354e9f03b4172a8d6c6",
22
- "shortCommit": "1d8f572",
20
+ "version": "19.19.2",
21
+ "commit": "d290899d78e13a93ad30d7ea25a715fa92008abd",
22
+ "shortCommit": "d290899",
23
23
  "branch": "main",
24
- "tag": "v19.19.1",
25
- "commitDate": "2026-06-09T00:37:10Z",
26
- "buildDate": "2026-06-09T01:07:22.031Z",
24
+ "tag": "v19.19.2",
25
+ "commitDate": "2026-06-09T01:09:30Z",
26
+ "buildDate": "2026-06-09T01:33:19.582Z",
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/1d8f572501dac4506ac9d354e9f03b4172a8d6c6",
32
- "releaseUrl": "https://github.com/f5xc-salesdemos/xcsh/releases/tag/v19.19.1"
31
+ "commitUrl": "https://github.com/f5xc-salesdemos/xcsh/commit/d290899d78e13a93ad30d7ea25a715fa92008abd",
32
+ "releaseUrl": "https://github.com/f5xc-salesdemos/xcsh/releases/tag/v19.19.2"
33
33
  };