@tacuchi/agent-workflow-cli 19.1.0 → 19.2.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 (231) hide show
  1. package/README.md +2 -2
  2. package/dist/adapters/node-file-system.js +4 -4
  3. package/dist/adapters/node-file-system.js.map +1 -1
  4. package/dist/application/branch-resolver.d.ts +1 -1
  5. package/dist/application/branch-resolver.js +1 -1
  6. package/dist/application/check-branch-service.js +0 -1
  7. package/dist/application/check-branch-service.js.map +1 -1
  8. package/dist/application/checkpoint/state-reader.js +2 -2
  9. package/dist/application/checkpoint/state-reader.js.map +1 -1
  10. package/dist/application/checkpoint-service.d.ts +4 -4
  11. package/dist/application/checkpoint-service.d.ts.map +1 -1
  12. package/dist/application/checkpoint-service.js +4 -6
  13. package/dist/application/checkpoint-service.js.map +1 -1
  14. package/dist/application/git-flow-service.js +2 -2
  15. package/dist/application/git-flow-service.js.map +1 -1
  16. package/dist/application/humanize-es.d.ts.map +1 -1
  17. package/dist/application/humanize-es.js +0 -1
  18. package/dist/application/humanize-es.js.map +1 -1
  19. package/dist/application/markdown.d.ts.map +1 -1
  20. package/dist/application/markdown.js +0 -4
  21. package/dist/application/markdown.js.map +1 -1
  22. package/dist/application/mcp-dbhub-launcher.js +1 -1
  23. package/dist/application/mcp-dbhub-launcher.js.map +1 -1
  24. package/dist/application/mcp-host-paths.d.ts +8 -8
  25. package/dist/application/mcp-host-paths.js +8 -8
  26. package/dist/application/mcp-host-reader.js +2 -2
  27. package/dist/application/mcp-host-reader.js.map +1 -1
  28. package/dist/application/mcp-host-writer.js +3 -3
  29. package/dist/application/mcp-host-writer.js.map +1 -1
  30. package/dist/application/mcp-test-connection-service.d.ts +4 -4
  31. package/dist/application/mcp-test-connection-service.d.ts.map +1 -1
  32. package/dist/application/mcp-test-connection-service.js +6 -6
  33. package/dist/application/mcp-test-connection-service.js.map +1 -1
  34. package/dist/application/mcp-warp-postinstall-hint.js +4 -4
  35. package/dist/application/mcp-warp-postinstall-hint.js.map +1 -1
  36. package/dist/application/multiroot/claude.js +3 -3
  37. package/dist/application/multiroot/claude.js.map +1 -1
  38. package/dist/application/multiroot/warp.d.ts.map +1 -1
  39. package/dist/application/multiroot/warp.js +0 -1
  40. package/dist/application/multiroot/warp.js.map +1 -1
  41. package/dist/application/parsers/project-block.js +0 -2
  42. package/dist/application/parsers/project-block.js.map +1 -1
  43. package/dist/application/plugin-doctor-service.js +5 -5
  44. package/dist/application/plugin-doctor-service.js.map +1 -1
  45. package/dist/application/project-md-upsert-service.d.ts +4 -4
  46. package/dist/application/project-md-upsert-service.d.ts.map +1 -1
  47. package/dist/application/project-md-upsert-service.js +1 -1
  48. package/dist/application/project-md-upsert-service.js.map +1 -1
  49. package/dist/application/project-tab-data.d.ts +25 -25
  50. package/dist/application/project-tab-data.d.ts.map +1 -1
  51. package/dist/application/project-tab-data.js +24 -34
  52. package/dist/application/project-tab-data.js.map +1 -1
  53. package/dist/application/release-data/artifacts.js +2 -2
  54. package/dist/application/release-data/artifacts.js.map +1 -1
  55. package/dist/application/release-data/sessions.js +1 -1
  56. package/dist/application/release-data/sessions.js.map +1 -1
  57. package/dist/application/render/project-block.js +6 -6
  58. package/dist/application/render/project-block.js.map +1 -1
  59. package/dist/application/self/clean-legacy.d.ts +1 -0
  60. package/dist/application/self/clean-legacy.d.ts.map +1 -1
  61. package/dist/application/self/clean-legacy.js +6 -2
  62. package/dist/application/self/clean-legacy.js.map +1 -1
  63. package/dist/application/self/detect-hosts.js +5 -5
  64. package/dist/application/self/detect-hosts.js.map +1 -1
  65. package/dist/application/self/install-hooks.d.ts.map +1 -1
  66. package/dist/application/self/install-hooks.js +0 -1
  67. package/dist/application/self/install-hooks.js.map +1 -1
  68. package/dist/application/self/install-plugin-skills-git.js +3 -3
  69. package/dist/application/self/install-plugin-skills-git.js.map +1 -1
  70. package/dist/application/self/install-plugin-skills.js +4 -4
  71. package/dist/application/self/install-plugin-skills.js.map +1 -1
  72. package/dist/application/self/install-skill.d.ts +18 -1
  73. package/dist/application/self/install-skill.d.ts.map +1 -1
  74. package/dist/application/self/install-skill.js +81 -19
  75. package/dist/application/self/install-skill.js.map +1 -1
  76. package/dist/application/self/install-targets.d.ts +2 -0
  77. package/dist/application/self/install-targets.d.ts.map +1 -1
  78. package/dist/application/self/install-targets.js +30 -1
  79. package/dist/application/self/install-targets.js.map +1 -1
  80. package/dist/application/self/skills-manager.d.ts +26 -26
  81. package/dist/application/self/skills-manager.d.ts.map +1 -1
  82. package/dist/application/self/skills-manager.js +90 -87
  83. package/dist/application/self/skills-manager.js.map +1 -1
  84. package/dist/application/self/skills-registry.d.ts +10 -10
  85. package/dist/application/self/skills-registry.d.ts.map +1 -1
  86. package/dist/application/self/skills-registry.js +12 -12
  87. package/dist/application/self/skills-registry.js.map +1 -1
  88. package/dist/application/self/uninstall.d.ts +1 -0
  89. package/dist/application/self/uninstall.d.ts.map +1 -1
  90. package/dist/application/self/uninstall.js +38 -13
  91. package/dist/application/self/uninstall.js.map +1 -1
  92. package/dist/application/session-resolver.d.ts +1 -1
  93. package/dist/application/session-resolver.d.ts.map +1 -1
  94. package/dist/application/source-launch-scripts-service.js +0 -3
  95. package/dist/application/source-launch-scripts-service.js.map +1 -1
  96. package/dist/application/source-remove-service.d.ts +7 -7
  97. package/dist/application/source-remove-service.js +13 -13
  98. package/dist/application/source-remove-service.js.map +1 -1
  99. package/dist/application/templates/session.d.ts +2 -2
  100. package/dist/application/templates/session.d.ts.map +1 -1
  101. package/dist/application/templates/session.js +2 -6
  102. package/dist/application/templates/session.js.map +1 -1
  103. package/dist/application/terminal-launch.d.ts +1 -1
  104. package/dist/application/terminal-launch.js +1 -1
  105. package/dist/application/visibility-doctor-service.js +4 -4
  106. package/dist/application/visibility-doctor-service.js.map +1 -1
  107. package/dist/application/workspace-init-service.d.ts +1 -1
  108. package/dist/application/workspace-init-service.d.ts.map +1 -1
  109. package/dist/application/workspace-init-service.js +0 -3
  110. package/dist/application/workspace-init-service.js.map +1 -1
  111. package/dist/cli/commands/check-branch.js +1 -1
  112. package/dist/cli/commands/check-branch.js.map +1 -1
  113. package/dist/cli/commands/mcp.d.ts +1 -1
  114. package/dist/cli/commands/mcp.d.ts.map +1 -1
  115. package/dist/cli/commands/mcp.js +4 -4
  116. package/dist/cli/commands/mcp.js.map +1 -1
  117. package/dist/cli/commands/release-data.js +1 -1
  118. package/dist/cli/main.js +5 -5
  119. package/dist/cli/main.js.map +1 -1
  120. package/dist/cli/parser.d.ts.map +1 -1
  121. package/dist/cli/parser.js +1 -3
  122. package/dist/cli/parser.js.map +1 -1
  123. package/dist/cli/parsers/fuentes.js +3 -3
  124. package/dist/cli/parsers/fuentes.js.map +1 -1
  125. package/dist/cli/tui/app.d.ts +1 -1
  126. package/dist/cli/tui/app.d.ts.map +1 -1
  127. package/dist/cli/tui/app.js +36 -36
  128. package/dist/cli/tui/app.js.map +1 -1
  129. package/dist/cli/tui/components/detail-panel.d.ts +8 -7
  130. package/dist/cli/tui/components/detail-panel.d.ts.map +1 -1
  131. package/dist/cli/tui/components/detail-panel.js +11 -11
  132. package/dist/cli/tui/components/detail-panel.js.map +1 -1
  133. package/dist/cli/tui/components/focus-row.d.ts +10 -10
  134. package/dist/cli/tui/components/focus-row.d.ts.map +1 -1
  135. package/dist/cli/tui/components/focus-row.js +10 -10
  136. package/dist/cli/tui/components/focus-row.js.map +1 -1
  137. package/dist/cli/tui/components/home-footer.d.ts +1 -1
  138. package/dist/cli/tui/components/home-footer.d.ts.map +1 -1
  139. package/dist/cli/tui/components/home-header.js +4 -4
  140. package/dist/cli/tui/components/host-admin-section.d.ts.map +1 -1
  141. package/dist/cli/tui/components/host-admin-section.js +6 -7
  142. package/dist/cli/tui/components/host-admin-section.js.map +1 -1
  143. package/dist/cli/tui/components/list-row.d.ts +2 -2
  144. package/dist/cli/tui/components/list-row.js +10 -10
  145. package/dist/cli/tui/components/list-row.js.map +1 -1
  146. package/dist/cli/tui/components/notification-banner.d.ts +8 -7
  147. package/dist/cli/tui/components/notification-banner.d.ts.map +1 -1
  148. package/dist/cli/tui/components/notification-banner.js +9 -8
  149. package/dist/cli/tui/components/notification-banner.js.map +1 -1
  150. package/dist/cli/tui/components/notification-stack.d.ts +6 -6
  151. package/dist/cli/tui/components/notification-stack.d.ts.map +1 -1
  152. package/dist/cli/tui/components/notification-stack.js +5 -5
  153. package/dist/cli/tui/components/page-head.d.ts +5 -5
  154. package/dist/cli/tui/components/page-head.d.ts.map +1 -1
  155. package/dist/cli/tui/components/screen-frame.d.ts.map +1 -1
  156. package/dist/cli/tui/components/screen-frame.js +6 -5
  157. package/dist/cli/tui/components/screen-frame.js.map +1 -1
  158. package/dist/cli/tui/components/tab-bar.d.ts +5 -5
  159. package/dist/cli/tui/components/tab-bar.d.ts.map +1 -1
  160. package/dist/cli/tui/components/tab-bar.js +3 -3
  161. package/dist/cli/tui/components/tabs-config.d.ts +1 -1
  162. package/dist/cli/tui/components/tabs-config.d.ts.map +1 -1
  163. package/dist/cli/tui/components/tabs-config.js +3 -6
  164. package/dist/cli/tui/components/tabs-config.js.map +1 -1
  165. package/dist/cli/tui/components/workspace-init-alias.d.ts +2 -2
  166. package/dist/cli/tui/components/workspace-init-alias.d.ts.map +1 -1
  167. package/dist/cli/tui/components/workspace-init-alias.js +6 -6
  168. package/dist/cli/tui/components/workspace-init-alias.js.map +1 -1
  169. package/dist/cli/tui/components/workspace-init-form.js +3 -3
  170. package/dist/cli/tui/components/workspace-init-form.js.map +1 -1
  171. package/dist/cli/tui/data/recommended-skills.js +11 -11
  172. package/dist/cli/tui/data/recommended-skills.js.map +1 -1
  173. package/dist/cli/tui/data/workflow-content.js +11 -11
  174. package/dist/cli/tui/data/workflow-content.js.map +1 -1
  175. package/dist/cli/tui/hosts.d.ts +5 -5
  176. package/dist/cli/tui/hosts.d.ts.map +1 -1
  177. package/dist/cli/tui/hosts.js +7 -9
  178. package/dist/cli/tui/hosts.js.map +1 -1
  179. package/dist/cli/tui/notification-center.d.ts +11 -11
  180. package/dist/cli/tui/notification-center.d.ts.map +1 -1
  181. package/dist/cli/tui/notification-center.js +3 -3
  182. package/dist/cli/tui/notification-center.js.map +1 -1
  183. package/dist/cli/tui/row-width.d.ts +9 -10
  184. package/dist/cli/tui/row-width.d.ts.map +1 -1
  185. package/dist/cli/tui/row-width.js +9 -10
  186. package/dist/cli/tui/row-width.js.map +1 -1
  187. package/dist/cli/tui/run.d.ts.map +1 -1
  188. package/dist/cli/tui/run.js +13 -12
  189. package/dist/cli/tui/run.js.map +1 -1
  190. package/dist/cli/tui/tabs/config-tab.d.ts +1 -1
  191. package/dist/cli/tui/tabs/config-tab.d.ts.map +1 -1
  192. package/dist/cli/tui/tabs/config-tab.js +6 -6
  193. package/dist/cli/tui/tabs/config-tab.js.map +1 -1
  194. package/dist/cli/tui/tabs/mcp-tab.js +8 -8
  195. package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
  196. package/dist/cli/tui/tabs/project-tab.js +38 -37
  197. package/dist/cli/tui/tabs/project-tab.js.map +1 -1
  198. package/dist/cli/tui/tabs/skills-tab.d.ts.map +1 -1
  199. package/dist/cli/tui/tabs/skills-tab.js +23 -22
  200. package/dist/cli/tui/tabs/skills-tab.js.map +1 -1
  201. package/dist/cli/tui/tabs/status-tab.d.ts +4 -4
  202. package/dist/cli/tui/tabs/status-tab.d.ts.map +1 -1
  203. package/dist/cli/tui/tabs/status-tab.js +7 -7
  204. package/dist/cli/tui/tabs/status-tab.js.map +1 -1
  205. package/dist/cli/tui/tabs/workflow-tab.d.ts.map +1 -1
  206. package/dist/cli/tui/tabs/workflow-tab.js +4 -5
  207. package/dist/cli/tui/tabs/workflow-tab.js.map +1 -1
  208. package/dist/cli/tui/theme.d.ts +3 -2
  209. package/dist/cli/tui/theme.d.ts.map +1 -1
  210. package/dist/cli/tui/theme.js +23 -22
  211. package/dist/cli/tui/theme.js.map +1 -1
  212. package/dist/cli/tui/tui-prefs.d.ts +3 -3
  213. package/dist/cli/tui/tui-prefs.d.ts.map +1 -1
  214. package/dist/cli/tui/tui-prefs.js +5 -5
  215. package/dist/cli/tui/tui-prefs.js.map +1 -1
  216. package/dist/cli/tui/use-list-cursor.d.ts +1 -1
  217. package/dist/cli/tui/use-list-cursor.d.ts.map +1 -1
  218. package/dist/cli/tui/use-list-cursor.js +2 -2
  219. package/dist/cli/tui/use-list-cursor.js.map +1 -1
  220. package/dist/cli/tui/use-terminal-size.js +5 -5
  221. package/dist/cli/tui/use-terminal-size.js.map +1 -1
  222. package/dist/domain/harnesses.d.ts.map +1 -1
  223. package/dist/domain/harnesses.js +11 -2
  224. package/dist/domain/harnesses.js.map +1 -1
  225. package/dist/domain/mcp-entry.js +3 -3
  226. package/dist/domain/mcp-entry.js.map +1 -1
  227. package/dist/domain/session.d.ts +2 -3
  228. package/dist/domain/session.d.ts.map +1 -1
  229. package/dist/domain/types.d.ts +2 -2
  230. package/package.json +2 -2
  231. package/skills/w/harness/HARNESS.md +1 -1
@@ -1,20 +1,22 @@
1
- // Motor de skills sueltas (modelo skills.sh): canónica en ~/.agents/skills/<n>
2
- // (el ancla del estándar abierto que escanean los hosts no-Claude) + réplica en
3
- // ~/.claude/skills/<n> vía symlink, con fallback a copia (Windows sin links).
1
+ // Standalone-skills engine (skills.sh model): canonical copy in
2
+ // ~/.agents/skills/<n> (the open-standard anchor that non-Claude hosts scan)
3
+ // + replica in ~/.claude/skills/<n> via symlink, with a copy fallback
4
+ // (Windows without links).
4
5
  //
5
- // El registro user-level (skills-registry.ts) es la fuente de verdad de QUÉ
6
- // administra este motor. Guards de ownership (el motor escribe bajo el HOME
7
- // real del usuario, donde también viven el bundle `w`, skills de plugins y
8
- // skills manuales):
9
- // - toda operación exige nombre registrado (SKILL_NOT_REGISTERED);
10
- // - la canónica solo se crea/borra si este motor la materializó — señal:
11
- // `installedAt` en el registro (SKILL_NAME_COLLISION al chocar con un dir
12
- // ajeno; en uninstall/remove el dir ajeno se conserva con warning);
13
- // - la réplica de Claude es nuestra solo si es un symlink QUE APUNTA a la
14
- // canónica o un dir con mode:"copy" registrado (FOREIGN_REPLICA si no), y
15
- // se verifica ANTES de mutar nada;
16
- // - un registro ilegible (warning del read) aborta toda mutación: jamás se
17
- // reescribe por encima de entradas que no se pudieron leer.
6
+ // The user-level registry (skills-registry.ts) is the source of truth for WHAT
7
+ // this engine manages. Ownership guards (the engine writes under the user's
8
+ // real HOME, which also hosts the `w` bundle, plugin skills and manual
9
+ // skills):
10
+ // - every operation requires a registered name (SKILL_NOT_REGISTERED);
11
+ // - the canonical dir is only created/deleted if this engine materialized it
12
+ // — signal: `installedAt` in the registry (SKILL_NAME_COLLISION when
13
+ // colliding with a foreign dir; on uninstall/remove the foreign dir is
14
+ // preserved with a warning);
15
+ // - the Claude replica is ours only if it is a symlink THAT POINTS AT the
16
+ // canonical or a dir with registered mode:"copy" (FOREIGN_REPLICA
17
+ // otherwise), verified BEFORE mutating anything;
18
+ // - an unreadable registry (read warning) aborts every mutation: never
19
+ // rewrite over entries that could not be read.
18
20
  import { readFile, readdir, readlink, rename } from "node:fs/promises";
19
21
  import { mkdtemp, rm } from "node:fs/promises";
20
22
  import { tmpdir } from "node:os";
@@ -23,7 +25,7 @@ import { gitClone } from "./install-plugin-skills-git.js";
23
25
  import { copyDir, hasValidFrontmatter } from "./install-plugin-skills.js";
24
26
  import { COMMAND_SKILL_PREFIX, LEGACY_SKILL_NAMES, SKILL_DIR_NAME } from "./install-skill.js";
25
27
  import { isValidSkillName, readSkillsRegistry, readSkillsShLockSources, writeSkillsRegistry, } from "./skills-registry.js";
26
- // skills/<categoría>/<skill> (mattpocock/skills) cabe en 3 niveles bajo la raíz.
28
+ // skills/<category>/<skill> (mattpocock/skills) fits within 3 levels below the root.
27
29
  const MAX_SCAN_DEPTH = 3;
28
30
  export function canonicalSkillsRoot(home) {
29
31
  return join(home, ".agents", "skills");
@@ -34,26 +36,26 @@ export function claudeReplicaRoot(home) {
34
36
  export function geminiReplicaRoot(home) {
35
37
  return join(home, ".gemini", "skills");
36
38
  }
37
- // Marker de propiedad de las réplicas COPY (contraparte del symlink, que se
38
- // autentica apuntando a nuestra canónica): sin él, un dir real homónimo de
39
- // otro origen sería indistinguible de nuestra copia y el teardown/reinstall
40
- // podría pisarlo.
39
+ // Ownership marker for COPY replicas (counterpart of the symlink, which
40
+ // authenticates by pointing at our canonical): without it, a same-named real
41
+ // dir from another origin would be indistinguishable from our copy and
42
+ // teardown/reinstall could clobber it.
41
43
  export const REPLICA_MARKER_FILENAME = ".aw-replica";
42
44
  const REPLICA_HOSTS = [
43
45
  { key: "claude", root: claudeReplicaRoot, preferSymlink: true },
44
46
  { key: "gemini", root: geminiReplicaRoot, preferSymlink: false },
45
47
  ];
46
48
  /**
47
- * Normaliza la fuente del usuario: URL git (con `#ref`), atajo `owner/repo`
48
- * (→ GitHub) o path local absoluto. Paths relativos se rechazan a propósito:
49
- * el registro debe poder resolverse desde cualquier cwd futuro.
49
+ * Normalizes the user's source: git URL (with `#ref`), `owner/repo` shorthand
50
+ * (→ GitHub) or absolute local path. Relative paths are rejected on purpose:
51
+ * the registry must resolve from any future cwd.
50
52
  */
51
53
  export function resolveSkillSource(raw, ref) {
52
54
  const trimmed = raw.trim();
53
55
  if (trimmed.length === 0)
54
56
  return { error: "la fuente no puede estar vacía" };
55
- // file:// cuenta como git (clone por transporte local) — permite registrar
56
- // repos locales CON historial, a diferencia del path plano.
57
+ // file:// counts as git (clone over local transport) — lets users register
58
+ // local repos WITH history, unlike a plain path.
57
59
  if (/^(https?:\/\/|git@|ssh:\/\/|file:\/\/)/.test(trimmed)) {
58
60
  const hashIdx = trimmed.indexOf("#");
59
61
  const url = hashIdx >= 0 ? trimmed.slice(0, hashIdx) : trimmed;
@@ -62,8 +64,8 @@ export function resolveSkillSource(raw, ref) {
62
64
  }
63
65
  if (isAbsolute(trimmed))
64
66
  return { kind: "local", path: trimmed };
65
- // El atajo GitHub exige segmentos que arranquen alfanuméricos: "./x" o "../x"
66
- // son paths relativos (rechazados), no owner/repo.
67
+ // The GitHub shorthand requires segments starting alphanumeric: "./x" or
68
+ // "../x" are relative paths (rejected), not owner/repo.
67
69
  if (/^[A-Za-z0-9][\w.-]*\/[A-Za-z0-9][\w.-]*$/.test(trimmed)) {
68
70
  return { kind: "git", url: `https://github.com/${trimmed}.git`, ...(ref ? { ref } : {}) };
69
71
  }
@@ -79,14 +81,14 @@ async function isSkillDir(dir) {
79
81
  return false;
80
82
  }
81
83
  }
82
- /** `name:` del frontmatter el nombre real de la skill cuando la fuente ES un
83
- * skill-dir (el basename de un clone temporal es aleatorio, jamás sirve). */
84
+ /** Frontmatter `name:` — the skill's real name when the source IS a skill dir
85
+ * (the basename of a temp clone is random, never usable). */
84
86
  function frontmatterName(content) {
85
87
  const block = content.match(/^---[ \t]*\r?\n([\s\S]*?)\r?\n---/)?.[1] ?? "";
86
88
  return block.match(/^name:\s*(\S[^\r\n]*)/m)?.[1]?.trim() ?? null;
87
89
  }
88
- /** Walk acotado: skills anidadas hasta skills/<categoría>/<skill>; salta
89
- * dot-dirs, node_modules y symlinks (Dirent de link no es isDirectory). */
90
+ /** Bounded walk: nested skills up to skills/<category>/<skill>; skips
91
+ * dot-dirs, node_modules and symlinks (a link's Dirent is not isDirectory). */
90
92
  async function walkSkillDirs(dir, depth) {
91
93
  if (depth >= MAX_SCAN_DEPTH)
92
94
  return [];
@@ -113,8 +115,8 @@ async function walkSkillDirs(dir, depth) {
113
115
  }
114
116
  return out;
115
117
  }
116
- /** Skill dirs de una fuente: el dir mismo (si ES una skill, nombrado por su
117
- * frontmatter) o el árbol; nombres duplicados o inválidos se descartan. */
118
+ /** Skill dirs of a source: the dir itself (if it IS a skill, named by its
119
+ * frontmatter) or the tree; duplicate or invalid names are discarded. */
118
120
  async function collectCandidates(dir) {
119
121
  if (await isSkillDir(dir)) {
120
122
  const content = await readFile(join(dir, "SKILL.md"), "utf8");
@@ -130,7 +132,7 @@ async function collectCandidates(dir) {
130
132
  }
131
133
  return [...byName.values()];
132
134
  }
133
- /** Trae la fuente a un dir legible y lista sus skills (clone temp si es git). */
135
+ /** Brings the source into a readable dir and lists its skills (temp clone for git). */
134
136
  async function fetchSourceCandidates(resolved, ctx) {
135
137
  if (resolved.kind === "local") {
136
138
  if (!(await ctx.fs.exists(resolved.path))) {
@@ -151,8 +153,8 @@ async function fetchSourceCandidates(resolved, ctx) {
151
153
  }
152
154
  return { candidates: await collectCandidates(temp), cleanup };
153
155
  }
154
- /** Lectura previa a una mutación: un registro ilegible ABORTAla primera
155
- * escritura tras un read fallido pisaría todas las entradas previas. */
156
+ /** Read preceding a mutation: an unreadable registry ABORTSthe first write
157
+ * after a failed read would clobber every prior entry. */
156
158
  async function readRegistryForWrite(ctx) {
157
159
  const read = await readSkillsRegistry(ctx);
158
160
  if (read.warning) {
@@ -163,8 +165,8 @@ async function readRegistryForWrite(ctx) {
163
165
  }
164
166
  return { registry: read.registry };
165
167
  }
166
- /** Inspección sin efectos: lista las skills de una fuente para que el wizard
167
- * muestre picker + warning de terceros ANTES de registrar nada. */
168
+ /** Side-effect-free inspection: lists a source's skills so the wizard can show
169
+ * the picker + third-party warning BEFORE registering anything. */
168
170
  export async function probeSkillSource(ctx, input) {
169
171
  const resolved = resolveSkillSource(input.source, input.ref);
170
172
  if ("error" in resolved)
@@ -215,14 +217,14 @@ export async function registerSkill(ctx, input) {
215
217
  if (registry.skills[picked.name]) {
216
218
  return fail("SKILL_ALREADY_REGISTERED", `'${picked.name}' ya está registrada (fuente: ${registry.skills[picked.name]?.source})`);
217
219
  }
218
- // `w-*` es el namespace de los wrappers sintetizados del bundle
219
- // (install-skill.ts) — registrar una suelta ahí la dejaría a merced del
220
- // sweep de install/uninstall en los mismos roots.
220
+ // `w-*` is the namespace of the bundle's synthesized wrappers
221
+ // (install-skill.ts) — registering a standalone skill there would leave it
222
+ // at the mercy of the install/uninstall sweep over the same roots.
221
223
  if (picked.name.startsWith(COMMAND_SKILL_PREFIX)) {
222
224
  return fail("RESERVED_SKILL_PREFIX", `'${picked.name}' usa el prefijo reservado '${COMMAND_SKILL_PREFIX}' (wrappers del bundle) — elegí otro nombre`);
223
225
  }
224
- // Guard de ownership: un dir canónico existente NO registrado es de otro
225
- // (bundle `w`, skill de plugin, instalación manual) — nunca lo adoptamos.
226
+ // Ownership guard: an existing UNregistered canonical dir belongs to someone
227
+ // else (`w` bundle, plugin skill, manual install) — we never adopt it.
226
228
  const canonical = join(canonicalSkillsRoot(ctx.env.homeDir()), picked.name);
227
229
  if (await ctx.fs.exists(canonical)) {
228
230
  return fail("SKILL_NAME_COLLISION", `ya existe ${canonical} y no está en el registro de sueltas — elegí otro nombre o resolvé la colisión a mano`);
@@ -278,8 +280,8 @@ export async function installSkill(ctx, name, opts = { refetch: true }) {
278
280
  return notRegistered(name);
279
281
  const home = ctx.env.homeDir();
280
282
  const canonical = join(canonicalSkillsRoot(home), name);
281
- // Pre-flight ANTES de mutar nada: réplica ajena (en cualquier host) o
282
- // colisión de canónica abortan sin tocar la instalación previa ni el dir ajeno.
283
+ // Pre-flight BEFORE mutating anything: a foreign replica (on any host) or a
284
+ // canonical collision aborts without touching the prior install or the foreign dir.
283
285
  const replicaStates = new Map();
284
286
  for (const host of REPLICA_HOSTS) {
285
287
  const state = await inspectReplica(ctx, name, entry.mode, host);
@@ -313,20 +315,20 @@ export async function installSkill(ctx, name, opts = { refetch: true }) {
313
315
  }
314
316
  }
315
317
  else if (!entry.installedAt || !(await ctx.fs.exists(canonical))) {
316
- // Reinstall exige que ESTE manager haya materializado la canónica: sin
317
- // installedAt, un dir homónimo existente es ajeno y no se replica.
318
+ // Reinstall requires THIS manager to have materialized the canonical dir:
319
+ // without installedAt, an existing same-named dir is foreign and is not replicated.
318
320
  return fail("SKILL_NOT_INSTALLED", `'${name}' no está instalada (no existe ${canonical} materializada por este manager); usá Install/Update`);
319
321
  }
320
322
  const replicas = [];
321
323
  for (const host of REPLICA_HOSTS) {
322
324
  replicas.push(await replicateToHost(ctx, name, replicaStates.get(host.key) ?? "absent", host));
323
325
  }
324
- // El mode registrado sigue siendo el de la réplica Claude (la primaria):
325
- // el badge "(copy)" de la TUI señala SU degradación (Windows sin symlinks);
326
- // la copia gemini es by-design y se autentica por marker, no por mode.
326
+ // The registered mode is still the Claude replica's (the primary one): the
327
+ // TUI's "(copy)" badge flags ITS degradation (Windows without symlinks);
328
+ // the gemini copy is by-design and authenticates via marker, not mode.
327
329
  const claudeReplica = replicas[0] ?? { path: canonical, mode: "symlink" };
328
- // Re-leer antes de escribir: el clone puede tardar y otra invocación pudo
329
- // tocar el registro en el medionunca escribir un snapshot viejo.
330
+ // Re-read before writing: the clone can take a while and another invocation
331
+ // may have touched the registry in between never write a stale snapshot.
330
332
  const fresh = await readRegistryForWrite(ctx);
331
333
  if ("error" in fresh)
332
334
  return fail(fresh.code, fresh.error);
@@ -353,12 +355,12 @@ export async function installSkill(ctx, name, opts = { refetch: true }) {
353
355
  exitCode: 0,
354
356
  };
355
357
  }
356
- /** Reinstall: repara canónicaréplica sin tocar la fuente (offline-safe). */
358
+ /** Reinstall: repairs canonicalreplica without touching the source (offline-safe). */
357
359
  export async function reinstallSkill(ctx, name) {
358
360
  return installSkill(ctx, name, { refetch: false });
359
361
  }
360
- /** Update: re-fetch del ref registrado; solo fuentes git. Staging+swap: un fallo
361
- * de fetch deja la instalación previa intacta. */
362
+ /** Update: re-fetches the registered ref; git sources only. Staging+swap: a
363
+ * fetch failure leaves the prior install intact. */
362
364
  export async function updateSkill(ctx, name) {
363
365
  const read = await readRegistryForWrite(ctx);
364
366
  if ("error" in read)
@@ -430,9 +432,9 @@ export async function removeSkill(ctx, name) {
430
432
  exitCode: 0,
431
433
  };
432
434
  }
433
- /** Lista única para la TUI: registradas (instaladas o no) + canónicas fuera del
434
- * registro (`unmanaged`) + semilla no registrada. Orden: installed → unmanaged
435
- * → registered → recommended; alfabético dentro de cada grupo. */
435
+ /** Single list for the TUI: registered (installed or not) + canonicals outside
436
+ * the registry (`unmanaged`) + unregistered seed. Order: installed → unmanaged
437
+ * → registered → recommended; alphabetical within each group. */
436
438
  export async function listSkills(ctx, seed) {
437
439
  const { registry, warning } = await readSkillsRegistry(ctx);
438
440
  const home = ctx.env.homeDir();
@@ -454,13 +456,14 @@ export async function listSkills(ctx, seed) {
454
456
  replicas: { agents: canonical, claude: replica, gemini },
455
457
  });
456
458
  }
457
- // Canónicas fuera del registro (skills.sh, manuales): visibles como
458
- // `unmanaged` para que la tab refleje TODO el ancla, sin volverlas operables
459
- // (guard de ownership intacto). La fuente sale del lock de skills.sh si la
460
- // conoce; "" cuando nadie la sabe. Excluidos: el bundle `w` y su namespace
461
- // `w-*` sintetizadas (skill-as-command) + nombres legacy (los administra [Workflows], no son
462
- // "de otro"). Con registro ILEGIBLE no se clasifica nada: podrían ser del
463
- // motor y quedarían mal etiquetadas como ajenas.
459
+ // Canonicals outside the registry (skills.sh, manual): shown as `unmanaged`
460
+ // so the tab reflects the WHOLE anchor, without making them operable
461
+ // (ownership guard intact). The source comes from the skills.sh lock when it
462
+ // knows it; "" when nobody does. Excluded: the `w` bundle and its
463
+ // synthesized `w-*` namespace (skill-as-command) + legacy names (managed by
464
+ // [Workflows], not "someone else's"). With an UNREADABLE registry nothing is
465
+ // classified: entries could belong to this engine and would be mislabeled as
466
+ // foreign.
464
467
  const bundleOwned = new Set([SKILL_DIR_NAME, ...LEGACY_SKILL_NAMES]);
465
468
  const unmanaged = new Set();
466
469
  const root = canonicalSkillsRoot(home);
@@ -468,8 +471,8 @@ export async function listSkills(ctx, seed) {
468
471
  try {
469
472
  const lockSources = await readSkillsShLockSources(ctx);
470
473
  for (const entry of await ctx.fs.list(root)) {
471
- // Un symlink-a-dir se tipa "other" (Dirent no lo resuelve); solo se
472
- // descartan files — isSkillDir lee A TRAVÉS del link y decide.
474
+ // A symlink-to-dir is typed "other" (Dirent does not resolve it); only
475
+ // files are discarded — isSkillDir reads THROUGH the link and decides.
473
476
  if (entry.type === "file" || entry.name.startsWith("."))
474
477
  continue;
475
478
  if (bundleOwned.has(entry.name) || entry.name.startsWith(COMMAND_SKILL_PREFIX))
@@ -490,16 +493,16 @@ export async function listSkills(ctx, seed) {
490
493
  }
491
494
  }
492
495
  catch {
493
- // Ancla ausente o ilegible (p.ej. permisos): el scan es best-effort —
494
- // las administradas ya están listadas; jamás vaciamos la tab por esto.
496
+ // Anchor absent or unreadable (e.g. permissions): the scan is best-effort —
497
+ // managed skills are already listed; never empty the tab over this.
495
498
  }
496
499
  }
497
500
  for (const s of seed) {
498
501
  if (Object.hasOwn(registry.skills, s.name) || unmanaged.has(s.name))
499
502
  continue;
500
- // Canónica homónima que el scan no listó (frontmatter inválido, file,
501
- // registro ilegible): ofrecer Install garantiza SKILL_NAME_COLLISION —
502
- // mejor no ofrecer la semilla.
503
+ // Same-named canonical the scan did not list (invalid frontmatter, file,
504
+ // unreadable registry): offering Install guarantees SKILL_NAME_COLLISION —
505
+ // better not to offer the seed.
503
506
  if (await ctx.fs.exists(join(root, s.name)))
504
507
  continue;
505
508
  items.push({
@@ -518,11 +521,11 @@ export async function listSkills(ctx, seed) {
518
521
  };
519
522
  return items.sort((a, b) => rank[a.status] - rank[b.status] || a.name.localeCompare(b.name));
520
523
  }
521
- // --- internos ---
524
+ // --- internals ---
522
525
  /**
523
- * Copia src a un staging oculto y lo intercambia con la canónica; el .bak solo
524
- * se descarta cuando el swap completóun fallo restaura el estado previo.
525
- * `renameFn` es inyectable para poder testear la rama de restore.
526
+ * Copies src into a hidden staging dir and swaps it with the canonical one;
527
+ * the .bak is only discarded once the swap completeda failure restores the
528
+ * previous state. `renameFn` is injectable to test the restore branch.
526
529
  */
527
530
  export async function materializeCanonical(ctx, srcDir, canonical, name, renameFn = rename) {
528
531
  const root = canonicalSkillsRoot(ctx.env.homeDir());
@@ -550,10 +553,10 @@ export async function materializeCanonical(ctx, srcDir, canonical, name, renameF
550
553
  await ctx.fs.remove(staging);
551
554
  }
552
555
  }
553
- /** Ownership de la réplica en un host: nuestra solo si es un symlink que
554
- * apunta a NUESTRA canónica, un dir real con marker `.aw-replica`, o — legacy
555
- * (copias pre-marker, Windows) — un dir real con mode:"copy" registrado. Un
556
- * symlink del usuario hacia otro lado es ajeno jamás se re-apunta. */
556
+ /** Replica ownership on a host: ours only if it is a symlink pointing at OUR
557
+ * canonical, a real dir with the `.aw-replica` marker, or — legacy
558
+ * (pre-marker copies, Windows) — a real dir with registered mode:"copy". A
559
+ * user's symlink pointing elsewhere is foreignnever re-pointed. */
557
560
  async function inspectReplica(ctx, name, registeredMode, host) {
558
561
  const home = ctx.env.homeDir();
559
562
  const replicaRoot = host.root(home);
@@ -573,11 +576,11 @@ async function inspectReplica(ctx, name, registeredMode, host) {
573
576
  }
574
577
  if (await ctx.fs.exists(join(replica, REPLICA_MARKER_FILENAME)))
575
578
  return "ours";
576
- // Legacy: copias del host claude previas al marker se autenticaban solo por
577
- // el mode registrado.
579
+ // Legacy: pre-marker copies on the claude host authenticated only via the
580
+ // registered mode.
578
581
  return host.key === "claude" && registeredMode === "copy" ? "ours" : "foreign";
579
582
  }
580
- /** Materializa la réplica en un host (el pre-flight ya garantizó que no es ajena). */
583
+ /** Materializes the replica on a host (pre-flight already ensured it is not foreign). */
581
584
  async function replicateToHost(ctx, name, state, host) {
582
585
  const home = ctx.env.homeDir();
583
586
  const canonical = join(canonicalSkillsRoot(home), name);
@@ -592,15 +595,15 @@ async function replicateToHost(ctx, name, state, host) {
592
595
  return { host: host.key, path: replica, mode: "symlink" };
593
596
  }
594
597
  catch {
595
- // Sin symlinks (Windows sin Developer Mode / EPERM) → copia real.
598
+ // No symlinks (Windows without Developer Mode / EPERM) → real copy.
596
599
  }
597
600
  }
598
601
  await copyDir(canonical, replica);
599
602
  await ctx.fs.writeText(join(replica, REPLICA_MARKER_FILENAME), `${canonical}\n`);
600
603
  return { host: host.key, path: replica, mode: "copy" };
601
604
  }
602
- /** Desmonta réplicas y canónica respetando ownership; devuelve warning si algo
603
- * ajeno homónimo se conservó. */
605
+ /** Tears down replicas and the canonical dir respecting ownership; returns a
606
+ * warning if a same-named foreign dir was preserved. */
604
607
  async function teardownSkill(ctx, name, entry) {
605
608
  const home = ctx.env.homeDir();
606
609
  const warnings = [];
@@ -1 +1 @@
1
- {"version":3,"file":"skills-manager.js","sourceRoot":"","sources":["../../../src/application/self/skills-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills-manager.js","sourceRoot":"","sources":["../../../src/application/self/skills-manager.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,6EAA6E;AAC7E,sEAAsE;AACtE,2BAA2B;AAC3B,EAAE;AACF,+EAA+E;AAC/E,4EAA4E;AAC5E,uEAAuE;AACvE,WAAW;AACX,yEAAyE;AACzE,+EAA+E;AAC/E,yEAAyE;AACzE,2EAA2E;AAC3E,iCAAiC;AACjC,4EAA4E;AAC5E,sEAAsE;AACtE,qDAAqD;AACrD,yEAAyE;AACzE,mDAAmD;AAGnD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGhE,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EAIL,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAoE9B,qFAAqF;AACrF,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,wEAAwE;AACxE,6EAA6E;AAC7E,uEAAuE;AACvE,uCAAuC;AACvC,MAAM,CAAC,MAAM,uBAAuB,GAAG,aAAa,CAAC;AAkBrD,MAAM,aAAa,GAA2B;IAC5C,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,aAAa,EAAE,IAAI,EAAE;IAC/D,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,aAAa,EAAE,KAAK,EAAE;CACjE,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW,EAAE,GAAY;IAC1D,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;IAC7E,2EAA2E;IAC3E,iDAAiD;IACjD,IAAI,wCAAwC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/D,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACxE,CAAC;IACD,IAAI,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACjE,yEAAyE;IACzE,wDAAwD;IACxD,IAAI,0CAA0C,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,sBAAsB,OAAO,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC5F,CAAC;IACD,OAAO;QACL,KAAK,EAAE,qBAAqB,GAAG,0DAA0D;KAC1F,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,GAAW;IACnC,IAAI,CAAC;QACH,OAAO,mBAAmB,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;8DAC8D;AAC9D,SAAS,eAAe,CAAC,OAAe;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5E,OAAO,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;AACpE,CAAC;AAED;gFACgF;AAChF,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,KAAa;IACrD,IAAI,KAAK,IAAI,cAAc;QAAE,OAAO,EAAE,CAAC;IACvC,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAqB,EAAE,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAAE,SAAS;QACnC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;YAAE,SAAS;QAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;0EAC0E;AAC1E,KAAK,UAAU,iBAAiB,CAAC,GAAW;IAC1C,IAAI,MAAM,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;QACvD,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,SAAS;QAC9D,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,uFAAuF;AACvF,KAAK,UAAU,qBAAqB,CAClC,QAAwB,EACxB,GAAe;IAIf,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC1C,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC;QAC3F,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,EAAE,CAAC;IACzF,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC;IACF,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,EAAE,CAAC;QAChB,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,oBAAqB,GAAa,CAAC,OAAO,EAAE,EAAE,CAAC;IAC3F,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;AAChE,CAAC;AAED;2DAC2D;AAC3D,KAAK,UAAU,oBAAoB,CACjC,GAAe;IAEf,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO;YACL,IAAI,EAAE,qBAAqB;YAC3B,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,gDAAgD;SACvE,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AACrC,CAAC;AAED;oEACoE;AACpE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAAe,EACf,KAA4C;IAE5C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7D,IAAI,OAAO,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC3D,IAAI,OAAO,IAAI,OAAO;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACjE,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CACT,kBAAkB,EAClB,2EAA2E,KAAK,CAAC,MAAM,GAAG,CAC3F,CAAC;QACJ,CAAC;QACD,OAAO;YACL,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YAClE,QAAQ,EAAE,CAAC;SACZ,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAe,EACf,KAAoB;IAEpB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7D,IAAI,OAAO,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEvE,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC3D,IAAI,OAAO,IAAI,OAAO;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAEjE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACxD,IAAI,OAAO,IAAI,MAAM;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAI,YAAY,IAAI,MAAM,EAAE,CAAC;YAC3B,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE;oBACJ,MAAM,EAAE,YAAY;oBACpB,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,OAAO,EAAE,sBAAsB,MAAM,CAAC,UAAU,CAAC,MAAM,oCAAoC;iBAC5F;gBACD,QAAQ,EAAE,CAAC;aACZ,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,OAAO,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CACT,0BAA0B,EAC1B,IAAI,MAAM,CAAC,IAAI,iCAAiC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,CACxF,CAAC;QACJ,CAAC;QACD,8DAA8D;QAC9D,2EAA2E;QAC3E,mEAAmE;QACnE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACjD,OAAO,IAAI,CACT,uBAAuB,EACvB,IAAI,MAAM,CAAC,IAAI,+BAA+B,oBAAoB,6CAA6C,CAChH,CAAC;QACJ,CAAC;QACD,6EAA6E;QAC7E,uEAAuE;QACvE,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5E,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CACT,sBAAsB,EACtB,aAAa,SAAS,uFAAuF,CAC9G,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAuB;YAChC,MAAM,EACJ,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI;YACxF,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1E,CAAC;QACF,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACrC,MAAM,mBAAmB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACzC,OAAO;YACL,EAAE,EAAE,IAAI;YACR,IAAI,EAAE;gBACJ,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK;gBACL,OAAO,EAAE,UAAU,MAAM,CAAC,IAAI,sBAAsB,KAAK,CAAC,MAAM,GAAG;aACpE;YACD,QAAQ,EAAE,CAAC;SACZ,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACpB,UAA4B,EAC5B,KAAoB;IAEpB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,2EAA2E,KAAK,CAAC,MAAM,GAAG;SAClG,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5D,OAAO,CACL,KAAK,IAAI;YACP,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,mCAAmC,KAAK,CAAC,IAAI,mBAAmB,UAAU;iBAC9E,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iBAClB,IAAI,EAAE;iBACN,IAAI,CAAC,IAAI,CAAC,GAAG;SACjB,CACF,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IACnE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAAe,EACf,IAAY,EACZ,OAA6B,EAAE,OAAO,EAAE,IAAI,EAAE;IAE9C,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK;QAAE,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;IAEvC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAExD,4EAA4E;IAC5E,oFAAoF;IACpF,MAAM,aAAa,GAAG,IAAI,GAAG,EAAwD,CAAC;IACtF,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,IAAI,CACT,iBAAiB,EACjB,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,yDAAyD,CAClG,CAAC;QACJ,CAAC;QACD,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAC3E,OAAO,IAAI,CACT,sBAAsB,EACtB,aAAa,SAAS,gEAAgE,CACvF,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,OAAO,IAAI,QAAQ;YAAE,OAAO,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC3D,IAAI,OAAO,IAAI,OAAO;YAAE,OAAO,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,IAAI,CACT,cAAc,EACd,cAAc,KAAK,CAAC,MAAM,8BAA8B,IAAI,GAAG,CAChE,CAAC;YACJ,CAAC;YACD,MAAM,oBAAoB,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,oBAAoB,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;QAC5D,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACnE,0EAA0E;QAC1E,oFAAoF;QACpF,OAAO,IAAI,CACT,qBAAqB,EACrB,IAAI,IAAI,kCAAkC,SAAS,sDAAsD,CAC1G,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAkD,EAAE,CAAC;IACnE,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,QAAQ,CAAC,IAAI,CAAC,MAAM,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IACjG,CAAC;IACD,2EAA2E;IAC3E,yEAAyE;IACzE,uEAAuE;IACvE,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAkB,EAAE,CAAC;IAEnF,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC9C,IAAI,OAAO,IAAI,KAAK;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;IACrD,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG;QAC5B,GAAG,OAAO;QACV,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnE,CAAC;IACF,MAAM,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE/C,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACJ,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa;YAClD,IAAI;YACJ,SAAS;YACT,OAAO,EAAE,aAAa,CAAC,IAAI;YAC3B,IAAI,EAAE,aAAa,CAAC,IAAI;YACxB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7E,OAAO,EAAE,UAAU,IAAI,sBAAsB,SAAS,eAAe,QAAQ;iBAC1E,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;iBACjC,IAAI,CAAC,KAAK,CAAC,IAAI;SACnB;QACD,QAAQ,EAAE,CAAC;KACZ,CAAC;AACJ,CAAC;AAED,uFAAuF;AACvF,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAe,EACf,IAAY;IAEZ,OAAO,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AACrD,CAAC;AAED;qDACqD;AACrD,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,GAAe,EACf,IAAY;IAEZ,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK;QAAE,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7D,IAAI,OAAO,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACnD,OAAO,IAAI,CACT,qBAAqB,EACrB,2BAA2B,IAAI,qEAAqE,CACrG,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,OAAO,IAAI,CAAC,qBAAqB,EAAE,IAAI,IAAI,kCAAkC,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;IAC9C,OAAO;QACL,GAAG,MAAM;QACT,IAAI,EAAE;YACJ,GAAG,MAAM,CAAC,IAAI;YACd,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,UAAU,IAAI,8CAA8C;SACtE;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAe,EACf,IAAY;IAEZ,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK;QAAE,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;IAEvC,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACtD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG;QAC3B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzC,CAAC;IACF,MAAM,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACJ,MAAM,EAAE,aAAa;YACrB,IAAI;YACJ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,UAAU,IAAI,6CAA6C,KAAK,CAAC,MAAM,IAAI;SACrF;QACD,QAAQ,EAAE,CAAC;KACZ,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,GAAe,EACf,IAAY;IAEZ,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK;QAAE,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;IAEvC,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACtD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACJ,MAAM,EAAE,SAAS;YACjB,IAAI;YACJ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,UAAU,IAAI,wCAAwC;SAChE;QACD,QAAQ,EAAE,CAAC;KACZ,CAAC;AACJ,CAAC;AAED;;kEAEkE;AAClE,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,GAAe,EACf,IAA0B;IAE1B,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzD,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5D,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;QACnF,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;QAClF,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC;YACT,IAAI;YACJ,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY;YAC9C,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;SACzD,CAAC,CAAC;IACL,CAAC;IAED,4EAA4E;IAC5E,qEAAqE;IACrE,6EAA6E;IAC7E,kEAAkE;IAClE,4EAA4E;IAC5E,6EAA6E;IAC7E,6EAA6E;IAC7E,WAAW;IACX,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS,CAAC,cAAc,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,GAAG,CAAC,CAAC;YACvD,KAAK,MAAM,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5C,uEAAuE;gBACvE,uEAAuE;gBACvE,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;oBAAE,SAAS;gBAClE,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC;oBAAE,SAAS;gBACzF,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC;oBAAE,SAAS;gBAC1F,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;oBAAE,SAAS;gBAC1D,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC1B,MAAM,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;gBACzF,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;gBACxF,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;oBACrC,MAAM,EAAE,WAAW;oBACnB,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;iBACpD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,4EAA4E;YAC5E,oEAAoE;QACtE,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,SAAS;QAC9E,yEAAyE;QACzE,2EAA2E;QAC3E,gCAAgC;QAChC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAAE,SAAS;QACtD,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,MAAM,EAAE,aAAa;YACrB,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;SAC1D,CAAC,CAAC;IACL,CAAC;IAED,MAAM,IAAI,GAAgC;QACxC,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,CAAC;KACf,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED,oBAAoB;AAEpB;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,GAAe,EACf,MAAc,EACd,SAAiB,EACjB,IAAY,EACZ,WAA0B,MAAM;IAEhC,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACpD,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACtD,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,WAAW;YAAE,MAAM,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,WAAW;gBAAE,MAAM,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAChE,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,IAAI,WAAW;YAAE,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;YAAS,CAAC;QACT,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAID;;;uEAGuE;AACvE,KAAK,UAAU,cAAc,CAC3B,GAAe,EACf,IAAY,EACZ,cAA4C,EAC5C,IAAiB;IAEjB,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC/B,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;YACvC,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YACxD,OAAO,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAClF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IAC/E,0EAA0E;IAC1E,mBAAmB;IACnB,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACjF,CAAC;AAED,yFAAyF;AACzF,KAAK,UAAU,eAAe,CAC5B,GAAe,EACf,IAAY,EACZ,KAAuC,EACvC,IAAiB;IAEjB,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAExC,IAAI,KAAK,KAAK,MAAM;QAAE,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACjC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACzC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;QACtE,CAAC;IACH,CAAC;IACD,MAAM,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAClC,MAAM,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,EAAE,GAAG,SAAS,IAAI,CAAC,CAAC;IACjF,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACzD,CAAC;AAED;yDACyD;AACzD,KAAK,UAAU,aAAa,CAC1B,GAAe,EACf,IAAY,EACZ,KAAyB;IAEzB,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvE,IAAI,YAAY,KAAK,MAAM;YAAE,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACrD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC,eAAe,OAAO,uCAAuC,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IACxD,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;SAAM,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1C,QAAQ,CAAC,IAAI,CAAC,eAAe,SAAS,kCAAkC,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAChE,CAAC;AAED,SAAS,aAAa,CAAI,IAAY;IACpC,OAAO;QACL,EAAE,EAAE,KAAK;QACT,KAAK,EAAE;YACL,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EAAE,IAAI,IAAI,2HAA2H;SAC7I;QACD,QAAQ,EAAE,CAAC;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,IAAI,CAAI,IAAY,EAAE,OAAe;IAC5C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AAC9D,CAAC"}
@@ -2,13 +2,13 @@ import type { CliContext } from "../../cli/types.js";
2
2
  export declare const SKILLS_REGISTRY_REL: readonly [".agents", ".skills-registry.json"];
3
3
  export type SkillReplicaMode = "symlink" | "copy";
4
4
  export interface SkillRegistryEntry {
5
- /** Git URL, atajo `owner/repo` o path local absoluto. */
5
+ /** Git URL, `owner/repo` shorthand, or absolute local path. */
6
6
  source: string;
7
- /** Ref git registrado (branch/tag); update siempre re-fetchea ESTE ref. */
7
+ /** Registered git ref (branch/tag); update always re-fetches THIS ref. */
8
8
  ref?: string;
9
- /** Modo con que se materializó la réplica de Claude (fallback Windows = copy). */
9
+ /** Mode the Claude replica was materialized with (Windows fallback = copy). */
10
10
  mode?: SkillReplicaMode;
11
- /** ISO timestamp del último install/update; ausente = registrada sin instalar. */
11
+ /** ISO timestamp of the last install/update; absent = registered, not installed. */
12
12
  installedAt?: string;
13
13
  }
14
14
  export interface SkillsRegistry {
@@ -17,19 +17,19 @@ export interface SkillsRegistry {
17
17
  export interface SkillsRegistryRead {
18
18
  registry: SkillsRegistry;
19
19
  path: string;
20
- /** Presente si el archivo existía pero no parseóse deja intacto (patrón lock). */
20
+ /** Present when the file existed but failed to parse left untouched (lock pattern). */
21
21
  warning?: string;
22
22
  }
23
23
  export declare function skillsRegistryPath(home: string): string;
24
24
  /**
25
- * Un nombre de skill es un segmento de path seguro: el registro se joinea a
26
- * rutas que luego se borran recursivamente — "..", separadores o vacíos jamás.
25
+ * A skill name is a safe path segment: registry names are joined into paths
26
+ * that later get removed recursivelynever "..", separators, or empty.
27
27
  */
28
28
  export declare function isValidSkillName(name: string): boolean;
29
29
  export declare function readSkillsRegistry(ctx: CliContext): Promise<SkillsRegistryRead>;
30
30
  export declare function writeSkillsRegistry(ctx: CliContext, registry: SkillsRegistry): Promise<string>;
31
- /** Lock compartido con skills.sh (mismo path que escribe el flujo install-skill
32
- * del bundle constante única en install-skill.ts). Este motor solo lo LEE:
33
- * pista de fuente para canónicas fuera del registro. */
31
+ /** Lock shared with skills.sh (same path the bundle's install-skill flow
32
+ * writessingle constant in install-skill.ts). This engine only READS it:
33
+ * a source hint for canonicals outside the registry. */
34
34
  export declare function readSkillsShLockSources(ctx: CliContext): Promise<Record<string, string>>;
35
35
  //# sourceMappingURL=skills-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skills-registry.d.ts","sourceRoot":"","sources":["../../../src/application/self/skills-registry.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,eAAO,MAAM,mBAAmB,+CAAgD,CAAC;AAEjF,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,CAAC;AAElD,MAAM,WAAW,kBAAkB;IACjC,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kFAAkF;IAClF,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAmCrF;AAED,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,UAAU,EACf,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC,CAKjB;AAED;;yDAEyD;AACzD,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAkB9F"}
1
+ {"version":3,"file":"skills-registry.d.ts","sourceRoot":"","sources":["../../../src/application/self/skills-registry.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,eAAO,MAAM,mBAAmB,+CAAgD,CAAC;AAEjF,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,CAAC;AAElD,MAAM,WAAW,kBAAkB;IACjC,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,yFAAyF;IACzF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAmCrF;AAED,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,UAAU,EACf,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC,CAKjB;AAED;;yDAEyD;AACzD,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAkB9F"}
@@ -1,7 +1,7 @@
1
- // Registro user-level de skills sueltas (las que administra [Skills], NO el
2
- // bundle `w` ni skills de plugins). Archivo separado del .skill-lock.json a
3
- // propósito: ciclos de vida distintos (el lock lo escribe install-skill del
4
- // bundle; este registro lo escribe skills-manager).
1
+ // User-level registry of standalone skills (the ones [Skills] manages — NOT
2
+ // the `w` bundle nor plugin skills). Kept as a separate file from
3
+ // .skill-lock.json on purpose: distinct lifecycles (the lock is written by the
4
+ // bundle's install-skill; this registry is written by skills-manager).
5
5
  import { join } from "node:path";
6
6
  import { AGENTS_LOCK_REL } from "./install-skill.js";
7
7
  export const SKILLS_REGISTRY_REL = [".agents", ".skills-registry.json"];
@@ -9,8 +9,8 @@ export function skillsRegistryPath(home) {
9
9
  return join(home, ...SKILLS_REGISTRY_REL);
10
10
  }
11
11
  /**
12
- * Un nombre de skill es un segmento de path seguro: el registro se joinea a
13
- * rutas que luego se borran recursivamente — "..", separadores o vacíos jamás.
12
+ * A skill name is a safe path segment: registry names are joined into paths
13
+ * that later get removed recursivelynever "..", separators, or empty.
14
14
  */
15
15
  export function isValidSkillName(name) {
16
16
  return /^[A-Za-z0-9][A-Za-z0-9._-]{0,100}$/.test(name);
@@ -37,8 +37,8 @@ export async function readSkillsRegistry(ctx) {
37
37
  const skills = {};
38
38
  if (rawSkills && typeof rawSkills === "object" && !Array.isArray(rawSkills)) {
39
39
  for (const [name, value] of Object.entries(rawSkills)) {
40
- // Nombre inválido (p.ej. "..", con separadores) = entrada descartada: un
41
- // registro editado a mano nunca convierte un remove en rm fuera del root.
40
+ // Invalid name (e.g. "..", with separators) = entry discarded: a
41
+ // hand-edited registry never turns a remove into an rm outside the root.
42
42
  if (!isValidSkillName(name))
43
43
  continue;
44
44
  if (!value || typeof value !== "object" || Array.isArray(value))
@@ -62,9 +62,9 @@ export async function writeSkillsRegistry(ctx, registry) {
62
62
  await ctx.fs.writeText(path, `${JSON.stringify(registry, null, 2)}\n`);
63
63
  return path;
64
64
  }
65
- /** Lock compartido con skills.sh (mismo path que escribe el flujo install-skill
66
- * del bundle constante única en install-skill.ts). Este motor solo lo LEE:
67
- * pista de fuente para canónicas fuera del registro. */
65
+ /** Lock shared with skills.sh (same path the bundle's install-skill flow
66
+ * writessingle constant in install-skill.ts). This engine only READS it:
67
+ * a source hint for canonicals outside the registry. */
68
68
  export async function readSkillsShLockSources(ctx) {
69
69
  const path = join(ctx.env.homeDir(), ...AGENTS_LOCK_REL);
70
70
  try {
@@ -80,7 +80,7 @@ export async function readSkillsShLockSources(ctx) {
80
80
  return sources;
81
81
  }
82
82
  catch {
83
- // Ausente o roto = sin pistas; el lock nunca bloquea el listado.
83
+ // Absent or broken = no hints; the lock never blocks listing.
84
84
  return {};
85
85
  }
86
86
  }