claudekit-cli 3.35.0-dev.24 → 3.35.0-dev.25
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/dist/index.js +121 -51
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -52839,6 +52839,27 @@ var init_skill_routes = __esm(() => {
|
|
|
52839
52839
|
});
|
|
52840
52840
|
|
|
52841
52841
|
// src/domains/github/npm-registry.ts
|
|
52842
|
+
function redactRegistryUrlForLog(url) {
|
|
52843
|
+
if (!url)
|
|
52844
|
+
return url;
|
|
52845
|
+
try {
|
|
52846
|
+
const parsed = new URL(url);
|
|
52847
|
+
if (parsed.username) {
|
|
52848
|
+
parsed.username = REDACTED_VALUE;
|
|
52849
|
+
}
|
|
52850
|
+
if (parsed.password) {
|
|
52851
|
+
parsed.password = REDACTED_VALUE;
|
|
52852
|
+
}
|
|
52853
|
+
for (const key of parsed.searchParams.keys()) {
|
|
52854
|
+
if (/(token|auth|password|secret|key)/i.test(key)) {
|
|
52855
|
+
parsed.searchParams.set(key, REDACTED_VALUE);
|
|
52856
|
+
}
|
|
52857
|
+
}
|
|
52858
|
+
return parsed.toString();
|
|
52859
|
+
} catch {
|
|
52860
|
+
return url.replace(/\/\/([^/@\s]+)@/, `//${REDACTED_VALUE}@`);
|
|
52861
|
+
}
|
|
52862
|
+
}
|
|
52842
52863
|
async function fetchWithTimeout(url, options2 = {}, timeout2 = REQUEST_TIMEOUT) {
|
|
52843
52864
|
const controller = new AbortController;
|
|
52844
52865
|
const timeoutId = setTimeout(() => controller.abort(), timeout2);
|
|
@@ -52860,7 +52881,7 @@ class NpmRegistryClient {
|
|
|
52860
52881
|
}
|
|
52861
52882
|
const registry = registryUrl || DEFAULT_REGISTRY_URL;
|
|
52862
52883
|
const url = `${registry}/${encodeURIComponent(packageName)}`;
|
|
52863
|
-
logger.debug(`Fetching package info from: ${url}`);
|
|
52884
|
+
logger.debug(`Fetching package info from: ${redactRegistryUrlForLog(url)}`);
|
|
52864
52885
|
try {
|
|
52865
52886
|
const response = await fetchWithTimeout(url, {
|
|
52866
52887
|
headers: {
|
|
@@ -52923,18 +52944,12 @@ class NpmRegistryClient {
|
|
|
52923
52944
|
}
|
|
52924
52945
|
}
|
|
52925
52946
|
static async versionExists(packageName, version, registryUrl) {
|
|
52926
|
-
|
|
52927
|
-
|
|
52928
|
-
if (!info)
|
|
52929
|
-
return false;
|
|
52930
|
-
const exists = version in (info.versions || {});
|
|
52931
|
-
logger.debug(`Version ${version} exists for ${packageName}: ${exists}`);
|
|
52932
|
-
return exists;
|
|
52933
|
-
} catch (error) {
|
|
52934
|
-
const message = error instanceof Error ? error.message : "Unknown error";
|
|
52935
|
-
logger.debug(`Failed to check version ${version} for ${packageName}: ${message}`);
|
|
52947
|
+
const info = await NpmRegistryClient.getPackageInfo(packageName, registryUrl);
|
|
52948
|
+
if (!info)
|
|
52936
52949
|
return false;
|
|
52937
|
-
}
|
|
52950
|
+
const exists = version in (info.versions || {});
|
|
52951
|
+
logger.debug(`Version ${version} exists for ${packageName}: ${exists}`);
|
|
52952
|
+
return exists;
|
|
52938
52953
|
}
|
|
52939
52954
|
static async getVersionInfo(packageName, version, registryUrl) {
|
|
52940
52955
|
try {
|
|
@@ -52972,7 +52987,7 @@ class NpmRegistryClient {
|
|
|
52972
52987
|
}
|
|
52973
52988
|
}
|
|
52974
52989
|
}
|
|
52975
|
-
var DEFAULT_REGISTRY_URL = "https://registry.npmjs.org", REQUEST_TIMEOUT = 5000;
|
|
52990
|
+
var DEFAULT_REGISTRY_URL = "https://registry.npmjs.org", REQUEST_TIMEOUT = 5000, REDACTED_VALUE = "***";
|
|
52976
52991
|
var init_npm_registry = __esm(() => {
|
|
52977
52992
|
init_logger();
|
|
52978
52993
|
});
|
|
@@ -53009,9 +53024,9 @@ function getNpmQuery() {
|
|
|
53009
53024
|
checkFn: (stdout) => {
|
|
53010
53025
|
try {
|
|
53011
53026
|
const data = JSON.parse(stdout);
|
|
53012
|
-
return !!
|
|
53027
|
+
return !!data.dependencies?.["claudekit-cli"];
|
|
53013
53028
|
} catch {
|
|
53014
|
-
return stdout.
|
|
53029
|
+
return /"claudekit-cli"\s*:/.test(stdout) || /(?:^|[^a-z0-9-])claudekit-cli@/m.test(stdout);
|
|
53015
53030
|
}
|
|
53016
53031
|
}
|
|
53017
53032
|
};
|
|
@@ -53029,7 +53044,36 @@ async function getNpmVersion() {
|
|
|
53029
53044
|
return null;
|
|
53030
53045
|
}
|
|
53031
53046
|
}
|
|
53032
|
-
function
|
|
53047
|
+
function normalizeNpmRegistryUrl(rawValue) {
|
|
53048
|
+
const value = rawValue.trim();
|
|
53049
|
+
if (!value) {
|
|
53050
|
+
return null;
|
|
53051
|
+
}
|
|
53052
|
+
if (!/^https?:\/\//i.test(value)) {
|
|
53053
|
+
return null;
|
|
53054
|
+
}
|
|
53055
|
+
try {
|
|
53056
|
+
const parsed = new URL(value);
|
|
53057
|
+
const protocol = parsed.protocol.toLowerCase();
|
|
53058
|
+
if (protocol !== "http:" && protocol !== "https:") {
|
|
53059
|
+
return null;
|
|
53060
|
+
}
|
|
53061
|
+
const normalizedPath = parsed.pathname.replace(/\/+$/, "");
|
|
53062
|
+
return `${parsed.protocol}//${parsed.host}${normalizedPath}${parsed.search}${parsed.hash}`;
|
|
53063
|
+
} catch {
|
|
53064
|
+
return null;
|
|
53065
|
+
}
|
|
53066
|
+
}
|
|
53067
|
+
async function getNpmRegistryUrl() {
|
|
53068
|
+
try {
|
|
53069
|
+
const cmd = isWindows() ? "npm.cmd config get registry" : "npm config get registry";
|
|
53070
|
+
const { stdout } = await execAsync(cmd, { timeout: 3000 });
|
|
53071
|
+
return normalizeNpmRegistryUrl(stdout);
|
|
53072
|
+
} catch {
|
|
53073
|
+
return null;
|
|
53074
|
+
}
|
|
53075
|
+
}
|
|
53076
|
+
function getNpmUpdateCommand(packageName, version, registryUrl) {
|
|
53033
53077
|
if (!isValidPackageName(packageName)) {
|
|
53034
53078
|
throw new Error(`Invalid package name: ${packageName}`);
|
|
53035
53079
|
}
|
|
@@ -53037,7 +53081,8 @@ function getNpmUpdateCommand(packageName, version) {
|
|
|
53037
53081
|
throw new Error(`Invalid version: ${version}`);
|
|
53038
53082
|
}
|
|
53039
53083
|
const versionSuffix = version ? `@${version}` : "@latest";
|
|
53040
|
-
|
|
53084
|
+
const registryFlag = registryUrl ? ` --registry ${registryUrl}` : "";
|
|
53085
|
+
return isWindows() ? `npm.cmd install -g ${packageName}${versionSuffix}${registryFlag}` : `npm install -g ${packageName}${versionSuffix}${registryFlag}`;
|
|
53041
53086
|
}
|
|
53042
53087
|
var init_npm_detector = __esm(() => {
|
|
53043
53088
|
init_claudekit_constants();
|
|
@@ -53051,7 +53096,7 @@ function getBunQuery() {
|
|
|
53051
53096
|
return {
|
|
53052
53097
|
pm: "bun",
|
|
53053
53098
|
cmd: "bun pm ls -g",
|
|
53054
|
-
checkFn: (stdout) =>
|
|
53099
|
+
checkFn: (stdout) => /(?:^|[^a-z0-9-])claudekit-cli@/m.test(stdout)
|
|
53055
53100
|
};
|
|
53056
53101
|
}
|
|
53057
53102
|
function getBunVersionCommand() {
|
|
@@ -53067,7 +53112,7 @@ async function getBunVersion() {
|
|
|
53067
53112
|
return null;
|
|
53068
53113
|
}
|
|
53069
53114
|
}
|
|
53070
|
-
function getBunUpdateCommand(packageName, version) {
|
|
53115
|
+
function getBunUpdateCommand(packageName, version, registryUrl) {
|
|
53071
53116
|
if (!isValidPackageName(packageName)) {
|
|
53072
53117
|
throw new Error(`Invalid package name: ${packageName}`);
|
|
53073
53118
|
}
|
|
@@ -53075,10 +53120,10 @@ function getBunUpdateCommand(packageName, version) {
|
|
|
53075
53120
|
throw new Error(`Invalid version: ${version}`);
|
|
53076
53121
|
}
|
|
53077
53122
|
const versionSuffix = version ? `@${version}` : "@latest";
|
|
53078
|
-
|
|
53123
|
+
const registryFlag = registryUrl ? ` --registry ${registryUrl}` : "";
|
|
53124
|
+
return `bun add -g ${packageName}${versionSuffix}${registryFlag}`;
|
|
53079
53125
|
}
|
|
53080
53126
|
var init_bun_detector = __esm(() => {
|
|
53081
|
-
init_claudekit_constants();
|
|
53082
53127
|
init_constants();
|
|
53083
53128
|
init_detector_base();
|
|
53084
53129
|
});
|
|
@@ -53087,8 +53132,8 @@ var init_bun_detector = __esm(() => {
|
|
|
53087
53132
|
function getYarnQuery() {
|
|
53088
53133
|
return {
|
|
53089
53134
|
pm: "yarn",
|
|
53090
|
-
cmd: isWindows() ?
|
|
53091
|
-
checkFn: (stdout) =>
|
|
53135
|
+
cmd: isWindows() ? "yarn.cmd global list --pattern claudekit-cli" : "yarn global list --pattern claudekit-cli",
|
|
53136
|
+
checkFn: (stdout) => /(?:^|[^a-z0-9-])claudekit-cli@/m.test(stdout)
|
|
53092
53137
|
};
|
|
53093
53138
|
}
|
|
53094
53139
|
function getYarnVersionCommand() {
|
|
@@ -53104,7 +53149,7 @@ async function getYarnVersion() {
|
|
|
53104
53149
|
return null;
|
|
53105
53150
|
}
|
|
53106
53151
|
}
|
|
53107
|
-
function getYarnUpdateCommand(packageName, version) {
|
|
53152
|
+
function getYarnUpdateCommand(packageName, version, registryUrl) {
|
|
53108
53153
|
if (!isValidPackageName(packageName)) {
|
|
53109
53154
|
throw new Error(`Invalid package name: ${packageName}`);
|
|
53110
53155
|
}
|
|
@@ -53112,10 +53157,10 @@ function getYarnUpdateCommand(packageName, version) {
|
|
|
53112
53157
|
throw new Error(`Invalid version: ${version}`);
|
|
53113
53158
|
}
|
|
53114
53159
|
const versionSuffix = version ? `@${version}` : "@latest";
|
|
53115
|
-
|
|
53160
|
+
const registryFlag = registryUrl ? ` --registry ${registryUrl}` : "";
|
|
53161
|
+
return isWindows() ? `yarn.cmd global add ${packageName}${versionSuffix}${registryFlag}` : `yarn global add ${packageName}${versionSuffix}${registryFlag}`;
|
|
53116
53162
|
}
|
|
53117
53163
|
var init_yarn_detector = __esm(() => {
|
|
53118
|
-
init_claudekit_constants();
|
|
53119
53164
|
init_environment();
|
|
53120
53165
|
init_constants();
|
|
53121
53166
|
init_detector_base();
|
|
@@ -53125,8 +53170,8 @@ var init_yarn_detector = __esm(() => {
|
|
|
53125
53170
|
function getPnpmQuery() {
|
|
53126
53171
|
return {
|
|
53127
53172
|
pm: "pnpm",
|
|
53128
|
-
cmd: isWindows() ?
|
|
53129
|
-
checkFn: (stdout) =>
|
|
53173
|
+
cmd: isWindows() ? "pnpm.cmd ls -g claudekit-cli" : "pnpm ls -g claudekit-cli",
|
|
53174
|
+
checkFn: (stdout) => /(?:^|[^a-z0-9-])claudekit-cli(?:@|\s+\d)/m.test(stdout)
|
|
53130
53175
|
};
|
|
53131
53176
|
}
|
|
53132
53177
|
function getPnpmVersionCommand() {
|
|
@@ -53142,7 +53187,7 @@ async function getPnpmVersion() {
|
|
|
53142
53187
|
return null;
|
|
53143
53188
|
}
|
|
53144
53189
|
}
|
|
53145
|
-
function getPnpmUpdateCommand(packageName, version) {
|
|
53190
|
+
function getPnpmUpdateCommand(packageName, version, registryUrl) {
|
|
53146
53191
|
if (!isValidPackageName(packageName)) {
|
|
53147
53192
|
throw new Error(`Invalid package name: ${packageName}`);
|
|
53148
53193
|
}
|
|
@@ -53150,10 +53195,10 @@ function getPnpmUpdateCommand(packageName, version) {
|
|
|
53150
53195
|
throw new Error(`Invalid version: ${version}`);
|
|
53151
53196
|
}
|
|
53152
53197
|
const versionSuffix = version ? `@${version}` : "@latest";
|
|
53153
|
-
|
|
53198
|
+
const registryFlag = registryUrl ? ` --registry ${registryUrl}` : "";
|
|
53199
|
+
return isWindows() ? `pnpm.cmd add -g ${packageName}${versionSuffix}${registryFlag}` : `pnpm add -g ${packageName}${versionSuffix}${registryFlag}`;
|
|
53154
53200
|
}
|
|
53155
53201
|
var init_pnpm_detector = __esm(() => {
|
|
53156
|
-
init_claudekit_constants();
|
|
53157
53202
|
init_environment();
|
|
53158
53203
|
init_constants();
|
|
53159
53204
|
init_detector_base();
|
|
@@ -53426,24 +53471,25 @@ var init_package_manager_detector = __esm(() => {
|
|
|
53426
53471
|
return "echo unknown";
|
|
53427
53472
|
}
|
|
53428
53473
|
}
|
|
53429
|
-
static
|
|
53474
|
+
static getNpmRegistryUrl = getNpmRegistryUrl;
|
|
53475
|
+
static getUpdateCommand(pm, packageName, version, registryUrl) {
|
|
53430
53476
|
if (!isValidPackageName(packageName))
|
|
53431
53477
|
throw new Error(`Invalid package name: ${packageName}`);
|
|
53432
53478
|
if (version && !isValidVersion(version))
|
|
53433
53479
|
throw new Error(`Invalid version: ${version}`);
|
|
53434
53480
|
switch (pm) {
|
|
53435
53481
|
case "bun":
|
|
53436
|
-
return getBunUpdateCommand(packageName, version);
|
|
53482
|
+
return getBunUpdateCommand(packageName, version, registryUrl);
|
|
53437
53483
|
case "yarn":
|
|
53438
|
-
return getYarnUpdateCommand(packageName, version);
|
|
53484
|
+
return getYarnUpdateCommand(packageName, version, registryUrl);
|
|
53439
53485
|
case "pnpm":
|
|
53440
|
-
return getPnpmUpdateCommand(packageName, version);
|
|
53486
|
+
return getPnpmUpdateCommand(packageName, version, registryUrl);
|
|
53441
53487
|
default:
|
|
53442
|
-
return getNpmUpdateCommand(packageName, version);
|
|
53488
|
+
return getNpmUpdateCommand(packageName, version, registryUrl);
|
|
53443
53489
|
}
|
|
53444
53490
|
}
|
|
53445
|
-
static getInstallCommand(pm, packageName, version) {
|
|
53446
|
-
return PackageManagerDetector.getUpdateCommand(pm, packageName, version);
|
|
53491
|
+
static getInstallCommand(pm, packageName, version, registryUrl) {
|
|
53492
|
+
return PackageManagerDetector.getUpdateCommand(pm, packageName, version, registryUrl);
|
|
53447
53493
|
}
|
|
53448
53494
|
static getDisplayName(pm) {
|
|
53449
53495
|
switch (pm) {
|
|
@@ -53872,7 +53918,7 @@ var package_default;
|
|
|
53872
53918
|
var init_package = __esm(() => {
|
|
53873
53919
|
package_default = {
|
|
53874
53920
|
name: "claudekit-cli",
|
|
53875
|
-
version: "3.35.0-dev.
|
|
53921
|
+
version: "3.35.0-dev.25",
|
|
53876
53922
|
description: "CLI tool for bootstrapping and updating ClaudeKit projects",
|
|
53877
53923
|
type: "module",
|
|
53878
53924
|
repository: {
|
|
@@ -53983,6 +54029,12 @@ var init_package = __esm(() => {
|
|
|
53983
54029
|
import { exec as exec2 } from "node:child_process";
|
|
53984
54030
|
import { join as join37 } from "node:path";
|
|
53985
54031
|
import { promisify as promisify8 } from "node:util";
|
|
54032
|
+
function redactCommandForLog(command) {
|
|
54033
|
+
if (!command)
|
|
54034
|
+
return command;
|
|
54035
|
+
const redactedRegistryFlags = command.replace(/(--registry(?:=|\s+))(['"]?)(\S+?)(\2)(?=\s|$)/g, (_match, prefix, quote, url) => `${prefix}${quote}${redactRegistryUrlForLog(url)}${quote}`);
|
|
54036
|
+
return redactedRegistryFlags.replace(/https?:\/\/[^\s"']+/g, (url) => redactRegistryUrlForLog(url));
|
|
54037
|
+
}
|
|
53986
54038
|
function buildInitCommand(isGlobal, kit, beta) {
|
|
53987
54039
|
const parts = ["ck init"];
|
|
53988
54040
|
if (isGlobal)
|
|
@@ -54112,31 +54164,50 @@ async function updateCliCommand(options2) {
|
|
|
54112
54164
|
const pmVersion = await PackageManagerDetector.getVersion(pm);
|
|
54113
54165
|
s.stop(`Using ${PackageManagerDetector.getDisplayName(pm)}${pmVersion ? ` v${pmVersion}` : ""}`);
|
|
54114
54166
|
logger.verbose(`Detected package manager: ${pm}`);
|
|
54167
|
+
let registryUrl = opts.registry;
|
|
54168
|
+
if (!registryUrl && pm === "npm") {
|
|
54169
|
+
const userRegistry = await PackageManagerDetector.getNpmRegistryUrl();
|
|
54170
|
+
if (userRegistry) {
|
|
54171
|
+
registryUrl = userRegistry;
|
|
54172
|
+
logger.verbose(`Using npm configured registry: ${redactRegistryUrlForLog(registryUrl)}`);
|
|
54173
|
+
}
|
|
54174
|
+
}
|
|
54115
54175
|
s.start("Checking for updates...");
|
|
54116
54176
|
let targetVersion = null;
|
|
54117
54177
|
if (opts.release && opts.release !== "latest") {
|
|
54118
|
-
|
|
54119
|
-
|
|
54120
|
-
|
|
54121
|
-
|
|
54178
|
+
try {
|
|
54179
|
+
const exists = await NpmRegistryClient.versionExists(CLAUDEKIT_CLI_NPM_PACKAGE_NAME, opts.release, registryUrl);
|
|
54180
|
+
if (!exists) {
|
|
54181
|
+
s.stop("Version not found");
|
|
54182
|
+
throw new CliUpdateError(`Version ${opts.release} does not exist on npm registry. Run 'ck versions' to see available versions.`);
|
|
54183
|
+
}
|
|
54184
|
+
} catch (error) {
|
|
54185
|
+
if (error instanceof CliUpdateError) {
|
|
54186
|
+
throw error;
|
|
54187
|
+
}
|
|
54188
|
+
s.stop("Version check failed");
|
|
54189
|
+
const message = error instanceof Error ? error.message : "Unknown error";
|
|
54190
|
+
logger.verbose(`Release check failed for ${opts.release}: ${message}`);
|
|
54191
|
+
const registryHint = registryUrl ? ` (${redactRegistryUrlForLog(registryUrl)})` : " (default registry)";
|
|
54192
|
+
throw new CliUpdateError(`Failed to verify version ${opts.release} on npm registry${registryHint}. Check registry settings/network connectivity and try again.`);
|
|
54122
54193
|
}
|
|
54123
54194
|
targetVersion = opts.release;
|
|
54124
54195
|
s.stop(`Target version: ${targetVersion}`);
|
|
54125
54196
|
} else if (opts.dev || opts.beta) {
|
|
54126
|
-
targetVersion = await NpmRegistryClient.getDevVersion(CLAUDEKIT_CLI_NPM_PACKAGE_NAME,
|
|
54197
|
+
targetVersion = await NpmRegistryClient.getDevVersion(CLAUDEKIT_CLI_NPM_PACKAGE_NAME, registryUrl);
|
|
54127
54198
|
if (!targetVersion) {
|
|
54128
54199
|
s.stop("No dev version available");
|
|
54129
54200
|
logger.warning("No dev version found. Using latest stable version instead.");
|
|
54130
|
-
targetVersion = await NpmRegistryClient.getLatestVersion(CLAUDEKIT_CLI_NPM_PACKAGE_NAME,
|
|
54201
|
+
targetVersion = await NpmRegistryClient.getLatestVersion(CLAUDEKIT_CLI_NPM_PACKAGE_NAME, registryUrl);
|
|
54131
54202
|
} else {
|
|
54132
54203
|
s.stop(`Latest dev version: ${targetVersion}`);
|
|
54133
54204
|
}
|
|
54134
54205
|
} else {
|
|
54135
|
-
targetVersion = await NpmRegistryClient.getLatestVersion(CLAUDEKIT_CLI_NPM_PACKAGE_NAME,
|
|
54206
|
+
targetVersion = await NpmRegistryClient.getLatestVersion(CLAUDEKIT_CLI_NPM_PACKAGE_NAME, registryUrl);
|
|
54136
54207
|
s.stop(`Latest version: ${targetVersion || "unknown"}`);
|
|
54137
54208
|
}
|
|
54138
54209
|
if (!targetVersion) {
|
|
54139
|
-
throw new CliUpdateError(`Failed to fetch version information from npm registry. Check your internet connection and try again. Manual update: ${PackageManagerDetector.getUpdateCommand(pm, CLAUDEKIT_CLI_NPM_PACKAGE_NAME)}`);
|
|
54210
|
+
throw new CliUpdateError(`Failed to fetch version information from npm registry. Check your internet connection and try again. Manual update: ${PackageManagerDetector.getUpdateCommand(pm, CLAUDEKIT_CLI_NPM_PACKAGE_NAME, undefined, registryUrl)}`);
|
|
54140
54211
|
}
|
|
54141
54212
|
const comparison = import_compare_versions.compareVersions(currentVersion, targetVersion);
|
|
54142
54213
|
if (comparison === 0) {
|
|
@@ -54169,8 +54240,8 @@ Run 'ck update' to install`, "Update Check");
|
|
|
54169
54240
|
return;
|
|
54170
54241
|
}
|
|
54171
54242
|
}
|
|
54172
|
-
const updateCmd = PackageManagerDetector.getUpdateCommand(pm, CLAUDEKIT_CLI_NPM_PACKAGE_NAME, targetVersion);
|
|
54173
|
-
logger.info(`Running: ${updateCmd}`);
|
|
54243
|
+
const updateCmd = PackageManagerDetector.getUpdateCommand(pm, CLAUDEKIT_CLI_NPM_PACKAGE_NAME, targetVersion, registryUrl);
|
|
54244
|
+
logger.info(`Running: ${redactCommandForLog(updateCmd)}`);
|
|
54174
54245
|
s.start("Updating CLI...");
|
|
54175
54246
|
try {
|
|
54176
54247
|
await execAsync2(updateCmd, {
|
|
@@ -54197,7 +54268,7 @@ Or fix npm permissions: https://docs.npmjs.com/resolving-eacces-permissions-erro
|
|
|
54197
54268
|
throw new CliUpdateError(`Permission denied. Try: ${elevationHint}${permHint}`);
|
|
54198
54269
|
}
|
|
54199
54270
|
logger.error(`Update failed: ${errorMessage}`);
|
|
54200
|
-
logger.info(`Try running: ${updateCmd}`);
|
|
54271
|
+
logger.info(`Try running: ${redactCommandForLog(updateCmd)}`);
|
|
54201
54272
|
throw new CliUpdateError(`Update failed: ${errorMessage}
|
|
54202
54273
|
|
|
54203
54274
|
Manual update: ${updateCmd}`);
|
|
@@ -54217,7 +54288,6 @@ Manual update: ${updateCmd}`);
|
|
|
54217
54288
|
}
|
|
54218
54289
|
} catch (error) {
|
|
54219
54290
|
if (error instanceof CliUpdateError) {
|
|
54220
|
-
logger.error(error.message);
|
|
54221
54291
|
throw error;
|
|
54222
54292
|
}
|
|
54223
54293
|
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|