@ai-hero/sandcastle 0.5.0 → 0.5.1
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 +21 -9
- package/dist/ErrorHandler.d.ts.map +1 -1
- package/dist/ErrorHandler.js +2 -0
- package/dist/ErrorHandler.js.map +1 -1
- package/dist/Orchestrator.d.ts +2 -3
- package/dist/Orchestrator.d.ts.map +1 -1
- package/dist/Orchestrator.js +8 -7
- package/dist/Orchestrator.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 +1 -2
- package/dist/SessionStore.d.ts.map +1 -1
- package/dist/SessionStore.js +14 -15
- package/dist/SessionStore.js.map +1 -1
- package/dist/createSandbox.d.ts +9 -1
- package/dist/createSandbox.d.ts.map +1 -1
- package/dist/createSandbox.js +13 -10
- package/dist/createSandbox.js.map +1 -1
- package/dist/createWorktree.d.ts +9 -4
- package/dist/createWorktree.d.ts.map +1 -1
- package/dist/createWorktree.js +6 -4
- 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 +2 -0
- 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 +8 -0
- package/dist/interactive.d.ts.map +1 -1
- package/dist/interactive.js +2 -1
- package/dist/interactive.js.map +1 -1
- 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 +22 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +10 -4
- package/dist/run.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -94,6 +94,7 @@ await interactive({
|
|
|
94
94
|
agent: claudeCode("claude-opus-4-6"),
|
|
95
95
|
sandbox: noSandbox(),
|
|
96
96
|
prompt: "...", // optional — omit to launch the TUI with no initial prompt
|
|
97
|
+
cwd: "/path/to/other-repo", // optional — defaults to process.cwd()
|
|
97
98
|
});
|
|
98
99
|
```
|
|
99
100
|
|
|
@@ -147,11 +148,17 @@ const result = await run({
|
|
|
147
148
|
network: "my-network",
|
|
148
149
|
}),
|
|
149
150
|
|
|
151
|
+
// Host repo directory — replaces process.cwd() as the anchor for
|
|
152
|
+
// .sandcastle/ artifacts (worktrees, logs, env, patches) and git operations.
|
|
153
|
+
// Relative paths resolve against process.cwd(). Defaults to process.cwd().
|
|
154
|
+
cwd: "../other-repo",
|
|
155
|
+
|
|
150
156
|
// Branch strategy — controls how the agent's changes relate to branches.
|
|
151
157
|
// Defaults to { type: "head" } for bind-mount and { type: "merge-to-head" } for isolated providers.
|
|
152
158
|
branchStrategy: { type: "branch", branch: "agent/fix-42" },
|
|
153
159
|
|
|
154
|
-
// Prompt source — provide one of these, not both
|
|
160
|
+
// Prompt source — provide one of these, not both.
|
|
161
|
+
// Note: promptFile resolves against process.cwd(), NOT cwd.
|
|
155
162
|
promptFile: ".sandcastle/prompt.md", // path to a prompt file
|
|
156
163
|
// prompt: "Fix issue #42 in this repo", // OR an inline prompt string
|
|
157
164
|
|
|
@@ -272,13 +279,14 @@ if (closeResult.preservedWorktreePath) {
|
|
|
272
279
|
|
|
273
280
|
#### `CreateSandboxOptions`
|
|
274
281
|
|
|
275
|
-
| Option | Type | Default
|
|
276
|
-
| -------------------------- | --------------- |
|
|
277
|
-
| `branch` | string | —
|
|
278
|
-
| `sandbox` | SandboxProvider | —
|
|
279
|
-
| `
|
|
280
|
-
| `
|
|
281
|
-
| `
|
|
282
|
+
| Option | Type | Default | Description |
|
|
283
|
+
| -------------------------- | --------------- | --------------- | ------------------------------------------------------------------------ |
|
|
284
|
+
| `branch` | string | — | **Required.** Explicit branch for the sandbox |
|
|
285
|
+
| `sandbox` | SandboxProvider | — | **Required.** Sandbox provider (e.g. `docker()`, `podman()`) |
|
|
286
|
+
| `cwd` | string | `process.cwd()` | Host repo directory — relative paths resolve against `process.cwd()` |
|
|
287
|
+
| `hooks` | SandboxHooks | — | Lifecycle hooks (`host.*`, `sandbox.*`) — run once at creation time |
|
|
288
|
+
| `copyToWorktree` | string[] | — | Host-relative file paths to copy into the sandbox at creation time |
|
|
289
|
+
| `throwOnDuplicateWorktree` | boolean | `true` | When `false`, reuse an existing worktree instead of failing on collision |
|
|
282
290
|
|
|
283
291
|
#### `Sandbox`
|
|
284
292
|
|
|
@@ -326,12 +334,15 @@ Use `createWorktree()` when you need a worktree (git worktree) as an independent
|
|
|
326
334
|
|
|
327
335
|
Only `branch` and `merge-to-head` strategies are accepted; `head` is a compile-time type error since it means no worktree.
|
|
328
336
|
|
|
337
|
+
Pass `cwd` to target a repo other than `process.cwd()`. Relative paths resolve against `process.cwd()`; absolute paths pass through. A `CwdError` is thrown if the path does not exist or is not a directory.
|
|
338
|
+
|
|
329
339
|
```typescript
|
|
330
340
|
import { createWorktree } from "@ai-hero/sandcastle";
|
|
331
341
|
|
|
332
342
|
await using wt = await createWorktree({
|
|
333
343
|
branchStrategy: { type: "branch", branch: "agent/fix-42" },
|
|
334
344
|
copyToWorktree: ["node_modules"],
|
|
345
|
+
cwd: "/path/to/other-repo", // optional — defaults to process.cwd()
|
|
335
346
|
});
|
|
336
347
|
|
|
337
348
|
console.log(wt.worktreePath); // host path to the worktree
|
|
@@ -629,8 +640,9 @@ Removes the Podman image.
|
|
|
629
640
|
| -------------------------- | ------------------ | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
630
641
|
| `agent` | AgentProvider | — | **Required.** Agent provider (e.g. `claudeCode("claude-opus-4-6")`, `pi("claude-sonnet-4-6")`, `codex("gpt-5.4-mini")`, `opencode("opencode/big-pickle")`) |
|
|
631
642
|
| `sandbox` | SandboxProvider | — | **Required.** Sandbox provider (e.g. `docker()`, `podman()`, `docker({ imageName: "sandcastle:local" })`) |
|
|
643
|
+
| `cwd` | string | `process.cwd()` | Host repo directory — anchor for `.sandcastle/` artifacts and git operations. Relative paths resolve against `process.cwd()`. |
|
|
632
644
|
| `prompt` | string | — | Inline prompt (mutually exclusive with `promptFile`) |
|
|
633
|
-
| `promptFile` | string | — | Path to prompt file (mutually exclusive with `prompt`)
|
|
645
|
+
| `promptFile` | string | — | Path to prompt file (mutually exclusive with `prompt`). Resolves against `process.cwd()`, **not** `cwd`. |
|
|
634
646
|
| `maxIterations` | number | `1` | Maximum iterations to run |
|
|
635
647
|
| `hooks` | SandboxHooks | — | Lifecycle hooks (`host.*`, `sandbox.*`) |
|
|
636
648
|
| `name` | string | — | Display name for the run, shown as a prefix in log output |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorHandler.d.ts","sourceRoot":"","sources":["../src/ErrorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"ErrorHandler.d.ts","sourceRoot":"","sources":["../src/ErrorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,iCAsC9B,CAAC;AASF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,4FA4BqB,CAAC"}
|
package/dist/ErrorHandler.js
CHANGED
|
@@ -39,6 +39,7 @@ export const formatErrorMessage = (error) => {
|
|
|
39
39
|
case "CommitCollectionTimeoutError":
|
|
40
40
|
case "MergeToHostTimeoutError":
|
|
41
41
|
case "SessionCaptureError":
|
|
42
|
+
case "CwdError":
|
|
42
43
|
return error.message;
|
|
43
44
|
}
|
|
44
45
|
};
|
|
@@ -77,5 +78,6 @@ Effect.catchTags(effect, {
|
|
|
77
78
|
CommitCollectionTimeoutError: showErrorAndExit,
|
|
78
79
|
MergeToHostTimeoutError: showErrorAndExit,
|
|
79
80
|
SessionCaptureError: showErrorAndExit,
|
|
81
|
+
CwdError: showErrorAndExit,
|
|
80
82
|
});
|
|
81
83
|
//# sourceMappingURL=ErrorHandler.js.map
|
package/dist/ErrorHandler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorHandler.js","sourceRoot":"","sources":["../src/ErrorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAmB,EAAU,EAAE;IAChE,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,WAAW;YACd,OAAO,8BAA8B,KAAK,CAAC,OAAO,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QAC1E,KAAK,eAAe;YAClB,OAAO,2BAA2B,KAAK,CAAC,OAAO,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QACvE,KAAK,WAAW;YACd,OAAO,qBAAqB,KAAK,CAAC,OAAO,EAAE,CAAC;QAC9C,KAAK,aAAa;YAChB,OAAO,4BAA4B,KAAK,CAAC,OAAO,sBAAsB,CAAC;QACzE,KAAK,aAAa;YAChB,OAAO,4BAA4B,KAAK,CAAC,OAAO,sBAAsB,CAAC;QACzE,KAAK,WAAW;YACd,OAAO,oBAAoB,KAAK,CAAC,OAAO,EAAE,CAAC;QAC7C,KAAK,eAAe;YAClB,OAAO,kCAAkC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC3D,KAAK,aAAa;YAChB,OAAO,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC;QACtD,KAAK,YAAY;YACf,OAAO,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC;QACrD,KAAK,gBAAgB;YACnB,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QAC5B,KAAK,WAAW;YACd,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QAC5B,KAAK,uBAAuB,CAAC;QAC7B,KAAK,sBAAsB,CAAC;QAC5B,KAAK,4BAA4B,CAAC;QAClC,KAAK,4BAA4B,CAAC;QAClC,KAAK,oBAAoB,CAAC;QAC1B,KAAK,kBAAkB,CAAC;QACxB,KAAK,sBAAsB,CAAC;QAC5B,KAAK,6BAA6B,CAAC;QACnC,KAAK,8BAA8B,CAAC;QACpC,KAAK,yBAAyB,CAAC;QAC/B,KAAK,qBAAqB;
|
|
1
|
+
{"version":3,"file":"ErrorHandler.js","sourceRoot":"","sources":["../src/ErrorHandler.ts"],"names":[],"mappings":"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"}
|
package/dist/Orchestrator.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import type { SandboxError } from "./errors.js";
|
|
|
4
4
|
import { SandboxFactory } from "./SandboxFactory.js";
|
|
5
5
|
import { type SandboxHooks } from "./SandboxLifecycle.js";
|
|
6
6
|
import type { AgentProvider } from "./AgentProvider.js";
|
|
7
|
+
import { SessionPaths } from "./SessionPaths.js";
|
|
7
8
|
export type { ParsedStreamEvent } from "./AgentProvider.js";
|
|
8
9
|
export interface OrchestrateOptions {
|
|
9
10
|
readonly hostRepoDir: string;
|
|
@@ -19,8 +20,6 @@ export interface OrchestrateOptions {
|
|
|
19
20
|
readonly name?: string;
|
|
20
21
|
/** @internal Test-only override for the idle warning interval in milliseconds. Default: 60000 (1 minute). */
|
|
21
22
|
readonly _idleWarningIntervalMs?: number;
|
|
22
|
-
/** @internal Override for the host projects directory (for testing). */
|
|
23
|
-
readonly _hostProjectsDir?: string;
|
|
24
23
|
/** Resume a prior Claude Code session by ID. Applied to iteration 1 only. */
|
|
25
24
|
readonly resumeSession?: string;
|
|
26
25
|
}
|
|
@@ -44,5 +43,5 @@ export interface OrchestrateResult {
|
|
|
44
43
|
/** Host path to the preserved worktree from the last iteration, set when the worktree was left behind due to uncommitted changes on a successful run. */
|
|
45
44
|
readonly preservedWorktreePath?: string;
|
|
46
45
|
}
|
|
47
|
-
export declare const orchestrate: (options: OrchestrateOptions) => Effect.Effect<OrchestrateResult, SandboxError, Display | SandboxFactory>;
|
|
46
|
+
export declare const orchestrate: (options: OrchestrateOptions) => Effect.Effect<OrchestrateResult, SandboxError, Display | SandboxFactory | SessionPaths>;
|
|
48
47
|
//# sourceMappingURL=Orchestrator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Orchestrator.d.ts","sourceRoot":"","sources":["../src/Orchestrator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Orchestrator.d.ts","sourceRoot":"","sources":["../src/Orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAOvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAoB,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAwB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOxD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKjD,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAgH5D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC9C,6IAA6I;IAC7I,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,wEAAwE;IACxE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,6GAA6G;IAC7G,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IACzC,6EAA6E;IAC7E,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,4DAA4D;AAC5D,MAAM,WAAW,eAAe;IAC9B,+FAA+F;IAC/F,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,yHAAyH;IACzH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,iBAAiB;IAChC,qEAAqE;IACrE,QAAQ,CAAC,UAAU,EAAE,eAAe,EAAE,CAAC;IACvC,wEAAwE;IACxE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yJAAyJ;IACzJ,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;CACzC;AAED,eAAO,MAAM,WAAW,0HAiMvB,CAAC"}
|
package/dist/Orchestrator.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { join } from "node:path";
|
|
2
1
|
import { Deferred, Effect } from "effect";
|
|
3
2
|
import { Display } from "./Display.js";
|
|
4
3
|
import { preprocessPrompt } from "./PromptPreprocessor.js";
|
|
@@ -7,6 +6,9 @@ import { SandboxFactory } from "./SandboxFactory.js";
|
|
|
7
6
|
import { withSandboxLifecycle } from "./SandboxLifecycle.js";
|
|
8
7
|
import { TextDeltaBuffer } from "./TextDeltaBuffer.js";
|
|
9
8
|
import { hostSessionStore, sandboxSessionStore, transferSession, } from "./SessionStore.js";
|
|
9
|
+
import { SessionPaths } from "./SessionPaths.js";
|
|
10
|
+
/** Sandbox-side Claude Code projects directory (fixed convention). */
|
|
11
|
+
const SANDBOX_PROJECTS_DIR = "/home/agent/.claude/projects";
|
|
10
12
|
const IDLE_WARNING_INTERVAL_MS = 60_000;
|
|
11
13
|
const invokeAgent = (sandbox, sandboxRepoDir, prompt, provider, idleTimeoutMs, onText, onToolCall, onIdleWarning, idleWarningIntervalMs = IDLE_WARNING_INTERVAL_MS, resumeSession) => Effect.gen(function* () {
|
|
12
14
|
let resultText = "";
|
|
@@ -89,6 +91,7 @@ export const orchestrate = (options) => {
|
|
|
89
91
|
return Effect.gen(function* () {
|
|
90
92
|
const factory = yield* SandboxFactory;
|
|
91
93
|
const display = yield* Display;
|
|
94
|
+
const { hostProjectsDir, sandboxProjectsDir } = yield* SessionPaths;
|
|
92
95
|
const { hostRepoDir, iterations, hooks, prompt, branch, provider } = options;
|
|
93
96
|
let completionSignals;
|
|
94
97
|
if (options.completionSignal === undefined) {
|
|
@@ -116,14 +119,12 @@ export const orchestrate = (options) => {
|
|
|
116
119
|
hostWorktreePath,
|
|
117
120
|
applyToHost,
|
|
118
121
|
}, (ctx) => Effect.gen(function* () {
|
|
119
|
-
// Shared sandbox session infrastructure for resume + capture
|
|
120
|
-
const sandboxProjectsDir = join("/home/agent", ".claude", "projects");
|
|
121
122
|
// Resume session: transfer JSONL from host to sandbox before iteration 1
|
|
122
123
|
const iterationResumeSession = i === 1 ? options.resumeSession : undefined;
|
|
123
124
|
if (iterationResumeSession && bindMountHandle) {
|
|
124
125
|
yield* display.status(label("Resuming session"), "info");
|
|
125
|
-
const sbStore = sandboxSessionStore(ctx.sandboxRepoDir, bindMountHandle,
|
|
126
|
-
const hStore = hostSessionStore(hostRepoDir,
|
|
126
|
+
const sbStore = sandboxSessionStore(ctx.sandboxRepoDir, bindMountHandle, SANDBOX_PROJECTS_DIR);
|
|
127
|
+
const hStore = hostSessionStore(hostRepoDir, hostProjectsDir);
|
|
127
128
|
yield* Effect.tryPromise({
|
|
128
129
|
try: () => transferSession(hStore, sbStore, iterationResumeSession),
|
|
129
130
|
catch: (e) => new SessionCaptureError({
|
|
@@ -161,8 +162,8 @@ export const orchestrate = (options) => {
|
|
|
161
162
|
let sessionFilePath;
|
|
162
163
|
if (provider.captureSessions && sessionId && bindMountHandle) {
|
|
163
164
|
yield* display.status(label("Capturing session"), "info");
|
|
164
|
-
const sbStore = sandboxSessionStore(ctx.sandboxRepoDir, bindMountHandle,
|
|
165
|
-
const hStore = hostSessionStore(hostRepoDir,
|
|
165
|
+
const sbStore = sandboxSessionStore(ctx.sandboxRepoDir, bindMountHandle, SANDBOX_PROJECTS_DIR);
|
|
166
|
+
const hStore = hostSessionStore(hostRepoDir, hostProjectsDir);
|
|
166
167
|
yield* Effect.tryPromise({
|
|
167
168
|
try: () => transferSession(sbStore, hStore, sessionId),
|
|
168
169
|
catch: (e) => new SessionCaptureError({
|
package/dist/Orchestrator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Orchestrator.js","sourceRoot":"","sources":["../src/Orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Orchestrator.js","sourceRoot":"","sources":["../src/Orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Context, Layer } from "effect";
|
|
2
|
+
declare const SessionPaths_base: Context.TagClass<SessionPaths, "SessionPaths", {
|
|
3
|
+
/** Host path to the Claude Code projects directory. */
|
|
4
|
+
readonly hostProjectsDir: string;
|
|
5
|
+
/** Sandbox path to the Claude Code projects directory. */
|
|
6
|
+
readonly sandboxProjectsDir: string;
|
|
7
|
+
}>;
|
|
8
|
+
/**
|
|
9
|
+
* Host- and sandbox-side Claude `projects` directories used by the
|
|
10
|
+
* orchestrator when capturing and resuming agent sessions.
|
|
11
|
+
*/
|
|
12
|
+
export declare class SessionPaths extends SessionPaths_base {
|
|
13
|
+
}
|
|
14
|
+
/** Build a `SessionPaths` layer with explicit host and sandbox project directories. */
|
|
15
|
+
export declare const sessionPathsLayer: (config: {
|
|
16
|
+
readonly hostProjectsDir: string;
|
|
17
|
+
readonly sandboxProjectsDir: string;
|
|
18
|
+
}) => Layer.Layer<SessionPaths, never, never>;
|
|
19
|
+
/**
|
|
20
|
+
* Default `SessionPaths` layer using Claude Code's conventional locations:
|
|
21
|
+
* `~/.claude/projects` on the host and `/home/agent/.claude/projects` in the
|
|
22
|
+
* sandbox.
|
|
23
|
+
*/
|
|
24
|
+
export declare const defaultSessionPathsLayer: Layer.Layer<SessionPaths>;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=SessionPaths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionPaths.d.ts","sourceRoot":"","sources":["../src/SessionPaths.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;;IASpC,uDAAuD;;IAEvD,0DAA0D;;;AAT9D;;;GAGG;AACH,qBAAa,YAAa,SAAQ,iBAQ/B;CAAG;AAEN,uFAAuF;AACvF,eAAO,MAAM,iBAAiB;;;6CAGsC,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAM9D,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
2
|
+
import { Context, Layer } from "effect";
|
|
3
|
+
/**
|
|
4
|
+
* Host- and sandbox-side Claude `projects` directories used by the
|
|
5
|
+
* orchestrator when capturing and resuming agent sessions.
|
|
6
|
+
*/
|
|
7
|
+
export class SessionPaths extends Context.Tag("SessionPaths")() {
|
|
8
|
+
}
|
|
9
|
+
/** Build a `SessionPaths` layer with explicit host and sandbox project directories. */
|
|
10
|
+
export const sessionPathsLayer = (config) => Layer.succeed(SessionPaths, config);
|
|
11
|
+
/**
|
|
12
|
+
* Default `SessionPaths` layer using Claude Code's conventional locations:
|
|
13
|
+
* `~/.claude/projects` on the host and `/home/agent/.claude/projects` in the
|
|
14
|
+
* sandbox.
|
|
15
|
+
*/
|
|
16
|
+
export const defaultSessionPathsLayer = Layer.sync(SessionPaths, () => ({
|
|
17
|
+
hostProjectsDir: join(process.env.HOME ?? "~", ".claude", "projects"),
|
|
18
|
+
sandboxProjectsDir: join("/home/agent", ".claude", "projects"),
|
|
19
|
+
}));
|
|
20
|
+
//# sourceMappingURL=SessionPaths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionPaths.js","sourceRoot":"","sources":["../src/SessionPaths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAExC;;;GAGG;AACH,MAAM,OAAO,YAAa,SAAQ,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAQ1D;CAAG;AAEN,uFAAuF;AACvF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAGjC,EAA6B,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAErE;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAA8B,KAAK,CAAC,IAAI,CAC3E,YAAY,EACZ,GAAG,EAAE,CAAC,CAAC;IACL,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC;IACrE,kBAAkB,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC;CAC/D,CAAC,CACH,CAAC"}
|
package/dist/SessionStore.d.ts
CHANGED
|
@@ -26,8 +26,7 @@ export interface SessionStore {
|
|
|
26
26
|
export declare const encodeProjectPath: (cwd: string) => string;
|
|
27
27
|
/**
|
|
28
28
|
* Create a host-backed SessionStore that reads/writes session JSONLs on the
|
|
29
|
-
* host filesystem using Claude Code's `~/.claude/projects/<encoded
|
|
30
|
-
* layout.
|
|
29
|
+
* host filesystem using Claude Code's `~/.claude/projects/<encoded>/` layout.
|
|
31
30
|
*
|
|
32
31
|
* @param cwd - The host repo directory this store is associated with.
|
|
33
32
|
* @param projectsDir - Override for the projects directory (default: `~/.claude/projects`).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionStore.d.ts","sourceRoot":"","sources":["../src/SessionStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"SessionStore.d.ts","sourceRoot":"","sources":["../src/SessionStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAMnE,wEAAwE;AACxE,MAAM,WAAW,YAAY;IAC3B,2DAA2D;IAC3D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,iEAAiE;IACjE,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,oEAAoE;IACpE,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D;AAMD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,yBAI7B,CAAC;AAMF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,iEAoB5B,CAAC;AAMF;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,wHAsC/B,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,eAAe,qEAyB3B,CAAC"}
|
package/dist/SessionStore.js
CHANGED
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
* the JSONL entries from source cwd to target cwd.
|
|
9
9
|
*/
|
|
10
10
|
import { mkdir, readFile, rm, writeFile } from "node:fs/promises";
|
|
11
|
-
import {
|
|
11
|
+
import { tmpdir } from "node:os";
|
|
12
|
+
import { join } from "node:path";
|
|
12
13
|
// ---------------------------------------------------------------------------
|
|
13
14
|
// Path encoding
|
|
14
15
|
// ---------------------------------------------------------------------------
|
|
@@ -26,8 +27,7 @@ export const encodeProjectPath = (cwd) => {
|
|
|
26
27
|
// ---------------------------------------------------------------------------
|
|
27
28
|
/**
|
|
28
29
|
* Create a host-backed SessionStore that reads/writes session JSONLs on the
|
|
29
|
-
* host filesystem using Claude Code's `~/.claude/projects/<encoded
|
|
30
|
-
* layout.
|
|
30
|
+
* host filesystem using Claude Code's `~/.claude/projects/<encoded>/` layout.
|
|
31
31
|
*
|
|
32
32
|
* @param cwd - The host repo directory this store is associated with.
|
|
33
33
|
* @param projectsDir - Override for the projects directory (default: `~/.claude/projects`).
|
|
@@ -35,16 +35,16 @@ export const encodeProjectPath = (cwd) => {
|
|
|
35
35
|
export const hostSessionStore = (cwd, projectsDir) => {
|
|
36
36
|
const baseDir = projectsDir ?? join(process.env.HOME ?? "~", ".claude", "projects");
|
|
37
37
|
const encoded = encodeProjectPath(cwd);
|
|
38
|
-
const
|
|
38
|
+
const projectDir = join(baseDir, encoded);
|
|
39
39
|
return {
|
|
40
40
|
cwd,
|
|
41
|
-
sessionFilePath: (id) => join(
|
|
41
|
+
sessionFilePath: (id) => join(projectDir, `${id}.jsonl`),
|
|
42
42
|
readSession: async (id) => {
|
|
43
|
-
return await readFile(join(
|
|
43
|
+
return await readFile(join(projectDir, `${id}.jsonl`), "utf-8");
|
|
44
44
|
},
|
|
45
45
|
writeSession: async (id, content) => {
|
|
46
|
-
await mkdir(
|
|
47
|
-
await writeFile(join(
|
|
46
|
+
await mkdir(projectDir, { recursive: true });
|
|
47
|
+
await writeFile(join(projectDir, `${id}.jsonl`), content);
|
|
48
48
|
},
|
|
49
49
|
};
|
|
50
50
|
};
|
|
@@ -61,13 +61,13 @@ export const hostSessionStore = (cwd, projectsDir) => {
|
|
|
61
61
|
*/
|
|
62
62
|
export const sandboxSessionStore = (cwd, handle, projectsDir) => {
|
|
63
63
|
const encoded = encodeProjectPath(cwd);
|
|
64
|
-
const
|
|
64
|
+
const projectDir = join(projectsDir, encoded);
|
|
65
65
|
return {
|
|
66
66
|
cwd,
|
|
67
|
-
sessionFilePath: (id) => join(
|
|
67
|
+
sessionFilePath: (id) => join(projectDir, `${id}.jsonl`),
|
|
68
68
|
readSession: async (id) => {
|
|
69
|
-
const sandboxPath = join(
|
|
70
|
-
const tmpPath = join(
|
|
69
|
+
const sandboxPath = join(projectDir, `${id}.jsonl`);
|
|
70
|
+
const tmpPath = join(tmpdir(), `sandcastle-session-${id}-${Date.now()}.jsonl`);
|
|
71
71
|
await handle.copyFileOut(sandboxPath, tmpPath);
|
|
72
72
|
try {
|
|
73
73
|
return await readFile(tmpPath, "utf-8");
|
|
@@ -77,9 +77,8 @@ export const sandboxSessionStore = (cwd, handle, projectsDir) => {
|
|
|
77
77
|
}
|
|
78
78
|
},
|
|
79
79
|
writeSession: async (id, content) => {
|
|
80
|
-
const sandboxPath = join(
|
|
81
|
-
const tmpPath = join(
|
|
82
|
-
await mkdir(dirname(tmpPath), { recursive: true });
|
|
80
|
+
const sandboxPath = join(projectDir, `${id}.jsonl`);
|
|
81
|
+
const tmpPath = join(tmpdir(), `sandcastle-session-${id}-${Date.now()}.jsonl`);
|
|
83
82
|
await writeFile(tmpPath, content);
|
|
84
83
|
try {
|
|
85
84
|
await handle.copyFileIn(tmpPath, sandboxPath);
|
package/dist/SessionStore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionStore.js","sourceRoot":"","sources":["../src/SessionStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"SessionStore.js","sourceRoot":"","sources":["../src/SessionStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAmBjC,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAAU,EAAE;IACvD,+CAA+C;IAC/C,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAClE,OAAO,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,GAAW,EACX,WAAoB,EACN,EAAE;IAChB,MAAM,OAAO,GACX,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE1C,OAAO;QACL,GAAG;QACH,eAAe,EAAE,CAAC,EAAU,EAAU,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAC;QACxE,WAAW,EAAE,KAAK,EAAE,EAAU,EAAmB,EAAE;YACjD,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;QAClE,CAAC;QACD,YAAY,EAAE,KAAK,EAAE,EAAU,EAAE,OAAe,EAAiB,EAAE;YACjE,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,8EAA8E;AAC9E,8BAA8B;AAC9B,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,GAAW,EACX,MAAkE,EAClE,WAAmB,EACL,EAAE;IAChB,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAE9C,OAAO;QACL,GAAG;QACH,eAAe,EAAE,CAAC,EAAU,EAAU,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAC;QACxE,WAAW,EAAE,KAAK,EAAE,EAAU,EAAmB,EAAE;YACjD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,IAAI,CAClB,MAAM,EAAE,EACR,sBAAsB,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,QAAQ,CAC/C,CAAC;YACF,MAAM,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAC/C,IAAI,CAAC;gBACH,OAAO,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1C,CAAC;oBAAS,CAAC;gBACT,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QACD,YAAY,EAAE,KAAK,EAAE,EAAU,EAAE,OAAe,EAAiB,EAAE;YACjE,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,IAAI,CAClB,MAAM,EAAE,EACR,sBAAsB,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,QAAQ,CAC/C,CAAC;YACF,MAAM,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAChD,CAAC;oBAAS,CAAC;gBACT,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,IAAkB,EAClB,EAAgB,EAChB,EAAU,EACK,EAAE;IACjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAE3C,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACnB,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,OAAO;SACtB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,IAAI,IAAI,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;QAC1D,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5D,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;AACvC,CAAC,CAAC"}
|
package/dist/createSandbox.d.ts
CHANGED
|
@@ -11,6 +11,15 @@ export interface CreateSandboxOptions {
|
|
|
11
11
|
readonly branch: string;
|
|
12
12
|
/** Sandbox provider (e.g. docker({ imageName: "sandcastle:myrepo" })). */
|
|
13
13
|
readonly sandbox: SandboxProvider;
|
|
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
|
/** Lifecycle hooks grouped by execution location (host or sandbox). */
|
|
15
24
|
readonly hooks?: SandboxHooks;
|
|
16
25
|
/** Paths relative to the host repo root to copy into the worktree at creation time. */
|
|
@@ -19,7 +28,6 @@ export interface CreateSandboxOptions {
|
|
|
19
28
|
readonly throwOnDuplicateWorktree?: boolean;
|
|
20
29
|
/** @internal Test-only overrides to bypass the sandbox provider. */
|
|
21
30
|
readonly _test?: {
|
|
22
|
-
readonly hostRepoDir?: string;
|
|
23
31
|
readonly buildSandboxLayer?: (sandboxDir: string) => Layer.Layer<SandboxTag>;
|
|
24
32
|
};
|
|
25
33
|
}
|
|
@@ -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,6 +5,7 @@ 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 { defaultSessionPathsLayer } from "./SessionPaths.js";
|
|
8
9
|
import { substitutePromptArgs, validateNoBuiltInArgOverride, BUILT_IN_PROMPT_ARG_KEYS, } from "./PromptArgumentSubstitution.js";
|
|
9
10
|
import { resolvePrompt } from "./PromptResolver.js";
|
|
10
11
|
import { preprocessPrompt } from "./PromptPreprocessor.js";
|
|
@@ -15,6 +16,7 @@ import { startSandbox } from "./startSandbox.js";
|
|
|
15
16
|
import { syncOut } from "./syncOut.js";
|
|
16
17
|
import * as WorktreeManager from "./WorktreeManager.js";
|
|
17
18
|
import { copyToWorktree } from "./CopyToWorktree.js";
|
|
19
|
+
import { resolveCwd } from "./resolveCwd.js";
|
|
18
20
|
/**
|
|
19
21
|
* @internal Builds a Sandbox handle with run() and interactive() methods.
|
|
20
22
|
* The close callback controls teardown behavior — top-level createSandbox()
|
|
@@ -67,7 +69,7 @@ const buildSandboxHandle = (ctx, close) => {
|
|
|
67
69
|
preservedWorktreePath: undefined,
|
|
68
70
|
}))),
|
|
69
71
|
});
|
|
70
|
-
const runLayer = Layer.
|
|
72
|
+
const runLayer = Layer.mergeAll(reuseFactoryLayer, runDisplayLayer, defaultSessionPathsLayer);
|
|
71
73
|
const result = await Effect.runPromise(Effect.gen(function* () {
|
|
72
74
|
const display = yield* Display;
|
|
73
75
|
yield* display.intro(runOptions.name ?? "sandcastle");
|
|
@@ -249,17 +251,18 @@ export const createSandboxFromWorktree = async (options) => {
|
|
|
249
251
|
* can be reused across multiple `run()` calls.
|
|
250
252
|
*/
|
|
251
253
|
export const createSandbox = async (options) => {
|
|
252
|
-
const hostRepoDir = options._test?.hostRepoDir ?? process.cwd();
|
|
253
254
|
const { branch } = options;
|
|
254
255
|
const isTestMode = !!options._test?.buildSandboxLayer;
|
|
255
|
-
// 1.
|
|
256
|
-
const worktreeInfo = await Effect.runPromise(
|
|
257
|
-
|
|
258
|
-
.pipe(Effect.
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
256
|
+
// 1. Resolve cwd, prune stale worktrees + create worktree on the explicit branch
|
|
257
|
+
const { hostRepoDir, worktreeInfo } = await Effect.runPromise(Effect.gen(function* () {
|
|
258
|
+
const hostRepoDir = yield* resolveCwd(options.cwd);
|
|
259
|
+
yield* WorktreeManager.pruneStale(hostRepoDir).pipe(Effect.catchAll(() => Effect.void));
|
|
260
|
+
const worktreeInfo = yield* WorktreeManager.create(hostRepoDir, {
|
|
261
|
+
branch,
|
|
262
|
+
throwOnDuplicateWorktree: options.throwOnDuplicateWorktree,
|
|
263
|
+
});
|
|
264
|
+
return { hostRepoDir, worktreeInfo };
|
|
265
|
+
}).pipe(Effect.provide(NodeContext.layer)));
|
|
263
266
|
const worktreePath = worktreeInfo.path;
|
|
264
267
|
// 2. Copy files if requested (bind-mount only; isolated providers handle this in startSandbox)
|
|
265
268
|
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")) */
|