@axiom-lattice/core 2.1.54 → 2.1.55
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/index.d.mts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +34 -22
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +34 -22
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -2973,8 +2973,8 @@ declare class FileSystemSkillStore implements SkillStore {
|
|
|
2973
2973
|
* SandboxSkillStore
|
|
2974
2974
|
*
|
|
2975
2975
|
* Sandbox-based implementation of SkillStore
|
|
2976
|
-
* Stores skills in the shared project sandbox under /.
|
|
2977
|
-
* Path format: /.
|
|
2976
|
+
* Stores skills in the shared project sandbox under /root/.agents/skills/
|
|
2977
|
+
* Path format: /root/.agents/skills/{skillName}/SKILL.md
|
|
2978
2978
|
*/
|
|
2979
2979
|
|
|
2980
2980
|
interface SandboxSkillStoreOptions {
|
|
@@ -3929,7 +3929,7 @@ declare class DaytonaProvider implements SandboxProvider {
|
|
|
3929
3929
|
/**
|
|
3930
3930
|
* Build volume mounts for a sandbox based on RunSandboxConfig.
|
|
3931
3931
|
* Mounts:
|
|
3932
|
-
* /.
|
|
3932
|
+
* /root/.agents → tenants/{tenantId}/skills
|
|
3933
3933
|
* /agent → tenants/{tenantId}/agents/{assistantId}
|
|
3934
3934
|
* /project → tenants/{tenantId}/projects/{projectId}
|
|
3935
3935
|
*/
|
package/dist/index.d.ts
CHANGED
|
@@ -2973,8 +2973,8 @@ declare class FileSystemSkillStore implements SkillStore {
|
|
|
2973
2973
|
* SandboxSkillStore
|
|
2974
2974
|
*
|
|
2975
2975
|
* Sandbox-based implementation of SkillStore
|
|
2976
|
-
* Stores skills in the shared project sandbox under /.
|
|
2977
|
-
* Path format: /.
|
|
2976
|
+
* Stores skills in the shared project sandbox under /root/.agents/skills/
|
|
2977
|
+
* Path format: /root/.agents/skills/{skillName}/SKILL.md
|
|
2978
2978
|
*/
|
|
2979
2979
|
|
|
2980
2980
|
interface SandboxSkillStoreOptions {
|
|
@@ -3929,7 +3929,7 @@ declare class DaytonaProvider implements SandboxProvider {
|
|
|
3929
3929
|
/**
|
|
3930
3930
|
* Build volume mounts for a sandbox based on RunSandboxConfig.
|
|
3931
3931
|
* Mounts:
|
|
3932
|
-
* /.
|
|
3932
|
+
* /root/.agents → tenants/{tenantId}/skills
|
|
3933
3933
|
* /agent → tenants/{tenantId}/agents/{assistantId}
|
|
3934
3934
|
* /project → tenants/{tenantId}/projects/{projectId}
|
|
3935
3935
|
*/
|
package/dist/index.js
CHANGED
|
@@ -3688,10 +3688,10 @@ var SandboxLatticeManager = class _SandboxLatticeManager extends BaseLatticeMana
|
|
|
3688
3688
|
}
|
|
3689
3689
|
_resolveVolumeForPath(config, tenantId, filePath) {
|
|
3690
3690
|
const normalized = normalizeExternalSandboxPath(filePath);
|
|
3691
|
-
if (normalized === "/.
|
|
3691
|
+
if (normalized === "/root/.agents" || normalized.startsWith("/root/.agents/")) {
|
|
3692
3692
|
return {
|
|
3693
3693
|
volumeName: buildNamedVolumeName("s", "skills", tenantId),
|
|
3694
|
-
pathPrefix: "/.
|
|
3694
|
+
pathPrefix: "/root/.agents"
|
|
3695
3695
|
};
|
|
3696
3696
|
}
|
|
3697
3697
|
if (normalized === "/agent" || normalized.startsWith("/agent/")) {
|
|
@@ -5087,13 +5087,13 @@ var createLoadSkillContentTool = () => {
|
|
|
5087
5087
|
async (input, _exe_config) => {
|
|
5088
5088
|
try {
|
|
5089
5089
|
const sandbox = await getSandboxFromExeConfig(_exe_config);
|
|
5090
|
-
const filePath =
|
|
5090
|
+
const filePath = `/root/.agents/skills/${input.skill_name}/SKILL.md`;
|
|
5091
5091
|
let content;
|
|
5092
5092
|
try {
|
|
5093
5093
|
const result2 = await sandbox.file.readFile(filePath);
|
|
5094
5094
|
content = result2.content;
|
|
5095
5095
|
} catch {
|
|
5096
|
-
const listResult = await sandbox.file.listPath("/.
|
|
5096
|
+
const listResult = await sandbox.file.listPath("/root/.agents/skills", { recursive: false });
|
|
5097
5097
|
const available = listResult.files.filter((f) => f.is_dir).map((f) => f.path.split("/").pop()).filter(Boolean).join(", ");
|
|
5098
5098
|
return `Skill "${input.skill_name}" not found. Available skills: ${available}`;
|
|
5099
5099
|
}
|
|
@@ -5101,7 +5101,7 @@ var createLoadSkillContentTool = () => {
|
|
|
5101
5101
|
let result = buildSkillFile(meta, body);
|
|
5102
5102
|
try {
|
|
5103
5103
|
const resourcesResult = await sandbox.file.listPath(
|
|
5104
|
-
|
|
5104
|
+
`/root/.agents/skills/${input.skill_name}/resources`,
|
|
5105
5105
|
{ recursive: false }
|
|
5106
5106
|
);
|
|
5107
5107
|
const resources = resourcesResult.files.map((f) => f.path.split("/").pop()).filter(Boolean);
|
|
@@ -5154,14 +5154,14 @@ function createSkillMiddleware(params = {}) {
|
|
|
5154
5154
|
projectId: runConfig.projectId,
|
|
5155
5155
|
vmIsolation: "project"
|
|
5156
5156
|
});
|
|
5157
|
-
const result = await sandbox.file.listPath("/.
|
|
5157
|
+
const result = await sandbox.file.listPath("/root/.agents/skills", { recursive: false });
|
|
5158
5158
|
const allSkills = [];
|
|
5159
5159
|
for (const entry of result.files) {
|
|
5160
5160
|
if (!entry.is_dir) continue;
|
|
5161
5161
|
const skillName = entry.path.split("/").pop();
|
|
5162
5162
|
if (!skillName) continue;
|
|
5163
5163
|
try {
|
|
5164
|
-
const fileResult = await sandbox.file.readFile(
|
|
5164
|
+
const fileResult = await sandbox.file.readFile(`/root/.agents/skills/${skillName}/SKILL.md`);
|
|
5165
5165
|
const { meta } = parseSkillFrontmatter(fileResult.content);
|
|
5166
5166
|
allSkills.push({
|
|
5167
5167
|
id: skillName,
|
|
@@ -5697,7 +5697,7 @@ Path conventions:
|
|
|
5697
5697
|
- All paths are absolute starting with /. Key directories:
|
|
5698
5698
|
- /agent/ \u2014 Your private agent directory (identity, memory, preferences). Isolated per agent.
|
|
5699
5699
|
- /project/ \u2014 Project workspace. Shared across all agents in the same project. Persisted across sessions.
|
|
5700
|
-
- /.
|
|
5700
|
+
- /root/.agents/skills/ \u2014 Skill definitions. Read-only for most operations.
|
|
5701
5701
|
|
|
5702
5702
|
- ls: list files in a directory
|
|
5703
5703
|
- read_file: read a file from the filesystem
|
|
@@ -16676,7 +16676,7 @@ var SandboxSkillStore = class {
|
|
|
16676
16676
|
if (name.includes("..") || name.includes("/") || name.includes("\\")) {
|
|
16677
16677
|
throw new Error(`Invalid skill name: ${name} (contains invalid characters)`);
|
|
16678
16678
|
}
|
|
16679
|
-
return
|
|
16679
|
+
return `/root/.agents/skills/${name}`;
|
|
16680
16680
|
}
|
|
16681
16681
|
/**
|
|
16682
16682
|
* Get skill file path in sandbox (absolute path with ~/ prefix)
|
|
@@ -16743,14 +16743,14 @@ ${body}` : `${frontmatter}
|
|
|
16743
16743
|
async getAllSkills(tenantId, context) {
|
|
16744
16744
|
try {
|
|
16745
16745
|
const sandbox = await this.getSandbox(tenantId, context);
|
|
16746
|
-
const skillsDir = "/.
|
|
16746
|
+
const skillsDir = "/root/.agents/skills";
|
|
16747
16747
|
try {
|
|
16748
16748
|
await sandbox.file.listPath(skillsDir, { recursive: false });
|
|
16749
16749
|
} catch (listError) {
|
|
16750
16750
|
console.log(`[SandboxSkillStore] Skills directory not found, creating: ${skillsDir}`);
|
|
16751
16751
|
try {
|
|
16752
16752
|
await sandbox.shell.execCommand({
|
|
16753
|
-
command: `mkdir -p /.
|
|
16753
|
+
command: `mkdir -p /root/.agents/skills`
|
|
16754
16754
|
});
|
|
16755
16755
|
} catch (mkdirError) {
|
|
16756
16756
|
console.error(`[SandboxSkillStore] Failed to create skills directory: ${mkdirError.message}`);
|
|
@@ -18544,11 +18544,15 @@ var MicrosandboxProvider = class {
|
|
|
18544
18544
|
async stopSandbox(name) {
|
|
18545
18545
|
const instance = this.instances.get(name);
|
|
18546
18546
|
if (instance) {
|
|
18547
|
-
|
|
18547
|
+
try {
|
|
18548
|
+
await instance.stop();
|
|
18549
|
+
} catch {
|
|
18550
|
+
}
|
|
18548
18551
|
}
|
|
18549
18552
|
}
|
|
18550
18553
|
async deleteSandbox(name) {
|
|
18551
18554
|
const instance = this.instances.get(name);
|
|
18555
|
+
this.instances.delete(name);
|
|
18552
18556
|
if (instance) {
|
|
18553
18557
|
try {
|
|
18554
18558
|
await instance.kill();
|
|
@@ -18557,7 +18561,6 @@ var MicrosandboxProvider = class {
|
|
|
18557
18561
|
}
|
|
18558
18562
|
}
|
|
18559
18563
|
await import_microsandbox.Sandbox.remove(name);
|
|
18560
|
-
this.instances.delete(name);
|
|
18561
18564
|
}
|
|
18562
18565
|
async listSandboxes() {
|
|
18563
18566
|
return Array.from(this.instances.values());
|
|
@@ -18905,12 +18908,15 @@ var MicrosandboxRemoteProvider = class {
|
|
|
18905
18908
|
return instance;
|
|
18906
18909
|
}
|
|
18907
18910
|
async stopSandbox(name) {
|
|
18908
|
-
|
|
18911
|
+
try {
|
|
18912
|
+
await this.client.stopSandbox(name);
|
|
18913
|
+
} catch {
|
|
18914
|
+
}
|
|
18909
18915
|
this.instances.delete(name);
|
|
18910
18916
|
}
|
|
18911
18917
|
async deleteSandbox(name) {
|
|
18912
|
-
await this.client.deleteSandbox(name);
|
|
18913
18918
|
this.instances.delete(name);
|
|
18919
|
+
await this.client.deleteSandbox(name);
|
|
18914
18920
|
}
|
|
18915
18921
|
createVolumeFsClient(volumeName) {
|
|
18916
18922
|
return {
|
|
@@ -18940,7 +18946,7 @@ var MicrosandboxRemoteProvider = class {
|
|
|
18940
18946
|
buildDefaultVolumes(config) {
|
|
18941
18947
|
const tenantId = config?.tenantId ?? "default";
|
|
18942
18948
|
const volumes = {
|
|
18943
|
-
"/.
|
|
18949
|
+
"/root/.agents": {
|
|
18944
18950
|
type: "named",
|
|
18945
18951
|
name: buildNamedVolumeName("s", "skills", tenantId)
|
|
18946
18952
|
}
|
|
@@ -19269,15 +19275,18 @@ var E2BProvider = class {
|
|
|
19269
19275
|
async stopSandbox(name) {
|
|
19270
19276
|
const instance = this.instances.get(name);
|
|
19271
19277
|
if (instance) {
|
|
19272
|
-
|
|
19278
|
+
try {
|
|
19279
|
+
await instance.stop();
|
|
19280
|
+
} catch {
|
|
19281
|
+
}
|
|
19273
19282
|
}
|
|
19274
19283
|
}
|
|
19275
19284
|
async deleteSandbox(name) {
|
|
19276
19285
|
const instance = this.instances.get(name);
|
|
19286
|
+
this.instances.delete(name);
|
|
19277
19287
|
if (instance) {
|
|
19278
19288
|
await instance.kill();
|
|
19279
19289
|
}
|
|
19280
|
-
this.instances.delete(name);
|
|
19281
19290
|
}
|
|
19282
19291
|
async listSandboxes() {
|
|
19283
19292
|
return Array.from(this.instances.values());
|
|
@@ -19490,7 +19499,7 @@ var DaytonaProvider = class {
|
|
|
19490
19499
|
/**
|
|
19491
19500
|
* Build volume mounts for a sandbox based on RunSandboxConfig.
|
|
19492
19501
|
* Mounts:
|
|
19493
|
-
* /.
|
|
19502
|
+
* /root/.agents → tenants/{tenantId}/skills
|
|
19494
19503
|
* /agent → tenants/{tenantId}/agents/{assistantId}
|
|
19495
19504
|
* /project → tenants/{tenantId}/projects/{projectId}
|
|
19496
19505
|
*/
|
|
@@ -19506,7 +19515,7 @@ var DaytonaProvider = class {
|
|
|
19506
19515
|
const mounts = [];
|
|
19507
19516
|
mounts.push({
|
|
19508
19517
|
volumeId: volume.id,
|
|
19509
|
-
mountPath: "/.
|
|
19518
|
+
mountPath: "/root/.agents",
|
|
19510
19519
|
subpath: `tenants/${tenantId}/skills`
|
|
19511
19520
|
});
|
|
19512
19521
|
if (config.assistant_id) {
|
|
@@ -19568,18 +19577,21 @@ var DaytonaProvider = class {
|
|
|
19568
19577
|
async stopSandbox(name) {
|
|
19569
19578
|
const instance = this.instances.get(name);
|
|
19570
19579
|
if (instance) {
|
|
19571
|
-
|
|
19580
|
+
try {
|
|
19581
|
+
await instance.stop();
|
|
19582
|
+
} catch {
|
|
19583
|
+
}
|
|
19572
19584
|
}
|
|
19573
19585
|
}
|
|
19574
19586
|
async deleteSandbox(name) {
|
|
19575
19587
|
const instance = this.instances.get(name);
|
|
19588
|
+
this.instances.delete(name);
|
|
19576
19589
|
if (instance) {
|
|
19577
19590
|
try {
|
|
19578
19591
|
await instance.kill();
|
|
19579
19592
|
} catch {
|
|
19580
19593
|
}
|
|
19581
19594
|
}
|
|
19582
|
-
this.instances.delete(name);
|
|
19583
19595
|
}
|
|
19584
19596
|
async listSandboxes() {
|
|
19585
19597
|
return Array.from(this.instances.values());
|