@f5-sales-demo/xcsh 19.102.5 → 19.102.6

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": "@f5-sales-demo/xcsh",
4
- "version": "19.102.5",
4
+ "version": "19.102.6",
5
5
  "description": "Coding agent CLI with read, bash, edit, write tools and session management",
6
6
  "homepage": "https://github.com/f5-sales-demo/xcsh",
7
7
  "author": "Can Boluk",
@@ -57,13 +57,13 @@
57
57
  "dependencies": {
58
58
  "@agentclientprotocol/sdk": "1.3.0",
59
59
  "@mozilla/readability": "^0.6",
60
- "@f5-sales-demo/xcsh-stats": "19.102.5",
61
- "@f5-sales-demo/pi-agent-core": "19.102.5",
62
- "@f5-sales-demo/pi-ai": "19.102.5",
63
- "@f5-sales-demo/pi-natives": "19.102.5",
64
- "@f5-sales-demo/pi-resource-management": "19.102.5",
65
- "@f5-sales-demo/pi-tui": "19.102.5",
66
- "@f5-sales-demo/pi-utils": "19.102.5",
60
+ "@f5-sales-demo/xcsh-stats": "19.102.6",
61
+ "@f5-sales-demo/pi-agent-core": "19.102.6",
62
+ "@f5-sales-demo/pi-ai": "19.102.6",
63
+ "@f5-sales-demo/pi-natives": "19.102.6",
64
+ "@f5-sales-demo/pi-resource-management": "19.102.6",
65
+ "@f5-sales-demo/pi-tui": "19.102.6",
66
+ "@f5-sales-demo/pi-utils": "19.102.6",
67
67
  "@sinclair/typebox": "^0.34",
68
68
  "@xterm/headless": "^6.0",
69
69
  "ajv": "^8.20",
@@ -17,17 +17,17 @@ export interface BuildInfo {
17
17
  }
18
18
 
19
19
  export const BUILD_INFO: BuildInfo = {
20
- "version": "19.102.5",
21
- "commit": "8a63bfb03a98e424c010b4176b65ed5583587dad",
22
- "shortCommit": "8a63bfb",
20
+ "version": "19.102.6",
21
+ "commit": "983ca4f8d682745db27c890d634cb459fc7e3e32",
22
+ "shortCommit": "983ca4f",
23
23
  "branch": "main",
24
- "tag": "v19.102.5",
25
- "commitDate": "2026-07-30T22:33:51Z",
26
- "buildDate": "2026-07-30T23:00:45.450Z",
24
+ "tag": "v19.102.6",
25
+ "commitDate": "2026-07-31T01:44:23Z",
26
+ "buildDate": "2026-07-31T02:07:47.614Z",
27
27
  "dirty": true,
28
28
  "prNumber": "",
29
29
  "repoUrl": "https://github.com/f5-sales-demo/xcsh",
30
30
  "repoSlug": "f5-sales-demo/xcsh",
31
- "commitUrl": "https://github.com/f5-sales-demo/xcsh/commit/8a63bfb03a98e424c010b4176b65ed5583587dad",
32
- "releaseUrl": "https://github.com/f5-sales-demo/xcsh/releases/tag/v19.102.5"
31
+ "commitUrl": "https://github.com/f5-sales-demo/xcsh/commit/983ca4f8d682745db27c890d634cb459fc7e3e32",
32
+ "releaseUrl": "https://github.com/f5-sales-demo/xcsh/releases/tag/v19.102.6"
33
33
  };
@@ -1,15 +1,8 @@
1
1
  <workspace-boundary>
2
- This session may be scoped to a single customer. Treat the working directory as the scope of the
3
- work: what the task needs is inside it, and another customer's material is not yours to open here.
4
- - You **MUST NOT** range across the filesystem hunting for files, examples, or precedent. Search
5
- within the working directory. Your own skills and plugins, and paths the operator granted
6
- explicitly (`--allow-path`, `sandbox.allowRead`), are legitimate and are not licence to browse
7
- anywhere else.
8
- - Subdirectories may themselves be separate customers. Reachable does not mean in scope: work in
9
- the one the task names, state the crossing when the task genuinely spans more than one, and
10
- **MUST NOT** merge two customers' material into one artifact.
11
- - A sandbox confines this session's file access, but its boundary is the working directory, not the
12
- customer subdirectory: nothing refuses a sibling, so the rule above is yours to keep. When the
13
- sandbox is active a path outside the working directory is refused — that is the boundary working,
14
- not a tool failure. Say what you needed and why, and **MUST NOT** reach the same path another way.
2
+ Separate tenants may sit side by side as subdirectories of the working directory, and anywhere
3
+ else you can reach when filesystem isolation is off. Reaching something is not the same as it being
4
+ in scope; keeping tenants apart is your judgment.
5
+ - Work in the one the task names, and say so when the task genuinely spans more than one.
6
+ - You **MUST NOT** open another tenant's material for context, examples, or precedent when the task
7
+ did not ask for it, and **MUST NOT** merge two tenants' material into one artifact.
15
8
  </workspace-boundary>
@@ -543,7 +543,7 @@ export function buildContainmentFence(options: ContainmentOptions): ContainmentF
543
543
  // ~30 carve-outs to make ordinary tooling work again — every one of them evidence the posture was wrong.
544
544
  //
545
545
  // What the walk still covers is the part that matters: every level between the workspace and home. With
546
- // the workspace at `~/MEDDPICC/EQUIFAX`, `~/MEDDPICC` is denied so the `ACME` sibling is unreachable,
546
+ // the workspace at `~/MEDDPICC/CUSTOMER-A`, `~/MEDDPICC` is denied so the `CUSTOMER-B` sibling is unreachable,
547
547
  // and with `<container>/<tenant>/repo` every level up to home is denied, so the v19.100.1 cross-tenant
548
548
  // regression does not return.
549
549
  //
@@ -620,7 +620,7 @@ export function buildContainmentFence(options: ContainmentOptions): ContainmentF
620
620
  }
621
621
 
622
622
  // Top-level directories that hold somebody's files. Without these the fence covered only home and
623
- // the workspace's ancestors, so with the workspace at `~/MEDDPICC/EQUIFAX` another operator's
623
+ // the workspace's ancestors, so with the workspace at `~/MEDDPICC/CUSTOMER-A` another operator's
624
624
  // account, an external volume and `/data/globex` were all readable AND writable — measured. The
625
625
  // command-text scan was refusing them on the way in, which is exactly why that scan could not
626
626
  // simply be stood down (#2624).