@tacuchi/agent-workflow-cli 18.0.0 → 19.1.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 +11 -11
- package/dist/application/self/install-skill.d.ts +17 -3
- package/dist/application/self/install-skill.d.ts.map +1 -1
- package/dist/application/self/install-skill.js +206 -109
- package/dist/application/self/install-skill.js.map +1 -1
- package/dist/application/self/skills-manager.d.ts +11 -1
- package/dist/application/self/skills-manager.d.ts.map +1 -1
- package/dist/application/self/skills-manager.js +88 -44
- package/dist/application/self/skills-manager.js.map +1 -1
- package/dist/application/self/uninstall.d.ts.map +1 -1
- package/dist/application/self/uninstall.js +23 -12
- package/dist/application/self/uninstall.js.map +1 -1
- package/dist/cli/tui/tabs/skills-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/skills-tab.js +7 -4
- package/dist/cli/tui/tabs/skills-tab.js.map +1 -1
- package/dist/domain/harnesses.d.ts.map +1 -1
- package/dist/domain/harnesses.js +20 -10
- package/dist/domain/harnesses.js.map +1 -1
- package/dist/domain/skills.js +1 -1
- package/dist/domain/skills.js.map +1 -1
- package/package.json +1 -1
- package/skills/w/README.md +4 -4
- package/skills/w/SKILL.md +7 -7
- package/skills/w/artifacts/artifacts-design/SPEC.md +2 -2
- package/skills/w/commands/README.md +3 -3
- package/skills/w/commands/export-diagrams.md +2 -2
- package/skills/w/commands/export-manuals.md +2 -2
- package/skills/w/commands/export-reports.md +2 -2
- package/skills/w/commands/export-scripts.md +2 -2
- package/skills/w/commands/fix-git.md +2 -2
- package/skills/w/commands/plan-exec.md +3 -3
- package/skills/w/commands/plan-new.md +3 -3
- package/skills/w/commands/plan-refine.md +3 -3
- package/skills/w/commands/quick.md +4 -4
- package/skills/w/commands/spec-new.md +3 -3
- package/skills/w/commands/spec-refine.md +2 -2
- package/skills/w/exports/README.md +11 -11
- package/skills/w/exports/export-diagrams/{SKILL.md → EXPORT.md} +2 -2
- package/skills/w/exports/export-manuals/{SKILL.md → EXPORT.md} +2 -2
- package/skills/w/exports/export-reports/{SKILL.md → EXPORT.md} +2 -2
- package/skills/w/exports/export-scripts/{SKILL.md → EXPORT.md} +2 -2
- package/skills/w/harness/{SKILL.md → HARNESS.md} +15 -4
- package/skills/w/loops/CHASSIS.md +8 -8
- package/skills/w/loops/CODE-POLICIES.md +2 -2
- package/skills/w/loops/README.md +12 -12
- package/skills/w/loops/plan-exec-loop/{SKILL.md → LOOP.md} +1 -1
- package/skills/w/loops/plan-new-loop/{SKILL.md → LOOP.md} +3 -3
- package/skills/w/loops/plan-refine-loop/{SKILL.md → LOOP.md} +3 -3
- package/skills/w/loops/quick-loop/{SKILL.md → LOOP.md} +2 -2
- package/skills/w/loops/spec-refine-loop/{SKILL.md → LOOP.md} +2 -2
- package/skills/w/roles/README.md +9 -9
- package/skills/w/roles/git/{SKILL.md → ROLE.md} +1 -1
- package/skills/w/roles/research/{SKILL.md → ROLE.md} +1 -1
- package/skills/w/roles/ui-spec/{SKILL.md → ROLE.md} +3 -3
- /package/skills/w/roles/diagrams/{SKILL.md → ROLE.md} +0 -0
- /package/skills/w/roles/sql/{SKILL.md → ROLE.md} +0 -0
package/README.md
CHANGED
|
@@ -44,18 +44,18 @@ By default the CLI clears the target host's plugin cache before installing (opt
|
|
|
44
44
|
|
|
45
45
|
`self install --target <host>` installs **SKILL + user-level slash commands + hooks** in one shot, scaled to what the host supports:
|
|
46
46
|
|
|
47
|
-
| Host | SKILL | User-level commands
|
|
47
|
+
| Host | SKILL | User-level commands | Hooks |
|
|
48
48
|
|---|---|---|---|
|
|
49
|
-
| `claude` | `~/.claude/skills/w/` | `~/.claude/commands/w/<n>.md` | `~/.claude/settings.json` (JSON merge + backup) |
|
|
50
|
-
| `codex` | `~/.codex/skills/w/` | `~/.codex/
|
|
51
|
-
| `warp` | `~/.warp/skills/w/` |
|
|
52
|
-
| `oz` | `~/.agents/skills/w/` |
|
|
53
|
-
| `agents` | `~/.agents/skills/w/` | skipped | skipped |
|
|
54
|
-
| `gemini` | `~/.gemini/skills/w/` |
|
|
55
|
-
| `opencode` | `~/.opencode/skills/w/` |
|
|
56
|
-
| `crush` | `~/.crush/skills/w/` |
|
|
57
|
-
|
|
58
|
-
|
|
49
|
+
| `claude` | `~/.claude/skills/w/` | `~/.claude/commands/w/<n>.md` → `/w:<n>` | `~/.claude/settings.json` (JSON merge + backup) |
|
|
50
|
+
| `codex` | `~/.codex/skills/w/` | synthesized skills `~/.codex/skills/w-<n>/` → `$w-<n>` (Codex reads no commands dir) | skipped (config.toml not yet wired) |
|
|
51
|
+
| `warp` | `~/.warp/skills/w/` | synthesized skills `~/.warp/skills/w-<n>/` → `/w-<n>` | skipped (no hook system) |
|
|
52
|
+
| `oz` | `~/.agents/skills/w/` | synthesized skills `~/.agents/skills/w-<n>/` | skipped |
|
|
53
|
+
| `agents` | `~/.agents/skills/w/` | skipped (shared dir, not a host) | skipped |
|
|
54
|
+
| `gemini` | `~/.gemini/skills/w/` | synthesized skills `~/.gemini/skills/w-<n>/` (Antigravity `agy`) + `~/.gemini/commands/w/<n>.toml` → `/w:<n>` (legacy Gemini CLI) | skipped |
|
|
55
|
+
| `opencode` | `~/.opencode/skills/w/` | `~/.opencode/command/w/<n>.md` → `/w/<n>` | skipped |
|
|
56
|
+
| `crush` | `~/.crush/skills/w/` | `~/.crush/commands/w/<n>.md` → palette `user:w:<n>` | skipped |
|
|
57
|
+
|
|
58
|
+
The bundle's internal manuals (`loops/*/LOOP.md`, `roles/*/ROLE.md`, `exports/*/EXPORT.md`, `harness/HARNESS.md`) are deliberately **not** `SKILL.md` files, so hosts that scan skill roots recursively (Codex, OpenCode, Crush) never list them as invocable skills — only the commands and the `w` orientation skill surface. Where a layer is skipped, the SKILL is sufficient — the AI reads it and invokes `agent-workflow <subcommand>` directly.
|
|
59
59
|
|
|
60
60
|
Opt-out flags: `--skill-only`, `--no-commands`, `--no-hooks`. Override the source with `--from /path/to/skills/w`. Other flags: `--confirm-all` (required with `--target all`), `--keep-cache`, `--force`, `--dry-run`.
|
|
61
61
|
|
|
@@ -30,8 +30,9 @@ export interface SelfInstallTargetResult {
|
|
|
30
30
|
cleaned_legacy?: string[];
|
|
31
31
|
hooks_status?: string;
|
|
32
32
|
hooks_warning?: string;
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
/** Synthesized `w-<command>` skill-as-command wrappers (COMMAND_SKILLS_HOSTS). */
|
|
34
|
+
command_skills?: number;
|
|
35
|
+
command_skills_warnings?: string[];
|
|
35
36
|
error?: string;
|
|
36
37
|
}
|
|
37
38
|
export interface SelfInstallSkillData {
|
|
@@ -40,7 +41,20 @@ export interface SelfInstallSkillData {
|
|
|
40
41
|
source_kind: "path" | "bundled";
|
|
41
42
|
dests: SelfInstallTargetResult[];
|
|
42
43
|
}
|
|
43
|
-
export declare const
|
|
44
|
+
export declare const COMMAND_SKILL_PREFIX = "w-";
|
|
44
45
|
export declare function selfInstallSkill(args: ParsedArgs, ctx: CliContext, resolveBundled?: () => Promise<string | null>): Promise<CommandResult<SelfInstallSkillData>>;
|
|
46
|
+
interface CommandDoc {
|
|
47
|
+
description: string | null;
|
|
48
|
+
body: string;
|
|
49
|
+
}
|
|
50
|
+
export declare const COMMAND_SKILL_MARKER = "Skill-as-command wrapper (installed by `aw self install-skill`)";
|
|
51
|
+
/**
|
|
52
|
+
* True when `<dirPath>/SKILL.md` proves the dir is CLI-synthesized: it carries
|
|
53
|
+
* the wrapper marker, or the ≤v18 flatten fingerprint (the flatten copied
|
|
54
|
+
* sub-skill `<name>` into dir `<prefix><name>` keeping `name: <name>` — a
|
|
55
|
+
* user's own skill has `name:` equal to its dir, not to a de-prefixed one).
|
|
56
|
+
*/
|
|
57
|
+
export declare function isOwnedSynthesizedDir(dirPath: string, prefix: string): Promise<boolean>;
|
|
58
|
+
export declare function splitCommandDoc(raw: string): CommandDoc;
|
|
45
59
|
export declare function resolveBundledSkillPath(): Promise<string | null>;
|
|
46
60
|
//# sourceMappingURL=install-skill.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-skill.d.ts","sourceRoot":"","sources":["../../../src/application/self/install-skill.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGrE,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,sBAAsB,aAA6B,CAAC;AAKjE,YAAY,EAAE,aAAa,EAAE,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;AAEzC,eAAO,MAAM,eAAe,0CAA2C,CAAC;AACxE;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,uDAAwD,CAAC;AAExF,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;IAC5C,kBAAkB,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,
|
|
1
|
+
{"version":3,"file":"install-skill.d.ts","sourceRoot":"","sources":["../../../src/application/self/install-skill.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGrE,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,sBAAsB,aAA6B,CAAC;AAKjE,YAAY,EAAE,aAAa,EAAE,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;AAEzC,eAAO,MAAM,eAAe,0CAA2C,CAAC;AACxE;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,uDAAwD,CAAC;AAExF,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;IAC5C,kBAAkB,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,KAAK,EAAE,uBAAuB,EAAE,CAAC;CAClC;AA8BD,eAAO,MAAM,oBAAoB,OAAO,CAAC;AA0GzC,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,UAAU,EACf,cAAc,GAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAA2B,GACrE,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAsG9C;AA4MD,UAAU,UAAU;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AAMD,eAAO,MAAM,oBAAoB,oEACkC,CAAC;AAEpE;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAW7F;AAOD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAuBvD;AAkND,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiBtE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { copyFile, mkdir, readFile, rm, stat } from "node:fs/promises";
|
|
1
|
+
import { copyFile, mkdir, readFile, rm, stat, writeFile } from "node:fs/promises";
|
|
2
2
|
import { readdir } from "node:fs/promises";
|
|
3
3
|
import { dirname, join } from "node:path";
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
@@ -24,54 +24,55 @@ const CACHE_CLEAR_HOSTS = new Set([
|
|
|
24
24
|
"warp",
|
|
25
25
|
"agents",
|
|
26
26
|
]);
|
|
27
|
-
// Hosts
|
|
28
|
-
//
|
|
29
|
-
//
|
|
30
|
-
//
|
|
31
|
-
//
|
|
32
|
-
//
|
|
33
|
-
//
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
//
|
|
27
|
+
// Hosts whose user-invocable unit is the SKILL (no file-based commands dir):
|
|
28
|
+
// each `commands/<cmd>.md` is synthesized as a top-level sibling skill
|
|
29
|
+
// `w-<cmd>/SKILL.md` (skill-as-command — harness/HARNESS.md § Command
|
|
30
|
+
// packaging). Bundle-relative references (`../loops/…`) are rewritten to
|
|
31
|
+
// `../w/…` so they resolve from the synthesized location.
|
|
32
|
+
// Codex reads NO commands dir and its custom prompts are deprecated/removed
|
|
33
|
+
// (verified vs openai/codex rust-v0.142.5 source, 2026-07); Warp/Oz derive
|
|
34
|
+
// slash commands from the `name:` frontmatter of each top-level SKILL.md.
|
|
35
|
+
// Gemini's successor Antigravity CLI (agy 1.0.16, verified vs its binary +
|
|
36
|
+
// bundled agy-customizations doc, 2026-07) dropped user commands entirely —
|
|
37
|
+
// slash commands are system-only and skills are the only user-installable
|
|
38
|
+
// invocable unit; it reads ~/.gemini/skills as its "Shared" tier, so the
|
|
39
|
+
// synthesized wrappers land next to the bundle there.
|
|
40
|
+
const COMMAND_SKILLS_HOSTS = new Set(["codex", "warp", "oz", "gemini"]);
|
|
41
|
+
// Exportado: es el namespace del bundle en los skill roots — el scan de sueltas
|
|
37
42
|
// (skills-manager.listSkills) lo excluye para no listar `w-*` como unmanaged.
|
|
38
|
-
export const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
//
|
|
42
|
-
|
|
43
|
-
// frontmatter of each SKILL.md found in top-level subdirs of ~/<host>/skills/.
|
|
44
|
-
// The installer applies flattenSubSkillsForHost() below to expose nested
|
|
45
|
-
// sub-skills (loops/*, exports/*, roles/*) at the level Warp/Oz can see.
|
|
46
|
-
const USER_COMMANDS_RELPATH_BY_TARGET = {
|
|
47
|
-
claude: ".claude/commands/w",
|
|
48
|
-
codex: ".codex/commands/w",
|
|
43
|
+
export const COMMAND_SKILL_PREFIX = "w-";
|
|
44
|
+
const USER_COMMANDS_BY_TARGET = {
|
|
45
|
+
claude: { relpath: ".claude/commands/w", format: "claude-md" },
|
|
46
|
+
// codex/warp/oz: commands ship as synthesized `w-*` skills (COMMAND_SKILLS_HOSTS).
|
|
47
|
+
codex: null,
|
|
49
48
|
warp: null,
|
|
50
49
|
oz: null,
|
|
51
50
|
agents: null,
|
|
52
|
-
//
|
|
53
|
-
//
|
|
54
|
-
gemini:
|
|
55
|
-
opencode:
|
|
56
|
-
crush:
|
|
51
|
+
// Legacy Gemini CLI compat only — Antigravity (agy) ignores this dir; its
|
|
52
|
+
// command surface is the synthesized `w-*` skills (COMMAND_SKILLS_HOSTS).
|
|
53
|
+
gemini: { relpath: ".gemini/commands/w", format: "gemini-toml" },
|
|
54
|
+
opencode: { relpath: ".opencode/command/w", format: "opencode-md" },
|
|
55
|
+
crush: { relpath: ".crush/commands/w", format: "crush-md" },
|
|
57
56
|
};
|
|
58
|
-
//
|
|
59
|
-
//
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
57
|
+
// Stale user-commands dirs from prior releases, removed on install/uninstall:
|
|
58
|
+
// the pre-`w`-rename namespace (`/agent-workflow:*`) everywhere, plus the
|
|
59
|
+
// Codex dir that ≤v18 wrote under the false "Claude Code + Codex follow the
|
|
60
|
+
// same convention" assumption — Codex never read it.
|
|
61
|
+
const LEGACY_USER_COMMANDS_RELPATHS_BY_TARGET = {
|
|
62
|
+
claude: [".claude/commands/agent-workflow"],
|
|
63
|
+
codex: [".codex/commands/agent-workflow", ".codex/commands/w"],
|
|
64
|
+
warp: [],
|
|
65
|
+
oz: [],
|
|
66
|
+
agents: [],
|
|
67
|
+
gemini: [],
|
|
68
|
+
opencode: [],
|
|
69
|
+
crush: [],
|
|
69
70
|
};
|
|
70
71
|
/**
|
|
71
72
|
* Remove legacy artifacts from a prior install (before the `agent-workflow` → `w`
|
|
72
73
|
* rename) for `target`: the old SKILL dirs (LEGACY_SKILL_NAMES), the old
|
|
73
|
-
* user-commands dir (`/agent-workflow:*`), and — for
|
|
74
|
-
* `agent-workflow-*` flattened sub-skills. Returns the paths removed.
|
|
74
|
+
* user-commands dir (`/agent-workflow:*`), and — for COMMAND_SKILLS_HOSTS — the old
|
|
75
|
+
* `agent-workflow-*` flattened sub-skills (pre-rename model). Returns the paths removed.
|
|
75
76
|
*/
|
|
76
77
|
async function cleanLegacyArtifacts(target, home, ctx) {
|
|
77
78
|
const removed = [];
|
|
@@ -85,10 +86,10 @@ async function cleanLegacyArtifacts(target, home, ctx) {
|
|
|
85
86
|
for (const name of LEGACY_SKILL_NAMES) {
|
|
86
87
|
await tryRemove(join(skillsRoot, name));
|
|
87
88
|
}
|
|
88
|
-
const legacyCmd
|
|
89
|
-
if (legacyCmd !== null)
|
|
89
|
+
for (const legacyCmd of LEGACY_USER_COMMANDS_RELPATHS_BY_TARGET[target]) {
|
|
90
90
|
await tryRemove(join(home, legacyCmd));
|
|
91
|
-
|
|
91
|
+
}
|
|
92
|
+
if (COMMAND_SKILLS_HOSTS.has(target)) {
|
|
92
93
|
try {
|
|
93
94
|
for (const entry of await readdir(skillsRoot, { withFileTypes: true })) {
|
|
94
95
|
if (entry.isDirectory() && entry.name.startsWith("agent-workflow-")) {
|
|
@@ -108,10 +109,10 @@ async function cleanLegacyArtifacts(target, home, ctx) {
|
|
|
108
109
|
const HOOKS_AUTOINSTALL_TARGETS = new Set(["claude"]);
|
|
109
110
|
function explainSkipReason(target, kind) {
|
|
110
111
|
if (kind === "commands") {
|
|
111
|
-
if (target
|
|
112
|
-
return `${target}: file-based
|
|
112
|
+
if (COMMAND_SKILLS_HOSTS.has(target)) {
|
|
113
|
+
return `${target}: this host reads no file-based commands dir — commands are installed as synthesized 'w-<command>' skills next to the bundle (skill-as-command).`;
|
|
113
114
|
}
|
|
114
|
-
return `${target}:
|
|
115
|
+
return `${target}: shared cross-host skills dir, not a host — no command wrapper to install.`;
|
|
115
116
|
}
|
|
116
117
|
// hooks
|
|
117
118
|
if (target === "warp" || target === "oz") {
|
|
@@ -363,13 +364,15 @@ async function installOneTarget(t, dest, sourceArg, ctx, flags) {
|
|
|
363
364
|
};
|
|
364
365
|
if (cacheOutcome.warning !== undefined)
|
|
365
366
|
entry.cache_clear_warning = cacheOutcome.warning;
|
|
366
|
-
if (FLATTEN_SUBSKILLS_HOSTS.has(t.target)) {
|
|
367
|
-
const flatten = await flattenSubSkillsForHost(t.target, dest, sourceArg, flags.force);
|
|
368
|
-
entry.flattened_subskills = flatten.count;
|
|
369
|
-
if (flatten.warnings.length > 0)
|
|
370
|
-
entry.flattened_warnings = flatten.warnings;
|
|
371
|
-
}
|
|
372
367
|
if (!flags.skipCommands) {
|
|
368
|
+
// Synthesized w-* wrappers ARE the command surface on COMMAND_SKILLS_HOSTS,
|
|
369
|
+
// so --skill-only / --no-commands skips them exactly like native wrappers.
|
|
370
|
+
if (COMMAND_SKILLS_HOSTS.has(t.target)) {
|
|
371
|
+
const synth = await synthesizeCommandSkills(t.target, dest, sourceArg);
|
|
372
|
+
entry.command_skills = synth.count;
|
|
373
|
+
if (synth.warnings.length > 0)
|
|
374
|
+
entry.command_skills_warnings = synth.warnings;
|
|
375
|
+
}
|
|
373
376
|
const cmdResult = await installUserCommands(t.target, sourceArg, ctx);
|
|
374
377
|
if (cmdResult.dest !== null)
|
|
375
378
|
entry.user_commands_dest = cmdResult.dest;
|
|
@@ -391,74 +394,166 @@ async function installOneTarget(t, dest, sourceArg, ctx, flags) {
|
|
|
391
394
|
}
|
|
392
395
|
return entry;
|
|
393
396
|
}
|
|
394
|
-
//
|
|
395
|
-
//
|
|
396
|
-
//
|
|
397
|
-
//
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
397
|
+
// Marker line every synthesized wrapper carries. It doubles as the OWNERSHIP
|
|
398
|
+
// fingerprint: sweeps only delete `w-*` dirs proven ours (this marker, or the
|
|
399
|
+
// ≤v18 flatten fingerprint) — the skill roots are shared namespaces
|
|
400
|
+
// (~/.agents/skills anchor, loose skills), never swept by prefix alone.
|
|
401
|
+
export const COMMAND_SKILL_MARKER = "Skill-as-command wrapper (installed by `aw self install-skill`)";
|
|
402
|
+
/**
|
|
403
|
+
* True when `<dirPath>/SKILL.md` proves the dir is CLI-synthesized: it carries
|
|
404
|
+
* the wrapper marker, or the ≤v18 flatten fingerprint (the flatten copied
|
|
405
|
+
* sub-skill `<name>` into dir `<prefix><name>` keeping `name: <name>` — a
|
|
406
|
+
* user's own skill has `name:` equal to its dir, not to a de-prefixed one).
|
|
407
|
+
*/
|
|
408
|
+
export async function isOwnedSynthesizedDir(dirPath, prefix) {
|
|
409
|
+
let text;
|
|
410
|
+
try {
|
|
411
|
+
text = await readFile(join(dirPath, "SKILL.md"), "utf8");
|
|
412
|
+
}
|
|
413
|
+
catch {
|
|
414
|
+
return false; // no SKILL.md — not ours, preserve.
|
|
415
|
+
}
|
|
416
|
+
if (text.includes(COMMAND_SKILL_MARKER))
|
|
417
|
+
return true;
|
|
418
|
+
const dirName = dirPath.split(/[\\/]/).pop() ?? "";
|
|
419
|
+
const fmName = text.match(/^name:[ \t]*(\S.*)$/m)?.[1]?.trim();
|
|
420
|
+
return fmName !== undefined && `${prefix}${fmName}` === dirName;
|
|
421
|
+
}
|
|
422
|
+
// Splits a bundle command file (Claude-binding frontmatter + body). The
|
|
423
|
+
// frontmatter schema is the Claude Code wrapper; other hosts re-wrap the
|
|
424
|
+
// same contract (harness/HARNESS.md § Command packaging). Handles plain,
|
|
425
|
+
// quoted and block-scalar (`>-` / `|`) description values — the bundle's own
|
|
426
|
+
// SKILL.md models the folded style, so authors will reuse it in commands.
|
|
427
|
+
export function splitCommandDoc(raw) {
|
|
428
|
+
const match = raw.match(/^---[ \t]*\r?\n([\s\S]*?)\r?\n---[ \t]*\r?\n?/);
|
|
429
|
+
if (!match)
|
|
430
|
+
return { description: null, body: raw };
|
|
431
|
+
const block = match[1] ?? "";
|
|
432
|
+
const body = raw.slice(match[0].length).replace(/^\s*\n/, "");
|
|
433
|
+
const descMatch = block.match(/^description:[ \t]*(.*)$/m);
|
|
434
|
+
if (!descMatch)
|
|
435
|
+
return { description: null, body };
|
|
436
|
+
let value = (descMatch[1] ?? "").trim();
|
|
437
|
+
if (/^[>|][+-]?$/.test(value)) {
|
|
438
|
+
const after = block.slice((descMatch.index ?? 0) + descMatch[0].length).replace(/^\r?\n/, "");
|
|
439
|
+
const parts = [];
|
|
440
|
+
for (const line of after.split(/\r?\n/)) {
|
|
441
|
+
if (!/^[ \t]+\S/.test(line))
|
|
442
|
+
break;
|
|
443
|
+
parts.push(line.trim());
|
|
444
|
+
}
|
|
445
|
+
value = parts.join(" ");
|
|
446
|
+
}
|
|
447
|
+
else if ((value.startsWith('"') && value.endsWith('"') && value.length > 1) ||
|
|
448
|
+
(value.startsWith("'") && value.endsWith("'") && value.length > 1)) {
|
|
449
|
+
value = value.slice(1, -1);
|
|
450
|
+
}
|
|
451
|
+
return { description: value.length > 0 ? value : null, body };
|
|
452
|
+
}
|
|
453
|
+
// Para hosts sin commands dir (COMMAND_SKILLS_HOSTS): sintetiza cada
|
|
454
|
+
// `commands/<cmd>.md` como skill top-level hermana del bundle,
|
|
455
|
+
// `<root>/w-<cmd>/SKILL.md` (skill-as-command). El cuerpo del comando es el
|
|
456
|
+
// cuerpo de la skill; las referencias bundle-relativas suben un nivel desde
|
|
457
|
+
// `commands/`, así que reescribir `../` → `../w/` las hace resolver desde la
|
|
458
|
+
// nueva ubicación. Antes de sintetizar barre los `w-*` DE SU PROPIEDAD
|
|
459
|
+
// (marker/fingerprint — limpia loops aplanados ≤v18 y wrappers de comandos
|
|
460
|
+
// removidos); un dir ajeno con prefijo `w-` se preserva siempre.
|
|
461
|
+
async function synthesizeCommandSkills(target, skillDest, sourceSkillPath) {
|
|
462
|
+
if (!COMMAND_SKILLS_HOSTS.has(target))
|
|
405
463
|
return { count: 0, warnings: [] };
|
|
406
464
|
const targetRoot = dirname(skillDest);
|
|
407
|
-
let count = 0;
|
|
408
465
|
const warnings = [];
|
|
409
|
-
|
|
410
|
-
const
|
|
411
|
-
|
|
412
|
-
try {
|
|
413
|
-
entries = await readdir(parentPath, { withFileTypes: true });
|
|
414
|
-
}
|
|
415
|
-
catch {
|
|
416
|
-
continue;
|
|
417
|
-
}
|
|
418
|
-
const sharedDocs = entries.filter((e) => e.isFile() && e.name.endsWith(".md") && e.name !== "README.md");
|
|
419
|
-
for (const entry of entries) {
|
|
420
|
-
if (!entry.isDirectory())
|
|
421
|
-
continue;
|
|
422
|
-
const subSkillPath = join(parentPath, entry.name);
|
|
423
|
-
const skillMdPath = join(subSkillPath, "SKILL.md");
|
|
424
|
-
try {
|
|
425
|
-
await stat(skillMdPath);
|
|
426
|
-
}
|
|
427
|
-
catch {
|
|
466
|
+
try {
|
|
467
|
+
for (const entry of await readdir(targetRoot, { withFileTypes: true })) {
|
|
468
|
+
if (!entry.isDirectory() || !entry.name.startsWith(COMMAND_SKILL_PREFIX))
|
|
428
469
|
continue;
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
await rm(destDir, { recursive: true, force: true });
|
|
433
|
-
await copyTree(subSkillPath, destDir);
|
|
434
|
-
await copySharedSiblingDocs(parentPath, sharedDocs, destDir);
|
|
435
|
-
count += 1;
|
|
436
|
-
}
|
|
437
|
-
catch (err) {
|
|
438
|
-
if (!force) {
|
|
439
|
-
warnings.push(`flatten failed for ${entry.name}: ${err.message}`);
|
|
440
|
-
}
|
|
470
|
+
const dirPath = join(targetRoot, entry.name);
|
|
471
|
+
if (await isOwnedSynthesizedDir(dirPath, COMMAND_SKILL_PREFIX)) {
|
|
472
|
+
await rm(dirPath, { recursive: true, force: true });
|
|
441
473
|
}
|
|
442
474
|
}
|
|
443
475
|
}
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
476
|
+
catch {
|
|
477
|
+
// target root absent/unreadable — nothing to sweep.
|
|
478
|
+
}
|
|
479
|
+
const srcDir = join(sourceSkillPath, "commands");
|
|
480
|
+
let entries;
|
|
481
|
+
try {
|
|
482
|
+
entries = await readdir(srcDir, { withFileTypes: true });
|
|
483
|
+
}
|
|
484
|
+
catch {
|
|
485
|
+
return { count: 0, warnings: [`source commands dir not found: ${srcDir}`] };
|
|
486
|
+
}
|
|
487
|
+
let count = 0;
|
|
488
|
+
for (const entry of entries) {
|
|
489
|
+
if (!entry.isFile() || !entry.name.endsWith(".md") || entry.name === "README.md")
|
|
490
|
+
continue;
|
|
491
|
+
const cmd = entry.name.slice(0, -".md".length);
|
|
451
492
|
try {
|
|
452
|
-
await
|
|
493
|
+
const raw = await readFile(join(srcDir, entry.name), "utf8");
|
|
494
|
+
const skillName = `${COMMAND_SKILL_PREFIX}${cmd}`;
|
|
495
|
+
const destDir = join(targetRoot, skillName);
|
|
496
|
+
await mkdir(destDir, { recursive: true });
|
|
497
|
+
await writeFile(join(destDir, "SKILL.md"), renderCommandSkill(skillName, raw), "utf8");
|
|
498
|
+
count += 1;
|
|
453
499
|
}
|
|
454
|
-
catch {
|
|
455
|
-
|
|
500
|
+
catch (err) {
|
|
501
|
+
warnings.push(`command skill failed for ${cmd}: ${err.message}`);
|
|
456
502
|
}
|
|
457
503
|
}
|
|
504
|
+
return { count, warnings };
|
|
505
|
+
}
|
|
506
|
+
function renderCommandSkill(skillName, raw) {
|
|
507
|
+
const { description, body } = splitCommandDoc(raw);
|
|
508
|
+
const desc = description ?? `agent-workflow command ${skillName} (see body).`;
|
|
509
|
+
const rewired = body.split("../").join("../w/");
|
|
510
|
+
return [
|
|
511
|
+
"---",
|
|
512
|
+
`name: ${skillName}`,
|
|
513
|
+
"description: >-",
|
|
514
|
+
` ${desc}`,
|
|
515
|
+
"---",
|
|
516
|
+
"",
|
|
517
|
+
`> ${COMMAND_SKILL_MARKER}. Treat the text accompanying this invocation as \`$ARGUMENTS\`. The full \`w\` bundle lives in the sibling directory \`../w/\`.`,
|
|
518
|
+
"",
|
|
519
|
+
rewired,
|
|
520
|
+
].join("\n");
|
|
521
|
+
}
|
|
522
|
+
// TOML string escaping for the Gemini command wrapper. The prompt goes in a
|
|
523
|
+
// multi-line BASIC string ("""…"""), so backslashes and quote runs must be
|
|
524
|
+
// escaped to round-trip the markdown body verbatim.
|
|
525
|
+
function tomlBasicString(value) {
|
|
526
|
+
return `"${value.replace(/\\/g, "\\\\").replace(/"/g, '\\"')}"`;
|
|
527
|
+
}
|
|
528
|
+
function tomlMultilineBasicString(value) {
|
|
529
|
+
const escaped = value.replace(/\\/g, "\\\\").replace(/"""/g, '""\\"');
|
|
530
|
+
return `"""\n${escaped}\n"""`;
|
|
531
|
+
}
|
|
532
|
+
function renderCommandWrapper(format, raw) {
|
|
533
|
+
if (format === "claude-md")
|
|
534
|
+
return raw;
|
|
535
|
+
const { description, body } = splitCommandDoc(raw);
|
|
536
|
+
if (format === "gemini-toml") {
|
|
537
|
+
const prompt = body.split("$ARGUMENTS").join("{{args}}");
|
|
538
|
+
const lines = [];
|
|
539
|
+
if (description !== null)
|
|
540
|
+
lines.push(`description = ${tomlBasicString(description)}`);
|
|
541
|
+
lines.push(`prompt = ${tomlMultilineBasicString(prompt)}`);
|
|
542
|
+
return `${lines.join("\n")}\n`;
|
|
543
|
+
}
|
|
544
|
+
if (format === "opencode-md") {
|
|
545
|
+
// OpenCode supports $ARGUMENTS natively; re-emit only the frontmatter
|
|
546
|
+
// keys its schema knows (description) to avoid Claude-binding leakage.
|
|
547
|
+
const fm = description === null ? [] : ["---", `description: ${description}`, "---", ""];
|
|
548
|
+
return [...fm, body].join("\n");
|
|
549
|
+
}
|
|
550
|
+
// crush-md: Crush parses no frontmatter — ship the body only. $ARGUMENTS
|
|
551
|
+
// matches its ^\$[A-Z]+ named-argument rule, so Crush prompts for it.
|
|
552
|
+
return body;
|
|
458
553
|
}
|
|
459
554
|
async function installUserCommands(target, sourceSkillPath, ctx) {
|
|
460
|
-
const
|
|
461
|
-
if (
|
|
555
|
+
const spec = USER_COMMANDS_BY_TARGET[target];
|
|
556
|
+
if (spec === null) {
|
|
462
557
|
return {
|
|
463
558
|
installed: false,
|
|
464
559
|
dest: null,
|
|
@@ -466,7 +561,7 @@ async function installUserCommands(target, sourceSkillPath, ctx) {
|
|
|
466
561
|
warning: explainSkipReason(target, "commands"),
|
|
467
562
|
};
|
|
468
563
|
}
|
|
469
|
-
const destDir = join(ctx.env.homeDir(), relpath);
|
|
564
|
+
const destDir = join(ctx.env.homeDir(), spec.relpath);
|
|
470
565
|
const srcDir = join(sourceSkillPath, "commands");
|
|
471
566
|
if (!(await ctx.fs.exists(srcDir))) {
|
|
472
567
|
return {
|
|
@@ -487,7 +582,9 @@ async function installUserCommands(target, sourceSkillPath, ctx) {
|
|
|
487
582
|
continue;
|
|
488
583
|
if (entry.name === "README.md")
|
|
489
584
|
continue;
|
|
490
|
-
await
|
|
585
|
+
const raw = await readFile(join(srcDir, entry.name), "utf8");
|
|
586
|
+
const destName = spec.format === "gemini-toml" ? entry.name.replace(/\.md$/, ".toml") : entry.name;
|
|
587
|
+
await writeFile(join(destDir, destName), renderCommandWrapper(spec.format, raw), "utf8");
|
|
491
588
|
copied += 1;
|
|
492
589
|
}
|
|
493
590
|
return { installed: true, dest: destDir, files_copied: copied };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-skill.js","sourceRoot":"","sources":["../../../src/application/self/install-skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAKzC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAoB,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEjF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,cAAc,EAAE,CAAC;AAMjE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;AAEzC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,kBAAkB,CAAU,CAAC;AACxE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,wBAAwB,EAAE,gBAAgB,CAAU,CAAC;AA6BxF,MAAM,cAAc,GAAuC,CAAC,GAAG,eAAe,EAAE,KAAK,CAAC,CAAC;AAEvF,8EAA8E;AAC9E,MAAM,mBAAmB,GAA6B,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;AAEpG,MAAM,iBAAiB,GAA+B,IAAI,GAAG,CAAC;IAC5D,QAAQ;IACR,OAAO;IACP,MAAM;IACN,QAAQ;CACT,CAAC,CAAC;AAEH,sEAAsE;AACtE,wEAAwE;AACxE,wEAAwE;AACxE,uEAAuE;AACvE,wDAAwD;AACxD,qEAAqE;AACrE,4DAA4D;AAC5D,MAAM,uBAAuB,GAA+B,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AACpF,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAU,CAAC;AACnE,yEAAyE;AACzE,8EAA8E;AAC9E,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAExC,iEAAiE;AACjE,6DAA6D;AAC7D,uEAAuE;AACvE,2EAA2E;AAC3E,+EAA+E;AAC/E,yEAAyE;AACzE,yEAAyE;AACzE,MAAM,+BAA+B,GAAyC;IAC5E,MAAM,EAAE,oBAAoB;IAC5B,KAAK,EAAE,mBAAmB;IAC1B,IAAI,EAAE,IAAI;IACV,EAAE,EAAE,IAAI;IACR,MAAM,EAAE,IAAI;IACZ,kFAAkF;IAClF,uFAAuF;IACvF,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF,mFAAmF;AACnF,mFAAmF;AACnF,MAAM,sCAAsC,GAAyC;IACnF,MAAM,EAAE,iCAAiC;IACzC,KAAK,EAAE,gCAAgC;IACvC,IAAI,EAAE,IAAI;IACV,EAAE,EAAE,IAAI;IACR,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF;;;;;GAKG;AACH,KAAK,UAAU,oBAAoB,CACjC,MAAqB,EACrB,IAAY,EACZ,GAAe;IAEf,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,KAAK,EAAE,CAAS,EAAiB,EAAE;QACnD,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,SAAS,GAAG,sCAAsC,CAAC,MAAM,CAAC,CAAC;IACjE,IAAI,SAAS,KAAK,IAAI;QAAE,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/D,IAAI,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,MAAM,OAAO,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBACvE,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBACpE,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;QACxD,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,yEAAyE;AACzE,2EAA2E;AAC3E,uEAAuE;AACvE,MAAM,yBAAyB,GAA+B,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAElF,SAAS,iBAAiB,CAAC,MAAqB,EAAE,IAA0B;IAC1E,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACzC,OAAO,GAAG,MAAM,yIAAyI,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,gEAAgE,CAAC;QACnQ,CAAC;QACD,OAAO,GAAG,MAAM,mHAAmH,CAAC;IACtI,CAAC;IACD,QAAQ;IACR,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACzC,OAAO,GAAG,MAAM,gDAAgD,CAAC;IACnE,CAAC;IACD,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,OAAO,yKAAyK,CAAC;IACnL,CAAC;IACD,OAAO,GAAG,MAAM,yCAAyC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAgB,EAChB,GAAe,EACf,iBAA+C,uBAAuB;IAEtE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE5C,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7D,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,sCAAsC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,iEAAiE;aAC1I;YACD,QAAQ,EAAE,CAAC;SACZ,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,KAAK,KAAK,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC;QAClD,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,gHAAgH,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI;aAC3J;YACD,QAAQ,EAAE,CAAC;SACZ,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,CAAC,aAAa,CAAC,EAAE;QAAE,OAAO,aAAa,CAAC,MAAM,CAAC;IACnD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC;IAEpC,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC;IAClF,IAAI,CAAC,YAAY,CAAC,EAAE;QAAE,OAAO,YAAY,CAAC,MAAM,CAAC;IACjD,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC;IAErD,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACvC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CACxF,CAAC;IAEF,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,+BAA+B,KAAK,2FAA2F;aACzI;YACD,QAAQ,EAAE,CAAC;SACZ,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,OAAO;YACL,EAAE,EAAE,IAAI;YACR,IAAI,EAAE;gBACJ,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,SAAS;gBACjB,WAAW,EAAE,UAAU;gBACvB,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACjC,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC5B,MAAM,EAAE,SAAS;oBACjB,kBAAkB,EAAE,CAAC,CAAC,MAAM;iBAC7B,CAAC,CAAC;aACJ;YACD,QAAQ,EAAE,CAAC;SACZ,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAChE,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAElC,MAAM,OAAO,GAA8B,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;YAC9E,KAAK;YACL,SAAS;YACT,YAAY;YACZ,SAAS;YACT,UAAU;SACX,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACJ,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,UAAU;YACvB,KAAK,EAAE,OAAO;SACf;QACD,QAAQ,EAAE,CAAC;KACZ,CAAC;AACJ,CAAC;AAMD,SAAS,cAAc,CAAC,SAAiB;IACvC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAkC,CAAC,EAAE,CAAC;QACjE,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE;gBACN,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE;oBACL,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,4BAA4B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,SAAS,IAAI;iBACtF;gBACD,QAAQ,EAAE,CAAC;aACZ;SACF,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GACX,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,SAA0B,CAAC,CAAC;IAChF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACtC,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,OAA2B,EAC3B,cAA4C;IAE5C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE;oBACN,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE;wBACL,IAAI,EAAE,gBAAgB;wBACtB,OAAO,EACL,qMAAqM;qBACxM;oBACD,QAAQ,EAAE,CAAC;iBACZ;aACF,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC;IACzE,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,cAAc,EAAE,CAAC;IACvC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE;gBACN,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE;oBACL,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,wMAAwM;iBAClN;gBACD,QAAQ,EAAE,CAAC;aACZ;SACF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC;AAC5E,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC;QAC1D,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC;QACxD,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC;QAC1D,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,cAAc,CAAC;QACtD,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,EAAE,EAAE,cAAc,CAAC;QAClD,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC;QAC1D,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,QAAQ,EAAE,cAAc,CAAC;QAC9D,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,SAAiB,EACjB,GAAe;IAEf,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACtC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,gBAAgB,SAAS,mBAAmB;aACtD;YACD,QAAQ,EAAE,CAAC;SACZ,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC9C,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACtC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,8BAA8B,SAAS,GAAG;aACpD;YACD,QAAQ,EAAE,CAAC;SACZ,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACvD,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,EAAE,CAAC;QACvC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,2BAA2B;gBACjC,OAAO,EAAE,6DAA6D;aACvE;YACD,QAAQ,EAAE,CAAC;SACZ,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,OAAO,uCAAuC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACjE,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzE,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,IAAY;IAC/C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE;QACpC,KAAK,IAAI,CAAC,CAAC;IACb,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,GAAW,EAAE,IAAY,EAAE,MAAkB;IAC1E,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,SAAS;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAClC,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC;AACH,CAAC;AAUD,KAAK,UAAU,gBAAgB,CAC7B,CAA6C,EAC7C,IAAY,EACZ,SAAiB,EACjB,GAAe,EACf,KAAsB;IAEtB,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACzE,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,KAAK,GAA4B;QACrC,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,IAAI;QACJ,MAAM,EAAE,WAAW;QACnB,kBAAkB,EAAE,CAAC,CAAC,MAAM;QAC5B,YAAY,EAAE,WAAW;QACzB,aAAa,EAAE,YAAY,CAAC,OAAO;KACpC,CAAC;IACF,IAAI,YAAY,CAAC,OAAO,KAAK,SAAS;QAAE,KAAK,CAAC,mBAAmB,GAAG,YAAY,CAAC,OAAO,CAAC;IACzF,IAAI,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACtF,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC,KAAK,CAAC;QAC1C,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC/E,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QACtE,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI;YAAE,KAAK,CAAC,kBAAkB,GAAG,SAAS,CAAC,IAAI,CAAC;QACvE,IAAI,SAAS,CAAC,SAAS;YAAE,KAAK,CAAC,mBAAmB,GAAG,SAAS,CAAC,YAAY,CAAC;QAC5E,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,qBAAqB,GAAG,SAAS,CAAC,OAAO,CAAC;IACvF,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9D,KAAK,CAAC,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC;QACvC,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC;IACjF,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QAC7E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC;IACzD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,uEAAuE;AACvE,uEAAuE;AACvE,2EAA2E;AAC3E,0EAA0E;AAC1E,qEAAqE;AACrE,0EAA0E;AAC1E,2EAA2E;AAC3E,oEAAoE;AACpE,sDAAsD;AACtD,KAAK,UAAU,uBAAuB,CACpC,MAAqB,EACrB,SAAiB,EACjB,eAAuB,EACvB,KAAc;IAEd,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC5E,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,SAAS,IAAI,mBAAmB,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACpD,IAAI,OAAmC,CAAC;QACxC,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CACtE,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBAAE,SAAS;YACnC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YACnD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,mBAAmB,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACxE,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpD,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBACtC,MAAM,qBAAqB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;gBAC7D,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,QAAQ,CAAC,IAAI,CAAC,sBAAsB,KAAK,CAAC,IAAI,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/E,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC7B,CAAC;AAED,4EAA4E;AAC5E,sDAAsD;AACtD,KAAK,UAAU,qBAAqB,CAClC,UAAkB,EAClB,IAAyC,EACzC,OAAe;IAEf,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,MAAqB,EACrB,eAAuB,EACvB,GAAe;IAEf,MAAM,OAAO,GAAG,+BAA+B,CAAC,MAAM,CAAC,CAAC;IACxD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,IAAI;YACV,YAAY,EAAE,CAAC;YACf,OAAO,EAAE,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC;SAC/C,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IACjD,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACnC,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,CAAC;YACf,OAAO,EAAE,kCAAkC,MAAM,EAAE;SACpD,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAAE,SAAS;QAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;YAAE,SAAS;QACzC,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,MAAM,IAAI,CAAC,CAAC;IACd,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;AAClE,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,MAAqB,EACrB,GAAe;IAEf,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3C,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC;SAC5C,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAe;QAC3B,IAAI,EAAE,CAAC,eAAe,CAAC;QACvB,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,IAAI,GAAG,EAAE;QAChB,MAAM,EAAE,IAAI,GAAG,CAAiB,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QACrD,WAAW,EAAE,IAAI,GAAG,EAAE;KACvB,CAAC;IACF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE,CAAC;QAChF,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,SAAS,EAAE,CAAC;IACtD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC;IAClE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,MAAqB,EACrB,GAAe,EACf,SAAkB;IAElB,IAAI,SAAS;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACzC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAE9D,MAAM,SAAS,GAAe;QAC5B,IAAI,EAAE,CAAC,oBAAoB,CAAC;QAC5B,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,IAAI,GAAG,EAAE;QAChB,MAAM,EAAE,IAAI,GAAG,CAAiB;YAC9B,CAAC,QAAQ,EAAE,cAAc,CAAC;YAC1B,CAAC,QAAQ,EAAE,MAAqB,CAAC;SAClC,CAAC;QACF,WAAW,EAAE,IAAI,GAAG,EAAE;KACvB,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,uBAAuB,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,SAAS,EAAE;aACrE,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,0BAA2B,GAAa,CAAC,OAAO,EAAE;SAC5D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,oBAAoB;QACtB,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,MAAM,KAAK,OAAO;YAAE,MAAM;QAC9B,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"install-skill.js","sourceRoot":"","sources":["../../../src/application/self/install-skill.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,10 +21,11 @@ export interface SkillListItem {
|
|
|
21
21
|
installedAt?: string;
|
|
22
22
|
description?: string;
|
|
23
23
|
status: SkillStatus;
|
|
24
|
-
/** Réplicas materializadas: ancla .agents (canónica) y .
|
|
24
|
+
/** Réplicas materializadas: ancla .agents (canónica), .claude y .gemini. */
|
|
25
25
|
replicas: {
|
|
26
26
|
agents: boolean;
|
|
27
27
|
claude: boolean;
|
|
28
|
+
gemini: boolean;
|
|
28
29
|
};
|
|
29
30
|
}
|
|
30
31
|
export interface RegisterInput {
|
|
@@ -46,8 +47,15 @@ export interface MaterializeData {
|
|
|
46
47
|
status: "installed" | "updated" | "reinstalled";
|
|
47
48
|
name: string;
|
|
48
49
|
canonical: string;
|
|
50
|
+
/** Réplica primaria (Claude) — compat con consumidores previos. */
|
|
49
51
|
replica: string;
|
|
50
52
|
mode: SkillReplicaMode;
|
|
53
|
+
/** Todas las réplicas por host (claude symlink · gemini copy). */
|
|
54
|
+
replicas: {
|
|
55
|
+
host: "claude" | "gemini";
|
|
56
|
+
path: string;
|
|
57
|
+
mode: SkillReplicaMode;
|
|
58
|
+
}[];
|
|
51
59
|
summary: string;
|
|
52
60
|
}
|
|
53
61
|
export interface UninstallData {
|
|
@@ -67,6 +75,8 @@ type ResolvedSource = {
|
|
|
67
75
|
};
|
|
68
76
|
export declare function canonicalSkillsRoot(home: string): string;
|
|
69
77
|
export declare function claudeReplicaRoot(home: string): string;
|
|
78
|
+
export declare function geminiReplicaRoot(home: string): string;
|
|
79
|
+
export declare const REPLICA_MARKER_FILENAME = ".aw-replica";
|
|
70
80
|
/**
|
|
71
81
|
* Normaliza la fuente del usuario: URL git (con `#ref`), atajo `owner/repo`
|
|
72
82
|
* (→ GitHub) o path local absoluto. Paths relativos se rechazan a propósito:
|