@take-out/cli 0.1.45-1773289062029 → 0.1.46

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.
@@ -37,111 +37,10 @@ module.exports = __toCommonJS(skills_exports);
37
37
  var import_node_fs = require("node:fs"),
38
38
  import_node_module = require("node:module"),
39
39
  import_node_path = require("node:path"),
40
- import_node_url = require("node:url"),
41
40
  import_citty = require("citty"),
42
- import_picocolors = __toESM(require("picocolors"), 1),
43
- import_script_utils = require("../utils/script-utils.cjs");
41
+ import_picocolors = __toESM(require("picocolors"), 1);
44
42
  const import_meta = {},
45
- BUILTIN_COMMANDS = [{
46
- name: "onboard",
47
- description: "setup wizard for new projects"
48
- }, {
49
- name: "docs",
50
- description: "view documentation"
51
- }, {
52
- name: "env:setup",
53
- description: "setup environment variables"
54
- }, {
55
- name: "run",
56
- description: "run scripts in parallel"
57
- }, {
58
- name: "script",
59
- description: "manage and run scripts"
60
- }, {
61
- name: "sync",
62
- description: "sync fork with upstream takeout"
63
- }, {
64
- name: "changed",
65
- description: "show changes since last sync"
66
- }, {
67
- name: "skills",
68
- description: "manage claude code skills"
69
- }, {
70
- name: "completion",
71
- description: "shell completion setup"
72
- }];
73
- function findScriptsPackageRoot() {
74
- try {
75
- const resolved = import_meta.resolve("@take-out/scripts/package.json"),
76
- packageJsonPath = (0, import_node_url.fileURLToPath)(new URL(resolved));
77
- return (0, import_node_path.join)(packageJsonPath, "..", "src");
78
- } catch {
79
- return null;
80
- }
81
- }
82
- function buildSummaryDescription(localScripts, builtInScripts) {
83
- const categories = /* @__PURE__ */new Set(),
84
- keywords = /* @__PURE__ */new Set();
85
- for (const [name] of [...localScripts, ...builtInScripts]) keywords.add(name), name.includes("/") && categories.add(name.split("/")[0]);
86
- for (const cmd of BUILTIN_COMMANDS) keywords.add(cmd.name);
87
- return `CLI scripts and commands reference for the tko (takeout) CLI. Use when the user asks to run scripts, manage the project, or needs to know what commands are available. tko, takeout, CLI, scripts, commands, bun tko, project tasks, automation, ${[...categories].sort().join(", ")}, ${[...keywords].sort().join(", ")}`.slice(0, 2048);
88
- }
89
- function buildSummaryContent(localScripts, builtInScripts, metadata) {
90
- const description = buildSummaryDescription(localScripts, builtInScripts),
91
- lines = [];
92
- lines.push("---"), lines.push("name: tko-scripts"), lines.push(`description: ${description}`), lines.push("---"), lines.push(""), lines.push("# tko CLI - scripts & commands"), lines.push(""), lines.push("run with `bun tko <command>` or `bun tko <script-name>`."), lines.push(""), lines.push("## built-in commands"), lines.push("");
93
- for (const cmd of BUILTIN_COMMANDS) lines.push(` ${cmd.name} - ${cmd.description}`);
94
- lines.push("");
95
- const formatSection = (title, scripts) => {
96
- if (scripts.size === 0) return;
97
- const categories = /* @__PURE__ */new Map(),
98
- rootScripts = [];
99
- for (const [name] of scripts) if (name.includes("/")) {
100
- const category = name.split("/")[0];
101
- categories.has(category) || categories.set(category, []), categories.get(category).push(name);
102
- } else rootScripts.push(name);
103
- lines.push(`## ${title}`), lines.push("");
104
- for (const name of rootScripts) {
105
- const meta = metadata.get(name),
106
- desc = meta?.description ? ` - ${meta.description}` : "",
107
- args = meta?.args?.length ? ` [${meta.args.join(", ")}]` : "";
108
- lines.push(` ${name}${desc}${args}`);
109
- }
110
- for (const [category, categoryScripts] of categories) {
111
- lines.push(""), lines.push(` ${category}/`);
112
- for (const name of categoryScripts) {
113
- const shortName = name.substring(category.length + 1),
114
- meta = metadata.get(name),
115
- desc = meta?.description ? ` - ${meta.description}` : "",
116
- args = meta?.args?.length ? ` [${meta.args.join(", ")}]` : "";
117
- lines.push(` ${shortName}${desc}${args}`);
118
- }
119
- }
120
- lines.push("");
121
- };
122
- return formatSection("local scripts", localScripts), formatSection("built-in scripts", builtInScripts), lines.push("## usage"), lines.push(""), lines.push("```bash"), lines.push("bun tko <command> # run a built-in command"), lines.push("bun tko <script-name> # execute direct script"), lines.push("bun tko <group> <script> # execute nested script (e.g. bun tko aws health)"), lines.push("bun tko run s1 s2 s3 # run multiple scripts in parallel"), lines.push("bun tko script new <path> # create a new script"), lines.push("```"), lines.push(""), lines.join(`
123
- `);
124
- }
125
- async function generateSummary(cwd) {
126
- const skillsDir = (0, import_node_path.join)(cwd, ".claude", "skills"),
127
- skillDir = (0, import_node_path.join)(skillsDir, "tko-scripts"),
128
- skillFile = (0, import_node_path.join)(skillDir, "SKILL.md"),
129
- localScripts = (0, import_script_utils.discoverScripts)((0, import_script_utils.getLocalScriptsDir)()),
130
- builtInDir = findScriptsPackageRoot(),
131
- builtInScripts = builtInDir ? (0, import_script_utils.discoverScripts)(builtInDir) : /* @__PURE__ */new Map(),
132
- allScripts = new Map([...localScripts, ...builtInScripts]),
133
- metadata = await (0, import_script_utils.getAllScriptMetadata)(allScripts),
134
- totalScripts = localScripts.size + builtInScripts.size;
135
- console.info(import_picocolors.default.dim(`found ${totalScripts} scripts (${localScripts.size} local, ${builtInScripts.size} built-in) + ${BUILTIN_COMMANDS.length} commands`));
136
- const content = buildSummaryContent(localScripts, builtInScripts, metadata);
137
- try {
138
- if ((0, import_node_fs.readFileSync)(skillFile, "utf-8") === content) return console.info(` ${import_picocolors.default.dim("tko-scripts")} ${import_picocolors.default.dim("unchanged")}`), !1;
139
- } catch {}
140
- return (0, import_node_fs.existsSync)(skillDir) || (0, import_node_fs.mkdirSync)(skillDir, {
141
- recursive: !0
142
- }), (0, import_node_fs.writeFileSync)(skillFile, content), console.info(` ${import_picocolors.default.green("\u2713")} tko-scripts`), !0;
143
- }
144
- const require2 = (0, import_node_module.createRequire)(import_meta.url);
43
+ require2 = (0, import_node_module.createRequire)(import_meta.url);
145
44
  let DOCS_DIR;
146
45
  try {
147
46
  DOCS_DIR = (0, import_node_path.dirname)(require2.resolve("@take-out/docs/package.json"));
@@ -224,13 +123,10 @@ function collectAllDocs(cwd) {
224
123
  }
225
124
  async function generateDocSkills(cwd, clean) {
226
125
  const skillsDir = (0, import_node_path.join)(cwd, ".claude", "skills"),
227
- docs = collectAllDocs(cwd);
228
- if (docs.length === 0) return console.info(import_picocolors.default.yellow("no documentation files found")), {
229
- symlinked: 0,
230
- generated: 0,
231
- unchanged: 0
232
- };
233
- if (console.info(import_picocolors.default.dim(`found ${docs.length} documentation files`)), clean && (0, import_node_fs.existsSync)(skillsDir)) {
126
+ docs = collectAllDocs(cwd),
127
+ localDocsDir = (0, import_node_path.join)(cwd, "docs"),
128
+ expectedSkillNames = /* @__PURE__ */new Set();
129
+ if (docs.length === 0 ? console.info(import_picocolors.default.yellow("no documentation files found")) : console.info(import_picocolors.default.dim(`found ${docs.length} documentation files`)), clean && (0, import_node_fs.existsSync)(skillsDir)) {
234
130
  const existing = (0, import_node_fs.readdirSync)(skillsDir);
235
131
  for (const dir of existing) dir.startsWith(SKILL_PREFIX) && (0, import_node_fs.rmSync)((0, import_node_path.join)(skillsDir, dir), {
236
132
  recursive: !0
@@ -241,7 +137,8 @@ async function generateDocSkills(cwd, clean) {
241
137
  });
242
138
  let symlinked = 0,
243
139
  generated = 0,
244
- unchanged = 0;
140
+ unchanged = 0,
141
+ removed = 0;
245
142
  const isDev = !!process.env.IS_TAMAGUI_DEV;
246
143
  for (const doc of docs) {
247
144
  const content = (0, import_node_fs.readFileSync)(doc.path, "utf-8");
@@ -249,8 +146,9 @@ async function generateDocSkills(cwd, clean) {
249
146
  if (hasSkillFrontmatter(content)) {
250
147
  const nameMatch = content.match(/^---\s*\nname:\s*([^\n]+)/m);
251
148
  if (!nameMatch) continue;
252
- const skillName = nameMatch[1].trim(),
253
- skillDir = (0, import_node_path.join)(skillsDir, skillName),
149
+ const skillName = nameMatch[1].trim();
150
+ expectedSkillNames.add(skillName);
151
+ const skillDir = (0, import_node_path.join)(skillsDir, skillName),
254
152
  skillFile = (0, import_node_path.join)(skillDir, "SKILL.md");
255
153
  (0, import_node_fs.existsSync)(skillDir) || (0, import_node_fs.mkdirSync)(skillDir, {
256
154
  recursive: !0
@@ -266,8 +164,9 @@ async function generateDocSkills(cwd, clean) {
266
164
  console.info(` ${import_picocolors.default.green("\u27F7")} ${skillName} ${sourceLabel} ${import_picocolors.default.dim("(symlink)")}`);
267
165
  } else {
268
166
  const baseName = toSkillName(doc.name),
269
- skillName = `${SKILL_PREFIX}${baseName}`,
270
- skillDir = (0, import_node_path.join)(skillsDir, skillName),
167
+ skillName = `${SKILL_PREFIX}${baseName}`;
168
+ expectedSkillNames.add(skillName);
169
+ const skillDir = (0, import_node_path.join)(skillsDir, skillName),
271
170
  skillFile = (0, import_node_path.join)(skillDir, "SKILL.md");
272
171
  (0, import_node_fs.existsSync)(skillDir) || (0, import_node_fs.mkdirSync)(skillDir, {
273
172
  recursive: !0
@@ -294,26 +193,31 @@ ${content}
294
193
  console.info(` ${import_picocolors.default.green("\u2713")} ${skillName} ${sourceLabel} ${import_picocolors.default.dim("(generated)")}`);
295
194
  }
296
195
  }
196
+ for (const dir of (0, import_node_fs.readdirSync)(skillsDir)) {
197
+ if (expectedSkillNames.has(dir)) continue;
198
+ const skillDir = (0, import_node_path.join)(skillsDir, dir),
199
+ skillFile = (0, import_node_path.join)(skillDir, "SKILL.md");
200
+ let shouldUnlink = !1;
201
+ try {
202
+ if ((0, import_node_fs.lstatSync)(skillFile).isSymbolicLink()) {
203
+ const linkTarget = (0, import_node_fs.readlinkSync)(skillFile),
204
+ resolvedTarget = (0, import_node_path.resolve)(skillDir, linkTarget);
205
+ shouldUnlink = resolvedTarget.startsWith(`${localDocsDir}/`) || !!DOCS_DIR && resolvedTarget.startsWith(`${DOCS_DIR}/`);
206
+ }
207
+ } catch {}
208
+ shouldUnlink && ((0, import_node_fs.unlinkSync)(skillFile), (0, import_node_fs.readdirSync)(skillDir).length === 0 && (0, import_node_fs.rmdirSync)(skillDir), removed++, console.info(` ${import_picocolors.default.red("\u2715")} ${dir} ${import_picocolors.default.dim("(removed stale symlink)")}`));
209
+ }
297
210
  return {
298
211
  symlinked,
299
212
  generated,
300
- unchanged
213
+ unchanged,
214
+ removed
301
215
  };
302
216
  }
303
- const scriptsCommand = (0, import_citty.defineCommand)({
304
- meta: {
305
- name: "scripts",
306
- description: "Generate a skill summarizing all tko scripts and commands"
307
- },
308
- async run() {
309
- const cwd = process.cwd();
310
- console.info(), console.info(import_picocolors.default.bold(import_picocolors.default.cyan("Generate scripts skill"))), console.info(), await generateSummary(cwd), console.info();
311
- }
312
- }),
313
- generateCommand = (0, import_citty.defineCommand)({
217
+ const generateCommand = (0, import_citty.defineCommand)({
314
218
  meta: {
315
219
  name: "generate",
316
- description: "Generate all Claude Code skills (doc skills + summary)"
220
+ description: "Generate Claude Code skills from documentation"
317
221
  },
318
222
  args: {
319
223
  clean: {
@@ -335,12 +239,13 @@ const scriptsCommand = (0, import_citty.defineCommand)({
335
239
  console.info(), console.info(import_picocolors.default.bold(import_picocolors.default.cyan("Generate all skills"))), console.info();
336
240
  let symlinked = 0,
337
241
  generated = 0,
338
- unchanged = 0;
242
+ unchanged = 0,
243
+ removed = 0;
339
244
  if (!args["skip-internal-docs"]) {
340
245
  const docStats = await generateDocSkills(cwd, args.clean);
341
- symlinked = docStats.symlinked, generated = docStats.generated, unchanged = docStats.unchanged, console.info();
246
+ symlinked = docStats.symlinked, generated = docStats.generated, unchanged = docStats.unchanged, removed = docStats.removed, console.info();
342
247
  }
343
- await generateSummary(cwd), console.info(), console.info(import_picocolors.default.bold("summary:")), symlinked > 0 && console.info(` ${import_picocolors.default.green(`${symlinked} symlinked`)}`), generated > 0 && console.info(` ${import_picocolors.default.yellow(`${generated} generated`)} ${import_picocolors.default.dim("(add frontmatter to enable symlink)")}`), unchanged > 0 && console.info(` ${import_picocolors.default.dim(`${unchanged} unchanged`)}`), console.info(import_picocolors.default.dim(` skills in ${skillsDir}`)), console.info();
248
+ console.info(), console.info(import_picocolors.default.bold("summary:")), symlinked > 0 && console.info(` ${import_picocolors.default.green(`${symlinked} symlinked`)}`), generated > 0 && console.info(` ${import_picocolors.default.yellow(`${generated} generated`)} ${import_picocolors.default.dim("(add frontmatter to enable symlink)")}`), unchanged > 0 && console.info(` ${import_picocolors.default.dim(`${unchanged} unchanged`)}`), removed > 0 && console.info(` ${import_picocolors.default.red(`${removed} removed`)}`), console.info(import_picocolors.default.dim(` skills in ${skillsDir}`)), console.info();
344
249
  }
345
250
  }),
346
251
  skillsCommand = (0, import_citty.defineCommand)({
@@ -349,7 +254,6 @@ const scriptsCommand = (0, import_citty.defineCommand)({
349
254
  description: "Manage Claude Code skills"
350
255
  },
351
256
  subCommands: {
352
- generate: generateCommand,
353
- scripts: scriptsCommand
257
+ generate: generateCommand
354
258
  }
355
259
  });
@@ -25,84 +25,8 @@ __export(skills_exports, {
25
25
  skillsCommand: () => skillsCommand
26
26
  });
27
27
  module.exports = __toCommonJS(skills_exports);
28
- var import_node_fs = require("node:fs"), import_node_module = require("node:module"), import_node_path = require("node:path"), import_node_url = require("node:url"), import_citty = require("citty"), import_picocolors = __toESM(require("picocolors"), 1), import_script_utils = require("../utils/script-utils");
29
- const import_meta = {}, BUILTIN_COMMANDS = [
30
- { name: "onboard", description: "setup wizard for new projects" },
31
- { name: "docs", description: "view documentation" },
32
- { name: "env:setup", description: "setup environment variables" },
33
- { name: "run", description: "run scripts in parallel" },
34
- { name: "script", description: "manage and run scripts" },
35
- { name: "sync", description: "sync fork with upstream takeout" },
36
- { name: "changed", description: "show changes since last sync" },
37
- { name: "skills", description: "manage claude code skills" },
38
- { name: "completion", description: "shell completion setup" }
39
- ];
40
- function findScriptsPackageRoot() {
41
- try {
42
- const resolved = import_meta.resolve("@take-out/scripts/package.json"), packageJsonPath = (0, import_node_url.fileURLToPath)(new URL(resolved));
43
- return (0, import_node_path.join)(packageJsonPath, "..", "src");
44
- } catch {
45
- return null;
46
- }
47
- }
48
- function buildSummaryDescription(localScripts, builtInScripts) {
49
- const categories = /* @__PURE__ */ new Set(), keywords = /* @__PURE__ */ new Set();
50
- for (const [name] of [...localScripts, ...builtInScripts])
51
- keywords.add(name), name.includes("/") && categories.add(name.split("/")[0]);
52
- for (const cmd of BUILTIN_COMMANDS)
53
- keywords.add(cmd.name);
54
- return `CLI scripts and commands reference for the tko (takeout) CLI. Use when the user asks to run scripts, manage the project, or needs to know what commands are available. tko, takeout, CLI, scripts, commands, bun tko, project tasks, automation, ${[...categories].sort().join(", ")}, ${[...keywords].sort().join(", ")}`.slice(0, 2048);
55
- }
56
- function buildSummaryContent(localScripts, builtInScripts, metadata) {
57
- const description = buildSummaryDescription(localScripts, builtInScripts), lines = [];
58
- lines.push("---"), lines.push("name: tko-scripts"), lines.push(`description: ${description}`), lines.push("---"), lines.push(""), lines.push("# tko CLI - scripts & commands"), lines.push(""), lines.push("run with `bun tko <command>` or `bun tko <script-name>`."), lines.push(""), lines.push("## built-in commands"), lines.push("");
59
- for (const cmd of BUILTIN_COMMANDS)
60
- lines.push(` ${cmd.name} - ${cmd.description}`);
61
- lines.push("");
62
- const formatSection = (title, scripts) => {
63
- if (scripts.size === 0) return;
64
- const categories = /* @__PURE__ */ new Map(), rootScripts = [];
65
- for (const [name] of scripts)
66
- if (name.includes("/")) {
67
- const category = name.split("/")[0];
68
- categories.has(category) || categories.set(category, []), categories.get(category).push(name);
69
- } else
70
- rootScripts.push(name);
71
- lines.push(`## ${title}`), lines.push("");
72
- for (const name of rootScripts) {
73
- const meta = metadata.get(name), desc = meta?.description ? ` - ${meta.description}` : "", args = meta?.args?.length ? ` [${meta.args.join(", ")}]` : "";
74
- lines.push(` ${name}${desc}${args}`);
75
- }
76
- for (const [category, categoryScripts] of categories) {
77
- lines.push(""), lines.push(` ${category}/`);
78
- for (const name of categoryScripts) {
79
- const shortName = name.substring(category.length + 1), meta = metadata.get(name), desc = meta?.description ? ` - ${meta.description}` : "", args = meta?.args?.length ? ` [${meta.args.join(", ")}]` : "";
80
- lines.push(` ${shortName}${desc}${args}`);
81
- }
82
- }
83
- lines.push("");
84
- };
85
- return formatSection("local scripts", localScripts), formatSection("built-in scripts", builtInScripts), lines.push("## usage"), lines.push(""), lines.push("```bash"), lines.push("bun tko <command> # run a built-in command"), lines.push("bun tko <script-name> # execute direct script"), lines.push(
86
- "bun tko <group> <script> # execute nested script (e.g. bun tko aws health)"
87
- ), lines.push("bun tko run s1 s2 s3 # run multiple scripts in parallel"), lines.push("bun tko script new <path> # create a new script"), lines.push("```"), lines.push(""), lines.join(`
88
- `);
89
- }
90
- async function generateSummary(cwd) {
91
- const skillsDir = (0, import_node_path.join)(cwd, ".claude", "skills"), skillDir = (0, import_node_path.join)(skillsDir, "tko-scripts"), skillFile = (0, import_node_path.join)(skillDir, "SKILL.md"), localScripts = (0, import_script_utils.discoverScripts)((0, import_script_utils.getLocalScriptsDir)()), builtInDir = findScriptsPackageRoot(), builtInScripts = builtInDir ? (0, import_script_utils.discoverScripts)(builtInDir) : /* @__PURE__ */ new Map(), allScripts = new Map([...localScripts, ...builtInScripts]), metadata = await (0, import_script_utils.getAllScriptMetadata)(allScripts), totalScripts = localScripts.size + builtInScripts.size;
92
- console.info(
93
- import_picocolors.default.dim(
94
- `found ${totalScripts} scripts (${localScripts.size} local, ${builtInScripts.size} built-in) + ${BUILTIN_COMMANDS.length} commands`
95
- )
96
- );
97
- const content = buildSummaryContent(localScripts, builtInScripts, metadata);
98
- try {
99
- if ((0, import_node_fs.readFileSync)(skillFile, "utf-8") === content)
100
- return console.info(` ${import_picocolors.default.dim("tko-scripts")} ${import_picocolors.default.dim("unchanged")}`), !1;
101
- } catch {
102
- }
103
- return (0, import_node_fs.existsSync)(skillDir) || (0, import_node_fs.mkdirSync)(skillDir, { recursive: !0 }), (0, import_node_fs.writeFileSync)(skillFile, content), console.info(` ${import_picocolors.default.green("\u2713")} tko-scripts`), !0;
104
- }
105
- const require2 = (0, import_node_module.createRequire)(import_meta.url);
28
+ var import_node_fs = require("node:fs"), import_node_module = require("node:module"), import_node_path = require("node:path"), import_citty = require("citty"), import_picocolors = __toESM(require("picocolors"), 1);
29
+ const import_meta = {}, require2 = (0, import_node_module.createRequire)(import_meta.url);
106
30
  let DOCS_DIR;
107
31
  try {
108
32
  DOCS_DIR = (0, import_node_path.dirname)(require2.resolve("@take-out/docs/package.json"));
@@ -170,16 +94,14 @@ function collectAllDocs(cwd) {
170
94
  return docs;
171
95
  }
172
96
  async function generateDocSkills(cwd, clean) {
173
- const skillsDir = (0, import_node_path.join)(cwd, ".claude", "skills"), docs = collectAllDocs(cwd);
174
- if (docs.length === 0)
175
- return console.info(import_picocolors.default.yellow("no documentation files found")), { symlinked: 0, generated: 0, unchanged: 0 };
176
- if (console.info(import_picocolors.default.dim(`found ${docs.length} documentation files`)), clean && (0, import_node_fs.existsSync)(skillsDir)) {
97
+ const skillsDir = (0, import_node_path.join)(cwd, ".claude", "skills"), docs = collectAllDocs(cwd), localDocsDir = (0, import_node_path.join)(cwd, "docs"), expectedSkillNames = /* @__PURE__ */ new Set();
98
+ if (docs.length === 0 ? console.info(import_picocolors.default.yellow("no documentation files found")) : console.info(import_picocolors.default.dim(`found ${docs.length} documentation files`)), clean && (0, import_node_fs.existsSync)(skillsDir)) {
177
99
  const existing = (0, import_node_fs.readdirSync)(skillsDir);
178
100
  for (const dir of existing)
179
101
  dir.startsWith(SKILL_PREFIX) && (0, import_node_fs.rmSync)((0, import_node_path.join)(skillsDir, dir), { recursive: !0 });
180
102
  }
181
103
  (0, import_node_fs.existsSync)(skillsDir) || (0, import_node_fs.mkdirSync)(skillsDir, { recursive: !0 });
182
- let symlinked = 0, generated = 0, unchanged = 0;
104
+ let symlinked = 0, generated = 0, unchanged = 0, removed = 0;
183
105
  const isDev = !!process.env.IS_TAMAGUI_DEV;
184
106
  for (const doc of docs) {
185
107
  const content = (0, import_node_fs.readFileSync)(doc.path, "utf-8");
@@ -187,7 +109,9 @@ async function generateDocSkills(cwd, clean) {
187
109
  if (hasSkillFrontmatter(content)) {
188
110
  const nameMatch = content.match(/^---\s*\nname:\s*([^\n]+)/m);
189
111
  if (!nameMatch) continue;
190
- const skillName = nameMatch[1].trim(), skillDir = (0, import_node_path.join)(skillsDir, skillName), skillFile = (0, import_node_path.join)(skillDir, "SKILL.md");
112
+ const skillName = nameMatch[1].trim();
113
+ expectedSkillNames.add(skillName);
114
+ const skillDir = (0, import_node_path.join)(skillsDir, skillName), skillFile = (0, import_node_path.join)(skillDir, "SKILL.md");
191
115
  (0, import_node_fs.existsSync)(skillDir) || (0, import_node_fs.mkdirSync)(skillDir, { recursive: !0 });
192
116
  const relativePath = (0, import_node_path.relative)(skillDir, doc.path);
193
117
  let shouldCreate = !0;
@@ -202,7 +126,9 @@ async function generateDocSkills(cwd, clean) {
202
126
  ` ${import_picocolors.default.green("\u27F7")} ${skillName} ${sourceLabel} ${import_picocolors.default.dim("(symlink)")}`
203
127
  );
204
128
  } else {
205
- const baseName = toSkillName(doc.name), skillName = `${SKILL_PREFIX}${baseName}`, skillDir = (0, import_node_path.join)(skillsDir, skillName), skillFile = (0, import_node_path.join)(skillDir, "SKILL.md");
129
+ const baseName = toSkillName(doc.name), skillName = `${SKILL_PREFIX}${baseName}`;
130
+ expectedSkillNames.add(skillName);
131
+ const skillDir = (0, import_node_path.join)(skillsDir, skillName), skillFile = (0, import_node_path.join)(skillDir, "SKILL.md");
206
132
  (0, import_node_fs.existsSync)(skillDir) || (0, import_node_fs.mkdirSync)(skillDir, { recursive: !0 });
207
133
  const { title, description } = extractDocMeta(content), skillDescription = description ? `${title}. ${description}`.slice(0, 1024) : title.slice(0, 1024), skillContent = `---
208
134
  name: ${skillName}
@@ -224,21 +150,25 @@ ${content}
224
150
  );
225
151
  }
226
152
  }
227
- return { symlinked, generated, unchanged };
228
- }
229
- const scriptsCommand = (0, import_citty.defineCommand)({
230
- meta: {
231
- name: "scripts",
232
- description: "Generate a skill summarizing all tko scripts and commands"
233
- },
234
- async run() {
235
- const cwd = process.cwd();
236
- console.info(), console.info(import_picocolors.default.bold(import_picocolors.default.cyan("Generate scripts skill"))), console.info(), await generateSummary(cwd), console.info();
153
+ for (const dir of (0, import_node_fs.readdirSync)(skillsDir)) {
154
+ if (expectedSkillNames.has(dir)) continue;
155
+ const skillDir = (0, import_node_path.join)(skillsDir, dir), skillFile = (0, import_node_path.join)(skillDir, "SKILL.md");
156
+ let shouldUnlink = !1;
157
+ try {
158
+ if ((0, import_node_fs.lstatSync)(skillFile).isSymbolicLink()) {
159
+ const linkTarget = (0, import_node_fs.readlinkSync)(skillFile), resolvedTarget = (0, import_node_path.resolve)(skillDir, linkTarget);
160
+ shouldUnlink = resolvedTarget.startsWith(`${localDocsDir}/`) || !!DOCS_DIR && resolvedTarget.startsWith(`${DOCS_DIR}/`);
161
+ }
162
+ } catch {
163
+ }
164
+ shouldUnlink && ((0, import_node_fs.unlinkSync)(skillFile), (0, import_node_fs.readdirSync)(skillDir).length === 0 && (0, import_node_fs.rmdirSync)(skillDir), removed++, console.info(` ${import_picocolors.default.red("\u2715")} ${dir} ${import_picocolors.default.dim("(removed stale symlink)")}`));
237
165
  }
238
- }), generateCommand = (0, import_citty.defineCommand)({
166
+ return { symlinked, generated, unchanged, removed };
167
+ }
168
+ const generateCommand = (0, import_citty.defineCommand)({
239
169
  meta: {
240
170
  name: "generate",
241
- description: "Generate all Claude Code skills (doc skills + summary)"
171
+ description: "Generate Claude Code skills from documentation"
242
172
  },
243
173
  args: {
244
174
  clean: {
@@ -255,14 +185,14 @@ const scriptsCommand = (0, import_citty.defineCommand)({
255
185
  async run({ args }) {
256
186
  const cwd = process.cwd(), skillsDir = (0, import_node_path.join)(cwd, ".claude", "skills");
257
187
  console.info(), console.info(import_picocolors.default.bold(import_picocolors.default.cyan("Generate all skills"))), console.info();
258
- let symlinked = 0, generated = 0, unchanged = 0;
188
+ let symlinked = 0, generated = 0, unchanged = 0, removed = 0;
259
189
  if (!args["skip-internal-docs"]) {
260
190
  const docStats = await generateDocSkills(cwd, args.clean);
261
- symlinked = docStats.symlinked, generated = docStats.generated, unchanged = docStats.unchanged, console.info();
191
+ symlinked = docStats.symlinked, generated = docStats.generated, unchanged = docStats.unchanged, removed = docStats.removed, console.info();
262
192
  }
263
- await generateSummary(cwd), console.info(), console.info(import_picocolors.default.bold("summary:")), symlinked > 0 && console.info(` ${import_picocolors.default.green(`${symlinked} symlinked`)}`), generated > 0 && console.info(
193
+ console.info(), console.info(import_picocolors.default.bold("summary:")), symlinked > 0 && console.info(` ${import_picocolors.default.green(`${symlinked} symlinked`)}`), generated > 0 && console.info(
264
194
  ` ${import_picocolors.default.yellow(`${generated} generated`)} ${import_picocolors.default.dim("(add frontmatter to enable symlink)")}`
265
- ), unchanged > 0 && console.info(` ${import_picocolors.default.dim(`${unchanged} unchanged`)}`), console.info(import_picocolors.default.dim(` skills in ${skillsDir}`)), console.info();
195
+ ), unchanged > 0 && console.info(` ${import_picocolors.default.dim(`${unchanged} unchanged`)}`), removed > 0 && console.info(` ${import_picocolors.default.red(`${removed} removed`)}`), console.info(import_picocolors.default.dim(` skills in ${skillsDir}`)), console.info();
266
196
  }
267
197
  }), skillsCommand = (0, import_citty.defineCommand)({
268
198
  meta: {
@@ -270,8 +200,7 @@ const scriptsCommand = (0, import_citty.defineCommand)({
270
200
  description: "Manage Claude Code skills"
271
201
  },
272
202
  subCommands: {
273
- generate: generateCommand,
274
- scripts: scriptsCommand
203
+ generate: generateCommand
275
204
  }
276
205
  });
277
206
  //# sourceMappingURL=skills.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/commands/skills.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,qBAUO,oBACP,qBAA8B,wBAC9B,mBAAwC,sBACxC,kBAA8B,qBAE9B,eAA8B,kBAC9B,oBAAe,mCAEf,sBAKO;AA3BP,wBA+BM,mBAAiE;AAAA,EACrE,EAAE,MAAM,WAAW,aAAa,gCAAgC;AAAA,EAChE,EAAE,MAAM,QAAQ,aAAa,qBAAqB;AAAA,EAClD,EAAE,MAAM,aAAa,aAAa,8BAA8B;AAAA,EAChE,EAAE,MAAM,OAAO,aAAa,0BAA0B;AAAA,EACtD,EAAE,MAAM,UAAU,aAAa,yBAAyB;AAAA,EACxD,EAAE,MAAM,QAAQ,aAAa,kCAAkC;AAAA,EAC/D,EAAE,MAAM,WAAW,aAAa,+BAA+B;AAAA,EAC/D,EAAE,MAAM,UAAU,aAAa,4BAA4B;AAAA,EAC3D,EAAE,MAAM,cAAc,aAAa,yBAAyB;AAC9D;AAEA,SAAS,yBAAwC;AAC/C,MAAI;AACF,UAAM,WAAW,YAAY,QAAQ,gCAAgC,GAC/D,sBAAkB,+BAAc,IAAI,IAAI,QAAQ,CAAC;AACvD,eAAO,uBAAK,iBAAiB,MAAM,KAAK;AAAA,EAC1C,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAIA,SAAS,wBACP,cACA,gBACQ;AACR,QAAM,aAAa,oBAAI,IAAY,GAC7B,WAAW,oBAAI,IAAY;AAEjC,aAAW,CAAC,IAAI,KAAK,CAAC,GAAG,cAAc,GAAG,cAAc;AACtD,aAAS,IAAI,IAAI,GACb,KAAK,SAAS,GAAG,KACnB,WAAW,IAAI,KAAK,MAAM,GAAG,EAAE,CAAC,CAAE;AAItC,aAAW,OAAO;AAChB,aAAS,IAAI,IAAI,IAAI;AAKvB,SACE,oPAHmB,CAAC,GAAG,UAAU,EAAE,KAAK,EAAE,KAAK,IAAI,CAMpC,KAAK,CAAC,GAAG,QAAQ,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC,GACnD,MAAM,GAAG,IAAI;AACjB;AAEA,SAAS,oBACP,cACA,gBACA,UACQ;AACR,QAAM,cAAc,wBAAwB,cAAc,cAAc,GAElE,QAAkB,CAAC;AACzB,QAAM,KAAK,KAAK,GAChB,MAAM,KAAK,mBAAmB,GAC9B,MAAM,KAAK,gBAAgB,WAAW,EAAE,GACxC,MAAM,KAAK,KAAK,GAChB,MAAM,KAAK,EAAE,GACb,MAAM,KAAK,gCAAgC,GAC3C,MAAM,KAAK,EAAE,GACb,MAAM,KAAK,0DAA0D,GACrE,MAAM,KAAK,EAAE,GAGb,MAAM,KAAK,sBAAsB,GACjC,MAAM,KAAK,EAAE;AACb,aAAW,OAAO;AAChB,UAAM,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,WAAW,EAAE;AAEjD,QAAM,KAAK,EAAE;AAGb,QAAM,gBAAgB,CAAC,OAAe,YAAiC;AACrE,QAAI,QAAQ,SAAS,EAAG;AAExB,UAAM,aAAa,oBAAI,IAA2B,GAC5C,cAAwB,CAAC;AAE/B,eAAW,CAAC,IAAI,KAAK;AACnB,UAAI,KAAK,SAAS,GAAG,GAAG;AACtB,cAAM,WAAW,KAAK,MAAM,GAAG,EAAE,CAAC;AAClC,QAAK,WAAW,IAAI,QAAQ,KAC1B,WAAW,IAAI,UAAU,CAAC,CAAC,GAE7B,WAAW,IAAI,QAAQ,EAAG,KAAK,IAAI;AAAA,MACrC;AACE,oBAAY,KAAK,IAAI;AAIzB,UAAM,KAAK,MAAM,KAAK,EAAE,GACxB,MAAM,KAAK,EAAE;AAEb,eAAW,QAAQ,aAAa;AAC9B,YAAM,OAAO,SAAS,IAAI,IAAI,GACxB,OAAO,MAAM,cAAc,MAAM,KAAK,WAAW,KAAK,IACtD,OAAO,MAAM,MAAM,SAAS,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,MAAM;AACjE,YAAM,KAAK,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE;AAAA,IACtC;AAEA,eAAW,CAAC,UAAU,eAAe,KAAK,YAAY;AACpD,YAAM,KAAK,EAAE,GACb,MAAM,KAAK,KAAK,QAAQ,GAAG;AAC3B,iBAAW,QAAQ,iBAAiB;AAClC,cAAM,YAAY,KAAK,UAAU,SAAS,SAAS,CAAC,GAC9C,OAAO,SAAS,IAAI,IAAI,GACxB,OAAO,MAAM,cAAc,MAAM,KAAK,WAAW,KAAK,IACtD,OAAO,MAAM,MAAM,SAAS,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,MAAM;AACjE,cAAM,KAAK,OAAO,SAAS,GAAG,IAAI,GAAG,IAAI,EAAE;AAAA,MAC7C;AAAA,IACF;AAEA,UAAM,KAAK,EAAE;AAAA,EACf;AAEA,uBAAc,iBAAiB,YAAY,GAC3C,cAAc,oBAAoB,cAAc,GAGhD,MAAM,KAAK,UAAU,GACrB,MAAM,KAAK,EAAE,GACb,MAAM,KAAK,SAAS,GACpB,MAAM,KAAK,sDAAsD,GACjE,MAAM,KAAK,qDAAqD,GAChE,MAAM;AAAA,IACJ;AAAA,EACF,GACA,MAAM,KAAK,gEAAgE,GAC3E,MAAM,KAAK,mDAAmD,GAC9D,MAAM,KAAK,KAAK,GAChB,MAAM,KAAK,EAAE,GAEN,MAAM,KAAK;AAAA,CAAI;AACxB;AAEA,eAAe,gBAAgB,KAA+B;AAC5D,QAAM,gBAAY,uBAAK,KAAK,WAAW,QAAQ,GAEzC,eAAW,uBAAK,WADJ,aACwB,GACpC,gBAAY,uBAAK,UAAU,UAAU,GAGrC,mBAAe,yCAAgB,wCAAmB,CAAC,GACnD,aAAa,uBAAuB,GACpC,iBAAiB,iBAAa,qCAAgB,UAAU,IAAI,oBAAI,IAAI,GAEpE,aAAa,IAAI,IAAI,CAAC,GAAG,cAAc,GAAG,cAAc,CAAC,GACzD,WAAW,UAAM,0CAAqB,UAAU,GAEhD,eAAe,aAAa,OAAO,eAAe;AACxD,UAAQ;AAAA,IACN,kBAAAA,QAAG;AAAA,MACD,SAAS,YAAY,aAAa,aAAa,IAAI,WAAW,eAAe,IAAI,gBAAgB,iBAAiB,MAAM;AAAA,IAC1H;AAAA,EACF;AAEA,QAAM,UAAU,oBAAoB,cAAc,gBAAgB,QAAQ;AAG1E,MAAI;AAEF,YADiB,6BAAa,WAAW,OAAO,MAC/B;AACf,qBAAQ,KAAK,KAAK,kBAAAA,QAAG,IAAI,aAAa,CAAC,IAAI,kBAAAA,QAAG,IAAI,WAAW,CAAC,EAAE,GACzD;AAAA,EAEX,QAAQ;AAAA,EAER;AAEA,aAAK,2BAAW,QAAQ,SACtB,0BAAU,UAAU,EAAE,WAAW,GAAK,CAAC,OAEzC,8BAAc,WAAW,OAAO,GAChC,QAAQ,KAAK,KAAK,kBAAAA,QAAG,MAAM,QAAG,CAAC,cAAc,GACtC;AACT;AAIA,MAAMC,eAAU,kCAAc,YAAY,GAAG;AAC7C,IAAI;AACJ,IAAI;AACF,iBAAW,0BAAQA,SAAQ,QAAQ,6BAA6B,CAAC;AACnE,QAAQ;AACN,aAAW;AACb;AAEA,MAAM,eAAe;AAErB,SAAS,oBAAoB,SAA0B;AACrD,MAAI,CAAC,QAAQ,WAAW,KAAK,EAAG,QAAO;AACvC,QAAM,WAAW,QAAQ,QAAQ,OAAO,CAAC;AACzC,MAAI,aAAa,GAAI,QAAO;AAC5B,QAAM,cAAc,QAAQ,MAAM,GAAG,QAAQ;AAC7C,SAAO,YAAY,SAAS,OAAO,KAAK,YAAY,SAAS,cAAc;AAC7E;AAEA,SAAS,UAAU,SAA0B;AAC3C,MAAI,CAAC,QAAQ,WAAW,KAAK,EAAG,QAAO;AACvC,QAAM,WAAW,QAAQ,QAAQ,OAAO,CAAC;AACzC,MAAI,aAAa,GAAI,QAAO;AAC5B,QAAM,cAAc,QAAQ,MAAM,GAAG,QAAQ;AAC7C,SAAO,kBAAkB,KAAK,WAAW;AAC3C;AAEA,SAAS,eAAe,SAAyD;AAC/E,QAAM,QAAQ,QAAQ,MAAM;AAAA,CAAI;AAChC,MAAI,QAAQ,IACR,cAAc,IAEd,YAAY;AAChB,MAAI,MAAM,CAAC,GAAG,KAAK,MAAM;AACvB,aAAS,IAAI,GAAG,IAAI,MAAM,QAAQ;AAChC,UAAI,MAAM,CAAC,GAAG,KAAK,MAAM,OAAO;AAC9B,oBAAY,IAAI;AAChB;AAAA,MACF;AAAA;AAIJ,WAAS,IAAI,WAAW,IAAI,MAAM,QAAQ,KAAK;AAC7C,UAAM,UAAU,MAAM,CAAC,GAAG,KAAK,KAAK;AACpC,QAAI,CAAC,SAAS,QAAQ,WAAW,IAAI,GAAG;AACtC,cAAQ,QAAQ,MAAM,CAAC,EAAE,KAAK;AAC9B;AAAA,IACF;AACA,QAAI,SAAS,WAAW,CAAC,QAAQ,WAAW,GAAG,GAAG;AAChD,oBAAc;AACd;AAAA,IACF;AAAA,EACF;AAEA,SAAO,EAAE,OAAO,YAAY;AAC9B;AAEA,SAAS,YAAY,MAAsB;AACzC,SAAO,KACJ,YAAY,EACZ,QAAQ,eAAe,GAAG,EAC1B,QAAQ,OAAO,GAAG,EAClB,QAAQ,UAAU,EAAE,EACpB,MAAM,GAAG,EAAE;AAChB;AAEA,SAAS,eACP,KACoE;AACpE,QAAM,OAA2E,CAAC,GAC5E,OAAO,oBAAI,IAAY,GAEvB,mBAAe,uBAAK,KAAK,MAAM;AACrC,UAAI,2BAAW,YAAY,GAAG;AAC5B,UAAM,YAAQ,4BAAY,YAAY,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,KAAK,CAAC;AACvE,eAAW,QAAQ,OAAO;AACxB,YAAM,OAAO,KAAK,QAAQ,SAAS,EAAE;AACrC,WAAK,KAAK,EAAE,MAAM,UAAM,uBAAK,cAAc,IAAI,GAAG,QAAQ,QAAQ,CAAC,GACnE,KAAK,IAAI,IAAI;AAAA,IACf;AAAA,EACF;AAEA,MAAI,gBAAY,2BAAW,QAAQ,GAAG;AACpC,UAAM,YAAQ,4BAAY,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,KAAK,CAAC;AACnE,eAAW,QAAQ,OAAO;AACxB,YAAM,OAAO,KAAK,QAAQ,SAAS,EAAE;AACrC,MAAK,KAAK,IAAI,IAAI,KAChB,KAAK,KAAK,EAAE,MAAM,UAAM,uBAAK,UAAU,IAAI,GAAG,QAAQ,UAAU,CAAC;AAAA,IAErE;AAAA,EACF;AAEA,SAAO;AACT;AAEA,eAAe,kBACb,KACA,OACsE;AACtE,QAAM,gBAAY,uBAAK,KAAK,WAAW,QAAQ,GACzC,OAAO,eAAe,GAAG;AAE/B,MAAI,KAAK,WAAW;AAClB,mBAAQ,KAAK,kBAAAD,QAAG,OAAO,8BAA8B,CAAC,GAC/C,EAAE,WAAW,GAAG,WAAW,GAAG,WAAW,EAAE;AAKpD,MAFA,QAAQ,KAAK,kBAAAA,QAAG,IAAI,SAAS,KAAK,MAAM,sBAAsB,CAAC,GAE3D,aAAS,2BAAW,SAAS,GAAG;AAClC,UAAM,eAAW,4BAAY,SAAS;AACtC,eAAW,OAAO;AAChB,MAAI,IAAI,WAAW,YAAY,SAC7B,2BAAO,uBAAK,WAAW,GAAG,GAAG,EAAE,WAAW,GAAK,CAAC;AAAA,EAGtD;AAEA,MAAK,2BAAW,SAAS,SACvB,0BAAU,WAAW,EAAE,WAAW,GAAK,CAAC;AAG1C,MAAI,YAAY,GACZ,YAAY,GACZ,YAAY;AAChB,QAAM,QAAQ,CAAC,CAAC,QAAQ,IAAI;AAE5B,aAAW,OAAO,MAAM;AACtB,UAAM,cAAU,6BAAa,IAAI,MAAM,OAAO;AAC9C,QAAI,UAAU,OAAO,KAAK,CAAC,MAAO;AAIlC,QAFuB,oBAAoB,OAAO,GAE9B;AAClB,YAAM,YAAY,QAAQ,MAAM,4BAA4B;AAC5D,UAAI,CAAC,UAAW;AAEhB,YAAM,YAAY,UAAU,CAAC,EAAG,KAAK,GAC/B,eAAW,uBAAK,WAAW,SAAS,GACpC,gBAAY,uBAAK,UAAU,UAAU;AAE3C,UAAK,2BAAW,QAAQ,SACtB,0BAAU,UAAU,EAAE,WAAW,GAAK,CAAC;AAGzC,YAAM,mBAAe,2BAAS,UAAU,IAAI,IAAI;AAEhD,UAAI,eAAe;AACnB,UAAI;AAEF,YADa,0BAAU,SAAS,EACvB,eAAe,SAAK,2BAAW,SAAS,SACvB,6BAAa,WAAW,OAAO,MAC/B,YACtB,aACA,eAAe,KAGf,oBACF,2BAAW,SAAS;AAAA,MAExB,QAAQ;AAAA,MAER;AAEA,UAAI,CAAC,aAAc;AAEnB,sCAAY,cAAc,SAAS,GACnC;AAEA,YAAM,cAAc,IAAI,WAAW,UAAU,kBAAAA,QAAG,KAAK,OAAO,IAAI,kBAAAA,QAAG,IAAI,SAAS;AAChF,cAAQ;AAAA,QACN,KAAK,kBAAAA,QAAG,MAAM,QAAG,CAAC,IAAI,SAAS,IAAI,WAAW,IAAI,kBAAAA,QAAG,IAAI,WAAW,CAAC;AAAA,MACvE;AAAA,IACF,OAAO;AACL,YAAM,WAAW,YAAY,IAAI,IAAI,GAC/B,YAAY,GAAG,YAAY,GAAG,QAAQ,IACtC,eAAW,uBAAK,WAAW,SAAS,GACpC,gBAAY,uBAAK,UAAU,UAAU;AAE3C,UAAK,2BAAW,QAAQ,SACtB,0BAAU,UAAU,EAAE,WAAW,GAAK,CAAC;AAGzC,YAAM,EAAE,OAAO,YAAY,IAAI,eAAe,OAAO,GAC/C,mBAAmB,cACrB,GAAG,KAAK,KAAK,WAAW,GAAG,MAAM,GAAG,IAAI,IACxC,MAAM,MAAM,GAAG,IAAI,GAEjB,eAAe;AAAA,QACnB,SAAS;AAAA,eACF,gBAAgB;AAAA;AAAA;AAAA,EAG7B,OAAO;AAAA;AAGH,UAAI,cAAc;AAClB,UAAI;AAEF,YADa,0BAAU,SAAS,EACvB,eAAe,QACtB,2BAAW,SAAS,QAEH,6BAAa,WAAW,OAAO,MAC/B,iBACf,aACA,cAAc;AAAA,MAGpB,QAAQ;AAAA,MAER;AAEA,UAAI,CAAC,YAAa;AAElB,wCAAc,WAAW,YAAY,GACrC;AAEA,YAAM,cAAc,IAAI,WAAW,UAAU,kBAAAA,QAAG,KAAK,OAAO,IAAI,kBAAAA,QAAG,IAAI,SAAS;AAChF,cAAQ;AAAA,QACN,KAAK,kBAAAA,QAAG,MAAM,QAAG,CAAC,IAAI,SAAS,IAAI,WAAW,IAAI,kBAAAA,QAAG,IAAI,aAAa,CAAC;AAAA,MACzE;AAAA,IACF;AAAA,EACF;AAEA,SAAO,EAAE,WAAW,WAAW,UAAU;AAC3C;AAIA,MAAM,qBAAiB,4BAAc;AAAA,EACnC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,MAAM,MAAM;AACV,UAAM,MAAM,QAAQ,IAAI;AAExB,YAAQ,KAAK,GACb,QAAQ,KAAK,kBAAAA,QAAG,KAAK,kBAAAA,QAAG,KAAK,wBAAwB,CAAC,CAAC,GACvD,QAAQ,KAAK,GAEb,MAAM,gBAAgB,GAAG,GAEzB,QAAQ,KAAK;AAAA,EACf;AACF,CAAC,GAEK,sBAAkB,4BAAc;AAAA,EACpC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,MAAM;AAAA,IACJ,OAAO;AAAA,MACL,MAAM;AAAA,MACN,aAAa;AAAA,MACb,SAAS;AAAA,IACX;AAAA,IACA,sBAAsB;AAAA,MACpB,MAAM;AAAA,MACN,aAAa;AAAA,MACb,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACA,MAAM,IAAI,EAAE,KAAK,GAAG;AAClB,UAAM,MAAM,QAAQ,IAAI,GAClB,gBAAY,uBAAK,KAAK,WAAW,QAAQ;AAE/C,YAAQ,KAAK,GACb,QAAQ,KAAK,kBAAAA,QAAG,KAAK,kBAAAA,QAAG,KAAK,qBAAqB,CAAC,CAAC,GACpD,QAAQ,KAAK;AAEb,QAAI,YAAY,GACZ,YAAY,GACZ,YAAY;AAGhB,QAAI,CAAC,KAAK,oBAAoB,GAAG;AAC/B,YAAM,WAAW,MAAM,kBAAkB,KAAK,KAAK,KAAK;AACxD,kBAAY,SAAS,WACrB,YAAY,SAAS,WACrB,YAAY,SAAS,WACrB,QAAQ,KAAK;AAAA,IACf;AAGA,UAAM,gBAAgB,GAAG,GAGzB,QAAQ,KAAK,GACb,QAAQ,KAAK,kBAAAA,QAAG,KAAK,UAAU,CAAC,GAC5B,YAAY,KAAG,QAAQ,KAAK,KAAK,kBAAAA,QAAG,MAAM,GAAG,SAAS,YAAY,CAAC,EAAE,GACrE,YAAY,KACd,QAAQ;AAAA,MACN,KAAK,kBAAAA,QAAG,OAAO,GAAG,SAAS,YAAY,CAAC,IAAI,kBAAAA,QAAG,IAAI,qCAAqC,CAAC;AAAA,IAC3F,GACE,YAAY,KAAG,QAAQ,KAAK,KAAK,kBAAAA,QAAG,IAAI,GAAG,SAAS,YAAY,CAAC,EAAE,GACvE,QAAQ,KAAK,kBAAAA,QAAG,IAAI,eAAe,SAAS,EAAE,CAAC,GAC/C,QAAQ,KAAK;AAAA,EACf;AACF,CAAC,GAEY,oBAAgB,4BAAc;AAAA,EACzC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,aAAa;AAAA,IACX,UAAU;AAAA,IACV,SAAS;AAAA,EACX;AACF,CAAC;",
5
- "names": ["pc", "require"]
4
+ "mappings": "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",
5
+ "names": ["require", "pc"]
6
6
  }