@ai-hero/sandcastle 0.4.7 → 0.5.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.
- package/README.md +258 -69
- package/dist/AgentProvider.d.ts +9 -0
- package/dist/AgentProvider.d.ts.map +1 -1
- package/dist/AgentProvider.js +14 -2
- package/dist/AgentProvider.js.map +1 -1
- package/dist/CopyToWorktree.d.ts +9 -0
- package/dist/CopyToWorktree.d.ts.map +1 -0
- package/dist/{CopyToWorkspace.js → CopyToWorktree.js} +9 -3
- package/dist/CopyToWorktree.js.map +1 -0
- package/dist/DockerLifecycle.d.ts +2 -0
- package/dist/DockerLifecycle.d.ts.map +1 -1
- package/dist/DockerLifecycle.js +7 -0
- package/dist/DockerLifecycle.js.map +1 -1
- package/dist/ErrorHandler.d.ts.map +1 -1
- package/dist/ErrorHandler.js +22 -2
- package/dist/ErrorHandler.js.map +1 -1
- package/dist/InitService.d.ts +6 -1
- package/dist/InitService.d.ts.map +1 -1
- package/dist/InitService.js +90 -56
- package/dist/InitService.js.map +1 -1
- package/dist/MountConfig.d.ts +13 -2
- package/dist/MountConfig.d.ts.map +1 -1
- package/dist/Orchestrator.d.ts +14 -2
- package/dist/Orchestrator.d.ts.map +1 -1
- package/dist/Orchestrator.js +56 -12
- package/dist/Orchestrator.js.map +1 -1
- package/dist/PodmanLifecycle.d.ts +10 -0
- package/dist/PodmanLifecycle.d.ts.map +1 -1
- package/dist/PodmanLifecycle.js +22 -0
- package/dist/PodmanLifecycle.js.map +1 -1
- package/dist/PromptPreprocessor.d.ts +2 -2
- package/dist/PromptPreprocessor.d.ts.map +1 -1
- package/dist/PromptPreprocessor.js +7 -2
- package/dist/PromptPreprocessor.js.map +1 -1
- package/dist/SandboxFactory.d.ts +13 -11
- package/dist/SandboxFactory.d.ts.map +1 -1
- package/dist/SandboxFactory.js +59 -41
- package/dist/SandboxFactory.js.map +1 -1
- package/dist/SandboxLifecycle.d.ts +23 -5
- package/dist/SandboxLifecycle.d.ts.map +1 -1
- package/dist/SandboxLifecycle.js +88 -18
- package/dist/SandboxLifecycle.js.map +1 -1
- package/dist/SandboxProvider.d.ts +11 -7
- package/dist/SandboxProvider.d.ts.map +1 -1
- package/dist/SandboxProvider.js.map +1 -1
- package/dist/SessionStore.d.ts +50 -0
- package/dist/SessionStore.d.ts.map +1 -0
- package/dist/SessionStore.js +120 -0
- package/dist/SessionStore.js.map +1 -0
- package/dist/WorktreeManager.d.ts +3 -3
- package/dist/WorktreeManager.d.ts.map +1 -1
- package/dist/WorktreeManager.js +14 -3
- package/dist/WorktreeManager.js.map +1 -1
- package/dist/createSandbox.d.ts +25 -10
- package/dist/createSandbox.d.ts.map +1 -1
- package/dist/createSandbox.js +253 -133
- package/dist/createSandbox.js.map +1 -1
- package/dist/createWorktree.d.ts +121 -0
- package/dist/createWorktree.d.ts.map +1 -0
- package/dist/createWorktree.js +318 -0
- package/dist/createWorktree.js.map +1 -0
- package/dist/errors.d.ts +110 -6
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +41 -3
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +6 -1
- 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 +1 -1
- package/dist/interactive.d.ts.map +1 -1
- package/dist/interactive.js +63 -46
- package/dist/interactive.js.map +1 -1
- package/dist/run.d.ts +10 -10
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +23 -6
- package/dist/run.js.map +1 -1
- package/dist/sandboxes/daytona.js +4 -4
- package/dist/sandboxes/daytona.js.map +1 -1
- package/dist/sandboxes/docker.d.ts +9 -0
- package/dist/sandboxes/docker.d.ts.map +1 -1
- package/dist/sandboxes/docker.js +35 -5
- package/dist/sandboxes/docker.js.map +1 -1
- package/dist/sandboxes/no-sandbox.js +4 -4
- package/dist/sandboxes/no-sandbox.js.map +1 -1
- package/dist/sandboxes/podman.d.ts +9 -0
- package/dist/sandboxes/podman.d.ts.map +1 -1
- package/dist/sandboxes/podman.js +47 -5
- package/dist/sandboxes/podman.js.map +1 -1
- package/dist/sandboxes/test-bind-mount.d.ts +17 -0
- package/dist/sandboxes/test-bind-mount.d.ts.map +1 -0
- package/dist/sandboxes/test-bind-mount.js +91 -0
- package/dist/sandboxes/test-bind-mount.js.map +1 -0
- package/dist/sandboxes/test-isolated.js +5 -5
- package/dist/sandboxes/test-isolated.js.map +1 -1
- package/dist/sandboxes/vercel.js +7 -7
- package/dist/sandboxes/vercel.js.map +1 -1
- package/dist/startSandbox.d.ts +7 -6
- package/dist/startSandbox.d.ts.map +1 -1
- package/dist/startSandbox.js +38 -19
- package/dist/startSandbox.js.map +1 -1
- package/dist/syncIn.js +7 -7
- package/dist/syncIn.js.map +1 -1
- package/dist/syncOut.js +6 -6
- package/dist/syncOut.js.map +1 -1
- package/dist/templates/parallel-planner/implement-prompt.md +2 -2
- package/dist/templates/parallel-planner/main.mts +3 -7
- package/dist/templates/parallel-planner/merge-prompt.md +5 -1
- package/dist/templates/parallel-planner-with-review/implement-prompt.md +2 -2
- package/dist/templates/parallel-planner-with-review/main.mts +29 -63
- package/dist/templates/parallel-planner-with-review/merge-prompt.md +5 -1
- package/dist/templates/sequential-reviewer/main.mts +4 -4
- package/dist/templates/simple-loop/main.mts +9 -7
- package/package.json +1 -1
- package/dist/CopyToWorkspace.d.ts +0 -8
- package/dist/CopyToWorkspace.d.ts.map +0 -1
- package/dist/CopyToWorkspace.js.map +0 -1
- package/dist/templates/blank/.env.example +0 -5
- package/dist/templates/parallel-planner/.env.example +0 -5
- package/dist/templates/parallel-planner-with-review/.env.example +0 -5
- package/dist/templates/sequential-reviewer/.env.example +0 -5
- package/dist/templates/simple-loop/.env.example +0 -5
package/dist/Orchestrator.d.ts
CHANGED
|
@@ -13,15 +13,27 @@ export interface OrchestrateOptions {
|
|
|
13
13
|
readonly branch?: string;
|
|
14
14
|
readonly provider: AgentProvider;
|
|
15
15
|
readonly completionSignal?: string | string[];
|
|
16
|
-
/** Idle timeout in seconds. If the agent produces no output for this long, it fails with
|
|
16
|
+
/** Idle timeout in seconds. If the agent produces no output for this long, it fails with AgentIdleTimeoutError. Default: 600 (10 minutes) */
|
|
17
17
|
readonly idleTimeoutSeconds?: number;
|
|
18
18
|
/** Optional name for the run, prepended to status messages as [name] */
|
|
19
19
|
readonly name?: string;
|
|
20
20
|
/** @internal Test-only override for the idle warning interval in milliseconds. Default: 60000 (1 minute). */
|
|
21
21
|
readonly _idleWarningIntervalMs?: number;
|
|
22
|
+
/** @internal Override for the host projects directory (for testing). */
|
|
23
|
+
readonly _hostProjectsDir?: string;
|
|
24
|
+
/** Resume a prior Claude Code session by ID. Applied to iteration 1 only. */
|
|
25
|
+
readonly resumeSession?: string;
|
|
26
|
+
}
|
|
27
|
+
/** Per-iteration result carrying an optional session ID. */
|
|
28
|
+
export interface IterationResult {
|
|
29
|
+
/** Claude Code session ID extracted from the init line, or undefined for non-Claude agents. */
|
|
30
|
+
readonly sessionId?: string;
|
|
31
|
+
/** Absolute host path to the captured session JSONL, or undefined when capture is disabled or provider is non-Claude. */
|
|
32
|
+
readonly sessionFilePath?: string;
|
|
22
33
|
}
|
|
23
34
|
export interface OrchestrateResult {
|
|
24
|
-
|
|
35
|
+
/** Per-iteration results (use `iterations.length` for the count). */
|
|
36
|
+
readonly iterations: IterationResult[];
|
|
25
37
|
/** The matched completion signal string, or undefined if none fired. */
|
|
26
38
|
readonly completionSignal?: string;
|
|
27
39
|
readonly stdout: string;
|
|
@@ -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":"AACA,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;AAQxD,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,wEAAwE;IACxE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,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,2GAyMvB,CAAC"}
|
package/dist/Orchestrator.js
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
1
2
|
import { Deferred, Effect } from "effect";
|
|
2
3
|
import { Display } from "./Display.js";
|
|
3
4
|
import { preprocessPrompt } from "./PromptPreprocessor.js";
|
|
4
|
-
import { AgentError,
|
|
5
|
+
import { AgentError, AgentIdleTimeoutError, SessionCaptureError, } from "./errors.js";
|
|
5
6
|
import { SandboxFactory } from "./SandboxFactory.js";
|
|
6
7
|
import { withSandboxLifecycle } from "./SandboxLifecycle.js";
|
|
7
8
|
import { TextDeltaBuffer } from "./TextDeltaBuffer.js";
|
|
9
|
+
import { hostSessionStore, sandboxSessionStore, transferSession, } from "./SessionStore.js";
|
|
8
10
|
const IDLE_WARNING_INTERVAL_MS = 60_000;
|
|
9
|
-
const invokeAgent = (sandbox, sandboxRepoDir, prompt, provider, idleTimeoutMs, onText, onToolCall, onIdleWarning, idleWarningIntervalMs = IDLE_WARNING_INTERVAL_MS) => Effect.gen(function* () {
|
|
11
|
+
const invokeAgent = (sandbox, sandboxRepoDir, prompt, provider, idleTimeoutMs, onText, onToolCall, onIdleWarning, idleWarningIntervalMs = IDLE_WARNING_INTERVAL_MS, resumeSession) => Effect.gen(function* () {
|
|
10
12
|
let resultText = "";
|
|
13
|
+
let sessionId;
|
|
11
14
|
// Deferred that will be failed when the idle timer fires
|
|
12
15
|
const timeoutSignal = yield* Deferred.make();
|
|
13
16
|
let timeoutHandle = null;
|
|
14
|
-
const idleTimeoutSeconds = idleTimeoutMs / 1000;
|
|
15
17
|
// Periodic idle warning state
|
|
16
18
|
let warningHandle = null;
|
|
17
19
|
let idleMinuteCounter = 0;
|
|
@@ -28,9 +30,9 @@ const invokeAgent = (sandbox, sandboxRepoDir, prompt, provider, idleTimeoutMs, o
|
|
|
28
30
|
if (timeoutHandle !== null)
|
|
29
31
|
clearTimeout(timeoutHandle);
|
|
30
32
|
timeoutHandle = setTimeout(() => {
|
|
31
|
-
Effect.runPromise(Deferred.fail(timeoutSignal, new
|
|
32
|
-
message: `Agent idle for ${
|
|
33
|
-
|
|
33
|
+
Effect.runPromise(Deferred.fail(timeoutSignal, new AgentIdleTimeoutError({
|
|
34
|
+
message: `Agent idle for ${idleTimeoutMs / 1000} seconds — no output received. Consider increasing the idle timeout with --idle-timeout.`,
|
|
35
|
+
timeoutMs: idleTimeoutMs,
|
|
34
36
|
}))).catch(() => { });
|
|
35
37
|
}, idleTimeoutMs);
|
|
36
38
|
// Reset warning interval on activity
|
|
@@ -41,6 +43,7 @@ const invokeAgent = (sandbox, sandboxRepoDir, prompt, provider, idleTimeoutMs, o
|
|
|
41
43
|
const execResult = yield* sandbox.exec(provider.buildPrintCommand({
|
|
42
44
|
prompt,
|
|
43
45
|
dangerouslySkipPermissions: true,
|
|
46
|
+
resumeSession,
|
|
44
47
|
}), {
|
|
45
48
|
onLine: (line) => {
|
|
46
49
|
resetIdleTimer();
|
|
@@ -54,6 +57,9 @@ const invokeAgent = (sandbox, sandboxRepoDir, prompt, provider, idleTimeoutMs, o
|
|
|
54
57
|
else if (parsed.type === "tool_call") {
|
|
55
58
|
onToolCall(parsed.name, parsed.args);
|
|
56
59
|
}
|
|
60
|
+
else if (parsed.type === "session_id") {
|
|
61
|
+
sessionId = parsed.sessionId;
|
|
62
|
+
}
|
|
57
63
|
}
|
|
58
64
|
},
|
|
59
65
|
cwd: sandboxRepoDir,
|
|
@@ -63,7 +69,7 @@ const invokeAgent = (sandbox, sandboxRepoDir, prompt, provider, idleTimeoutMs, o
|
|
|
63
69
|
message: `${provider.name} exited with code ${execResult.exitCode}:\n${execResult.stderr}`,
|
|
64
70
|
}));
|
|
65
71
|
}
|
|
66
|
-
return { result: resultText || execResult.stdout };
|
|
72
|
+
return { result: resultText || execResult.stdout, sessionId };
|
|
67
73
|
}).pipe(Effect.ensuring(Effect.sync(() => {
|
|
68
74
|
if (timeoutHandle !== null) {
|
|
69
75
|
clearTimeout(timeoutHandle);
|
|
@@ -96,19 +102,36 @@ export const orchestrate = (options) => {
|
|
|
96
102
|
}
|
|
97
103
|
const label = (msg) => options.name ? `[${options.name}] ${msg}` : msg;
|
|
98
104
|
const allCommits = [];
|
|
105
|
+
const allIterations = [];
|
|
99
106
|
let allStdout = "";
|
|
100
107
|
let resolvedBranch = "";
|
|
101
108
|
let iterationPreservedPath;
|
|
102
109
|
for (let i = 1; i <= iterations; i++) {
|
|
103
110
|
yield* display.status(label(`Iteration ${i}/${iterations}`), "info");
|
|
104
|
-
const sandboxResult = yield* factory.withSandbox(({ hostWorktreePath,
|
|
111
|
+
const sandboxResult = yield* factory.withSandbox(({ hostWorktreePath, sandboxRepoPath, applyToHost, bindMountHandle }) => withSandboxLifecycle({
|
|
105
112
|
hostRepoDir,
|
|
106
|
-
sandboxRepoDir:
|
|
113
|
+
sandboxRepoDir: sandboxRepoPath,
|
|
107
114
|
hooks,
|
|
108
115
|
branch,
|
|
109
116
|
hostWorktreePath,
|
|
110
117
|
applyToHost,
|
|
111
118
|
}, (ctx) => Effect.gen(function* () {
|
|
119
|
+
// Shared sandbox session infrastructure for resume + capture
|
|
120
|
+
const sandboxProjectsDir = join("/home/agent", ".claude", "projects");
|
|
121
|
+
// Resume session: transfer JSONL from host to sandbox before iteration 1
|
|
122
|
+
const iterationResumeSession = i === 1 ? options.resumeSession : undefined;
|
|
123
|
+
if (iterationResumeSession && bindMountHandle) {
|
|
124
|
+
yield* display.status(label("Resuming session"), "info");
|
|
125
|
+
const sbStore = sandboxSessionStore(ctx.sandboxRepoDir, bindMountHandle, sandboxProjectsDir);
|
|
126
|
+
const hStore = hostSessionStore(hostRepoDir, options._hostProjectsDir);
|
|
127
|
+
yield* Effect.tryPromise({
|
|
128
|
+
try: () => transferSession(hStore, sbStore, iterationResumeSession),
|
|
129
|
+
catch: (e) => new SessionCaptureError({
|
|
130
|
+
message: `Session resume failed: ${e instanceof Error ? e.message : String(e)}`,
|
|
131
|
+
sessionId: iterationResumeSession,
|
|
132
|
+
}),
|
|
133
|
+
});
|
|
134
|
+
}
|
|
112
135
|
// Preprocess prompt (run !`command` expressions inside sandbox)
|
|
113
136
|
const fullPrompt = yield* preprocessPrompt(prompt, ctx.sandbox, ctx.sandboxRepoDir);
|
|
114
137
|
yield* display.status(label("Agent started"), "success");
|
|
@@ -130,15 +153,32 @@ export const orchestrate = (options) => {
|
|
|
130
153
|
: `Agent idle for ${minutes} minutes`;
|
|
131
154
|
Effect.runPromise(display.status(label(msg), "warn"));
|
|
132
155
|
};
|
|
133
|
-
const { result: agentOutput } = yield* invokeAgent(ctx.sandbox, ctx.sandboxRepoDir, fullPrompt, provider, idleTimeoutMs, onText, onToolCall, onIdleWarning, options._idleWarningIntervalMs);
|
|
156
|
+
const { result: agentOutput, sessionId } = yield* invokeAgent(ctx.sandbox, ctx.sandboxRepoDir, fullPrompt, provider, idleTimeoutMs, onText, onToolCall, onIdleWarning, options._idleWarningIntervalMs, iterationResumeSession);
|
|
134
157
|
// Flush any remaining buffered text deltas
|
|
135
158
|
textBuffer.dispose();
|
|
136
159
|
yield* display.status(label("Agent stopped"), "info");
|
|
160
|
+
// Capture session while sandbox is still alive
|
|
161
|
+
let sessionFilePath;
|
|
162
|
+
if (provider.captureSessions && sessionId && bindMountHandle) {
|
|
163
|
+
yield* display.status(label("Capturing session"), "info");
|
|
164
|
+
const sbStore = sandboxSessionStore(ctx.sandboxRepoDir, bindMountHandle, sandboxProjectsDir);
|
|
165
|
+
const hStore = hostSessionStore(hostRepoDir, options._hostProjectsDir);
|
|
166
|
+
yield* Effect.tryPromise({
|
|
167
|
+
try: () => transferSession(sbStore, hStore, sessionId),
|
|
168
|
+
catch: (e) => new SessionCaptureError({
|
|
169
|
+
message: `Session capture failed: ${e instanceof Error ? e.message : String(e)}`,
|
|
170
|
+
sessionId,
|
|
171
|
+
}),
|
|
172
|
+
});
|
|
173
|
+
sessionFilePath = hStore.sessionFilePath(sessionId);
|
|
174
|
+
}
|
|
137
175
|
// Check completion signal
|
|
138
176
|
const matchedSignal = completionSignals.find((sig) => agentOutput.includes(sig));
|
|
139
177
|
return {
|
|
140
178
|
completionSignal: matchedSignal,
|
|
141
179
|
stdout: agentOutput,
|
|
180
|
+
sessionId,
|
|
181
|
+
sessionFilePath,
|
|
142
182
|
};
|
|
143
183
|
})));
|
|
144
184
|
const lifecycleResult = sandboxResult.value;
|
|
@@ -146,10 +186,14 @@ export const orchestrate = (options) => {
|
|
|
146
186
|
allCommits.push(...lifecycleResult.commits);
|
|
147
187
|
allStdout += lifecycleResult.result.stdout;
|
|
148
188
|
resolvedBranch = lifecycleResult.branch;
|
|
189
|
+
allIterations.push({
|
|
190
|
+
sessionId: lifecycleResult.result.sessionId,
|
|
191
|
+
sessionFilePath: lifecycleResult.result.sessionFilePath,
|
|
192
|
+
});
|
|
149
193
|
if (lifecycleResult.result.completionSignal !== undefined) {
|
|
150
194
|
yield* display.status(label(`Agent signaled completion after ${i} iteration(s).`), "success");
|
|
151
195
|
return {
|
|
152
|
-
|
|
196
|
+
iterations: allIterations,
|
|
153
197
|
completionSignal: lifecycleResult.result.completionSignal,
|
|
154
198
|
stdout: allStdout,
|
|
155
199
|
commits: allCommits,
|
|
@@ -160,7 +204,7 @@ export const orchestrate = (options) => {
|
|
|
160
204
|
}
|
|
161
205
|
yield* display.status(label(`Reached max iterations (${iterations}).`), "info");
|
|
162
206
|
return {
|
|
163
|
-
|
|
207
|
+
iterations: allIterations,
|
|
164
208
|
completionSignal: undefined,
|
|
165
209
|
stdout: allStdout,
|
|
166
210
|
commits: allCommits,
|
package/dist/Orchestrator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Orchestrator.js","sourceRoot":"","sources":["../src/Orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,
|
|
1
|
+
{"version":3,"file":"Orchestrator.js","sourceRoot":"","sources":["../src/Orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,16 @@ import { PodmanError } from "./errors.js";
|
|
|
10
10
|
export declare const buildImage: (imageName: string, containerfileDir: string, options?: {
|
|
11
11
|
readonly containerfile?: string | undefined;
|
|
12
12
|
} | undefined) => Effect.Effect<void, PodmanError, never>;
|
|
13
|
+
/**
|
|
14
|
+
* Fix ownership of a directory inside the container.
|
|
15
|
+
* Runs as root so the target owner can write to the path.
|
|
16
|
+
*
|
|
17
|
+
* Non-fatal: if chown fails (e.g. read-only mount), a warning is logged
|
|
18
|
+
* but the error is not propagated. Matches Docker provider semantics.
|
|
19
|
+
*
|
|
20
|
+
* @param owner - chown-compatible owner spec, e.g. "1000:1000"
|
|
21
|
+
*/
|
|
22
|
+
export declare const chownInContainer: (containerName: string, owner: string, path: string) => Effect.Effect<void, never, never>;
|
|
13
23
|
/**
|
|
14
24
|
* Remove a Podman image.
|
|
15
25
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PodmanLifecycle.d.ts","sourceRoot":"","sources":["../src/PodmanLifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAwB1C;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;;yDAkBnB,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,WAAW,gEAKpB,CAAC"}
|
|
1
|
+
{"version":3,"file":"PodmanLifecycle.d.ts","sourceRoot":"","sources":["../src/PodmanLifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAwB1C;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;;yDAkBnB,CAAC;AAEL;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,2FAuB1B,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,WAAW,gEAKpB,CAAC"}
|
package/dist/PodmanLifecycle.js
CHANGED
|
@@ -36,6 +36,28 @@ export const buildImage = (imageName, containerfileDir, options) => Effect.gen(f
|
|
|
36
36
|
yield* podmanExec(["build", "-t", imageName, resolve(containerfileDir)]);
|
|
37
37
|
}
|
|
38
38
|
});
|
|
39
|
+
/**
|
|
40
|
+
* Fix ownership of a directory inside the container.
|
|
41
|
+
* Runs as root so the target owner can write to the path.
|
|
42
|
+
*
|
|
43
|
+
* Non-fatal: if chown fails (e.g. read-only mount), a warning is logged
|
|
44
|
+
* but the error is not propagated. Matches Docker provider semantics.
|
|
45
|
+
*
|
|
46
|
+
* @param owner - chown-compatible owner spec, e.g. "1000:1000"
|
|
47
|
+
*/
|
|
48
|
+
export const chownInContainer = (containerName, owner, path) => Effect.asVoid(podmanExec([
|
|
49
|
+
"exec",
|
|
50
|
+
"-u",
|
|
51
|
+
"root",
|
|
52
|
+
containerName,
|
|
53
|
+
"chown",
|
|
54
|
+
"-R",
|
|
55
|
+
owner,
|
|
56
|
+
path,
|
|
57
|
+
])).pipe(Effect.catchAll((error) => {
|
|
58
|
+
console.warn(`chown -R ${owner} ${path} in container ${containerName} failed (non-fatal): ${error.message}`);
|
|
59
|
+
return Effect.void;
|
|
60
|
+
}));
|
|
39
61
|
/**
|
|
40
62
|
* Remove a Podman image.
|
|
41
63
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PodmanLifecycle.js","sourceRoot":"","sources":["../src/PodmanLifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,UAAU,GAAG,CAAC,IAAc,EAAsC,EAAE,CACxE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE;IACtB,QAAQ,CACN,QAAQ,EACR,IAAI,EACJ,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,EAC/B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;QACxB,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CACJ,MAAM,CAAC,IAAI,CACT,IAAI,WAAW,CAAC;gBACd,OAAO,EAAE,UAAU,IAAI,CAAC,CAAC,CAAC,YAAY,MAAM,EAAE,QAAQ,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE;aAC5E,CAAC,CACH,CACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,SAAiB,EACjB,gBAAwB,EACxB,OAA6C,EACX,EAAE,CACpC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,CAAC,UAAU,CAAC;YAChB,OAAO;YACP,IAAI;YACJ,SAAS;YACT,IAAI;YACJ,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;YAC9B,OAAO,CAAC,GAAG,EAAE;SACd,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC,CAAC,CAAC;AAEL;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,SAAiB,EACiB,EAAE,CACpC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"PodmanLifecycle.js","sourceRoot":"","sources":["../src/PodmanLifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,UAAU,GAAG,CAAC,IAAc,EAAsC,EAAE,CACxE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE;IACtB,QAAQ,CACN,QAAQ,EACR,IAAI,EACJ,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,EAC/B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;QACxB,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CACJ,MAAM,CAAC,IAAI,CACT,IAAI,WAAW,CAAC;gBACd,OAAO,EAAE,UAAU,IAAI,CAAC,CAAC,CAAC,YAAY,MAAM,EAAE,QAAQ,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE;aAC5E,CAAC,CACH,CACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,SAAiB,EACjB,gBAAwB,EACxB,OAA6C,EACX,EAAE,CACpC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,CAAC,UAAU,CAAC;YAChB,OAAO;YACP,IAAI;YACJ,SAAS;YACT,IAAI;YACJ,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;YAC9B,OAAO,CAAC,GAAG,EAAE;SACd,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC,CAAC,CAAC;AAEL;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,aAAqB,EACrB,KAAa,EACb,IAAY,EACS,EAAE,CACvB,MAAM,CAAC,MAAM,CACX,UAAU,CAAC;IACT,MAAM;IACN,IAAI;IACJ,MAAM;IACN,aAAa;IACb,OAAO;IACP,IAAI;IACJ,KAAK;IACL,IAAI;CACL,CAAC,CACH,CAAC,IAAI,CACJ,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE;IACxB,OAAO,CAAC,IAAI,CACV,YAAY,KAAK,IAAI,IAAI,iBAAiB,aAAa,wBAAwB,KAAK,CAAC,OAAO,EAAE,CAC/F,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC,CAAC,CACH,CAAC;AAEJ;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,SAAiB,EACiB,EAAE,CACpC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
2
|
import { Display } from "./Display.js";
|
|
3
|
-
import { PromptError } from "./errors.js";
|
|
3
|
+
import { PromptError, PromptExpansionTimeoutError } from "./errors.js";
|
|
4
4
|
import type { ExecError } from "./errors.js";
|
|
5
5
|
import type { SandboxService } from "./SandboxFactory.js";
|
|
6
|
-
export declare const preprocessPrompt: (prompt: string, sandbox: SandboxService, cwd: string) => Effect.Effect<string, ExecError | PromptError, Display>;
|
|
6
|
+
export declare const preprocessPrompt: (prompt: string, sandbox: SandboxService, cwd: string) => Effect.Effect<string, ExecError | PromptError | PromptExpansionTimeoutError, Display>;
|
|
7
7
|
//# sourceMappingURL=PromptPreprocessor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromptPreprocessor.d.ts","sourceRoot":"","sources":["../src/PromptPreprocessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"PromptPreprocessor.d.ts","sourceRoot":"","sources":["../src/PromptPreprocessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EACL,WAAW,EACX,2BAA2B,EAE5B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D,eAAO,MAAM,gBAAgB,iJA2E5B,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
2
|
import { Display } from "./Display.js";
|
|
3
|
-
import { PromptError } from "./errors.js";
|
|
3
|
+
import { PromptError, PromptExpansionTimeoutError, withTimeout, } from "./errors.js";
|
|
4
|
+
const PROMPT_EXPANSION_TIMEOUT_MS = 30_000;
|
|
4
5
|
export const preprocessPrompt = (prompt, sandbox, cwd) => {
|
|
5
6
|
const pattern = /!`([^`]+)`/g;
|
|
6
7
|
const matches = [...prompt.matchAll(pattern)];
|
|
@@ -21,7 +22,11 @@ export const preprocessPrompt = (prompt, sandbox, cwd) => {
|
|
|
21
22
|
? Effect.fail(new PromptError({
|
|
22
23
|
message: `Command \`${command}\` exited with code ${execResult.exitCode}: ${execResult.stderr}`,
|
|
23
24
|
}))
|
|
24
|
-
: Effect.succeed(execResult.stdout.trimEnd()))
|
|
25
|
+
: Effect.succeed(execResult.stdout.trimEnd())).pipe(withTimeout(PROMPT_EXPANSION_TIMEOUT_MS, () => new PromptExpansionTimeoutError({
|
|
26
|
+
message: `Shell expression \`${command}\` timed out after ${PROMPT_EXPANSION_TIMEOUT_MS}ms`,
|
|
27
|
+
timeoutMs: PROMPT_EXPANSION_TIMEOUT_MS,
|
|
28
|
+
expression: command,
|
|
29
|
+
})));
|
|
25
30
|
}), { concurrency: "unbounded" });
|
|
26
31
|
// Log per-command token counts
|
|
27
32
|
for (let i = 0; i < matches.length; i++) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromptPreprocessor.js","sourceRoot":"","sources":["../src/PromptPreprocessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"PromptPreprocessor.js","sourceRoot":"","sources":["../src/PromptPreprocessor.ts"],"names":[],"mappings":"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"}
|
package/dist/SandboxFactory.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Context, Effect, Layer } from "effect";
|
|
2
2
|
import { FileSystem } from "@effect/platform";
|
|
3
3
|
import type { PlatformError } from "@effect/platform/Error";
|
|
4
|
-
import { CopyError, ExecError, SyncError,
|
|
4
|
+
import { CopyError, ExecError, SyncError, type SandboxError } from "./errors.js";
|
|
5
5
|
import { Display } from "./Display.js";
|
|
6
6
|
import type { SandboxProvider, BranchStrategy, BindMountSandboxHandle, IsolatedSandboxHandle, NoSandboxHandle } from "./SandboxProvider.js";
|
|
7
|
+
import { type SandboxHooks } from "./SandboxLifecycle.js";
|
|
7
8
|
export interface ExecResult {
|
|
8
9
|
readonly stdout: string;
|
|
9
10
|
readonly stderr: string;
|
|
@@ -25,20 +26,21 @@ export declare class Sandbox extends Sandbox_base {
|
|
|
25
26
|
}
|
|
26
27
|
/**
|
|
27
28
|
* Wrap a Promise-based sandbox handle into an Effect-based SandboxService layer.
|
|
28
|
-
*
|
|
29
|
-
* isolated handles (copyIn/copyFileOut delegated to the handle).
|
|
29
|
+
* Delegates copyIn/copyFileOut to the handle when available.
|
|
30
30
|
*/
|
|
31
31
|
export declare const makeSandboxLayerFromHandle: (handle: BindMountSandboxHandle | IsolatedSandboxHandle | NoSandboxHandle) => Layer.Layer<Sandbox, never, never>;
|
|
32
32
|
/** The mount point inside the sandbox where the project worktree is bound. */
|
|
33
|
-
export declare const
|
|
33
|
+
export declare const SANDBOX_REPO_DIR = "/home/agent/workspace";
|
|
34
34
|
export interface SandboxInfo {
|
|
35
|
-
/** Host-side path to the worktree directory (worktree mode only). */
|
|
35
|
+
/** Host-side path to the worktree directory (worktree/branch mode only). */
|
|
36
36
|
readonly hostWorktreePath?: string;
|
|
37
|
-
/** Absolute path to the
|
|
38
|
-
readonly
|
|
37
|
+
/** Absolute path to the worktree inside the sandbox, as reported by the provider. */
|
|
38
|
+
readonly sandboxRepoPath: string;
|
|
39
39
|
/** Sync changes from the sandbox to the host worktree.
|
|
40
40
|
* For isolated providers, runs syncOut. For bind-mount providers, this is a no-op. */
|
|
41
41
|
readonly applyToHost: () => Effect.Effect<void, SyncError>;
|
|
42
|
+
/** The bind-mount sandbox handle, available when the provider is a bind-mount provider. Used for session capture. */
|
|
43
|
+
readonly bindMountHandle?: BindMountSandboxHandle;
|
|
42
44
|
}
|
|
43
45
|
export interface WithSandboxResult<A> {
|
|
44
46
|
readonly value: A;
|
|
@@ -46,7 +48,7 @@ export interface WithSandboxResult<A> {
|
|
|
46
48
|
readonly preservedWorktreePath?: string;
|
|
47
49
|
}
|
|
48
50
|
declare const SandboxFactory_base: Context.TagClass<SandboxFactory, "SandboxFactory", {
|
|
49
|
-
readonly withSandbox: <A, E, R>(makeEffect: (info: SandboxInfo) => Effect.Effect<A, E, R | Sandbox>) => Effect.Effect<WithSandboxResult<A>, E |
|
|
51
|
+
readonly withSandbox: <A, E, R>(makeEffect: (info: SandboxInfo) => Effect.Effect<A, E, R | Sandbox>) => Effect.Effect<WithSandboxResult<A>, E | SandboxError, Exclude<R, Sandbox>>;
|
|
50
52
|
}>;
|
|
51
53
|
export declare class SandboxFactory extends SandboxFactory_base {
|
|
52
54
|
}
|
|
@@ -54,7 +56,7 @@ declare const SandboxConfig_base: Context.TagClass<SandboxConfig, "SandboxConfig
|
|
|
54
56
|
readonly env: Record<string, string>;
|
|
55
57
|
readonly hostRepoDir: string;
|
|
56
58
|
/** Paths relative to the host repo root to copy into the worktree before sandbox start. */
|
|
57
|
-
readonly
|
|
59
|
+
readonly copyToWorktree?: string[] | undefined;
|
|
58
60
|
/** When specified, the run name is included in the auto-generated branch and worktree names. */
|
|
59
61
|
readonly name?: string | undefined;
|
|
60
62
|
/** Sandbox provider — delegates sandbox lifecycle to the provider. */
|
|
@@ -63,11 +65,11 @@ declare const SandboxConfig_base: Context.TagClass<SandboxConfig, "SandboxConfig
|
|
|
63
65
|
readonly branchStrategy: BranchStrategy;
|
|
64
66
|
/** When false, reuse an existing worktree instead of failing on collision. Default: true. */
|
|
65
67
|
readonly throwOnDuplicateWorktree?: boolean | undefined;
|
|
68
|
+
/** Lifecycle hooks grouped by execution location (host or sandbox). */
|
|
69
|
+
readonly hooks?: SandboxHooks | undefined;
|
|
66
70
|
}>;
|
|
67
71
|
export declare class SandboxConfig extends SandboxConfig_base {
|
|
68
72
|
}
|
|
69
|
-
/** @deprecated Use SandboxConfig instead. */
|
|
70
|
-
export declare const WorktreeSandboxConfig: typeof SandboxConfig;
|
|
71
73
|
export interface MountEntry {
|
|
72
74
|
readonly hostPath: string;
|
|
73
75
|
readonly sandboxPath: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SandboxFactory.d.ts","sourceRoot":"","sources":["../src/SandboxFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAQ,KAAK,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,
|
|
1
|
+
{"version":3,"file":"SandboxFactory.d.ts","sourceRoot":"","sources":["../src/SandboxFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAQ,KAAK,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAGL,SAAS,EACT,SAAS,EACT,SAAS,EAGT,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EAEd,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAIxE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,CACb,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,KACxE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAE1C,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,EAAE,CACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAEpC,uDAAuD;IACvD,QAAQ,CAAC,WAAW,EAAE,CACpB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;CACrC;;AAED,qBAAa,OAAQ,SAAQ,YAG1B;CAAG;AAmCN;;;GAGG;AACH,eAAO,MAAM,0BAA0B,kHAkCnC,CAAC;AAEL,8EAA8E;AAC9E,eAAO,MAAM,gBAAgB,0BAA0B,CAAC;AAExD,MAAM,WAAW,WAAW;IAC1B,4EAA4E;IAC5E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,qFAAqF;IACrF,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC;2FACuF;IACvF,QAAQ,CAAC,WAAW,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3D,qHAAqH;IACrH,QAAQ,CAAC,eAAe,CAAC,EAAE,sBAAsB,CAAC;CACnD;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,6GAA6G;IAC7G,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;CACzC;;2BAK0B,CAAC,EAAE,CAAC,EAAE,CAAC;;AAHlC,qBAAa,cAAe,SAAQ,mBAWjC;CAAG;;;;IAOF,2FAA2F;;IAE3F,gGAAgG;;IAEhG,sEAAsE;;IAEtE,6EAA6E;;IAE7E,6FAA6F;;IAE7F,uEAAuE;;;AAf3E,qBAAa,aAAc,SAAQ,kBAkBhC;CAAG;AAqEN,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,wFAwBzB,CAAC;AAUL,eAAO,MAAM,4BAA4B;;CA6QxC,CAAC"}
|