@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.
- package/dist/src/config/storage.d.ts +11 -6
- package/dist/src/config/storage.js +18 -6
- package/dist/src/config/storage.js.map +1 -1
- package/dist/src/testing/isolateStorageRoots.d.ts +1 -1
- package/dist/src/testing/isolateStorageRoots.js +2 -0
- package/dist/src/testing/isolateStorageRoots.js.map +1 -1
- package/package.json +2 -2
- package/src/config/storage.ts +20 -6
- package/src/testing/isolateStorageRoots.ts +2 -0
|
@@ -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
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
*
|
|
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
|
|
139
|
-
*
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
*
|
|
143
|
-
*
|
|
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":"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
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/config/storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,gBAAgB,GAAG,8BAA8B,CAAC;AAExD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,oBAAoB;IACpB,kBAAkB;IAClB,mBAAmB;IACnB,iBAAiB;
|
|
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.
|
|
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
|
},
|
package/src/config/storage.ts
CHANGED
|
@@ -158,14 +158,28 @@ export class Storage {
|
|
|
158
158
|
}
|
|
159
159
|
|
|
160
160
|
/**
|
|
161
|
-
* Returns the global `.agents/` directory
|
|
162
|
-
*
|
|
163
|
-
*
|
|
164
|
-
*
|
|
165
|
-
*
|
|
166
|
-
*
|
|
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
|
/**
|