@evermore.work/adapter-utils 2026.509.0-canary.0

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.
Files changed (93) hide show
  1. package/dist/billing.d.ts +2 -0
  2. package/dist/billing.d.ts.map +1 -0
  3. package/dist/billing.js +16 -0
  4. package/dist/billing.js.map +1 -0
  5. package/dist/billing.test.d.ts +2 -0
  6. package/dist/billing.test.d.ts.map +1 -0
  7. package/dist/billing.test.js +14 -0
  8. package/dist/billing.test.js.map +1 -0
  9. package/dist/command-managed-runtime.d.ts +45 -0
  10. package/dist/command-managed-runtime.d.ts.map +1 -0
  11. package/dist/command-managed-runtime.js +164 -0
  12. package/dist/command-managed-runtime.js.map +1 -0
  13. package/dist/command-managed-runtime.test.d.ts +2 -0
  14. package/dist/command-managed-runtime.test.d.ts.map +1 -0
  15. package/dist/command-managed-runtime.test.js +102 -0
  16. package/dist/command-managed-runtime.test.js.map +1 -0
  17. package/dist/command-redaction.d.ts +3 -0
  18. package/dist/command-redaction.d.ts.map +1 -0
  19. package/dist/command-redaction.js +17 -0
  20. package/dist/command-redaction.js.map +1 -0
  21. package/dist/execution-target-sandbox.test.d.ts +2 -0
  22. package/dist/execution-target-sandbox.test.d.ts.map +1 -0
  23. package/dist/execution-target-sandbox.test.js +392 -0
  24. package/dist/execution-target-sandbox.test.js.map +1 -0
  25. package/dist/execution-target.d.ts +150 -0
  26. package/dist/execution-target.d.ts.map +1 -0
  27. package/dist/execution-target.js +791 -0
  28. package/dist/execution-target.js.map +1 -0
  29. package/dist/execution-target.test.d.ts +2 -0
  30. package/dist/execution-target.test.d.ts.map +1 -0
  31. package/dist/execution-target.test.js +314 -0
  32. package/dist/execution-target.test.js.map +1 -0
  33. package/dist/index.d.ts +8 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +5 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/log-redaction.d.ts +9 -0
  38. package/dist/log-redaction.d.ts.map +1 -0
  39. package/dist/log-redaction.js +88 -0
  40. package/dist/log-redaction.js.map +1 -0
  41. package/dist/remote-execution-env.d.ts +2 -0
  42. package/dist/remote-execution-env.d.ts.map +1 -0
  43. package/dist/remote-execution-env.js +46 -0
  44. package/dist/remote-execution-env.js.map +1 -0
  45. package/dist/remote-managed-runtime.d.ts +31 -0
  46. package/dist/remote-managed-runtime.d.ts.map +1 -0
  47. package/dist/remote-managed-runtime.js +81 -0
  48. package/dist/remote-managed-runtime.js.map +1 -0
  49. package/dist/sandbox-callback-bridge.d.ts +132 -0
  50. package/dist/sandbox-callback-bridge.d.ts.map +1 -0
  51. package/dist/sandbox-callback-bridge.js +925 -0
  52. package/dist/sandbox-callback-bridge.js.map +1 -0
  53. package/dist/sandbox-callback-bridge.test.d.ts +2 -0
  54. package/dist/sandbox-callback-bridge.test.d.ts.map +1 -0
  55. package/dist/sandbox-callback-bridge.test.js +719 -0
  56. package/dist/sandbox-callback-bridge.test.js.map +1 -0
  57. package/dist/sandbox-managed-runtime.d.ts +54 -0
  58. package/dist/sandbox-managed-runtime.d.ts.map +1 -0
  59. package/dist/sandbox-managed-runtime.js +234 -0
  60. package/dist/sandbox-managed-runtime.js.map +1 -0
  61. package/dist/sandbox-managed-runtime.test.d.ts +2 -0
  62. package/dist/sandbox-managed-runtime.test.d.ts.map +1 -0
  63. package/dist/sandbox-managed-runtime.test.js +118 -0
  64. package/dist/sandbox-managed-runtime.test.js.map +1 -0
  65. package/dist/sandbox-shell.d.ts +2 -0
  66. package/dist/sandbox-shell.d.ts.map +1 -0
  67. package/dist/sandbox-shell.js +4 -0
  68. package/dist/sandbox-shell.js.map +1 -0
  69. package/dist/server-utils.d.ts +253 -0
  70. package/dist/server-utils.d.ts.map +1 -0
  71. package/dist/server-utils.js +1522 -0
  72. package/dist/server-utils.js.map +1 -0
  73. package/dist/server-utils.test.d.ts +2 -0
  74. package/dist/server-utils.test.d.ts.map +1 -0
  75. package/dist/server-utils.test.js +685 -0
  76. package/dist/server-utils.test.js.map +1 -0
  77. package/dist/session-compaction.d.ts +25 -0
  78. package/dist/session-compaction.d.ts.map +1 -0
  79. package/dist/session-compaction.js +154 -0
  80. package/dist/session-compaction.js.map +1 -0
  81. package/dist/ssh-fixture.test.d.ts +2 -0
  82. package/dist/ssh-fixture.test.d.ts.map +1 -0
  83. package/dist/ssh-fixture.test.js +214 -0
  84. package/dist/ssh-fixture.test.js.map +1 -0
  85. package/dist/ssh.d.ts +111 -0
  86. package/dist/ssh.d.ts.map +1 -0
  87. package/dist/ssh.js +1098 -0
  88. package/dist/ssh.js.map +1 -0
  89. package/dist/types.d.ts +465 -0
  90. package/dist/types.d.ts.map +1 -0
  91. package/dist/types.js +5 -0
  92. package/dist/types.js.map +1 -0
  93. package/package.json +41 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-callback-bridge.test.js","sourceRoot":"","sources":["../src/sandbox-callback-bridge.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ export interface SandboxRemoteExecutionSpec {
2
+ transport: "sandbox";
3
+ provider: string;
4
+ sandboxId: string;
5
+ remoteCwd: string;
6
+ timeoutMs: number;
7
+ apiKey: string | null;
8
+ }
9
+ export interface SandboxManagedRuntimeAsset {
10
+ key: string;
11
+ localDir: string;
12
+ followSymlinks?: boolean;
13
+ exclude?: string[];
14
+ }
15
+ export interface SandboxManagedRuntimeClient {
16
+ makeDir(remotePath: string): Promise<void>;
17
+ writeFile(remotePath: string, bytes: ArrayBuffer): Promise<void>;
18
+ readFile(remotePath: string): Promise<Buffer | Uint8Array | ArrayBuffer>;
19
+ listFiles(remotePath: string): Promise<string[]>;
20
+ remove(remotePath: string): Promise<void>;
21
+ run(command: string, options: {
22
+ timeoutMs: number;
23
+ }): Promise<void>;
24
+ }
25
+ export interface PreparedSandboxManagedRuntime {
26
+ spec: SandboxRemoteExecutionSpec;
27
+ workspaceLocalDir: string;
28
+ workspaceRemoteDir: string;
29
+ runtimeRootDir: string;
30
+ assetDirs: Record<string, string>;
31
+ restoreWorkspace(): Promise<void>;
32
+ }
33
+ export declare function parseSandboxRemoteExecutionSpec(value: unknown): SandboxRemoteExecutionSpec | null;
34
+ export declare function buildSandboxExecutionSessionIdentity(spec: SandboxRemoteExecutionSpec | null): {
35
+ readonly transport: "sandbox";
36
+ readonly provider: string;
37
+ readonly sandboxId: string;
38
+ readonly remoteCwd: string;
39
+ } | null;
40
+ export declare function sandboxExecutionSessionMatches(saved: unknown, current: SandboxRemoteExecutionSpec | null): boolean;
41
+ export declare function mirrorDirectory(sourceDir: string, targetDir: string, options?: {
42
+ preserveAbsent?: string[];
43
+ }): Promise<void>;
44
+ export declare function prepareSandboxManagedRuntime(input: {
45
+ spec: SandboxRemoteExecutionSpec;
46
+ adapterKey: string;
47
+ client: SandboxManagedRuntimeClient;
48
+ workspaceLocalDir: string;
49
+ workspaceRemoteDir?: string;
50
+ workspaceExclude?: string[];
51
+ preserveAbsentOnRestore?: string[];
52
+ assets?: SandboxManagedRuntimeAsset[];
53
+ }): Promise<PreparedSandboxManagedRuntime>;
54
+ //# sourceMappingURL=sandbox-managed-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-managed-runtime.d.ts","sourceRoot":"","sources":["../src/sandbox-managed-runtime.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,0BAA0B;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC,CAAC;IACzE,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrE;AAED,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,0BAA0B,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAoBD,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,0BAA0B,GAAG,IAAI,CA2BjG;AAED,wBAAgB,oCAAoC,CAAC,IAAI,EAAE,0BAA0B,GAAG,IAAI;;;;;SAQ3F;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,0BAA0B,GAAG,IAAI,GAAG,OAAO,CAUlH;AAkED,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GAC1C,OAAO,CAAC,IAAI,CAAC,CA2Cf;AAgBD,wBAAsB,4BAA4B,CAAC,KAAK,EAAE;IACxD,IAAI,EAAE,0BAA0B,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,2BAA2B,CAAC;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IACnC,MAAM,CAAC,EAAE,0BAA0B,EAAE,CAAC;CACvC,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAuFzC"}
@@ -0,0 +1,234 @@
1
+ import { execFile as execFileCallback } from "node:child_process";
2
+ import { constants as fsConstants, promises as fs } from "node:fs";
3
+ import os from "node:os";
4
+ import path from "node:path";
5
+ import { promisify } from "node:util";
6
+ const execFile = promisify(execFileCallback);
7
+ function asObject(value) {
8
+ return value && typeof value === "object" && !Array.isArray(value)
9
+ ? value
10
+ : {};
11
+ }
12
+ function asString(value) {
13
+ return typeof value === "string" ? value : "";
14
+ }
15
+ function asNumber(value) {
16
+ return typeof value === "number" ? value : Number(value);
17
+ }
18
+ function shellQuote(value) {
19
+ return `'${value.replace(/'/g, `'\"'\"'`)}'`;
20
+ }
21
+ export function parseSandboxRemoteExecutionSpec(value) {
22
+ const parsed = asObject(value);
23
+ const transport = asString(parsed.transport).trim();
24
+ const provider = asString(parsed.provider).trim();
25
+ const sandboxId = asString(parsed.sandboxId).trim();
26
+ const remoteCwd = asString(parsed.remoteCwd).trim();
27
+ const timeoutMs = asNumber(parsed.timeoutMs);
28
+ if (transport !== "sandbox" ||
29
+ provider.length === 0 ||
30
+ sandboxId.length === 0 ||
31
+ remoteCwd.length === 0 ||
32
+ !Number.isFinite(timeoutMs) ||
33
+ timeoutMs <= 0) {
34
+ return null;
35
+ }
36
+ return {
37
+ transport: "sandbox",
38
+ provider,
39
+ sandboxId,
40
+ remoteCwd,
41
+ timeoutMs,
42
+ apiKey: asString(parsed.apiKey).trim() || null,
43
+ };
44
+ }
45
+ export function buildSandboxExecutionSessionIdentity(spec) {
46
+ if (!spec)
47
+ return null;
48
+ return {
49
+ transport: "sandbox",
50
+ provider: spec.provider,
51
+ sandboxId: spec.sandboxId,
52
+ remoteCwd: spec.remoteCwd,
53
+ };
54
+ }
55
+ export function sandboxExecutionSessionMatches(saved, current) {
56
+ const currentIdentity = buildSandboxExecutionSessionIdentity(current);
57
+ if (!currentIdentity)
58
+ return false;
59
+ const parsedSaved = asObject(saved);
60
+ return (asString(parsedSaved.transport) === currentIdentity.transport &&
61
+ asString(parsedSaved.provider) === currentIdentity.provider &&
62
+ asString(parsedSaved.sandboxId) === currentIdentity.sandboxId &&
63
+ asString(parsedSaved.remoteCwd) === currentIdentity.remoteCwd);
64
+ }
65
+ async function withTempDir(prefix, fn) {
66
+ const dir = await fs.mkdtemp(path.join(os.tmpdir(), prefix));
67
+ try {
68
+ return await fn(dir);
69
+ }
70
+ finally {
71
+ await fs.rm(dir, { recursive: true, force: true }).catch(() => undefined);
72
+ }
73
+ }
74
+ async function execTar(args) {
75
+ await execFile("tar", args, {
76
+ env: {
77
+ ...process.env,
78
+ COPYFILE_DISABLE: "1",
79
+ },
80
+ maxBuffer: 32 * 1024 * 1024,
81
+ });
82
+ }
83
+ async function createTarballFromDirectory(input) {
84
+ const excludeArgs = ["._*", ...(input.exclude ?? [])].flatMap((entry) => ["--exclude", entry]);
85
+ await execTar([
86
+ "-c",
87
+ ...(input.followSymlinks ? ["-h"] : []),
88
+ "-f",
89
+ input.archivePath,
90
+ "-C",
91
+ input.localDir,
92
+ ...excludeArgs,
93
+ ".",
94
+ ]);
95
+ }
96
+ async function extractTarballToDirectory(input) {
97
+ await fs.mkdir(input.localDir, { recursive: true });
98
+ await execTar(["-xf", input.archivePath, "-C", input.localDir]);
99
+ }
100
+ async function walkDirectory(root, relative = "") {
101
+ const current = path.join(root, relative);
102
+ const entries = await fs.readdir(current, { withFileTypes: true }).catch(() => []);
103
+ const out = [];
104
+ for (const entry of entries) {
105
+ const nextRelative = relative ? path.posix.join(relative, entry.name) : entry.name;
106
+ out.push(nextRelative);
107
+ if (entry.isDirectory()) {
108
+ out.push(...(await walkDirectory(root, nextRelative)));
109
+ }
110
+ }
111
+ return out.sort((left, right) => right.length - left.length);
112
+ }
113
+ function isRelativePathOrDescendant(relative, candidate) {
114
+ return relative === candidate || relative.startsWith(`${candidate}/`);
115
+ }
116
+ export async function mirrorDirectory(sourceDir, targetDir, options = {}) {
117
+ await fs.mkdir(targetDir, { recursive: true });
118
+ const preserveAbsent = new Set(options.preserveAbsent ?? []);
119
+ const shouldPreserveAbsent = (relative) => [...preserveAbsent].some((candidate) => isRelativePathOrDescendant(relative, candidate));
120
+ const sourceEntries = new Set(await walkDirectory(sourceDir));
121
+ const targetEntries = await walkDirectory(targetDir);
122
+ for (const relative of targetEntries) {
123
+ if (shouldPreserveAbsent(relative))
124
+ continue;
125
+ if (!sourceEntries.has(relative)) {
126
+ await fs.rm(path.join(targetDir, relative), { recursive: true, force: true }).catch(() => undefined);
127
+ }
128
+ }
129
+ const copyEntry = async (relative) => {
130
+ const sourcePath = path.join(sourceDir, relative);
131
+ const targetPath = path.join(targetDir, relative);
132
+ const stats = await fs.lstat(sourcePath);
133
+ if (stats.isDirectory()) {
134
+ await fs.mkdir(targetPath, { recursive: true });
135
+ return;
136
+ }
137
+ await fs.mkdir(path.dirname(targetPath), { recursive: true });
138
+ await fs.rm(targetPath, { recursive: true, force: true }).catch(() => undefined);
139
+ if (stats.isSymbolicLink()) {
140
+ const linkTarget = await fs.readlink(sourcePath);
141
+ await fs.symlink(linkTarget, targetPath);
142
+ return;
143
+ }
144
+ await fs.copyFile(sourcePath, targetPath, fsConstants.COPYFILE_FICLONE).catch(async () => {
145
+ await fs.copyFile(sourcePath, targetPath);
146
+ });
147
+ await fs.chmod(targetPath, stats.mode);
148
+ };
149
+ const entries = (await walkDirectory(sourceDir)).sort((left, right) => left.localeCompare(right));
150
+ for (const relative of entries) {
151
+ await copyEntry(relative);
152
+ }
153
+ }
154
+ function toArrayBuffer(bytes) {
155
+ return Uint8Array.from(bytes).buffer;
156
+ }
157
+ function toBuffer(bytes) {
158
+ if (Buffer.isBuffer(bytes))
159
+ return bytes;
160
+ if (bytes instanceof ArrayBuffer)
161
+ return Buffer.from(bytes);
162
+ return Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength);
163
+ }
164
+ function tarExcludeFlags(exclude) {
165
+ return ["._*", ...(exclude ?? [])].map((entry) => `--exclude ${shellQuote(entry)}`).join(" ");
166
+ }
167
+ export async function prepareSandboxManagedRuntime(input) {
168
+ const workspaceRemoteDir = input.workspaceRemoteDir ?? input.spec.remoteCwd;
169
+ const runtimeRootDir = path.posix.join(workspaceRemoteDir, ".evermore-runtime", input.adapterKey);
170
+ await withTempDir("evermore-sandbox-sync-", async (tempDir) => {
171
+ const workspaceTarPath = path.join(tempDir, "workspace.tar");
172
+ await createTarballFromDirectory({
173
+ localDir: input.workspaceLocalDir,
174
+ archivePath: workspaceTarPath,
175
+ exclude: input.workspaceExclude,
176
+ });
177
+ const workspaceTarBytes = await fs.readFile(workspaceTarPath);
178
+ const remoteWorkspaceTar = path.posix.join(runtimeRootDir, "workspace-upload.tar");
179
+ await input.client.makeDir(runtimeRootDir);
180
+ await input.client.writeFile(remoteWorkspaceTar, toArrayBuffer(workspaceTarBytes));
181
+ const preservedNames = new Set([".evermore-runtime", ...(input.preserveAbsentOnRestore ?? [])]);
182
+ const findPreserveArgs = [...preservedNames].map((entry) => `! -name ${shellQuote(entry)}`).join(" ");
183
+ await input.client.run(`sh -lc ${shellQuote(`mkdir -p ${shellQuote(workspaceRemoteDir)} && ` +
184
+ `find ${shellQuote(workspaceRemoteDir)} -mindepth 1 -maxdepth 1 ${findPreserveArgs} -exec rm -rf -- {} + && ` +
185
+ `tar -xf ${shellQuote(remoteWorkspaceTar)} -C ${shellQuote(workspaceRemoteDir)} && ` +
186
+ `rm -f ${shellQuote(remoteWorkspaceTar)}`)}`, { timeoutMs: input.spec.timeoutMs });
187
+ for (const asset of input.assets ?? []) {
188
+ const assetTarPath = path.join(tempDir, `${asset.key}.tar`);
189
+ await createTarballFromDirectory({
190
+ localDir: asset.localDir,
191
+ archivePath: assetTarPath,
192
+ followSymlinks: asset.followSymlinks,
193
+ exclude: asset.exclude,
194
+ });
195
+ const assetTarBytes = await fs.readFile(assetTarPath);
196
+ const remoteAssetDir = path.posix.join(runtimeRootDir, asset.key);
197
+ const remoteAssetTar = path.posix.join(runtimeRootDir, `${asset.key}-upload.tar`);
198
+ await input.client.writeFile(remoteAssetTar, toArrayBuffer(assetTarBytes));
199
+ await input.client.run(`sh -lc ${shellQuote(`rm -rf ${shellQuote(remoteAssetDir)} && ` +
200
+ `mkdir -p ${shellQuote(remoteAssetDir)} && ` +
201
+ `tar -xf ${shellQuote(remoteAssetTar)} -C ${shellQuote(remoteAssetDir)} && ` +
202
+ `rm -f ${shellQuote(remoteAssetTar)}`)}`, { timeoutMs: input.spec.timeoutMs });
203
+ }
204
+ });
205
+ const assetDirs = Object.fromEntries((input.assets ?? []).map((asset) => [asset.key, path.posix.join(runtimeRootDir, asset.key)]));
206
+ return {
207
+ spec: input.spec,
208
+ workspaceLocalDir: input.workspaceLocalDir,
209
+ workspaceRemoteDir,
210
+ runtimeRootDir,
211
+ assetDirs,
212
+ restoreWorkspace: async () => {
213
+ await withTempDir("evermore-sandbox-restore-", async (tempDir) => {
214
+ const remoteWorkspaceTar = path.posix.join(runtimeRootDir, "workspace-download.tar");
215
+ await input.client.run(`sh -lc ${shellQuote(`mkdir -p ${shellQuote(runtimeRootDir)} && ` +
216
+ `tar -cf ${shellQuote(remoteWorkspaceTar)} -C ${shellQuote(workspaceRemoteDir)} ` +
217
+ `${tarExcludeFlags(input.workspaceExclude)} .`)}`, { timeoutMs: input.spec.timeoutMs });
218
+ const archiveBytes = await input.client.readFile(remoteWorkspaceTar);
219
+ await input.client.remove(remoteWorkspaceTar).catch(() => undefined);
220
+ const localArchivePath = path.join(tempDir, "workspace.tar");
221
+ const extractedDir = path.join(tempDir, "workspace");
222
+ await fs.writeFile(localArchivePath, toBuffer(archiveBytes));
223
+ await extractTarballToDirectory({
224
+ archivePath: localArchivePath,
225
+ localDir: extractedDir,
226
+ });
227
+ await mirrorDirectory(extractedDir, input.workspaceLocalDir, {
228
+ preserveAbsent: [".evermore-runtime", ...(input.preserveAbsentOnRestore ?? [])],
229
+ });
230
+ });
231
+ },
232
+ };
233
+ }
234
+ //# sourceMappingURL=sandbox-managed-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-managed-runtime.js","sourceRoot":"","sources":["../src/sandbox-managed-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sandbox-managed-runtime.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-managed-runtime.test.d.ts","sourceRoot":"","sources":["../src/sandbox-managed-runtime.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,118 @@
1
+ import { lstat, mkdir, mkdtemp, readFile, readdir, rm, symlink, writeFile } from "node:fs/promises";
2
+ import os from "node:os";
3
+ import path from "node:path";
4
+ import { execFile as execFileCallback } from "node:child_process";
5
+ import { promisify } from "node:util";
6
+ import { afterEach, describe, expect, it } from "vitest";
7
+ import { mirrorDirectory, prepareSandboxManagedRuntime, } from "./sandbox-managed-runtime.js";
8
+ const execFile = promisify(execFileCallback);
9
+ describe("sandbox managed runtime", () => {
10
+ const cleanupDirs = [];
11
+ afterEach(async () => {
12
+ while (cleanupDirs.length > 0) {
13
+ const dir = cleanupDirs.pop();
14
+ if (!dir)
15
+ continue;
16
+ await rm(dir, { recursive: true, force: true }).catch(() => undefined);
17
+ }
18
+ });
19
+ it("preserves excluded local workspace artifacts during restore mirroring", async () => {
20
+ const rootDir = await mkdtemp(path.join(os.tmpdir(), "evermore-sandbox-restore-"));
21
+ cleanupDirs.push(rootDir);
22
+ const sourceDir = path.join(rootDir, "source");
23
+ const targetDir = path.join(rootDir, "target");
24
+ await mkdir(path.join(sourceDir, "src"), { recursive: true });
25
+ await mkdir(path.join(targetDir, ".claude"), { recursive: true });
26
+ await mkdir(path.join(targetDir, ".evermore-runtime"), { recursive: true });
27
+ await writeFile(path.join(sourceDir, "src", "app.ts"), "export const value = 2;\n", "utf8");
28
+ await writeFile(path.join(targetDir, "stale.txt"), "remove me\n", "utf8");
29
+ await writeFile(path.join(targetDir, ".claude", "settings.json"), "{\"keep\":true}\n", "utf8");
30
+ await writeFile(path.join(targetDir, ".claude.json"), "{\"keep\":true}\n", "utf8");
31
+ await writeFile(path.join(targetDir, ".evermore-runtime", "state.json"), "{}\n", "utf8");
32
+ await mirrorDirectory(sourceDir, targetDir, {
33
+ preserveAbsent: [".evermore-runtime", ".claude", ".claude.json"],
34
+ });
35
+ await expect(readFile(path.join(targetDir, "src", "app.ts"), "utf8")).resolves.toBe("export const value = 2;\n");
36
+ await expect(readFile(path.join(targetDir, ".claude", "settings.json"), "utf8")).resolves.toBe("{\"keep\":true}\n");
37
+ await expect(readFile(path.join(targetDir, ".claude.json"), "utf8")).resolves.toBe("{\"keep\":true}\n");
38
+ await expect(readFile(path.join(targetDir, ".evermore-runtime", "state.json"), "utf8")).resolves.toBe("{}\n");
39
+ await expect(readFile(path.join(targetDir, "stale.txt"), "utf8")).rejects.toMatchObject({ code: "ENOENT" });
40
+ });
41
+ it("syncs workspace and assets through a provider-neutral sandbox client", async () => {
42
+ const rootDir = await mkdtemp(path.join(os.tmpdir(), "evermore-sandbox-managed-"));
43
+ cleanupDirs.push(rootDir);
44
+ const localWorkspaceDir = path.join(rootDir, "local-workspace");
45
+ const remoteWorkspaceDir = path.join(rootDir, "remote-workspace");
46
+ const localAssetsDir = path.join(rootDir, "local-assets");
47
+ const linkedAssetPath = path.join(rootDir, "linked-skill.md");
48
+ await mkdir(path.join(localWorkspaceDir, ".claude"), { recursive: true });
49
+ await mkdir(localAssetsDir, { recursive: true });
50
+ await writeFile(path.join(localWorkspaceDir, "README.md"), "local workspace\n", "utf8");
51
+ await writeFile(path.join(localWorkspaceDir, "._README.md"), "appledouble\n", "utf8");
52
+ await writeFile(path.join(localWorkspaceDir, ".claude", "settings.json"), "{\"local\":true}\n", "utf8");
53
+ await writeFile(linkedAssetPath, "skill body\n", "utf8");
54
+ await symlink(linkedAssetPath, path.join(localAssetsDir, "skill.md"));
55
+ const client = {
56
+ makeDir: async (remotePath) => {
57
+ await mkdir(remotePath, { recursive: true });
58
+ },
59
+ writeFile: async (remotePath, bytes) => {
60
+ await mkdir(path.dirname(remotePath), { recursive: true });
61
+ await writeFile(remotePath, Buffer.from(bytes));
62
+ },
63
+ readFile: async (remotePath) => await readFile(remotePath),
64
+ listFiles: async (remotePath) => {
65
+ const entries = await readdir(remotePath, { withFileTypes: true }).catch(() => []);
66
+ return entries
67
+ .filter((entry) => entry.isFile())
68
+ .map((entry) => entry.name)
69
+ .sort((left, right) => left.localeCompare(right));
70
+ },
71
+ remove: async (remotePath) => {
72
+ await rm(remotePath, { recursive: true, force: true });
73
+ },
74
+ run: async (command) => {
75
+ await execFile("sh", ["-lc", command], {
76
+ maxBuffer: 32 * 1024 * 1024,
77
+ });
78
+ },
79
+ };
80
+ const prepared = await prepareSandboxManagedRuntime({
81
+ spec: {
82
+ transport: "sandbox",
83
+ provider: "test",
84
+ sandboxId: "sandbox-1",
85
+ remoteCwd: remoteWorkspaceDir,
86
+ timeoutMs: 30_000,
87
+ apiKey: null,
88
+ },
89
+ adapterKey: "test-adapter",
90
+ client,
91
+ workspaceLocalDir: localWorkspaceDir,
92
+ workspaceExclude: [".claude"],
93
+ preserveAbsentOnRestore: [".claude"],
94
+ assets: [{
95
+ key: "skills",
96
+ localDir: localAssetsDir,
97
+ followSymlinks: true,
98
+ }],
99
+ });
100
+ await expect(readFile(path.join(remoteWorkspaceDir, "README.md"), "utf8")).resolves.toBe("local workspace\n");
101
+ await expect(readFile(path.join(remoteWorkspaceDir, "._README.md"), "utf8")).rejects.toMatchObject({ code: "ENOENT" });
102
+ await expect(readFile(path.join(remoteWorkspaceDir, ".claude", "settings.json"), "utf8")).rejects.toMatchObject({ code: "ENOENT" });
103
+ await expect(readFile(path.join(prepared.assetDirs.skills, "skill.md"), "utf8")).resolves.toBe("skill body\n");
104
+ expect((await lstat(path.join(prepared.assetDirs.skills, "skill.md"))).isFile()).toBe(true);
105
+ await writeFile(path.join(remoteWorkspaceDir, "README.md"), "remote workspace\n", "utf8");
106
+ await writeFile(path.join(remoteWorkspaceDir, "remote-only.txt"), "sync back\n", "utf8");
107
+ await mkdir(path.join(localWorkspaceDir, ".evermore-runtime"), { recursive: true });
108
+ await writeFile(path.join(localWorkspaceDir, ".evermore-runtime", "state.json"), "{}\n", "utf8");
109
+ await writeFile(path.join(localWorkspaceDir, "local-stale.txt"), "remove\n", "utf8");
110
+ await prepared.restoreWorkspace();
111
+ await expect(readFile(path.join(localWorkspaceDir, "README.md"), "utf8")).resolves.toBe("remote workspace\n");
112
+ await expect(readFile(path.join(localWorkspaceDir, "remote-only.txt"), "utf8")).resolves.toBe("sync back\n");
113
+ await expect(readFile(path.join(localWorkspaceDir, "local-stale.txt"), "utf8")).rejects.toMatchObject({ code: "ENOENT" });
114
+ await expect(readFile(path.join(localWorkspaceDir, ".claude", "settings.json"), "utf8")).resolves.toBe("{\"local\":true}\n");
115
+ await expect(readFile(path.join(localWorkspaceDir, ".evermore-runtime", "state.json"), "utf8")).resolves.toBe("{}\n");
116
+ });
117
+ });
118
+ //# sourceMappingURL=sandbox-managed-runtime.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-managed-runtime.test.js","sourceRoot":"","sources":["../src/sandbox-managed-runtime.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function preferredShellForSandbox(shellCommand: string | null | undefined): "bash" | "sh";
2
+ //# sourceMappingURL=sandbox-shell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-shell.d.ts","sourceRoot":"","sources":["../src/sandbox-shell.ts"],"names":[],"mappings":"AAAA,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAE/F"}
@@ -0,0 +1,4 @@
1
+ export function preferredShellForSandbox(shellCommand) {
2
+ return shellCommand === "bash" ? "bash" : "sh";
3
+ }
4
+ //# sourceMappingURL=sandbox-shell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-shell.js","sourceRoot":"","sources":["../src/sandbox-shell.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,wBAAwB,CAAC,YAAuC;IAC9E,OAAO,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC"}