@ai-hero/sandcastle 0.5.0 → 0.5.4
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/README.md +104 -61
- package/dist/AgentProvider.d.ts +17 -1
- package/dist/AgentProvider.d.ts.map +1 -1
- package/dist/AgentProvider.js +75 -6
- package/dist/AgentProvider.js.map +1 -1
- package/dist/AgentStreamEmitter.d.ts +36 -0
- package/dist/AgentStreamEmitter.d.ts.map +1 -0
- package/dist/AgentStreamEmitter.js +21 -0
- package/dist/AgentStreamEmitter.js.map +1 -0
- package/dist/Display.js +1 -1
- package/dist/Display.js.map +1 -1
- package/dist/DockerLifecycle.d.ts +0 -10
- package/dist/DockerLifecycle.d.ts.map +1 -1
- package/dist/DockerLifecycle.js +0 -22
- package/dist/DockerLifecycle.js.map +1 -1
- package/dist/ErrorHandler.d.ts.map +1 -1
- package/dist/ErrorHandler.js +2 -0
- package/dist/ErrorHandler.js.map +1 -1
- package/dist/InitService.d.ts.map +1 -1
- package/dist/InitService.js +3 -1
- package/dist/InitService.js.map +1 -1
- package/dist/MountConfig.d.ts +1 -2
- package/dist/MountConfig.d.ts.map +1 -1
- package/dist/Orchestrator.d.ts +11 -5
- package/dist/Orchestrator.d.ts.map +1 -1
- package/dist/Orchestrator.js +81 -13
- package/dist/Orchestrator.js.map +1 -1
- package/dist/PodmanLifecycle.d.ts +0 -10
- package/dist/PodmanLifecycle.d.ts.map +1 -1
- package/dist/PodmanLifecycle.js +0 -22
- package/dist/PodmanLifecycle.js.map +1 -1
- package/dist/PromptArgumentSubstitution.d.ts +6 -0
- package/dist/PromptArgumentSubstitution.d.ts.map +1 -1
- package/dist/PromptArgumentSubstitution.js +32 -6
- package/dist/PromptArgumentSubstitution.js.map +1 -1
- package/dist/PromptPreprocessor.d.ts +8 -0
- package/dist/PromptPreprocessor.d.ts.map +1 -1
- package/dist/PromptPreprocessor.js +13 -9
- package/dist/PromptPreprocessor.js.map +1 -1
- package/dist/PromptResolver.d.ts +13 -1
- package/dist/PromptResolver.d.ts.map +1 -1
- package/dist/PromptResolver.js +3 -2
- package/dist/PromptResolver.js.map +1 -1
- package/dist/SandboxFactory.d.ts +5 -5
- package/dist/SandboxFactory.d.ts.map +1 -1
- package/dist/SandboxFactory.js +20 -10
- package/dist/SandboxFactory.js.map +1 -1
- package/dist/SandboxLifecycle.d.ts +4 -1
- package/dist/SandboxLifecycle.d.ts.map +1 -1
- package/dist/SandboxLifecycle.js +40 -12
- package/dist/SandboxLifecycle.js.map +1 -1
- package/dist/SandboxProvider.d.ts +30 -0
- package/dist/SandboxProvider.d.ts.map +1 -1
- package/dist/SandboxProvider.js +1 -0
- package/dist/SandboxProvider.js.map +1 -1
- package/dist/SessionPaths.d.ts +26 -0
- package/dist/SessionPaths.d.ts.map +1 -0
- package/dist/SessionPaths.js +20 -0
- package/dist/SessionPaths.js.map +1 -0
- package/dist/SessionStore.d.ts +2 -3
- package/dist/SessionStore.d.ts.map +1 -1
- package/dist/SessionStore.js +17 -15
- package/dist/SessionStore.js.map +1 -1
- package/dist/WorktreeManager.d.ts +6 -3
- package/dist/WorktreeManager.d.ts.map +1 -1
- package/dist/WorktreeManager.js +47 -5
- package/dist/WorktreeManager.js.map +1 -1
- package/dist/createSandbox.d.ts +32 -3
- package/dist/createSandbox.d.ts.map +1 -1
- package/dist/createSandbox.js +125 -58
- package/dist/createSandbox.js.map +1 -1
- package/dist/createWorktree.d.ts +32 -4
- package/dist/createWorktree.d.ts.map +1 -1
- package/dist/createWorktree.js +88 -27
- package/dist/createWorktree.js.map +1 -1
- package/dist/errors.d.ts +4 -2
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +2 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/interactive.d.ts +19 -0
- package/dist/interactive.d.ts.map +1 -1
- package/dist/interactive.js +34 -14
- package/dist/interactive.js.map +1 -1
- package/dist/mountUtils.d.ts +104 -0
- package/dist/mountUtils.d.ts.map +1 -0
- package/dist/mountUtils.js +245 -0
- package/dist/mountUtils.js.map +1 -0
- package/dist/raceAbortSignal.d.ts +18 -0
- package/dist/raceAbortSignal.d.ts.map +1 -0
- package/dist/raceAbortSignal.js +32 -0
- package/dist/raceAbortSignal.js.map +1 -0
- package/dist/resolveCwd.d.ts +24 -0
- package/dist/resolveCwd.d.ts.map +1 -0
- package/dist/resolveCwd.js +32 -0
- package/dist/resolveCwd.js.map +1 -0
- package/dist/run.d.ts +56 -5
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +72 -21
- package/dist/run.js.map +1 -1
- package/dist/sandboxes/docker.d.ts +2 -6
- package/dist/sandboxes/docker.d.ts.map +1 -1
- package/dist/sandboxes/docker.js +44 -78
- package/dist/sandboxes/docker.js.map +1 -1
- package/dist/sandboxes/no-sandbox.d.ts.map +1 -1
- package/dist/sandboxes/no-sandbox.js +9 -1
- package/dist/sandboxes/no-sandbox.js.map +1 -1
- package/dist/sandboxes/podman.d.ts +19 -8
- package/dist/sandboxes/podman.d.ts.map +1 -1
- package/dist/sandboxes/podman.js +49 -87
- package/dist/sandboxes/podman.js.map +1 -1
- package/dist/startSandbox.d.ts.map +1 -1
- package/dist/startSandbox.js +8 -3
- package/dist/startSandbox.js.map +1 -1
- package/dist/templates/parallel-planner/implement-prompt.md +1 -1
- package/dist/templates/parallel-planner-with-review/implement-prompt.md +1 -1
- package/dist/templates/parallel-planner-with-review/main.mts +8 -1
- package/dist/templates/parallel-planner-with-review/review-prompt.md +2 -2
- package/dist/templates/sequential-reviewer/review-prompt.md +2 -2
- package/dist/testSandbox.d.ts.map +1 -1
- package/dist/testSandbox.js +38 -48
- package/dist/testSandbox.js.map +1 -1
- package/dist/testSetup.d.ts +2 -0
- package/dist/testSetup.d.ts.map +1 -0
- package/dist/testSetup.js +29 -0
- package/dist/testSetup.js.map +1 -0
- package/package.json +1 -1
package/dist/createSandbox.d.ts
CHANGED
|
@@ -9,17 +9,28 @@ import type { SandboxProvider } from "./SandboxProvider.js";
|
|
|
9
9
|
export interface CreateSandboxOptions {
|
|
10
10
|
/** Explicit branch for the worktree (required). */
|
|
11
11
|
readonly branch: string;
|
|
12
|
+
/**
|
|
13
|
+
* Ref to fork from when `branch` does not yet exist. Ignored when the branch
|
|
14
|
+
* already exists. Defaults to `HEAD`.
|
|
15
|
+
*/
|
|
16
|
+
readonly baseBranch?: string;
|
|
12
17
|
/** Sandbox provider (e.g. docker({ imageName: "sandcastle:myrepo" })). */
|
|
13
18
|
readonly sandbox: SandboxProvider;
|
|
19
|
+
/**
|
|
20
|
+
* Host repo directory. Replaces `process.cwd()` as the anchor for
|
|
21
|
+
* `.sandcastle/worktrees/`, `.sandcastle/.env`, and git operations.
|
|
22
|
+
*
|
|
23
|
+
* - Relative paths are resolved against `process.cwd()`.
|
|
24
|
+
* - Absolute paths are used as-is.
|
|
25
|
+
* - Defaults to `process.cwd()` when omitted.
|
|
26
|
+
*/
|
|
27
|
+
readonly cwd?: string;
|
|
14
28
|
/** Lifecycle hooks grouped by execution location (host or sandbox). */
|
|
15
29
|
readonly hooks?: SandboxHooks;
|
|
16
30
|
/** Paths relative to the host repo root to copy into the worktree at creation time. */
|
|
17
31
|
readonly copyToWorktree?: string[];
|
|
18
|
-
/** When false, reuse an existing worktree instead of failing on collision. Default: true. */
|
|
19
|
-
readonly throwOnDuplicateWorktree?: boolean;
|
|
20
32
|
/** @internal Test-only overrides to bypass the sandbox provider. */
|
|
21
33
|
readonly _test?: {
|
|
22
|
-
readonly hostRepoDir?: string;
|
|
23
34
|
readonly buildSandboxLayer?: (sandboxDir: string) => Layer.Layer<SandboxTag>;
|
|
24
35
|
};
|
|
25
36
|
}
|
|
@@ -42,6 +53,16 @@ export interface SandboxRunOptions {
|
|
|
42
53
|
readonly name?: string;
|
|
43
54
|
/** Logging mode. */
|
|
44
55
|
readonly logging?: LoggingOption;
|
|
56
|
+
/**
|
|
57
|
+
* An `AbortSignal` that cancels the run when aborted.
|
|
58
|
+
*
|
|
59
|
+
* - Pre-aborted signal rejects immediately without setup.
|
|
60
|
+
* - Mid-iteration abort kills the in-flight agent subprocess.
|
|
61
|
+
* - The rejected promise surfaces `signal.reason` verbatim.
|
|
62
|
+
* - The `Sandbox` handle remains usable after abort — call `.run()` again
|
|
63
|
+
* with a fresh signal, or `.close()` to tear down.
|
|
64
|
+
*/
|
|
65
|
+
readonly signal?: AbortSignal;
|
|
45
66
|
}
|
|
46
67
|
export interface SandboxRunResult {
|
|
47
68
|
/** Per-iteration results (use `iterations.length` for the count). */
|
|
@@ -68,6 +89,14 @@ export interface SandboxInteractiveOptions {
|
|
|
68
89
|
readonly promptArgs?: PromptArgs;
|
|
69
90
|
/** Display name for this interactive session. */
|
|
70
91
|
readonly name?: string;
|
|
92
|
+
/**
|
|
93
|
+
* An `AbortSignal` that cancels the interactive session when aborted.
|
|
94
|
+
*
|
|
95
|
+
* - Pre-aborted signal rejects immediately without setup.
|
|
96
|
+
* - The rejected promise surfaces `signal.reason` verbatim.
|
|
97
|
+
* - The `Sandbox` handle remains usable after abort.
|
|
98
|
+
*/
|
|
99
|
+
readonly signal?: AbortSignal;
|
|
71
100
|
}
|
|
72
101
|
export interface SandboxInteractiveResult {
|
|
73
102
|
/** List of commits made during the interactive session. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSandbox.d.ts","sourceRoot":"","sources":["../src/createSandbox.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,KAAK,EAAO,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAUxD,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"createSandbox.d.ts","sourceRoot":"","sources":["../src/createSandbox.ts"],"names":[],"mappings":"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"}
|
package/dist/createSandbox.js
CHANGED
|
@@ -5,7 +5,9 @@ import { ClackDisplay, Display, FileDisplay, SilentDisplay, } from "./Display.js
|
|
|
5
5
|
import { resolveEnv } from "./EnvResolver.js";
|
|
6
6
|
import { mergeProviderEnv } from "./mergeProviderEnv.js";
|
|
7
7
|
import { orchestrate } from "./Orchestrator.js";
|
|
8
|
-
import {
|
|
8
|
+
import { defaultSessionPathsLayer } from "./SessionPaths.js";
|
|
9
|
+
import { callbackAgentStreamEmitterLayer, noopAgentStreamEmitterLayer, } from "./AgentStreamEmitter.js";
|
|
10
|
+
import { substitutePromptArgs, validateNoArgsWithInlinePrompt, validateNoBuiltInArgOverride, BUILT_IN_PROMPT_ARG_KEYS, } from "./PromptArgumentSubstitution.js";
|
|
9
11
|
import { resolvePrompt } from "./PromptResolver.js";
|
|
10
12
|
import { preprocessPrompt } from "./PromptPreprocessor.js";
|
|
11
13
|
import { buildLogFilename, printFileDisplayStartup } from "./run.js";
|
|
@@ -15,6 +17,7 @@ import { startSandbox } from "./startSandbox.js";
|
|
|
15
17
|
import { syncOut } from "./syncOut.js";
|
|
16
18
|
import * as WorktreeManager from "./WorktreeManager.js";
|
|
17
19
|
import { copyToWorktree } from "./CopyToWorktree.js";
|
|
20
|
+
import { resolveCwd } from "./resolveCwd.js";
|
|
18
21
|
/**
|
|
19
22
|
* @internal Builds a Sandbox handle with run() and interactive() methods.
|
|
20
23
|
* The close callback controls teardown behavior — top-level createSandbox()
|
|
@@ -27,13 +30,21 @@ const buildSandboxHandle = (ctx, close) => {
|
|
|
27
30
|
branch,
|
|
28
31
|
worktreePath: worktreePath,
|
|
29
32
|
run: async (runOptions) => {
|
|
33
|
+
// If signal is already aborted, reject immediately without any setup
|
|
34
|
+
runOptions.signal?.throwIfAborted();
|
|
30
35
|
const { agent: provider, prompt, promptFile, maxIterations = 1, } = runOptions;
|
|
31
|
-
const
|
|
36
|
+
const resolved = await Effect.runPromise(resolvePrompt({ prompt, promptFile }).pipe(Effect.provide(NodeContext.layer)));
|
|
37
|
+
const rawPrompt = resolved.text;
|
|
38
|
+
const isInlinePrompt = resolved.source === "inline";
|
|
32
39
|
const userArgs = runOptions.promptArgs ?? {};
|
|
33
40
|
const currentHostBranch = await Effect.runPromise(WorktreeManager.getCurrentBranch(hostRepoDir));
|
|
34
41
|
const displayRef = Ref.unsafeMake([]);
|
|
35
42
|
const silentDisplayLayer = SilentDisplay.layer(displayRef);
|
|
36
43
|
const resolvedPrompt = await Effect.runPromise(Effect.gen(function* () {
|
|
44
|
+
if (isInlinePrompt) {
|
|
45
|
+
yield* validateNoArgsWithInlinePrompt(userArgs);
|
|
46
|
+
return rawPrompt;
|
|
47
|
+
}
|
|
37
48
|
yield* validateNoBuiltInArgOverride(userArgs);
|
|
38
49
|
const effectiveArgs = {
|
|
39
50
|
SOURCE_BRANCH: branch,
|
|
@@ -67,21 +78,34 @@ const buildSandboxHandle = (ctx, close) => {
|
|
|
67
78
|
preservedWorktreePath: undefined,
|
|
68
79
|
}))),
|
|
69
80
|
});
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
81
|
+
const agentStreamEmitterLayer = resolvedLogging.type === "file" && resolvedLogging.onAgentStreamEvent
|
|
82
|
+
? callbackAgentStreamEmitterLayer(resolvedLogging.onAgentStreamEvent)
|
|
83
|
+
: noopAgentStreamEmitterLayer;
|
|
84
|
+
const runLayer = Layer.mergeAll(reuseFactoryLayer, runDisplayLayer, defaultSessionPathsLayer, agentStreamEmitterLayer);
|
|
85
|
+
let result;
|
|
86
|
+
try {
|
|
87
|
+
result = await Effect.runPromise(Effect.gen(function* () {
|
|
88
|
+
const display = yield* Display;
|
|
89
|
+
yield* display.intro(runOptions.name ?? "sandcastle");
|
|
90
|
+
return yield* orchestrate({
|
|
91
|
+
hostRepoDir,
|
|
92
|
+
iterations: maxIterations,
|
|
93
|
+
prompt: resolvedPrompt,
|
|
94
|
+
branch,
|
|
95
|
+
provider,
|
|
96
|
+
completionSignal: runOptions.completionSignal,
|
|
97
|
+
idleTimeoutSeconds: runOptions.idleTimeoutSeconds,
|
|
98
|
+
name: runOptions.name,
|
|
99
|
+
signal: runOptions.signal,
|
|
100
|
+
skipPromptExpansion: isInlinePrompt,
|
|
101
|
+
});
|
|
102
|
+
}).pipe(Effect.provide(runLayer)));
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
// If the signal was aborted, surface its reason verbatim
|
|
106
|
+
runOptions.signal?.throwIfAborted();
|
|
107
|
+
throw error;
|
|
108
|
+
}
|
|
85
109
|
return {
|
|
86
110
|
iterations: result.iterations,
|
|
87
111
|
completionSignal: result.completionSignal,
|
|
@@ -91,6 +115,8 @@ const buildSandboxHandle = (ctx, close) => {
|
|
|
91
115
|
};
|
|
92
116
|
},
|
|
93
117
|
interactive: async (interactiveOptions) => {
|
|
118
|
+
// If signal is already aborted, reject immediately without any setup
|
|
119
|
+
interactiveOptions.signal?.throwIfAborted();
|
|
94
120
|
const { agent: provider, prompt, promptFile } = interactiveOptions;
|
|
95
121
|
if (!provider.buildInteractiveArgs) {
|
|
96
122
|
throw new Error(`Agent provider "${provider.name}" does not support buildInteractiveArgs, required for interactive sessions.`);
|
|
@@ -100,39 +126,79 @@ const buildSandboxHandle = (ctx, close) => {
|
|
|
100
126
|
`The provider must implement the optional interactiveExec method to use interactive().`);
|
|
101
127
|
}
|
|
102
128
|
const interactiveExecFn = providerHandle.interactiveExec.bind(providerHandle);
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
129
|
+
let lifecycleResult;
|
|
130
|
+
try {
|
|
131
|
+
lifecycleResult = await Effect.runPromise(Effect.gen(function* () {
|
|
132
|
+
const resolved = yield* resolvePrompt({ prompt, promptFile });
|
|
133
|
+
const rawPrompt = resolved.text;
|
|
134
|
+
const isInlinePrompt = resolved.source === "inline";
|
|
135
|
+
const userArgs = interactiveOptions.promptArgs ?? {};
|
|
136
|
+
const currentHostBranch = yield* WorktreeManager.getCurrentBranch(hostRepoDir);
|
|
137
|
+
let resolvedPrompt;
|
|
138
|
+
if (isInlinePrompt) {
|
|
139
|
+
yield* validateNoArgsWithInlinePrompt(userArgs);
|
|
140
|
+
resolvedPrompt = rawPrompt;
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
yield* validateNoBuiltInArgOverride(userArgs);
|
|
144
|
+
const effectiveArgs = {
|
|
145
|
+
SOURCE_BRANCH: branch,
|
|
146
|
+
TARGET_BRANCH: currentHostBranch,
|
|
147
|
+
...userArgs,
|
|
148
|
+
};
|
|
149
|
+
const builtInArgKeysSet = new Set(BUILT_IN_PROMPT_ARG_KEYS);
|
|
150
|
+
resolvedPrompt = yield* substitutePromptArgs(rawPrompt, effectiveArgs, builtInArgKeysSet);
|
|
151
|
+
}
|
|
152
|
+
return yield* withSandboxLifecycle({
|
|
153
|
+
hostRepoDir,
|
|
154
|
+
sandboxRepoDir,
|
|
155
|
+
branch,
|
|
156
|
+
hostWorktreePath: worktreePath,
|
|
157
|
+
applyToHost,
|
|
158
|
+
}, (ctx) => Effect.gen(function* () {
|
|
159
|
+
const fullPrompt = isInlinePrompt
|
|
160
|
+
? resolvedPrompt
|
|
161
|
+
: yield* preprocessPrompt(resolvedPrompt, ctx.sandbox, ctx.sandboxRepoDir);
|
|
162
|
+
const interactiveArgs = provider.buildInteractiveArgs({
|
|
163
|
+
prompt: fullPrompt,
|
|
164
|
+
dangerouslySkipPermissions: true,
|
|
165
|
+
});
|
|
166
|
+
const execPromise = interactiveExecFn(interactiveArgs, {
|
|
167
|
+
stdin: process.stdin,
|
|
168
|
+
stdout: process.stdout,
|
|
169
|
+
stderr: process.stderr,
|
|
170
|
+
cwd: sandboxRepoDir,
|
|
171
|
+
});
|
|
172
|
+
// Race exec with abort signal if provided
|
|
173
|
+
const signal = interactiveOptions.signal;
|
|
174
|
+
const result = yield* Effect.promise(() => {
|
|
175
|
+
if (!signal)
|
|
176
|
+
return execPromise;
|
|
177
|
+
if (signal.aborted)
|
|
178
|
+
return Promise.reject(signal.reason);
|
|
179
|
+
return new Promise((resolve, reject) => {
|
|
180
|
+
const onAbort = () => reject(signal.reason);
|
|
181
|
+
signal.addEventListener("abort", onAbort, {
|
|
182
|
+
once: true,
|
|
183
|
+
});
|
|
184
|
+
execPromise.then((r) => {
|
|
185
|
+
signal.removeEventListener("abort", onAbort);
|
|
186
|
+
resolve(r);
|
|
187
|
+
}, (e) => {
|
|
188
|
+
signal.removeEventListener("abort", onAbort);
|
|
189
|
+
reject(e);
|
|
190
|
+
});
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
return result.exitCode;
|
|
132
194
|
}));
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
195
|
+
}).pipe(Effect.provide(sandboxLayer), Effect.provide(ClackDisplay.layer), Effect.provide(NodeContext.layer)));
|
|
196
|
+
}
|
|
197
|
+
catch (error) {
|
|
198
|
+
// If the signal was aborted, surface its reason verbatim
|
|
199
|
+
interactiveOptions.signal?.throwIfAborted();
|
|
200
|
+
throw error;
|
|
201
|
+
}
|
|
136
202
|
return {
|
|
137
203
|
commits: lifecycleResult.commits,
|
|
138
204
|
exitCode: lifecycleResult.result,
|
|
@@ -249,17 +315,18 @@ export const createSandboxFromWorktree = async (options) => {
|
|
|
249
315
|
* can be reused across multiple `run()` calls.
|
|
250
316
|
*/
|
|
251
317
|
export const createSandbox = async (options) => {
|
|
252
|
-
const hostRepoDir = options._test?.hostRepoDir ?? process.cwd();
|
|
253
318
|
const { branch } = options;
|
|
254
319
|
const isTestMode = !!options._test?.buildSandboxLayer;
|
|
255
|
-
// 1.
|
|
256
|
-
const worktreeInfo = await Effect.runPromise(
|
|
257
|
-
|
|
258
|
-
.pipe(Effect.
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
320
|
+
// 1. Resolve cwd, prune stale worktrees + create worktree on the explicit branch
|
|
321
|
+
const { hostRepoDir, worktreeInfo } = await Effect.runPromise(Effect.gen(function* () {
|
|
322
|
+
const hostRepoDir = yield* resolveCwd(options.cwd);
|
|
323
|
+
yield* WorktreeManager.pruneStale(hostRepoDir).pipe(Effect.catchAll(() => Effect.void));
|
|
324
|
+
const worktreeInfo = yield* WorktreeManager.create(hostRepoDir, {
|
|
325
|
+
branch,
|
|
326
|
+
baseBranch: options.baseBranch,
|
|
327
|
+
});
|
|
328
|
+
return { hostRepoDir, worktreeInfo };
|
|
329
|
+
}).pipe(Effect.provide(NodeContext.layer)));
|
|
263
330
|
const worktreePath = worktreeInfo.path;
|
|
264
331
|
// 2. Copy files if requested (bind-mount only; isolated providers handle this in startSandbox)
|
|
265
332
|
if (options.copyToWorktree &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSandbox.js","sourceRoot":"","sources":["../src/createSandbox.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createSandbox.js","sourceRoot":"","sources":["../src/createSandbox.ts"],"names":[],"mappings":"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"}
|
package/dist/createWorktree.d.ts
CHANGED
|
@@ -11,16 +11,21 @@ export type WorktreeBranchStrategy = MergeToHeadBranchStrategy | NamedBranchStra
|
|
|
11
11
|
export interface CreateWorktreeOptions {
|
|
12
12
|
/** Branch strategy — only 'branch' and 'merge-to-head' are allowed. */
|
|
13
13
|
readonly branchStrategy: WorktreeBranchStrategy;
|
|
14
|
+
/**
|
|
15
|
+
* Host repo directory. Replaces `process.cwd()` as the anchor for
|
|
16
|
+
* `.sandcastle/worktrees/`, `.sandcastle/.env`, and git operations.
|
|
17
|
+
*
|
|
18
|
+
* - Relative paths are resolved against `process.cwd()`.
|
|
19
|
+
* - Absolute paths are used as-is.
|
|
20
|
+
* - Defaults to `process.cwd()` when omitted.
|
|
21
|
+
*/
|
|
22
|
+
readonly cwd?: string;
|
|
14
23
|
/** Paths relative to the host repo root to copy into the worktree at creation time. */
|
|
15
24
|
readonly copyToWorktree?: string[];
|
|
16
25
|
/** Lifecycle hooks grouped by execution location (host or sandbox).
|
|
17
26
|
* Only `host.onWorktreeReady` is executed here — other hooks are passed through
|
|
18
27
|
* to `run()`, `interactive()`, or `createSandbox()`. */
|
|
19
28
|
readonly hooks?: SandboxHooks;
|
|
20
|
-
/** @internal Test-only overrides. */
|
|
21
|
-
readonly _test?: {
|
|
22
|
-
readonly hostRepoDir?: string;
|
|
23
|
-
};
|
|
24
29
|
}
|
|
25
30
|
export interface WorktreeInteractiveOptions {
|
|
26
31
|
/** Agent provider to use (e.g. claudeCode("claude-opus-4-6")) */
|
|
@@ -39,6 +44,17 @@ export interface WorktreeInteractiveOptions {
|
|
|
39
44
|
readonly promptArgs?: PromptArgs;
|
|
40
45
|
/** Environment variables to inject into the sandbox. */
|
|
41
46
|
readonly env?: Record<string, string>;
|
|
47
|
+
/**
|
|
48
|
+
* An `AbortSignal` that cancels the interactive session when aborted.
|
|
49
|
+
*
|
|
50
|
+
* - If `signal.aborted` is already `true` at entry, rejects immediately.
|
|
51
|
+
* - Aborting during an active session kills the agent subprocess.
|
|
52
|
+
* - The worktree is preserved on disk after abort.
|
|
53
|
+
* - The `Worktree` handle remains usable for subsequent operations.
|
|
54
|
+
* - The rejected promise surfaces `signal.reason` via
|
|
55
|
+
* `signal.throwIfAborted()` — no Sandcastle-specific wrapping.
|
|
56
|
+
*/
|
|
57
|
+
readonly signal?: AbortSignal;
|
|
42
58
|
}
|
|
43
59
|
export interface WorktreeRunOptions {
|
|
44
60
|
/** Agent provider to use (e.g. claudeCode("claude-opus-4-6")) */
|
|
@@ -65,6 +81,18 @@ export interface WorktreeRunOptions {
|
|
|
65
81
|
readonly hooks?: SandboxHooks;
|
|
66
82
|
/** Environment variables to inject into the sandbox. */
|
|
67
83
|
readonly env?: Record<string, string>;
|
|
84
|
+
/** Resume a prior Claude Code session by ID. The session JSONL must exist on the host. Incompatible with maxIterations > 1. */
|
|
85
|
+
readonly resumeSession?: string;
|
|
86
|
+
/**
|
|
87
|
+
* An `AbortSignal` that cancels the run when aborted.
|
|
88
|
+
*
|
|
89
|
+
* - If `signal.aborted` is already `true` at entry, rejects immediately
|
|
90
|
+
* without doing any setup work.
|
|
91
|
+
* - Aborting mid-iteration kills the in-flight agent subprocess.
|
|
92
|
+
* - The worktree is preserved on disk after abort.
|
|
93
|
+
* - The `Worktree` handle remains usable for subsequent operations.
|
|
94
|
+
*/
|
|
95
|
+
readonly signal?: AbortSignal;
|
|
68
96
|
}
|
|
69
97
|
export interface WorktreeRunResult {
|
|
70
98
|
/** Per-iteration results (use `iterations.length` for the count). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createWorktree.d.ts","sourceRoot":"","sources":["../src/createWorktree.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createWorktree.d.ts","sourceRoot":"","sources":["../src/createWorktree.ts"],"names":[],"mappings":"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"}
|