@iruidong/code 0.1.8 → 0.1.10
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/QUICKSTART.md +1 -1
- package/dist/cli.js +250 -25
- package/package.json +1 -1
package/QUICKSTART.md
CHANGED
package/dist/cli.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
// ruidong v0.1.
|
|
2
|
+
// ruidong v0.1.10 (built from source)
|
|
3
3
|
// Copyright (c) Anthropic PBC. All rights reserved.
|
|
4
4
|
import { createRequire as __createRequire } from "module";const require=__createRequire(import.meta.url);
|
|
5
5
|
var __defProp = Object.defineProperty;
|
|
@@ -81,8 +81,8 @@ var __callDispose = (stack, error, hasError) => {
|
|
|
81
81
|
var PUBLIC_CLI_VERSION, BUILD_TIME, API_COMPAT_VERSION, API_COMPAT_VERSION_BASE;
|
|
82
82
|
var init_version = __esm({
|
|
83
83
|
"build-src/src/constants/version.ts"() {
|
|
84
|
-
PUBLIC_CLI_VERSION = "0.1.
|
|
85
|
-
BUILD_TIME = "2026-04-
|
|
84
|
+
PUBLIC_CLI_VERSION = "0.1.10";
|
|
85
|
+
BUILD_TIME = "2026-04-04T03:45:00.000Z";
|
|
86
86
|
API_COMPAT_VERSION = "2.1.88";
|
|
87
87
|
API_COMPAT_VERSION_BASE = API_COMPAT_VERSION.match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/)?.[0];
|
|
88
88
|
}
|
|
@@ -24967,6 +24967,100 @@ var init_fullscreen = __esm({
|
|
|
24967
24967
|
}
|
|
24968
24968
|
});
|
|
24969
24969
|
|
|
24970
|
+
// build-src/src/utils/inputTrace.ts
|
|
24971
|
+
function isInputTraceEnabled() {
|
|
24972
|
+
return isEnvTruthy(process.env.RUIDONG_DEBUG_INPUT) || isEnvTruthy(process.env.CLAUDE_CODE_DEBUG_INPUT);
|
|
24973
|
+
}
|
|
24974
|
+
function ensureInputTraceLogging() {
|
|
24975
|
+
if (!isInputTraceEnabled() || inputTraceInitialized) {
|
|
24976
|
+
return;
|
|
24977
|
+
}
|
|
24978
|
+
inputTraceInitialized = true;
|
|
24979
|
+
enableDebugLogging();
|
|
24980
|
+
logForDebugging(
|
|
24981
|
+
`${INPUT_TRACE_PREFIX} enabled pid=${process.pid} term=${process.env.TERM ?? "unset"} termProgram=${process.env.TERM_PROGRAM ?? "unset"} ssh=${process.env.SSH_CONNECTION ? "yes" : "no"} debugLog=${getDebugLogPath()}`
|
|
24982
|
+
);
|
|
24983
|
+
}
|
|
24984
|
+
function logInputTrace(message) {
|
|
24985
|
+
if (!isInputTraceEnabled()) {
|
|
24986
|
+
return;
|
|
24987
|
+
}
|
|
24988
|
+
ensureInputTraceLogging();
|
|
24989
|
+
logForDebugging(`${INPUT_TRACE_PREFIX} ${message}`);
|
|
24990
|
+
}
|
|
24991
|
+
function previewTraceValue(value) {
|
|
24992
|
+
if (value == null) {
|
|
24993
|
+
return String(value);
|
|
24994
|
+
}
|
|
24995
|
+
if (value.length <= MAX_PREVIEW_CHARS) {
|
|
24996
|
+
return JSON.stringify(value);
|
|
24997
|
+
}
|
|
24998
|
+
const preview = JSON.stringify(value.slice(0, MAX_PREVIEW_CHARS));
|
|
24999
|
+
return `${preview}...(+${value.length - MAX_PREVIEW_CHARS} chars)`;
|
|
25000
|
+
}
|
|
25001
|
+
function formatHexBytes(input) {
|
|
25002
|
+
const values = Array.from(input.slice(0, MAX_HEX_BYTES)).map(
|
|
25003
|
+
(byte) => byte.toString(16).padStart(2, "0")
|
|
25004
|
+
);
|
|
25005
|
+
if (input.length > MAX_HEX_BYTES) {
|
|
25006
|
+
values.push(`...(+${input.length - MAX_HEX_BYTES} bytes)`);
|
|
25007
|
+
}
|
|
25008
|
+
return values.join(" ");
|
|
25009
|
+
}
|
|
25010
|
+
function formatChunkForTrace(input) {
|
|
25011
|
+
if (input === null) {
|
|
25012
|
+
return "flush";
|
|
25013
|
+
}
|
|
25014
|
+
const text = typeof input === "string" ? input : input.toString("utf8");
|
|
25015
|
+
const bytes = typeof input === "string" ? Buffer.from(input, "utf8") : input;
|
|
25016
|
+
return `text=${previewTraceValue(text)} hex=${formatHexBytes(bytes)}`;
|
|
25017
|
+
}
|
|
25018
|
+
function summarizeParsedKey(item) {
|
|
25019
|
+
const flags = [
|
|
25020
|
+
item.ctrl ? "ctrl" : null,
|
|
25021
|
+
item.shift ? "shift" : null,
|
|
25022
|
+
item.meta ? "meta" : null,
|
|
25023
|
+
item.option ? "option" : null,
|
|
25024
|
+
item.super ? "super" : null,
|
|
25025
|
+
item.fn ? "fn" : null,
|
|
25026
|
+
item.isPasted ? "pasted" : null
|
|
25027
|
+
].filter(Boolean).join("+");
|
|
25028
|
+
return `key(name=${item.name ?? ""}, seq=${previewTraceValue(item.sequence)}, raw=${previewTraceValue(item.raw)}, flags=${flags || "plain"})`;
|
|
25029
|
+
}
|
|
25030
|
+
function summarizeParsedMouse(item) {
|
|
25031
|
+
return `mouse(button=${item.button}, col=${item.x}, row=${item.y}, seq=${previewTraceValue(item.sequence)})`;
|
|
25032
|
+
}
|
|
25033
|
+
function summarizeParsedInputs(items) {
|
|
25034
|
+
if (items.length === 0) {
|
|
25035
|
+
return "none";
|
|
25036
|
+
}
|
|
25037
|
+
return items.map((item) => {
|
|
25038
|
+
switch (item.kind) {
|
|
25039
|
+
case "key":
|
|
25040
|
+
return summarizeParsedKey(item);
|
|
25041
|
+
case "mouse":
|
|
25042
|
+
return summarizeParsedMouse(item);
|
|
25043
|
+
case "response":
|
|
25044
|
+
return `response(type=${item.response.type}, seq=${previewTraceValue(item.sequence)})`;
|
|
25045
|
+
}
|
|
25046
|
+
}).join(" | ");
|
|
25047
|
+
}
|
|
25048
|
+
function summarizeInputKey(key) {
|
|
25049
|
+
const active = Object.entries(key).filter(([, value]) => value).map(([name]) => name);
|
|
25050
|
+
return active.length > 0 ? active.join("+") : "plain";
|
|
25051
|
+
}
|
|
25052
|
+
var INPUT_TRACE_PREFIX, MAX_PREVIEW_CHARS, MAX_HEX_BYTES, inputTraceInitialized;
|
|
25053
|
+
var init_inputTrace = __esm({
|
|
25054
|
+
"build-src/src/utils/inputTrace.ts"() {
|
|
25055
|
+
init_debug();
|
|
25056
|
+
init_envUtils();
|
|
25057
|
+
INPUT_TRACE_PREFIX = "[input-trace]";
|
|
25058
|
+
MAX_PREVIEW_CHARS = 120;
|
|
25059
|
+
MAX_HEX_BYTES = 64;
|
|
25060
|
+
inputTraceInitialized = false;
|
|
25061
|
+
}
|
|
25062
|
+
});
|
|
25063
|
+
|
|
24970
25064
|
// build-src/src/ink/termio/ansi.ts
|
|
24971
25065
|
function isEscFinal(byte) {
|
|
24972
25066
|
return byte >= 48 && byte <= 126;
|
|
@@ -30737,6 +30831,7 @@ var init_App = __esm({
|
|
|
30737
30831
|
init_earlyInput();
|
|
30738
30832
|
init_envUtils();
|
|
30739
30833
|
init_fullscreen();
|
|
30834
|
+
init_inputTrace();
|
|
30740
30835
|
init_log();
|
|
30741
30836
|
init_emitter();
|
|
30742
30837
|
init_input_event();
|
|
@@ -30827,6 +30922,7 @@ var init_App = __esm({
|
|
|
30827
30922
|
}), children: this.state.error ? /* @__PURE__ */ jsx7(ErrorOverview, { error: this.state.error }) : this.props.children }) }) }) }) }) });
|
|
30828
30923
|
}
|
|
30829
30924
|
componentDidMount() {
|
|
30925
|
+
logInputTrace(`mount stdinTTY=${this.props.stdin.isTTY} stdoutTTY=${this.props.stdout.isTTY} columns=${this.props.terminalColumns} rows=${this.props.terminalRows}`);
|
|
30830
30926
|
if (this.props.stdout.isTTY && !isEnvTruthy(process.env.CLAUDE_CODE_ACCESSIBILITY)) {
|
|
30831
30927
|
this.props.stdout.write(HIDE_CURSOR);
|
|
30832
30928
|
}
|
|
@@ -30863,11 +30959,13 @@ var init_App = __esm({
|
|
|
30863
30959
|
}
|
|
30864
30960
|
stdin.setEncoding("utf8");
|
|
30865
30961
|
if (isEnabled2) {
|
|
30962
|
+
logInputTrace(`setRawMode(enable) count=${this.rawModeEnabledCount} listeners=${stdin.listenerCount("readable")}`);
|
|
30866
30963
|
if (this.rawModeEnabledCount === 0) {
|
|
30867
30964
|
stopCapturingEarlyInput();
|
|
30868
30965
|
stdin.ref();
|
|
30869
30966
|
stdin.setRawMode(true);
|
|
30870
30967
|
stdin.addListener("readable", this.handleReadable);
|
|
30968
|
+
logInputTrace(`rawMode enabled listeners=${stdin.listenerCount("readable")}`);
|
|
30871
30969
|
this.props.stdout.write(EBP);
|
|
30872
30970
|
this.props.stdout.write(EFE);
|
|
30873
30971
|
if (supportsExtendedKeys()) {
|
|
@@ -30889,6 +30987,7 @@ var init_App = __esm({
|
|
|
30889
30987
|
return;
|
|
30890
30988
|
}
|
|
30891
30989
|
if (--this.rawModeEnabledCount === 0) {
|
|
30990
|
+
logInputTrace(`setRawMode(disable) listeners=${stdin.listenerCount("readable")}`);
|
|
30892
30991
|
this.props.stdout.write(DISABLE_MODIFY_OTHER_KEYS);
|
|
30893
30992
|
this.props.stdout.write(DISABLE_KITTY_KEYBOARD);
|
|
30894
30993
|
this.props.stdout.write(DFE);
|
|
@@ -30910,8 +31009,10 @@ var init_App = __esm({
|
|
|
30910
31009
|
};
|
|
30911
31010
|
// Process input through the parser and handle the results
|
|
30912
31011
|
processInput = (input) => {
|
|
31012
|
+
logInputTrace(`processInput raw=${formatChunkForTrace(input)} prevMode=${this.keyParseState.mode} prevIncomplete=${previewTraceValue(this.keyParseState.incomplete)}`);
|
|
30913
31013
|
const [keys, newState] = parseMultipleKeypresses(this.keyParseState, input);
|
|
30914
31014
|
this.keyParseState = newState;
|
|
31015
|
+
logInputTrace(`processInput parsed count=${keys.length} nextMode=${this.keyParseState.mode} incomplete=${previewTraceValue(this.keyParseState.incomplete)} items=${summarizeParsedInputs(keys)}`);
|
|
30915
31016
|
if (keys.length > 0) {
|
|
30916
31017
|
reconciler_default.discreteUpdates(processKeysInBatch, this, keys, void 0, void 0);
|
|
30917
31018
|
}
|
|
@@ -30925,14 +31026,18 @@ var init_App = __esm({
|
|
|
30925
31026
|
handleReadable = () => {
|
|
30926
31027
|
const now = Date.now();
|
|
30927
31028
|
if (now - this.lastStdinTime > STDIN_RESUME_GAP_MS) {
|
|
31029
|
+
logInputTrace(`stdin resume gap=${now - this.lastStdinTime}ms`);
|
|
30928
31030
|
this.props.onStdinResume?.();
|
|
30929
31031
|
}
|
|
30930
31032
|
this.lastStdinTime = now;
|
|
30931
31033
|
try {
|
|
31034
|
+
logInputTrace(`readable start buffered=${this.props.stdin.readableLength} listeners=${this.props.stdin.listenerCount("readable")}`);
|
|
30932
31035
|
let chunk2;
|
|
30933
31036
|
while ((chunk2 = this.props.stdin.read()) !== null) {
|
|
31037
|
+
logInputTrace(`readable chunk ${formatChunkForTrace(chunk2)}`);
|
|
30934
31038
|
this.processInput(chunk2);
|
|
30935
31039
|
}
|
|
31040
|
+
logInputTrace("readable drained");
|
|
30936
31041
|
} catch (error) {
|
|
30937
31042
|
logError(error);
|
|
30938
31043
|
const {
|
|
@@ -30944,6 +31049,7 @@ var init_App = __esm({
|
|
|
30944
31049
|
});
|
|
30945
31050
|
stdin.addListener("readable", this.handleReadable);
|
|
30946
31051
|
}
|
|
31052
|
+
logInputTrace(`readable error recovered listeners=${stdin.listenerCount("readable")}`);
|
|
30947
31053
|
}
|
|
30948
31054
|
};
|
|
30949
31055
|
handleInput = (input) => {
|
|
@@ -75148,7 +75254,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
75148
75254
|
{
|
|
75149
75255
|
name: "ruidong-code",
|
|
75150
75256
|
title: "ruidong",
|
|
75151
|
-
version: "0.1.
|
|
75257
|
+
version: "0.1.10",
|
|
75152
75258
|
description: "Ruidong Code agentic coding tool",
|
|
75153
75259
|
websiteUrl: PRODUCT_URL
|
|
75154
75260
|
},
|
|
@@ -75571,7 +75677,7 @@ var init_client3 = __esm({
|
|
|
75571
75677
|
{
|
|
75572
75678
|
name: "ruidong-code",
|
|
75573
75679
|
title: "ruidong",
|
|
75574
|
-
version: "0.1.
|
|
75680
|
+
version: "0.1.10",
|
|
75575
75681
|
description: "Ruidong Code agentic coding tool",
|
|
75576
75682
|
websiteUrl: PRODUCT_URL
|
|
75577
75683
|
},
|
|
@@ -87270,7 +87376,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
87270
87376
|
);
|
|
87271
87377
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
87272
87378
|
pid: process.pid,
|
|
87273
|
-
currentVersion: "0.1.
|
|
87379
|
+
currentVersion: "0.1.10"
|
|
87274
87380
|
});
|
|
87275
87381
|
return "in_progress";
|
|
87276
87382
|
}
|
|
@@ -87279,7 +87385,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
87279
87385
|
if (!env.isRunningWithBun() && env.isNpmFromWindowsPath()) {
|
|
87280
87386
|
logError(new Error("Windows NPM detected in WSL environment"));
|
|
87281
87387
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
87282
|
-
currentVersion: "0.1.
|
|
87388
|
+
currentVersion: "0.1.10"
|
|
87283
87389
|
});
|
|
87284
87390
|
console.error(`
|
|
87285
87391
|
Error: Windows NPM detected in WSL
|
|
@@ -87946,7 +88052,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
87946
88052
|
}
|
|
87947
88053
|
async function getDoctorDiagnostic() {
|
|
87948
88054
|
const installationType = await getCurrentInstallationType();
|
|
87949
|
-
const version2 = typeof MACRO !== "undefined" && "0.1.
|
|
88055
|
+
const version2 = typeof MACRO !== "undefined" && "0.1.10" ? "0.1.10" : "unknown";
|
|
87950
88056
|
const installationPath = await getInstallationPath();
|
|
87951
88057
|
const invokedBinary = getInvokedBinary();
|
|
87952
88058
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -89026,7 +89132,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
89026
89132
|
version2 = maxVersion;
|
|
89027
89133
|
}
|
|
89028
89134
|
}
|
|
89029
|
-
if (!forceReinstall && version2 === "0.1.
|
|
89135
|
+
if (!forceReinstall && version2 === "0.1.10" && await versionIsAvailable(version2) && await isPossibleClaudeBinary(executablePath)) {
|
|
89030
89136
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
89031
89137
|
logEvent("tengu_native_update_complete", {
|
|
89032
89138
|
latency_ms: Date.now() - startTime,
|
|
@@ -170987,6 +171093,73 @@ import { writeFile as writeFile28 } from "fs/promises";
|
|
|
170987
171093
|
import isEqual6 from "lodash-es/isEqual.js";
|
|
170988
171094
|
import memoize55 from "lodash-es/memoize.js";
|
|
170989
171095
|
import { basename as basename30, dirname as dirname37, isAbsolute as isAbsolute22, join as join94, resolve as resolve29, sep as sep20 } from "path";
|
|
171096
|
+
function isLegacyRuidongMarketplaceEntry(name, entry) {
|
|
171097
|
+
return name === LEGACY_RUIDONG_MARKETPLACE_NAME || entry.source.source === "github" && entry.source.repo === LEGACY_RUIDONG_MARKETPLACE_REPO;
|
|
171098
|
+
}
|
|
171099
|
+
function tryMigrateLegacyRuidongMarketplaceCache(entry) {
|
|
171100
|
+
const fs6 = getFsImplementation();
|
|
171101
|
+
const officialInstallLocation = join94(
|
|
171102
|
+
getMarketplacesCacheDir(),
|
|
171103
|
+
OFFICIAL_MARKETPLACE_NAME
|
|
171104
|
+
);
|
|
171105
|
+
const candidatePaths = [
|
|
171106
|
+
join94(entry.installLocation, ".claude-plugin", "marketplace.json"),
|
|
171107
|
+
entry.installLocation
|
|
171108
|
+
];
|
|
171109
|
+
for (const sourcePath of candidatePaths) {
|
|
171110
|
+
if (!fs6.existsSync(sourcePath)) {
|
|
171111
|
+
continue;
|
|
171112
|
+
}
|
|
171113
|
+
try {
|
|
171114
|
+
fs6.mkdirSync(dirname37(officialInstallLocation));
|
|
171115
|
+
fs6.copyFileSync(sourcePath, officialInstallLocation);
|
|
171116
|
+
return officialInstallLocation;
|
|
171117
|
+
} catch (error) {
|
|
171118
|
+
logForDebugging(
|
|
171119
|
+
`Failed migrating legacy Ruidong marketplace cache from ${sourcePath}: ${errorMessage(error)}`,
|
|
171120
|
+
{ level: "warn" }
|
|
171121
|
+
);
|
|
171122
|
+
}
|
|
171123
|
+
}
|
|
171124
|
+
return null;
|
|
171125
|
+
}
|
|
171126
|
+
async function normalizeKnownMarketplacesConfig(config2) {
|
|
171127
|
+
const legacyEntries = Object.entries(config2).filter(([
|
|
171128
|
+
name,
|
|
171129
|
+
entry
|
|
171130
|
+
]) => isLegacyRuidongMarketplaceEntry(name, entry));
|
|
171131
|
+
if (legacyEntries.length === 0) {
|
|
171132
|
+
return config2;
|
|
171133
|
+
}
|
|
171134
|
+
const normalized = { ...config2 };
|
|
171135
|
+
let changed = false;
|
|
171136
|
+
if (!normalized[OFFICIAL_MARKETPLACE_NAME]) {
|
|
171137
|
+
const [, legacyEntry] = legacyEntries[0];
|
|
171138
|
+
const migratedInstallLocation = tryMigrateLegacyRuidongMarketplaceCache(legacyEntry) ?? join94(getMarketplacesCacheDir(), OFFICIAL_MARKETPLACE_NAME);
|
|
171139
|
+
normalized[OFFICIAL_MARKETPLACE_NAME] = {
|
|
171140
|
+
source: OFFICIAL_MARKETPLACE_SOURCE,
|
|
171141
|
+
installLocation: migratedInstallLocation,
|
|
171142
|
+
lastUpdated: legacyEntry.lastUpdated,
|
|
171143
|
+
autoUpdate: true
|
|
171144
|
+
};
|
|
171145
|
+
changed = true;
|
|
171146
|
+
logForDebugging(
|
|
171147
|
+
`Migrated legacy marketplace '${legacyEntries[0][0]}' to official source ${formatSourceForDisplay(OFFICIAL_MARKETPLACE_SOURCE)}`,
|
|
171148
|
+
{ level: "info" }
|
|
171149
|
+
);
|
|
171150
|
+
}
|
|
171151
|
+
for (const [name] of legacyEntries) {
|
|
171152
|
+
if (name === OFFICIAL_MARKETPLACE_NAME) {
|
|
171153
|
+
continue;
|
|
171154
|
+
}
|
|
171155
|
+
delete normalized[name];
|
|
171156
|
+
changed = true;
|
|
171157
|
+
}
|
|
171158
|
+
if (changed) {
|
|
171159
|
+
await saveKnownMarketplacesConfig(normalized);
|
|
171160
|
+
}
|
|
171161
|
+
return normalized;
|
|
171162
|
+
}
|
|
170990
171163
|
function getKnownMarketplacesFile() {
|
|
170991
171164
|
return join94(getPluginsDirectory(), "known_marketplaces.json");
|
|
170992
171165
|
}
|
|
@@ -171049,7 +171222,7 @@ async function loadKnownMarketplacesConfig() {
|
|
|
171049
171222
|
});
|
|
171050
171223
|
throw new ConfigParseError(errorMsg, configFile, data);
|
|
171051
171224
|
}
|
|
171052
|
-
return parsed.data;
|
|
171225
|
+
return await normalizeKnownMarketplacesConfig(parsed.data);
|
|
171053
171226
|
} catch (error) {
|
|
171054
171227
|
if (isENOENT(error)) {
|
|
171055
171228
|
return {};
|
|
@@ -171342,6 +171515,8 @@ async function gitClone(gitUrl, targetPath, ref, sparsePaths) {
|
|
|
171342
171515
|
const args = [
|
|
171343
171516
|
"-c",
|
|
171344
171517
|
"core.sshCommand=ssh -o BatchMode=yes -o StrictHostKeyChecking=yes",
|
|
171518
|
+
"-c",
|
|
171519
|
+
"credential.helper=",
|
|
171345
171520
|
"clone",
|
|
171346
171521
|
"--depth",
|
|
171347
171522
|
"1"
|
|
@@ -172437,7 +172612,7 @@ async function setMarketplaceAutoUpdate(name, autoUpdate) {
|
|
|
172437
172612
|
}
|
|
172438
172613
|
logForDebugging(`Set autoUpdate=${autoUpdate} for marketplace: ${name}`);
|
|
172439
172614
|
}
|
|
172440
|
-
var GIT_NO_PROMPT_ENV, DEFAULT_PLUGIN_GIT_TIMEOUT_MS, getMarketplace;
|
|
172615
|
+
var LEGACY_RUIDONG_MARKETPLACE_NAME, LEGACY_RUIDONG_MARKETPLACE_REPO, GIT_NO_PROMPT_ENV, DEFAULT_PLUGIN_GIT_TIMEOUT_MS, getMarketplace;
|
|
172441
172616
|
var init_marketplaceManager = __esm({
|
|
172442
172617
|
"build-src/src/utils/plugins/marketplaceManager.ts"() {
|
|
172443
172618
|
init_growthbook();
|
|
@@ -172461,6 +172636,8 @@ var init_marketplaceManager = __esm({
|
|
|
172461
172636
|
init_pluginIdentifier();
|
|
172462
172637
|
init_pluginOptionsStorage();
|
|
172463
172638
|
init_schemas();
|
|
172639
|
+
LEGACY_RUIDONG_MARKETPLACE_NAME = "ruidong-marketplace-seed";
|
|
172640
|
+
LEGACY_RUIDONG_MARKETPLACE_REPO = "Jackwwg83/ruidong-marketplace-seed";
|
|
172464
172641
|
GIT_NO_PROMPT_ENV = {
|
|
172465
172642
|
GIT_TERMINAL_PROMPT: "0",
|
|
172466
172643
|
// Prevent terminal credential prompts
|
|
@@ -185082,31 +185259,49 @@ var init_Cursor = __esm({
|
|
|
185082
185259
|
});
|
|
185083
185260
|
|
|
185084
185261
|
// build-src/src/utils/modifiers.ts
|
|
185262
|
+
function loadNativeModifiers() {
|
|
185263
|
+
if (process.platform !== "darwin") {
|
|
185264
|
+
return null;
|
|
185265
|
+
}
|
|
185266
|
+
if (nativeModuleAvailable === false) {
|
|
185267
|
+
return null;
|
|
185268
|
+
}
|
|
185269
|
+
try {
|
|
185270
|
+
const nativeModule4 = __require("modifiers-napi");
|
|
185271
|
+
nativeModuleAvailable = true;
|
|
185272
|
+
return nativeModule4;
|
|
185273
|
+
} catch (error) {
|
|
185274
|
+
nativeModuleAvailable = false;
|
|
185275
|
+
logForDebugging(
|
|
185276
|
+
`modifiers-napi unavailable; Apple Terminal modifier probing disabled: ${error instanceof Error ? error.message : String(error)}`,
|
|
185277
|
+
{ level: "warn" }
|
|
185278
|
+
);
|
|
185279
|
+
return null;
|
|
185280
|
+
}
|
|
185281
|
+
}
|
|
185085
185282
|
function prewarmModifiers() {
|
|
185086
185283
|
if (prewarmed || process.platform !== "darwin") {
|
|
185087
185284
|
return;
|
|
185088
185285
|
}
|
|
185089
185286
|
prewarmed = true;
|
|
185090
|
-
|
|
185091
|
-
const { prewarm } = __require("modifiers-napi");
|
|
185092
|
-
prewarm();
|
|
185093
|
-
} catch {
|
|
185094
|
-
}
|
|
185287
|
+
loadNativeModifiers()?.prewarm?.();
|
|
185095
185288
|
}
|
|
185096
185289
|
function isModifierPressed(modifier) {
|
|
185097
185290
|
if (process.platform !== "darwin") {
|
|
185098
185291
|
return false;
|
|
185099
185292
|
}
|
|
185100
|
-
const
|
|
185101
|
-
|
|
185102
|
-
|
|
185103
|
-
|
|
185104
|
-
return
|
|
185293
|
+
const nativeModule4 = loadNativeModifiers();
|
|
185294
|
+
if (!nativeModule4) {
|
|
185295
|
+
return false;
|
|
185296
|
+
}
|
|
185297
|
+
return nativeModule4.isModifierPressed(modifier);
|
|
185105
185298
|
}
|
|
185106
|
-
var prewarmed;
|
|
185299
|
+
var prewarmed, nativeModuleAvailable;
|
|
185107
185300
|
var init_modifiers = __esm({
|
|
185108
185301
|
"build-src/src/utils/modifiers.ts"() {
|
|
185302
|
+
init_debug();
|
|
185109
185303
|
prewarmed = false;
|
|
185304
|
+
nativeModuleAvailable = null;
|
|
185110
185305
|
}
|
|
185111
185306
|
});
|
|
185112
185307
|
|
|
@@ -185223,6 +185418,9 @@ function useTextInput({
|
|
|
185223
185418
|
return cursor.del();
|
|
185224
185419
|
}
|
|
185225
185420
|
function submitCurrentValue() {
|
|
185421
|
+
logInputTrace(
|
|
185422
|
+
`text-input submit reason=ctrl-submit text=${previewTraceValue(originalValue)}`
|
|
185423
|
+
);
|
|
185226
185424
|
onSubmit?.(originalValue);
|
|
185227
185425
|
return cursor;
|
|
185228
185426
|
}
|
|
@@ -185292,14 +185490,22 @@ function useTextInput({
|
|
|
185292
185490
|
function handleEnter(key) {
|
|
185293
185491
|
if (multiline && cursor.offset > 0 && cursor.text[cursor.offset - 1] === "\\") {
|
|
185294
185492
|
markBackslashReturnUsed();
|
|
185493
|
+
logInputTrace("text-input enter reason=backslash-return inserts-newline");
|
|
185295
185494
|
return cursor.backspace().insert("\n");
|
|
185296
185495
|
}
|
|
185297
185496
|
if (key.meta || key.shift) {
|
|
185497
|
+
logInputTrace(
|
|
185498
|
+
`text-input enter reason=modifier-newline key=${summarizeInputKey(key)}`
|
|
185499
|
+
);
|
|
185298
185500
|
return cursor.insert("\n");
|
|
185299
185501
|
}
|
|
185300
185502
|
if (env.terminal === "Apple_Terminal" && isModifierPressed("shift")) {
|
|
185503
|
+
logInputTrace("text-input enter reason=apple-terminal-shift-newline");
|
|
185301
185504
|
return cursor.insert("\n");
|
|
185302
185505
|
}
|
|
185506
|
+
logInputTrace(
|
|
185507
|
+
`text-input submit reason=enter key=${summarizeInputKey(key)} text=${previewTraceValue(originalValue)}`
|
|
185508
|
+
);
|
|
185303
185509
|
onSubmit?.(originalValue);
|
|
185304
185510
|
}
|
|
185305
185511
|
function upOrHistoryUp() {
|
|
@@ -185425,7 +185631,11 @@ function useTextInput({
|
|
|
185425
185631
|
}
|
|
185426
185632
|
function onInput(input, key) {
|
|
185427
185633
|
const filteredInput = inputFilter ? inputFilter(input, key) : input;
|
|
185634
|
+
logInputTrace(
|
|
185635
|
+
`text-input onInput raw=${previewTraceValue(input)} filtered=${previewTraceValue(filteredInput)} key=${summarizeInputKey(key)} before=${previewTraceValue(cursor.text)} offset=${cursor.offset}`
|
|
185636
|
+
);
|
|
185428
185637
|
if (filteredInput === "" && input !== "") {
|
|
185638
|
+
logInputTrace("text-input filtered-out input event");
|
|
185429
185639
|
return;
|
|
185430
185640
|
}
|
|
185431
185641
|
const coalescedSubmitSuffix = key.return ? null : getCoalescedSubmitSuffix(filteredInput);
|
|
@@ -185445,9 +185655,15 @@ function useTextInput({
|
|
|
185445
185655
|
}
|
|
185446
185656
|
setOffset(currentCursor.offset);
|
|
185447
185657
|
}
|
|
185658
|
+
logInputTrace(
|
|
185659
|
+
`text-input coalesced-edit after=${previewTraceValue(currentCursor.text)} offset=${currentCursor.offset} submitSuffix=${coalescedSubmitSuffix ?? "none"}`
|
|
185660
|
+
);
|
|
185448
185661
|
resetKillAccumulation();
|
|
185449
185662
|
resetYankState();
|
|
185450
185663
|
if (coalescedSubmitSuffix) {
|
|
185664
|
+
logInputTrace(
|
|
185665
|
+
`text-input submit reason=coalesced-suffix text=${previewTraceValue(currentCursor.text)}`
|
|
185666
|
+
);
|
|
185451
185667
|
onSubmit?.(currentCursor.text);
|
|
185452
185668
|
}
|
|
185453
185669
|
return;
|
|
@@ -185466,10 +185682,18 @@ function useTextInput({
|
|
|
185466
185682
|
}
|
|
185467
185683
|
setOffset(nextCursor.offset);
|
|
185468
185684
|
}
|
|
185685
|
+
logInputTrace(
|
|
185686
|
+
`text-input nextCursor after=${previewTraceValue(nextCursor.text)} offset=${nextCursor.offset} submitSuffix=${coalescedSubmitSuffix ?? "none"}`
|
|
185687
|
+
);
|
|
185469
185688
|
if (coalescedSubmitSuffix) {
|
|
185689
|
+
logInputTrace(
|
|
185690
|
+
`text-input submit reason=coalesced-suffix text=${previewTraceValue(nextCursor.text)}`
|
|
185691
|
+
);
|
|
185470
185692
|
onSubmit?.(nextCursor.text);
|
|
185471
185693
|
}
|
|
185694
|
+
return;
|
|
185472
185695
|
}
|
|
185696
|
+
logInputTrace("text-input handled without cursor update");
|
|
185473
185697
|
}
|
|
185474
185698
|
const ghostTextForRender = inlineGhostText && dim && inlineGhostText.insertPosition === offset ? { text: inlineGhostText.text, dim } : void 0;
|
|
185475
185699
|
const cursorPos = cursor.getPosition();
|
|
@@ -185500,6 +185724,7 @@ var init_useTextInput = __esm({
|
|
|
185500
185724
|
init_Cursor();
|
|
185501
185725
|
init_env();
|
|
185502
185726
|
init_fullscreen();
|
|
185727
|
+
init_inputTrace();
|
|
185503
185728
|
init_modifiers();
|
|
185504
185729
|
init_useDoublePress();
|
|
185505
185730
|
NOOP_HANDLER = () => {
|
|
@@ -187908,7 +188133,7 @@ ${sanitizedDescription}
|
|
|
187908
188133
|
**Environment Info**
|
|
187909
188134
|
- Platform: ${env.platform}
|
|
187910
188135
|
- Terminal: ${env.terminal}
|
|
187911
|
-
- Version: ${"0.1.
|
|
188136
|
+
- Version: ${"0.1.10"}
|
|
187912
188137
|
- Feedback ID: ${feedbackId}
|
|
187913
188138
|
|
|
187914
188139
|
**Errors**
|
|
@@ -254222,7 +254447,7 @@ function generateHtmlReport(data, insights) {
|
|
|
254222
254447
|
</html>`;
|
|
254223
254448
|
}
|
|
254224
254449
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
254225
|
-
const version2 = typeof MACRO !== "undefined" ? "0.1.
|
|
254450
|
+
const version2 = typeof MACRO !== "undefined" ? "0.1.10" : "unknown";
|
|
254226
254451
|
const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
|
|
254227
254452
|
const facets_summary = {
|
|
254228
254453
|
total: facets.size,
|
|
@@ -257986,7 +258211,7 @@ var init_sessionStorage = __esm({
|
|
|
257986
258211
|
init_settings2();
|
|
257987
258212
|
init_slowOperations();
|
|
257988
258213
|
init_uuid();
|
|
257989
|
-
VERSION2 = typeof MACRO !== "undefined" ? "0.1.
|
|
258214
|
+
VERSION2 = typeof MACRO !== "undefined" ? "0.1.10" : "unknown";
|
|
257990
258215
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
257991
258216
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
257992
258217
|
EPHEMERAL_PROGRESS_TYPES = /* @__PURE__ */ new Set([
|