@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.
Files changed (56) hide show
  1. package/README.md +11 -11
  2. package/dist/application/self/install-skill.d.ts +17 -3
  3. package/dist/application/self/install-skill.d.ts.map +1 -1
  4. package/dist/application/self/install-skill.js +206 -109
  5. package/dist/application/self/install-skill.js.map +1 -1
  6. package/dist/application/self/skills-manager.d.ts +11 -1
  7. package/dist/application/self/skills-manager.d.ts.map +1 -1
  8. package/dist/application/self/skills-manager.js +88 -44
  9. package/dist/application/self/skills-manager.js.map +1 -1
  10. package/dist/application/self/uninstall.d.ts.map +1 -1
  11. package/dist/application/self/uninstall.js +23 -12
  12. package/dist/application/self/uninstall.js.map +1 -1
  13. package/dist/cli/tui/tabs/skills-tab.d.ts.map +1 -1
  14. package/dist/cli/tui/tabs/skills-tab.js +7 -4
  15. package/dist/cli/tui/tabs/skills-tab.js.map +1 -1
  16. package/dist/domain/harnesses.d.ts.map +1 -1
  17. package/dist/domain/harnesses.js +20 -10
  18. package/dist/domain/harnesses.js.map +1 -1
  19. package/dist/domain/skills.js +1 -1
  20. package/dist/domain/skills.js.map +1 -1
  21. package/package.json +1 -1
  22. package/skills/w/README.md +4 -4
  23. package/skills/w/SKILL.md +7 -7
  24. package/skills/w/artifacts/artifacts-design/SPEC.md +2 -2
  25. package/skills/w/commands/README.md +3 -3
  26. package/skills/w/commands/export-diagrams.md +2 -2
  27. package/skills/w/commands/export-manuals.md +2 -2
  28. package/skills/w/commands/export-reports.md +2 -2
  29. package/skills/w/commands/export-scripts.md +2 -2
  30. package/skills/w/commands/fix-git.md +2 -2
  31. package/skills/w/commands/plan-exec.md +3 -3
  32. package/skills/w/commands/plan-new.md +3 -3
  33. package/skills/w/commands/plan-refine.md +3 -3
  34. package/skills/w/commands/quick.md +4 -4
  35. package/skills/w/commands/spec-new.md +3 -3
  36. package/skills/w/commands/spec-refine.md +2 -2
  37. package/skills/w/exports/README.md +11 -11
  38. package/skills/w/exports/export-diagrams/{SKILL.md → EXPORT.md} +2 -2
  39. package/skills/w/exports/export-manuals/{SKILL.md → EXPORT.md} +2 -2
  40. package/skills/w/exports/export-reports/{SKILL.md → EXPORT.md} +2 -2
  41. package/skills/w/exports/export-scripts/{SKILL.md → EXPORT.md} +2 -2
  42. package/skills/w/harness/{SKILL.md → HARNESS.md} +15 -4
  43. package/skills/w/loops/CHASSIS.md +8 -8
  44. package/skills/w/loops/CODE-POLICIES.md +2 -2
  45. package/skills/w/loops/README.md +12 -12
  46. package/skills/w/loops/plan-exec-loop/{SKILL.md → LOOP.md} +1 -1
  47. package/skills/w/loops/plan-new-loop/{SKILL.md → LOOP.md} +3 -3
  48. package/skills/w/loops/plan-refine-loop/{SKILL.md → LOOP.md} +3 -3
  49. package/skills/w/loops/quick-loop/{SKILL.md → LOOP.md} +2 -2
  50. package/skills/w/loops/spec-refine-loop/{SKILL.md → LOOP.md} +2 -2
  51. package/skills/w/roles/README.md +9 -9
  52. package/skills/w/roles/git/{SKILL.md → ROLE.md} +1 -1
  53. package/skills/w/roles/research/{SKILL.md → ROLE.md} +1 -1
  54. package/skills/w/roles/ui-spec/{SKILL.md → ROLE.md} +3 -3
  55. /package/skills/w/roles/diagrams/{SKILL.md → ROLE.md} +0 -0
  56. /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 (`/w:*`) | Hooks |
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/commands/w/<n>.md` | skipped (config.toml not yet wired) |
51
- | `warp` | `~/.warp/skills/w/` | skipped (uses rules/notebooks) | skipped (no hook system) |
52
- | `oz` | `~/.agents/skills/w/` | skipped | skipped |
53
- | `agents` | `~/.agents/skills/w/` | skipped | skipped |
54
- | `gemini` | `~/.gemini/skills/w/` | skipped (native `.toml` commands deferred) | skipped |
55
- | `opencode` | `~/.opencode/skills/w/` | skipped (deferred) | skipped |
56
- | `crush` | `~/.crush/skills/w/` | skipped (deferred) | skipped |
57
-
58
- For hosts where a layer is skipped, the SKILL is sufficient — the AI reads it and invokes `agent-workflow <subcommand>` directly.
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
- flattened_subskills?: number;
34
- flattened_warnings?: string[];
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 FLATTEN_DEST_PREFIX = "w-";
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,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,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;AAyBD,eAAO,MAAM,mBAAmB,OAAO,CAAC;AA+FxC,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;AAyXD,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiBtE"}
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 que listan slash commands solo desde directorios top-level de
28
- // ~/<host>/skills/. Para estos hosts, los sub-skills anidados del SKILL
29
- // universal (loops/*, exports/*, roles/*) NO son visibles por default —
30
- // el flatten copia cada sub-skill a su propio directorio top-level con
31
- // prefix `w-` para evitar colisiones con otros plugins.
32
- // Hosts no incluidos (claude, codex) cargan sub-skills via su propia
33
- // resolución (Skill tool / SKILL.md frontmatter recursivo).
34
- const FLATTEN_SUBSKILLS_HOSTS = new Set(["warp", "oz"]);
35
- const FLATTEN_PARENT_DIRS = ["loops", "exports", "roles"];
36
- // Exportado: es el namespace del bundle en el ancla el scan de sueltas
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 FLATTEN_DEST_PREFIX = "w-";
39
- // Per-target user-level commands directory (subdir = namespace).
40
- // File `<base>/<filename>.md` is invoked as `/w:<filename>`.
41
- // Claude Code + Codex follow the same convention. Warp/Oz do not use a
42
- // file-based user-commands dir — they list slash commands from the `name:`
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
- // gemini uses .gemini/commands/*.toml (not .md), opencode .opencode/command/*.md,
53
- // crush n/a — native command install deferred to Phase 3; skills-as-command meanwhile.
54
- gemini: null,
55
- opencode: null,
56
- crush: null,
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
- // Pre-`w`-rename user-commands dirs (slash namespace `/agent-workflow:*`). Removed
59
- // on install so an upgrade from the old plugin doesn't leave stale slash commands.
60
- const LEGACY_USER_COMMANDS_RELPATH_BY_TARGET = {
61
- claude: ".claude/commands/agent-workflow",
62
- codex: ".codex/commands/agent-workflow",
63
- warp: null,
64
- oz: null,
65
- agents: null,
66
- gemini: null,
67
- opencode: null,
68
- crush: null,
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 flatten hosts — the old
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 = LEGACY_USER_COMMANDS_RELPATH_BY_TARGET[target];
89
- if (legacyCmd !== null)
89
+ for (const legacyCmd of LEGACY_USER_COMMANDS_RELPATHS_BY_TARGET[target]) {
90
90
  await tryRemove(join(home, legacyCmd));
91
- if (FLATTEN_SUBSKILLS_HOSTS.has(target)) {
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 === "warp" || target === "oz") {
112
- return `${target}: file-based user-commands dir is not used by this host. Slash commands derive from each SKILL.md frontmatter (top-level dirs under ~/${target === "warp" ? ".warp" : ".agents"}/skills/); sub-skills are exposed via flatten at install time.`;
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}: user-level commands install not implemented yet. SKILL is installed; CLI invocations work from within the host.`;
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
- // Para hosts que solo listan top-level (Warp/Oz): copia cada sub-skill
395
- // (`<src>/doctrine/<X>/`, `<src>/specialties/<X>/`, …) a un directorio
396
- // hermano top-level del SKILL universal, namespaced con `agent-workflow-`.
397
- // El frontmatter `name:` del SKILL.md interno define el slash command que
398
- // el host lista (ej. `name: doctor` `/doctor`); el directorio solo
399
- // resuelve la unicidad en filesystem. Los .md sueltos del parentDir (docs
400
- // compartidos entre sub-skills hermanos, ej. `loops/CHASSIS.md`) se copian
401
- // dentro de cada sub-skill aplanado para que la referencia relativa
402
- // "CHASSIS.md junto a este archivo" siga resolviendo.
403
- async function flattenSubSkillsForHost(target, skillDest, sourceSkillPath, force) {
404
- if (!FLATTEN_SUBSKILLS_HOSTS.has(target))
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
- for (const parentDir of FLATTEN_PARENT_DIRS) {
410
- const parentPath = join(sourceSkillPath, parentDir);
411
- let entries;
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
- const destDir = join(targetRoot, `${FLATTEN_DEST_PREFIX}${entry.name}`);
431
- try {
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
- return { count, warnings };
445
- }
446
- // Copia los docs compartidos del parentDir dentro de un sub-skill aplanado,
447
- // sin pisar un archivo homónimo propio del sub-skill.
448
- async function copySharedSiblingDocs(parentPath, docs, destDir) {
449
- for (const doc of docs) {
450
- const target = join(destDir, doc.name);
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 stat(target);
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
- await copyFile(join(parentPath, doc.name), target);
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 relpath = USER_COMMANDS_RELPATH_BY_TARGET[target];
461
- if (relpath === null) {
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 copyFile(join(srcDir, entry.name), join(destDir, entry.name));
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 .claude. */
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: