@vybestack/llxprt-code-storage 0.11.0 → 0.12.0-nightly.260910.2aac6841e

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.
@@ -92,12 +92,17 @@ export declare class Storage {
92
92
  static getUserCommandsDir(): string;
93
93
  static getUserSkillsDir(): string;
94
94
  /**
95
- * Returns the global `.agents/` directory under the user's home directory,
96
- * matching the cross-tool Agent Skills open standard
97
- * (https://agentskills.io). Always resolved against `os.homedir()` so it
98
- * never falls back to a world-writable temp directory. If the home
99
- * directory cannot be determined, this throws rather than silently
100
- * resolving to a relative or temp path (fail-closed for security).
95
+ * Returns the global `.agents/` directory, matching the cross-tool Agent
96
+ * Skills open standard (https://agentskills.io).
97
+ *
98
+ * Resolution order:
99
+ * 1. `LLXPRT_AGENTS_HOME` environment variable (must be absolute) — the
100
+ * operator's explicit choice, mirroring `LLXPRT_CONFIG_HOME` and the
101
+ * other category overrides; test isolation depends on it.
102
+ * 2. `os.homedir()/.agents` — always resolved against the real home so it
103
+ * never falls back to a world-writable temp directory. If the home
104
+ * directory cannot be determined, this throws rather than silently
105
+ * resolving to a relative or temp path (fail-closed for security).
101
106
  */
102
107
  static getGlobalAgentsDir(): string;
103
108
  /**
@@ -135,14 +135,26 @@ export class Storage {
135
135
  return path.join(Storage.getGlobalConfigDir(), 'skills');
136
136
  }
137
137
  /**
138
- * Returns the global `.agents/` directory under the user's home directory,
139
- * matching the cross-tool Agent Skills open standard
140
- * (https://agentskills.io). Always resolved against `os.homedir()` so it
141
- * never falls back to a world-writable temp directory. If the home
142
- * directory cannot be determined, this throws rather than silently
143
- * resolving to a relative or temp path (fail-closed for security).
138
+ * Returns the global `.agents/` directory, matching the cross-tool Agent
139
+ * Skills open standard (https://agentskills.io).
140
+ *
141
+ * Resolution order:
142
+ * 1. `LLXPRT_AGENTS_HOME` environment variable (must be absolute) — the
143
+ * operator's explicit choice, mirroring `LLXPRT_CONFIG_HOME` and the
144
+ * other category overrides; test isolation depends on it.
145
+ * 2. `os.homedir()/.agents` — always resolved against the real home so it
146
+ * never falls back to a world-writable temp directory. If the home
147
+ * directory cannot be determined, this throws rather than silently
148
+ * resolving to a relative or temp path (fail-closed for security).
144
149
  */
145
150
  static getGlobalAgentsDir() {
151
+ const override = process.env.LLXPRT_AGENTS_HOME;
152
+ if (override !== undefined && override !== '') {
153
+ if (!path.isAbsolute(override)) {
154
+ throw new Error(`LLXPRT_AGENTS_HOME must be an absolute path; refusing relative agents directory '${override}'.`);
155
+ }
156
+ return override;
157
+ }
146
158
  const homeDir = os.homedir();
147
159
  if (!homeDir || !path.isAbsolute(homeDir)) {
148
160
  throw new Error('Unable to resolve user home directory for .agents skills; refusing to fall back to a relative or temp path.');
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/config/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/config/storage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EACL,sBAAsB,IAAI,4BAA4B,EACtD,oBAAoB,IAAI,0BAA0B,EAClD,qBAAqB,IAAI,2BAA2B,EACpD,mBAAmB,IAAI,yBAAyB,EAChD,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAE5E,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC;AACpC,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC;AACpC,MAAM,CAAC,MAAM,0BAA0B,GAAG,wBAAwB,CAAC;AACnE,MAAM,CAAC,MAAM,UAAU,GAAG,kBAAkB,CAAC;AAC7C,MAAM,YAAY,GAAG,KAAK,CAAC;AAE3B;;;;;;;GAOG;AACH,SAAS,wBAAwB,CAAC,GAAuB;IACvD,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;;GASG;AAEH,MAAM,OAAO,OAAO;IACD,SAAS,CAAS;IAEnC,YAAY,SAAiB;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,kBAAkB;QACvB,OAAO,yBAAyB,CAAC,4BAA4B,EAAE,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,gBAAgB;QACrB,OAAO,0BAA0B,EAAE,CAAC;IACtC,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,iBAAiB;QACtB,OAAO,2BAA2B,EAAE,CAAC;IACvC,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,eAAe;QACpB,OAAO,yBAAyB,EAAE,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,kBAAkB;QACvB,OAAO,OAAO,CAAC,kBAAkB,EAAE,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,kBAAkB;QACvB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,uEAAuE;IAEvE,MAAM,CAAC,qBAAqB;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,eAAe,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,CAAC,kBAAkB;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,gBAAgB;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,kBAAkB;QACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAChD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CACb,oFAAoF,QAAQ,IAAI,CACjG,CAAC;YACJ,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CACb,6GAA6G,CAC9G,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,qBAAqB;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,kBAAkB;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED,uEAAuE;IAEvE,MAAM,CAAC,qBAAqB;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,uBAAuB,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,CAAC,qBAAqB;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,CAAC,oBAAoB;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,uBAAuB;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,0BAA0B,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,CAAC,qBAAqB;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,sBAAsB,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,CAAC,iBAAiB;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,oBAAoB;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,YAAY,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,kBAAkB;QACvB,OAAO,OAAO,CAAC,kBAAkB,EAAE,CAAC;IACtC,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,gBAAgB;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,qBAAqB;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;IAED,2DAA2D;IAE3D;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,qBAAqB;QAC1B,MAAM,SAAS,GAAG,wBAAwB,CACxC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAC3C,CAAC;QACF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,WAAW,GAAG,wBAAwB,CAC1C,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAChD,CAAC;QACF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,uDAAuD,CAAC;QACjE,CAAC;aAAM,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,EAAE,CAAC;YACrC,OAAO,6CAA6C,CAAC;QACvD,CAAC;QACD,OAAO,gCAAgC,CAAC;IAC1C,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,qBAAqB;QAC1B,MAAM,SAAS,GAAG,wBAAwB,CACxC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAC3C,CAAC;QACF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,WAAW,GAAG,wBAAwB,CAC1C,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAChD,CAAC;QACF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CACd,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,EAC7C,sBAAsB,CACvB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,oBAAoB;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,0BAA0B,CAAC,KAAyB;QACzD,OAAO,wBAAwB,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC;IACvD,CAAC;IAED,uEAAuE;IAEvE,MAAM,CAAC,gBAAgB;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,YAAY,CAAC,CAAC;IAC5D,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED,iBAAiB;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,0BAA0B;QACxB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEO,eAAe,CAAC,QAAgB;QACtC,OAAO,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,oBAAoB,CAAC,WAAmB;QAC7C,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC;IAED,aAAa;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,SAAS,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,wBAAwB;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,eAAe,CAAC,CAAC;IACzD,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACH,wBAAwB;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,4BAA4B;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,aAAa,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;OAMG;IACH,kBAAkB;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,YAAY,CAAC,CAAC;IACtD,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,uBAAuB,CAAC,CAAC;IACrE,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,eAAe,CAAC,CAAC;IAC9D,CAAC;CACF"}
@@ -3,7 +3,7 @@
3
3
  * Copyright 2025 Vybestack LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export declare const STORAGE_ENV_KEYS: readonly ["LLXPRT_CONFIG_HOME", "LLXPRT_DATA_HOME", "LLXPRT_CACHE_HOME", "LLXPRT_LOG_HOME"];
6
+ export declare const STORAGE_ENV_KEYS: readonly ["LLXPRT_CONFIG_HOME", "LLXPRT_DATA_HOME", "LLXPRT_CACHE_HOME", "LLXPRT_LOG_HOME", "LLXPRT_AGENTS_HOME"];
7
7
  export type StorageEnvKey = (typeof STORAGE_ENV_KEYS)[number];
8
8
  export declare const STORAGE_ENV_SUBDIRECTORIES: Readonly<Record<StorageEnvKey, string>>;
9
9
  /**
@@ -12,12 +12,14 @@ export const STORAGE_ENV_KEYS = [
12
12
  'LLXPRT_DATA_HOME',
13
13
  'LLXPRT_CACHE_HOME',
14
14
  'LLXPRT_LOG_HOME',
15
+ 'LLXPRT_AGENTS_HOME',
15
16
  ];
16
17
  export const STORAGE_ENV_SUBDIRECTORIES = {
17
18
  LLXPRT_CONFIG_HOME: 'config',
18
19
  LLXPRT_DATA_HOME: 'data',
19
20
  LLXPRT_CACHE_HOME: 'cache',
20
21
  LLXPRT_LOG_HOME: 'log',
22
+ LLXPRT_AGENTS_HOME: 'agents',
21
23
  };
22
24
  /**
23
25
  * Isolates ALL storage roots to a per-run temp directory so tests can never
@@ -1 +1 @@
1
- {"version":3,"file":"isolateStorageRoots.js","sourceRoot":"","sources":["../../../src/testing/isolateStorageRoots.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"isolateStorageRoots.js","sourceRoot":"","sources":["../../../src/testing/isolateStorageRoots.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vybestack/llxprt-code-storage",
3
- "version": "0.11.0",
3
+ "version": "0.12.0-nightly.260910.2aac6841e",
4
4
  "description": "LLxprt Code Storage",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -79,7 +79,7 @@
79
79
  "test": "bun ../../scripts/run_bun_tests.ts --workspace storage --junit junit.xml",
80
80
  "test:bun": "bun ../../scripts/run_bun_tests.ts --workspace storage",
81
81
  "test:ci": "bun ../../scripts/run_bun_tests.ts --workspace storage --junit junit.xml",
82
- "typecheck": "tsc --noEmit",
82
+ "typecheck": "tsc --noEmit && tsc --noEmit -p tsconfig.test-bun.json",
83
83
  "test:secure-store:keyring": "bun test --timeout 30000 --reporter=junit --reporter-outfile=junit.secure-store.xml src/secure-store/secure-store.native-keyring.test.ts",
84
84
  "test:secure-store:fallback": "bun test --timeout 30000 --reporter=junit --reporter-outfile=junit.secure-store.xml src/secure-store/secure-store.fallback-behavior.test.ts src/secure-store/provider-key-storage.fallback.test.ts"
85
85
  },
@@ -158,14 +158,28 @@ export class Storage {
158
158
  }
159
159
 
160
160
  /**
161
- * Returns the global `.agents/` directory under the user's home directory,
162
- * matching the cross-tool Agent Skills open standard
163
- * (https://agentskills.io). Always resolved against `os.homedir()` so it
164
- * never falls back to a world-writable temp directory. If the home
165
- * directory cannot be determined, this throws rather than silently
166
- * resolving to a relative or temp path (fail-closed for security).
161
+ * Returns the global `.agents/` directory, matching the cross-tool Agent
162
+ * Skills open standard (https://agentskills.io).
163
+ *
164
+ * Resolution order:
165
+ * 1. `LLXPRT_AGENTS_HOME` environment variable (must be absolute) — the
166
+ * operator's explicit choice, mirroring `LLXPRT_CONFIG_HOME` and the
167
+ * other category overrides; test isolation depends on it.
168
+ * 2. `os.homedir()/.agents` — always resolved against the real home so it
169
+ * never falls back to a world-writable temp directory. If the home
170
+ * directory cannot be determined, this throws rather than silently
171
+ * resolving to a relative or temp path (fail-closed for security).
167
172
  */
168
173
  static getGlobalAgentsDir(): string {
174
+ const override = process.env.LLXPRT_AGENTS_HOME;
175
+ if (override !== undefined && override !== '') {
176
+ if (!path.isAbsolute(override)) {
177
+ throw new Error(
178
+ `LLXPRT_AGENTS_HOME must be an absolute path; refusing relative agents directory '${override}'.`,
179
+ );
180
+ }
181
+ return override;
182
+ }
169
183
  const homeDir = os.homedir();
170
184
  if (!homeDir || !path.isAbsolute(homeDir)) {
171
185
  throw new Error(
@@ -15,6 +15,7 @@ export const STORAGE_ENV_KEYS = [
15
15
  'LLXPRT_DATA_HOME',
16
16
  'LLXPRT_CACHE_HOME',
17
17
  'LLXPRT_LOG_HOME',
18
+ 'LLXPRT_AGENTS_HOME',
18
19
  ] as const;
19
20
 
20
21
  export type StorageEnvKey = (typeof STORAGE_ENV_KEYS)[number];
@@ -26,6 +27,7 @@ export const STORAGE_ENV_SUBDIRECTORIES: Readonly<
26
27
  LLXPRT_DATA_HOME: 'data',
27
28
  LLXPRT_CACHE_HOME: 'cache',
28
29
  LLXPRT_LOG_HOME: 'log',
30
+ LLXPRT_AGENTS_HOME: 'agents',
29
31
  };
30
32
 
31
33
  /**