@chiendt/ack-cli 1.0.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli-manifest.json +88 -2
- package/dist/index.js +100 -26
- package/package.json +1 -1
package/cli-manifest.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.0
|
|
3
|
-
"generatedAt": "2026-05-
|
|
2
|
+
"version": "1.1.0",
|
|
3
|
+
"generatedAt": "2026-05-22T07:51:09.132Z",
|
|
4
4
|
"commands": {
|
|
5
5
|
"agents": {
|
|
6
6
|
"name": "agents",
|
|
@@ -1810,6 +1810,92 @@
|
|
|
1810
1810
|
}
|
|
1811
1811
|
]
|
|
1812
1812
|
}
|
|
1813
|
+
],
|
|
1814
|
+
"subcommands": [
|
|
1815
|
+
{
|
|
1816
|
+
"name": "install",
|
|
1817
|
+
"description": "Run skills dependency install script (install.sh / install.ps1)",
|
|
1818
|
+
"usage": "ack setup install [options]",
|
|
1819
|
+
"examples": [
|
|
1820
|
+
{
|
|
1821
|
+
"command": "ack setup install",
|
|
1822
|
+
"description": "Run install script in ./.claude/skills"
|
|
1823
|
+
},
|
|
1824
|
+
{
|
|
1825
|
+
"command": "ack setup install --global",
|
|
1826
|
+
"description": "Run install script in ~/.claude/skills"
|
|
1827
|
+
},
|
|
1828
|
+
{
|
|
1829
|
+
"command": "ack setup install --dir /custom/path --with-sudo",
|
|
1830
|
+
"description": "Custom dir with sudo for system packages"
|
|
1831
|
+
}
|
|
1832
|
+
],
|
|
1833
|
+
"optionGroups": [
|
|
1834
|
+
{
|
|
1835
|
+
"title": "Options",
|
|
1836
|
+
"options": [
|
|
1837
|
+
{
|
|
1838
|
+
"flags": "--global",
|
|
1839
|
+
"description": "Use ~/.claude/skills"
|
|
1840
|
+
},
|
|
1841
|
+
{
|
|
1842
|
+
"flags": "--dir <dir>",
|
|
1843
|
+
"description": "Custom skills directory"
|
|
1844
|
+
},
|
|
1845
|
+
{
|
|
1846
|
+
"flags": "--with-sudo",
|
|
1847
|
+
"description": "Allow sudo for system packages (Linux)"
|
|
1848
|
+
},
|
|
1849
|
+
{
|
|
1850
|
+
"flags": "-y, --yes",
|
|
1851
|
+
"description": "Skip confirmation prompts"
|
|
1852
|
+
}
|
|
1853
|
+
]
|
|
1854
|
+
}
|
|
1855
|
+
]
|
|
1856
|
+
}
|
|
1857
|
+
]
|
|
1858
|
+
},
|
|
1859
|
+
"setup install": {
|
|
1860
|
+
"name": "setup install",
|
|
1861
|
+
"description": "Run skills dependency install script (install.sh / install.ps1)",
|
|
1862
|
+
"usage": "ack setup install [options]",
|
|
1863
|
+
"examples": [
|
|
1864
|
+
{
|
|
1865
|
+
"command": "ack setup install",
|
|
1866
|
+
"description": "Run install script in ./.claude/skills"
|
|
1867
|
+
},
|
|
1868
|
+
{
|
|
1869
|
+
"command": "ack setup install --global",
|
|
1870
|
+
"description": "Run install script in ~/.claude/skills"
|
|
1871
|
+
},
|
|
1872
|
+
{
|
|
1873
|
+
"command": "ack setup install --dir /custom/path --with-sudo",
|
|
1874
|
+
"description": "Custom dir with sudo for system packages"
|
|
1875
|
+
}
|
|
1876
|
+
],
|
|
1877
|
+
"optionGroups": [
|
|
1878
|
+
{
|
|
1879
|
+
"title": "Options",
|
|
1880
|
+
"options": [
|
|
1881
|
+
{
|
|
1882
|
+
"flags": "--global",
|
|
1883
|
+
"description": "Use ~/.claude/skills"
|
|
1884
|
+
},
|
|
1885
|
+
{
|
|
1886
|
+
"flags": "--dir <dir>",
|
|
1887
|
+
"description": "Custom skills directory"
|
|
1888
|
+
},
|
|
1889
|
+
{
|
|
1890
|
+
"flags": "--with-sudo",
|
|
1891
|
+
"description": "Allow sudo for system packages (Linux)"
|
|
1892
|
+
},
|
|
1893
|
+
{
|
|
1894
|
+
"flags": "-y, --yes",
|
|
1895
|
+
"description": "Skip confirmation prompts"
|
|
1896
|
+
}
|
|
1897
|
+
]
|
|
1898
|
+
}
|
|
1813
1899
|
]
|
|
1814
1900
|
},
|
|
1815
1901
|
"skills": {
|
package/dist/index.js
CHANGED
|
@@ -63692,7 +63692,7 @@ var package_default;
|
|
|
63692
63692
|
var init_package = __esm(() => {
|
|
63693
63693
|
package_default = {
|
|
63694
63694
|
name: "@chiendt/ack-cli",
|
|
63695
|
-
version: "1.0
|
|
63695
|
+
version: "1.1.0",
|
|
63696
63696
|
description: "ACK CLI - tool for bootstrapping and updating ACK kits (Claude Code agent kits)",
|
|
63697
63697
|
type: "module",
|
|
63698
63698
|
repository: {
|
|
@@ -67614,7 +67614,8 @@ var init_config_version_checker = __esm(() => {
|
|
|
67614
67614
|
CACHE_TTL_MS = parseCacheTtl();
|
|
67615
67615
|
KIT_REPOS = {
|
|
67616
67616
|
engineer: { owner: "ack", repo: "ack-engineer" },
|
|
67617
|
-
marketing: { owner: "ack", repo: "claudekit-marketing" }
|
|
67617
|
+
marketing: { owner: "ack", repo: "claudekit-marketing" },
|
|
67618
|
+
"fqc-qa": { owner: "chiendt1108", repo: "ack-fqc-qa" }
|
|
67618
67619
|
};
|
|
67619
67620
|
});
|
|
67620
67621
|
|
|
@@ -76591,9 +76592,9 @@ async function listActiveWorktrees(projectDir) {
|
|
|
76591
76592
|
for (const line of output2.split(`
|
|
76592
76593
|
`)) {
|
|
76593
76594
|
if (line.startsWith("worktree ")) {
|
|
76594
|
-
const
|
|
76595
|
-
if (
|
|
76596
|
-
const num = Number.parseInt(
|
|
76595
|
+
const path10 = line.slice(9).replace(/\\/g, "/");
|
|
76596
|
+
if (path10.startsWith(worktreePrefix)) {
|
|
76597
|
+
const num = Number.parseInt(path10.slice(worktreePrefix.length), 10);
|
|
76597
76598
|
if (!Number.isNaN(num))
|
|
76598
76599
|
issueNumbers.push(num);
|
|
76599
76600
|
}
|
|
@@ -81038,9 +81039,45 @@ var init_projects_command_help = __esm(() => {
|
|
|
81038
81039
|
};
|
|
81039
81040
|
});
|
|
81040
81041
|
|
|
81042
|
+
// src/domains/help/commands/setup-install-command-help.ts
|
|
81043
|
+
var setupInstallCommandHelp;
|
|
81044
|
+
var init_setup_install_command_help = __esm(() => {
|
|
81045
|
+
setupInstallCommandHelp = {
|
|
81046
|
+
name: "setup install",
|
|
81047
|
+
description: "Run skills dependency install script (install.sh / install.ps1)",
|
|
81048
|
+
usage: "ack setup install [options]",
|
|
81049
|
+
examples: [
|
|
81050
|
+
{
|
|
81051
|
+
command: "ack setup install",
|
|
81052
|
+
description: "Run install script in ./.claude/skills"
|
|
81053
|
+
},
|
|
81054
|
+
{
|
|
81055
|
+
command: "ack setup install --global",
|
|
81056
|
+
description: "Run install script in ~/.claude/skills"
|
|
81057
|
+
},
|
|
81058
|
+
{
|
|
81059
|
+
command: "ack setup install --dir /custom/path --with-sudo",
|
|
81060
|
+
description: "Custom dir with sudo for system packages"
|
|
81061
|
+
}
|
|
81062
|
+
],
|
|
81063
|
+
optionGroups: [
|
|
81064
|
+
{
|
|
81065
|
+
title: "Options",
|
|
81066
|
+
options: [
|
|
81067
|
+
{ flags: "--global", description: "Use ~/.claude/skills" },
|
|
81068
|
+
{ flags: "--dir <dir>", description: "Custom skills directory" },
|
|
81069
|
+
{ flags: "--with-sudo", description: "Allow sudo for system packages (Linux)" },
|
|
81070
|
+
{ flags: "-y, --yes", description: "Skip confirmation prompts" }
|
|
81071
|
+
]
|
|
81072
|
+
}
|
|
81073
|
+
]
|
|
81074
|
+
};
|
|
81075
|
+
});
|
|
81076
|
+
|
|
81041
81077
|
// src/domains/help/commands/setup-command-help.ts
|
|
81042
81078
|
var setupCommandHelp;
|
|
81043
81079
|
var init_setup_command_help = __esm(() => {
|
|
81080
|
+
init_setup_install_command_help();
|
|
81044
81081
|
setupCommandHelp = {
|
|
81045
81082
|
name: "setup",
|
|
81046
81083
|
description: "Run guided setup for provider API keys, preferred image provider, and optional packages",
|
|
@@ -81078,6 +81115,15 @@ var init_setup_command_help = __esm(() => {
|
|
|
81078
81115
|
}
|
|
81079
81116
|
]
|
|
81080
81117
|
}
|
|
81118
|
+
],
|
|
81119
|
+
subcommands: [
|
|
81120
|
+
{
|
|
81121
|
+
name: "install",
|
|
81122
|
+
description: setupInstallCommandHelp.description,
|
|
81123
|
+
usage: setupInstallCommandHelp.usage,
|
|
81124
|
+
examples: setupInstallCommandHelp.examples,
|
|
81125
|
+
optionGroups: setupInstallCommandHelp.optionGroups
|
|
81126
|
+
}
|
|
81081
81127
|
]
|
|
81082
81128
|
};
|
|
81083
81129
|
});
|
|
@@ -81465,6 +81511,7 @@ var init_commands2 = __esm(() => {
|
|
|
81465
81511
|
init_plan_command_help();
|
|
81466
81512
|
init_projects_command_help();
|
|
81467
81513
|
init_setup_command_help();
|
|
81514
|
+
init_setup_install_command_help();
|
|
81468
81515
|
init_skills_command_help();
|
|
81469
81516
|
init_uninstall_command_help();
|
|
81470
81517
|
init_update_command_help();
|
|
@@ -81495,6 +81542,7 @@ var init_help_commands = __esm(() => {
|
|
|
81495
81542
|
plan: planCommandHelp,
|
|
81496
81543
|
projects: projectsCommandHelp,
|
|
81497
81544
|
setup: setupCommandHelp,
|
|
81545
|
+
"setup install": setupInstallCommandHelp,
|
|
81498
81546
|
skills: skillsCommandHelp,
|
|
81499
81547
|
uninstall: uninstallCommandHelp,
|
|
81500
81548
|
update: updateCommandHelp,
|
|
@@ -81671,12 +81719,12 @@ var BANNER_LINES;
|
|
|
81671
81719
|
var init_help_banner = __esm(() => {
|
|
81672
81720
|
init_help_colors();
|
|
81673
81721
|
BANNER_LINES = [
|
|
81674
|
-
" ██████╗██╗ ██╗",
|
|
81675
|
-
"
|
|
81676
|
-
"
|
|
81677
|
-
"
|
|
81678
|
-
"
|
|
81679
|
-
" ╚═════╝╚═╝ ╚═╝"
|
|
81722
|
+
" █████╗ ██████╗██╗ ██╗",
|
|
81723
|
+
"██╔══██╗██╔════╝██║ ██╔╝",
|
|
81724
|
+
"███████║██║ █████╔╝ ",
|
|
81725
|
+
"██╔══██║██║ ██╔═██╗ ",
|
|
81726
|
+
"██║ ██║╚██████╗██║ ██╗",
|
|
81727
|
+
"╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝"
|
|
81680
81728
|
];
|
|
81681
81729
|
});
|
|
81682
81730
|
|
|
@@ -81837,7 +81885,7 @@ function renderGlobalHelp(commands, options2 = DEFAULT_HELP_OPTIONS) {
|
|
|
81837
81885
|
lines.push(` ${padEnd(theme.flag("GITHUB_TOKEN"), 20)}${theme.description("Environment variable for Classic PAT")}`);
|
|
81838
81886
|
lines.push(` ${padEnd(theme.flag("gh auth login"), 20)}${theme.description("GitHub CLI authentication (default)")}`);
|
|
81839
81887
|
lines.push("");
|
|
81840
|
-
lines.push(theme.muted("Run '
|
|
81888
|
+
lines.push(theme.muted("Run 'ack <command> --help' for details. Start with 'ack skills --help' and 'ack config --help'."));
|
|
81841
81889
|
return lines.filter((s3) => s3 !== undefined).join(`
|
|
81842
81890
|
`);
|
|
81843
81891
|
}
|
|
@@ -100222,7 +100270,7 @@ init_types3();
|
|
|
100222
100270
|
var import_fs_extra17 = __toESM(require_lib(), 1);
|
|
100223
100271
|
async function writeManifest(claudeDir3, kitName, version, scope, kitType, trackedFiles, userConfigFiles) {
|
|
100224
100272
|
const metadataPath = join111(claudeDir3, "metadata.json");
|
|
100225
|
-
const kit = kitType || (/\bmarketing\b/i.test(kitName) ? "marketing" : "engineer");
|
|
100273
|
+
const kit = kitType || (/\bfqc[\s_-]?qa\b/i.test(kitName) ? "fqc-qa" : /\bmarketing\b/i.test(kitName) ? "marketing" : "engineer");
|
|
100226
100274
|
await import_fs_extra17.ensureFile(metadataPath);
|
|
100227
100275
|
let release = null;
|
|
100228
100276
|
try {
|
|
@@ -109033,6 +109081,22 @@ async function setupCommand(options2) {
|
|
|
109033
109081
|
f2.success(`Installed packages: ${ctx.packagesInstalled.join(", ")}`);
|
|
109034
109082
|
}
|
|
109035
109083
|
}
|
|
109084
|
+
// src/commands/setup/setup-install-command.ts
|
|
109085
|
+
init_package_installer();
|
|
109086
|
+
init_logger();
|
|
109087
|
+
init_path_resolver();
|
|
109088
|
+
import path9 from "node:path";
|
|
109089
|
+
async function setupInstallCommand(options2) {
|
|
109090
|
+
if (options2.dir && options2.global) {
|
|
109091
|
+
logger.error("--dir and --global are mutually exclusive. Use one or the other.");
|
|
109092
|
+
process.exit(1);
|
|
109093
|
+
}
|
|
109094
|
+
const resolvedDir = options2.dir ? path9.resolve(options2.dir) : PathResolver.buildSkillsPath(options2.global ? PathResolver.getGlobalKitDir() : process.cwd(), !!options2.global);
|
|
109095
|
+
await handleSkillsInstallation(resolvedDir, {
|
|
109096
|
+
skipConfirm: !!options2.yes,
|
|
109097
|
+
withSudo: !!options2.withSudo
|
|
109098
|
+
});
|
|
109099
|
+
}
|
|
109036
109100
|
// src/commands/skills/skills-command.ts
|
|
109037
109101
|
init_dist2();
|
|
109038
109102
|
init_skill_catalog_generator();
|
|
@@ -112425,6 +112489,9 @@ function registerCommands(cli) {
|
|
|
112425
112489
|
cli.command("setup", "Configure API keys and optional packages").option("--global", "Configure globally (~/.claude/)").option("--skip-packages", "Skip optional package installation").option("--dir <dir>", "Target directory (default: current directory)").action(async (options2) => {
|
|
112426
112490
|
await setupCommand(options2);
|
|
112427
112491
|
});
|
|
112492
|
+
cli.command("setup install", "Run skills dependency install script").option("--global", "Use ~/.claude/skills").option("--dir <dir>", "Custom skills directory").option("--with-sudo", "Allow sudo for system packages (Linux)").option("-y, --yes", "Skip confirmation prompts").action(async (options2) => {
|
|
112493
|
+
await setupInstallCommand(options2);
|
|
112494
|
+
});
|
|
112428
112495
|
cli.command("skills", "Install AckKit skills to other coding agents").option("-n, --name <skill>", "Skill name to install/uninstall").option("-a, --agent <agents...>", "Target agents (claude-code, cursor, codex, etc.)").option("-g, --global", "Install/uninstall globally instead of project-level").option("-l, --list", "List available skills").option("--installed", "Show installed skills (use with --list)").option("--all", "Install to all supported agents").option("-u, --uninstall", "Uninstall skill(s)").option("--force", "Force uninstall even if not in registry").option("--sync", "Sync registry with filesystem (remove orphans)").option("-y, --yes", "Skip confirmation prompts").option("--catalog", "Show skill catalog stats").option("--regenerate", "Force regenerate catalog (use with --catalog)").option("--search <query>", "BM25 full-text search over skill catalog").option("--json", "Output search results as JSON (use with --search)").option("--limit <n>", "Max search results, default 10 (use with --search)").option("--validate", "Validate SKILL.md frontmatter fields").action(async (options2) => {
|
|
112429
112496
|
if (options2.agent && !Array.isArray(options2.agent)) {
|
|
112430
112497
|
options2.agent = [options2.agent];
|
|
@@ -112449,8 +112516,8 @@ function registerCommands(cli) {
|
|
|
112449
112516
|
cli.command("plan [action] [target]", "Plan management: parse, validate, status, kanban, create, check, uncheck, add-phase").option("--json", "Output in JSON format").option("--strict", "Strict validation mode").option("--port <port>", "Port for kanban dashboard").option("--no-open", "Don't auto-open browser").option("--dev", "Development mode for dashboard").option("-g, --global", "Use global plans scope (~/.claude/plans or configured global root)").option("--title <title>", "Plan title (for create)").option("--phases <phases>", "Comma-separated phase names (for create)").option("--dir <dir>", "Plan directory (for create)").option("--priority <priority>", "Priority: P1, P2, P3 (for create)").option("--issue <issue>", "GitHub issue number (for create)").option("--after <after>", "Insert after phase ID (for add-phase)").option("--start", "Mark as in-progress instead of completed (for check)").option("--source <source>", "Creation source: skill | cli | dashboard (for create)").option("--session-id <id>", "Claude session ID for tracking (for create)").action(async (action, target, options2) => {
|
|
112450
112517
|
await planCommand(action, target, options2);
|
|
112451
112518
|
});
|
|
112452
|
-
cli.command("api [action] [service] [path]", "Interact with AckKit API and proxy services").option("--method <method>", "HTTP method for proxy requests (default: GET)").option("--body <json>", "Request body as JSON string (proxy only)").option("--query <json>", "Query params as JSON string (proxy only)").option("--key <key>", "API key to use (setup only)").option("--force", "Force re-setup even if key exists (setup only)").option("--json", "Output raw JSON instead of formatted display").option("--locale <locale>", "Locale for vidcap summary/caption (default: en)").option("--max-results <n>", "Max results for vidcap search").option("--second <s>", "Timestamp in seconds for vidcap screenshot").option("--order <order>", "Sort order for vidcap comments (time/relevance)").option("--format <fmt>", "Summary format for reviewweb (bullet/paragraph)").option("--max-length <n>", "Max summary length for reviewweb").option("--instructions <text>", "Extraction instructions for reviewweb extract").option("--template <json>", "JSON template for reviewweb extract").option("--type <type>", "Link type filter for reviewweb links (web/image/file/all)").option("--country <code>", "Country code for reviewweb SEO commands").action(async (action, service,
|
|
112453
|
-
await apiCommand(action, service,
|
|
112519
|
+
cli.command("api [action] [service] [path]", "Interact with AckKit API and proxy services").option("--method <method>", "HTTP method for proxy requests (default: GET)").option("--body <json>", "Request body as JSON string (proxy only)").option("--query <json>", "Query params as JSON string (proxy only)").option("--key <key>", "API key to use (setup only)").option("--force", "Force re-setup even if key exists (setup only)").option("--json", "Output raw JSON instead of formatted display").option("--locale <locale>", "Locale for vidcap summary/caption (default: en)").option("--max-results <n>", "Max results for vidcap search").option("--second <s>", "Timestamp in seconds for vidcap screenshot").option("--order <order>", "Sort order for vidcap comments (time/relevance)").option("--format <fmt>", "Summary format for reviewweb (bullet/paragraph)").option("--max-length <n>", "Max summary length for reviewweb").option("--instructions <text>", "Extraction instructions for reviewweb extract").option("--template <json>", "JSON template for reviewweb extract").option("--type <type>", "Link type filter for reviewweb links (web/image/file/all)").option("--country <code>", "Country code for reviewweb SEO commands").action(async (action, service, path10, options2) => {
|
|
112520
|
+
await apiCommand(action, service, path10, options2);
|
|
112454
112521
|
});
|
|
112455
112522
|
cli.command("migrate", "Migrate agents, commands, skills, config, rules, and hooks to other providers").option("-a, --agent <agents...>", "Target providers (cursor, codex, droid, opencode, etc.)").option("-g, --global", "Install globally instead of project-level").option("--all", "Migrate to all supported providers").option("-y, --yes", "Skip confirmation prompts").option("--only-agents", "Migrate agents only").option("--only-commands", "Migrate commands only").option("--only-skills", "Migrate skills only").option("--config", "Migrate CLAUDE.md config only").option("--rules", "Migrate .claude/rules/ only").option("--hooks", "Migrate .claude/hooks/ only").option("--skip-agents", "Skip agents migration").option("--skip-commands", "Skip commands migration").option("--skip-skills", "Skip skills migration (preserve symlinks/custom layouts)").option("--skip-config", "Skip config migration").option("--skip-rules", "Skip rules migration").option("--skip-hooks", "Skip hooks migration").option("--source <path>", "Custom CLAUDE.md source path (config only, not agents/commands/skills/hooks)").option("--dry-run", "Preview migration targets without writing files").option("-f, --force", "Force reinstall deleted/edited items").option("--install", "Opt-in install picker mode (select specific items to install)").option("--reconcile", "Force reconcile mode (current default when registry is valid)").option("--reinstall-empty-dirs", "Reinstall all items when their type directory is empty (default: true)").option("--respect-deletions", "Preserve deletion even when type directory is empty (disables reinstall-empty-dirs)").action(async (options2) => {
|
|
112456
112523
|
if (options2.agent && !Array.isArray(options2.agent)) {
|
|
@@ -112550,10 +112617,13 @@ class VersionCacheManager {
|
|
|
112550
112617
|
|
|
112551
112618
|
// src/domains/versioning/checking/kit-version-checker.ts
|
|
112552
112619
|
init_version_utils();
|
|
112553
|
-
async function fetchLatestRelease(currentVersion) {
|
|
112620
|
+
async function fetchLatestRelease(currentVersion, kitType) {
|
|
112554
112621
|
try {
|
|
112555
112622
|
const githubClient = new GitHubClient;
|
|
112556
|
-
const kit = AVAILABLE_KITS
|
|
112623
|
+
const kit = AVAILABLE_KITS[kitType];
|
|
112624
|
+
if (!kit) {
|
|
112625
|
+
throw new Error(`Unsupported kit type: ${kitType}`);
|
|
112626
|
+
}
|
|
112557
112627
|
const timeoutPromise = new Promise((_4, reject) => setTimeout(() => reject(new Error("Timeout")), 5000));
|
|
112558
112628
|
const releasePromise = githubClient.getLatestRelease(kit);
|
|
112559
112629
|
const release = await Promise.race([releasePromise, timeoutPromise]);
|
|
@@ -112574,7 +112644,7 @@ async function fetchLatestRelease(currentVersion) {
|
|
|
112574
112644
|
}
|
|
112575
112645
|
|
|
112576
112646
|
class VersionChecker {
|
|
112577
|
-
static async check(currentVersion) {
|
|
112647
|
+
static async check(currentVersion, kitType) {
|
|
112578
112648
|
if (isUpdateCheckDisabled()) {
|
|
112579
112649
|
logger.debug("Update check disabled by environment");
|
|
112580
112650
|
return null;
|
|
@@ -112590,7 +112660,7 @@ class VersionChecker {
|
|
|
112590
112660
|
};
|
|
112591
112661
|
}
|
|
112592
112662
|
logger.debug("Cache expired or invalid, fetching latest release");
|
|
112593
|
-
const result = await fetchLatestRelease(currentVersion);
|
|
112663
|
+
const result = await fetchLatestRelease(currentVersion, kitType);
|
|
112594
112664
|
if (result) {
|
|
112595
112665
|
await VersionCacheManager.save({
|
|
112596
112666
|
lastCheck: Date.now(),
|
|
@@ -112718,8 +112788,8 @@ function displayCliNotification(result) {
|
|
|
112718
112788
|
}
|
|
112719
112789
|
// src/domains/versioning/version-checker.ts
|
|
112720
112790
|
class VersionChecker2 {
|
|
112721
|
-
static async check(currentVersion) {
|
|
112722
|
-
return VersionChecker.check(currentVersion);
|
|
112791
|
+
static async check(currentVersion, kitType) {
|
|
112792
|
+
return VersionChecker.check(currentVersion, kitType);
|
|
112723
112793
|
}
|
|
112724
112794
|
static displayNotification(result, options2 = {}) {
|
|
112725
112795
|
displayKitNotification(result, options2);
|
|
@@ -112758,7 +112828,11 @@ function getInstalledKitTypes(metadata) {
|
|
|
112758
112828
|
return Object.keys(metadata.kits);
|
|
112759
112829
|
}
|
|
112760
112830
|
function inferLegacyKitType(metadata) {
|
|
112761
|
-
|
|
112831
|
+
const name = metadata.name ?? "";
|
|
112832
|
+
if (/\bfqc[\s_-]?qa\b/i.test(name)) {
|
|
112833
|
+
return "fqc-qa";
|
|
112834
|
+
}
|
|
112835
|
+
if (/\bmarketing\b/i.test(name)) {
|
|
112762
112836
|
return "marketing";
|
|
112763
112837
|
}
|
|
112764
112838
|
return "engineer";
|
|
@@ -112911,18 +112985,18 @@ class Logger2 {
|
|
|
112911
112985
|
isVerbose() {
|
|
112912
112986
|
return this.verboseEnabled;
|
|
112913
112987
|
}
|
|
112914
|
-
setLogFile(
|
|
112988
|
+
setLogFile(path10) {
|
|
112915
112989
|
if (this.logFileStream) {
|
|
112916
112990
|
this.logFileStream.end();
|
|
112917
112991
|
this.logFileStream = undefined;
|
|
112918
112992
|
}
|
|
112919
|
-
if (
|
|
112920
|
-
this.logFileStream = createWriteStream5(
|
|
112993
|
+
if (path10) {
|
|
112994
|
+
this.logFileStream = createWriteStream5(path10, {
|
|
112921
112995
|
flags: "a",
|
|
112922
112996
|
mode: 384
|
|
112923
112997
|
});
|
|
112924
112998
|
this.registerExitHandler();
|
|
112925
|
-
this.verbose(`Logging to file: ${
|
|
112999
|
+
this.verbose(`Logging to file: ${path10}`);
|
|
112926
113000
|
}
|
|
112927
113001
|
}
|
|
112928
113002
|
close() {
|