@ai-hero/sandcastle 0.0.1 → 0.1.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.
Files changed (63) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +152 -90
  3. package/dist/AgentProvider.d.ts.map +1 -1
  4. package/dist/AgentProvider.js +0 -6
  5. package/dist/AgentProvider.js.map +1 -1
  6. package/dist/Display.d.ts +6 -0
  7. package/dist/Display.d.ts.map +1 -1
  8. package/dist/Display.js +7 -0
  9. package/dist/Display.js.map +1 -1
  10. package/dist/InitService.d.ts.map +1 -1
  11. package/dist/InitService.js +0 -1
  12. package/dist/InitService.js.map +1 -1
  13. package/dist/Orchestrator.d.ts +15 -2
  14. package/dist/Orchestrator.d.ts.map +1 -1
  15. package/dist/Orchestrator.js +76 -18
  16. package/dist/Orchestrator.js.map +1 -1
  17. package/dist/PromptArgumentSubstitution.d.ts +5 -0
  18. package/dist/PromptArgumentSubstitution.d.ts.map +1 -1
  19. package/dist/PromptArgumentSubstitution.js.map +1 -1
  20. package/dist/SandboxLifecycle.js +7 -7
  21. package/dist/SandboxLifecycle.js.map +1 -1
  22. package/dist/cli.d.ts +0 -2
  23. package/dist/cli.d.ts.map +1 -1
  24. package/dist/cli.js +16 -16
  25. package/dist/cli.js.map +1 -1
  26. package/dist/main.js +0 -0
  27. package/dist/run.d.ts +32 -5
  28. package/dist/run.d.ts.map +1 -1
  29. package/dist/run.js +35 -15
  30. package/dist/run.js.map +1 -1
  31. package/dist/templates/blank/prompt.md +1 -1
  32. package/dist/templates/parallel-planner/main.ts +37 -28
  33. package/dist/templates/parallel-planner/merge-prompt.md +1 -1
  34. package/dist/templates/parallel-planner/plan-prompt.md +1 -1
  35. package/dist/templates/sequential-reviewer/review-prompt.md +32 -20
  36. package/dist/templates/simple-loop/prompt.md +1 -1
  37. package/dist/templates.js +1 -1
  38. package/dist/templates.js.map +1 -1
  39. package/package.json +7 -1
  40. package/dist/Config.d.ts +0 -35
  41. package/dist/Config.d.ts.map +0 -1
  42. package/dist/Config.js +0 -56
  43. package/dist/Config.js.map +0 -1
  44. package/dist/DockerSandbox.d.ts +0 -6
  45. package/dist/DockerSandbox.d.ts.map +0 -1
  46. package/dist/DockerSandbox.js +0 -122
  47. package/dist/DockerSandbox.js.map +0 -1
  48. package/dist/FilesystemSandbox.d.ts +0 -6
  49. package/dist/FilesystemSandbox.d.ts.map +0 -1
  50. package/dist/FilesystemSandbox.js +0 -83
  51. package/dist/FilesystemSandbox.js.map +0 -1
  52. package/dist/Sandbox.d.ts +0 -23
  53. package/dist/Sandbox.d.ts.map +0 -1
  54. package/dist/Sandbox.js +0 -5
  55. package/dist/Sandbox.js.map +0 -1
  56. package/dist/SyncService.d.ts +0 -20
  57. package/dist/SyncService.d.ts.map +0 -1
  58. package/dist/SyncService.js +0 -504
  59. package/dist/SyncService.js.map +0 -1
  60. package/dist/TokenResolver.d.ts +0 -6
  61. package/dist/TokenResolver.d.ts.map +0 -1
  62. package/dist/TokenResolver.js +0 -43
  63. package/dist/TokenResolver.js.map +0 -1
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Matt Pocock
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,28 +1,36 @@
1
1
  # Sandcastle
2
2
 
3
- A TypeScript CLI for orchestrating AI coding agents in isolated Docker containers. Sandcastle handles the hard parts — building worktrees, invoking the agent, and merging commits back — so you can run AFK agents with a single `run()`.
3
+ A TypeScript library for orchestrating AI coding agents in isolated Docker containers. Sandcastle handles the hard parts — building worktrees, invoking the agent, and merging commits back — so you can run AFK agents with a single `run()`.
4
4
 
5
5
  ## Prerequisites
6
6
 
7
7
  - [Docker Desktop](https://www.docker.com/)
8
8
  - [Git](https://git-scm.com/)
9
9
 
10
- ## Installation
10
+ ## Quick start
11
+
12
+ 1. Install the package:
11
13
 
12
14
  ```bash
13
- pnpm add @ai-hero/sandcastle
15
+ npm install @ai-hero/sandcastle
14
16
  ```
15
17
 
16
- ## Quick start
18
+ 2. Run `sandcastle init`. This scaffolds a `.sandcastle` directory with all the files needed.
17
19
 
18
20
  ```bash
19
- # 1. Initialize — scaffolds .sandcastle/ config directory and builds the Docker image
20
- cd /path/to/your/repo
21
21
  npx sandcastle init
22
+ ```
22
23
 
23
- # 2. Set up environment variables in .sandcastle/.env
24
+ 3. Edit `.sandcastle/.env` and fill in your default values for `ANTHROPIC_API_KEY`
25
+
26
+ ```bash
24
27
  cp .sandcastle/.env.example .sandcastle/.env
25
- # Edit .sandcastle/.env and fill in your values
28
+ ```
29
+
30
+ 4. Run the `.sandcastle/main.ts` file with `npx tsx`
31
+
32
+ ```bash
33
+ npx tsx .sandcastle/main.ts
26
34
  ```
27
35
 
28
36
  ```typescript
@@ -34,59 +42,89 @@ await run({
34
42
  });
35
43
  ```
36
44
 
37
- ```bash
38
- npx tsx main.ts
45
+ ## API
46
+
47
+ Sandcastle exports a programmatic `run()` function for use in scripts, CI pipelines, or custom tooling.
48
+
49
+ ```typescript
50
+ import { run } from "@ai-hero/sandcastle";
51
+
52
+ const result = await run({
53
+ promptFile: ".sandcastle/prompt.md",
54
+ });
55
+
56
+ console.log(result.iterationsRun); // number of iterations executed
57
+ console.log(result.commits); // array of { sha } for commits created
58
+ console.log(result.branch); // target branch name
39
59
  ```
40
60
 
41
- ## CLI commands
61
+ ### All options
42
62
 
43
- ### `sandcastle init`
63
+ ```typescript
64
+ import { run } from "@ai-hero/sandcastle";
44
65
 
45
- Scaffolds the `.sandcastle/` config directory and builds the Docker image. This is the first command you run in a new repo.
66
+ const result = await run({
67
+ // Prompt source — provide one of these, not both:
68
+ promptFile: ".sandcastle/prompt.md", // path to a prompt file
69
+ // prompt: "Fix issue #42 in this repo", // OR an inline prompt string
46
70
 
47
- | Option | Required | Default | Description |
48
- | -------------- | -------- | ------------------ | ------------------------------------------ |
49
- | `--image-name` | No | `sandcastle:local` | Docker image name |
50
- | `--agent` | No | `claude-code` | Agent provider to use (e.g. `claude-code`) |
71
+ // Values substituted for {{KEY}} placeholders in the prompt.
72
+ promptArgs: {
73
+ ISSUE_NUMBER: "42",
74
+ },
51
75
 
52
- Creates the following files:
76
+ // Maximum number of agent iterations to run before stopping. Default: 1
77
+ maxIterations: 5,
53
78
 
54
- ```
55
- .sandcastle/
56
- ├── Dockerfile # Sandbox environment (customize as needed)
57
- ├── prompt.md # Agent instructions
58
- ├── .env.example # Token placeholders
59
- └── .gitignore # Ignores .env, patches/, logs/
60
- ```
79
+ // Branch the agent commits to inside the sandbox.
80
+ branch: "agent/fix-42",
61
81
 
62
- Errors if `.sandcastle/` already exists to prevent overwriting customizations.
82
+ // Claude model passed to the agent. Default: "claude-opus-4-6"
83
+ model: "claude-opus-4-6",
63
84
 
64
- ### `sandcastle build-image`
85
+ // Docker image used for the sandbox. Default: "sandcastle:<repo-dir-name>"
86
+ imageName: "sandcastle:local",
65
87
 
66
- Rebuilds the Docker image from an existing `.sandcastle/` directory. Use this after modifying the Dockerfile.
88
+ // Display name for this run, shown as a prefix in log output.
89
+ name: "fix-issue-42",
67
90
 
68
- | Option | Required | Default | Description |
69
- | -------------- | -------- | ------------------ | --------------------------------------------------------------------------------- |
70
- | `--image-name` | No | `sandcastle:local` | Docker image name |
71
- | `--dockerfile` | No | — | Path to a custom Dockerfile (build context will be the current working directory) |
91
+ // Lifecycle hooks arrays of shell commands run sequentially inside the sandbox.
92
+ hooks: {
93
+ // Runs after the worktree is mounted into the sandbox.
94
+ onSandboxReady: [{ command: "npm install" }],
95
+ },
72
96
 
73
- ### `sandcastle interactive`
97
+ // Host-relative file paths to copy into the worktree before the container starts.
98
+ copyToSandbox: [".env"],
74
99
 
75
- Opens an interactive Claude Code session inside the sandbox. Syncs your repo in, launches Claude with TTY passthrough, and syncs changes back when you exit.
100
+ // How to record progress. Default: write to a file under .sandcastle/logs/
101
+ logging: { type: "file", path: ".sandcastle/logs/my-run.log" },
102
+ // logging: { type: "stdout" }, // OR render an interactive UI in the terminal
76
103
 
77
- | Option | Required | Default | Description |
78
- | -------------- | -------- | ------------------ | -------------------------- |
79
- | `--image-name` | No | `sandcastle:local` | Docker image name |
80
- | `--model` | No | `claude-opus-4-6` | Model to use for the agent |
81
- | `--agent` | No | `claude-code` | Agent provider to use |
104
+ // String the agent emits to end the iteration loop early.
105
+ // Default: "<promise>COMPLETE</promise>"
106
+ completionSignal: "<promise>COMPLETE</promise>",
82
107
 
83
- ### `sandcastle remove-image`
108
+ // Maximum wall-clock time for the entire run, in seconds. Default: 1200 (20 minutes)
109
+ timeoutSeconds: 1200,
110
+ });
84
111
 
85
- Removes the Docker image.
112
+ console.log(result.iterationsRun); // number of iterations executed
113
+ console.log(result.wasCompletionSignalDetected); // true if agent emitted <promise>COMPLETE</promise>
114
+ console.log(result.commits); // array of { sha } for commits created
115
+ console.log(result.branch); // target branch name
116
+ ```
117
+
118
+ ## How it works
119
+
120
+ Sandcastle uses a worktree-based architecture for direct, zero-sync agent execution:
86
121
 
87
- | Option | Required | Default | Description |
88
- | -------------- | -------- | ------------------ | ----------------- |
89
- | `--image-name` | No | `sandcastle:local` | Docker image name |
122
+ - **Worktree**: Sandcastle creates a git worktree on the host at `.sandcastle/worktrees/`. The worktree is a real checkout of your repo — no copying or bundling required.
123
+ - **Bind-mount**: The worktree directory is bind-mounted into the sandbox container as the agent's working directory. The agent writes directly to the host filesystem through the mount.
124
+ - **No sync needed**: Because the agent writes directly to the host filesystem, there are no sync-in or sync-out operations. Commits made by the agent are immediately visible on the host.
125
+ - **Merge back**: After the run completes, the temp worktree branch is fast-forward merged back to the target branch, and the worktree is cleaned up.
126
+
127
+ This approach eliminates the complexity of patch-based sync and ensures the agent always works with the exact repo state on the host.
90
128
 
91
129
  ## Prompts
92
130
 
@@ -94,24 +132,25 @@ Sandcastle uses a flexible prompt system. You write the prompt, and the engine e
94
132
 
95
133
  ### Prompt resolution
96
134
 
97
- The prompt is resolved from one of three sources (in order of precedence):
135
+ You must provide exactly one of:
98
136
 
99
137
  1. `prompt: "inline string"` — pass an inline prompt directly via `RunOptions`
100
138
  2. `promptFile: "./path/to/prompt.md"` — point to a specific file via `RunOptions`
101
- 3. `.sandcastle/prompt.md` — default location (created by `sandcastle init`)
102
139
 
103
- `prompt` and `promptFile` are mutually exclusive — providing both is an error.
140
+ `prompt` and `promptFile` are mutually exclusive — providing both is an error. If neither is provided, `run()` throws an error asking you to supply one.
141
+
142
+ > **Convention**: `sandcastle init` scaffolds `.sandcastle/prompt.md` and all templates explicitly reference it via `promptFile: ".sandcastle/prompt.md"`. This is a convention, not an automatic fallback — Sandcastle does not read `.sandcastle/prompt.md` unless you pass it as `promptFile`.
104
143
 
105
144
  ### Dynamic context with `` !`command` ``
106
145
 
107
146
  Use `` !`command` `` expressions in your prompt to pull in dynamic context. Each expression is replaced with the command's stdout before the prompt is sent to the agent.
108
147
 
109
- Commands run **inside the sandbox** after sync-in and `onSandboxReady` hooks, so they see the same repo state the agent sees (including installed dependencies).
148
+ Commands run **inside the sandbox** after the worktree is mounted and `onSandboxReady` hooks complete, so they see the same repo state the agent sees (including installed dependencies).
110
149
 
111
150
  ```markdown
112
151
  # Open issues
113
152
 
114
- !`gh issue list --state open --json number,title,body,comments,labels --limit 20`
153
+ !`gh issue list --state open --label Sandcastle --json number,title,body,comments,labels --limit 20`
115
154
 
116
155
  # Recent commits
117
156
 
@@ -153,6 +192,17 @@ When the agent outputs `<promise>COMPLETE</promise>`, the orchestrator stops the
153
192
 
154
193
  This is useful for task-based workflows where the agent should stop once it has finished, rather than running all remaining iterations.
155
194
 
195
+ You can override the default signal by passing `completionSignal` to `run()`:
196
+
197
+ ```ts
198
+ await run({
199
+ // ...
200
+ completionSignal: "DONE",
201
+ });
202
+ ```
203
+
204
+ Tell the agent to output your chosen string in the prompt, and the orchestrator will stop when it detects it.
205
+
156
206
  ### Templates
157
207
 
158
208
  `sandcastle init` prompts you to choose a template, which scaffolds a ready-to-use prompt and `main.ts` suited to a specific workflow. Four templates are available:
@@ -166,41 +216,62 @@ This is useful for task-based workflows where the agent should stop once it has
166
216
 
167
217
  Select a template during `sandcastle init` when prompted, or re-run init in a fresh repo to try a different one.
168
218
 
169
- ## Node API
219
+ ## CLI commands
170
220
 
171
- Sandcastle exports a programmatic `run()` function for use in Node.js scripts, CI pipelines, or custom tooling.
221
+ ### `sandcastle init`
172
222
 
173
- ```typescript
174
- import { run } from "@ai-hero/sandcastle";
223
+ Scaffolds the `.sandcastle/` config directory and builds the Docker image. This is the first command you run in a new repo.
175
224
 
176
- const result = await run({
177
- promptFile: "./my-prompt.md",
178
- maxIterations: 3,
179
- branch: "agent/fix-123",
180
- });
225
+ | Option | Required | Default | Description |
226
+ | -------------- | -------- | ---------------------------- | ----------------- |
227
+ | `--image-name` | No | `sandcastle:<repo-dir-name>` | Docker image name |
228
+
229
+ Creates the following files:
181
230
 
182
- console.log(result.iterationsRun); // number of iterations executed
183
- console.log(result.wasCompletionSignalDetected); // true if agent emitted <promise>COMPLETE</promise>
184
- console.log(result.commits); // array of { sha } for commits created
185
- console.log(result.branch); // target branch name
186
231
  ```
232
+ .sandcastle/
233
+ ├── Dockerfile # Sandbox environment (customize as needed)
234
+ ├── prompt.md # Agent instructions
235
+ ├── .env.example # Token placeholders
236
+ └── .gitignore # Ignores .env, patches/, logs/
237
+ ```
238
+
239
+ Errors if `.sandcastle/` already exists to prevent overwriting customizations.
240
+
241
+ ### `sandcastle build-image`
242
+
243
+ Rebuilds the Docker image from an existing `.sandcastle/` directory. Use this after modifying the Dockerfile.
244
+
245
+ | Option | Required | Default | Description |
246
+ | -------------- | -------- | ---------------------------- | --------------------------------------------------------------------------------- |
247
+ | `--image-name` | No | `sandcastle:<repo-dir-name>` | Docker image name |
248
+ | `--dockerfile` | No | — | Path to a custom Dockerfile (build context will be the current working directory) |
249
+
250
+ ### `sandcastle remove-image`
251
+
252
+ Removes the Docker image.
253
+
254
+ | Option | Required | Default | Description |
255
+ | -------------- | -------- | ---------------------------- | ----------------- |
256
+ | `--image-name` | No | `sandcastle:<repo-dir-name>` | Docker image name |
187
257
 
188
258
  ### `RunOptions`
189
259
 
190
- | Option | Type | Default | Description |
191
- | ------------------ | ---------- | ----------------------------- | -------------------------------------------------------------- |
192
- | `prompt` | string | — | Inline prompt (mutually exclusive with `promptFile`) |
193
- | `promptFile` | string | `.sandcastle/prompt.md` | Path to prompt file (mutually exclusive with `prompt`) |
194
- | `maxIterations` | number | `5` | Maximum iterations to run |
195
- | `hooks` | object | — | Lifecycle hooks (`onSandboxReady`) |
196
- | `branch` | string | — | Target branch for sandbox work |
197
- | `model` | string | `claude-opus-4-6` | Model to use for the agent |
198
- | `agent` | string | `claude-code` | Agent provider name |
199
- | `imageName` | string | `sandcastle:local` | Docker image name for the sandbox |
200
- | `promptArgs` | PromptArgs | — | Key-value map for `{{KEY}}` placeholder substitution |
201
- | `logging` | object | file (auto-generated) | `{ type: 'file', path }` or `{ type: 'stdout' }` |
202
- | `completionSignal` | string | `<promise>COMPLETE</promise>` | Custom string the agent emits to stop the iteration loop early |
203
- | `timeoutSeconds` | number | `900` | Timeout for the entire run in seconds |
260
+ | Option | Type | Default | Description |
261
+ | ------------------ | ---------- | ----------------------------- | --------------------------------------------------------------- |
262
+ | `prompt` | string | — | Inline prompt (mutually exclusive with `promptFile`) |
263
+ | `promptFile` | string | | Path to prompt file (mutually exclusive with `prompt`) |
264
+ | `maxIterations` | number | `1` | Maximum iterations to run |
265
+ | `hooks` | object | — | Lifecycle hooks (`onSandboxReady`) |
266
+ | `branch` | string | — | Target branch for sandbox work |
267
+ | `model` | string | `claude-opus-4-6` | Model to use for the agent |
268
+ | `imageName` | string | `sandcastle:<repo-dir-name>` | Docker image name for the sandbox |
269
+ | `name` | string | | Display name for the run, shown as a prefix in log output |
270
+ | `promptArgs` | PromptArgs | — | Key-value map for `{{KEY}}` placeholder substitution |
271
+ | `copyToSandbox` | string[] | — | Host-relative file paths to copy into the worktree before start |
272
+ | `logging` | object | file (auto-generated) | `{ type: 'file', path }` or `{ type: 'stdout' }` |
273
+ | `completionSignal` | string | `<promise>COMPLETE</promise>` | Custom string the agent emits to stop the iteration loop early |
274
+ | `timeoutSeconds` | number | `1200` | Timeout for the entire run in seconds |
204
275
 
205
276
  ### `RunResult`
206
277
 
@@ -234,7 +305,7 @@ The `.sandcastle/Dockerfile` controls the sandbox environment. The default templ
234
305
  When customizing the Dockerfile, ensure you keep:
235
306
 
236
307
  - A non-root user (the default `agent` user) for Claude to run as
237
- - `git` (required for sync-in/sync-out)
308
+ - `git` (required for commits and branch operations)
238
309
  - `gh` (required for issue fetching)
239
310
  - Claude Code CLI installed and on PATH
240
311
 
@@ -244,11 +315,11 @@ Add your project-specific dependencies (e.g., language runtimes, build tools) to
244
315
 
245
316
  Hooks are arrays of `{ "command": "..." }` objects executed sequentially inside the sandbox. If any command exits with a non-zero code, execution stops immediately with an error.
246
317
 
247
- | Hook | When it runs | Working directory |
248
- | ---------------- | ----------------------- | ---------------------- |
249
- | `onSandboxReady` | After sync-in completes | Sandbox repo directory |
318
+ | Hook | When it runs | Working directory |
319
+ | ---------------- | -------------------------- | ---------------------- |
320
+ | `onSandboxReady` | After the sandbox is ready | Sandbox repo directory |
250
321
 
251
- **`onSandboxReady`** runs after the repo is synced in. Use it for dependency installation or build steps (e.g., `npm install`).
322
+ **`onSandboxReady`** runs after the worktree is mounted into the sandbox. Use it for dependency installation or build steps (e.g., `npm install`).
252
323
 
253
324
  Pass hooks programmatically via `run()`:
254
325
 
@@ -261,15 +332,6 @@ await run({
261
332
  });
262
333
  ```
263
334
 
264
- ## How it works
265
-
266
- Sandcastle uses git primitives for reliable repo synchronization:
267
-
268
- - **Sync-in**: Creates a `git bundle` on your host capturing all refs (including unpushed commits), copies it into the sandbox, and unpacks it. The sandbox always matches your host's committed state.
269
- - **Sync-out**: Runs `git format-patch` inside the sandbox to extract new commits, copies the patches to your host, and applies them with `git am --3way`. Uncommitted changes (staged, unstaged, and untracked files) are also captured.
270
-
271
- This approach avoids GitHub round-trips and produces clean, replayable commit history.
272
-
273
335
  ## Development
274
336
 
275
337
  ```bash
@@ -1 +1 @@
1
- {"version":3,"file":"AgentProvider.d.ts","sourceRoot":"","sources":["../src/AgentProvider.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AA2CD,eAAO,MAAM,kBAAkB,EAAE,aAShC,CAAC;AAMF,eAAO,MAAM,gBAAgB,iCAQ5B,CAAC"}
1
+ {"version":3,"file":"AgentProvider.d.ts","sourceRoot":"","sources":["../src/AgentProvider.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AAqCD,eAAO,MAAM,kBAAkB,EAAE,aAShC,CAAC;AAMF,eAAO,MAAM,gBAAgB,iCAQ5B,CAAC"}
@@ -8,9 +8,6 @@ RUN apt-get update && apt-get install -y \\
8
8
  jq \\
9
9
  && rm -rf /var/lib/apt/lists/*
10
10
 
11
- # Enable corepack (pnpm, yarn)
12
- RUN corepack enable
13
-
14
11
  # Install GitHub CLI
15
12
  RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg \\
16
13
  | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \\
@@ -29,9 +26,6 @@ RUN curl -fsSL https://claude.ai/install.sh | bash
29
26
  # Add Claude to PATH
30
27
  ENV PATH="/home/agent/.local/bin:$PATH"
31
28
 
32
- # Create repos directory
33
- RUN mkdir -p /home/agent/repos
34
-
35
29
  WORKDIR /home/agent
36
30
 
37
31
  # In worktree sandbox mode, Sandcastle bind-mounts the git worktree at ${SANDBOX_WORKSPACE_DIR}
@@ -1 +1 @@
1
- {"version":3,"file":"AgentProvider.js","sourceRoot":"","sources":["../src/AgentProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAQ5D,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yEAmC0C,qBAAqB;2CACnD,qBAAqB;sCAC1B,qBAAqB;;CAE1D,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAkB;IAC/C,IAAI,EAAE,aAAa;IAEnB,WAAW,EAAE;QACX,iBAAiB,EAAE,mBAAmB;QACtC,QAAQ,EAAE,8BAA8B;KACzC;IAED,kBAAkB,EAAE,sBAAsB;CAC3C,CAAC;AAEF,MAAM,cAAc,GAAkC;IACpD,aAAa,EAAE,kBAAkB;CAClC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAiB,EAAE;IAC9D,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,4BAA4B,IAAI,2BAA2B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpG,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
1
+ {"version":3,"file":"AgentProvider.js","sourceRoot":"","sources":["../src/AgentProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAQ5D,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yEA6B0C,qBAAqB;2CACnD,qBAAqB;sCAC1B,qBAAqB;;CAE1D,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAkB;IAC/C,IAAI,EAAE,aAAa;IAEnB,WAAW,EAAE;QACX,iBAAiB,EAAE,mBAAmB;QACtC,QAAQ,EAAE,8BAA8B;KACzC;IAED,kBAAkB,EAAE,sBAAsB;CAC3C,CAAC;AAEF,MAAM,cAAc,GAAkC;IACpD,aAAa,EAAE,kBAAkB;CAClC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAiB,EAAE;IAC9D,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,4BAA4B,IAAI,2BAA2B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpG,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
package/dist/Display.d.ts CHANGED
@@ -22,6 +22,10 @@ export type DisplayEntry = {
22
22
  } | {
23
23
  readonly _tag: "text";
24
24
  readonly message: string;
25
+ } | {
26
+ readonly _tag: "toolCall";
27
+ readonly name: string;
28
+ readonly formattedArgs: string;
25
29
  };
26
30
  export interface DisplayService {
27
31
  readonly intro: (title: string) => Effect.Effect<void>;
@@ -30,6 +34,7 @@ export interface DisplayService {
30
34
  readonly summary: (title: string, rows: Record<string, string>) => Effect.Effect<void>;
31
35
  readonly taskLog: <A, E, R>(title: string, effect: (message: (msg: string) => void) => Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
32
36
  readonly text: (message: string) => Effect.Effect<void>;
37
+ readonly toolCall: (name: string, formattedArgs: string) => Effect.Effect<void>;
33
38
  }
34
39
  declare const Display_base: Context.TagClass<Display, "Display", DisplayService>;
35
40
  export declare class Display extends Display_base {
@@ -44,6 +49,7 @@ export declare const terminalStyle: {
44
49
  status: (message: string) => string;
45
50
  summaryTitle: (title: string) => string;
46
51
  summaryRow: (key: string, value: string) => string;
52
+ toolCall: (text: string) => string;
47
53
  };
48
54
  export declare const ClackDisplay: {
49
55
  layer: Layer.Layer<Display, never, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"Display.d.ts","sourceRoot":"","sources":["../src/Display.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAGrD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAE7D,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACtD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC1C,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEvD,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE9E,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,QAAQ,CAAC,OAAO,EAAE,CAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KACzB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEzB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACxB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC/D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CACzD;;AAED,qBAAa,OAAQ,SAAQ,YAG1B;CAAG;AAEN,eAAO,MAAM,aAAa;;CAuDzB,CAAC;AAEF,eAAO,MAAM,WAAW;;CA6DvB,CAAC;AASF,eAAO,MAAM,aAAa;;;;CAKzB,CAAC;AAEF,eAAO,MAAM,YAAY;;CAoDxB,CAAC"}
1
+ {"version":3,"file":"Display.d.ts","sourceRoot":"","sources":["../src/Display.ts"],"names":[],"mappings":"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"}
package/dist/Display.js CHANGED
@@ -38,6 +38,10 @@ export const SilentDisplay = {
38
38
  ...entries,
39
39
  { _tag: "text", message },
40
40
  ]),
41
+ toolCall: (name, formattedArgs) => Ref.update(ref, (entries) => [
42
+ ...entries,
43
+ { _tag: "toolCall", name, formattedArgs },
44
+ ]),
41
45
  }),
42
46
  };
43
47
  export const FileDisplay = {
@@ -82,6 +86,7 @@ export const FileDisplay = {
82
86
  return result;
83
87
  }),
84
88
  text: (message) => appendToLog(message),
89
+ toolCall: (name, formattedArgs) => appendToLog(`${name}(${formattedArgs})`),
85
90
  };
86
91
  })),
87
92
  };
@@ -95,6 +100,7 @@ export const terminalStyle = {
95
100
  status: (message) => styleText("bold", message),
96
101
  summaryTitle: (title) => styleText("bold", title),
97
102
  summaryRow: (key, value) => `${styleText("bold", key)}: ${styleText("dim", value)}`,
103
+ toolCall: (text) => styleText("dim", text),
98
104
  };
99
105
  export const ClackDisplay = {
100
106
  layer: Layer.succeed(Display, {
@@ -127,6 +133,7 @@ export const ClackDisplay = {
127
133
  }
128
134
  })),
129
135
  text: (message) => Effect.sync(() => clack.log.message(message)),
136
+ toolCall: (name, formattedArgs) => Effect.sync(() => clack.log.step(terminalStyle.toolCall(`${name}(${formattedArgs})`))),
130
137
  }),
131
138
  };
132
139
  //# sourceMappingURL=Display.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Display.js","sourceRoot":"","sources":["../src/Display.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Display.js","sourceRoot":"","sources":["../src/Display.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"InitService.d.ts","sourceRoot":"","sources":["../src/InitService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAQxD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAuBD,eAAO,MAAM,aAAa,0BAAsC,CAAC;AAEjE,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,aAAa,GACtB,MAAM,EAAE,CAyBV;AAyDD,eAAO,MAAM,QAAQ,wHA+CjB,CAAC"}
1
+ {"version":3,"file":"InitService.d.ts","sourceRoot":"","sources":["../src/InitService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOxD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAuBD,eAAO,MAAM,aAAa,0BAAsC,CAAC;AAEjE,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,aAAa,GACtB,MAAM,EAAE,CAyBV;AAyDD,eAAO,MAAM,QAAQ,wHA+CjB,CAAC"}
@@ -3,7 +3,6 @@ import { Effect } from "effect";
3
3
  import { dirname, join } from "node:path";
4
4
  import { fileURLToPath } from "node:url";
5
5
  const GITIGNORE = `.env
6
- patches/
7
6
  logs/
8
7
  worktrees/
9
8
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"InitService.js","sourceRoot":"","sources":["../src/InitService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InitService.js","sourceRoot":"","sources":["../src/InitService.ts"],"names":[],"mappings":"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"}
@@ -13,14 +13,27 @@ export interface TokenUsage {
13
13
  readonly duration_ms: number;
14
14
  }
15
15
  export declare const DEFAULT_MODEL = "claude-opus-4-6";
16
- /** Extract displayable text from a stream-json line */
17
- export declare const parseStreamJsonLine: (line: string) => {
16
+ export type ParsedStreamEvent = {
18
17
  type: "text";
19
18
  text: string;
20
19
  } | {
21
20
  type: "result";
22
21
  result: string;
23
22
  usage: TokenUsage | null;
23
+ } | {
24
+ type: "tool_call";
25
+ name: string;
26
+ args: string;
27
+ };
28
+ /** Extract displayable events from a stream-json line */
29
+ export declare const parseStreamJsonLine: (line: string) => ParsedStreamEvent[];
30
+ /**
31
+ * Format a tool call for display. Returns null if the tool is not in the
32
+ * allowlist or the required arg field is missing.
33
+ */
34
+ export declare const formatToolCall: (name: string, input: Record<string, unknown>) => {
35
+ name: string;
36
+ formattedArgs: string;
24
37
  } | null;
25
38
  export interface OrchestrateOptions {
26
39
  readonly hostRepoDir: string;
@@ -1 +1 @@
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;AAGvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAwB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEhF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,aAAa,oBAAoB,CAAC;AA6B/C,uDAAuD;AACvD,eAAO,MAAM,mBAAmB;;;;;;;QAsB/B,CAAC;AAkDF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,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,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,0GAA0G;IAC1G,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,wEAAwE;IACxE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,2BAA2B,EAAE,OAAO,CAAC;IAC9C,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;CACzB;AAED,eAAO,MAAM,WAAW,2GAsHvB,CAAC"}
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;AAGvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAwB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEhF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,aAAa,oBAAoB,CAAC;AA6B/C,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAUtD,yDAAyD;AACzD,eAAO,MAAM,mBAAmB,uCA+C/B,CAAC;AAeF;;;GAGG;AACH,eAAO,MAAM,cAAc;;;QAS1B,CAAC;AAsDF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,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,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,0GAA0G;IAC1G,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,wEAAwE;IACxE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,2BAA2B,EAAE,OAAO,CAAC;IAC9C,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;CACzB;AAED,eAAO,MAAM,WAAW,2GA0HvB,CAAC"}