@rayu-dev/rayu-cli 1.2.12 → 1.2.13
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/rayu.js +151 -76
- package/package.json +1 -1
- package/scripts/postinstall.cjs +16 -6
package/dist/rayu.js
CHANGED
|
@@ -147460,7 +147460,7 @@ var init_auth = __esm(() => {
|
|
|
147460
147460
|
|
|
147461
147461
|
// src/utils/userAgent.ts
|
|
147462
147462
|
function getRayuUserAgent() {
|
|
147463
|
-
return `rayu/${"1.
|
|
147463
|
+
return `rayu/${"1.2.12"}`;
|
|
147464
147464
|
}
|
|
147465
147465
|
var getClaudeCodeUserAgent;
|
|
147466
147466
|
var init_userAgent = __esm(() => {
|
|
@@ -147486,7 +147486,7 @@ function getUserAgent() {
|
|
|
147486
147486
|
const clientApp = process.env.RAYU_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.RAYU_AGENT_SDK_CLIENT_APP}` : "";
|
|
147487
147487
|
const workload = getWorkload();
|
|
147488
147488
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
147489
|
-
return `rayu/${"1.
|
|
147489
|
+
return `rayu/${"1.2.12"} (${"external"}, ${process.env.RAYU_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
147490
147490
|
}
|
|
147491
147491
|
function getMCPUserAgent() {
|
|
147492
147492
|
const parts = [];
|
|
@@ -147500,7 +147500,7 @@ function getMCPUserAgent() {
|
|
|
147500
147500
|
parts.push(`client-app/${process.env.RAYU_AGENT_SDK_CLIENT_APP}`);
|
|
147501
147501
|
}
|
|
147502
147502
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
147503
|
-
return `rayu/${"1.
|
|
147503
|
+
return `rayu/${"1.2.12"}${suffix}`;
|
|
147504
147504
|
}
|
|
147505
147505
|
function getWebFetchUserAgent() {
|
|
147506
147506
|
return `Rayu-User (${getRayuUserAgent()})`;
|
|
@@ -147639,7 +147639,7 @@ var init_user = __esm(() => {
|
|
|
147639
147639
|
deviceId,
|
|
147640
147640
|
sessionId: getSessionId(),
|
|
147641
147641
|
email: getEmail(),
|
|
147642
|
-
appVersion: "1.
|
|
147642
|
+
appVersion: "1.2.12",
|
|
147643
147643
|
platform: getHostPlatformForAnalytics(),
|
|
147644
147644
|
organizationUuid,
|
|
147645
147645
|
accountUuid,
|
|
@@ -180449,7 +180449,7 @@ var init_metadata = __esm(() => {
|
|
|
180449
180449
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
180450
180450
|
WHITESPACE_REGEX = /\s+/;
|
|
180451
180451
|
getVersionBase = memoize_default(() => {
|
|
180452
|
-
const match = "1.
|
|
180452
|
+
const match = "1.2.12".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
180453
180453
|
return match ? match[0] : undefined;
|
|
180454
180454
|
});
|
|
180455
180455
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -180488,7 +180488,7 @@ var init_metadata = __esm(() => {
|
|
|
180488
180488
|
},
|
|
180489
180489
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
180490
180490
|
isRayuAction: isEnvTruthy(process.env.RAYU_ACTION),
|
|
180491
|
-
version: "1.
|
|
180491
|
+
version: "1.2.12",
|
|
180492
180492
|
versionBase: getVersionBase(),
|
|
180493
180493
|
buildTime: "",
|
|
180494
180494
|
deploymentEnvironment: env4.detectDeploymentEnvironment(),
|
|
@@ -181102,7 +181102,7 @@ function initialize1PEventLogging() {
|
|
|
181102
181102
|
const platform2 = getPlatform();
|
|
181103
181103
|
const attributes = {
|
|
181104
181104
|
[import_semantic_conventions.ATTR_SERVICE_NAME]: "rayu",
|
|
181105
|
-
[import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.
|
|
181105
|
+
[import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.2.12"
|
|
181106
181106
|
};
|
|
181107
181107
|
if (platform2 === "wsl") {
|
|
181108
181108
|
const wslVersion = getWslVersion();
|
|
@@ -181129,7 +181129,7 @@ function initialize1PEventLogging() {
|
|
|
181129
181129
|
})
|
|
181130
181130
|
]
|
|
181131
181131
|
});
|
|
181132
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("io.rayu.events", "1.
|
|
181132
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("io.rayu.events", "1.2.12");
|
|
181133
181133
|
}
|
|
181134
181134
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
181135
181135
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -217042,7 +217042,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
217042
217042
|
if (!isAttributionHeaderEnabled()) {
|
|
217043
217043
|
return "";
|
|
217044
217044
|
}
|
|
217045
|
-
const version2 = `${"1.
|
|
217045
|
+
const version2 = `${"1.2.12"}.${fingerprint}`;
|
|
217046
217046
|
const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
|
|
217047
217047
|
const cch = "";
|
|
217048
217048
|
const workload = getWorkload();
|
|
@@ -301136,7 +301136,7 @@ function getTelemetryAttributes() {
|
|
|
301136
301136
|
attributes["session.id"] = sessionId;
|
|
301137
301137
|
}
|
|
301138
301138
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
301139
|
-
attributes["app.version"] = "1.
|
|
301139
|
+
attributes["app.version"] = "1.2.12";
|
|
301140
301140
|
}
|
|
301141
301141
|
const oauthAccount = getOauthAccountInfo();
|
|
301142
301142
|
if (oauthAccount) {
|
|
@@ -411573,7 +411573,7 @@ function getInstallationEnv() {
|
|
|
411573
411573
|
return;
|
|
411574
411574
|
}
|
|
411575
411575
|
function getClaudeCodeVersion() {
|
|
411576
|
-
return "1.
|
|
411576
|
+
return "1.2.12";
|
|
411577
411577
|
}
|
|
411578
411578
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
411579
411579
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -416811,7 +416811,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
416811
416811
|
const client3 = new Client({
|
|
416812
416812
|
name: "claude-code",
|
|
416813
416813
|
title: "RAYU",
|
|
416814
|
-
version: "1.
|
|
416814
|
+
version: "1.2.12",
|
|
416815
416815
|
description: "Anthropic's agentic coding tool",
|
|
416816
416816
|
websiteUrl: PRODUCT_URL
|
|
416817
416817
|
}, {
|
|
@@ -417128,7 +417128,7 @@ var init_client7 = __esm(() => {
|
|
|
417128
417128
|
const client3 = new Client({
|
|
417129
417129
|
name: "claude-code",
|
|
417130
417130
|
title: "RAYU",
|
|
417131
|
-
version: "1.
|
|
417131
|
+
version: "1.2.12",
|
|
417132
417132
|
description: "Anthropic's agentic coding tool",
|
|
417133
417133
|
websiteUrl: PRODUCT_URL
|
|
417134
417134
|
}, {
|
|
@@ -431914,7 +431914,7 @@ function computeFingerprint(messageText, version2) {
|
|
|
431914
431914
|
}
|
|
431915
431915
|
function computeFingerprintFromMessages(messages) {
|
|
431916
431916
|
const firstMessageText = extractFirstMessageText(messages);
|
|
431917
|
-
return computeFingerprint(firstMessageText, "1.
|
|
431917
|
+
return computeFingerprint(firstMessageText, "1.2.12");
|
|
431918
431918
|
}
|
|
431919
431919
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
431920
431920
|
var init_fingerprint = () => {};
|
|
@@ -431956,7 +431956,7 @@ async function sideQuery(opts) {
|
|
|
431956
431956
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
431957
431957
|
}
|
|
431958
431958
|
const messageText = extractFirstUserMessageText(messages);
|
|
431959
|
-
const fingerprint = computeFingerprint(messageText, "1.
|
|
431959
|
+
const fingerprint = computeFingerprint(messageText, "1.2.12");
|
|
431960
431960
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
431961
431961
|
const systemBlocks = [
|
|
431962
431962
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -526448,7 +526448,7 @@ function Feedback({
|
|
|
526448
526448
|
platform: env4.platform,
|
|
526449
526449
|
gitRepo: envInfo.isGit,
|
|
526450
526450
|
terminal: env4.terminal,
|
|
526451
|
-
version: "1.
|
|
526451
|
+
version: "1.2.12",
|
|
526452
526452
|
transcript: normalizeMessagesForAPI(messages),
|
|
526453
526453
|
errors: sanitizedErrors,
|
|
526454
526454
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -526640,7 +526640,7 @@ function Feedback({
|
|
|
526640
526640
|
", ",
|
|
526641
526641
|
env4.terminal,
|
|
526642
526642
|
", v",
|
|
526643
|
-
"1.
|
|
526643
|
+
"1.2.12"
|
|
526644
526644
|
]
|
|
526645
526645
|
}, undefined, true, undefined, this)
|
|
526646
526646
|
]
|
|
@@ -526746,7 +526746,7 @@ ${sanitizedDescription}
|
|
|
526746
526746
|
` + `**Environment Info**
|
|
526747
526747
|
` + `- Platform: ${env4.platform}
|
|
526748
526748
|
` + `- Terminal: ${env4.terminal}
|
|
526749
|
-
` + `- Version: ${"1.
|
|
526749
|
+
` + `- Version: ${"1.2.12"}
|
|
526750
526750
|
` + `- Feedback ID: ${feedbackId}
|
|
526751
526751
|
` + `
|
|
526752
526752
|
**Errors**
|
|
@@ -529532,9 +529532,9 @@ async function assertMinVersion() {
|
|
|
529532
529532
|
if (false) {}
|
|
529533
529533
|
try {
|
|
529534
529534
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
529535
|
-
if (versionConfig.minVersion && lt("1.
|
|
529535
|
+
if (versionConfig.minVersion && lt("1.2.12", versionConfig.minVersion)) {
|
|
529536
529536
|
console.error(`
|
|
529537
|
-
It looks like your version of RAYU (${"1.
|
|
529537
|
+
It looks like your version of RAYU (${"1.2.12"}) needs an update.
|
|
529538
529538
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
529539
529539
|
|
|
529540
529540
|
To update, please run:
|
|
@@ -529746,7 +529746,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
529746
529746
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
529747
529747
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
529748
529748
|
pid: process.pid,
|
|
529749
|
-
currentVersion: "1.
|
|
529749
|
+
currentVersion: "1.2.12"
|
|
529750
529750
|
});
|
|
529751
529751
|
return "in_progress";
|
|
529752
529752
|
}
|
|
@@ -529755,7 +529755,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
529755
529755
|
if (!env4.isRunningWithBun() && env4.isNpmFromWindowsPath()) {
|
|
529756
529756
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
529757
529757
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
529758
|
-
currentVersion: "1.
|
|
529758
|
+
currentVersion: "1.2.12"
|
|
529759
529759
|
});
|
|
529760
529760
|
console.error(`
|
|
529761
529761
|
Error: Windows NPM detected in WSL
|
|
@@ -530290,7 +530290,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
530290
530290
|
}
|
|
530291
530291
|
async function getDoctorDiagnostic() {
|
|
530292
530292
|
const installationType = await getCurrentInstallationType();
|
|
530293
|
-
const version2 = typeof MACRO !== "undefined" ? "1.
|
|
530293
|
+
const version2 = typeof MACRO !== "undefined" ? "1.2.12" : "unknown";
|
|
530294
530294
|
const installationPath = await getInstallationPath();
|
|
530295
530295
|
const invokedBinary = getInvokedBinary();
|
|
530296
530296
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -531114,8 +531114,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
531114
531114
|
const maxVersion = await getMaxVersion();
|
|
531115
531115
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
531116
531116
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
531117
|
-
if (gte("1.
|
|
531118
|
-
logForDebugging(`Native installer: current version ${"1.
|
|
531117
|
+
if (gte("1.2.12", maxVersion)) {
|
|
531118
|
+
logForDebugging(`Native installer: current version ${"1.2.12"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
531119
531119
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
531120
531120
|
latency_ms: Date.now() - startTime,
|
|
531121
531121
|
max_version: maxVersion,
|
|
@@ -531126,7 +531126,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
531126
531126
|
version2 = maxVersion;
|
|
531127
531127
|
}
|
|
531128
531128
|
}
|
|
531129
|
-
if (!forceReinstall && version2 === "1.
|
|
531129
|
+
if (!forceReinstall && version2 === "1.2.12" && await versionIsAvailable(version2) && await isPossibleClaudeBinary(executablePath)) {
|
|
531130
531130
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
531131
531131
|
logEvent("tengu_native_update_complete", {
|
|
531132
531132
|
latency_ms: Date.now() - startTime,
|
|
@@ -531917,6 +531917,16 @@ var init_installer = __esm(() => {
|
|
|
531917
531917
|
});
|
|
531918
531918
|
|
|
531919
531919
|
// src/utils/nativeInstaller/index.ts
|
|
531920
|
+
var exports_nativeInstaller = {};
|
|
531921
|
+
__export(exports_nativeInstaller, {
|
|
531922
|
+
removeInstalledSymlink: () => removeInstalledSymlink,
|
|
531923
|
+
lockCurrentVersion: () => lockCurrentVersion,
|
|
531924
|
+
installLatest: () => installLatest,
|
|
531925
|
+
cleanupShellAliases: () => cleanupShellAliases,
|
|
531926
|
+
cleanupOldVersions: () => cleanupOldVersions,
|
|
531927
|
+
cleanupNpmInstallations: () => cleanupNpmInstallations,
|
|
531928
|
+
checkInstall: () => checkInstall
|
|
531929
|
+
});
|
|
531920
531930
|
var init_nativeInstaller = __esm(() => {
|
|
531921
531931
|
init_installer();
|
|
531922
531932
|
});
|
|
@@ -532312,7 +532322,7 @@ function buildPrimarySection() {
|
|
|
532312
532322
|
}, undefined, false, undefined, this);
|
|
532313
532323
|
return [{
|
|
532314
532324
|
label: "Version",
|
|
532315
|
-
value: "1.
|
|
532325
|
+
value: "1.2.12"
|
|
532316
532326
|
}, {
|
|
532317
532327
|
label: "Session name",
|
|
532318
532328
|
value: nameValue
|
|
@@ -536003,7 +536013,7 @@ function Config({
|
|
|
536003
536013
|
}
|
|
536004
536014
|
}, undefined, false, undefined, this)
|
|
536005
536015
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime170.jsxDEV(ChannelDowngradeDialog, {
|
|
536006
|
-
currentVersion: "1.
|
|
536016
|
+
currentVersion: "1.2.12",
|
|
536007
536017
|
onChoice: (choice) => {
|
|
536008
536018
|
setShowSubmenu(null);
|
|
536009
536019
|
setTabsHidden(false);
|
|
@@ -536015,7 +536025,7 @@ function Config({
|
|
|
536015
536025
|
autoUpdatesChannel: "stable"
|
|
536016
536026
|
};
|
|
536017
536027
|
if (choice === "stay") {
|
|
536018
|
-
newSettings.minimumVersion = "1.
|
|
536028
|
+
newSettings.minimumVersion = "1.2.12";
|
|
536019
536029
|
}
|
|
536020
536030
|
updateSettingsForSource("userSettings", newSettings);
|
|
536021
536031
|
setSettingsData((prev_27) => ({
|
|
@@ -544075,7 +544085,7 @@ function HelpV2(t0) {
|
|
|
544075
544085
|
let t6;
|
|
544076
544086
|
if ($3[31] !== tabs) {
|
|
544077
544087
|
t6 = /* @__PURE__ */ jsx_dev_runtime197.jsxDEV(Tabs, {
|
|
544078
|
-
title: `Rayu-CLI v${"1.
|
|
544088
|
+
title: `Rayu-CLI v${"1.2.12"}`,
|
|
544079
544089
|
color: "professionalBlue",
|
|
544080
544090
|
defaultTab: "general",
|
|
544081
544091
|
children: tabs
|
|
@@ -562797,7 +562807,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
562797
562807
|
return [];
|
|
562798
562808
|
}
|
|
562799
562809
|
}
|
|
562800
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.
|
|
562810
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.2.12") {
|
|
562801
562811
|
if (false) {}
|
|
562802
562812
|
const cachedChangelog = await getStoredChangelog();
|
|
562803
562813
|
if (lastSeenVersion !== currentVersion || !cachedChangelog) {
|
|
@@ -562810,7 +562820,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.12")
|
|
|
562810
562820
|
releaseNotes
|
|
562811
562821
|
};
|
|
562812
562822
|
}
|
|
562813
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.
|
|
562823
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.2.12") {
|
|
562814
562824
|
if (false) {}
|
|
562815
562825
|
const releaseNotes = getRecentReleaseNotes(currentVersion, lastSeenVersion);
|
|
562816
562826
|
return {
|
|
@@ -564073,7 +564083,7 @@ function getRecentActivitySync() {
|
|
|
564073
564083
|
return cachedActivity;
|
|
564074
564084
|
}
|
|
564075
564085
|
function getLogoDisplayData() {
|
|
564076
|
-
const version2 = process.env.DEMO_VERSION ?? "1.
|
|
564086
|
+
const version2 = process.env.DEMO_VERSION ?? "1.2.12";
|
|
564077
564087
|
const serverUrl = getDirectConnectServerUrl();
|
|
564078
564088
|
const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
|
|
564079
564089
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -565354,7 +565364,7 @@ function LogoV2() {
|
|
|
565354
565364
|
if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
565355
565365
|
t2 = () => {
|
|
565356
565366
|
const currentConfig = getGlobalConfig();
|
|
565357
|
-
if (currentConfig.lastReleaseNotesSeen === "1.
|
|
565367
|
+
if (currentConfig.lastReleaseNotesSeen === "1.2.12") {
|
|
565358
565368
|
return;
|
|
565359
565369
|
}
|
|
565360
565370
|
saveGlobalConfig(_temp327);
|
|
@@ -566030,12 +566040,12 @@ function LogoV2() {
|
|
|
566030
566040
|
return t41;
|
|
566031
566041
|
}
|
|
566032
566042
|
function _temp327(current) {
|
|
566033
|
-
if (current.lastReleaseNotesSeen === "1.
|
|
566043
|
+
if (current.lastReleaseNotesSeen === "1.2.12") {
|
|
566034
566044
|
return current;
|
|
566035
566045
|
}
|
|
566036
566046
|
return {
|
|
566037
566047
|
...current,
|
|
566038
|
-
lastReleaseNotesSeen: "1.
|
|
566048
|
+
lastReleaseNotesSeen: "1.2.12"
|
|
566039
566049
|
};
|
|
566040
566050
|
}
|
|
566041
566051
|
function _temp241(s_0) {
|
|
@@ -590700,7 +590710,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
590700
590710
|
smapsRollup,
|
|
590701
590711
|
platform: process.platform,
|
|
590702
590712
|
nodeVersion: process.version,
|
|
590703
|
-
ccVersion: "1.
|
|
590713
|
+
ccVersion: "1.2.12"
|
|
590704
590714
|
};
|
|
590705
590715
|
}
|
|
590706
590716
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -591228,7 +591238,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
591228
591238
|
var call48 = async () => {
|
|
591229
591239
|
return {
|
|
591230
591240
|
type: "text",
|
|
591231
|
-
value: "1.
|
|
591241
|
+
value: "1.2.12"
|
|
591232
591242
|
};
|
|
591233
591243
|
}, version2, version_default;
|
|
591234
591244
|
var init_version = __esm(() => {
|
|
@@ -599522,7 +599532,7 @@ function generateHtmlReport(data, insights) {
|
|
|
599522
599532
|
</html>`;
|
|
599523
599533
|
}
|
|
599524
599534
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
599525
|
-
const version3 = typeof MACRO !== "undefined" ? "1.
|
|
599535
|
+
const version3 = typeof MACRO !== "undefined" ? "1.2.12" : "unknown";
|
|
599526
599536
|
const remote_hosts_collected = remoteStats?.hosts.filter((h3) => h3.sessionCount > 0).map((h3) => h3.name);
|
|
599527
599537
|
const facets_summary = {
|
|
599528
599538
|
total: facets.size,
|
|
@@ -603450,7 +603460,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
603450
603460
|
init_settings2();
|
|
603451
603461
|
init_slowOperations();
|
|
603452
603462
|
init_uuid();
|
|
603453
|
-
VERSION6 = typeof MACRO !== "undefined" ? "1.
|
|
603463
|
+
VERSION6 = typeof MACRO !== "undefined" ? "1.2.12" : "unknown";
|
|
603454
603464
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
603455
603465
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
603456
603466
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -604669,7 +604679,7 @@ var init_filesystem = __esm(() => {
|
|
|
604669
604679
|
});
|
|
604670
604680
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
604671
604681
|
const nonce = randomBytes18(16).toString("hex");
|
|
604672
|
-
return join146(getClaudeTempDir(), "bundled-skills", "1.
|
|
604682
|
+
return join146(getClaudeTempDir(), "bundled-skills", "1.2.12", nonce);
|
|
604673
604683
|
});
|
|
604674
604684
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
604675
604685
|
});
|
|
@@ -609784,8 +609794,16 @@ __export(exports_update, {
|
|
|
609784
609794
|
import { execFileSync as execFileSync3 } from "node:child_process";
|
|
609785
609795
|
import { homedir as homedir32 } from "os";
|
|
609786
609796
|
async function update() {
|
|
609787
|
-
writeToStdout(`Current version: ${"1.
|
|
609797
|
+
writeToStdout(`Current version: ${"1.2.12"}
|
|
609788
609798
|
`);
|
|
609799
|
+
const isBundled = isInBundledMode();
|
|
609800
|
+
if (isBundled) {
|
|
609801
|
+
await updateNativeBinary();
|
|
609802
|
+
} else {
|
|
609803
|
+
await updateNpmPackage();
|
|
609804
|
+
}
|
|
609805
|
+
}
|
|
609806
|
+
async function updateNpmPackage() {
|
|
609789
609807
|
writeToStdout(`Checking for updates...
|
|
609790
609808
|
`);
|
|
609791
609809
|
let latestVersion;
|
|
@@ -609802,13 +609820,13 @@ Manual check: npm view ${"@rayu-dev/rayu-cli"} version
|
|
|
609802
609820
|
process.exit(1);
|
|
609803
609821
|
return;
|
|
609804
609822
|
}
|
|
609805
|
-
if (latestVersion === "1.
|
|
609823
|
+
if (latestVersion === "1.2.12") {
|
|
609806
609824
|
writeToStdout(source_default.green(`
|
|
609807
|
-
Rayu CLI is up to date (${"1.
|
|
609825
|
+
Rayu CLI is up to date (${"1.2.12"})
|
|
609808
609826
|
`));
|
|
609809
609827
|
process.exit(0);
|
|
609810
609828
|
}
|
|
609811
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"1.
|
|
609829
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"1.2.12"})
|
|
609812
609830
|
`);
|
|
609813
609831
|
writeToStdout(`Installing update...
|
|
609814
609832
|
|
|
@@ -609832,10 +609850,67 @@ Try manually:
|
|
|
609832
609850
|
return;
|
|
609833
609851
|
}
|
|
609834
609852
|
writeToStdout(source_default.green(`
|
|
609835
|
-
Successfully updated from ${"1.
|
|
609853
|
+
Successfully updated from ${"1.2.12"} to ${latestVersion}
|
|
609836
609854
|
`));
|
|
609837
609855
|
process.exit(0);
|
|
609838
609856
|
}
|
|
609857
|
+
async function updateNativeBinary() {
|
|
609858
|
+
writeToStdout(`Checking for updates...
|
|
609859
|
+
`);
|
|
609860
|
+
const { installLatest: installLatest2 } = await Promise.resolve().then(() => (init_nativeInstaller(), exports_nativeInstaller));
|
|
609861
|
+
let latestVersion;
|
|
609862
|
+
try {
|
|
609863
|
+
latestVersion = execFileSync3("npm", ["view", "@rayu-dev/rayu-cli@latest", "version", "--prefer-online"], { encoding: "utf8", timeout: 15000, cwd: homedir32(), stdio: ["pipe", "pipe", "pipe"] }).trim();
|
|
609864
|
+
} catch {
|
|
609865
|
+
latestVersion = "";
|
|
609866
|
+
}
|
|
609867
|
+
if (latestVersion && latestVersion === "1.2.12") {
|
|
609868
|
+
writeToStdout(source_default.green(`
|
|
609869
|
+
Rayu CLI is up to date (1.2.12)
|
|
609870
|
+
`));
|
|
609871
|
+
process.exit(0);
|
|
609872
|
+
}
|
|
609873
|
+
if (latestVersion) {
|
|
609874
|
+
writeToStdout(`New version available: ${latestVersion} (current: 1.2.12)
|
|
609875
|
+
`);
|
|
609876
|
+
}
|
|
609877
|
+
writeToStdout(`Downloading and installing update...
|
|
609878
|
+
`);
|
|
609879
|
+
try {
|
|
609880
|
+
const result = await installLatest2("latest", true);
|
|
609881
|
+
if (!result.wasUpdated) {
|
|
609882
|
+
if (result.lockFailed) {
|
|
609883
|
+
process.stderr.write(source_default.yellow(`Another update is already in progress. Try again later.
|
|
609884
|
+
`));
|
|
609885
|
+
process.exit(1);
|
|
609886
|
+
return;
|
|
609887
|
+
}
|
|
609888
|
+
writeToStdout(source_default.green(`
|
|
609889
|
+
Rayu CLI is up to date (1.2.12)
|
|
609890
|
+
`));
|
|
609891
|
+
process.exit(0);
|
|
609892
|
+
}
|
|
609893
|
+
const updatedTo = result.latestVersion ?? latestVersion ?? "latest";
|
|
609894
|
+
writeToStdout(source_default.green(`
|
|
609895
|
+
Successfully updated from 1.2.12 to ${updatedTo}
|
|
609896
|
+
`));
|
|
609897
|
+
writeToStdout(`Restart your terminal to use the new version.
|
|
609898
|
+
`);
|
|
609899
|
+
process.exit(0);
|
|
609900
|
+
} catch (err2) {
|
|
609901
|
+
process.stderr.write(source_default.red(`
|
|
609902
|
+
Failed to install update
|
|
609903
|
+
`));
|
|
609904
|
+
process.stderr.write(`Error: ${err2 instanceof Error ? err2.message : String(err2)}
|
|
609905
|
+
`);
|
|
609906
|
+
process.stderr.write(`
|
|
609907
|
+
Try manually:
|
|
609908
|
+
`);
|
|
609909
|
+
process.stderr.write(source_default.bold(` npm install -g @rayu-dev/rayu-cli@latest
|
|
609910
|
+
`));
|
|
609911
|
+
process.exit(1);
|
|
609912
|
+
}
|
|
609913
|
+
}
|
|
609839
609914
|
var init_update = __esm(() => {
|
|
609840
609915
|
init_source();
|
|
609841
609916
|
});
|
|
@@ -609848,7 +609923,7 @@ __export(exports_uninstall, {
|
|
|
609848
609923
|
import { execFileSync as execFileSync4 } from "node:child_process";
|
|
609849
609924
|
import { homedir as homedir33 } from "os";
|
|
609850
609925
|
async function uninstall() {
|
|
609851
|
-
writeToStdout(`Uninstalling Rayu CLI (${"1.
|
|
609926
|
+
writeToStdout(`Uninstalling Rayu CLI (${"1.2.12"})...
|
|
609852
609927
|
`);
|
|
609853
609928
|
writeToStdout(`Running: npm uninstall -g ${"@rayu-dev/rayu-cli"}
|
|
609854
609929
|
|
|
@@ -609871,7 +609946,7 @@ Try running manually:
|
|
|
609871
609946
|
process.exit(1);
|
|
609872
609947
|
}
|
|
609873
609948
|
writeToStdout(source_default.green(`
|
|
609874
|
-
Successfully uninstalled ${"@rayu-dev/rayu-cli"} ${"1.
|
|
609949
|
+
Successfully uninstalled ${"@rayu-dev/rayu-cli"} ${"1.2.12"}
|
|
609875
609950
|
`));
|
|
609876
609951
|
writeToStdout(`Thanks for using Rayu CLI!
|
|
609877
609952
|
`);
|
|
@@ -609923,7 +609998,7 @@ function showFirstRunWelcome() {
|
|
|
609923
609998
|
`);
|
|
609924
609999
|
try {
|
|
609925
610000
|
mkdirSync11(getRayuConfigHomeDir(), { recursive: true });
|
|
609926
|
-
writeFileSync13(markerPath(), "1.
|
|
610001
|
+
writeFileSync13(markerPath(), "1.2.12", "utf8");
|
|
609927
610002
|
} catch {}
|
|
609928
610003
|
}
|
|
609929
610004
|
var init_firstRun = __esm(() => {
|
|
@@ -621766,7 +621841,7 @@ async function initializeBetaTracing(resource) {
|
|
|
621766
621841
|
});
|
|
621767
621842
|
import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
|
|
621768
621843
|
setLoggerProvider(loggerProvider);
|
|
621769
|
-
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.
|
|
621844
|
+
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.2.12");
|
|
621770
621845
|
setEventLogger(eventLogger);
|
|
621771
621846
|
process.on("beforeExit", async () => {
|
|
621772
621847
|
await loggerProvider?.forceFlush();
|
|
@@ -621806,7 +621881,7 @@ async function initializeTelemetry() {
|
|
|
621806
621881
|
const platform4 = getPlatform();
|
|
621807
621882
|
const baseAttributes = {
|
|
621808
621883
|
[import_semantic_conventions2.ATTR_SERVICE_NAME]: "claude-code",
|
|
621809
|
-
[import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.
|
|
621884
|
+
[import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.2.12"
|
|
621810
621885
|
};
|
|
621811
621886
|
if (platform4 === "wsl") {
|
|
621812
621887
|
const wslVersion = getWslVersion();
|
|
@@ -621851,7 +621926,7 @@ async function initializeTelemetry() {
|
|
|
621851
621926
|
} catch {}
|
|
621852
621927
|
};
|
|
621853
621928
|
registerCleanup(shutdownTelemetry2);
|
|
621854
|
-
return meterProvider2.getMeter("com.anthropic.claude_code", "1.
|
|
621929
|
+
return meterProvider2.getMeter("com.anthropic.claude_code", "1.2.12");
|
|
621855
621930
|
}
|
|
621856
621931
|
const meterProvider = new import_sdk_metrics2.MeterProvider({
|
|
621857
621932
|
resource,
|
|
@@ -621871,7 +621946,7 @@ async function initializeTelemetry() {
|
|
|
621871
621946
|
});
|
|
621872
621947
|
import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
|
|
621873
621948
|
setLoggerProvider(loggerProvider);
|
|
621874
|
-
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.
|
|
621949
|
+
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.2.12");
|
|
621875
621950
|
setEventLogger(eventLogger);
|
|
621876
621951
|
logForDebugging("[3P telemetry] Event logger set successfully");
|
|
621877
621952
|
process.on("beforeExit", async () => {
|
|
@@ -621933,7 +622008,7 @@ Current timeout: ${timeoutMs}ms
|
|
|
621933
622008
|
}
|
|
621934
622009
|
};
|
|
621935
622010
|
registerCleanup(shutdownTelemetry);
|
|
621936
|
-
return meterProvider.getMeter("com.anthropic.claude_code", "1.
|
|
622011
|
+
return meterProvider.getMeter("com.anthropic.claude_code", "1.2.12");
|
|
621937
622012
|
}
|
|
621938
622013
|
async function flushTelemetry() {
|
|
621939
622014
|
const meterProvider = getMeterProvider();
|
|
@@ -623446,7 +623521,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
623446
623521
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
623447
623522
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
623448
623523
|
betas: getSdkBetas(),
|
|
623449
|
-
claude_code_version: "1.
|
|
623524
|
+
claude_code_version: "1.2.12",
|
|
623450
623525
|
output_style: outputStyle2,
|
|
623451
623526
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
623452
623527
|
skills: inputs.skills.filter((s2) => s2.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -639655,7 +639730,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
639655
639730
|
function getSemverPart(version3) {
|
|
639656
639731
|
return `${import_semver11.major(version3, { loose: true })}.${import_semver11.minor(version3, { loose: true })}.${import_semver11.patch(version3, { loose: true })}`;
|
|
639657
639732
|
}
|
|
639658
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.
|
|
639733
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.2.12") {
|
|
639659
639734
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react217.useState(() => getSemverPart(initialVersion));
|
|
639660
639735
|
if (!updatedVersion) {
|
|
639661
639736
|
return null;
|
|
@@ -639695,7 +639770,7 @@ function AutoUpdater({
|
|
|
639695
639770
|
return;
|
|
639696
639771
|
}
|
|
639697
639772
|
if (false) {}
|
|
639698
|
-
const currentVersion = "1.
|
|
639773
|
+
const currentVersion = "1.2.12";
|
|
639699
639774
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
639700
639775
|
let latestVersion = await getLatestVersion(channel);
|
|
639701
639776
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -639908,12 +639983,12 @@ function NativeAutoUpdater({
|
|
|
639908
639983
|
logEvent("tengu_native_auto_updater_start", {});
|
|
639909
639984
|
try {
|
|
639910
639985
|
const maxVersion = await getMaxVersion();
|
|
639911
|
-
if (maxVersion && gt("1.
|
|
639986
|
+
if (maxVersion && gt("1.2.12", maxVersion)) {
|
|
639912
639987
|
const msg = await getMaxVersionMessage();
|
|
639913
639988
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
639914
639989
|
}
|
|
639915
639990
|
const result = await installLatest(channel);
|
|
639916
|
-
const currentVersion = "1.
|
|
639991
|
+
const currentVersion = "1.2.12";
|
|
639917
639992
|
const latencyMs = Date.now() - startTime;
|
|
639918
639993
|
if (result.lockFailed) {
|
|
639919
639994
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -640050,17 +640125,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
640050
640125
|
const maxVersion = await getMaxVersion();
|
|
640051
640126
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
640052
640127
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
640053
|
-
if (gte("1.
|
|
640054
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.
|
|
640128
|
+
if (gte("1.2.12", maxVersion)) {
|
|
640129
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.2.12"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
640055
640130
|
setUpdateAvailable(false);
|
|
640056
640131
|
return;
|
|
640057
640132
|
}
|
|
640058
640133
|
latest = maxVersion;
|
|
640059
640134
|
}
|
|
640060
|
-
const hasUpdate = latest && !gte("1.
|
|
640135
|
+
const hasUpdate = latest && !gte("1.2.12", latest) && !shouldSkipVersion(latest);
|
|
640061
640136
|
setUpdateAvailable(!!hasUpdate);
|
|
640062
640137
|
if (hasUpdate) {
|
|
640063
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.
|
|
640138
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.2.12"} -> ${latest}`);
|
|
640064
640139
|
}
|
|
640065
640140
|
};
|
|
640066
640141
|
$3[0] = t1;
|
|
@@ -640094,7 +640169,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
640094
640169
|
wrap: "truncate",
|
|
640095
640170
|
children: [
|
|
640096
640171
|
"currentVersion: ",
|
|
640097
|
-
"1.
|
|
640172
|
+
"1.2.12"
|
|
640098
640173
|
]
|
|
640099
640174
|
}, undefined, true, undefined, this);
|
|
640100
640175
|
$3[3] = verbose;
|
|
@@ -648260,7 +648335,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
648260
648335
|
project_dir: getOriginalCwd(),
|
|
648261
648336
|
added_dirs: addedDirs
|
|
648262
648337
|
},
|
|
648263
|
-
version: "1.
|
|
648338
|
+
version: "1.2.12",
|
|
648264
648339
|
output_style: {
|
|
648265
648340
|
name: outputStyleName
|
|
648266
648341
|
},
|
|
@@ -659629,7 +659704,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
659629
659704
|
} catch {}
|
|
659630
659705
|
const data = {
|
|
659631
659706
|
trigger,
|
|
659632
|
-
version: "1.
|
|
659707
|
+
version: "1.2.12",
|
|
659633
659708
|
platform: process.platform,
|
|
659634
659709
|
transcript,
|
|
659635
659710
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -671680,7 +671755,7 @@ function WelcomeV2() {
|
|
|
671680
671755
|
dimColor: true,
|
|
671681
671756
|
children: [
|
|
671682
671757
|
"v",
|
|
671683
|
-
"1.
|
|
671758
|
+
"1.2.12"
|
|
671684
671759
|
]
|
|
671685
671760
|
}, undefined, true, undefined, this)
|
|
671686
671761
|
]
|
|
@@ -673397,7 +673472,7 @@ function completeOnboarding() {
|
|
|
673397
673472
|
saveGlobalConfig((current) => ({
|
|
673398
673473
|
...current,
|
|
673399
673474
|
hasCompletedOnboarding: true,
|
|
673400
|
-
lastOnboardingVersion: "1.
|
|
673475
|
+
lastOnboardingVersion: "1.2.12"
|
|
673401
673476
|
}));
|
|
673402
673477
|
}
|
|
673403
673478
|
function showDialog(root2, renderer) {
|
|
@@ -677697,7 +677772,7 @@ function appendToLog(path30, message) {
|
|
|
677697
677772
|
cwd: getFsImplementation().cwd(),
|
|
677698
677773
|
userType: "external",
|
|
677699
677774
|
sessionId: getSessionId(),
|
|
677700
|
-
version: "1.
|
|
677775
|
+
version: "1.2.12"
|
|
677701
677776
|
};
|
|
677702
677777
|
getLogWriter(path30).write(messageWithTimestamp);
|
|
677703
677778
|
}
|
|
@@ -681801,8 +681876,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
681801
681876
|
}
|
|
681802
681877
|
async function checkEnvLessBridgeMinVersion() {
|
|
681803
681878
|
const cfg = await getEnvLessBridgeConfig();
|
|
681804
|
-
if (cfg.min_version && lt("1.
|
|
681805
|
-
return `Your version of RAYU (${"1.
|
|
681879
|
+
if (cfg.min_version && lt("1.2.12", cfg.min_version)) {
|
|
681880
|
+
return `Your version of RAYU (${"1.2.12"}) is too old for Remote Control.
|
|
681806
681881
|
Version ${cfg.min_version} or higher is required. Run \`claude update\` to update.`;
|
|
681807
681882
|
}
|
|
681808
681883
|
return null;
|
|
@@ -682276,7 +682351,7 @@ async function initBridgeCore(params) {
|
|
|
682276
682351
|
const rawApi = createBridgeApiClient({
|
|
682277
682352
|
baseUrl,
|
|
682278
682353
|
getAccessToken,
|
|
682279
|
-
runnerVersion: "1.
|
|
682354
|
+
runnerVersion: "1.2.12",
|
|
682280
682355
|
onDebug: logForDebugging,
|
|
682281
682356
|
onAuth401,
|
|
682282
682357
|
getTrustedDeviceToken
|
|
@@ -687638,7 +687713,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
|
|
|
687638
687713
|
setCwd(cwd3);
|
|
687639
687714
|
const server = new Server({
|
|
687640
687715
|
name: "claude/tengu",
|
|
687641
|
-
version: "1.
|
|
687716
|
+
version: "1.2.12"
|
|
687642
687717
|
}, {
|
|
687643
687718
|
capabilities: {
|
|
687644
687719
|
tools: {}
|
|
@@ -690164,7 +690239,7 @@ ${customInstructions}` : customInstructions;
|
|
|
690164
690239
|
}
|
|
690165
690240
|
}
|
|
690166
690241
|
logForDiagnosticsNoPII("info", "started", {
|
|
690167
|
-
version: "1.
|
|
690242
|
+
version: "1.2.12",
|
|
690168
690243
|
is_native_binary: isInBundledMode()
|
|
690169
690244
|
});
|
|
690170
690245
|
registerCleanup(async () => {
|
|
@@ -690882,7 +690957,7 @@ Usage: rayu --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
690882
690957
|
pendingHookMessages
|
|
690883
690958
|
}, renderAndRun);
|
|
690884
690959
|
}
|
|
690885
|
-
}).version("1.
|
|
690960
|
+
}).version("1.2.12 (Rayu-CLI)", "-v, --version", "Output the version number");
|
|
690886
690961
|
program.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
690887
690962
|
program.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
690888
690963
|
if (canUserConfigureAdvisor()) {
|
|
@@ -691348,7 +691423,7 @@ if (false) {}
|
|
|
691348
691423
|
async function main2() {
|
|
691349
691424
|
const args = process.argv.slice(2);
|
|
691350
691425
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
691351
|
-
console.log(`${"1.
|
|
691426
|
+
console.log(`${"1.2.12"} (Rayu-CLI)`);
|
|
691352
691427
|
return;
|
|
691353
691428
|
}
|
|
691354
691429
|
const {
|
package/package.json
CHANGED
package/scripts/postinstall.cjs
CHANGED
|
@@ -33,16 +33,26 @@ function writeMarker() {
|
|
|
33
33
|
} catch (_) {}
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
// npm v7+ pipes lifecycle script stdout/stderr, so we open
|
|
37
|
-
// to write straight to the user's terminal
|
|
36
|
+
// npm v7+ pipes lifecycle script stdout/stderr, so we open the terminal
|
|
37
|
+
// device directly to write straight to the user's terminal.
|
|
38
|
+
// On Unix: /dev/tty, on Windows: CON
|
|
39
|
+
const isWindows = process.platform === 'win32';
|
|
40
|
+
const ttyDevice = isWindows ? 'CON' : '/dev/tty';
|
|
41
|
+
|
|
38
42
|
try {
|
|
39
|
-
const fd = fs.openSync(
|
|
43
|
+
const fd = fs.openSync(ttyDevice, 'w');
|
|
40
44
|
fs.writeSync(fd, message);
|
|
41
45
|
fs.closeSync(fd);
|
|
42
46
|
// Postinstall showed the message — mark as done so binary skips it
|
|
43
47
|
writeMarker();
|
|
44
48
|
} catch (_) {
|
|
45
|
-
// No controlling terminal (CI, Docker,
|
|
46
|
-
//
|
|
47
|
-
|
|
49
|
+
// No controlling terminal (CI, Docker, headless) — fall through.
|
|
50
|
+
// Write to stdout as best-effort, and still write the marker so the
|
|
51
|
+
// binary doesn't try to show it again in a non-interactive context.
|
|
52
|
+
try {
|
|
53
|
+
process.stdout.write(message);
|
|
54
|
+
} catch (_e) {
|
|
55
|
+
// stdout may be closed in some CI environments
|
|
56
|
+
}
|
|
57
|
+
writeMarker();
|
|
48
58
|
}
|