@agentworkforce/cli 0.1.1 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +168 -8
- package/dist/cli.d.ts +24 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +226 -13
- package/dist/cli.js.map +1 -1
- package/dist/cli.test.d.ts +2 -0
- package/dist/cli.test.d.ts.map +1 -0
- package/dist/cli.test.js +187 -0
- package/dist/cli.test.js.map +1 -0
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -380,22 +380,34 @@ persona session, add it to the persona's `mcpServers` block.
|
|
|
380
380
|
### Interactive
|
|
381
381
|
|
|
382
382
|
```sh
|
|
383
|
-
agent-workforce agent <persona>[@<tier>]
|
|
383
|
+
agent-workforce agent [--install-in-repo] [--clean] <persona>[@<tier>]
|
|
384
384
|
```
|
|
385
385
|
|
|
386
|
+
`--install-in-repo` and `--clean` are mutually exclusive — see
|
|
387
|
+
[**Clean mode**](#clean-mode) below.
|
|
388
|
+
|
|
386
389
|
1. Resolves the persona, walks the cascade, resolves `$VAR` refs.
|
|
387
|
-
2.
|
|
388
|
-
|
|
390
|
+
2. **Stages skills outside the repo by default** (claude interactive only —
|
|
391
|
+
see **Skill staging** below). For codex / opencode, or when
|
|
392
|
+
`--install-in-repo` is passed, falls back to the legacy repo-relative
|
|
393
|
+
install path (`.claude/skills/`, `.agents/skills/`, `.skills/`).
|
|
394
|
+
3. Runs skill install (`prpm install …`) if the persona declares any skills,
|
|
395
|
+
using the computed target (stage dir or repo).
|
|
396
|
+
4. Execs the harness binary with stdio inherited:
|
|
389
397
|
- `claude`: `claude --model <model> --append-system-prompt <prompt>
|
|
390
|
-
--mcp-config '<json>' --strict-mcp-config
|
|
391
|
-
|
|
392
|
-
|
|
398
|
+
--mcp-config '<json>' --strict-mcp-config [--plugin-dir <stage>]`. The
|
|
399
|
+
`--plugin-dir` flag is appended when the session uses out-of-repo
|
|
400
|
+
staging so Claude Code loads exactly the staged skills — and nothing
|
|
401
|
+
the repo happens to carry. Both MCP flags are always passed so the
|
|
402
|
+
session only sees the persona's declared MCP servers (see **MCP
|
|
403
|
+
isolation** above).
|
|
393
404
|
- `codex`: `codex -m <model>` with the system prompt as the initial
|
|
394
405
|
positional `[PROMPT]`. (codex has no `--system-prompt` flag today.)
|
|
395
406
|
- `opencode`: `opencode --model <model>` with the system prompt as the
|
|
396
407
|
initial argument.
|
|
397
|
-
|
|
398
|
-
|
|
408
|
+
5. Runs the skill cleanup command on exit, regardless of exit status. In
|
|
409
|
+
stage-dir mode this is a single `rm -rf <stage-dir>`.
|
|
410
|
+
6. Propagates the harness's exit code.
|
|
399
411
|
|
|
400
412
|
Signals (SIGINT, SIGTERM) are forwarded to the child.
|
|
401
413
|
|
|
@@ -414,6 +426,154 @@ Env from the persona is passed through via `ExecuteOptions.env`. `mcpServers`
|
|
|
414
426
|
is currently **ignored with a warning** in one-shot mode — the SDK workflow
|
|
415
427
|
path doesn't thread MCP config yet.
|
|
416
428
|
|
|
429
|
+
One-shot mode still installs into the repo regardless of `--install-in-repo`;
|
|
430
|
+
out-of-repo staging only applies to the interactive path today because the
|
|
431
|
+
agent-relay workflow SDK doesn't yet thread `--plugin-dir` into the claude
|
|
432
|
+
agent adapter. `--install-in-repo` passed to a one-shot run prints a `note:`
|
|
433
|
+
and is a no-op.
|
|
434
|
+
|
|
435
|
+
## Skill staging
|
|
436
|
+
|
|
437
|
+
By default, interactive `claude` sessions stage skills under the user's home
|
|
438
|
+
directory instead of the current repo. Nothing gets written to `.claude/` in
|
|
439
|
+
the working tree, and the session only sees the skills the persona declares
|
|
440
|
+
— never whatever skills the repo happens to carry on disk.
|
|
441
|
+
|
|
442
|
+
**Layout:**
|
|
443
|
+
|
|
444
|
+
```
|
|
445
|
+
~/.agent-workforce/
|
|
446
|
+
└── sessions/<personaId>-<timestamp>-<rand>/
|
|
447
|
+
└── claude/
|
|
448
|
+
└── plugin/ ← passed as --plugin-dir
|
|
449
|
+
├── .claude-plugin/plugin.json ← generated scaffold
|
|
450
|
+
├── skills → .claude/skills ← relative symlink
|
|
451
|
+
└── .claude/skills/<name>/SKILL.md ← prpm install output
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
- **Stage dir** — `~/.agent-workforce/sessions/<id>/claude/plugin/`.
|
|
455
|
+
`<id>` is `<personaId>-<base36-timestamp>-<hex-random>` so parallel
|
|
456
|
+
sessions never collide.
|
|
457
|
+
- **Plugin wrapper** — the CLI writes a minimal `.claude-plugin/plugin.json`
|
|
458
|
+
(`{"name":"agent-workforce-session","version":"0.0.0",…}`) and a relative
|
|
459
|
+
symlink `skills → .claude/skills` so Claude Code's plugin layout
|
|
460
|
+
(`skills/<name>/SKILL.md`) resolves to prpm's actual output
|
|
461
|
+
(`.claude/skills/<name>/SKILL.md`) without moving any files.
|
|
462
|
+
- **prpm install** — still runs `npx -y prpm install <ref> --as claude`,
|
|
463
|
+
but inside `cd <stage-dir>` so the harness-conventional `.claude/skills/`
|
|
464
|
+
lands in the stage dir, not the repo.
|
|
465
|
+
- **Cleanup** — on exit, two cleanup scopes run. The workload-router removes
|
|
466
|
+
`<stage-dir>` (e.g. `.../sessions/<id>/claude/plugin/`) via its generated
|
|
467
|
+
`rm -rf` command. The CLI additionally removes the enclosing session root
|
|
468
|
+
(`.../sessions/<id>/`) so the mount dir and any empty parents don't
|
|
469
|
+
accumulate under `~/.agent-workforce/sessions/`. The provider lockfile
|
|
470
|
+
(`prpm.lock`) is inside the stage dir and goes with it — no repeat-run
|
|
471
|
+
resolution cache today. Restart cost is one prpm install per session.
|
|
472
|
+
|
|
473
|
+
**Opt-out — `--install-in-repo`:**
|
|
474
|
+
|
|
475
|
+
Pass `--install-in-repo` to fall back to the legacy behavior (skills land in
|
|
476
|
+
the repo's `.claude/skills/` directory, cleaned on exit):
|
|
477
|
+
|
|
478
|
+
```sh
|
|
479
|
+
agent-workforce agent --install-in-repo code-reviewer@best
|
|
480
|
+
```
|
|
481
|
+
|
|
482
|
+
Useful when you want to inspect the installed skills on disk, or when the
|
|
483
|
+
stage dir conflicts with something else (network filesystem, read-only
|
|
484
|
+
`$HOME`, etc.).
|
|
485
|
+
|
|
486
|
+
**Caveats for V1:**
|
|
487
|
+
|
|
488
|
+
- **Claude harness only.** codex and opencode continue to install into their
|
|
489
|
+
conventional repo-relative directories. The SDK throws if `installRoot` is
|
|
490
|
+
passed with a non-claude harness.
|
|
491
|
+
- **No cache layer yet.** Every interactive session runs a fresh prpm install
|
|
492
|
+
into a new stage dir. A `~/.agent-workforce/cache/` content-addressed cache
|
|
493
|
+
is planned but not wired up.
|
|
494
|
+
- **One-shot path unchanged.** See the paragraph under "One-shot" above.
|
|
495
|
+
|
|
496
|
+
## Clean mode
|
|
497
|
+
|
|
498
|
+
`--clean` launches an interactive claude session inside a
|
|
499
|
+
[`@relayfile/local-mount`](https://www.npmjs.com/package/@relayfile/local-mount)
|
|
500
|
+
symlink mount that hides the repo's Claude Code configuration from the
|
|
501
|
+
session — so the model sees persona context + user-level context, and
|
|
502
|
+
nothing the repo itself declares.
|
|
503
|
+
|
|
504
|
+
```sh
|
|
505
|
+
agent-workforce agent --clean <persona>[@<tier>]
|
|
506
|
+
```
|
|
507
|
+
|
|
508
|
+
**What's hidden (gitignore semantics, at any depth):**
|
|
509
|
+
|
|
510
|
+
| Pattern | Rationale |
|
|
511
|
+
| --- | --- |
|
|
512
|
+
| `CLAUDE.md` | Repo-level project memory |
|
|
513
|
+
| `CLAUDE.local.md` | Developer-local project memory |
|
|
514
|
+
| `.claude` | Repo Claude Code config dir (settings, agents, skills, commands) |
|
|
515
|
+
| `.mcp.json` | Repo-declared MCP servers |
|
|
516
|
+
|
|
517
|
+
**What's preserved:**
|
|
518
|
+
|
|
519
|
+
- **User-level context** under `~/.claude/` — `CLAUDE.md`, skills, etc.
|
|
520
|
+
still load. `--clean` scrubs the *project*, not the user. To exclude
|
|
521
|
+
user-level context too, launch under a scratch `$HOME`.
|
|
522
|
+
- **Persona skills.** The `--plugin-dir` passed to claude resolves to an
|
|
523
|
+
absolute path *outside* the mount, so staged skills from
|
|
524
|
+
`~/.agent-workforce/sessions/<id>/claude/plugin/` load normally.
|
|
525
|
+
- **Keychain auth.** `--clean` does NOT pass `--bare`; it only hides
|
|
526
|
+
files via the mount. Claude Code's macOS keychain login stays active.
|
|
527
|
+
- **Persona `mcpServers`.** Still passed via `--mcp-config` — unaffected
|
|
528
|
+
by the mount. The repo's `.mcp.json` is hidden regardless.
|
|
529
|
+
|
|
530
|
+
### Session layout
|
|
531
|
+
|
|
532
|
+
Both the skill install root and the clean mount live under a single
|
|
533
|
+
session directory. The session id (`<personaId>-<base36-timestamp>-<hex>`)
|
|
534
|
+
is generated once and both paths are derived from it:
|
|
535
|
+
|
|
536
|
+
```
|
|
537
|
+
~/.agent-workforce/
|
|
538
|
+
└── sessions/<personaId>-<timestamp>-<rand>/
|
|
539
|
+
├── claude/
|
|
540
|
+
│ └── plugin/ ← passed as --plugin-dir
|
|
541
|
+
│ ├── .claude-plugin/plugin.json
|
|
542
|
+
│ ├── skills → .claude/skills
|
|
543
|
+
│ └── .claude/skills/<name>/SKILL.md
|
|
544
|
+
└── mount/ ← --clean: claude's cwd
|
|
545
|
+
└── <mirrored project tree, minus the hidden patterns>
|
|
546
|
+
```
|
|
547
|
+
|
|
548
|
+
`@relayfile/local-mount` handles mount creation, process spawn,
|
|
549
|
+
SIGINT/SIGTERM forwarding, write syncback, and cleanup on exit. The
|
|
550
|
+
agent-workforce CLI just wires the paths and passes the persona's argv.
|
|
551
|
+
|
|
552
|
+
### Interactions with other flags
|
|
553
|
+
|
|
554
|
+
- **`--clean` + `--install-in-repo` is rejected** — they ask for
|
|
555
|
+
incompatible things. `--install-in-repo` stages skills into the real
|
|
556
|
+
repo's `.claude/skills/`; `--clean` hides the real repo. Pick one.
|
|
557
|
+
- **`--clean` on codex/opencode is a warning no-op.** Only the claude
|
|
558
|
+
harness gets the mount (it's the only one whose native surface includes
|
|
559
|
+
the hidden patterns).
|
|
560
|
+
- **`--clean` on a one-shot run is a warning no-op.** The agent-relay
|
|
561
|
+
workflow SDK doesn't thread mount integration today; matches how
|
|
562
|
+
`--install-in-repo` behaves in one-shot mode.
|
|
563
|
+
|
|
564
|
+
### Example
|
|
565
|
+
|
|
566
|
+
```sh
|
|
567
|
+
# Interactive PostHog session with the repo's CLAUDE.md, .claude/, and
|
|
568
|
+
# .mcp.json hidden — session sees the persona's staged skills plus your
|
|
569
|
+
# user-level ~/.claude/CLAUDE.md, nothing else from this repo.
|
|
570
|
+
export POSTHOG_API_KEY=phx_…
|
|
571
|
+
agent-workforce agent --clean posthog@best
|
|
572
|
+
```
|
|
573
|
+
|
|
574
|
+
On exit: mount is synced back to the real repo, then torn down; skill
|
|
575
|
+
stage dir is cleaned up by the existing `rm -rf` cleanup command.
|
|
576
|
+
|
|
417
577
|
## Selecting a harness per tier
|
|
418
578
|
|
|
419
579
|
A persona's three tiers can use different harnesses. The built-in
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,3 +1,26 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
import { type Harness } from '@agentworkforce/workload-router';
|
|
3
|
+
/** Patterns hidden from an interactive claude session when `--clean` is set.
|
|
4
|
+
* Applied by `@relayfile/local-mount` with gitignore semantics, so bare names
|
|
5
|
+
* match at any depth in the project tree (e.g. `.claude` hides both
|
|
6
|
+
* `./.claude/` and `./packages/foo/.claude/`). */
|
|
7
|
+
export declare const CLEAN_IGNORED_PATTERNS: readonly ["CLAUDE.md", "CLAUDE.local.md", ".claude", ".mcp.json"];
|
|
8
|
+
/**
|
|
9
|
+
* Decide whether `--clean` should engage for this run. Returns a warning
|
|
10
|
+
* string when the flag was requested but cannot apply (e.g. non-claude
|
|
11
|
+
* harness); callers emit the warning to stderr and proceed with
|
|
12
|
+
* `useClean: false`. Pure — no side effects, trivially testable.
|
|
13
|
+
*/
|
|
14
|
+
export declare function decideCleanMode(harness: Harness, clean: boolean): {
|
|
15
|
+
useClean: boolean;
|
|
16
|
+
warning?: string;
|
|
17
|
+
};
|
|
18
|
+
export interface AgentFlags {
|
|
19
|
+
installInRepo: boolean;
|
|
20
|
+
clean: boolean;
|
|
21
|
+
}
|
|
22
|
+
export declare function parseAgentArgs(args: readonly string[]): {
|
|
23
|
+
flags: AgentFlags;
|
|
24
|
+
positional: string[];
|
|
25
|
+
};
|
|
3
26
|
//# sourceMappingURL=cli.d.ts.map
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAOA,OAAO,EAOL,KAAK,OAAO,EAMb,MAAM,iCAAiC,CAAC;AA8OzC;;;kDAGkD;AAClD,eAAO,MAAM,sBAAsB,mEAKzB,CAAC;AAEX;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,OAAO,GACb;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CASzC;AAidD,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG;IACvD,KAAK,EAAE,UAAU,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAmCA"}
|
package/dist/cli.js
CHANGED
|
@@ -1,17 +1,37 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { spawn, spawnSync } from 'node:child_process';
|
|
3
|
-
import {
|
|
3
|
+
import { randomBytes } from 'node:crypto';
|
|
4
|
+
import { constants, homedir } from 'node:os';
|
|
5
|
+
import { join, resolve as resolvePath } from 'node:path';
|
|
6
|
+
import { pathToFileURL } from 'node:url';
|
|
4
7
|
import { HARNESS_VALUES, PERSONA_TAGS, PERSONA_TIERS, personaCatalog, routingProfiles, useSelection } from '@agentworkforce/workload-router';
|
|
5
8
|
import { buildInteractiveSpec, detectHarnesses, formatDropWarnings, resolveMcpServersLenient, resolveStringMapLenient } from '@agentworkforce/harness-kit';
|
|
9
|
+
import { launchOnMount } from '@relayfile/local-mount';
|
|
6
10
|
import { loadLocalPersonas } from './local-personas.js';
|
|
7
11
|
const USAGE = `Usage: agent-workforce <command> [args...]
|
|
8
12
|
|
|
9
13
|
Commands:
|
|
10
|
-
agent <persona>[@<tier>] [task...]
|
|
14
|
+
agent [flags] <persona>[@<tier>] [task...]
|
|
11
15
|
Run a persona. Tier one of: ${PERSONA_TIERS.join(' | ')}
|
|
12
16
|
(default: best-value). If [task] is provided, runs one-shot
|
|
13
17
|
non-interactively; otherwise drops into an interactive
|
|
14
18
|
harness session.
|
|
19
|
+
|
|
20
|
+
Flags:
|
|
21
|
+
--install-in-repo Install skills into the repo's
|
|
22
|
+
.claude/skills/ (legacy). By default,
|
|
23
|
+
interactive claude sessions stage
|
|
24
|
+
skills under ~/.agent-workforce/
|
|
25
|
+
sessions/<id>/ and pass --plugin-dir
|
|
26
|
+
so the repo is never touched.
|
|
27
|
+
--clean Launch interactive claude inside a
|
|
28
|
+
@relayfile/local-mount sandbox that
|
|
29
|
+
hides the repo's CLAUDE.md,
|
|
30
|
+
CLAUDE.local.md, .claude, and
|
|
31
|
+
.mcp.json from the session. Persona
|
|
32
|
+
skills and keychain auth are
|
|
33
|
+
preserved. Claude interactive only;
|
|
34
|
+
incompatible with --install-in-repo.
|
|
15
35
|
list [flags] List available personas from the cascade (pwd → home →
|
|
16
36
|
library). By default shows one row per persona at the
|
|
17
37
|
recommended tier for its intent; pass --all to see every
|
|
@@ -159,9 +179,84 @@ function runCleanup(command, commandString) {
|
|
|
159
179
|
return;
|
|
160
180
|
spawnSync(bin, args, { stdio: 'inherit', shell: false });
|
|
161
181
|
}
|
|
162
|
-
|
|
163
|
-
|
|
182
|
+
/**
|
|
183
|
+
* Remove the whole per-session directory after the run, including the
|
|
184
|
+
* enclosing `<homedir>/.agent-workforce/sessions/<id>/` that the CLI
|
|
185
|
+
* created. The workload-router cleanup only covers the install subtree
|
|
186
|
+
* (`<root>/claude/plugin`), so without this step empty parent dirs
|
|
187
|
+
* would accumulate under `~/.agent-workforce/sessions/`.
|
|
188
|
+
*/
|
|
189
|
+
function removeSessionRoot(sessionRoot) {
|
|
190
|
+
if (!sessionRoot)
|
|
191
|
+
return;
|
|
192
|
+
spawnSync('rm', ['-rf', sessionRoot], { stdio: 'ignore', shell: false });
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Compute the absolute root directory for an interactive claude session.
|
|
196
|
+
* Layout (under `root`):
|
|
197
|
+
*
|
|
198
|
+
* ~/.agent-workforce/sessions/<personaId>-<timestamp>-<rand>/
|
|
199
|
+
* ├── claude/plugin/ ← skill install target + --plugin-dir
|
|
200
|
+
* └── mount/ ← @relayfile/local-mount mount (--clean only)
|
|
201
|
+
*
|
|
202
|
+
* The timestamp + random suffix keep concurrent sessions from colliding on
|
|
203
|
+
* the same dir. Both the skill-install path and the mount path are derived
|
|
204
|
+
* from the same `root` so a single session ID describes the whole run.
|
|
205
|
+
*/
|
|
206
|
+
function generateSessionRoot(personaId) {
|
|
207
|
+
const sessionId = `${Date.now().toString(36)}-${randomBytes(4).toString('hex')}`;
|
|
208
|
+
return join(homedir(), '.agent-workforce', 'sessions', `${personaId}-${sessionId}`);
|
|
209
|
+
}
|
|
210
|
+
function sessionInstallRoot(sessionRoot) {
|
|
211
|
+
return join(sessionRoot, 'claude', 'plugin');
|
|
212
|
+
}
|
|
213
|
+
function sessionMountDir(sessionRoot) {
|
|
214
|
+
return join(sessionRoot, 'mount');
|
|
215
|
+
}
|
|
216
|
+
/** Patterns hidden from an interactive claude session when `--clean` is set.
|
|
217
|
+
* Applied by `@relayfile/local-mount` with gitignore semantics, so bare names
|
|
218
|
+
* match at any depth in the project tree (e.g. `.claude` hides both
|
|
219
|
+
* `./.claude/` and `./packages/foo/.claude/`). */
|
|
220
|
+
export const CLEAN_IGNORED_PATTERNS = [
|
|
221
|
+
'CLAUDE.md',
|
|
222
|
+
'CLAUDE.local.md',
|
|
223
|
+
'.claude',
|
|
224
|
+
'.mcp.json'
|
|
225
|
+
];
|
|
226
|
+
/**
|
|
227
|
+
* Decide whether `--clean` should engage for this run. Returns a warning
|
|
228
|
+
* string when the flag was requested but cannot apply (e.g. non-claude
|
|
229
|
+
* harness); callers emit the warning to stderr and proceed with
|
|
230
|
+
* `useClean: false`. Pure — no side effects, trivially testable.
|
|
231
|
+
*/
|
|
232
|
+
export function decideCleanMode(harness, clean) {
|
|
233
|
+
if (!clean)
|
|
234
|
+
return { useClean: false };
|
|
235
|
+
if (harness !== 'claude') {
|
|
236
|
+
return {
|
|
237
|
+
useClean: false,
|
|
238
|
+
warning: `--clean is only supported for the claude harness (this session uses ${harness}). Ignoring flag.`
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
return { useClean: true };
|
|
242
|
+
}
|
|
243
|
+
async function runInteractive(selection, options = {}) {
|
|
164
244
|
const { runtime, personaId, tier } = selection;
|
|
245
|
+
// Out-of-repo staging only applies to the claude harness today (it's the
|
|
246
|
+
// only one with a `--plugin-dir` hook). For codex/opencode, keep the legacy
|
|
247
|
+
// behavior of installing into the repo's harness-conventional directory.
|
|
248
|
+
// The --install-in-repo flag forces legacy behavior across the board.
|
|
249
|
+
const useSessionDir = !options.installInRepo && runtime.harness === 'claude';
|
|
250
|
+
const sessionRoot = useSessionDir ? generateSessionRoot(personaId) : undefined;
|
|
251
|
+
const installRoot = sessionRoot ? sessionInstallRoot(sessionRoot) : undefined;
|
|
252
|
+
// --clean applies to interactive claude only. For non-claude harnesses, warn
|
|
253
|
+
// and drop the flag (same pattern as pluginDirs warnings in buildInteractiveSpec).
|
|
254
|
+
const cleanDecision = decideCleanMode(runtime.harness, options.clean === true);
|
|
255
|
+
if (cleanDecision.warning) {
|
|
256
|
+
process.stderr.write(`warning: ${cleanDecision.warning}\n`);
|
|
257
|
+
}
|
|
258
|
+
const useClean = cleanDecision.useClean;
|
|
259
|
+
const ctx = useSelection(selection, installRoot !== undefined ? { installRoot } : {});
|
|
165
260
|
const { install } = ctx;
|
|
166
261
|
process.stderr.write(`→ ${personaId} [${tier}] via ${runtime.harness} (${runtime.model})\n`);
|
|
167
262
|
const envResolution = resolveStringMapLenient(selection.env, process.env, 'env');
|
|
@@ -169,16 +264,25 @@ function runInteractive(selection) {
|
|
|
169
264
|
emitDropWarnings(formatDropWarnings(envResolution.dropped, mcpResolution.dropped, mcpResolution.droppedServers));
|
|
170
265
|
const resolvedEnv = envResolution.value;
|
|
171
266
|
const resolvedMcp = mcpResolution.servers;
|
|
172
|
-
|
|
267
|
+
// In session mode the install command is never `:` — it at minimum runs
|
|
268
|
+
// the plugin scaffold (mkdir + manifest + symlink) so `--plugin-dir` has a
|
|
269
|
+
// valid target even for skill-less personas like posthog. Gate on the
|
|
270
|
+
// command string rather than `installs.length` so we don't skip that.
|
|
271
|
+
if (install.commandString !== ':') {
|
|
173
272
|
const skillIds = install.plan.installs.map((i) => i.skillId).join(', ');
|
|
174
|
-
|
|
273
|
+
const targetLabel = installRoot ? ` → ${installRoot}` : '';
|
|
274
|
+
const label = install.plan.installs.length === 0
|
|
275
|
+
? `Staging session plugin dir${targetLabel}`
|
|
276
|
+
: `Installing skills: ${skillIds}${targetLabel}`;
|
|
277
|
+
runInstall(install.command, label);
|
|
175
278
|
}
|
|
176
279
|
const spec = buildInteractiveSpec({
|
|
177
280
|
harness: runtime.harness,
|
|
178
281
|
model: runtime.model,
|
|
179
282
|
systemPrompt: runtime.systemPrompt,
|
|
180
283
|
mcpServers: resolvedMcp,
|
|
181
|
-
permissions: selection.permissions
|
|
284
|
+
permissions: selection.permissions,
|
|
285
|
+
...(installRoot !== undefined ? { pluginDirs: [installRoot] } : {})
|
|
182
286
|
});
|
|
183
287
|
for (const w of spec.warnings)
|
|
184
288
|
process.stderr.write(`warning: ${w}\n`);
|
|
@@ -205,7 +309,46 @@ function runInteractive(selection) {
|
|
|
205
309
|
}
|
|
206
310
|
if (spec.initialPrompt)
|
|
207
311
|
summary.push('initial-prompt=<systemPrompt>');
|
|
312
|
+
if (useClean)
|
|
313
|
+
summary.push('clean=on');
|
|
208
314
|
process.stderr.write(`• spawning ${spec.bin} (${summary.join(', ')})\n`);
|
|
315
|
+
// --clean branch: delegate process lifecycle (spawn, signal forwarding,
|
|
316
|
+
// syncback, cleanup) to @relayfile/local-mount. Skill plugin dir lives
|
|
317
|
+
// outside the mount, so claude resolves --plugin-dir normally regardless
|
|
318
|
+
// of cwd.
|
|
319
|
+
if (useClean && sessionRoot) {
|
|
320
|
+
const mountDir = sessionMountDir(sessionRoot);
|
|
321
|
+
process.stderr.write(`• clean mount → ${mountDir}\n`);
|
|
322
|
+
try {
|
|
323
|
+
const result = await launchOnMount({
|
|
324
|
+
cli: spec.bin,
|
|
325
|
+
projectDir: process.cwd(),
|
|
326
|
+
mountDir,
|
|
327
|
+
args: finalArgs,
|
|
328
|
+
ignoredPatterns: [...CLEAN_IGNORED_PATTERNS],
|
|
329
|
+
// launchOnMount passes `env` straight to the child spawn, so without
|
|
330
|
+
// merging process.env we'd strip PATH/HOME/etc. Match the non-clean
|
|
331
|
+
// branch: persona env overlays the inherited environment.
|
|
332
|
+
env: resolvedEnv ? { ...process.env, ...resolvedEnv } : process.env,
|
|
333
|
+
agentName: personaId
|
|
334
|
+
});
|
|
335
|
+
return result.exitCode;
|
|
336
|
+
}
|
|
337
|
+
catch (err) {
|
|
338
|
+
const e = err;
|
|
339
|
+
if (e.code === 'ENOENT') {
|
|
340
|
+
process.stderr.write(`Failed to spawn "${spec.bin}" inside clean mount: binary not found on PATH. Install the ${runtime.harness} CLI and retry.\n`);
|
|
341
|
+
}
|
|
342
|
+
else {
|
|
343
|
+
process.stderr.write(`Failed to launch clean mount: ${e.message}\n`);
|
|
344
|
+
}
|
|
345
|
+
return 127;
|
|
346
|
+
}
|
|
347
|
+
finally {
|
|
348
|
+
runCleanup(install.cleanupCommand, install.cleanupCommandString);
|
|
349
|
+
removeSessionRoot(sessionRoot);
|
|
350
|
+
}
|
|
351
|
+
}
|
|
209
352
|
return new Promise((resolve) => {
|
|
210
353
|
let settled = false;
|
|
211
354
|
const finish = (code) => {
|
|
@@ -213,6 +356,7 @@ function runInteractive(selection) {
|
|
|
213
356
|
return;
|
|
214
357
|
settled = true;
|
|
215
358
|
runCleanup(install.cleanupCommand, install.cleanupCommandString);
|
|
359
|
+
removeSessionRoot(sessionRoot);
|
|
216
360
|
resolve(code);
|
|
217
361
|
};
|
|
218
362
|
const child = spawn(spec.bin, finalArgs, {
|
|
@@ -462,21 +606,90 @@ async function main() {
|
|
|
462
606
|
if (subcommand !== 'agent') {
|
|
463
607
|
die(`Unknown subcommand "${subcommand}".`);
|
|
464
608
|
}
|
|
465
|
-
const
|
|
609
|
+
const { flags, positional } = parseAgentArgs(rest);
|
|
610
|
+
const [selector, ...taskParts] = positional;
|
|
466
611
|
if (!selector)
|
|
467
612
|
die('agent: missing persona selector.');
|
|
468
613
|
const target = parseSelector(selector);
|
|
469
614
|
const selection = buildSelection(target.spec, target.tier, target.kind);
|
|
470
615
|
if (taskParts.length > 0) {
|
|
616
|
+
// One-shot (sendMessage) currently goes through the agent-relay workflow
|
|
617
|
+
// SDK, which doesn't yet thread `--plugin-dir` into claude. For now it
|
|
618
|
+
// keeps the legacy in-repo install regardless of --install-in-repo so
|
|
619
|
+
// skills remain visible to the model. Flipping this requires upstream
|
|
620
|
+
// SDK work on the claude agent adapter.
|
|
621
|
+
if (flags.installInRepo) {
|
|
622
|
+
process.stderr.write('note: --install-in-repo is redundant for one-shot runs (already the current behavior).\n');
|
|
623
|
+
}
|
|
624
|
+
if (flags.clean) {
|
|
625
|
+
// Parallel to --install-in-repo: the agent-relay workflow SDK doesn't
|
|
626
|
+
// thread @relayfile/local-mount integration today, so --clean on a
|
|
627
|
+
// one-shot run is a no-op. Interactive mode gets the sandbox.
|
|
628
|
+
process.stderr.write('note: --clean is ignored for one-shot runs; it currently only applies to interactive claude sessions.\n');
|
|
629
|
+
}
|
|
471
630
|
await runOneShot(selection, taskParts.join(' '));
|
|
472
631
|
}
|
|
473
632
|
else {
|
|
474
|
-
const code = await runInteractive(selection
|
|
633
|
+
const code = await runInteractive(selection, {
|
|
634
|
+
installInRepo: flags.installInRepo,
|
|
635
|
+
clean: flags.clean
|
|
636
|
+
});
|
|
475
637
|
process.exit(code);
|
|
476
638
|
}
|
|
477
639
|
}
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
640
|
+
export function parseAgentArgs(args) {
|
|
641
|
+
const flags = { installInRepo: false, clean: false };
|
|
642
|
+
const positional = [];
|
|
643
|
+
let seenDoubleDash = false;
|
|
644
|
+
for (const arg of args) {
|
|
645
|
+
if (seenDoubleDash) {
|
|
646
|
+
positional.push(arg);
|
|
647
|
+
continue;
|
|
648
|
+
}
|
|
649
|
+
if (arg === '--') {
|
|
650
|
+
seenDoubleDash = true;
|
|
651
|
+
continue;
|
|
652
|
+
}
|
|
653
|
+
if (arg === '--install-in-repo') {
|
|
654
|
+
flags.installInRepo = true;
|
|
655
|
+
continue;
|
|
656
|
+
}
|
|
657
|
+
if (arg === '--clean') {
|
|
658
|
+
flags.clean = true;
|
|
659
|
+
continue;
|
|
660
|
+
}
|
|
661
|
+
if (arg === '-h' || arg === '--help') {
|
|
662
|
+
process.stdout.write(USAGE);
|
|
663
|
+
process.exit(0);
|
|
664
|
+
}
|
|
665
|
+
positional.push(arg);
|
|
666
|
+
}
|
|
667
|
+
if (flags.installInRepo && flags.clean) {
|
|
668
|
+
die('agent: --install-in-repo and --clean are mutually exclusive. ' +
|
|
669
|
+
'--install-in-repo stages skills into the real repo; --clean hides ' +
|
|
670
|
+
'the repo behind a mount. Pick one.');
|
|
671
|
+
}
|
|
672
|
+
return { flags, positional };
|
|
673
|
+
}
|
|
674
|
+
// Only run main when invoked as the CLI entry, not when imported by tests.
|
|
675
|
+
// Node ESM: import.meta.url is the module URL; argv[1] is the entry script
|
|
676
|
+
// path, which may be relative (e.g. `node ./dist/cli.js`) and pathToFileURL
|
|
677
|
+
// throws on relative paths. Resolve to absolute first.
|
|
678
|
+
const isCliEntry = (() => {
|
|
679
|
+
const entry = process.argv[1];
|
|
680
|
+
if (!entry)
|
|
681
|
+
return false;
|
|
682
|
+
try {
|
|
683
|
+
return import.meta.url === pathToFileURL(resolvePath(entry)).href;
|
|
684
|
+
}
|
|
685
|
+
catch {
|
|
686
|
+
return false;
|
|
687
|
+
}
|
|
688
|
+
})();
|
|
689
|
+
if (isCliEntry) {
|
|
690
|
+
main().catch((err) => {
|
|
691
|
+
process.stderr.write(`${err?.stack ?? String(err)}\n`);
|
|
692
|
+
process.exit(1);
|
|
693
|
+
});
|
|
694
|
+
}
|
|
482
695
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EACL,cAAc,EACd,YAAY,EACZ,aAAa,EACb,cAAc,EACd,eAAe,EACf,YAAY,EAOb,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EAGxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAsB,MAAM,qBAAqB,CAAC;AAE5E,MAAM,KAAK,GAAG;;;;oDAIsC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;yDA4BpB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;;yDAEzB,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;;yDAE1B,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;CAiBhF,CAAC;AAEF,SAAS,GAAG,CAAC,GAAW,EAAE,SAAS,GAAG,IAAI;IACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IACjC,IAAI,SAAS;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;IAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,KAAK,GAAG,iBAAiB,EAAE,CAAC;AAClC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;IACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,OAAO,IAAI,CAAC,CAAC;AAChD,CAAC;AAMD,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAChC,MAAM,eAAe,GAAI,cAA8C,CAAC,GAAG,CAAC,CAAC;IAC7E,IAAI,eAAe;QAAE,OAAO,eAAe,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;IACrE,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAEtB,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;SAC9C,KAAK,EAAE;SACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACxC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;SAC1C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACxC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,OAAO,EAAE,KAAK,EAAE,oBAAoB,GAAG,uBAAuB,OAAO,EAAE,EAAE,CAAC;AAC5E,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1D,IAAI,CAAC,GAAG;QAAE,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,YAAY,CAAgB,CAAC;IACtD,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,iBAAiB,OAAO,sBAAsB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,OAAO,IAAI,MAAM;QAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IACpD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,cAAc,CAAC,IAAiB,EAAE,IAAiB,EAAE,IAAsB;IAClF,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,EAAE;QAClB,IAAI;QACJ,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,SAAS,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,mBAAmB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,sBAAsB,IAAI,EAAE;QACzF,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAe;IACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC;IACrE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,wKAAwK,CACzK,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,SAA2B,EAC3B,IAAY;IAEZ,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,SAAS,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,KAAK,KAAK,CAC3F,CAAC;IAEF,MAAM,aAAa,GAAG,uBAAuB,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACjF,gBAAgB,CAAC,kBAAkB,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAEpE,IAAI,SAAS,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,uJAAuJ,CACxJ,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE;QACtC,GAAG,EAAE,aAAa,CAAC,KAAK;QACxB,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;YAC/B,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtE,CAAC;KACF,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,GAEb,CAAC;QACF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,QAAQ,CAAC;QAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,MAAM,KAAK,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,MAA6B;IACnD,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IACtB,MAAM,GAAG,GAAI,SAAS,CAAC,OAA8C,CAAC,MAAM,CAAC,CAAC;IAC9E,OAAO,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,UAAU,CAAC,OAA0B,EAAE,KAAa;IAC3D,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC;IAC/B,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACrE,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;QAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,iBAAiB,IAAI,gBAAgB,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,OAA0B,EAAE,aAAqB;IACnE,IAAI,aAAa,KAAK,GAAG;QAAE,OAAO;IAClC,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC;IAC/B,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,WAA+B;IACxD,IAAI,CAAC,WAAW;QAAE,OAAO;IACzB,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,mBAAmB,CAAC,SAAiB;IAC5C,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IACjF,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,kBAAkB,EAAE,UAAU,EAAE,GAAG,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAmB;IAC7C,OAAO,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,eAAe,CAAC,WAAmB;IAC1C,OAAO,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAED;;;kDAGkD;AAClD,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,WAAW;IACX,iBAAiB;IACjB,SAAS;IACT,WAAW;CACH,CAAC;AAEX;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAgB,EAChB,KAAc;IAEd,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACvC,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,uEAAuE,OAAO,mBAAmB;SAC3G,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,SAA2B,EAC3B,UAAwD,EAAE;IAE1D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;IAC/C,yEAAyE;IACzE,4EAA4E;IAC5E,yEAAyE;IACzE,sEAAsE;IACtE,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC;IAC7E,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,6EAA6E;IAC7E,mFAAmF;IACnF,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IAC/E,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,aAAa,CAAC,OAAO,IAAI,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;IACxC,MAAM,GAAG,GAAG,YAAY,CACtB,SAAS,EACT,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CACjD,CAAC;IACF,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;IACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,KAAK,IAAI,SAAS,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC;IAE7F,MAAM,aAAa,GAAG,uBAAuB,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACjF,MAAM,aAAa,GAAG,wBAAwB,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAClF,gBAAgB,CACd,kBAAkB,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,CAC/F,CAAC;IACF,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC;IACxC,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC;IAE1C,wEAAwE;IACxE,2EAA2E;IAC3E,sEAAsE;IACtE,sEAAsE;IACtE,IAAI,OAAO,CAAC,aAAa,KAAK,GAAG,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,MAAM,KAAK,GACT,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAChC,CAAC,CAAC,6BAA6B,WAAW,EAAE;YAC5C,CAAC,CAAC,sBAAsB,QAAQ,GAAG,WAAW,EAAE,CAAC;QACrD,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,IAAI,GAAG,oBAAoB,CAAC;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,UAAU,EAAE,WAAW;QACvB,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC,CAAC;IACH,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAE3F,2EAA2E;IAC3E,sEAAsE;IACtE,2EAA2E;IAC3E,wEAAwE;IACxE,2EAA2E;IAC3E,4CAA4C;IAC5C,MAAM,OAAO,GAAa,CAAC,SAAS,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACrD,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5E,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,UAAU,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,QAAQ,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,QAAQ,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,aAAa;QAAE,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACtE,IAAI,QAAQ;QAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEzE,wEAAwE;IACxE,uEAAuE;IACvE,yEAAyE;IACzE,UAAU;IACV,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,QAAQ,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;gBACjC,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE;gBACzB,QAAQ;gBACR,IAAI,EAAE,SAAS;gBACf,eAAe,EAAE,CAAC,GAAG,sBAAsB,CAAC;gBAC5C,qEAAqE;gBACrE,oEAAoE;gBACpE,0DAA0D;gBAC1D,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG;gBACnE,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,QAAQ,CAAC;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,GAA4B,CAAC;YACvC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,oBAAoB,IAAI,CAAC,GAAG,+DAA+D,OAAO,CAAC,OAAO,mBAAmB,CAC9H,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;YACvE,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;YACjE,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;YAC9B,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;YACjE,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE;YACvC,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG;SACpE,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,CAAC,MAAsB,EAAE,EAAE;YACzC,IAAI,CAAC,KAAK,CAAC,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QAEhD,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YAChC,MAAM,CAAC,IAAI,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;YAC/C,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,oBAAoB,IAAI,CAAC,GAAG,4CAA4C,OAAO,CAAC,OAAO,mBAAmB,CAC3G,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;YAC1E,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAuC;IACtE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/B,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACtC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;QAC7C,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;KACvD,CAAC,CAAC,CAAC;IACJ,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC/F,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAC;IACjE,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAC/B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAC1C,CAAC;IAC3C,MAAM,IAAI,GAAG,CAAC,GAA0C,EAAE,EAAE,CAC1D,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;IACjE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC9D,CAAC;AAaD,SAAS,kBAAkB;IACzB,MAAM,IAAI,GAAqB,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,CAAC,IAAiB,EAAE,MAAqB,EAAQ,EAAE;QAClE,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC;gBACR,OAAO,EAAE,IAAI,CAAC,EAAE;gBAChB,MAAM;gBACN,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO;gBACjC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK;gBAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACpC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,SAAS;QAChC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAU,CAAC,CAAC,CAAC;IACxE,OAAO,IAAI,CAAC,IAAI,CACd,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;QAClC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAE,CAAC,CACxD,CAAC;AACJ,CAAC;AAMD,SAAS,kBAAkB,CACzB,IAA+B,EAC/B,OAA2B;IAW3B,MAAM,OAAO,GAAc;QACzB,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,aAAa;KAC3B,CAAC;IACF,MAAM,QAAQ,GAAgB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7C,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACtB,WAAW,EAAE,CAAC,CAAC,WAAW;KAC3B,CAAC,CAAC,CAAC;IACJ,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnF,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChF,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnF,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7E,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChF,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1E,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;KACxC,CAAC;IACF,MAAM,SAAS,GACb,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACpG,MAAM,KAAK,GACT,MAAM,CAAC,OAAO;QACd,MAAM,CAAC,MAAM;QACb,MAAM,CAAC,OAAO;QACd,MAAM,CAAC,KAAK;QACZ,MAAM,CAAC,MAAM;QACb,MAAM,CAAC,IAAI;QACX,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IACtG,MAAM,IAAI,GAAG,CAAC,GAAc,EAAE,EAAE;QAC9B,MAAM,KAAK,GAAG;YACZ,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;YAClC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;YAChC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;YAClC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YAC9B,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;SAC7B,CAAC;QACF,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;IACpC,CAAC,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAClE,CAAC;AAED,SAAS,aAAa,CAAC,IAAuB;IAS5C,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,YAAqC,CAAC;IAC1C,IAAI,oBAAoB,GAAG,KAAK,CAAC;IACjC,IAAI,aAAkC,CAAC;IACvC,IAAI,SAAiC,CAAC;IACtC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,OAAO,GAAuB,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAE1D,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,IAAY,EAAU,EAAE;QAClD,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,SAAS,IAAI,oBAAoB,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5C,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sJAAsJ,CACvJ,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,kBAAkB,EAAE,CAAC;YACzD,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;aAAM,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YACnC,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;aAAM,IAAI,GAAG,KAAK,iBAAiB,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAE,aAAmC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtD,GAAG,CAAC,kCAAkC,CAAC,sBAAsB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3F,CAAC;YACD,YAAY,GAAG,CAAgB,CAAC;YAChC,oBAAoB,GAAG,IAAI,CAAC;QAC9B,CAAC;aAAM,IAAI,GAAG,KAAK,kBAAkB,EAAE,CAAC;YACtC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAE,cAAoC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,mCAAmC,CAAC,sBAAsB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7F,CAAC;YACD,aAAa,GAAG,CAAY,CAAC;QAC/B,CAAC;aAAM,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAE,YAAkC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,GAAG,CAAC,+BAA+B,CAAC,sBAAsB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvF,CAAC;YACD,SAAS,GAAG,CAAe,CAAC;QAC9B,CAAC;aAAM,IAAI,GAAG,KAAK,uBAAuB,EAAE,CAAC;YAC3C,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAC7B,CAAC;aAAM,IAAI,GAAG,KAAK,0BAA0B,EAAE,CAAC;YAC9C,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,8BAA8B,GAAG,IAAI,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAClG,CAAC;AAED,SAAS,OAAO,CAAC,IAAuB;IACtC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAC5F,aAAa,CAAC,IAAI,CAAC,CAAC;IAEtB,MAAM,mBAAmB,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC;IAC5D,MAAM,gBAAgB,GAAG,CAAC,OAAO,IAAI,CAAC,oBAAoB,CAAC;IAE3D,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7C,IAAI,YAAY,IAAI,CAAC,CAAC,MAAM,KAAK,YAAY;YAAE,OAAO,KAAK,CAAC;QAC5D,IAAI,aAAa,IAAI,CAAC,CAAC,OAAO,KAAK,aAAa;YAAE,OAAO,KAAK,CAAC;QAC/D,IAAI,SAAS,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3D,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,MAAuB,CAAC,CAAC;YAC5D,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI;gBAAE,OAAO,KAAK,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACtD,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,8DAA8D,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,gBAAgB,IAAI,CAAC,MAAM,UAAU,MAAM,KAAK,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,eAAe;IACtB,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;IAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,2BAA2B,CAAC,CAAC;IAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAEnC,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAClE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACtD,GAAG,CAAC,0CAA0C,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,GAAG,CAAC,4BAA4B,MAAM,oBAAoB,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,GAAG,CAAC,uCAAuC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3D,CAAC;QACD,eAAe,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QAC3B,GAAG,CAAC,uBAAuB,UAAU,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,GAAG,UAAU,CAAC;IAC5C,IAAI,CAAC,QAAQ;QAAE,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAExE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,yEAAyE;QACzE,uEAAuE;QACvE,sEAAsE;QACtE,sEAAsE;QACtE,wCAAwC;QACxC,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,0FAA0F,CAC3F,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,sEAAsE;YACtE,mEAAmE;YACnE,8DAA8D;YAC9D,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,yGAAyG,CAC1G,CAAC;QACJ,CAAC;QACD,MAAM,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE;YAC3C,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;AACH,CAAC;AAOD,MAAM,UAAU,cAAc,CAAC,IAAuB;IAIpD,MAAM,KAAK,GAAe,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACjE,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,cAAc,EAAE,CAAC;YACnB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,cAAc,GAAG,IAAI,CAAC;YACtB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,mBAAmB,EAAE,CAAC;YAChC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;YAC3B,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACvC,GAAG,CACD,+DAA+D;YAC7D,oEAAoE;YACpE,oCAAoC,CACvC,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC/B,CAAC;AAED,2EAA2E;AAC3E,2EAA2E;AAC3E,4EAA4E;AAC5E,uDAAuD;AACvD,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE;IACvB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AAEL,IAAI,UAAU,EAAE,CAAC;IACf,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAI,GAAa,EAAE,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.test.d.ts","sourceRoot":"","sources":["../src/cli.test.ts"],"names":[],"mappings":""}
|
package/dist/cli.test.js
ADDED
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import test from 'node:test';
|
|
2
|
+
import assert from 'node:assert/strict';
|
|
3
|
+
import { CLEAN_IGNORED_PATTERNS, decideCleanMode, parseAgentArgs } from './cli.js';
|
|
4
|
+
function trapExit() {
|
|
5
|
+
const trap = {
|
|
6
|
+
exits: [],
|
|
7
|
+
stderr: '',
|
|
8
|
+
stdout: '',
|
|
9
|
+
restore: () => {
|
|
10
|
+
/* replaced below */
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
const origExit = process.exit;
|
|
14
|
+
const origErr = process.stderr.write.bind(process.stderr);
|
|
15
|
+
const origOut = process.stdout.write.bind(process.stdout);
|
|
16
|
+
const fakeExit = ((code) => {
|
|
17
|
+
trap.exits.push(code ?? 0);
|
|
18
|
+
throw new Error(`__exit_trap__:${code ?? 0}`);
|
|
19
|
+
});
|
|
20
|
+
process.exit = fakeExit;
|
|
21
|
+
process.stderr.write = ((chunk) => {
|
|
22
|
+
trap.stderr += typeof chunk === 'string' ? chunk : chunk.toString();
|
|
23
|
+
return true;
|
|
24
|
+
});
|
|
25
|
+
process.stdout.write = ((chunk) => {
|
|
26
|
+
trap.stdout += typeof chunk === 'string' ? chunk : chunk.toString();
|
|
27
|
+
return true;
|
|
28
|
+
});
|
|
29
|
+
trap.restore = () => {
|
|
30
|
+
process.exit = origExit;
|
|
31
|
+
process.stderr.write = origErr;
|
|
32
|
+
process.stdout.write = origOut;
|
|
33
|
+
};
|
|
34
|
+
return trap;
|
|
35
|
+
}
|
|
36
|
+
test('parseAgentArgs: --clean sets flag and preserves positional selector', () => {
|
|
37
|
+
const { flags, positional } = parseAgentArgs(['--clean', 'posthog@best']);
|
|
38
|
+
assert.equal(flags.clean, true);
|
|
39
|
+
assert.equal(flags.installInRepo, false);
|
|
40
|
+
assert.deepEqual(positional, ['posthog@best']);
|
|
41
|
+
});
|
|
42
|
+
test('parseAgentArgs: --clean accepts a task after the selector', () => {
|
|
43
|
+
const { flags, positional } = parseAgentArgs([
|
|
44
|
+
'--clean',
|
|
45
|
+
'review@best-value',
|
|
46
|
+
'look at the diff'
|
|
47
|
+
]);
|
|
48
|
+
assert.equal(flags.clean, true);
|
|
49
|
+
assert.deepEqual(positional, ['review@best-value', 'look at the diff']);
|
|
50
|
+
});
|
|
51
|
+
test('parseAgentArgs: no flags → both false', () => {
|
|
52
|
+
const { flags, positional } = parseAgentArgs(['posthog']);
|
|
53
|
+
assert.equal(flags.clean, false);
|
|
54
|
+
assert.equal(flags.installInRepo, false);
|
|
55
|
+
assert.deepEqual(positional, ['posthog']);
|
|
56
|
+
});
|
|
57
|
+
test('parseAgentArgs: --clean + --install-in-repo rejected with clear message', () => {
|
|
58
|
+
const trap = trapExit();
|
|
59
|
+
try {
|
|
60
|
+
assert.throws(() => parseAgentArgs(['--clean', '--install-in-repo', 'posthog']), /__exit_trap__:1/);
|
|
61
|
+
assert.deepEqual(trap.exits, [1]);
|
|
62
|
+
assert.match(trap.stderr, /mutually exclusive/);
|
|
63
|
+
assert.match(trap.stderr, /--install-in-repo/);
|
|
64
|
+
assert.match(trap.stderr, /--clean/);
|
|
65
|
+
}
|
|
66
|
+
finally {
|
|
67
|
+
trap.restore();
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
test('parseAgentArgs: flag conflict rejected regardless of flag order', () => {
|
|
71
|
+
const trap = trapExit();
|
|
72
|
+
try {
|
|
73
|
+
assert.throws(() => parseAgentArgs(['--install-in-repo', '--clean', 'posthog']), /__exit_trap__:1/);
|
|
74
|
+
assert.match(trap.stderr, /mutually exclusive/);
|
|
75
|
+
}
|
|
76
|
+
finally {
|
|
77
|
+
trap.restore();
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
test('parseAgentArgs: -- stops flag parsing, positional args after are preserved', () => {
|
|
81
|
+
const { flags, positional } = parseAgentArgs([
|
|
82
|
+
'--clean',
|
|
83
|
+
'--',
|
|
84
|
+
'--install-in-repo',
|
|
85
|
+
'posthog'
|
|
86
|
+
]);
|
|
87
|
+
// --install-in-repo AFTER `--` is positional, not a flag, so no conflict.
|
|
88
|
+
assert.equal(flags.clean, true);
|
|
89
|
+
assert.equal(flags.installInRepo, false);
|
|
90
|
+
assert.deepEqual(positional, ['--install-in-repo', 'posthog']);
|
|
91
|
+
});
|
|
92
|
+
test('decideCleanMode: clean=false → no-op regardless of harness', () => {
|
|
93
|
+
assert.deepEqual(decideCleanMode('claude', false), { useClean: false });
|
|
94
|
+
assert.deepEqual(decideCleanMode('codex', false), { useClean: false });
|
|
95
|
+
assert.deepEqual(decideCleanMode('opencode', false), { useClean: false });
|
|
96
|
+
});
|
|
97
|
+
test('decideCleanMode: claude + clean → engaged', () => {
|
|
98
|
+
assert.deepEqual(decideCleanMode('claude', true), { useClean: true });
|
|
99
|
+
});
|
|
100
|
+
test('decideCleanMode: non-claude + clean → disengaged with warning naming harness', () => {
|
|
101
|
+
const codex = decideCleanMode('codex', true);
|
|
102
|
+
assert.equal(codex.useClean, false);
|
|
103
|
+
assert.match(codex.warning ?? '', /claude harness/);
|
|
104
|
+
assert.match(codex.warning ?? '', /codex/);
|
|
105
|
+
const opencode = decideCleanMode('opencode', true);
|
|
106
|
+
assert.equal(opencode.useClean, false);
|
|
107
|
+
assert.match(opencode.warning ?? '', /opencode/);
|
|
108
|
+
});
|
|
109
|
+
test('CLEAN_IGNORED_PATTERNS: covers the declared repo-level claude config files', () => {
|
|
110
|
+
// Pinned order + exact set — canary for anyone accidentally shrinking the
|
|
111
|
+
// hidden-from-session footprint. Expand via review, not silently.
|
|
112
|
+
assert.deepEqual([...CLEAN_IGNORED_PATTERNS], [
|
|
113
|
+
'CLAUDE.md',
|
|
114
|
+
'CLAUDE.local.md',
|
|
115
|
+
'.claude',
|
|
116
|
+
'.mcp.json'
|
|
117
|
+
]);
|
|
118
|
+
});
|
|
119
|
+
// Integration-ish subprocess helper: spawn the built CLI, collect stderr,
|
|
120
|
+
// and return once the child exits. We force the harness binary to fail to
|
|
121
|
+
// spawn (PATH scrubbed) so these runs terminate quickly regardless of what
|
|
122
|
+
// the dispatch path tries next — the assertions target stderr shape alone.
|
|
123
|
+
async function runCliCapturingStderr(args) {
|
|
124
|
+
const { spawn } = await import('node:child_process');
|
|
125
|
+
const { fileURLToPath } = await import('node:url');
|
|
126
|
+
const { join, dirname } = await import('node:path');
|
|
127
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
128
|
+
// Tests run out of dist/, so cli.js is a sibling.
|
|
129
|
+
const cliPath = join(here, 'cli.js');
|
|
130
|
+
const child = spawn(process.execPath, [cliPath, ...args], {
|
|
131
|
+
env: {
|
|
132
|
+
...process.env,
|
|
133
|
+
// Force any harness spawn to ENOENT so the run terminates quickly.
|
|
134
|
+
PATH: '/nonexistent-path-for-test',
|
|
135
|
+
POSTHOG_API_KEY: 'dummy'
|
|
136
|
+
},
|
|
137
|
+
stdio: ['ignore', 'pipe', 'pipe']
|
|
138
|
+
});
|
|
139
|
+
let stderr = '';
|
|
140
|
+
child.stderr.on('data', (buf) => {
|
|
141
|
+
stderr += buf.toString();
|
|
142
|
+
});
|
|
143
|
+
const exitCode = await new Promise((resolve) => {
|
|
144
|
+
let settled = false;
|
|
145
|
+
child.on('exit', (code) => {
|
|
146
|
+
if (settled)
|
|
147
|
+
return;
|
|
148
|
+
settled = true;
|
|
149
|
+
resolve(code);
|
|
150
|
+
});
|
|
151
|
+
// Safety net — kill after 15s so a hung subprocess never wedges the suite.
|
|
152
|
+
setTimeout(() => {
|
|
153
|
+
if (child.exitCode === null) {
|
|
154
|
+
child.kill('SIGKILL');
|
|
155
|
+
if (!settled) {
|
|
156
|
+
settled = true;
|
|
157
|
+
resolve(null);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}, 15_000);
|
|
161
|
+
});
|
|
162
|
+
return { stderr, exitCode };
|
|
163
|
+
}
|
|
164
|
+
test('main: --clean on a one-shot run emits the ignore note', async () => {
|
|
165
|
+
const { stderr } = await runCliCapturingStderr([
|
|
166
|
+
'agent',
|
|
167
|
+
'--clean',
|
|
168
|
+
'posthog',
|
|
169
|
+
'hello'
|
|
170
|
+
]);
|
|
171
|
+
assert.match(stderr, /--clean is ignored for one-shot runs/);
|
|
172
|
+
});
|
|
173
|
+
test('main: --clean on an interactive non-claude session warns and proceeds without mount', async () => {
|
|
174
|
+
// npm-provenance-publisher@best runs on codex. --clean should warn and the
|
|
175
|
+
// run should continue down the non-mount spawn path (which then fails to
|
|
176
|
+
// spawn codex because PATH is scrubbed). We should NEVER see a
|
|
177
|
+
// "clean mount → …" line, which the clean branch emits before calling
|
|
178
|
+
// launchOnMount.
|
|
179
|
+
const { stderr } = await runCliCapturingStderr([
|
|
180
|
+
'agent',
|
|
181
|
+
'--clean',
|
|
182
|
+
'npm-provenance-publisher@best'
|
|
183
|
+
]);
|
|
184
|
+
assert.match(stderr, /--clean is only supported for the claude harness/, 'expected non-claude clean warning to surface');
|
|
185
|
+
assert.ok(!/clean mount →/.test(stderr), `expected the clean mount branch to be skipped; saw stderr:\n${stderr}`);
|
|
186
|
+
});
|
|
187
|
+
//# sourceMappingURL=cli.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.test.js","sourceRoot":"","sources":["../src/cli.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentworkforce/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -13,8 +13,9 @@
|
|
|
13
13
|
"package.json"
|
|
14
14
|
],
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@
|
|
17
|
-
"@agentworkforce/workload-router": "0.3.0"
|
|
16
|
+
"@relayfile/local-mount": "^0.2.0",
|
|
17
|
+
"@agentworkforce/workload-router": "0.3.0",
|
|
18
|
+
"@agentworkforce/harness-kit": "0.1.0"
|
|
18
19
|
},
|
|
19
20
|
"repository": {
|
|
20
21
|
"type": "git",
|