multiclaw 0.1.0 → 0.3.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 ADDED
@@ -0,0 +1,327 @@
1
+ # multiclaw
2
+
3
+ [![npm](https://img.shields.io/npm/v/multiclaw)](https://www.npmjs.com/package/multiclaw)
4
+ [![GitHub](https://img.shields.io/badge/GitHub-shipengqi%2Fmulticlaw-blue?logo=github)](https://github.com/shipengqi/multiclaw)
5
+
6
+ [中文](https://github.com/shipengqi/multiclaw/blob/main/README.zh-CN.md)
7
+
8
+ Multi-agent orchestration CLI. Define a pipeline of AI agents, give them a requirement, and watch them run in parallel or in sequence based on the dependency graph you declare.
9
+
10
+ ## Prerequisites
11
+
12
+ At least one AI runtime must be installed:
13
+
14
+ | Runtime | Install |
15
+ |---------|---------|
16
+ | `claude` (default) | `npm install -g @anthropic-ai/claude-code` |
17
+
18
+ > **Future support:** We plan to add support for additional runtimes (Codex, OpenCode, Cursor) in upcoming releases.
19
+
20
+ ## Install
21
+
22
+ ```bash
23
+ npm install -g multiclaw
24
+ ```
25
+
26
+ ## Quick start
27
+
28
+ ```bash
29
+ # 1. Scaffold a config in the current directory
30
+ multiclaw init
31
+
32
+ # 2. Run an orchestration
33
+ multiclaw run "Build a REST API for a todo list" --ui
34
+ ```
35
+
36
+ `--ui` opens a real-time Dashboard in the browser. Omit it to run headless.
37
+
38
+ ## Commands
39
+
40
+ ### `multiclaw init`
41
+
42
+ Interactive scaffold. Creates `multiclaw.config.ts` in the current directory.
43
+
44
+ Prompts:
45
+ - **Project name** — defaults to the current directory name
46
+ - **Preset** — pipeline template (see [Presets](#presets))
47
+ - **Work directory** — where agents read and write files
48
+
49
+ ### `multiclaw run <requirement> [options]`
50
+
51
+ Runs the orchestration defined in your config file.
52
+
53
+ | Option | Description |
54
+ |--------|-------------|
55
+ | `--config <path>` | Path to config file. Auto-discovers `multiclaw.config.ts` if omitted. |
56
+ | `--ui` | Start the Dashboard server and open it in the browser. |
57
+ | `--port <port>` | Dashboard port. Requires `--ui`. Default: `3210`. |
58
+ | `--server-url <url>` | Stream events to a running `multiclaw serve` instance. |
59
+ | `--no-leader` | Skip the leader agent and use the default pipeline directly. |
60
+
61
+ The `<requirement>` string is injected into every agent's prompt as `{{requirement}}`.
62
+
63
+ Each run creates an isolated timestamped subdirectory inside `workDir` (e.g. `workspace/run-2026-10-08T12-00-00`).
64
+
65
+ ### `multiclaw serve [options]`
66
+
67
+ Start a persistent Dashboard server. Useful for CI or when you want a permanent URL to monitor runs.
68
+
69
+ | Option | Description |
70
+ |--------|-------------|
71
+ | `--port <port>` | Port to listen on. Default: `3210`. |
72
+
73
+ Connect a run to it with `multiclaw run "..." --server-url http://localhost:3210`.
74
+
75
+ ## Config file
76
+
77
+ ```typescript
78
+ // multiclaw.config.ts
79
+ import { defineConfig, agents } from "multiclaw"
80
+
81
+ export default defineConfig({
82
+ name: "My Project",
83
+ workDir: "./workspace",
84
+
85
+ // Variables available as {{key}} in every agent's taskPrompt.
86
+ // `requirement` is automatically injected from the CLI argument.
87
+ context: {
88
+ projectName: "My App",
89
+ },
90
+
91
+ // Optional: runs before the main pipeline to decide which agents are needed.
92
+ // The leader reads the requirement and the codebase, then outputs the agent IDs to run.
93
+ leader: agents.leader(),
94
+
95
+ logDir: "./logs", // optional; default: workDir/.multiclaw/logs
96
+ continueOnError: false, // optional; keep running if an agent fails
97
+ maxConcurrency: 4, // optional; max agents running at once
98
+
99
+ dashboard: {
100
+ port: 3210,
101
+ autoOpen: true,
102
+ },
103
+
104
+ agents: [
105
+ {
106
+ id: "architect", // unique identifier, used in dependsOn
107
+ name: "Architect", // display name
108
+ icon: "◆", // optional; shown in terminal and dashboard
109
+ runtime: "claude", // optional; default: "claude"
110
+ model: "opus", // optional; override default model for this agent
111
+ systemPrompt: "You are a software architect.", // optional
112
+ taskPrompt: `Design the system for {{requirement}}.
113
+ Read the brief at {{file:brief.md}} and write architecture.md.`,
114
+ tools: ["Read", "Write"],
115
+ dependsOn: [], // optional; list of agent ids this agent waits for
116
+ timeout: 600_000, // optional; ms, default: 600 000 (10 min)
117
+ retries: 0, // optional; retry count on failure, default: 0
118
+ workDir: "architect", // optional; subdirectory relative to global workDir
119
+ },
120
+ {
121
+ id: "developer",
122
+ name: "Developer",
123
+ model: "sonnet", // override model for this agent
124
+ taskPrompt: "Read architecture.md and implement the code.",
125
+ tools: ["Read", "Write", "Bash"],
126
+ dependsOn: ["architect"],
127
+ },
128
+ ],
129
+ })
130
+ ```
131
+
132
+ ### Top-level config fields
133
+
134
+ | Field | Type | Required | Description |
135
+ |-------|------|----------|-------------|
136
+ | `name` | string | ✓ | Project name, shown in the dashboard. |
137
+ | `workDir` | string | ✓ | Base directory where agents read and write files. |
138
+ | `agents` | AgentDefinition[] | ✓ | The agent pipeline (see Agent fields below). |
139
+ | `leader` | AgentDefinition | | Optional routing agent (see [Leader](#leader)). |
140
+ | `useLeader` | boolean | | Enable or disable the leader agent. Default: `true` when leader is configured. |
141
+ | `context` | Record<string, string> | | Variables available as `{{key}}` in every prompt. `requirement` is injected automatically. |
142
+ | `logDir` | string | | Log output directory. Default: `workDir/.multiclaw/logs`. |
143
+ | `continueOnError` | boolean | | Keep running when an agent fails. Default: `false`. |
144
+ | `maxConcurrency` | number | | Max agents running in parallel. Default: unlimited. |
145
+ | `dashboard.port` | number | | Dashboard port. Default: `3210`. |
146
+ | `dashboard.autoOpen` | boolean | | Open the dashboard in a browser automatically. Default: `true`. |
147
+
148
+ ### Agent fields
149
+
150
+ | Field | Type | Required | Description |
151
+ |-------|------|----------|-------------|
152
+ | `id` | string | ✓ | Unique identifier. Used in `dependsOn`. |
153
+ | `name` | string | ✓ | Display name shown in terminal and dashboard. |
154
+ | `taskPrompt` | string | ✓ | Prompt sent to the AI runtime. Supports template variables. |
155
+ | `systemPrompt` | string | | Optional system prompt prepended to `taskPrompt`. |
156
+ | `icon` | string | | Unicode icon shown next to the agent name. |
157
+ | `runtime` | string | | `claude` (default). Additional runtimes coming soon. |
158
+ | `model` | string | | Override the default model for this agent. E.g. `"opus"`, `"sonnet"`, `"haiku"`. Takes precedence over `models`. |
159
+ | `models` | Record<string, string> | | Map of runtime names to model names. Used when `model` is not set. E.g. `{ claude: "opus", openai: "gpt-4" }`. |
160
+ | `tools` | string[] | | Allowed tools. Default: `["Read", "Write", "Bash"]`. |
161
+ | `dependsOn` | string[] | | Agent ids that must complete before this agent starts. |
162
+ | `timeout` | number | | Per-agent timeout in ms. Default: `600000` (10 min). |
163
+ | `retries` | number | | Number of retry attempts on failure. Default: `0`. |
164
+ | `workDir` | string | | Subdirectory (relative to global `workDir`) for this agent's CWD. |
165
+
166
+ ### Template variables
167
+
168
+ Two syntaxes are supported in `taskPrompt` and `systemPrompt`:
169
+
170
+ | Syntax | Replaced with |
171
+ |--------|--------------|
172
+ | `{{key}}` | The value of `context.key` (or `requirement` from the CLI). |
173
+ | `{{file:path/to/file}}` | The contents of that file, resolved relative to `workDir`. |
174
+ | `{{pipelineAgents}}` | List of all agents running in this pipeline (id: name). Auto-injected; useful for the architect to decompose tasks per agent. |
175
+
176
+ ## Parallelism
177
+
178
+ Agents are grouped into stages by their dependency graph (topological sort). All agents within the same stage run concurrently. `maxConcurrency` caps how many run at once globally.
179
+
180
+ ```
181
+ Stage 1: product-manager
182
+ Stage 2: architect
183
+ Stage 3: backend-developer │ ui-designer ← parallel
184
+ Stage 4: code-reviewer │ devops ← parallel
185
+ ```
186
+
187
+ ## Dashboard
188
+
189
+ The real-time web UI shows:
190
+
191
+ - Stage timeline with agent status (running / done / failed / skipped)
192
+ - Live streaming logs per agent
193
+ - Per-agent duration and retry count
194
+ - Elapsed time while running; total time on completion
195
+
196
+ Start it with `--ui` on `run`, or run `multiclaw serve` for a persistent instance.
197
+
198
+ ## Logs
199
+
200
+ After each run, all generated files are written under `workDir/.multiclaw/runs/run-<timestamp>/` (or `logDir` if set):
201
+
202
+ ```
203
+ workDir/
204
+ └── .multiclaw/
205
+ └── runs/
206
+ └── run-2026-10-08T12-00-00/
207
+ ├── <agent output files> ← files agents write (e.g. architecture.md)
208
+ └── logs/
209
+ ├── <agentId>.log ← raw stdout per agent
210
+ └── report.json ← full orchestration result
211
+ ```
212
+
213
+ | File | Contents |
214
+ |------|----------|
215
+ | `<agentId>.log` | Raw stdout from that agent's process |
216
+ | `report.json` | Full orchestration result (status, duration, output per agent) |
217
+
218
+ The log path is printed to the terminal at the start of every run.
219
+
220
+ ## Presets
221
+
222
+ Presets are pipeline templates you can pick during `multiclaw init`:
223
+
224
+ | Preset | Pipeline | Agents |
225
+ |--------|----------|--------|
226
+ | `simple` | Architect → Arch Design Reviewer → Backend Developer → Code Reviewer | 4 |
227
+ | `backend` | Product Manager → Architect → Arch Design Reviewer → Backend Developer → Tester → Code Reviewer + DevOps | 7 |
228
+ | `fullstack` | Product Manager → Architect → Arch Design Reviewer → Backend Developer + UI Designer → UI Design Reviewer → Frontend Developer → Code Reviewer + DevOps | 9 |
229
+
230
+ ## Leader
231
+
232
+ The `leader` field adds a routing agent that runs **before** the main pipeline. It reads the requirement and inspects the codebase, then decides which agents are actually needed for this task. Agents the leader omits are skipped.
233
+
234
+ ```typescript
235
+ export default defineConfig({
236
+ leader: agents.leader(),
237
+ agents: [
238
+ agents.architect(),
239
+ agents.archDesignReviewer({ dependsOn: ["architect"] }),
240
+ agents.backendDeveloper({ dependsOn: ["arch-design-reviewer"] }),
241
+ agents.codeReviewer({ dependsOn: ["backend-developer"] }),
242
+ ],
243
+ })
244
+ ```
245
+
246
+ For a minor bug fix the leader might decide only `backend-developer` and `code-reviewer` are needed, skipping the design stages. For a greenfield feature it runs the full pipeline.
247
+
248
+ If the leader fails or produces invalid output, multiclaw falls back to running all agents.
249
+
250
+ ### Disabling the leader
251
+
252
+ You can skip the leader and use the default pipeline directly in three ways:
253
+
254
+ 1. **CLI option** (for a single run):
255
+ ```bash
256
+ multiclaw run "your requirement" --no-leader
257
+ ```
258
+
259
+ 2. **Config file** (per-run, via environment variable or config override):
260
+ ```typescript
261
+ export default defineConfig({
262
+ leader: agents.leader(),
263
+ useLeader: false, // disable leader
264
+ agents: [...],
265
+ })
266
+ ```
267
+
268
+ 3. **Remove the leader from config** (always use the default pipeline):
269
+ ```typescript
270
+ export default defineConfig({
271
+ // leader field omitted
272
+ agents: [...],
273
+ })
274
+ ```
275
+
276
+ ## Architect and Task Decomposition
277
+
278
+ When the **architect** agent is in your pipeline, it produces three outputs:
279
+
280
+ 1. **architecture.md** — architecture plan and module breakdown
281
+ 2. **api-spec.md** — complete API specification
282
+ 3. **task-plan.json** — structured task breakdown for all implementation agents in the pipeline
283
+
284
+ The `task-plan.json` file helps coordinate work across parallel agents by explicitly assigning scope to each agent. Each implementation agent (backend-developer, frontend-developer, ui-designer, devops, tester, etc.) reads this file to understand its specific responsibilities and dependencies.
285
+
286
+ **Example task-plan.json:**
287
+ ```json
288
+ {
289
+ "projectName": "My App",
290
+ "requirement": "Build a todo list API with React UI",
291
+ "tasks": [
292
+ {
293
+ "id": "backend-developer",
294
+ "title": "REST API",
295
+ "scope": "Implement all endpoints per api-spec.md",
296
+ "dependsOn": []
297
+ },
298
+ {
299
+ "id": "frontend-developer",
300
+ "title": "React UI",
301
+ "scope": "Build React components following ui-design.md",
302
+ "dependsOn": []
303
+ },
304
+ {
305
+ "id": "devops",
306
+ "title": "Deployment",
307
+ "scope": "Containerize and set up CI/CD",
308
+ "dependsOn": ["backend-developer", "frontend-developer"]
309
+ }
310
+ ]
311
+ }
312
+ ```
313
+
314
+ If the architect is not in your pipeline, dev agents fall back to reading `architecture.md` and `api-spec.md` directly.
315
+
316
+ ## Example
317
+
318
+ See [`examples/dev-team/`](https://github.com/shipengqi/multiclaw/tree/main/examples/dev-team) for a working three-agent pipeline (Architect → Developer → Reviewer).
319
+
320
+ ```bash
321
+ cd examples/dev-team
322
+ pnpm dev
323
+ ```
324
+
325
+ ## License
326
+
327
+ [MIT](https://github.com/shipengqi/multiclaw/blob/main/LICENSE)
package/dist/index.js CHANGED
@@ -1,14 +1,20 @@
1
1
  #!/usr/bin/env node
2
2
  import { Command } from "commander";
3
+ import { readFileSync } from "fs";
4
+ import { dirname, join } from "path";
5
+ import { fileURLToPath } from "url";
3
6
  import { runCommand } from "./commands/run";
4
7
  import { initCommand } from "./commands/init";
5
8
  import { serveCommand } from "./commands/serve";
6
9
  import { upgradeCommand } from "./commands/upgrade";
10
+ const __filename = fileURLToPath(import.meta.url);
11
+ const __dirname = dirname(__filename);
12
+ const pkg = JSON.parse(readFileSync(join(__dirname, "../package.json"), "utf-8"));
7
13
  const program = new Command();
8
14
  program
9
15
  .name("multiclaw")
10
16
  .description("Multi-agent orchestration CLI")
11
- .version("0.1.0");
17
+ .version(pkg.version, "-v, --version", "Display version number");
12
18
  program
13
19
  .command("init")
14
20
  .description("Scaffold a config file (interactive)")
@@ -20,6 +26,7 @@ program
20
26
  .option("--ui", "Start Dashboard and open in browser")
21
27
  .option("--port <port>", "Dashboard port (requires --ui)", (v) => parseInt(v, 10))
22
28
  .option("--server-url <url>", "Connect to a running serve process")
29
+ .option("--no-leader", "Skip the leader agent and use the default pipeline")
23
30
  .action((requirement, opts) => runCommand(requirement, opts));
24
31
  program
25
32
  .command("serve")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "multiclaw",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "multiclaw": "dist/index.js"
@@ -13,14 +13,23 @@
13
13
  "default": "./dist/lib.js"
14
14
  }
15
15
  },
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "https://github.com/shipengqi/multiclaw.git",
19
+ "directory": "packages/cli"
20
+ },
21
+ "homepage": "https://github.com/shipengqi/multiclaw#readme",
22
+ "bugs": {
23
+ "url": "https://github.com/shipengqi/multiclaw/issues"
24
+ },
16
25
  "dependencies": {
17
26
  "@inquirer/prompts": "^8.7.3",
27
+ "@multiclawcli/core": "0.3.0",
28
+ "@multiclawcli/dashboard": "0.3.0",
18
29
  "commander": "^12.0.0",
19
30
  "open": "^10.0.0",
20
31
  "tsx": "^4.7.0",
21
- "ws": "^8.16.0",
22
- "@multiclawcli/core": "0.1.0",
23
- "@multiclawcli/dashboard": "0.1.0"
32
+ "ws": "^8.16.0"
24
33
  },
25
34
  "devDependencies": {
26
35
  "@types/node": "^20.11.0",
@@ -10,11 +10,16 @@ export interface RunOptions {
10
10
  ui?: boolean
11
11
  serverUrl?: string
12
12
  port?: number
13
+ noLeader?: boolean
13
14
  }
14
15
 
15
16
  export async function runCommand(requirement: string, options: RunOptions): Promise<void> {
16
17
  const config = await loadConfig(options.config, requirement)
17
18
 
19
+ if (options.noLeader) {
20
+ config.useLeader = false
21
+ }
22
+
18
23
  const ts = new Date().toISOString().replace(/[:.]/g, "-").slice(0, 19)
19
24
  config.workDir = path.join(config.workDir, ".multiclaw", "runs", `run-${ts}`)
20
25
 
@@ -22,7 +27,7 @@ export async function runCommand(requirement: string, options: RunOptions): Prom
22
27
  for (const name of runtimeNames) {
23
28
  let rt
24
29
  try { rt = runtimeRegistry.get(name) } catch {
25
- console.error(`\x1b[31mError: Unknown runtime "${name}". Supported: claude, codex, opencode, cursor\x1b[0m`)
30
+ console.error(`\x1b[31mError: Unknown runtime "${name}". Supported: claude\x1b[0m`)
26
31
  process.exit(1)
27
32
  }
28
33
  if (!(await rt.checkAvailable())) {
package/src/index.ts CHANGED
@@ -1,16 +1,23 @@
1
1
  #!/usr/bin/env node
2
2
  import { Command } from "commander"
3
+ import { readFileSync } from "fs"
4
+ import { dirname, join } from "path"
5
+ import { fileURLToPath } from "url"
3
6
  import { runCommand } from "./commands/run"
4
7
  import { initCommand } from "./commands/init"
5
8
  import { serveCommand } from "./commands/serve"
6
9
  import { upgradeCommand } from "./commands/upgrade"
7
10
 
11
+ const __filename = fileURLToPath(import.meta.url)
12
+ const __dirname = dirname(__filename)
13
+ const pkg = JSON.parse(readFileSync(join(__dirname, "../package.json"), "utf-8"))
14
+
8
15
  const program = new Command()
9
16
 
10
17
  program
11
18
  .name("multiclaw")
12
19
  .description("Multi-agent orchestration CLI")
13
- .version("0.1.0")
20
+ .version(pkg.version, "-v, --version", "Display version number")
14
21
 
15
22
  program
16
23
  .command("init")
@@ -24,6 +31,7 @@ program
24
31
  .option("--ui", "Start Dashboard and open in browser")
25
32
  .option("--port <port>", "Dashboard port (requires --ui)", (v) => parseInt(v, 10))
26
33
  .option("--server-url <url>", "Connect to a running serve process")
34
+ .option("--no-leader", "Skip the leader agent and use the default pipeline")
27
35
  .action((requirement, opts) => runCommand(requirement, opts))
28
36
 
29
37
  program
@@ -1 +0,0 @@
1
- export declare function initCommand(): Promise<void>;
@@ -1,117 +0,0 @@
1
- import * as fs from "fs";
2
- import * as path from "path";
3
- import { execSync } from "child_process";
4
- import { select, input } from "@inquirer/prompts";
5
- // ─── Agent Block Definitions ──────────────────────────────────────────────────
6
- const AGENT_BLOCKS = {
7
- simple: ` agents.architect(),
8
- agents.archDesignReviewer({ dependsOn: ["architect"] }),
9
- agents.backendDeveloper({ dependsOn: ["arch-design-reviewer"] }),
10
- agents.codeReviewer({ dependsOn: ["backend-developer"] }),`,
11
- backend: ` agents.productManager(),
12
- agents.architect({ dependsOn: ["product-manager"] }),
13
- agents.archDesignReviewer({ dependsOn: ["architect"] }),
14
- agents.backendDeveloper({ dependsOn: ["arch-design-reviewer"] }),
15
- agents.tester({ dependsOn: ["backend-developer"] }),
16
- agents.codeReviewer({ dependsOn: ["tester"] }),
17
- agents.devops({ dependsOn: ["tester"] }),`,
18
- fullstack: ` agents.productManager(),
19
- agents.architect({ dependsOn: ["product-manager"] }),
20
- agents.archDesignReviewer({ dependsOn: ["architect"] }),
21
- agents.backendDeveloper({ dependsOn: ["arch-design-reviewer"] }),
22
- agents.uiDesigner({ dependsOn: ["arch-design-reviewer"] }),
23
- agents.uiDesignReviewer({ dependsOn: ["ui-designer"] }),
24
- agents.frontendDeveloper({ dependsOn: ["ui-design-reviewer"] }),
25
- agents.codeReviewer({ dependsOn: ["backend-developer", "frontend-developer"] }),
26
- agents.devops({ dependsOn: ["backend-developer", "frontend-developer"] }),`,
27
- };
28
- const PRESET_DESCRIPTIONS = {
29
- simple: "Architect → Arch Design Reviewer → Backend Developer → Code Reviewer (4 agents)",
30
- backend: "Product Manager → Architect → Arch Design Reviewer → Backend Developer → Tester → Code Reviewer + DevOps (7 agents)",
31
- fullstack: "Product Manager → Architect → Arch Design Reviewer → Backend Developer + UI Designer → UI Design Reviewer → Frontend Developer → Code Reviewer + DevOps (9 agents)",
32
- };
33
- const RUNTIME_INSTALL = {
34
- claude: "npm install -g @anthropic-ai/claude-code",
35
- codex: "npm install -g @openai/codex",
36
- opencode: "npm install -g opencode",
37
- cursor: "curl https://cursor.com/install | bash",
38
- };
39
- // ─── Config Generator ─────────────────────────────────────────────────────────
40
- function generateConfig(opts) {
41
- return `import { defineConfig, agents } from "multiclaw"
42
-
43
- export default defineConfig({
44
- name: "${opts.projectName}",
45
- workDir: "${opts.workDir}",
46
- context: {
47
- projectName: "${opts.projectName}",
48
- },
49
- dashboard: { port: 3210, autoOpen: true },
50
- agents: [
51
- ${AGENT_BLOCKS[opts.preset]}
52
- ],
53
- })
54
- `;
55
- }
56
- // ─── Command ──────────────────────────────────────────────────────────────────
57
- export async function initCommand() {
58
- const configPath = path.resolve(process.cwd(), "multiclaw.config.ts");
59
- if (fs.existsSync(configPath)) {
60
- console.error("\x1b[31mError: multiclaw.config.ts already exists\x1b[0m");
61
- process.exit(1);
62
- }
63
- const defaultProjectName = path.basename(process.cwd());
64
- const projectName = await input({
65
- message: "Project name:",
66
- default: defaultProjectName,
67
- });
68
- const preset = await select({
69
- message: "Select a preset:",
70
- choices: [
71
- { value: "simple", name: `simple — ${PRESET_DESCRIPTIONS.simple}` },
72
- { value: "backend", name: `backend — ${PRESET_DESCRIPTIONS.backend}` },
73
- { value: "fullstack", name: `fullstack — ${PRESET_DESCRIPTIONS.fullstack}` },
74
- ],
75
- });
76
- const workDir = await input({
77
- message: "Work directory (where agents read and write files):",
78
- default: ".",
79
- });
80
- try {
81
- fs.writeFileSync(configPath, generateConfig({ preset, workDir, projectName }));
82
- if (workDir !== ".") {
83
- fs.mkdirSync(path.resolve(process.cwd(), workDir), { recursive: true });
84
- }
85
- }
86
- catch (err) {
87
- console.error(`\x1b[31mError: Failed to create files: ${err.message}\x1b[0m`);
88
- process.exit(1);
89
- }
90
- console.log("");
91
- console.log(`\x1b[32m✓\x1b[0m Created multiclaw.config.ts`);
92
- console.log(` preset: ${preset} (${PRESET_DESCRIPTIONS[preset]})`);
93
- console.log(` workDir: ${workDir}`);
94
- console.log("");
95
- console.log(`> Run: multiclaw run "describe your requirement" --ui`);
96
- checkRuntime();
97
- }
98
- function checkRuntime() {
99
- const runtimes = ["claude", "codex", "opencode"];
100
- const available = runtimes.filter((r) => {
101
- try {
102
- execSync(`${r} --version`, { stdio: "ignore" });
103
- return true;
104
- }
105
- catch {
106
- return false;
107
- }
108
- });
109
- if (available.length === 0) {
110
- console.log("");
111
- console.log("\x1b[33mWarning: No AI runtime detected. Install at least one:\x1b[0m");
112
- for (const [name, cmd] of Object.entries(RUNTIME_INSTALL)) {
113
- console.log(` \x1b[2m${name.padEnd(12)} ${cmd}\x1b[0m`);
114
- }
115
- }
116
- }
117
- //# sourceMappingURL=init.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- export interface RunOptions {
2
- config?: string;
3
- ui?: boolean;
4
- serverUrl?: string;
5
- port?: number;
6
- }
7
- export declare function runCommand(requirement: string, options: RunOptions): Promise<void>;
@@ -1,70 +0,0 @@
1
- import * as path from "path";
2
- import { Orchestrator as OrchestratorImpl, runtimeRegistry } from "@multiclawcli/core";
3
- import { loadConfig } from "../loader/loadConfig";
4
- import { ConsoleReporter } from "../reporters/ConsoleReporter";
5
- import { FileLogWriter } from "../reporters/FileLogWriter";
6
- export async function runCommand(requirement, options) {
7
- const config = await loadConfig(options.config, requirement);
8
- const ts = new Date().toISOString().replace(/[:.]/g, "-").slice(0, 19);
9
- config.workDir = path.join(config.workDir, ".multiclaw", "runs", `run-${ts}`);
10
- const runtimeNames = new Set(config.agents.map((a) => a.runtime ?? "claude"));
11
- for (const name of runtimeNames) {
12
- let rt;
13
- try {
14
- rt = runtimeRegistry.get(name);
15
- }
16
- catch {
17
- console.error(`\x1b[31mError: Unknown runtime "${name}". Supported: claude, codex, opencode, cursor\x1b[0m`);
18
- process.exit(1);
19
- }
20
- if (!(await rt.checkAvailable())) {
21
- console.error(`\x1b[31mError: Runtime "${name}" is not available. Make sure the CLI is installed.\x1b[0m`);
22
- process.exit(1);
23
- }
24
- }
25
- const orchestrator = new OrchestratorImpl(config);
26
- new ConsoleReporter().attach(orchestrator.eventBus);
27
- const logDir = config.logDir ?? path.join(config.workDir, "logs");
28
- new FileLogWriter(logDir).attach(orchestrator.eventBus);
29
- console.log(`\x1b[2mLogs: ${logDir}\x1b[0m`);
30
- if (options.ui && options.serverUrl) {
31
- console.warn("\x1b[33mWarning: --ui and --server-url cannot be used together. Using --ui.\x1b[0m");
32
- }
33
- if (options.ui) {
34
- await attachDashboard(orchestrator, config, options);
35
- }
36
- else if (options.serverUrl) {
37
- await attachRemoteServer(orchestrator, options.serverUrl);
38
- }
39
- const result = await orchestrator.run();
40
- process.exit(result.success ? 0 : 1);
41
- }
42
- async function attachDashboard(orchestrator, config, options) {
43
- const { DashboardServer } = await import("@multiclawcli/dashboard/server");
44
- const port = options.port ?? config.dashboard?.port ?? 3210;
45
- const server = new DashboardServer({ port });
46
- await server.start();
47
- server.bindEventBus(orchestrator.eventBus);
48
- const url = `http://localhost:${port}`;
49
- console.log(`\x1b[36mDashboard: ${url}\x1b[0m`);
50
- if (config.dashboard?.autoOpen ?? true) {
51
- const { default: open } = await import("open");
52
- await open(url);
53
- }
54
- }
55
- async function attachRemoteServer(orchestrator, serverUrl) {
56
- const { WebSocket } = await import("ws");
57
- const wsUrl = serverUrl.replace(/^https?/, (p) => p === "https" ? "wss" : "ws");
58
- const ws = new WebSocket(wsUrl);
59
- await new Promise((resolve, reject) => {
60
- const timer = setTimeout(() => reject(new Error(`Connection to serve timed out: ${serverUrl}`)), 5000);
61
- ws.on("open", () => { clearTimeout(timer); resolve(); });
62
- ws.on("error", (err) => { clearTimeout(timer); reject(err); });
63
- });
64
- console.log(`\x1b[36mConnected to Dashboard server: ${serverUrl}\x1b[0m`);
65
- orchestrator.eventBus.subscribe((e) => {
66
- if (ws.readyState === ws.OPEN)
67
- ws.send(JSON.stringify(e));
68
- });
69
- }
70
- //# sourceMappingURL=run.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export interface ServeOptions {
2
- port?: number;
3
- }
4
- export declare function serveCommand(options: ServeOptions): Promise<void>;
@@ -1,9 +0,0 @@
1
- export async function serveCommand(options) {
2
- const { DashboardServer } = await import("@multiclawcli/dashboard/server");
3
- const port = options.port ?? 3210;
4
- const server = new DashboardServer({ port, acceptClientEvents: true });
5
- await server.start();
6
- console.log(`\x1b[36mDashboard running at: http://localhost:${port}\x1b[0m`);
7
- console.log(` In another terminal run: multiclaw run "<requirement>" --server-url http://localhost:${port}`);
8
- }
9
- //# sourceMappingURL=serve.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAqB;IACtD,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAA;IAC1E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAA;IACjC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAA;IACtE,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;IACpB,OAAO,CAAC,GAAG,CAAC,kDAAkD,IAAI,SAAS,CAAC,CAAA;IAC5E,OAAO,CAAC,GAAG,CAAC,0FAA0F,IAAI,EAAE,CAAC,CAAA;AAC/G,CAAC"}
@@ -1 +0,0 @@
1
- export declare function upgradeCommand(): Promise<void>;
@@ -1,31 +0,0 @@
1
- import { execSync } from "child_process";
2
- import { createRequire } from "module";
3
- const require = createRequire(import.meta.url);
4
- export async function upgradeCommand() {
5
- const { version: currentVersion } = require("../../package.json");
6
- console.log(`Current version: v${currentVersion}`);
7
- console.log("Checking for updates...");
8
- let latestVersion;
9
- try {
10
- latestVersion = execSync("npm show multiclaw version", { encoding: "utf8" }).trim();
11
- }
12
- catch {
13
- console.error("\x1b[31mError: Failed to fetch latest version from npm registry\x1b[0m");
14
- process.exit(1);
15
- return;
16
- }
17
- if (latestVersion === currentVersion) {
18
- console.log(`\x1b[32m✓\x1b[0m Already on the latest version (v${currentVersion})`);
19
- return;
20
- }
21
- console.log(`Upgrading multiclaw v${currentVersion} → v${latestVersion}...`);
22
- try {
23
- execSync("npm install -g multiclaw@latest", { stdio: "inherit" });
24
- console.log(`\x1b[32m✓\x1b[0m Successfully upgraded to v${latestVersion}`);
25
- }
26
- catch {
27
- console.error("\x1b[31mError: Upgrade failed. Try running manually: npm install -g multiclaw@latest\x1b[0m");
28
- process.exit(1);
29
- }
30
- }
31
- //# sourceMappingURL=upgrade.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAEtC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAE9C,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAwB,CAAA;IAExF,OAAO,CAAC,GAAG,CAAC,qBAAqB,cAAc,EAAE,CAAC,CAAA;IAClD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;IAEtC,IAAI,aAAqB,CAAA;IACzB,IAAI,CAAC;QACH,aAAa,GAAG,QAAQ,CAAC,4BAA4B,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IACrF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAA;QACvF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACf,OAAM;IACR,CAAC;IAED,IAAI,aAAa,KAAK,cAAc,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,oDAAoD,cAAc,GAAG,CAAC,CAAA;QAClF,OAAM;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,wBAAwB,cAAc,OAAO,aAAa,KAAK,CAAC,CAAA;IAE5E,IAAI,CAAC;QACH,QAAQ,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;QACjE,OAAO,CAAC,GAAG,CAAC,8CAA8C,aAAa,EAAE,CAAC,CAAA;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,6FAA6F,CAAC,CAAA;QAC5G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC"}
package/dist/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,+BAA+B,CAAC;KAC5C,OAAO,CAAC,OAAO,CAAC,CAAA;AAEnB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;AAE9B,OAAO;KACJ,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,sBAAsB,CAAC;KACnC,MAAM,CAAC,iBAAiB,EAAE,iEAAiE,CAAC;KAC5F,MAAM,CAAC,MAAM,EAAE,qCAAqC,CAAC;KACrD,MAAM,CAAC,eAAe,EAAE,gCAAgC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;KACjF,MAAM,CAAC,oBAAoB,EAAE,oCAAoC,CAAC;KAClE,MAAM,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAA;AAE/D,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,qCAAqC,CAAC;KAClD,MAAM,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;KACvD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;AAEvC,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,CAAA;AAEjC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IACtD,OAAO,CAAC,KAAK,CAAC,kBAAmB,GAAa,CAAC,OAAO,IAAI,GAAG,SAAS,CAAC,CAAA;IACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
package/dist/lib.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export { defineConfig, agents } from "@multiclawcli/core";
2
- export type { MultiClawConfig, AgentDefinition } from "@multiclawcli/core";
package/dist/lib.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA"}
@@ -1,2 +0,0 @@
1
- import type { MultiClawConfig } from "@multiclawcli/core";
2
- export declare function loadConfig(configPath?: string, requirement?: string): Promise<MultiClawConfig>;
@@ -1,42 +0,0 @@
1
- import * as path from "path";
2
- import * as fs from "fs";
3
- const DEFAULT_CONFIG_NAMES = ["multiclaw.config.ts", "multiclaw.config.js"];
4
- function findConfig(configPath) {
5
- if (configPath) {
6
- const abs = path.resolve(process.cwd(), configPath);
7
- if (!fs.existsSync(abs))
8
- throw new Error(`Config file not found: ${abs}`);
9
- return abs;
10
- }
11
- for (const name of DEFAULT_CONFIG_NAMES) {
12
- const abs = path.resolve(process.cwd(), name);
13
- if (fs.existsSync(abs))
14
- return abs;
15
- }
16
- throw new Error(`No config file found. Create multiclaw.config.ts in the current directory or use --config to specify a path.`);
17
- }
18
- export async function loadConfig(configPath, requirement) {
19
- const absPath = findConfig(configPath);
20
- // The compiled CLI cannot natively import .ts files — register tsx ESM hook
21
- // so dynamic import can handle TypeScript config files.
22
- const { register } = await import("tsx/esm/api");
23
- const unregister = register();
24
- let mod;
25
- try {
26
- mod = await import(absPath);
27
- }
28
- finally {
29
- unregister();
30
- }
31
- const config = (mod.default ?? mod.config);
32
- if (!config || !Array.isArray(config.agents)) {
33
- throw new Error(`Invalid config format — expected: export default defineConfig({...})`);
34
- }
35
- const configDir = path.dirname(absPath);
36
- config.workDir = path.resolve(configDir, config.workDir);
37
- if (requirement !== undefined) {
38
- config.context = { ...config.context, requirement };
39
- }
40
- return config;
41
- }
42
- //# sourceMappingURL=loadConfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loadConfig.js","sourceRoot":"","sources":["../../src/loader/loadConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AAGxB,MAAM,oBAAoB,GAAG,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,CAAA;AAE3E,SAAS,UAAU,CAAC,UAAmB;IACrC,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAA;QACnD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAA;QACzE,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,oBAAoB,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAA;QAC7C,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAA;IACpC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,8GAA8G,CAAC,CAAA;AACjI,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,UAAmB,EAAE,WAAoB;IACxE,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA;IAEtC,4EAA4E;IAC5E,wDAAwD;IACxD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;IAChD,MAAM,UAAU,GAAG,QAAQ,EAAE,CAAA;IAC7B,IAAI,GAA4B,CAAA;IAChC,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC;YAAS,CAAC;QACT,UAAU,EAAE,CAAA;IACd,CAAC;IACD,MAAM,MAAM,GAAoB,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,CAAoB,CAAA;IAE9E,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAA;IACzF,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACvC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IAExD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,OAAO,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,CAAA;IACrD,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1,5 +0,0 @@
1
- import type { EventBus } from "@multiclawcli/core";
2
- export declare class ConsoleReporter {
3
- attach(eventBus: EventBus): () => void;
4
- private handle;
5
- }
@@ -1,87 +0,0 @@
1
- // Degraded to plain ASCII when NO_COLOR is set, TERM=dumb, or stdout is not a TTY (pipe/CI).
2
- const isFancy = !process.env.NO_COLOR &&
3
- process.env.TERM !== "dumb" &&
4
- process.stdout.isTTY === true;
5
- const S = isFancy
6
- ? { ok: "✓", fail: "✗", run: "›", retry: "↻", skip: "⊘", warn: "⚠", bullet: "·" }
7
- : { ok: "+", fail: "x", run: ">", retry: "~", skip: "-", warn: "!", bullet: "*" };
8
- const C = isFancy
9
- ? {
10
- reset: "\x1b[0m", bold: "\x1b[1m", dim: "\x1b[2m",
11
- cyan: "\x1b[36m", green: "\x1b[32m",
12
- yellow: "\x1b[33m", red: "\x1b[31m", purple: "\x1b[35m",
13
- }
14
- : {
15
- reset: "", bold: "", dim: "",
16
- cyan: "", green: "",
17
- yellow: "", red: "", purple: "",
18
- };
19
- export class ConsoleReporter {
20
- attach(eventBus) {
21
- return eventBus.subscribe((e) => this.handle(e));
22
- }
23
- handle(e) {
24
- switch (e.type) {
25
- case "orchestration:start": {
26
- const line = (isFancy ? "═" : "=").repeat(50);
27
- const edge = isFancy ? ["╔", "║", "╚", "╗", "╝"] : ["+", "|", "+", "+", "+"];
28
- console.log(`\n${C.bold}${C.purple}${edge[0]}${line}${edge[3]}`);
29
- console.log(`${edge[1]} ${S.run} ${e.payload.name.padEnd(46)}${edge[1]}`);
30
- console.log(`${edge[2]}${line}${edge[4]}${C.reset}`);
31
- console.log(`${C.cyan}${S.bullet} Agents: ${e.payload.totalAgents} Stages: ${e.payload.stages.length}${C.reset}\n`);
32
- break;
33
- }
34
- case "stage:start": {
35
- const dash = (isFancy ? "─" : "-").repeat(16);
36
- console.log(`${C.cyan}${dash} Stage ${e.payload.stageIndex + 1} ${dash}${C.reset}`);
37
- break;
38
- }
39
- case "agent:start": {
40
- console.log(`${C.purple}${S.run} [${e.payload.agentName}] starting...${C.reset}`);
41
- break;
42
- }
43
- case "agent:output": {
44
- process.stdout.write(` ${e.payload.chunk}`);
45
- break;
46
- }
47
- case "agent:complete": {
48
- const d = (e.payload.duration / 1000).toFixed(1);
49
- console.log(`${C.green}${S.ok} ${e.payload.agentName} done (${d}s)${C.reset}`);
50
- break;
51
- }
52
- case "agent:failed": {
53
- console.log(`${C.red}${S.fail} ${e.payload.agentName} failed: ${e.payload.error}${C.reset}`);
54
- break;
55
- }
56
- case "agent:skipped": {
57
- console.log(`${C.yellow}${S.skip} ${e.payload.agentName} skipped${C.reset}`);
58
- break;
59
- }
60
- case "agent:retrying": {
61
- console.log(`${C.yellow}${S.retry} ${e.payload.agentName} retry ${e.payload.attempt}/${e.payload.maxAttempts}: ${e.payload.error}${C.reset}`);
62
- break;
63
- }
64
- case "orchestration:complete": {
65
- const { success, totalDuration, agentResults } = e.payload;
66
- const line = (isFancy ? "═" : "=").repeat(50);
67
- const edge = isFancy ? ["╔", "║", "╚", "╗", "╝"] : ["+", "|", "+", "+", "+"];
68
- const title = success ? `${S.ok} All done` : `${S.warn} Done (with failures)`;
69
- console.log(`\n${C.bold}${C.purple}${edge[0]}${line}${edge[3]}`);
70
- console.log(`${edge[1]} ${title.padEnd(48)}${edge[1]}`);
71
- console.log(`${edge[2]}${line}${edge[4]}${C.reset}`);
72
- const nameWidth = Math.max(8, ...agentResults.map((r) => r.agentName.length));
73
- const totalStr = `${(totalDuration / 1000).toFixed(1)}s`;
74
- console.log(` ~ ${"Total".padEnd(nameWidth)} ${totalStr.padStart(7)}`);
75
- for (const r of agentResults) {
76
- const icon = r.status === "success" ? S.ok : S.fail;
77
- const color = r.status === "success" ? C.green : C.red;
78
- const dur = `${(r.duration / 1000).toFixed(1)}s`;
79
- console.log(` ${color}${icon}${C.reset} ${r.agentName.padEnd(nameWidth)} ${dur.padStart(7)}`);
80
- }
81
- console.log();
82
- break;
83
- }
84
- }
85
- }
86
- }
87
- //# sourceMappingURL=ConsoleReporter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConsoleReporter.js","sourceRoot":"","sources":["../../src/reporters/ConsoleReporter.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import type { EventBus } from "@multiclawcli/core";
2
- export declare class FileLogWriter {
3
- private logDir;
4
- private streams;
5
- constructor(logDir: string);
6
- attach(eventBus: EventBus): () => void;
7
- private handle;
8
- private getStream;
9
- private closeAll;
10
- }
@@ -1,33 +0,0 @@
1
- import * as fs from "fs";
2
- import * as path from "path";
3
- export class FileLogWriter {
4
- constructor(logDir) {
5
- this.logDir = logDir;
6
- this.streams = new Map();
7
- fs.mkdirSync(logDir, { recursive: true });
8
- }
9
- attach(eventBus) {
10
- return eventBus.subscribe((e) => this.handle(e));
11
- }
12
- handle(e) {
13
- if (e.type === "agent:output") {
14
- this.getStream(e.payload.agentId).write(e.payload.chunk);
15
- }
16
- if (e.type === "orchestration:complete") {
17
- fs.writeFileSync(path.join(this.logDir, "report.json"), JSON.stringify(e.payload, null, 2));
18
- this.closeAll();
19
- }
20
- }
21
- getStream(agentId) {
22
- if (!this.streams.has(agentId)) {
23
- this.streams.set(agentId, fs.createWriteStream(path.join(this.logDir, `${agentId}.log`)));
24
- }
25
- return this.streams.get(agentId);
26
- }
27
- closeAll() {
28
- for (const s of this.streams.values())
29
- s.end();
30
- this.streams.clear();
31
- }
32
- }
33
- //# sourceMappingURL=FileLogWriter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FileLogWriter.js","sourceRoot":"","sources":["../../src/reporters/FileLogWriter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAG5B,MAAM,OAAO,aAAa;IAGxB,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAF1B,YAAO,GAAG,IAAI,GAAG,EAA0B,CAAA;QAGjD,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED,MAAM,CAAC,QAAkB;QACvB,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAClD,CAAC;IAEO,MAAM,CAAC,CAAiB;QAC9B,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC9B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC1D,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;YACxC,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EACrC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CACnC,CAAA;YACD,IAAI,CAAC,QAAQ,EAAE,CAAA;QACjB,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,OAAe;QAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CACd,OAAO,EACP,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,MAAM,CAAC,CAAC,CAC/D,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAE,CAAA;IACnC,CAAC;IAEO,QAAQ;QACd,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAAE,CAAC,CAAC,GAAG,EAAE,CAAA;QAC9C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"fileNames":["../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/.pnpm/commander@12.1.0/node_modules/commander/typings/index.d.ts","../../node_modules/.pnpm/commander@12.1.0/node_modules/commander/typings/esm.d.mts","../core/dist/types/agent.d.ts","../core/dist/types/runtime.d.ts","../core/dist/types/config.d.ts","../core/dist/types/event.d.ts","../core/dist/types/index.d.ts","../core/dist/event/eventbus.d.ts","../core/dist/orchestrator/orchestrator.d.ts","../core/dist/orchestrator/stagebuilder.d.ts","../core/dist/runtime/runtimebase.d.ts","../core/dist/runtime/clauderuntime.d.ts","../core/dist/runtime/codexruntime.d.ts","../core/dist/runtime/opencoderuntime.d.ts","../core/dist/runtime/cursorruntime.d.ts","../core/dist/runtime/index.d.ts","../core/dist/config/defineconfig.d.ts","../core/dist/agents/architect.d.ts","../core/dist/agents/product-manager.d.ts","../core/dist/agents/backend-developer.d.ts","../core/dist/agents/frontend-developer.d.ts","../core/dist/agents/tester.d.ts","../core/dist/agents/reviewer.d.ts","../core/dist/agents/arch-design-reviewer.d.ts","../core/dist/agents/ui-designer.d.ts","../core/dist/agents/ui-design-reviewer.d.ts","../core/dist/agents/code-reviewer.d.ts","../core/dist/agents/devops.d.ts","../core/dist/agents/index.d.ts","../core/dist/index.d.ts","../../node_modules/.pnpm/tsx@4.23.15/node_modules/tsx/dist/esm/api/index.d.mts","./src/loader/loadconfig.ts","./src/reporters/consolereporter.ts","./src/reporters/filelogwriter.ts","../dashboard/dist/server/dashboardserver.d.ts","../dashboard/dist/server/index.d.ts","../../node_modules/.pnpm/open@10.2.0/node_modules/open/index.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/compatibility/disposable.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/compatibility/indexable.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/compatibility/index.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/globals.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/web-globals/domexception.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/web-globals/events.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/web-globals/fetch.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/assert.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/assert/strict.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/buffer.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/child_process.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/cluster.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/console.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/constants.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/crypto.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/dgram.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/dns.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/dns/promises.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/domain.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/events.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/fs.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/http.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/http2.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/https.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/inspector.generated.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/module.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/net.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/os.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/path.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/process.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/punycode.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/querystring.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/readline.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/readline/promises.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/repl.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/sea.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/stream.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/stream/promises.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/stream/consumers.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/stream/web.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/test.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/timers.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/timers/promises.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/tls.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/trace_events.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/tty.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/url.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/util.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/v8.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/vm.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/wasi.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/zlib.d.ts","../../node_modules/.pnpm/@types+node@20.19.43/node_modules/@types/node/index.d.ts","../../node_modules/.pnpm/@types+ws@8.18.2/node_modules/@types/ws/index.d.mts","./src/commands/run.ts","../../node_modules/.pnpm/@inquirer+core@12.0.4_@types+node@20.19.43/node_modules/@inquirer/core/dist/lib/key.d.ts","../../node_modules/.pnpm/@inquirer+core@12.0.4_@types+node@20.19.43/node_modules/@inquirer/core/dist/lib/errors.d.ts","../../node_modules/.pnpm/@inquirer+type@4.2.0_@types+node@20.19.43/node_modules/@inquirer/type/dist/inquirer.d.ts","../../node_modules/.pnpm/@inquirer+type@4.2.0_@types+node@20.19.43/node_modules/@inquirer/type/dist/utils.d.ts","../../node_modules/.pnpm/@inquirer+type@4.2.0_@types+node@20.19.43/node_modules/@inquirer/type/dist/index.d.ts","../../node_modules/.pnpm/@inquirer+core@12.0.4_@types+node@20.19.43/node_modules/@inquirer/core/dist/lib/theme.d.ts","../../node_modules/.pnpm/@inquirer+core@12.0.4_@types+node@20.19.43/node_modules/@inquirer/core/dist/lib/use-prefix.d.ts","../../node_modules/.pnpm/@inquirer+core@12.0.4_@types+node@20.19.43/node_modules/@inquirer/core/dist/lib/use-state.d.ts","../../node_modules/.pnpm/@inquirer+core@12.0.4_@types+node@20.19.43/node_modules/@inquirer/core/dist/lib/use-effect.d.ts","../../node_modules/.pnpm/@inquirer+core@12.0.4_@types+node@20.19.43/node_modules/@inquirer/core/dist/lib/use-memo.d.ts","../../node_modules/.pnpm/@inquirer+core@12.0.4_@types+node@20.19.43/node_modules/@inquirer/core/dist/lib/use-ref.d.ts","../../node_modules/.pnpm/@inquirer+core@12.0.4_@types+node@20.19.43/node_modules/@inquirer/core/dist/lib/use-keypress.d.ts","../../node_modules/.pnpm/@inquirer+core@12.0.4_@types+node@20.19.43/node_modules/@inquirer/core/dist/lib/make-theme.d.ts","../../node_modules/.pnpm/@inquirer+core@12.0.4_@types+node@20.19.43/node_modules/@inquirer/core/dist/lib/pagination/use-pagination.d.ts","../../node_modules/.pnpm/@inquirer+core@12.0.4_@types+node@20.19.43/node_modules/@inquirer/core/dist/lib/create-prompt.d.ts","../../node_modules/.pnpm/@inquirer+core@12.0.4_@types+node@20.19.43/node_modules/@inquirer/core/dist/lib/separator.d.ts","../../node_modules/.pnpm/@inquirer+core@12.0.4_@types+node@20.19.43/node_modules/@inquirer/core/dist/index.d.ts","../../node_modules/.pnpm/@inquirer+checkbox@5.2.6_@types+node@20.19.43/node_modules/@inquirer/checkbox/dist/index.d.ts","../../node_modules/.pnpm/@inquirer+external-editor@3.0.6_@types+node@20.19.43/node_modules/@inquirer/external-editor/dist/errors.d.ts","../../node_modules/.pnpm/@inquirer+external-editor@3.0.6_@types+node@20.19.43/node_modules/@inquirer/external-editor/dist/parse-editor-command.d.ts","../../node_modules/.pnpm/@inquirer+external-editor@3.0.6_@types+node@20.19.43/node_modules/@inquirer/external-editor/dist/index.d.ts","../../node_modules/.pnpm/@inquirer+editor@5.3.4_@types+node@20.19.43/node_modules/@inquirer/editor/dist/index.d.ts","../../node_modules/.pnpm/@inquirer+confirm@6.3.3_@types+node@20.19.43/node_modules/@inquirer/confirm/dist/index.d.ts","../../node_modules/.pnpm/@inquirer+input@5.1.7_@types+node@20.19.43/node_modules/@inquirer/input/dist/index.d.ts","../../node_modules/.pnpm/@inquirer+number@4.2.4_@types+node@20.19.43/node_modules/@inquirer/number/dist/index.d.ts","../../node_modules/.pnpm/@inquirer+expand@5.1.6_@types+node@20.19.43/node_modules/@inquirer/expand/dist/index.d.ts","../../node_modules/.pnpm/@inquirer+rawlist@5.3.6_@types+node@20.19.43/node_modules/@inquirer/rawlist/dist/index.d.ts","../../node_modules/.pnpm/@inquirer+password@5.2.3_@types+node@20.19.43/node_modules/@inquirer/password/dist/index.d.ts","../../node_modules/.pnpm/@inquirer+search@4.3.4_@types+node@20.19.43/node_modules/@inquirer/search/dist/index.d.ts","../../node_modules/.pnpm/@inquirer+select@5.2.6_@types+node@20.19.43/node_modules/@inquirer/select/dist/index.d.ts","../../node_modules/.pnpm/@inquirer+prompts@8.7.3_@types+node@20.19.43/node_modules/@inquirer/prompts/dist/index.d.ts","./src/commands/init.ts","./src/commands/serve.ts","./src/commands/upgrade.ts","./src/index.ts","./src/lib.ts","../../node_modules/.pnpm/@types+ws@8.18.2/node_modules/@types/ws/index.d.ts"],"fileIdsList":[[94,140,195,207],[94,140,191,192,196,197,198,199,200,201,202,203,204,205,206],[94,140,195],[94,140],[94,140,195,196],[94,140,191,195],[94,140,196],[94,140,195,207,211],[94,140,209,210],[94,140,208,212,213,214,215,216,217,218,219,220],[94,140,193,194],[94,140,170],[94,137,140],[94,139,140],[140],[94,140,145,173],[94,140,141,146,151,159,170,181],[94,140,141,142,151,159],[89,90,91,94,140],[94,140,143,182],[94,140,144,145,152,160],[94,140,145,170,178],[94,140,146,148,151,159],[94,139,140,147],[94,140,148,149],[94,140,150,151],[94,139,140,151],[94,140,151,152,153,170,181],[94,140,151,152,153,166,170,173],[94,140,148,151,154,159,170,181],[94,140,151,152,154,155,159,170,178,181],[94,140,154,156,170,178,181],[92,93,94,95,96,97,98,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187],[94,140,151,157],[94,140,158,181,186],[94,140,148,151,159,170],[94,140,160],[94,140,161],[94,139,140,162],[94,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187],[94,140,164],[94,140,165],[94,140,151,166,167],[94,140,166,168,182,184],[94,140,151,170,171,173],[94,140,172,173],[94,140,170,171],[94,140,173],[94,140,174],[94,137,140,170,175],[94,140,151,176,177],[94,140,176,177],[94,140,145,159,170,178],[94,140,179],[94,140,159,180],[94,140,154,165,181],[94,140,145,182],[94,140,170,183],[94,140,158,184],[94,140,185],[94,135,140],[94,135,140,151,153,162,170,173,181,184,186],[94,140,170,187],[94,140,151,154,156,159,170,178,181,187,188],[52,94,140],[94,140,141],[94,140,186],[94,107,111,140,181],[94,107,140,170,181],[94,102,140],[94,104,107,140,178,181],[94,140,159,178],[94,140,188],[94,102,140,188],[94,104,107,140,159,181],[94,99,100,103,106,140,151,170,181],[94,107,114,140],[94,99,105,140],[94,107,128,129,140],[94,103,107,140,173,181,188],[94,128,140,188],[94,101,102,140,188],[94,107,140],[94,101,102,103,104,105,106,107,108,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,129,130,131,132,133,134,140],[94,107,122,140],[94,107,114,115,140],[94,105,107,115,116,140],[94,106,140],[94,99,102,107,140],[94,107,111,115,116,140],[94,111,140],[94,105,107,110,140,181],[94,99,104,107,114,140],[94,102,107,128,140,186,188],[94,140,141,152,161,221],[81,83,84,85,87,88,94,140,161,189],[87,94,140],[94,140,141,158],[53,94,140,190,222,223,224],[81,94,140],[81,82,94,140,152,161],[81,94,140,152,161],[54,94,140],[69,70,71,72,73,74,75,76,77,78,79,94,140],[56,94,140],[57,94,140],[58,59,60,61,62,67,68,80,94,140],[56,59,94,140],[55,62,94,140],[55,63,64,65,66,94,140],[55,94,140],[58,94,140],[54,55,56,57,94,140],[86,94,140]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a722a71d8f3cb0028857b12579c7eca55acc76bf34e5db7eaf6fe817b985f9c3","impliedFormat":1},{"version":"b124c0624b15412ace7d54644ade38d7a69db7e25488a1a4d2a8df6e11696538","impliedFormat":99},"8f1b5cc4cbc2eba6e36c117050045d6b9c5dadbfc0cffcd0b663fd4900b80bd2","0eb7a3c2ee7354ad68482be79e2d30d960c2f3607957e93f90f77151d940a757","70d14d04e097fa10400879eb538fe21e6eed2e24ccdc9de20dcb104481cc9584","4b755ca0b3d83f192b9681de1fecd631cd145077eb38c214419243198aabe951","58704f5874da72f5278bbccd44961ce2f64dcf1482f4e4297c919df70479f64d","345f21d66d810208f554d54f63b8b6c20f2dc569806fcb8261fd8080a7acec12","a8f59adf3db8d3c1d72529b51e4cfe50b2057f902694f3195e401b575744d91d","b365466413098ee1e520dc8885bfecb5aa03be91a2800f8e8e967901e77de06d","e7af282b106d6146cdbe9dbc2f7e71548ff7fec4e5823beab08e93c703839ee4","97794e46581e420be8e6cda502c6e318b40f283e5a92ff53246413fdc9544fe4","889b57e5f2a6ae6c157ccaeeea5393608941f194719832f35abd81654b5edd4c","137dc56c00eae739144bb89eba686a4b5d612e07d213ff9a3d5e178bb6b9bdce","ee9d6d2b66c09cf49c3d8d5b52899b0a3807cb2c4bc21dcf683e916060fda78a","27f1574cb987154f86f95e743088c3ae28bc0b8cbc92d950cbae0a7f0041df6b","b5f3bf0aa133ff4bda53983c155d9d4a7c4ef66839a35f399f6921435590fcba","929dbd7bfc4b3c800c4c9ab682828ac98e53a26349fd06d84b264378e3c84baa","cb2dfb31663226d5d90572e788cbc022bfa07ba4e23369c293c23bf144e2facc","af186ddcff394a99d73b2951277cbc95f5bfcc9be26f31cb8b3e27738c718b2e","6c38e917fd39d6eed104d9a4fb075b0426a770bb82d67a78a235fc53c96415e5","7f8d8c681d2b4e685f6029a0bebaadf859d275be99c8356657d4faa677862408","5b76e8ee0af73041dce14791fd832ffb2b3610308930455e85fee6c4a7150319","f566ab50d1fc7212b65a239d04909e5ae4fd6bf6d84eacae22d5299943c72db1","c5e990d1e456d7ed7b44ba66b799ff63b00c0e04d528e20f54c2e0b8ab683511","475f60ed5caffea2926a7d06fa3df8b2f6f76c54edf4b847a8f780442c91c2b0","8bdb9334bfe581ccd31d8acbfcf665637c66c43c5fe3fdb9c5706b1803d82559","daeece8bd21abf8b5c2fc360c2eee0a358ce3a40b5fca255b1c99acb8a2ec792","228faf4fda64aa944b99af939f0fade400fd4ddac7d9462bf541a95293136fb2","4494a982f066f1e3c9d6668fcacd560d46456d97f6efce36cb362e20bee03044",{"version":"800928ec427376cde9efffbfba8667fdd3893b68fdea6c22abc19d44eb2e6efa","impliedFormat":99},{"version":"2185c1165dadedba864b9699d2aa8f65bed117c4ed3ddc9d409f403da9cccf70","signature":"03d06730cfc28472d514f511c551b50502a6691610b5202f7884b0e573b624c4"},{"version":"6ca65c80a8749918d6eb988a48e4e0af30bf9a581c7648ee92c350fb8b1f5fbc","signature":"4d7d40d67bf40edad63ea4c42324e9d7952cf6ab039f398c9ec90ba1dc6a1d11"},{"version":"d4e064f301c349121a9601c8178069dbaaf06152e1656ea2480f844c83bfc60f","signature":"6ac69e6152c022e11d0b2df43b4a25c70774b0d5c6b4b9308966e848407dff18"},"e5b1afbe083d6b83f5750f03a84f20f24b3c15f56c617fad39b7cfaafa2c2df6","9329bc15ed3324ac279791b02cba2219f37b571af9ec0b8e07e56f20d3916a50",{"version":"0132e7a32bd600a3b6e0a5e59171a3706df2d1375ffbf6b2239f326a9b0dbaaf","impliedFormat":99},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"ba481bca06f37d3f2c137ce343c7d5937029b2468f8e26111f3c9d9963d6568d","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d9ef24f9a22a88e3e9b3b3d8c40ab1ddb0853f1bfbd5c843c37800138437b61","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2677634fe27e87348825bb041651e22d50a613e2fdf6a4a3ade971d71bac37e","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8c0bcd6c6b67b4b503c11e91a1fb91522ed585900eab2ab1f61bba7d7caa9d6f","impliedFormat":1},{"version":"8cd19276b6590b3ebbeeb030ac271871b9ed0afc3074ac88a94ed2449174b776","affectsGlobalScope":true,"impliedFormat":1},{"version":"696eb8d28f5949b87d894b26dc97318ef944c794a9a4e4f62360cd1d1958014b","impliedFormat":1},{"version":"3f8fa3061bd7402970b399300880d55257953ee6d3cd408722cb9ac20126460c","impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"68bd56c92c2bd7d2339457eb84d63e7de3bd56a69b25f3576e1568d21a162398","affectsGlobalScope":true,"impliedFormat":1},{"version":"3e93b123f7c2944969d291b35fed2af79a6e9e27fdd5faa99748a51c07c02d28","impliedFormat":1},{"version":"9d19808c8c291a9010a6c788e8532a2da70f811adb431c97520803e0ec649991","impliedFormat":1},{"version":"87aad3dd9752067dc875cfaa466fc44246451c0c560b820796bdd528e29bef40","impliedFormat":1},{"version":"4aacb0dd020eeaef65426153686cc639a78ec2885dc72ad220be1d25f1a439df","impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","impliedFormat":1},{"version":"8db0ae9cb14d9955b14c214f34dae1b9ef2baee2fe4ce794a4cd3ac2531e3255","affectsGlobalScope":true,"impliedFormat":1},{"version":"15fc6f7512c86810273af28f224251a5a879e4261b4d4c7e532abfbfc3983134","impliedFormat":1},{"version":"58adba1a8ab2d10b54dc1dced4e41f4e7c9772cbbac40939c0dc8ce2cdb1d442","impliedFormat":1},{"version":"641942a78f9063caa5d6b777c99304b7d1dc7328076038c6d94d8a0b81fc95c1","impliedFormat":1},{"version":"1123a83f35cf56c97de746f0a7250012153c61a167e4a61668bf50e558162d14","impliedFormat":1},{"version":"855cd5f7eb396f5f1ab1bc0f8580339bff77b68a770f84c6b254e319bbfd1ac7","impliedFormat":1},{"version":"5650cf3dace09e7c25d384e3e6b818b938f68f4e8de96f52d9c5a1b3db068e86","impliedFormat":1},{"version":"1354ca5c38bd3fd3836a68e0f7c9f91f172582ba30ab15bb8c075891b91502b7","affectsGlobalScope":true,"impliedFormat":1},{"version":"7e20d899c28ca26a2a7afc98beaa69e63ff7fba0a8bc47b4e3bf3ede5e09e424","impliedFormat":1},{"version":"2d2fcaab481b31a5882065c7951255703ddbe1c0e507af56ea42d79ac3911201","impliedFormat":1},{"version":"a192fe8ec33f75edbc8d8f3ed79f768dfae11ff5735e7fe52bfa69956e46d78d","impliedFormat":1},{"version":"ca867399f7db82df981d6915bcbb2d81131d7d1ef683bc782b59f71dda59bc85","affectsGlobalScope":true,"impliedFormat":1},{"version":"372413016d17d804e1d139418aca0c68e47a83fb6669490857f4b318de8cccb3","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","impliedFormat":1},{"version":"b4f70ec656a11d570e1a9edce07d118cd58d9760239e2ece99306ee9dfe61d02","impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","impliedFormat":1},{"version":"6e70e9570e98aae2b825b533aa6292b6abd542e8d9f6e9475e88e1d7ba17c866","impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"085f552d005479e2e6a7311cdbbe5d8c55c497b4d19274285df161ee9684cd9c","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"007faacc9268357caa21d24169f3f3f2497af3e9241308df2d89f6e6d9bb3f2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"74cf591a0f63db318651e0e04cb55f8791385f86e987a67fd4d2eaab8191f730","impliedFormat":1},{"version":"5eab9b3dc9b34f185417342436ec3f106898da5f4801992d8ff38ab3aff346b5","impliedFormat":1},{"version":"12ed4559eba17cd977aa0db658d25c4047067444b51acfdcbf38470630642b23","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3ffabc95802521e1e4bcba4c88d8615176dc6e09111d920c7a213bdda6e1d65","impliedFormat":1},{"version":"809821b8a065e3234a55b3a9d7846231ed18d66dd749f2494c66288d890daf7f","impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","impliedFormat":1},{"version":"c3b41e74b9a84b88b1dca61ec39eee25c0dbc8e7d519ba11bb070918cfacf656","affectsGlobalScope":true,"impliedFormat":1},{"version":"4737a9dc24d0e68b734e6cfbcea0c15a2cfafeb493485e27905f7856988c6b29","affectsGlobalScope":true,"impliedFormat":1},{"version":"36d8d3e7506b631c9582c251a2c0b8a28855af3f76719b12b534c6edf952748d","impliedFormat":1},{"version":"1ca69210cc42729e7ca97d3a9ad48f2e9cb0042bada4075b588ae5387debd318","impliedFormat":1},{"version":"f5ebe66baaf7c552cfa59d75f2bfba679f329204847db3cec385acda245e574e","impliedFormat":1},{"version":"ed59add13139f84da271cafd32e2171876b0a0af2f798d0c663e8eeb867732cf","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7c5e2ea4a9749097c347454805e933844ed207b6eefec6b7cfd418b5f5f7b28","impliedFormat":1},{"version":"b1810689b76fd473bd12cc9ee219f8e62f54a7d08019a235d07424afbf074d25","impliedFormat":1},{"version":"41b2a25018200d1deef82999c2f44a23bd4b8618aa788fff90292ce25366fa68","impliedFormat":99},{"version":"03abb31e94dd76f9f1d62bfd1a05d991d13644d04d106f58665af0541e75aca8","signature":"e1880a675204e78cb1bf8ff0a4976915cf0361e30d9a0ac4868bd2e1b95b39a9"},{"version":"10043f2974346ba2baca701cd0a2bca1bda974d626a5d7eb92b741757a42443e","impliedFormat":99},{"version":"cc2d9ba9d5434882cfb9bc2954fe433b5538fa78a40be504c9833a45d1a732ad","impliedFormat":99},{"version":"f496804f1238bfdf19b67ac9ce7825d50920a958994fc29a80697b8a63eeed6d","impliedFormat":99},{"version":"1de74d27c48e696d95e2fcfcd116e868a5479d7b175180e628448d3e99413af7","impliedFormat":99},{"version":"4e3592aed54bd51d840e6d078794b45a8388d0accf38efa3267a16742ce88041","impliedFormat":99},{"version":"c8c43f3c6f59572906c077ddd96a1856fc5c6519c30f356d6c9c511b9dadc9c0","impliedFormat":99},{"version":"988be2b47c162ddfc4ac289de0bc50b52fd425d4408cb4bc40fcc9b81f4957c6","impliedFormat":99},{"version":"bf2b86c4d2d7db6fdbb14098c247526ef334ee62e8f06e3d790891b5d0d10090","impliedFormat":99},{"version":"8da95d257be3f2d83c21c555dedda9c96869e5f855652523cf52dc98ca8c57de","impliedFormat":99},{"version":"aa9494cb36743567c0f6ce385ce869358b59193c9b61612e0d70e4de500424c3","impliedFormat":99},{"version":"904964129f1ef4797282d4ea4411eaf26d4b22bb481b8b8ab3e920d4cfc79ecf","impliedFormat":99},{"version":"ce6ada7f4eb4cda3ccfe28a0201608828fc6ee2d3204101976831100d9550d47","impliedFormat":99},{"version":"5a7fe6ef136e88ee70d3cd0b1aa0d6875178b2682542ca340875a2711c81d779","impliedFormat":99},{"version":"6efe6725728024c1b6cf22b47fe1dcaecc951444e7cb6fe0037d96123bb75667","impliedFormat":99},{"version":"673acd99a4a6296577959626d31fe5cabf5bb3441e973e3e8cea71ffece1ff81","impliedFormat":99},{"version":"ab37b1199441c7ecb602defe46f72099d3d4555f7911bd865f51657f419779ab","impliedFormat":99},{"version":"e1d6ddd0c300ba35bd166063d5b2456e9d84fe96bdb7c16ad9379e50dca5dcda","impliedFormat":99},{"version":"a62624c7f04fc4566f8f8b96f6d39110125263e4f79c6b496cef28c51975ad0f","impliedFormat":99},{"version":"1fafbe092dcff4279f40c140ee7ef57b0ed6e33c38801cb15d651e1d3426839d","impliedFormat":99},{"version":"09fe85d6587216cbada86dc91d3455362b1d9cb920057f2b66f91a213feb7efa","impliedFormat":99},{"version":"9c2c6e6e88146156919cd137d4a3e16bd564e26d97c9ff4f8a90d72f072340be","impliedFormat":99},{"version":"de08edfcbb08bef6bc7c0ca3ed67a1c5d075c496b24ec01925b615116bf6ad51","impliedFormat":99},{"version":"41c92a78709f75e0503240a0b6c8c20c7eb8def3d3addcfd4acce59894e66bc3","impliedFormat":99},{"version":"d0c11d125aaf28eb474e687e2feca74d800f3a1fe219882d3c0281c3f4eda88f","impliedFormat":99},{"version":"d4ae1eac1a6bb40a8c75ca85307ba0f1a553dcf08fdd4e53e145aa33c036fbfd","impliedFormat":99},{"version":"d025246eb8ebb217daf58b0021dc105478597e413bac4f2d24e54c76f17317e8","impliedFormat":99},{"version":"c52f72d727413b36bea9f11b47d5e1cf2e930280215124341e5562889192710e","impliedFormat":99},{"version":"28dd7ac76b7c96c1587847929ebacb0420cee78c09a65ebfa976db66e3548303","impliedFormat":99},{"version":"fd08177d605519700feb0b2457f58bf77096c9d79ba4989adbf7eb01968245ab","impliedFormat":99},{"version":"a432730d0b21d8482d94d49853107fc26f01b97dcfea82accd3fbb80f3b108ad","impliedFormat":99},{"version":"736a3485c9e96b87b11fe6e55b5455e9f85ef59edc09bff1eb2f114ef661d1e5","impliedFormat":99},{"version":"03baa84dcfd1630fc5b499e83d214c29ef110a0a5c429b182c2a67a3b2593b15","signature":"6fccbab119402955793694f2b6c4bf1f55f07075ffa7a7a3255ddb9f3905fe5f"},{"version":"f84c4d1920d405d8870f72bf3428d3d375f44c020488ab7ac46a374eb164b85c","signature":"1ed31a78e480efa5e25a98f5df52a4d0869bc65c0e6cfaf46611316700ae4384"},{"version":"fa5d14d53f2de5e3579ce194f88dcba9d877b675056b049b6b0a737709b33af2","signature":"03e482be44d5396a4e3c2a68d63afa1760221f86cc2c8b43525c6805580915f6"},{"version":"d23db615b70cf583454ddd7171f2962845511e6f320a1e7cf0ae96e06520d62d","signature":"43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012"},{"version":"09dd8398a947ab9af9ab9220ab2c6d4145d1332c2068fb771ff5225a65fde2ef","signature":"27f6a540bc5e08937c670895e756dd3ea33235808a53b93c996afd3195f834c7"},{"version":"0143cefdb56a076f7f6cc2520a60469e0b349452f7882c5c2688f69032a8424c","impliedFormat":1}],"root":[[83,85],190,[222,226]],"options":{"composite":true,"declaration":true,"esModuleInterop":true,"module":99,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":8},"referencedMap":[[208,1],[213,1],[207,2],[205,3],[192,4],[191,4],[203,5],[204,4],[206,4],[196,6],[199,3],[202,6],[200,4],[197,7],[201,4],[198,4],[212,8],[216,1],[209,4],[211,9],[210,4],[214,1],[215,1],[218,1],[221,10],[217,1],[219,1],[220,1],[195,11],[193,12],[194,4],[137,13],[138,13],[139,14],[94,15],[140,16],[141,17],[142,18],[89,4],[92,19],[90,4],[91,4],[143,20],[144,21],[145,22],[146,23],[147,24],[148,25],[149,25],[150,26],[151,27],[152,28],[153,29],[95,4],[93,4],[154,30],[155,31],[156,32],[188,33],[157,34],[158,35],[159,36],[160,37],[161,38],[162,39],[163,40],[164,41],[165,42],[166,43],[167,43],[168,44],[169,4],[170,45],[172,46],[171,47],[173,48],[174,49],[175,50],[176,51],[177,52],[178,53],[179,54],[180,55],[181,56],[182,57],[183,58],[184,59],[185,60],[96,4],[97,4],[98,4],[136,61],[186,62],[187,63],[189,64],[227,64],[53,65],[52,4],[88,66],[82,67],[50,4],[51,4],[9,4],[11,4],[10,4],[2,4],[12,4],[13,4],[14,4],[15,4],[16,4],[17,4],[18,4],[19,4],[3,4],[20,4],[21,4],[4,4],[22,4],[26,4],[23,4],[24,4],[25,4],[27,4],[28,4],[29,4],[5,4],[30,4],[31,4],[32,4],[33,4],[6,4],[37,4],[34,4],[35,4],[36,4],[38,4],[7,4],[39,4],[44,4],[45,4],[40,4],[41,4],[42,4],[43,4],[8,4],[49,4],[46,4],[47,4],[48,4],[1,4],[114,68],[124,69],[113,68],[134,70],[105,71],[104,72],[133,73],[127,74],[132,75],[107,76],[121,77],[106,78],[130,79],[102,80],[101,73],[131,81],[103,82],[108,83],[109,4],[112,83],[99,4],[135,84],[125,85],[116,86],[117,87],[119,88],[115,89],[118,90],[128,73],[110,91],[111,92],[120,93],[100,12],[123,85],[122,83],[126,4],[129,94],[222,95],[190,96],[223,97],[224,98],[225,99],[226,100],[83,101],[84,100],[85,102],[75,103],[69,103],[71,103],[78,103],[79,103],[72,103],[80,104],[70,103],[74,103],[73,103],[77,103],[76,103],[68,105],[59,106],[81,107],[60,108],[61,103],[63,109],[64,109],[66,109],[67,110],[65,109],[62,111],[54,4],[56,103],[57,112],[58,113],[55,4],[86,100],[87,114]],"latestChangedDtsFile":"./dist/lib.d.ts","version":"5.9.3"}