@rayu-dev/rayu-cli 1.3.127 → 1.3.227
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 +128 -105
- package/package.json +1 -1
package/dist/rayu.js
CHANGED
|
@@ -147982,7 +147982,7 @@ var init_auth = __esm(() => {
|
|
|
147982
147982
|
|
|
147983
147983
|
// src/utils/userAgent.ts
|
|
147984
147984
|
function getRayuUserAgent() {
|
|
147985
|
-
return `rayu/${"1.3.
|
|
147985
|
+
return `rayu/${"1.3.227"}`;
|
|
147986
147986
|
}
|
|
147987
147987
|
var getClaudeCodeUserAgent;
|
|
147988
147988
|
var init_userAgent = __esm(() => {
|
|
@@ -148008,7 +148008,7 @@ function getUserAgent() {
|
|
|
148008
148008
|
const clientApp = process.env.RAYU_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.RAYU_AGENT_SDK_CLIENT_APP}` : "";
|
|
148009
148009
|
const workload = getWorkload();
|
|
148010
148010
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
148011
|
-
return `rayu/${"1.3.
|
|
148011
|
+
return `rayu/${"1.3.227"} (${"external"}, ${process.env.RAYU_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
148012
148012
|
}
|
|
148013
148013
|
function getMCPUserAgent() {
|
|
148014
148014
|
const parts = [];
|
|
@@ -148022,7 +148022,7 @@ function getMCPUserAgent() {
|
|
|
148022
148022
|
parts.push(`client-app/${process.env.RAYU_AGENT_SDK_CLIENT_APP}`);
|
|
148023
148023
|
}
|
|
148024
148024
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
148025
|
-
return `rayu/${"1.3.
|
|
148025
|
+
return `rayu/${"1.3.227"}${suffix}`;
|
|
148026
148026
|
}
|
|
148027
148027
|
function getWebFetchUserAgent() {
|
|
148028
148028
|
return `Rayu-User (${getRayuUserAgent()})`;
|
|
@@ -148145,7 +148145,7 @@ var init_user = __esm(() => {
|
|
|
148145
148145
|
deviceId,
|
|
148146
148146
|
sessionId: getSessionId(),
|
|
148147
148147
|
email: getEmail(),
|
|
148148
|
-
appVersion: "1.3.
|
|
148148
|
+
appVersion: "1.3.227",
|
|
148149
148149
|
platform: getHostPlatformForAnalytics(),
|
|
148150
148150
|
organizationUuid,
|
|
148151
148151
|
accountUuid,
|
|
@@ -181215,7 +181215,7 @@ var init_metadata = __esm(() => {
|
|
|
181215
181215
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
181216
181216
|
WHITESPACE_REGEX = /\s+/;
|
|
181217
181217
|
getVersionBase = memoize_default(() => {
|
|
181218
|
-
const match = "1.3.
|
|
181218
|
+
const match = "1.3.227".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
181219
181219
|
return match ? match[0] : undefined;
|
|
181220
181220
|
});
|
|
181221
181221
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -181254,7 +181254,7 @@ var init_metadata = __esm(() => {
|
|
|
181254
181254
|
},
|
|
181255
181255
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
181256
181256
|
isRayuAction: isEnvTruthy(process.env.RAYU_ACTION),
|
|
181257
|
-
version: "1.3.
|
|
181257
|
+
version: "1.3.227",
|
|
181258
181258
|
versionBase: getVersionBase(),
|
|
181259
181259
|
buildTime: "",
|
|
181260
181260
|
deploymentEnvironment: env4.detectDeploymentEnvironment(),
|
|
@@ -181868,7 +181868,7 @@ function initialize1PEventLogging() {
|
|
|
181868
181868
|
const platform2 = getPlatform();
|
|
181869
181869
|
const attributes = {
|
|
181870
181870
|
[import_semantic_conventions.ATTR_SERVICE_NAME]: "rayu",
|
|
181871
|
-
[import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.3.
|
|
181871
|
+
[import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.3.227"
|
|
181872
181872
|
};
|
|
181873
181873
|
if (platform2 === "wsl") {
|
|
181874
181874
|
const wslVersion = getWslVersion();
|
|
@@ -181895,7 +181895,7 @@ function initialize1PEventLogging() {
|
|
|
181895
181895
|
})
|
|
181896
181896
|
]
|
|
181897
181897
|
});
|
|
181898
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("io.rayu.events", "1.3.
|
|
181898
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("io.rayu.events", "1.3.227");
|
|
181899
181899
|
}
|
|
181900
181900
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
181901
181901
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -217811,7 +217811,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
217811
217811
|
if (!isAttributionHeaderEnabled()) {
|
|
217812
217812
|
return "";
|
|
217813
217813
|
}
|
|
217814
|
-
const version2 = `${"1.3.
|
|
217814
|
+
const version2 = `${"1.3.227"}.${fingerprint}`;
|
|
217815
217815
|
const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
|
|
217816
217816
|
const cch = "";
|
|
217817
217817
|
const workload = getWorkload();
|
|
@@ -268660,7 +268660,7 @@ ${grepGuidance}
|
|
|
268660
268660
|
|
|
268661
268661
|
NOTE: You are meant to be a fast agent that returns output as quickly as possible. In order to achieve this you must:
|
|
268662
268662
|
- Make efficient use of the tools that you have at your disposal: be smart about how you search for files and implementations
|
|
268663
|
-
- Wherever possible you should try to spawn multiple parallel tool calls for grepping and reading files
|
|
268663
|
+
- Wherever possible you should try to spawn multiple parallel tool calls for grepping and reading files — plan them upfront and batch them in one message (~3–5 at a time); parallel is ~3–5x faster than one-at-a-time.
|
|
268664
268664
|
|
|
268665
268665
|
Complete the user's search request efficiently and report your findings clearly.`;
|
|
268666
268666
|
}
|
|
@@ -268703,6 +268703,7 @@ var SHARED_PREFIX = `You are an agent for the official CLI powered by Choeng Ray
|
|
|
268703
268703
|
|
|
268704
268704
|
Guidelines:
|
|
268705
268705
|
- For file searches: search broadly when you don't know where something lives. Use Read when you know the specific file path.
|
|
268706
|
+
- Work in PARALLEL: plan the lookups you need upfront, then batch independent reads/greps/searches into a SINGLE message (multiple tool calls, ~3–5 at a time) — parallel is ~3–5x faster than one-at-a-time. Go sequential only when one result determines the next.
|
|
268706
268707
|
- For analysis: Start broad and narrow down. Use multiple search strategies if the first doesn't yield results.
|
|
268707
268708
|
- Be thorough: Check multiple locations, consider different naming conventions, look for related files.
|
|
268708
268709
|
- NEVER create files unless they're absolutely necessary for achieving your goal. ALWAYS prefer editing an existing file to creating a new one.
|
|
@@ -268719,7 +268720,7 @@ var init_generalPurposeAgent = __esm(() => {
|
|
|
268719
268720
|
});
|
|
268720
268721
|
|
|
268721
268722
|
// src/tools/AgentTool/built-in/subagents/common.ts
|
|
268722
|
-
var EPHEMERAL_FRAMING = `You are a one-shot subagent: a fresh session with NO memory of past work and NO future. You receive a single self-contained task packet, perform exactly ONE job, and return a concise structured result to the agent that spawned you. Do NOT ask follow-up questions — everything you need is in the task packet; if something is genuinely missing, state the assumption you made and proceed. Do not create report files; report back as your final message.`, SKILL_SEEKING = `Before starting, check whether any installed skill (via the Skill tool) is relevant to this task and would improve the result — if so, use it. Skills are installed by the user via /install-skill or /find-skill; if none apply, proceed without one.`;
|
|
268723
|
+
var EPHEMERAL_FRAMING = `You are a one-shot subagent: a fresh session with NO memory of past work and NO future. You receive a single self-contained task packet, perform exactly ONE job, and return a concise structured result to the agent that spawned you. Do NOT ask follow-up questions — everything you need is in the task packet; if something is genuinely missing, state the assumption you made and proceed. Keep going until the job is fully done. Work in PARALLEL where steps are independent: batch your reads/greps/searches into a single message (multiple tool calls, ~3–5 at a time — parallel is ~3–5x faster than one-at-a-time); go sequential only when one call genuinely needs another's output. Report high-signal results only (the output + the few facts that matter, not a play-by-play). Do not create report files; report back as your final message.`, SKILL_SEEKING = `Before starting, check whether any installed skill (via the Skill tool) is relevant to this task and would improve the result — if so, use it. Skills are installed by the user via /install-skill or /find-skill; if none apply, proceed without one.`;
|
|
268723
268724
|
|
|
268724
268725
|
// src/tools/AgentTool/built-in/subagents/asset-generation.ts
|
|
268725
268726
|
function getAssetGenSystemPrompt() {
|
|
@@ -268799,7 +268800,7 @@ ${SKILL_SEEKING}
|
|
|
268799
268800
|
## Your job (from the task packet)
|
|
268800
268801
|
- Take the Fix List (each item: file, line, issue, fix) and apply exactly those corrections — change the wrong hex code, adjust the padding, add the missing animation/handler, fix the logic bug, etc.
|
|
268801
268802
|
- Make the SMALLEST change that resolves each item; do not refactor or gold-plate beyond the listed fixes.
|
|
268802
|
-
- After editing,
|
|
268803
|
+
- After editing, RE-VERIFY: run the relevant build/lint/tests to confirm the fixes hold and didn't break anything. Do not report a fix as done if it's unverified.
|
|
268803
268804
|
|
|
268804
268805
|
## Output
|
|
268805
268806
|
Report, per fix item: the file changed, what you changed, and pass/fail of any verification. List any item you could NOT fix and why (do not silently skip).`;
|
|
@@ -268891,7 +268892,7 @@ ${SKILL_SEEKING}
|
|
|
268891
268892
|
|
|
268892
268893
|
## Your job
|
|
268893
268894
|
1. Understand the objective and constraints from the task packet.
|
|
268894
|
-
2. Research deeply and
|
|
268895
|
+
2. Research deeply and IN PARALLEL: dispatch multiple Explore/general-purpose subagents in a SINGLE message (multiple Agent calls, ~3–5 max — never one at a time; parallel is ~3–5x faster) to map the existing code, conventions, integration points, and risks concurrently. For a brand-new project, research the relevant stack/best-practices the same way. Time-box this: gather just enough to commit confidently, then STOP researching and decide — do not over-research.
|
|
268895
268896
|
3. Think hard before answering — reason through multiple viable approaches and their trade-offs (complexity, risk, blast radius, reversibility), then commit to ONE and justify it briefly. Be decisive; no hedging.
|
|
268896
268897
|
4. Produce a concrete plan.
|
|
268897
268898
|
|
|
@@ -269426,9 +269427,18 @@ function buildCollaboratorPrompt(s2) {
|
|
|
269426
269427
|
owns,
|
|
269427
269428
|
"",
|
|
269428
269429
|
"## How you work",
|
|
269429
|
-
"- You implement AND iterate: write real, production-ready code/config in your domain
|
|
269430
|
+
"- You implement AND iterate: write real, production-ready code/config in your domain and refine until it meets the brief. You have the full toolset; request permission for sensitive actions through the normal permission flow.",
|
|
269431
|
+
"- Work in PARALLEL where independent: batch reads/greps and independent edits into one message (multiple tool calls, ~3–5 at a time) — parallel is ~3–5x faster. Go sequential only on a true dependency.",
|
|
269430
269432
|
`- Seek relevant INSTALLED skills (via the Skill tool) that improve your output — ${s2.skillHint}. Skills are installed by the user via /install-skill or /find-skill; if none are installed, proceed without one.`,
|
|
269431
269433
|
"- You may use MCP servers and dispatch the Tier-3 subagents (e.g. asset-generation, review, fix, linter) for atomic jobs — the same subagents the orchestrator uses.",
|
|
269434
|
+
"- Be autonomous: keep going until your piece is complete; state assumptions and continue rather than stopping for approval unless genuinely blocked.",
|
|
269435
|
+
"",
|
|
269436
|
+
"## Quality bar",
|
|
269437
|
+
"- Code must run immediately: include all imports, dependencies, and wiring. Use clear, descriptive names and explicit types on public APIs; prefer guard clauses/early returns; match the existing project style and conventions.",
|
|
269438
|
+
"- No linter errors. If your domain is UI (frontend/mobile), deliver a modern, polished interface with strong UX and accessibility — not just a rough layout.",
|
|
269439
|
+
"",
|
|
269440
|
+
"## Verify before reporting done",
|
|
269441
|
+
"- Run the relevant build/lint/tests for your changes and FIX failures before handing back. Never report a change as done if it is unverified or breaks the build.",
|
|
269432
269442
|
"",
|
|
269433
269443
|
"## Authority",
|
|
269434
269444
|
authority,
|
|
@@ -302406,7 +302416,7 @@ function getTelemetryAttributes() {
|
|
|
302406
302416
|
attributes["session.id"] = sessionId;
|
|
302407
302417
|
}
|
|
302408
302418
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
302409
|
-
attributes["app.version"] = "1.3.
|
|
302419
|
+
attributes["app.version"] = "1.3.227";
|
|
302410
302420
|
}
|
|
302411
302421
|
const oauthAccount = getOauthAccountInfo();
|
|
302412
302422
|
if (oauthAccount) {
|
|
@@ -412764,7 +412774,7 @@ function getInstallationEnv() {
|
|
|
412764
412774
|
return;
|
|
412765
412775
|
}
|
|
412766
412776
|
function getClaudeCodeVersion() {
|
|
412767
|
-
return "1.3.
|
|
412777
|
+
return "1.3.227";
|
|
412768
412778
|
}
|
|
412769
412779
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
412770
412780
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -418002,7 +418012,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
418002
418012
|
const client4 = new Client({
|
|
418003
418013
|
name: "claude-code",
|
|
418004
418014
|
title: "RAYU",
|
|
418005
|
-
version: "1.3.
|
|
418015
|
+
version: "1.3.227",
|
|
418006
418016
|
description: "Anthropic's agentic coding tool",
|
|
418007
418017
|
websiteUrl: PRODUCT_URL
|
|
418008
418018
|
}, {
|
|
@@ -418319,7 +418329,7 @@ var init_client7 = __esm(() => {
|
|
|
418319
418329
|
const client4 = new Client({
|
|
418320
418330
|
name: "claude-code",
|
|
418321
418331
|
title: "RAYU",
|
|
418322
|
-
version: "1.3.
|
|
418332
|
+
version: "1.3.227",
|
|
418323
418333
|
description: "Anthropic's agentic coding tool",
|
|
418324
418334
|
websiteUrl: PRODUCT_URL
|
|
418325
418335
|
}, {
|
|
@@ -433120,7 +433130,7 @@ function computeFingerprint(messageText, version2) {
|
|
|
433120
433130
|
}
|
|
433121
433131
|
function computeFingerprintFromMessages(messages) {
|
|
433122
433132
|
const firstMessageText = extractFirstMessageText(messages);
|
|
433123
|
-
return computeFingerprint(firstMessageText, "1.3.
|
|
433133
|
+
return computeFingerprint(firstMessageText, "1.3.227");
|
|
433124
433134
|
}
|
|
433125
433135
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
433126
433136
|
var init_fingerprint = () => {};
|
|
@@ -433162,7 +433172,7 @@ async function sideQuery(opts) {
|
|
|
433162
433172
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
433163
433173
|
}
|
|
433164
433174
|
const messageText = extractFirstUserMessageText(messages);
|
|
433165
|
-
const fingerprint = computeFingerprint(messageText, "1.3.
|
|
433175
|
+
const fingerprint = computeFingerprint(messageText, "1.3.227");
|
|
433166
433176
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
433167
433177
|
const systemBlocks = [
|
|
433168
433178
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -528127,7 +528137,7 @@ function Feedback({
|
|
|
528127
528137
|
platform: env4.platform,
|
|
528128
528138
|
gitRepo: envInfo.isGit,
|
|
528129
528139
|
terminal: env4.terminal,
|
|
528130
|
-
version: "1.3.
|
|
528140
|
+
version: "1.3.227",
|
|
528131
528141
|
transcript: normalizeMessagesForAPI(messages),
|
|
528132
528142
|
errors: sanitizedErrors,
|
|
528133
528143
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -528319,7 +528329,7 @@ function Feedback({
|
|
|
528319
528329
|
", ",
|
|
528320
528330
|
env4.terminal,
|
|
528321
528331
|
", v",
|
|
528322
|
-
"1.3.
|
|
528332
|
+
"1.3.227"
|
|
528323
528333
|
]
|
|
528324
528334
|
}, undefined, true, undefined, this)
|
|
528325
528335
|
]
|
|
@@ -528425,7 +528435,7 @@ ${sanitizedDescription}
|
|
|
528425
528435
|
` + `**Environment Info**
|
|
528426
528436
|
` + `- Platform: ${env4.platform}
|
|
528427
528437
|
` + `- Terminal: ${env4.terminal}
|
|
528428
|
-
` + `- Version: ${"1.3.
|
|
528438
|
+
` + `- Version: ${"1.3.227"}
|
|
528429
528439
|
` + `- Feedback ID: ${feedbackId}
|
|
528430
528440
|
` + `
|
|
528431
528441
|
**Errors**
|
|
@@ -531264,9 +531274,9 @@ async function assertMinVersion() {
|
|
|
531264
531274
|
if (false) {}
|
|
531265
531275
|
try {
|
|
531266
531276
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
531267
|
-
if (versionConfig.minVersion && lt("1.3.
|
|
531277
|
+
if (versionConfig.minVersion && lt("1.3.227", versionConfig.minVersion)) {
|
|
531268
531278
|
console.error(`
|
|
531269
|
-
It looks like your version of RAYU (${"1.3.
|
|
531279
|
+
It looks like your version of RAYU (${"1.3.227"}) needs an update.
|
|
531270
531280
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
531271
531281
|
|
|
531272
531282
|
To update, please run:
|
|
@@ -531492,7 +531502,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
531492
531502
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
531493
531503
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
531494
531504
|
pid: process.pid,
|
|
531495
|
-
currentVersion: "1.3.
|
|
531505
|
+
currentVersion: "1.3.227"
|
|
531496
531506
|
});
|
|
531497
531507
|
return "in_progress";
|
|
531498
531508
|
}
|
|
@@ -531501,7 +531511,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
531501
531511
|
if (!env4.isRunningWithBun() && env4.isNpmFromWindowsPath()) {
|
|
531502
531512
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
531503
531513
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
531504
|
-
currentVersion: "1.3.
|
|
531514
|
+
currentVersion: "1.3.227"
|
|
531505
531515
|
});
|
|
531506
531516
|
console.error(`
|
|
531507
531517
|
Error: Windows NPM detected in WSL
|
|
@@ -532037,7 +532047,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
532037
532047
|
}
|
|
532038
532048
|
async function getDoctorDiagnostic() {
|
|
532039
532049
|
const installationType = await getCurrentInstallationType();
|
|
532040
|
-
const version2 = typeof MACRO !== "undefined" ? "1.3.
|
|
532050
|
+
const version2 = typeof MACRO !== "undefined" ? "1.3.227" : "unknown";
|
|
532041
532051
|
const installationPath = await getInstallationPath();
|
|
532042
532052
|
const invokedBinary = getInvokedBinary();
|
|
532043
532053
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -532832,8 +532842,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
532832
532842
|
const maxVersion = await getMaxVersion();
|
|
532833
532843
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
532834
532844
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
532835
|
-
if (gte("1.3.
|
|
532836
|
-
logForDebugging(`Native installer: current version ${"1.3.
|
|
532845
|
+
if (gte("1.3.227", maxVersion)) {
|
|
532846
|
+
logForDebugging(`Native installer: current version ${"1.3.227"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
532837
532847
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
532838
532848
|
latency_ms: Date.now() - startTime,
|
|
532839
532849
|
max_version: maxVersion,
|
|
@@ -532844,7 +532854,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
532844
532854
|
version2 = maxVersion;
|
|
532845
532855
|
}
|
|
532846
532856
|
}
|
|
532847
|
-
if (!forceReinstall && version2 === "1.3.
|
|
532857
|
+
if (!forceReinstall && version2 === "1.3.227" && await versionIsAvailable(version2) && await isPossibleClaudeBinary(executablePath)) {
|
|
532848
532858
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
532849
532859
|
logEvent("tengu_native_update_complete", {
|
|
532850
532860
|
latency_ms: Date.now() - startTime,
|
|
@@ -534040,7 +534050,7 @@ function buildPrimarySection() {
|
|
|
534040
534050
|
}, undefined, false, undefined, this);
|
|
534041
534051
|
return [{
|
|
534042
534052
|
label: "Version",
|
|
534043
|
-
value: "1.3.
|
|
534053
|
+
value: "1.3.227"
|
|
534044
534054
|
}, {
|
|
534045
534055
|
label: "Session name",
|
|
534046
534056
|
value: nameValue
|
|
@@ -537731,7 +537741,7 @@ function Config({
|
|
|
537731
537741
|
}
|
|
537732
537742
|
}, undefined, false, undefined, this)
|
|
537733
537743
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime170.jsxDEV(ChannelDowngradeDialog, {
|
|
537734
|
-
currentVersion: "1.3.
|
|
537744
|
+
currentVersion: "1.3.227",
|
|
537735
537745
|
onChoice: (choice) => {
|
|
537736
537746
|
setShowSubmenu(null);
|
|
537737
537747
|
setTabsHidden(false);
|
|
@@ -537743,7 +537753,7 @@ function Config({
|
|
|
537743
537753
|
autoUpdatesChannel: "stable"
|
|
537744
537754
|
};
|
|
537745
537755
|
if (choice === "stay") {
|
|
537746
|
-
newSettings.minimumVersion = "1.3.
|
|
537756
|
+
newSettings.minimumVersion = "1.3.227";
|
|
537747
537757
|
}
|
|
537748
537758
|
updateSettingsForSource("userSettings", newSettings);
|
|
537749
537759
|
setSettingsData((prev_27) => ({
|
|
@@ -544970,6 +544980,14 @@ var init_memory2 = __esm(() => {
|
|
|
544970
544980
|
memory_default = memory;
|
|
544971
544981
|
});
|
|
544972
544982
|
|
|
544983
|
+
// src/types/command.ts
|
|
544984
|
+
function getCommandName(cmd) {
|
|
544985
|
+
return cmd.userFacingName?.() ?? cmd.name;
|
|
544986
|
+
}
|
|
544987
|
+
function isCommandEnabled(cmd) {
|
|
544988
|
+
return cmd.isEnabled?.() ?? true;
|
|
544989
|
+
}
|
|
544990
|
+
|
|
544973
544991
|
// src/components/HelpV2/Commands.tsx
|
|
544974
544992
|
function Commands(t0) {
|
|
544975
544993
|
const $3 = import_compiler_runtime151.c(14);
|
|
@@ -544993,7 +545011,7 @@ function Commands(t0) {
|
|
|
544993
545011
|
let t22;
|
|
544994
545012
|
if ($3[3] !== maxWidth) {
|
|
544995
545013
|
t22 = (cmd_0) => ({
|
|
544996
|
-
label: `/${cmd_0.name}`,
|
|
545014
|
+
label: `/${cmd_0.name}${cmd_0.argumentHint ? ` ${cmd_0.argumentHint}` : ""}`,
|
|
544997
545015
|
value: cmd_0.name,
|
|
544998
545016
|
description: truncate(formatDescriptionWithSource(cmd_0), maxWidth, true)
|
|
544999
545017
|
});
|
|
@@ -545706,7 +545724,7 @@ function HelpV2(t0) {
|
|
|
545706
545724
|
let t3;
|
|
545707
545725
|
if ($3[3] !== commands) {
|
|
545708
545726
|
const builtinNames = builtInCommandNames();
|
|
545709
|
-
builtinCommands = commands.filter((cmd) => builtinNames.has(cmd.name) && !cmd.isHidden);
|
|
545727
|
+
builtinCommands = commands.filter((cmd) => builtinNames.has(cmd.name) && !cmd.isHidden && isCommandEnabled(cmd));
|
|
545710
545728
|
let t42;
|
|
545711
545729
|
if ($3[7] === Symbol.for("react.memo_cache_sentinel")) {
|
|
545712
545730
|
t42 = [];
|
|
@@ -545715,7 +545733,7 @@ function HelpV2(t0) {
|
|
|
545715
545733
|
t42 = $3[7];
|
|
545716
545734
|
}
|
|
545717
545735
|
antOnlyCommands = t42;
|
|
545718
|
-
t3 = commands.filter((cmd_2) => !builtinNames.has(cmd_2.name) && !cmd_2.isHidden);
|
|
545736
|
+
t3 = commands.filter((cmd_2) => !builtinNames.has(cmd_2.name) && !cmd_2.isHidden && isCommandEnabled(cmd_2));
|
|
545719
545737
|
$3[3] = commands;
|
|
545720
545738
|
$3[4] = antOnlyCommands;
|
|
545721
545739
|
$3[5] = builtinCommands;
|
|
@@ -545797,7 +545815,7 @@ function HelpV2(t0) {
|
|
|
545797
545815
|
let t6;
|
|
545798
545816
|
if ($3[31] !== tabs) {
|
|
545799
545817
|
t6 = /* @__PURE__ */ jsx_dev_runtime197.jsxDEV(Tabs, {
|
|
545800
|
-
title: `Rayu-CLI v${"1.3.
|
|
545818
|
+
title: `Rayu-CLI v${"1.3.227"}`,
|
|
545801
545819
|
color: "professionalBlue",
|
|
545802
545820
|
defaultTab: "general",
|
|
545803
545821
|
children: tabs
|
|
@@ -547180,18 +547198,30 @@ ${task}` : "Coordinate the swarm for the current task / the plan just produced i
|
|
|
547180
547198
|
return [
|
|
547181
547199
|
{
|
|
547182
547200
|
type: "text",
|
|
547183
|
-
text: `You are now the ORCHESTRATOR (Tier 1)
|
|
547201
|
+
text: `The user explicitly invoked /collaborator_swarm. You are now the ORCHESTRATOR (Tier 1) and you MUST stay in this role for the entire task.
|
|
547184
547202
|
|
|
547185
547203
|
${taskLine}
|
|
547186
547204
|
|
|
547205
|
+
## Your role: PURE ORCHESTRATOR — you do NOT write code
|
|
547206
|
+
In this mode you NEVER write or edit code, run build/implementation commands, or do domain work yourself. Your job is ONLY to:
|
|
547207
|
+
- ANALYZE the real project and requirements — read code to understand it, and discuss & plan WITH the \`PA\` subagent to reach a clear, grounded plan/architecture.
|
|
547208
|
+
- DECOMPOSE and ASSIGN the work to the right Collaborators (implementers) and Subagents (one-shot helpers).
|
|
547209
|
+
- CHECK and verify their results (via the \`review\` subagent and by reading their outputs) and integrate them.
|
|
547210
|
+
HARD RULE: if a Collaborator or Subagent stalls, errors, or doesn't respond, you RESUME it (SendMessage), re-dispatch it, or escalate to the user — you do NOT take over and implement it yourself. Never silently become the coder, even if it seems faster.
|
|
547211
|
+
Keep going until the task is fully resolved; state assumptions and continue — don't stop for approval unless genuinely blocked. (If the task is actually trivial, say so and suggest the user just ask normally instead of the swarm — but if you proceed here, you proceed as orchestrator: delegating and verifying, not coding.)
|
|
547212
|
+
|
|
547187
547213
|
## The three tiers
|
|
547188
547214
|
- **You (Orchestrator)** — plan, research, own SharedContext, coordinate, integrate.
|
|
547189
547215
|
- **Collaborators (Tier 2)** — semi-persistent domain implementers you delegate to: \`frontend\`, \`backend\` (incl. database), \`mobile\`, \`security\`, \`deploy\`. Spawn each as a NAMED BACKGROUND agent (run_in_background:true, stable lowercase name) so you can resume it with SendMessage instead of respawning. They have full tools and may use installed skills + dispatch subagents.
|
|
547190
547216
|
- **Subagents (Tier 3)** — ephemeral one-shot helpers ANYONE can call: \`PA\` (deep plan/research), \`design\` (Design PRD), \`global-setup\` (scaffold), \`asset-generation\`, \`review\` (audit → Fix List), \`fix\` (apply Fix List), \`linter\`, plus \`Explore\` and \`general-purpose\` (research).
|
|
547191
547217
|
|
|
547218
|
+
## DEFAULT TO PARALLEL (the single most important rule)
|
|
547219
|
+
Parallel execution is ~3–5x faster than sequential. Unless one call genuinely needs another's output, dispatch independent agents/tools TOGETHER in ONE assistant message (multiple Agent calls), not one-per-message. Plan all the calls you'll need upfront, then fire them together. Cap each batch at ~3–5 calls to avoid timeouts. Sequential is the exception, allowed ONLY on a true dependency. One-per-message dispatch is the #1 cause of slow swarm runs — avoid it.
|
|
547220
|
+
|
|
547192
547221
|
## How to run the swarm
|
|
547193
|
-
1. **Plan & research first.** Build the full picture before delegating: dispatch \`PA
|
|
547194
|
-
|
|
547222
|
+
1. **Plan & research first — in parallel.** Build the full picture before delegating: dispatch \`PA\` and/or several \`Explore\`/\`general-purpose\` subagents (in a SINGLE message, multiple Agent calls, 3–5 max) to research the codebase/requirements concurrently. For UI work, produce a \`design\` PRD. For a new project, run \`global-setup\` to scaffold. Write the shared brief to \`.rayu/swarm/shared.json\` (goal/stack/flow/constraints/needs) — it is injected into every collaborator, so keep it tight (< ~500 tokens). Set "needs" to ONLY the domains this task requires.
|
|
547223
|
+
- **Overlap where safe:** kick off work that doesn't depend on the final plan (e.g. \`global-setup\` scaffold, \`asset-generation\`) IN PARALLEL with planning rather than strictly after it.
|
|
547224
|
+
2. **Delegate in PARALLEL WAVES.** Decide which collaborators each wave needs, then dispatch all collaborators with no unmet dependency TOGETHER — in ONE assistant message containing MULTIPLE Agent tool calls. NEVER send them one-per-message. Typical waves:
|
|
547195
547225
|
- Wave 1: \`backend\` (API + data layer) + \`security\` (auth/RBAC design) — together.
|
|
547196
547226
|
- Wave 2: \`frontend\` and/or \`mobile\` (integrate against backend contracts) — together.
|
|
547197
547227
|
- Wave 3: \`deploy\` (package & ship) — last.
|
|
@@ -547202,18 +547232,19 @@ ${taskLine}
|
|
|
547202
547232
|
\`\`\`
|
|
547203
547233
|
3. **Coordinate via SharedContext, not by re-typing.** Each collaborator reads the shared brief + its dependency sections and writes its own \`.rayu/swarm/<domain>.md\`. Give each collaborator only its task + any brand-new decision not yet in the artifact. The swarm state lives under \`.rayu/swarm/\` — always use that exact path, NEVER a \`.claude/\` directory.
|
|
547204
547234
|
4. **Resume, don't respawn.** For a follow-up in a domain that already ran, SendMessage to that collaborator's name with the new task; spawn fresh only for an unrelated new domain.
|
|
547205
|
-
5. **Audit & fix.** After a build wave, run the \`review\` subagent (→ Fix List), then \`fix\` (or the owning collaborator) to apply it; re-review
|
|
547235
|
+
5. **Audit & fix (verification gate).** After a build wave, run the \`review\` subagent (→ Fix List), then \`fix\` (or the owning collaborator) to apply it; re-review until clean. Do NOT report the work complete until the build/tests pass and the review→fix loop is clean.
|
|
547206
547236
|
6. **Ship.** When fixes are confirmed, the \`deploy\` collaborator runs the production build and deploys.
|
|
547207
547237
|
|
|
547208
547238
|
## Rules
|
|
547209
547239
|
- Do NOT use TaskCreate / task-list tools to coordinate the swarm — track the waves inline in your messages; the collaborator/subagent dispatches ARE the units of work.
|
|
547210
547240
|
- Security and the chosen architecture are authoritative — collaborators build within them.
|
|
547211
547241
|
- Maximize parallelism within each wave; respect dependencies across waves.
|
|
547242
|
+
- Be autonomous: keep going until done; only pause if truly blocked. Report concisely and high-signal — don't narrate every step.
|
|
547212
547243
|
|
|
547213
547244
|
## Finish
|
|
547214
|
-
Integrate the collaborators' outputs into one coherent result, crediting which collaborator produced what, and report concisely to the user.
|
|
547245
|
+
Integrate the collaborators' outputs into one coherent result, crediting which collaborator produced what, and report concisely to the user — only after the verification gate (build/tests pass, review→fix clean).
|
|
547215
547246
|
|
|
547216
|
-
Begin by stating your plan
|
|
547247
|
+
Begin by stating your analysis/plan step (read the project and discuss with the \`PA\` subagent), then your Wave 1 parallel dispatch.`
|
|
547217
547248
|
}
|
|
547218
547249
|
];
|
|
547219
547250
|
}
|
|
@@ -565755,7 +565786,7 @@ function getRecentReleaseNotes(currentVersion, previousVersion, changelogContent
|
|
|
565755
565786
|
}
|
|
565756
565787
|
return [];
|
|
565757
565788
|
}
|
|
565758
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.3.
|
|
565789
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.3.227") {
|
|
565759
565790
|
if (false) {}
|
|
565760
565791
|
const cachedChangelog = await getStoredChangelog();
|
|
565761
565792
|
if (lastSeenVersion !== currentVersion || !cachedChangelog) {
|
|
@@ -565768,7 +565799,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.3.127")
|
|
|
565768
565799
|
releaseNotes
|
|
565769
565800
|
};
|
|
565770
565801
|
}
|
|
565771
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.3.
|
|
565802
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.3.227") {
|
|
565772
565803
|
if (false) {}
|
|
565773
565804
|
const releaseNotes = getRecentReleaseNotes(currentVersion, lastSeenVersion);
|
|
565774
565805
|
return {
|
|
@@ -565896,7 +565927,7 @@ function getRecentActivitySync() {
|
|
|
565896
565927
|
return cachedActivity;
|
|
565897
565928
|
}
|
|
565898
565929
|
function getLogoDisplayData() {
|
|
565899
|
-
const version2 = process.env.DEMO_VERSION ?? "1.3.
|
|
565930
|
+
const version2 = process.env.DEMO_VERSION ?? "1.3.227";
|
|
565900
565931
|
const serverUrl = getDirectConnectServerUrl();
|
|
565901
565932
|
const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
|
|
565902
565933
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -567188,7 +567219,7 @@ function LogoV2() {
|
|
|
567188
567219
|
if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
567189
567220
|
t2 = () => {
|
|
567190
567221
|
const currentConfig = getGlobalConfig();
|
|
567191
|
-
if (currentConfig.lastReleaseNotesSeen === "1.3.
|
|
567222
|
+
if (currentConfig.lastReleaseNotesSeen === "1.3.227") {
|
|
567192
567223
|
return;
|
|
567193
567224
|
}
|
|
567194
567225
|
saveGlobalConfig(_temp327);
|
|
@@ -567666,7 +567697,7 @@ function LogoV2() {
|
|
|
567666
567697
|
t24 = $3[61];
|
|
567667
567698
|
}
|
|
567668
567699
|
const _latestNpm = getCachedLatestNpmVersionSync();
|
|
567669
|
-
const _updateFeeds = _latestNpm && gt(_latestNpm, "1.3.
|
|
567700
|
+
const _updateFeeds = _latestNpm && gt(_latestNpm, "1.3.227") ? [createUpdateAvailableFeed("1.3.227", _latestNpm)] : [];
|
|
567670
567701
|
const t25 = layoutMode === "horizontal" && /* @__PURE__ */ jsx_dev_runtime239.jsxDEV(FeedColumn, {
|
|
567671
567702
|
feeds: showOnboarding ? [createProjectOnboardingFeed(getSteps()), createRecentActivityFeed(activities)] : showGuestPassesUpsell ? [createRecentActivityFeed(activities), createGuestPassesFeed()] : showOverageCreditUpsell ? [createRecentActivityFeed(activities), createOverageCreditFeed()] : [createRecentActivityFeed(activities), ..._updateFeeds, createWhatsNewFeed(changelog)],
|
|
567672
567703
|
maxWidth: rightWidth
|
|
@@ -567866,12 +567897,12 @@ function LogoV2() {
|
|
|
567866
567897
|
return t41;
|
|
567867
567898
|
}
|
|
567868
567899
|
function _temp327(current) {
|
|
567869
|
-
if (current.lastReleaseNotesSeen === "1.3.
|
|
567900
|
+
if (current.lastReleaseNotesSeen === "1.3.227") {
|
|
567870
567901
|
return current;
|
|
567871
567902
|
}
|
|
567872
567903
|
return {
|
|
567873
567904
|
...current,
|
|
567874
|
-
lastReleaseNotesSeen: "1.3.
|
|
567905
|
+
lastReleaseNotesSeen: "1.3.227"
|
|
567875
567906
|
};
|
|
567876
567907
|
}
|
|
567877
567908
|
function _temp241(s_0) {
|
|
@@ -592662,7 +592693,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
592662
592693
|
smapsRollup,
|
|
592663
592694
|
platform: process.platform,
|
|
592664
592695
|
nodeVersion: process.version,
|
|
592665
|
-
ccVersion: "1.3.
|
|
592696
|
+
ccVersion: "1.3.227"
|
|
592666
592697
|
};
|
|
592667
592698
|
}
|
|
592668
592699
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -593184,7 +593215,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
593184
593215
|
var call47 = async () => {
|
|
593185
593216
|
return {
|
|
593186
593217
|
type: "text",
|
|
593187
|
-
value: "1.3.
|
|
593218
|
+
value: "1.3.227"
|
|
593188
593219
|
};
|
|
593189
593220
|
}, version2, version_default;
|
|
593190
593221
|
var init_version = __esm(() => {
|
|
@@ -600594,14 +600625,6 @@ var init_stats3 = __esm(() => {
|
|
|
600594
600625
|
stats_default = stats2;
|
|
600595
600626
|
});
|
|
600596
600627
|
|
|
600597
|
-
// src/types/command.ts
|
|
600598
|
-
function getCommandName(cmd) {
|
|
600599
|
-
return cmd.userFacingName?.() ?? cmd.name;
|
|
600600
|
-
}
|
|
600601
|
-
function isCommandEnabled(cmd) {
|
|
600602
|
-
return cmd.isEnabled?.() ?? true;
|
|
600603
|
-
}
|
|
600604
|
-
|
|
600605
600628
|
// src/commands/insights.ts
|
|
600606
600629
|
var exports_insights = {};
|
|
600607
600630
|
__export(exports_insights, {
|
|
@@ -602072,7 +602095,7 @@ function generateHtmlReport(data, insights) {
|
|
|
602072
602095
|
</html>`;
|
|
602073
602096
|
}
|
|
602074
602097
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
602075
|
-
const version3 = typeof MACRO !== "undefined" ? "1.3.
|
|
602098
|
+
const version3 = typeof MACRO !== "undefined" ? "1.3.227" : "unknown";
|
|
602076
602099
|
const remote_hosts_collected = remoteStats?.hosts.filter((h3) => h3.sessionCount > 0).map((h3) => h3.name);
|
|
602077
602100
|
const facets_summary = {
|
|
602078
602101
|
total: facets.size,
|
|
@@ -605972,7 +605995,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
605972
605995
|
init_settings2();
|
|
605973
605996
|
init_slowOperations();
|
|
605974
605997
|
init_uuid();
|
|
605975
|
-
VERSION6 = typeof MACRO !== "undefined" ? "1.3.
|
|
605998
|
+
VERSION6 = typeof MACRO !== "undefined" ? "1.3.227" : "unknown";
|
|
605976
605999
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
605977
606000
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
605978
606001
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -607193,7 +607216,7 @@ var init_filesystem = __esm(() => {
|
|
|
607193
607216
|
});
|
|
607194
607217
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
607195
607218
|
const nonce = randomBytes18(16).toString("hex");
|
|
607196
|
-
return join150(getClaudeTempDir(), "bundled-skills", "1.3.
|
|
607219
|
+
return join150(getClaudeTempDir(), "bundled-skills", "1.3.227", nonce);
|
|
607197
607220
|
});
|
|
607198
607221
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
607199
607222
|
});
|
|
@@ -612308,7 +612331,7 @@ __export(exports_update, {
|
|
|
612308
612331
|
import { execFileSync as execFileSync3 } from "node:child_process";
|
|
612309
612332
|
import { homedir as homedir33 } from "os";
|
|
612310
612333
|
async function update() {
|
|
612311
|
-
writeToStdout(`Current version: ${"1.3.
|
|
612334
|
+
writeToStdout(`Current version: ${"1.3.227"}
|
|
612312
612335
|
`);
|
|
612313
612336
|
const isBundled = isInBundledMode();
|
|
612314
612337
|
if (isBundled) {
|
|
@@ -612334,13 +612357,13 @@ Manual check: npm view ${"@rayu-dev/rayu-cli"} version
|
|
|
612334
612357
|
process.exit(1);
|
|
612335
612358
|
return;
|
|
612336
612359
|
}
|
|
612337
|
-
if (latestVersion === "1.3.
|
|
612360
|
+
if (latestVersion === "1.3.227") {
|
|
612338
612361
|
writeToStdout(source_default.green(`
|
|
612339
|
-
Rayu CLI is up to date (${"1.3.
|
|
612362
|
+
Rayu CLI is up to date (${"1.3.227"})
|
|
612340
612363
|
`));
|
|
612341
612364
|
process.exit(0);
|
|
612342
612365
|
}
|
|
612343
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"1.3.
|
|
612366
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"1.3.227"})
|
|
612344
612367
|
`);
|
|
612345
612368
|
writeToStdout(`Installing update...
|
|
612346
612369
|
|
|
@@ -612364,7 +612387,7 @@ Try manually:
|
|
|
612364
612387
|
return;
|
|
612365
612388
|
}
|
|
612366
612389
|
writeToStdout(source_default.green(`
|
|
612367
|
-
Successfully updated from ${"1.3.
|
|
612390
|
+
Successfully updated from ${"1.3.227"} to ${latestVersion}
|
|
612368
612391
|
`));
|
|
612369
612392
|
process.exit(0);
|
|
612370
612393
|
}
|
|
@@ -612378,14 +612401,14 @@ async function updateNativeBinary() {
|
|
|
612378
612401
|
} catch {
|
|
612379
612402
|
latestVersion = "";
|
|
612380
612403
|
}
|
|
612381
|
-
if (latestVersion && latestVersion === "1.3.
|
|
612404
|
+
if (latestVersion && latestVersion === "1.3.227") {
|
|
612382
612405
|
writeToStdout(source_default.green(`
|
|
612383
|
-
Rayu CLI is up to date (1.3.
|
|
612406
|
+
Rayu CLI is up to date (1.3.227)
|
|
612384
612407
|
`));
|
|
612385
612408
|
process.exit(0);
|
|
612386
612409
|
}
|
|
612387
612410
|
if (latestVersion) {
|
|
612388
|
-
writeToStdout(`New version available: ${latestVersion} (current: 1.3.
|
|
612411
|
+
writeToStdout(`New version available: ${latestVersion} (current: 1.3.227)
|
|
612389
612412
|
`);
|
|
612390
612413
|
}
|
|
612391
612414
|
writeToStdout(`Downloading and installing update...
|
|
@@ -612400,13 +612423,13 @@ Rayu CLI is up to date (1.3.127)
|
|
|
612400
612423
|
return;
|
|
612401
612424
|
}
|
|
612402
612425
|
writeToStdout(source_default.green(`
|
|
612403
|
-
Rayu CLI is up to date (1.3.
|
|
612426
|
+
Rayu CLI is up to date (1.3.227)
|
|
612404
612427
|
`));
|
|
612405
612428
|
process.exit(0);
|
|
612406
612429
|
}
|
|
612407
612430
|
const updatedTo = result.latestVersion ?? latestVersion ?? "latest";
|
|
612408
612431
|
writeToStdout(source_default.green(`
|
|
612409
|
-
Successfully updated from 1.3.
|
|
612432
|
+
Successfully updated from 1.3.227 to ${updatedTo}
|
|
612410
612433
|
`));
|
|
612411
612434
|
writeToStdout(`Restart your terminal to use the new version.
|
|
612412
612435
|
`);
|
|
@@ -612437,7 +612460,7 @@ __export(exports_uninstall, {
|
|
|
612437
612460
|
import { execFileSync as execFileSync4 } from "node:child_process";
|
|
612438
612461
|
import { homedir as homedir34 } from "os";
|
|
612439
612462
|
async function uninstall() {
|
|
612440
|
-
writeToStdout(`Uninstalling Rayu CLI (${"1.3.
|
|
612463
|
+
writeToStdout(`Uninstalling Rayu CLI (${"1.3.227"})...
|
|
612441
612464
|
`);
|
|
612442
612465
|
writeToStdout(`Running: npm uninstall -g ${"@rayu-dev/rayu-cli"}
|
|
612443
612466
|
|
|
@@ -612460,7 +612483,7 @@ Try running manually:
|
|
|
612460
612483
|
process.exit(1);
|
|
612461
612484
|
}
|
|
612462
612485
|
writeToStdout(source_default.green(`
|
|
612463
|
-
Successfully uninstalled ${"@rayu-dev/rayu-cli"} ${"1.3.
|
|
612486
|
+
Successfully uninstalled ${"@rayu-dev/rayu-cli"} ${"1.3.227"}
|
|
612464
612487
|
`));
|
|
612465
612488
|
writeToStdout(`Thanks for using Rayu CLI!
|
|
612466
612489
|
`);
|
|
@@ -612512,7 +612535,7 @@ function showFirstRunWelcome() {
|
|
|
612512
612535
|
`);
|
|
612513
612536
|
try {
|
|
612514
612537
|
mkdirSync13(getRayuConfigHomeDir(), { recursive: true });
|
|
612515
|
-
writeFileSync15(markerPath(), "1.3.
|
|
612538
|
+
writeFileSync15(markerPath(), "1.3.227", "utf8");
|
|
612516
612539
|
} catch {}
|
|
612517
612540
|
}
|
|
612518
612541
|
var init_firstRun = __esm(() => {
|
|
@@ -624355,7 +624378,7 @@ async function initializeBetaTracing(resource) {
|
|
|
624355
624378
|
});
|
|
624356
624379
|
import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
|
|
624357
624380
|
setLoggerProvider(loggerProvider);
|
|
624358
|
-
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.3.
|
|
624381
|
+
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.3.227");
|
|
624359
624382
|
setEventLogger(eventLogger);
|
|
624360
624383
|
process.on("beforeExit", async () => {
|
|
624361
624384
|
await loggerProvider?.forceFlush();
|
|
@@ -624395,7 +624418,7 @@ async function initializeTelemetry() {
|
|
|
624395
624418
|
const platform4 = getPlatform();
|
|
624396
624419
|
const baseAttributes = {
|
|
624397
624420
|
[import_semantic_conventions2.ATTR_SERVICE_NAME]: "claude-code",
|
|
624398
|
-
[import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.3.
|
|
624421
|
+
[import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.3.227"
|
|
624399
624422
|
};
|
|
624400
624423
|
if (platform4 === "wsl") {
|
|
624401
624424
|
const wslVersion = getWslVersion();
|
|
@@ -624440,7 +624463,7 @@ async function initializeTelemetry() {
|
|
|
624440
624463
|
} catch {}
|
|
624441
624464
|
};
|
|
624442
624465
|
registerCleanup(shutdownTelemetry2);
|
|
624443
|
-
return meterProvider2.getMeter("com.anthropic.claude_code", "1.3.
|
|
624466
|
+
return meterProvider2.getMeter("com.anthropic.claude_code", "1.3.227");
|
|
624444
624467
|
}
|
|
624445
624468
|
const meterProvider = new import_sdk_metrics2.MeterProvider({
|
|
624446
624469
|
resource,
|
|
@@ -624460,7 +624483,7 @@ async function initializeTelemetry() {
|
|
|
624460
624483
|
});
|
|
624461
624484
|
import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
|
|
624462
624485
|
setLoggerProvider(loggerProvider);
|
|
624463
|
-
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.3.
|
|
624486
|
+
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.3.227");
|
|
624464
624487
|
setEventLogger(eventLogger);
|
|
624465
624488
|
logForDebugging("[3P telemetry] Event logger set successfully");
|
|
624466
624489
|
process.on("beforeExit", async () => {
|
|
@@ -624522,7 +624545,7 @@ Current timeout: ${timeoutMs}ms
|
|
|
624522
624545
|
}
|
|
624523
624546
|
};
|
|
624524
624547
|
registerCleanup(shutdownTelemetry);
|
|
624525
|
-
return meterProvider.getMeter("com.anthropic.claude_code", "1.3.
|
|
624548
|
+
return meterProvider.getMeter("com.anthropic.claude_code", "1.3.227");
|
|
624526
624549
|
}
|
|
624527
624550
|
async function flushTelemetry() {
|
|
624528
624551
|
const meterProvider = getMeterProvider();
|
|
@@ -626035,7 +626058,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
626035
626058
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
626036
626059
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
626037
626060
|
betas: getSdkBetas(),
|
|
626038
|
-
claude_code_version: "1.3.
|
|
626061
|
+
claude_code_version: "1.3.227",
|
|
626039
626062
|
output_style: outputStyle2,
|
|
626040
626063
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
626041
626064
|
skills: inputs.skills.filter((s2) => s2.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -642244,7 +642267,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
642244
642267
|
function getSemverPart(version3) {
|
|
642245
642268
|
return `${import_semver12.major(version3, { loose: true })}.${import_semver12.minor(version3, { loose: true })}.${import_semver12.patch(version3, { loose: true })}`;
|
|
642246
642269
|
}
|
|
642247
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.3.
|
|
642270
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.3.227") {
|
|
642248
642271
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react218.useState(() => getSemverPart(initialVersion));
|
|
642249
642272
|
if (!updatedVersion) {
|
|
642250
642273
|
return null;
|
|
@@ -642284,7 +642307,7 @@ function AutoUpdater({
|
|
|
642284
642307
|
return;
|
|
642285
642308
|
}
|
|
642286
642309
|
if (false) {}
|
|
642287
|
-
const currentVersion = "1.3.
|
|
642310
|
+
const currentVersion = "1.3.227";
|
|
642288
642311
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
642289
642312
|
let latestVersion = await getLatestVersion(channel);
|
|
642290
642313
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -642497,12 +642520,12 @@ function NativeAutoUpdater({
|
|
|
642497
642520
|
logEvent("tengu_native_auto_updater_start", {});
|
|
642498
642521
|
try {
|
|
642499
642522
|
const maxVersion = await getMaxVersion();
|
|
642500
|
-
if (maxVersion && gt("1.3.
|
|
642523
|
+
if (maxVersion && gt("1.3.227", maxVersion)) {
|
|
642501
642524
|
const msg = await getMaxVersionMessage();
|
|
642502
642525
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
642503
642526
|
}
|
|
642504
642527
|
const result = await installLatest(channel);
|
|
642505
|
-
const currentVersion = "1.3.
|
|
642528
|
+
const currentVersion = "1.3.227";
|
|
642506
642529
|
const latencyMs = Date.now() - startTime;
|
|
642507
642530
|
if (result.lockFailed) {
|
|
642508
642531
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -642639,17 +642662,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
642639
642662
|
const maxVersion = await getMaxVersion();
|
|
642640
642663
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
642641
642664
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
642642
|
-
if (gte("1.3.
|
|
642643
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.3.
|
|
642665
|
+
if (gte("1.3.227", maxVersion)) {
|
|
642666
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.3.227"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
642644
642667
|
setUpdateAvailable(false);
|
|
642645
642668
|
return;
|
|
642646
642669
|
}
|
|
642647
642670
|
latest = maxVersion;
|
|
642648
642671
|
}
|
|
642649
|
-
const hasUpdate = latest && !gte("1.3.
|
|
642672
|
+
const hasUpdate = latest && !gte("1.3.227", latest) && !shouldSkipVersion(latest);
|
|
642650
642673
|
setUpdateAvailable(!!hasUpdate);
|
|
642651
642674
|
if (hasUpdate) {
|
|
642652
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.3.
|
|
642675
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.3.227"} -> ${latest}`);
|
|
642653
642676
|
}
|
|
642654
642677
|
};
|
|
642655
642678
|
$3[0] = t1;
|
|
@@ -642683,7 +642706,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
642683
642706
|
wrap: "truncate",
|
|
642684
642707
|
children: [
|
|
642685
642708
|
"currentVersion: ",
|
|
642686
|
-
"1.3.
|
|
642709
|
+
"1.3.227"
|
|
642687
642710
|
]
|
|
642688
642711
|
}, undefined, true, undefined, this);
|
|
642689
642712
|
$3[3] = verbose;
|
|
@@ -650849,7 +650872,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
650849
650872
|
project_dir: getOriginalCwd(),
|
|
650850
650873
|
added_dirs: addedDirs
|
|
650851
650874
|
},
|
|
650852
|
-
version: "1.3.
|
|
650875
|
+
version: "1.3.227",
|
|
650853
650876
|
output_style: {
|
|
650854
650877
|
name: outputStyleName
|
|
650855
650878
|
},
|
|
@@ -662219,7 +662242,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
662219
662242
|
} catch {}
|
|
662220
662243
|
const data = {
|
|
662221
662244
|
trigger,
|
|
662222
|
-
version: "1.3.
|
|
662245
|
+
version: "1.3.227",
|
|
662223
662246
|
platform: process.platform,
|
|
662224
662247
|
transcript,
|
|
662225
662248
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -664575,7 +664598,7 @@ var init_tipRegistry = __esm(() => {
|
|
|
664575
664598
|
},
|
|
664576
664599
|
{
|
|
664577
664600
|
id: "enter-to-steer-in-relatime",
|
|
664578
|
-
content: async () => "Send messages to
|
|
664601
|
+
content: async () => "Send messages to RAYU while it works to steer Rayu in real-time",
|
|
664579
664602
|
cooldownSessions: 20,
|
|
664580
664603
|
isRelevant: async () => true
|
|
664581
664604
|
},
|
|
@@ -674268,7 +674291,7 @@ function WelcomeV2() {
|
|
|
674268
674291
|
dimColor: true,
|
|
674269
674292
|
children: [
|
|
674270
674293
|
"v",
|
|
674271
|
-
"1.3.
|
|
674294
|
+
"1.3.227"
|
|
674272
674295
|
]
|
|
674273
674296
|
}, undefined, true, undefined, this)
|
|
674274
674297
|
]
|
|
@@ -675985,7 +676008,7 @@ function completeOnboarding() {
|
|
|
675985
676008
|
saveGlobalConfig((current) => ({
|
|
675986
676009
|
...current,
|
|
675987
676010
|
hasCompletedOnboarding: true,
|
|
675988
|
-
lastOnboardingVersion: "1.3.
|
|
676011
|
+
lastOnboardingVersion: "1.3.227"
|
|
675989
676012
|
}));
|
|
675990
676013
|
}
|
|
675991
676014
|
function showDialog(root2, renderer) {
|
|
@@ -680285,7 +680308,7 @@ function appendToLog(path30, message) {
|
|
|
680285
680308
|
cwd: getFsImplementation().cwd(),
|
|
680286
680309
|
userType: "external",
|
|
680287
680310
|
sessionId: getSessionId(),
|
|
680288
|
-
version: "1.3.
|
|
680311
|
+
version: "1.3.227"
|
|
680289
680312
|
};
|
|
680290
680313
|
getLogWriter(path30).write(messageWithTimestamp);
|
|
680291
680314
|
}
|
|
@@ -684393,8 +684416,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
684393
684416
|
}
|
|
684394
684417
|
async function checkEnvLessBridgeMinVersion() {
|
|
684395
684418
|
const cfg = await getEnvLessBridgeConfig();
|
|
684396
|
-
if (cfg.min_version && lt("1.3.
|
|
684397
|
-
return `Your version of RAYU (${"1.3.
|
|
684419
|
+
if (cfg.min_version && lt("1.3.227", cfg.min_version)) {
|
|
684420
|
+
return `Your version of RAYU (${"1.3.227"}) is too old for Remote Control.
|
|
684398
684421
|
Version ${cfg.min_version} or higher is required. Run \`claude update\` to update.`;
|
|
684399
684422
|
}
|
|
684400
684423
|
return null;
|
|
@@ -684868,7 +684891,7 @@ async function initBridgeCore(params) {
|
|
|
684868
684891
|
const rawApi = createBridgeApiClient({
|
|
684869
684892
|
baseUrl,
|
|
684870
684893
|
getAccessToken,
|
|
684871
|
-
runnerVersion: "1.3.
|
|
684894
|
+
runnerVersion: "1.3.227",
|
|
684872
684895
|
onDebug: logForDebugging,
|
|
684873
684896
|
onAuth401,
|
|
684874
684897
|
getTrustedDeviceToken
|
|
@@ -690230,7 +690253,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
|
|
|
690230
690253
|
setCwd(cwd3);
|
|
690231
690254
|
const server = new Server({
|
|
690232
690255
|
name: "claude/tengu",
|
|
690233
|
-
version: "1.3.
|
|
690256
|
+
version: "1.3.227"
|
|
690234
690257
|
}, {
|
|
690235
690258
|
capabilities: {
|
|
690236
690259
|
tools: {}
|
|
@@ -692756,7 +692779,7 @@ ${customInstructions}` : customInstructions;
|
|
|
692756
692779
|
}
|
|
692757
692780
|
}
|
|
692758
692781
|
logForDiagnosticsNoPII("info", "started", {
|
|
692759
|
-
version: "1.3.
|
|
692782
|
+
version: "1.3.227",
|
|
692760
692783
|
is_native_binary: isInBundledMode()
|
|
692761
692784
|
});
|
|
692762
692785
|
registerCleanup(async () => {
|
|
@@ -693474,7 +693497,7 @@ Usage: rayu --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
693474
693497
|
pendingHookMessages
|
|
693475
693498
|
}, renderAndRun);
|
|
693476
693499
|
}
|
|
693477
|
-
}).version("1.3.
|
|
693500
|
+
}).version("1.3.227 (Rayu-CLI)", "-v, --version", "Output the version number");
|
|
693478
693501
|
program.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
693479
693502
|
program.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
693480
693503
|
if (canUserConfigureAdvisor()) {
|
|
@@ -693940,7 +693963,7 @@ if (false) {}
|
|
|
693940
693963
|
async function main2() {
|
|
693941
693964
|
const args = process.argv.slice(2);
|
|
693942
693965
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
693943
|
-
console.log(`${"1.3.
|
|
693966
|
+
console.log(`${"1.3.227"} (Rayu-CLI)`);
|
|
693944
693967
|
return;
|
|
693945
693968
|
}
|
|
693946
693969
|
const {
|