nexrall-code 0.5.90 → 0.5.91
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +913 -572
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -982,7 +982,7 @@ var require_command = __commonJS({
|
|
|
982
982
|
"../../node_modules/.pnpm/commander@12.1.0/node_modules/commander/lib/command.js"(exports2) {
|
|
983
983
|
var EventEmitter4 = __require("node:events").EventEmitter;
|
|
984
984
|
var childProcess = __require("node:child_process");
|
|
985
|
-
var
|
|
985
|
+
var path7 = __require("node:path");
|
|
986
986
|
var fs9 = __require("node:fs");
|
|
987
987
|
var process14 = __require("node:process");
|
|
988
988
|
var { Argument: Argument2, humanReadableArgName } = require_argument();
|
|
@@ -1925,10 +1925,10 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1925
1925
|
let launchWithNode = false;
|
|
1926
1926
|
const sourceExt = [".js", ".ts", ".tsx", ".mjs", ".cjs"];
|
|
1927
1927
|
function findFile(baseDir, baseName) {
|
|
1928
|
-
const localBin =
|
|
1928
|
+
const localBin = path7.resolve(baseDir, baseName);
|
|
1929
1929
|
if (fs9.existsSync(localBin))
|
|
1930
1930
|
return localBin;
|
|
1931
|
-
if (sourceExt.includes(
|
|
1931
|
+
if (sourceExt.includes(path7.extname(baseName)))
|
|
1932
1932
|
return void 0;
|
|
1933
1933
|
const foundExt = sourceExt.find(
|
|
1934
1934
|
(ext) => fs9.existsSync(`${localBin}${ext}`)
|
|
@@ -1948,17 +1948,17 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1948
1948
|
} catch (err) {
|
|
1949
1949
|
resolvedScriptPath = this._scriptPath;
|
|
1950
1950
|
}
|
|
1951
|
-
executableDir =
|
|
1952
|
-
|
|
1951
|
+
executableDir = path7.resolve(
|
|
1952
|
+
path7.dirname(resolvedScriptPath),
|
|
1953
1953
|
executableDir
|
|
1954
1954
|
);
|
|
1955
1955
|
}
|
|
1956
1956
|
if (executableDir) {
|
|
1957
1957
|
let localFile = findFile(executableDir, executableFile);
|
|
1958
1958
|
if (!localFile && !subcommand._executableFile && this._scriptPath) {
|
|
1959
|
-
const legacyName =
|
|
1959
|
+
const legacyName = path7.basename(
|
|
1960
1960
|
this._scriptPath,
|
|
1961
|
-
|
|
1961
|
+
path7.extname(this._scriptPath)
|
|
1962
1962
|
);
|
|
1963
1963
|
if (legacyName !== this._name) {
|
|
1964
1964
|
localFile = findFile(
|
|
@@ -1969,7 +1969,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1969
1969
|
}
|
|
1970
1970
|
executableFile = localFile || executableFile;
|
|
1971
1971
|
}
|
|
1972
|
-
launchWithNode = sourceExt.includes(
|
|
1972
|
+
launchWithNode = sourceExt.includes(path7.extname(executableFile));
|
|
1973
1973
|
let proc;
|
|
1974
1974
|
if (process14.platform !== "win32") {
|
|
1975
1975
|
if (launchWithNode) {
|
|
@@ -2826,7 +2826,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
2826
2826
|
* @return {Command}
|
|
2827
2827
|
*/
|
|
2828
2828
|
nameFromFilename(filename) {
|
|
2829
|
-
this._name =
|
|
2829
|
+
this._name = path7.basename(filename, path7.extname(filename));
|
|
2830
2830
|
return this;
|
|
2831
2831
|
}
|
|
2832
2832
|
/**
|
|
@@ -2840,10 +2840,10 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
2840
2840
|
* @param {string} [path]
|
|
2841
2841
|
* @return {(string|null|Command)}
|
|
2842
2842
|
*/
|
|
2843
|
-
executableDir(
|
|
2844
|
-
if (
|
|
2843
|
+
executableDir(path8) {
|
|
2844
|
+
if (path8 === void 0)
|
|
2845
2845
|
return this._executableDir;
|
|
2846
|
-
this._executableDir =
|
|
2846
|
+
this._executableDir = path8;
|
|
2847
2847
|
return this;
|
|
2848
2848
|
}
|
|
2849
2849
|
/**
|
|
@@ -3159,10 +3159,10 @@ var require_auth = __commonJS({
|
|
|
3159
3159
|
exports2.getRefreshToken = getRefreshToken;
|
|
3160
3160
|
exports2.updateTokens = updateTokens;
|
|
3161
3161
|
var fs9 = __importStar(__require("fs"));
|
|
3162
|
-
var
|
|
3163
|
-
var
|
|
3164
|
-
var CONFIG_DIR =
|
|
3165
|
-
var CONFIG_FILE =
|
|
3162
|
+
var path7 = __importStar(__require("path"));
|
|
3163
|
+
var os6 = __importStar(__require("os"));
|
|
3164
|
+
var CONFIG_DIR = path7.join(os6.homedir(), ".nexrall");
|
|
3165
|
+
var CONFIG_FILE = path7.join(CONFIG_DIR, "config.json");
|
|
3166
3166
|
function ensureConfigDir() {
|
|
3167
3167
|
if (!fs9.existsSync(CONFIG_DIR)) {
|
|
3168
3168
|
fs9.mkdirSync(CONFIG_DIR, { recursive: true });
|
|
@@ -8180,22 +8180,22 @@ var init_from = __esm({
|
|
|
8180
8180
|
init_file();
|
|
8181
8181
|
init_fetch_blob();
|
|
8182
8182
|
({ stat } = fs);
|
|
8183
|
-
blobFromSync = (
|
|
8184
|
-
blobFrom = (
|
|
8185
|
-
fileFrom = (
|
|
8186
|
-
fileFromSync = (
|
|
8187
|
-
fromBlob = (stat2,
|
|
8188
|
-
path:
|
|
8183
|
+
blobFromSync = (path7, type) => fromBlob(statSync(path7), path7, type);
|
|
8184
|
+
blobFrom = (path7, type) => stat(path7).then((stat2) => fromBlob(stat2, path7, type));
|
|
8185
|
+
fileFrom = (path7, type) => stat(path7).then((stat2) => fromFile(stat2, path7, type));
|
|
8186
|
+
fileFromSync = (path7, type) => fromFile(statSync(path7), path7, type);
|
|
8187
|
+
fromBlob = (stat2, path7, type = "") => new fetch_blob_default([new BlobDataItem({
|
|
8188
|
+
path: path7,
|
|
8189
8189
|
size: stat2.size,
|
|
8190
8190
|
lastModified: stat2.mtimeMs,
|
|
8191
8191
|
start: 0
|
|
8192
8192
|
})], { type });
|
|
8193
|
-
fromFile = (stat2,
|
|
8194
|
-
path:
|
|
8193
|
+
fromFile = (stat2, path7, type = "") => new file_default([new BlobDataItem({
|
|
8194
|
+
path: path7,
|
|
8195
8195
|
size: stat2.size,
|
|
8196
8196
|
lastModified: stat2.mtimeMs,
|
|
8197
8197
|
start: 0
|
|
8198
|
-
})], basename(
|
|
8198
|
+
})], basename(path7), { type, lastModified: stat2.mtimeMs });
|
|
8199
8199
|
BlobDataItem = class _BlobDataItem {
|
|
8200
8200
|
#path;
|
|
8201
8201
|
#start;
|
|
@@ -10780,7 +10780,7 @@ var require_sandbox = __commonJS({
|
|
|
10780
10780
|
exports2.parseSandboxConfig = parseSandboxConfig;
|
|
10781
10781
|
exports2.wrapCommandForSandbox = wrapCommandForSandbox;
|
|
10782
10782
|
var child_process_1 = __require("child_process");
|
|
10783
|
-
var
|
|
10783
|
+
var os6 = __importStar(__require("os"));
|
|
10784
10784
|
function parseSandboxConfig(raw) {
|
|
10785
10785
|
if (raw === void 0 || raw === null || raw === false || raw === "off")
|
|
10786
10786
|
return null;
|
|
@@ -10825,9 +10825,9 @@ var require_sandbox = __commonJS({
|
|
|
10825
10825
|
return lines.join("\n");
|
|
10826
10826
|
}
|
|
10827
10827
|
function wrapCommandForSandbox(command, workDir, cfg) {
|
|
10828
|
-
const platform3 =
|
|
10828
|
+
const platform3 = os6.platform();
|
|
10829
10829
|
if (platform3 === "darwin") {
|
|
10830
|
-
const writePaths = Array.from(/* @__PURE__ */ new Set([workDir, "/tmp", "/private/tmp", "/private/var/folders",
|
|
10830
|
+
const writePaths = Array.from(/* @__PURE__ */ new Set([workDir, "/tmp", "/private/tmp", "/private/var/folders", os6.tmpdir(), ...cfg.writePaths]));
|
|
10831
10831
|
const profile = buildSeatbeltProfile(writePaths, cfg.network);
|
|
10832
10832
|
return {
|
|
10833
10833
|
command: `sandbox-exec -p ${shQuote(profile)} /bin/sh -c ${shQuote(command)}`,
|
|
@@ -11163,16 +11163,16 @@ var require_memory = __commonJS({
|
|
|
11163
11163
|
exports2.agentMemoryPreamble = agentMemoryPreamble;
|
|
11164
11164
|
exports2.compactMemoryIfNeeded = compactMemoryIfNeeded2;
|
|
11165
11165
|
var fs9 = __importStar(__require("fs"));
|
|
11166
|
-
var
|
|
11167
|
-
var
|
|
11166
|
+
var os6 = __importStar(__require("os"));
|
|
11167
|
+
var path7 = __importStar(__require("path"));
|
|
11168
11168
|
var crypto5 = __importStar(__require("crypto"));
|
|
11169
|
-
var MEMORY_ROOT = process.env.NEXRALL_MEMORY_DIR ||
|
|
11170
|
-
var GLOBAL_FILE =
|
|
11169
|
+
var MEMORY_ROOT = process.env.NEXRALL_MEMORY_DIR || path7.join(os6.homedir(), ".nexrall", "memory");
|
|
11170
|
+
var GLOBAL_FILE = path7.join(MEMORY_ROOT, "global.md");
|
|
11171
11171
|
function memoryFilePath(scope, workDir) {
|
|
11172
11172
|
if (scope === "global" || !workDir)
|
|
11173
11173
|
return GLOBAL_FILE;
|
|
11174
|
-
const key = crypto5.createHash("sha1").update(
|
|
11175
|
-
return
|
|
11174
|
+
const key = crypto5.createHash("sha1").update(path7.resolve(workDir)).digest("hex").slice(0, 16);
|
|
11175
|
+
return path7.join(MEMORY_ROOT, `project-${key}.md`);
|
|
11176
11176
|
}
|
|
11177
11177
|
exports2.MEMORY_ENTRY_MAX_CHARS = 400;
|
|
11178
11178
|
exports2.MEMORY_MAX_BYTES = 12e3;
|
|
@@ -11182,16 +11182,16 @@ var require_memory = __commonJS({
|
|
|
11182
11182
|
var _locks = /* @__PURE__ */ new Map();
|
|
11183
11183
|
async function withLock(key, fn) {
|
|
11184
11184
|
const prev = _locks.get(key) ?? Promise.resolve();
|
|
11185
|
-
let
|
|
11185
|
+
let release3;
|
|
11186
11186
|
const next = new Promise((res) => {
|
|
11187
|
-
|
|
11187
|
+
release3 = res;
|
|
11188
11188
|
});
|
|
11189
11189
|
_locks.set(key, prev.then(() => next));
|
|
11190
11190
|
try {
|
|
11191
11191
|
await prev;
|
|
11192
11192
|
return await fn();
|
|
11193
11193
|
} finally {
|
|
11194
|
-
|
|
11194
|
+
release3();
|
|
11195
11195
|
if (_locks.get(key) === next)
|
|
11196
11196
|
_locks.delete(key);
|
|
11197
11197
|
}
|
|
@@ -11204,7 +11204,7 @@ var require_memory = __commonJS({
|
|
|
11204
11204
|
}
|
|
11205
11205
|
}
|
|
11206
11206
|
function writeMemoryFile(file, content) {
|
|
11207
|
-
fs9.mkdirSync(
|
|
11207
|
+
fs9.mkdirSync(path7.dirname(file), { recursive: true });
|
|
11208
11208
|
fs9.writeFileSync(file, content, "utf-8");
|
|
11209
11209
|
}
|
|
11210
11210
|
function evictOldest(content, maxBytes) {
|
|
@@ -11251,7 +11251,7 @@ ${globalMem}`);
|
|
|
11251
11251
|
if (workDir) {
|
|
11252
11252
|
const projMem = readMemory2("project", workDir);
|
|
11253
11253
|
if (projMem)
|
|
11254
|
-
parts.push(`[Project memories \u2014 ${
|
|
11254
|
+
parts.push(`[Project memories \u2014 ${path7.basename(path7.resolve(workDir))}]
|
|
11255
11255
|
${projMem}`);
|
|
11256
11256
|
}
|
|
11257
11257
|
return parts.join("\n\n");
|
|
@@ -11280,15 +11280,15 @@ ${projMem}`);
|
|
|
11280
11280
|
const file = `${agentName}.md`;
|
|
11281
11281
|
let dir;
|
|
11282
11282
|
if (scope === "user") {
|
|
11283
|
-
dir =
|
|
11283
|
+
dir = path7.join(MEMORY_ROOT, "agent-memory");
|
|
11284
11284
|
} else {
|
|
11285
11285
|
if (!workDir)
|
|
11286
11286
|
return null;
|
|
11287
|
-
dir =
|
|
11287
|
+
dir = path7.join(path7.resolve(workDir), ".nexrall", scope === "local" ? "agent-memory-local" : "agent-memory");
|
|
11288
11288
|
}
|
|
11289
|
-
const full =
|
|
11290
|
-
const rel =
|
|
11291
|
-
if (rel.startsWith("..") ||
|
|
11289
|
+
const full = path7.join(dir, file);
|
|
11290
|
+
const rel = path7.relative(dir, full);
|
|
11291
|
+
if (rel.startsWith("..") || path7.isAbsolute(rel))
|
|
11292
11292
|
return null;
|
|
11293
11293
|
return full;
|
|
11294
11294
|
}
|
|
@@ -11424,18 +11424,18 @@ var require_plugins = __commonJS({
|
|
|
11424
11424
|
exports2.pluginHooks = pluginHooks;
|
|
11425
11425
|
exports2.pluginMcpServers = pluginMcpServers;
|
|
11426
11426
|
var fs9 = __importStar(__require("fs"));
|
|
11427
|
-
var
|
|
11428
|
-
var
|
|
11427
|
+
var path7 = __importStar(__require("path"));
|
|
11428
|
+
var os6 = __importStar(__require("os"));
|
|
11429
11429
|
var DISABLED_MARKER = ".disabled";
|
|
11430
11430
|
function isPluginDisabled(dir) {
|
|
11431
11431
|
try {
|
|
11432
|
-
return fs9.statSync(
|
|
11432
|
+
return fs9.statSync(path7.join(dir, DISABLED_MARKER)).isFile();
|
|
11433
11433
|
} catch {
|
|
11434
11434
|
return false;
|
|
11435
11435
|
}
|
|
11436
11436
|
}
|
|
11437
11437
|
function setPluginDisabled(dir, disabled) {
|
|
11438
|
-
const marker =
|
|
11438
|
+
const marker = path7.join(dir, DISABLED_MARKER);
|
|
11439
11439
|
if (disabled) {
|
|
11440
11440
|
fs9.writeFileSync(marker, "");
|
|
11441
11441
|
} else {
|
|
@@ -11446,13 +11446,13 @@ var require_plugins = __commonJS({
|
|
|
11446
11446
|
}
|
|
11447
11447
|
}
|
|
11448
11448
|
exports2.FILE_CANDIDATES = {
|
|
11449
|
-
manifest: ["plugin.json",
|
|
11450
|
-
hooks: ["hooks.json",
|
|
11449
|
+
manifest: ["plugin.json", path7.join(".claude-plugin", "plugin.json")],
|
|
11450
|
+
hooks: ["hooks.json", path7.join("hooks", "hooks.json")],
|
|
11451
11451
|
mcp: ["mcp.json", ".mcp.json"]
|
|
11452
11452
|
};
|
|
11453
11453
|
function resolvePluginFile(dir, kind) {
|
|
11454
11454
|
for (const rel of exports2.FILE_CANDIDATES[kind]) {
|
|
11455
|
-
const full =
|
|
11455
|
+
const full = path7.join(dir, rel);
|
|
11456
11456
|
try {
|
|
11457
11457
|
if (fs9.statSync(full).isFile())
|
|
11458
11458
|
return full;
|
|
@@ -11487,7 +11487,7 @@ var require_plugins = __commonJS({
|
|
|
11487
11487
|
for (const entry of entries) {
|
|
11488
11488
|
if (!entry.isDirectory() && !entry.isSymbolicLink())
|
|
11489
11489
|
continue;
|
|
11490
|
-
const dir =
|
|
11490
|
+
const dir = path7.join(root, entry.name);
|
|
11491
11491
|
try {
|
|
11492
11492
|
if (!fs9.statSync(dir).isDirectory())
|
|
11493
11493
|
continue;
|
|
@@ -11503,18 +11503,18 @@ var require_plugins = __commonJS({
|
|
|
11503
11503
|
}
|
|
11504
11504
|
function loadPlugins3(workDir) {
|
|
11505
11505
|
const out = /* @__PURE__ */ new Map();
|
|
11506
|
-
scanRoot(
|
|
11507
|
-
scanRoot(
|
|
11506
|
+
scanRoot(path7.join(workDir, ".nexrall", "plugins"), "project", out);
|
|
11507
|
+
scanRoot(path7.join(os6.homedir(), ".nexrall", "plugins"), "global", out);
|
|
11508
11508
|
return [...out.values()];
|
|
11509
11509
|
}
|
|
11510
11510
|
function findPlugin(workDir, name, scope) {
|
|
11511
11511
|
const out = /* @__PURE__ */ new Map();
|
|
11512
|
-
const root = scope === "project" ?
|
|
11512
|
+
const root = scope === "project" ? path7.join(workDir, ".nexrall", "plugins") : path7.join(os6.homedir(), ".nexrall", "plugins");
|
|
11513
11513
|
scanRoot(root, scope, out);
|
|
11514
11514
|
return out.get(name);
|
|
11515
11515
|
}
|
|
11516
11516
|
function pluginAssetDirs(workDir, kind) {
|
|
11517
|
-
return loadPlugins3(workDir).filter((p) => !p.disabled).map((p) =>
|
|
11517
|
+
return loadPlugins3(workDir).filter((p) => !p.disabled).map((p) => path7.join(p.dir, kind)).filter((d) => {
|
|
11518
11518
|
try {
|
|
11519
11519
|
return fs9.statSync(d).isDirectory();
|
|
11520
11520
|
} catch {
|
|
@@ -11643,8 +11643,8 @@ var require_loader = __commonJS({
|
|
|
11643
11643
|
exports2.expandBody = expandBody;
|
|
11644
11644
|
exports2.expandCommand = expandCommand;
|
|
11645
11645
|
var fs9 = __importStar(__require("fs"));
|
|
11646
|
-
var
|
|
11647
|
-
var
|
|
11646
|
+
var path7 = __importStar(__require("path"));
|
|
11647
|
+
var os6 = __importStar(__require("os"));
|
|
11648
11648
|
var child_process_1 = __require("child_process");
|
|
11649
11649
|
var index_1 = require_plugins();
|
|
11650
11650
|
var frontmatter_1 = require_frontmatter();
|
|
@@ -11691,9 +11691,9 @@ var require_loader = __commonJS({
|
|
|
11691
11691
|
}
|
|
11692
11692
|
for (const file of files) {
|
|
11693
11693
|
try {
|
|
11694
|
-
const raw = fs9.readFileSync(
|
|
11694
|
+
const raw = fs9.readFileSync(path7.join(dir, file), "utf-8");
|
|
11695
11695
|
const { meta, body } = (0, frontmatter_1.parseFrontmatter)(raw);
|
|
11696
|
-
const name = (meta.name ||
|
|
11696
|
+
const name = (meta.name || path7.basename(file, ".md")).trim().toLowerCase();
|
|
11697
11697
|
if (!name)
|
|
11698
11698
|
continue;
|
|
11699
11699
|
if (source2 !== "project" && into.has(name))
|
|
@@ -11713,8 +11713,8 @@ var require_loader = __commonJS({
|
|
|
11713
11713
|
}
|
|
11714
11714
|
function loadSlashCommands(workDir) {
|
|
11715
11715
|
const out = /* @__PURE__ */ new Map();
|
|
11716
|
-
loadDir(
|
|
11717
|
-
loadDir(
|
|
11716
|
+
loadDir(path7.join(workDir, ".nexrall", "commands"), "project", out);
|
|
11717
|
+
loadDir(path7.join(os6.homedir(), ".nexrall", "commands"), "global", out);
|
|
11718
11718
|
for (const dir of (0, index_1.pluginAssetDirs)(workDir, "commands"))
|
|
11719
11719
|
loadDir(dir, "plugin", out);
|
|
11720
11720
|
for (const cmd of BUILTIN_COMMANDS) {
|
|
@@ -11740,7 +11740,7 @@ var require_loader = __commonJS({
|
|
|
11740
11740
|
}
|
|
11741
11741
|
});
|
|
11742
11742
|
out = out.replace(/(^|\s)@([^\s]+)/g, (_m, lead, rel) => {
|
|
11743
|
-
const abs =
|
|
11743
|
+
const abs = path7.isAbsolute(rel) ? rel : path7.join(workDir, rel);
|
|
11744
11744
|
try {
|
|
11745
11745
|
const content = fs9.readFileSync(abs, "utf-8").slice(0, 12e3);
|
|
11746
11746
|
return `${lead}
|
|
@@ -11825,8 +11825,8 @@ var require_skills = __commonJS({
|
|
|
11825
11825
|
exports2.summariseSkills = summariseSkills;
|
|
11826
11826
|
exports2.expandSkill = expandSkill2;
|
|
11827
11827
|
var fs9 = __importStar(__require("fs"));
|
|
11828
|
-
var
|
|
11829
|
-
var
|
|
11828
|
+
var path7 = __importStar(__require("path"));
|
|
11829
|
+
var os6 = __importStar(__require("os"));
|
|
11830
11830
|
var index_1 = require_plugins();
|
|
11831
11831
|
var loader_1 = require_loader();
|
|
11832
11832
|
var frontmatter_1 = require_frontmatter();
|
|
@@ -11863,9 +11863,9 @@ var require_skills = __commonJS({
|
|
|
11863
11863
|
}
|
|
11864
11864
|
for (const file of files) {
|
|
11865
11865
|
try {
|
|
11866
|
-
const raw = fs9.readFileSync(
|
|
11866
|
+
const raw = fs9.readFileSync(path7.join(dir, file), "utf-8");
|
|
11867
11867
|
const { meta, body } = (0, frontmatter_1.parseFrontmatter)(raw);
|
|
11868
|
-
const name = (meta.name ||
|
|
11868
|
+
const name = (meta.name || path7.basename(file, ".md")).trim().toLowerCase();
|
|
11869
11869
|
if (!name)
|
|
11870
11870
|
continue;
|
|
11871
11871
|
if (source2 !== "project" && into.has(name))
|
|
@@ -11885,8 +11885,8 @@ var require_skills = __commonJS({
|
|
|
11885
11885
|
for (const entry of entries) {
|
|
11886
11886
|
if (!entry.isDirectory() && !entry.isSymbolicLink())
|
|
11887
11887
|
continue;
|
|
11888
|
-
const skillDir =
|
|
11889
|
-
const skillFile =
|
|
11888
|
+
const skillDir = path7.join(root, entry.name);
|
|
11889
|
+
const skillFile = path7.join(skillDir, "SKILL.md");
|
|
11890
11890
|
try {
|
|
11891
11891
|
if (!fs9.statSync(skillFile).isFile())
|
|
11892
11892
|
continue;
|
|
@@ -11944,10 +11944,10 @@ var require_skills = __commonJS({
|
|
|
11944
11944
|
];
|
|
11945
11945
|
function loadSkills2(workDir) {
|
|
11946
11946
|
const out = /* @__PURE__ */ new Map();
|
|
11947
|
-
loadFlatCommandDir(
|
|
11948
|
-
loadSkillDir(
|
|
11949
|
-
loadFlatCommandDir(
|
|
11950
|
-
loadSkillDir(
|
|
11947
|
+
loadFlatCommandDir(path7.join(workDir, ".nexrall", "commands"), "project", out);
|
|
11948
|
+
loadSkillDir(path7.join(workDir, ".nexrall", "skills"), "project", out);
|
|
11949
|
+
loadFlatCommandDir(path7.join(os6.homedir(), ".nexrall", "commands"), "global", out);
|
|
11950
|
+
loadSkillDir(path7.join(os6.homedir(), ".nexrall", "skills"), "global", out);
|
|
11951
11951
|
for (const dir of (0, index_1.pluginAssetDirs)(workDir, "commands"))
|
|
11952
11952
|
loadFlatCommandDir(dir, "plugin", out);
|
|
11953
11953
|
for (const dir of (0, index_1.pluginAssetDirs)(workDir, "skills"))
|
|
@@ -12004,10 +12004,10 @@ var require_testIntegrity = __commonJS({
|
|
|
12004
12004
|
exports2.decodeTestIntegrityMarker = decodeTestIntegrityMarker;
|
|
12005
12005
|
exports2.stripTestIntegrityMarker = stripTestIntegrityMarker;
|
|
12006
12006
|
var TEST_PATH_RE = /(?:^|[\/\\])(?:tests?|spec|__tests__|testing)[\/\\]|(?:\.|_|-)(?:test|spec|tests)\.[a-z]+$|(?:^|[\/\\])test_[^\/\\]+\.py$|(?:^|[\/\\])[^\/\\]+_test\.(?:go|py|rb)$|Test[^\/\\]*\.(?:java|kt|cs)$|(?:^|[\/\\])[^\/\\]*Tests?\.(?:java|kt|cs)$/i;
|
|
12007
|
-
function isTestFile(
|
|
12008
|
-
if (!
|
|
12007
|
+
function isTestFile(path7) {
|
|
12008
|
+
if (!path7 || typeof path7 !== "string")
|
|
12009
12009
|
return false;
|
|
12010
|
-
return TEST_PATH_RE.test(
|
|
12010
|
+
return TEST_PATH_RE.test(path7);
|
|
12011
12011
|
}
|
|
12012
12012
|
var ASSERTION_RES = [
|
|
12013
12013
|
/\bexpect\s*\(/g,
|
|
@@ -12097,8 +12097,8 @@ var require_testIntegrity = __commonJS({
|
|
|
12097
12097
|
}
|
|
12098
12098
|
return n;
|
|
12099
12099
|
}
|
|
12100
|
-
function analyzeTestEdit(
|
|
12101
|
-
if (!isTestFile(
|
|
12100
|
+
function analyzeTestEdit(path7, oldText, newText) {
|
|
12101
|
+
if (!isTestFile(path7)) {
|
|
12102
12102
|
return { isTestFile: false, suspicious: false, findings: [] };
|
|
12103
12103
|
}
|
|
12104
12104
|
const findings = [];
|
|
@@ -12146,23 +12146,23 @@ var require_testIntegrity = __commonJS({
|
|
|
12146
12146
|
function analyzeWriteToolForTestIntegrity(toolName, input) {
|
|
12147
12147
|
if (!input)
|
|
12148
12148
|
return null;
|
|
12149
|
-
const
|
|
12150
|
-
if (!isTestFile(
|
|
12149
|
+
const path7 = typeof input.path === "string" ? input.path : typeof input.file_path === "string" ? input.file_path : "";
|
|
12150
|
+
if (!isTestFile(path7))
|
|
12151
12151
|
return null;
|
|
12152
12152
|
if (toolName === "edit_file") {
|
|
12153
12153
|
const oldText = typeof input.old_string === "string" ? input.old_string : "";
|
|
12154
12154
|
const newText = typeof input.new_string === "string" ? input.new_string : "";
|
|
12155
|
-
return analyzeTestEdit(
|
|
12155
|
+
return analyzeTestEdit(path7, oldText, newText);
|
|
12156
12156
|
}
|
|
12157
12157
|
if (toolName === "multi_edit" && Array.isArray(input.edits)) {
|
|
12158
12158
|
const edits = input.edits;
|
|
12159
12159
|
const oldText = edits.map((e2) => typeof e2.old_string === "string" ? e2.old_string : "").join("\n");
|
|
12160
12160
|
const newText = edits.map((e2) => typeof e2.new_string === "string" ? e2.new_string : "").join("\n");
|
|
12161
|
-
return analyzeTestEdit(
|
|
12161
|
+
return analyzeTestEdit(path7, oldText, newText);
|
|
12162
12162
|
}
|
|
12163
12163
|
if (toolName === "write_file") {
|
|
12164
12164
|
const content = typeof input.content === "string" ? input.content : "";
|
|
12165
|
-
return analyzeTestEdit(
|
|
12165
|
+
return analyzeTestEdit(path7, "", content);
|
|
12166
12166
|
}
|
|
12167
12167
|
return null;
|
|
12168
12168
|
}
|
|
@@ -12222,19 +12222,19 @@ var require_crossFile = __commonJS({
|
|
|
12222
12222
|
{ kind: "def", re: /^def\s+([A-Za-z_][\w]*)/gm },
|
|
12223
12223
|
{ kind: "class", re: /^class\s+([A-Za-z_][\w]*)/gm }
|
|
12224
12224
|
];
|
|
12225
|
-
function isJsLike(
|
|
12226
|
-
return /\.(?:m?[jt]sx?|cjs|cts|mts)$/.test(
|
|
12225
|
+
function isJsLike(path7) {
|
|
12226
|
+
return /\.(?:m?[jt]sx?|cjs|cts|mts)$/.test(path7);
|
|
12227
12227
|
}
|
|
12228
|
-
function isPy(
|
|
12229
|
-
return /\.py$/.test(
|
|
12228
|
+
function isPy(path7) {
|
|
12229
|
+
return /\.py$/.test(path7);
|
|
12230
12230
|
}
|
|
12231
|
-
function extractExportedSymbols(
|
|
12231
|
+
function extractExportedSymbols(path7, content) {
|
|
12232
12232
|
const out = /* @__PURE__ */ new Map();
|
|
12233
12233
|
const add = (name, kind) => {
|
|
12234
12234
|
if (name && !out.has(name))
|
|
12235
12235
|
out.set(name, kind);
|
|
12236
12236
|
};
|
|
12237
|
-
if (isJsLike(
|
|
12237
|
+
if (isJsLike(path7)) {
|
|
12238
12238
|
for (const { kind, re } of JS_EXPORT_RES) {
|
|
12239
12239
|
re.lastIndex = 0;
|
|
12240
12240
|
let m2;
|
|
@@ -12254,7 +12254,7 @@ var require_crossFile = __commonJS({
|
|
|
12254
12254
|
add(name, "export");
|
|
12255
12255
|
}
|
|
12256
12256
|
}
|
|
12257
|
-
} else if (isPy(
|
|
12257
|
+
} else if (isPy(path7)) {
|
|
12258
12258
|
for (const { kind, re } of PY_DEF_RES) {
|
|
12259
12259
|
re.lastIndex = 0;
|
|
12260
12260
|
let m2;
|
|
@@ -12264,11 +12264,11 @@ var require_crossFile = __commonJS({
|
|
|
12264
12264
|
}
|
|
12265
12265
|
return [...out.entries()].map(([name, kind]) => ({ name, kind }));
|
|
12266
12266
|
}
|
|
12267
|
-
function findRemovedExports(
|
|
12268
|
-
const before = extractExportedSymbols(
|
|
12267
|
+
function findRemovedExports(path7, oldContent, newContent) {
|
|
12268
|
+
const before = extractExportedSymbols(path7, oldContent);
|
|
12269
12269
|
if (before.length === 0)
|
|
12270
12270
|
return [];
|
|
12271
|
-
const afterNames = new Set(extractExportedSymbols(
|
|
12271
|
+
const afterNames = new Set(extractExportedSymbols(path7, newContent).map((s2) => s2.name));
|
|
12272
12272
|
return before.filter((s2) => !afterNames.has(s2.name));
|
|
12273
12273
|
}
|
|
12274
12274
|
var NOISY_NAMES = /* @__PURE__ */ new Set(["default", "index", "main", "test", "get", "set", "run", "app", "data", "item", "value"]);
|
|
@@ -12336,7 +12336,7 @@ var require_symbols = __commonJS({
|
|
|
12336
12336
|
exports2.getSymbols = getSymbols;
|
|
12337
12337
|
exports2.getWorkspaceSymbols = getWorkspaceSymbols;
|
|
12338
12338
|
var fs9 = __importStar(__require("fs"));
|
|
12339
|
-
var
|
|
12339
|
+
var path7 = __importStar(__require("path"));
|
|
12340
12340
|
var LANGS = [
|
|
12341
12341
|
{
|
|
12342
12342
|
exts: [".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs", ".mts", ".cts"],
|
|
@@ -12436,7 +12436,7 @@ var require_symbols = __commonJS({
|
|
|
12436
12436
|
}
|
|
12437
12437
|
var MAX_FILE_BYTES = 1024 * 1024;
|
|
12438
12438
|
function extractSymbols(filePath, source2) {
|
|
12439
|
-
const lang = EXT_TO_LANG.get(
|
|
12439
|
+
const lang = EXT_TO_LANG.get(path7.extname(filePath).toLowerCase());
|
|
12440
12440
|
if (!lang)
|
|
12441
12441
|
return [];
|
|
12442
12442
|
const hits = [];
|
|
@@ -12470,7 +12470,7 @@ var require_symbols = __commonJS({
|
|
|
12470
12470
|
}
|
|
12471
12471
|
function resolveIn(workDir, p) {
|
|
12472
12472
|
const base = workDir ?? process.cwd();
|
|
12473
|
-
return
|
|
12473
|
+
return path7.isAbsolute(p) ? p : path7.resolve(base, p);
|
|
12474
12474
|
}
|
|
12475
12475
|
async function getSymbols(input, workDir) {
|
|
12476
12476
|
const rel = typeof input.path === "string" ? input.path : "";
|
|
@@ -12488,8 +12488,8 @@ var require_symbols = __commonJS({
|
|
|
12488
12488
|
} catch (err) {
|
|
12489
12489
|
return { error: `Cannot read ${rel}: ${err.message}` };
|
|
12490
12490
|
}
|
|
12491
|
-
if (!EXT_TO_LANG.has(
|
|
12492
|
-
return { output: `No symbol support for ${
|
|
12491
|
+
if (!EXT_TO_LANG.has(path7.extname(abs).toLowerCase())) {
|
|
12492
|
+
return { output: `No symbol support for ${path7.extname(abs) || "this file type"} (regex-based scanner). Use search_files instead.` };
|
|
12493
12493
|
}
|
|
12494
12494
|
const hits = extractSymbols(abs, source2);
|
|
12495
12495
|
if (!hits.length)
|
|
@@ -12522,12 +12522,12 @@ ${lines.join("\n")}` };
|
|
|
12522
12522
|
for (const entry of entries) {
|
|
12523
12523
|
if (results.length >= MAX_RESULTS || scanned >= MAX_FILES_SCANNED)
|
|
12524
12524
|
return;
|
|
12525
|
-
const full =
|
|
12525
|
+
const full = path7.join(dir, entry.name);
|
|
12526
12526
|
if (entry.isDirectory()) {
|
|
12527
12527
|
if (SKIP_DIRS.has(entry.name) || entry.name.startsWith("."))
|
|
12528
12528
|
continue;
|
|
12529
12529
|
walk(full);
|
|
12530
|
-
} else if (entry.isFile() && exts.has(
|
|
12530
|
+
} else if (entry.isFile() && exts.has(path7.extname(entry.name).toLowerCase())) {
|
|
12531
12531
|
scanned++;
|
|
12532
12532
|
try {
|
|
12533
12533
|
const st = fs9.statSync(full);
|
|
@@ -12538,7 +12538,7 @@ ${lines.join("\n")}` };
|
|
|
12538
12538
|
continue;
|
|
12539
12539
|
for (const h2 of extractSymbols(full, source2)) {
|
|
12540
12540
|
if (h2.name.toLowerCase().includes(q)) {
|
|
12541
|
-
results.push({ ...h2, file:
|
|
12541
|
+
results.push({ ...h2, file: path7.relative(root, full) });
|
|
12542
12542
|
if (results.length >= MAX_RESULTS)
|
|
12543
12543
|
break;
|
|
12544
12544
|
}
|
|
@@ -12620,12 +12620,12 @@ var require_tsLangService = __commonJS({
|
|
|
12620
12620
|
exports2.tsGetHover = tsGetHover;
|
|
12621
12621
|
exports2.tsServiceAvailable = tsServiceAvailable;
|
|
12622
12622
|
exports2._resetTsServiceCache = _resetTsServiceCache;
|
|
12623
|
-
var
|
|
12623
|
+
var path7 = __importStar(__require("path"));
|
|
12624
12624
|
var fs9 = __importStar(__require("fs"));
|
|
12625
12625
|
var module_1 = __require("module");
|
|
12626
12626
|
var TS_EXTS = /* @__PURE__ */ new Set([".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs", ".mts", ".cts"]);
|
|
12627
12627
|
function isTsLike(filePath) {
|
|
12628
|
-
return TS_EXTS.has(
|
|
12628
|
+
return TS_EXTS.has(path7.extname(filePath).toLowerCase());
|
|
12629
12629
|
}
|
|
12630
12630
|
var _tsResolveTried = false;
|
|
12631
12631
|
var _ts = null;
|
|
@@ -12635,7 +12635,7 @@ var require_tsLangService = __commonJS({
|
|
|
12635
12635
|
_tsResolveTried = true;
|
|
12636
12636
|
const candidates = [];
|
|
12637
12637
|
try {
|
|
12638
|
-
const req = (0, module_1.createRequire)(
|
|
12638
|
+
const req = (0, module_1.createRequire)(path7.join(workDir, "package.json"));
|
|
12639
12639
|
candidates.push(req.resolve("typescript"));
|
|
12640
12640
|
} catch {
|
|
12641
12641
|
}
|
|
@@ -12681,7 +12681,7 @@ var require_tsLangService = __commonJS({
|
|
|
12681
12681
|
const cfgPath = ts.findConfigFile(workDir, ts.sys.fileExists, "tsconfig.json");
|
|
12682
12682
|
if (cfgPath) {
|
|
12683
12683
|
const parsed = ts.readConfigFile(cfgPath, ts.sys.readFile);
|
|
12684
|
-
const conf = ts.parseJsonConfigFileContent(parsed.config ?? {}, ts.sys,
|
|
12684
|
+
const conf = ts.parseJsonConfigFileContent(parsed.config ?? {}, ts.sys, path7.dirname(cfgPath));
|
|
12685
12685
|
if (conf.options)
|
|
12686
12686
|
options = { ...conf.options, allowJs: true };
|
|
12687
12687
|
}
|
|
@@ -12742,7 +12742,7 @@ var require_tsLangService = __commonJS({
|
|
|
12742
12742
|
return { line, character: offset - last + 1 };
|
|
12743
12743
|
}
|
|
12744
12744
|
function relOf(root, abs) {
|
|
12745
|
-
const r2 =
|
|
12745
|
+
const r2 = path7.relative(root, abs);
|
|
12746
12746
|
return r2.startsWith("..") ? abs : r2;
|
|
12747
12747
|
}
|
|
12748
12748
|
function tsGoToDefinition(deps) {
|
|
@@ -17029,7 +17029,7 @@ var require_dist2 = __commonJS({
|
|
|
17029
17029
|
},
|
|
17030
17030
|
{
|
|
17031
17031
|
key: "join",
|
|
17032
|
-
value: function
|
|
17032
|
+
value: function join5(s2) {
|
|
17033
17033
|
if (this.length === 0)
|
|
17034
17034
|
return "";
|
|
17035
17035
|
var p = this.head;
|
|
@@ -35116,16 +35116,16 @@ var require_dist2 = __commonJS({
|
|
|
35116
35116
|
didFindOccurrence: true
|
|
35117
35117
|
};
|
|
35118
35118
|
};
|
|
35119
|
-
var goToElementFromPath = (json,
|
|
35119
|
+
var goToElementFromPath = (json, path7) => {
|
|
35120
35120
|
let element = json;
|
|
35121
|
-
for (let i2 = 1; i2 <
|
|
35122
|
-
const index =
|
|
35121
|
+
for (let i2 = 1; i2 < path7.length; i2++) {
|
|
35122
|
+
const index = path7[i2];
|
|
35123
35123
|
element = element.elements[index];
|
|
35124
35124
|
}
|
|
35125
35125
|
return element;
|
|
35126
35126
|
};
|
|
35127
|
-
var goToParentElementFromPath = (json,
|
|
35128
|
-
var getLastElementIndexFromPath = (
|
|
35127
|
+
var goToParentElementFromPath = (json, path7) => goToElementFromPath(json, path7.slice(0, path7.length - 1));
|
|
35128
|
+
var getLastElementIndexFromPath = (path7) => path7[path7.length - 1];
|
|
35129
35129
|
var PatchType = {
|
|
35130
35130
|
/** Replace entire file-level elements (e.g., whole paragraphs) */
|
|
35131
35131
|
DOCUMENT: "file",
|
|
@@ -39962,7 +39962,7 @@ var require_BufferList = __commonJS({
|
|
|
39962
39962
|
this.head = this.tail = null;
|
|
39963
39963
|
this.length = 0;
|
|
39964
39964
|
};
|
|
39965
|
-
BufferList.prototype.join = function
|
|
39965
|
+
BufferList.prototype.join = function join5(s2) {
|
|
39966
39966
|
if (this.length === 0)
|
|
39967
39967
|
return "";
|
|
39968
39968
|
var p = this.head;
|
|
@@ -42687,8 +42687,8 @@ var require_utils = __commonJS({
|
|
|
42687
42687
|
var result = transform[inputType][outputType](input);
|
|
42688
42688
|
return result;
|
|
42689
42689
|
};
|
|
42690
|
-
exports2.resolve = function(
|
|
42691
|
-
var parts =
|
|
42690
|
+
exports2.resolve = function(path7) {
|
|
42691
|
+
var parts = path7.split("/");
|
|
42692
42692
|
var result = [];
|
|
42693
42693
|
for (var index = 0; index < parts.length; index++) {
|
|
42694
42694
|
var part = parts[index];
|
|
@@ -48520,18 +48520,18 @@ var require_object = __commonJS({
|
|
|
48520
48520
|
var object = new ZipObject(name, zipObjectContent, o);
|
|
48521
48521
|
this.files[name] = object;
|
|
48522
48522
|
};
|
|
48523
|
-
var parentFolder = function(
|
|
48524
|
-
if (
|
|
48525
|
-
|
|
48523
|
+
var parentFolder = function(path7) {
|
|
48524
|
+
if (path7.slice(-1) === "/") {
|
|
48525
|
+
path7 = path7.substring(0, path7.length - 1);
|
|
48526
48526
|
}
|
|
48527
|
-
var lastSlash =
|
|
48528
|
-
return lastSlash > 0 ?
|
|
48527
|
+
var lastSlash = path7.lastIndexOf("/");
|
|
48528
|
+
return lastSlash > 0 ? path7.substring(0, lastSlash) : "";
|
|
48529
48529
|
};
|
|
48530
|
-
var forceTrailingSlash = function(
|
|
48531
|
-
if (
|
|
48532
|
-
|
|
48530
|
+
var forceTrailingSlash = function(path7) {
|
|
48531
|
+
if (path7.slice(-1) !== "/") {
|
|
48532
|
+
path7 += "/";
|
|
48533
48533
|
}
|
|
48534
|
-
return
|
|
48534
|
+
return path7;
|
|
48535
48535
|
};
|
|
48536
48536
|
var folderAdd = function(name, createFolders) {
|
|
48537
48537
|
createFolders = typeof createFolders !== "undefined" ? createFolders : defaults.createFolders;
|
|
@@ -49455,14 +49455,14 @@ var require_load = __commonJS({
|
|
|
49455
49455
|
zipEntries.load(data2);
|
|
49456
49456
|
return zipEntries;
|
|
49457
49457
|
}).then(function checkCRC32(zipEntries) {
|
|
49458
|
-
var
|
|
49458
|
+
var promises2 = [external.Promise.resolve(zipEntries)];
|
|
49459
49459
|
var files = zipEntries.files;
|
|
49460
49460
|
if (options.checkCRC32) {
|
|
49461
49461
|
for (var i2 = 0; i2 < files.length; i2++) {
|
|
49462
|
-
|
|
49462
|
+
promises2.push(checkEntryCRC32(files[i2]));
|
|
49463
49463
|
}
|
|
49464
49464
|
}
|
|
49465
|
-
return external.Promise.all(
|
|
49465
|
+
return external.Promise.all(promises2);
|
|
49466
49466
|
}).then(function addFiles(results) {
|
|
49467
49467
|
var zipEntries = results.shift();
|
|
49468
49468
|
var files = zipEntries.files;
|
|
@@ -49672,7 +49672,7 @@ var require_buffer_list = __commonJS({
|
|
|
49672
49672
|
}
|
|
49673
49673
|
}, {
|
|
49674
49674
|
key: "join",
|
|
49675
|
-
value: function
|
|
49675
|
+
value: function join5(s2) {
|
|
49676
49676
|
if (this.length === 0)
|
|
49677
49677
|
return "";
|
|
49678
49678
|
var p = this.head;
|
|
@@ -52452,8 +52452,8 @@ var require_utils2 = __commonJS({
|
|
|
52452
52452
|
};
|
|
52453
52453
|
},
|
|
52454
52454
|
getRelsPath(filepath) {
|
|
52455
|
-
const
|
|
52456
|
-
return `${
|
|
52455
|
+
const path7 = utils.parsePath(filepath);
|
|
52456
|
+
return `${path7.path}/_rels/${path7.name}.rels`;
|
|
52457
52457
|
},
|
|
52458
52458
|
xmlEncode(text) {
|
|
52459
52459
|
const regexResult = xmlDecodeRegex.exec(text);
|
|
@@ -52534,9 +52534,9 @@ var require_utils2 = __commonJS({
|
|
|
52534
52534
|
return result;
|
|
52535
52535
|
},
|
|
52536
52536
|
fs: {
|
|
52537
|
-
exists(
|
|
52537
|
+
exists(path7) {
|
|
52538
52538
|
return new Promise((resolve3) => {
|
|
52539
|
-
fs9.access(
|
|
52539
|
+
fs9.access(path7, fs9.constants.F_OK, (err) => {
|
|
52540
52540
|
resolve3(!err);
|
|
52541
52541
|
});
|
|
52542
52542
|
});
|
|
@@ -64747,11 +64747,11 @@ var require_xlsx = __commonJS({
|
|
|
64747
64747
|
delete model.drawingRels;
|
|
64748
64748
|
delete model.vmlDrawings;
|
|
64749
64749
|
}
|
|
64750
|
-
async _processWorksheetEntry(stream, model, sheetNo, options,
|
|
64750
|
+
async _processWorksheetEntry(stream, model, sheetNo, options, path7) {
|
|
64751
64751
|
const xform = new WorksheetXform(options);
|
|
64752
64752
|
const worksheet = await xform.parseStream(stream);
|
|
64753
64753
|
worksheet.sheetNo = sheetNo;
|
|
64754
|
-
model.worksheetHash[
|
|
64754
|
+
model.worksheetHash[path7] = worksheet;
|
|
64755
64755
|
model.worksheets.push(worksheet);
|
|
64756
64756
|
}
|
|
64757
64757
|
async _processCommentEntry(stream, model, name) {
|
|
@@ -65047,8 +65047,8 @@ var require_xlsx = __commonJS({
|
|
|
65047
65047
|
const themes = model.themes || { theme1: theme1Xml };
|
|
65048
65048
|
Object.keys(themes).forEach((name) => {
|
|
65049
65049
|
const xml = themes[name];
|
|
65050
|
-
const
|
|
65051
|
-
zip.append(xml, { name:
|
|
65050
|
+
const path7 = `xl/theme/${name}.xml`;
|
|
65051
|
+
zip.append(xml, { name: path7 });
|
|
65052
65052
|
});
|
|
65053
65053
|
}
|
|
65054
65054
|
async addOfficeRels(zip) {
|
|
@@ -66478,8 +66478,8 @@ var require_src = __commonJS({
|
|
|
66478
66478
|
});
|
|
66479
66479
|
};
|
|
66480
66480
|
exports2.writeToString = (rows, options) => exports2.writeToBuffer(rows, options).then((buffer) => buffer.toString());
|
|
66481
|
-
exports2.writeToPath = (
|
|
66482
|
-
const stream = fs9.createWriteStream(
|
|
66481
|
+
exports2.writeToPath = (path7, rows, options) => {
|
|
66482
|
+
const stream = fs9.createWriteStream(path7, { encoding: "utf8" });
|
|
66483
66483
|
return exports2.write(rows, options).pipe(stream);
|
|
66484
66484
|
};
|
|
66485
66485
|
}
|
|
@@ -67337,11 +67337,11 @@ var require_lodash8 = __commonJS({
|
|
|
67337
67337
|
function baseForOwn(object, iteratee) {
|
|
67338
67338
|
return object && baseFor(object, iteratee, keys);
|
|
67339
67339
|
}
|
|
67340
|
-
function baseGet(object,
|
|
67341
|
-
|
|
67342
|
-
var index = 0, length =
|
|
67340
|
+
function baseGet(object, path7) {
|
|
67341
|
+
path7 = isKey(path7, object) ? [path7] : castPath(path7);
|
|
67342
|
+
var index = 0, length = path7.length;
|
|
67343
67343
|
while (object != null && index < length) {
|
|
67344
|
-
object = object[toKey(
|
|
67344
|
+
object = object[toKey(path7[index++])];
|
|
67345
67345
|
}
|
|
67346
67346
|
return index && index == length ? object : void 0;
|
|
67347
67347
|
}
|
|
@@ -67463,18 +67463,18 @@ var require_lodash8 = __commonJS({
|
|
|
67463
67463
|
return object === source2 || baseIsMatch(object, source2, matchData);
|
|
67464
67464
|
};
|
|
67465
67465
|
}
|
|
67466
|
-
function baseMatchesProperty(
|
|
67467
|
-
if (isKey(
|
|
67468
|
-
return matchesStrictComparable(toKey(
|
|
67466
|
+
function baseMatchesProperty(path7, srcValue) {
|
|
67467
|
+
if (isKey(path7) && isStrictComparable(srcValue)) {
|
|
67468
|
+
return matchesStrictComparable(toKey(path7), srcValue);
|
|
67469
67469
|
}
|
|
67470
67470
|
return function(object) {
|
|
67471
|
-
var objValue = get3(object,
|
|
67472
|
-
return objValue === void 0 && objValue === srcValue ? hasIn(object,
|
|
67471
|
+
var objValue = get3(object, path7);
|
|
67472
|
+
return objValue === void 0 && objValue === srcValue ? hasIn(object, path7) : baseIsEqual(srcValue, objValue, void 0, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);
|
|
67473
67473
|
};
|
|
67474
67474
|
}
|
|
67475
|
-
function basePropertyDeep(
|
|
67475
|
+
function basePropertyDeep(path7) {
|
|
67476
67476
|
return function(object) {
|
|
67477
|
-
return baseGet(object,
|
|
67477
|
+
return baseGet(object, path7);
|
|
67478
67478
|
};
|
|
67479
67479
|
}
|
|
67480
67480
|
function baseToString(value) {
|
|
@@ -67692,11 +67692,11 @@ var require_lodash8 = __commonJS({
|
|
|
67692
67692
|
return result;
|
|
67693
67693
|
};
|
|
67694
67694
|
}
|
|
67695
|
-
function hasPath(object,
|
|
67696
|
-
|
|
67697
|
-
var result, index = -1, length =
|
|
67695
|
+
function hasPath(object, path7, hasFunc) {
|
|
67696
|
+
path7 = isKey(path7, object) ? [path7] : castPath(path7);
|
|
67697
|
+
var result, index = -1, length = path7.length;
|
|
67698
67698
|
while (++index < length) {
|
|
67699
|
-
var key = toKey(
|
|
67699
|
+
var key = toKey(path7[index]);
|
|
67700
67700
|
if (!(result = object != null && hasFunc(object, key))) {
|
|
67701
67701
|
break;
|
|
67702
67702
|
}
|
|
@@ -67833,12 +67833,12 @@ var require_lodash8 = __commonJS({
|
|
|
67833
67833
|
function toString(value) {
|
|
67834
67834
|
return value == null ? "" : baseToString(value);
|
|
67835
67835
|
}
|
|
67836
|
-
function get3(object,
|
|
67837
|
-
var result = object == null ? void 0 : baseGet(object,
|
|
67836
|
+
function get3(object, path7, defaultValue2) {
|
|
67837
|
+
var result = object == null ? void 0 : baseGet(object, path7);
|
|
67838
67838
|
return result === void 0 ? defaultValue2 : result;
|
|
67839
67839
|
}
|
|
67840
|
-
function hasIn(object,
|
|
67841
|
-
return object != null && hasPath(object,
|
|
67840
|
+
function hasIn(object, path7) {
|
|
67841
|
+
return object != null && hasPath(object, path7, baseHasIn);
|
|
67842
67842
|
}
|
|
67843
67843
|
function keys(object) {
|
|
67844
67844
|
return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
|
|
@@ -67846,8 +67846,8 @@ var require_lodash8 = __commonJS({
|
|
|
67846
67846
|
function identity(value) {
|
|
67847
67847
|
return value;
|
|
67848
67848
|
}
|
|
67849
|
-
function property(
|
|
67850
|
-
return isKey(
|
|
67849
|
+
function property(path7) {
|
|
67850
|
+
return isKey(path7) ? baseProperty(toKey(path7)) : basePropertyDeep(path7);
|
|
67851
67851
|
}
|
|
67852
67852
|
module2.exports = groupBy;
|
|
67853
67853
|
}
|
|
@@ -70002,8 +70002,8 @@ var require_minimatch = __commonJS({
|
|
|
70002
70002
|
return new Minimatch(pattern, options).match(p);
|
|
70003
70003
|
};
|
|
70004
70004
|
module2.exports = minimatch;
|
|
70005
|
-
var
|
|
70006
|
-
minimatch.sep =
|
|
70005
|
+
var path7 = require_path();
|
|
70006
|
+
minimatch.sep = path7.sep;
|
|
70007
70007
|
var GLOBSTAR = Symbol("globstar **");
|
|
70008
70008
|
minimatch.GLOBSTAR = GLOBSTAR;
|
|
70009
70009
|
var expand = require_brace_expansion();
|
|
@@ -70621,8 +70621,8 @@ var require_minimatch = __commonJS({
|
|
|
70621
70621
|
if (f3 === "/" && partial)
|
|
70622
70622
|
return true;
|
|
70623
70623
|
const options = this.options;
|
|
70624
|
-
if (
|
|
70625
|
-
f3 = f3.split(
|
|
70624
|
+
if (path7.sep !== "/") {
|
|
70625
|
+
f3 = f3.split(path7.sep).join("/");
|
|
70626
70626
|
}
|
|
70627
70627
|
f3 = f3.split(slashSplit);
|
|
70628
70628
|
this.debug(this.pattern, "split", f3);
|
|
@@ -70719,8 +70719,8 @@ var require_readdir_glob = __commonJS({
|
|
|
70719
70719
|
});
|
|
70720
70720
|
});
|
|
70721
70721
|
}
|
|
70722
|
-
async function* exploreWalkAsync(dir,
|
|
70723
|
-
let files = await readdir(
|
|
70722
|
+
async function* exploreWalkAsync(dir, path7, followSymlinks, useStat, shouldSkip, strict) {
|
|
70723
|
+
let files = await readdir(path7 + dir, strict);
|
|
70724
70724
|
for (const file of files) {
|
|
70725
70725
|
let name = file.name;
|
|
70726
70726
|
if (name === void 0) {
|
|
@@ -70729,7 +70729,7 @@ var require_readdir_glob = __commonJS({
|
|
|
70729
70729
|
}
|
|
70730
70730
|
const filename = dir + "/" + name;
|
|
70731
70731
|
const relative2 = filename.slice(1);
|
|
70732
|
-
const absolute =
|
|
70732
|
+
const absolute = path7 + "/" + relative2;
|
|
70733
70733
|
let stats = null;
|
|
70734
70734
|
if (useStat || followSymlinks) {
|
|
70735
70735
|
stats = await stat2(absolute, followSymlinks);
|
|
@@ -70743,15 +70743,15 @@ var require_readdir_glob = __commonJS({
|
|
|
70743
70743
|
if (stats.isDirectory()) {
|
|
70744
70744
|
if (!shouldSkip(relative2)) {
|
|
70745
70745
|
yield { relative: relative2, absolute, stats };
|
|
70746
|
-
yield* exploreWalkAsync(filename,
|
|
70746
|
+
yield* exploreWalkAsync(filename, path7, followSymlinks, useStat, shouldSkip, false);
|
|
70747
70747
|
}
|
|
70748
70748
|
} else {
|
|
70749
70749
|
yield { relative: relative2, absolute, stats };
|
|
70750
70750
|
}
|
|
70751
70751
|
}
|
|
70752
70752
|
}
|
|
70753
|
-
async function* explore(
|
|
70754
|
-
yield* exploreWalkAsync("",
|
|
70753
|
+
async function* explore(path7, followSymlinks, useStat, shouldSkip) {
|
|
70754
|
+
yield* exploreWalkAsync("", path7, followSymlinks, useStat, shouldSkip, true);
|
|
70755
70755
|
}
|
|
70756
70756
|
function readOptions(options) {
|
|
70757
70757
|
return {
|
|
@@ -72865,7 +72865,7 @@ var require_polyfills = __commonJS({
|
|
|
72865
72865
|
fs9.fstatSync = statFixSync(fs9.fstatSync);
|
|
72866
72866
|
fs9.lstatSync = statFixSync(fs9.lstatSync);
|
|
72867
72867
|
if (fs9.chmod && !fs9.lchmod) {
|
|
72868
|
-
fs9.lchmod = function(
|
|
72868
|
+
fs9.lchmod = function(path7, mode, cb) {
|
|
72869
72869
|
if (cb)
|
|
72870
72870
|
process.nextTick(cb);
|
|
72871
72871
|
};
|
|
@@ -72873,7 +72873,7 @@ var require_polyfills = __commonJS({
|
|
|
72873
72873
|
};
|
|
72874
72874
|
}
|
|
72875
72875
|
if (fs9.chown && !fs9.lchown) {
|
|
72876
|
-
fs9.lchown = function(
|
|
72876
|
+
fs9.lchown = function(path7, uid, gid, cb) {
|
|
72877
72877
|
if (cb)
|
|
72878
72878
|
process.nextTick(cb);
|
|
72879
72879
|
};
|
|
@@ -72944,9 +72944,9 @@ var require_polyfills = __commonJS({
|
|
|
72944
72944
|
};
|
|
72945
72945
|
}(fs9.readSync);
|
|
72946
72946
|
function patchLchmod(fs10) {
|
|
72947
|
-
fs10.lchmod = function(
|
|
72947
|
+
fs10.lchmod = function(path7, mode, callback) {
|
|
72948
72948
|
fs10.open(
|
|
72949
|
-
|
|
72949
|
+
path7,
|
|
72950
72950
|
constants2.O_WRONLY | constants2.O_SYMLINK,
|
|
72951
72951
|
mode,
|
|
72952
72952
|
function(err, fd) {
|
|
@@ -72964,8 +72964,8 @@ var require_polyfills = __commonJS({
|
|
|
72964
72964
|
}
|
|
72965
72965
|
);
|
|
72966
72966
|
};
|
|
72967
|
-
fs10.lchmodSync = function(
|
|
72968
|
-
var fd = fs10.openSync(
|
|
72967
|
+
fs10.lchmodSync = function(path7, mode) {
|
|
72968
|
+
var fd = fs10.openSync(path7, constants2.O_WRONLY | constants2.O_SYMLINK, mode);
|
|
72969
72969
|
var threw = true;
|
|
72970
72970
|
var ret2;
|
|
72971
72971
|
try {
|
|
@@ -72986,8 +72986,8 @@ var require_polyfills = __commonJS({
|
|
|
72986
72986
|
}
|
|
72987
72987
|
function patchLutimes(fs10) {
|
|
72988
72988
|
if (constants2.hasOwnProperty("O_SYMLINK") && fs10.futimes) {
|
|
72989
|
-
fs10.lutimes = function(
|
|
72990
|
-
fs10.open(
|
|
72989
|
+
fs10.lutimes = function(path7, at, mt, cb) {
|
|
72990
|
+
fs10.open(path7, constants2.O_SYMLINK, function(er, fd) {
|
|
72991
72991
|
if (er) {
|
|
72992
72992
|
if (cb)
|
|
72993
72993
|
cb(er);
|
|
@@ -73001,8 +73001,8 @@ var require_polyfills = __commonJS({
|
|
|
73001
73001
|
});
|
|
73002
73002
|
});
|
|
73003
73003
|
};
|
|
73004
|
-
fs10.lutimesSync = function(
|
|
73005
|
-
var fd = fs10.openSync(
|
|
73004
|
+
fs10.lutimesSync = function(path7, at, mt) {
|
|
73005
|
+
var fd = fs10.openSync(path7, constants2.O_SYMLINK);
|
|
73006
73006
|
var ret2;
|
|
73007
73007
|
var threw = true;
|
|
73008
73008
|
try {
|
|
@@ -73138,12 +73138,12 @@ var require_legacy_streams = __commonJS({
|
|
|
73138
73138
|
ReadStream,
|
|
73139
73139
|
WriteStream
|
|
73140
73140
|
};
|
|
73141
|
-
function ReadStream(
|
|
73141
|
+
function ReadStream(path7, options) {
|
|
73142
73142
|
if (!(this instanceof ReadStream))
|
|
73143
|
-
return new ReadStream(
|
|
73143
|
+
return new ReadStream(path7, options);
|
|
73144
73144
|
Stream4.call(this);
|
|
73145
73145
|
var self2 = this;
|
|
73146
|
-
this.path =
|
|
73146
|
+
this.path = path7;
|
|
73147
73147
|
this.fd = null;
|
|
73148
73148
|
this.readable = true;
|
|
73149
73149
|
this.paused = false;
|
|
@@ -73189,11 +73189,11 @@ var require_legacy_streams = __commonJS({
|
|
|
73189
73189
|
self2._read();
|
|
73190
73190
|
});
|
|
73191
73191
|
}
|
|
73192
|
-
function WriteStream(
|
|
73192
|
+
function WriteStream(path7, options) {
|
|
73193
73193
|
if (!(this instanceof WriteStream))
|
|
73194
|
-
return new WriteStream(
|
|
73194
|
+
return new WriteStream(path7, options);
|
|
73195
73195
|
Stream4.call(this);
|
|
73196
|
-
this.path =
|
|
73196
|
+
this.path = path7;
|
|
73197
73197
|
this.fd = null;
|
|
73198
73198
|
this.writable = true;
|
|
73199
73199
|
this.flags = "w";
|
|
@@ -73336,14 +73336,14 @@ var require_graceful_fs = __commonJS({
|
|
|
73336
73336
|
fs10.createWriteStream = createWriteStream;
|
|
73337
73337
|
var fs$readFile = fs10.readFile;
|
|
73338
73338
|
fs10.readFile = readFile;
|
|
73339
|
-
function readFile(
|
|
73339
|
+
function readFile(path7, options, cb) {
|
|
73340
73340
|
if (typeof options === "function")
|
|
73341
73341
|
cb = options, options = null;
|
|
73342
|
-
return go$readFile(
|
|
73343
|
-
function go$readFile(
|
|
73344
|
-
return fs$readFile(
|
|
73342
|
+
return go$readFile(path7, options, cb);
|
|
73343
|
+
function go$readFile(path8, options2, cb2, startTime) {
|
|
73344
|
+
return fs$readFile(path8, options2, function(err) {
|
|
73345
73345
|
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
|
|
73346
|
-
enqueue([go$readFile, [
|
|
73346
|
+
enqueue([go$readFile, [path8, options2, cb2], err, startTime || Date.now(), Date.now()]);
|
|
73347
73347
|
else {
|
|
73348
73348
|
if (typeof cb2 === "function")
|
|
73349
73349
|
cb2.apply(this, arguments);
|
|
@@ -73353,14 +73353,14 @@ var require_graceful_fs = __commonJS({
|
|
|
73353
73353
|
}
|
|
73354
73354
|
var fs$writeFile = fs10.writeFile;
|
|
73355
73355
|
fs10.writeFile = writeFile;
|
|
73356
|
-
function writeFile(
|
|
73356
|
+
function writeFile(path7, data, options, cb) {
|
|
73357
73357
|
if (typeof options === "function")
|
|
73358
73358
|
cb = options, options = null;
|
|
73359
|
-
return go$writeFile(
|
|
73360
|
-
function go$writeFile(
|
|
73361
|
-
return fs$writeFile(
|
|
73359
|
+
return go$writeFile(path7, data, options, cb);
|
|
73360
|
+
function go$writeFile(path8, data2, options2, cb2, startTime) {
|
|
73361
|
+
return fs$writeFile(path8, data2, options2, function(err) {
|
|
73362
73362
|
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
|
|
73363
|
-
enqueue([go$writeFile, [
|
|
73363
|
+
enqueue([go$writeFile, [path8, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
|
|
73364
73364
|
else {
|
|
73365
73365
|
if (typeof cb2 === "function")
|
|
73366
73366
|
cb2.apply(this, arguments);
|
|
@@ -73371,14 +73371,14 @@ var require_graceful_fs = __commonJS({
|
|
|
73371
73371
|
var fs$appendFile = fs10.appendFile;
|
|
73372
73372
|
if (fs$appendFile)
|
|
73373
73373
|
fs10.appendFile = appendFile;
|
|
73374
|
-
function appendFile(
|
|
73374
|
+
function appendFile(path7, data, options, cb) {
|
|
73375
73375
|
if (typeof options === "function")
|
|
73376
73376
|
cb = options, options = null;
|
|
73377
|
-
return go$appendFile(
|
|
73378
|
-
function go$appendFile(
|
|
73379
|
-
return fs$appendFile(
|
|
73377
|
+
return go$appendFile(path7, data, options, cb);
|
|
73378
|
+
function go$appendFile(path8, data2, options2, cb2, startTime) {
|
|
73379
|
+
return fs$appendFile(path8, data2, options2, function(err) {
|
|
73380
73380
|
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
|
|
73381
|
-
enqueue([go$appendFile, [
|
|
73381
|
+
enqueue([go$appendFile, [path8, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
|
|
73382
73382
|
else {
|
|
73383
73383
|
if (typeof cb2 === "function")
|
|
73384
73384
|
cb2.apply(this, arguments);
|
|
@@ -73409,31 +73409,31 @@ var require_graceful_fs = __commonJS({
|
|
|
73409
73409
|
var fs$readdir = fs10.readdir;
|
|
73410
73410
|
fs10.readdir = readdir;
|
|
73411
73411
|
var noReaddirOptionVersions = /^v[0-5]\./;
|
|
73412
|
-
function readdir(
|
|
73412
|
+
function readdir(path7, options, cb) {
|
|
73413
73413
|
if (typeof options === "function")
|
|
73414
73414
|
cb = options, options = null;
|
|
73415
|
-
var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(
|
|
73416
|
-
return fs$readdir(
|
|
73417
|
-
|
|
73415
|
+
var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path8, options2, cb2, startTime) {
|
|
73416
|
+
return fs$readdir(path8, fs$readdirCallback(
|
|
73417
|
+
path8,
|
|
73418
73418
|
options2,
|
|
73419
73419
|
cb2,
|
|
73420
73420
|
startTime
|
|
73421
73421
|
));
|
|
73422
|
-
} : function go$readdir2(
|
|
73423
|
-
return fs$readdir(
|
|
73424
|
-
|
|
73422
|
+
} : function go$readdir2(path8, options2, cb2, startTime) {
|
|
73423
|
+
return fs$readdir(path8, options2, fs$readdirCallback(
|
|
73424
|
+
path8,
|
|
73425
73425
|
options2,
|
|
73426
73426
|
cb2,
|
|
73427
73427
|
startTime
|
|
73428
73428
|
));
|
|
73429
73429
|
};
|
|
73430
|
-
return go$readdir(
|
|
73431
|
-
function fs$readdirCallback(
|
|
73430
|
+
return go$readdir(path7, options, cb);
|
|
73431
|
+
function fs$readdirCallback(path8, options2, cb2, startTime) {
|
|
73432
73432
|
return function(err, files) {
|
|
73433
73433
|
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
|
|
73434
73434
|
enqueue([
|
|
73435
73435
|
go$readdir,
|
|
73436
|
-
[
|
|
73436
|
+
[path8, options2, cb2],
|
|
73437
73437
|
err,
|
|
73438
73438
|
startTime || Date.now(),
|
|
73439
73439
|
Date.now()
|
|
@@ -73504,7 +73504,7 @@ var require_graceful_fs = __commonJS({
|
|
|
73504
73504
|
enumerable: true,
|
|
73505
73505
|
configurable: true
|
|
73506
73506
|
});
|
|
73507
|
-
function ReadStream(
|
|
73507
|
+
function ReadStream(path7, options) {
|
|
73508
73508
|
if (this instanceof ReadStream)
|
|
73509
73509
|
return fs$ReadStream.apply(this, arguments), this;
|
|
73510
73510
|
else
|
|
@@ -73524,7 +73524,7 @@ var require_graceful_fs = __commonJS({
|
|
|
73524
73524
|
}
|
|
73525
73525
|
});
|
|
73526
73526
|
}
|
|
73527
|
-
function WriteStream(
|
|
73527
|
+
function WriteStream(path7, options) {
|
|
73528
73528
|
if (this instanceof WriteStream)
|
|
73529
73529
|
return fs$WriteStream.apply(this, arguments), this;
|
|
73530
73530
|
else
|
|
@@ -73542,22 +73542,22 @@ var require_graceful_fs = __commonJS({
|
|
|
73542
73542
|
}
|
|
73543
73543
|
});
|
|
73544
73544
|
}
|
|
73545
|
-
function createReadStream2(
|
|
73546
|
-
return new fs10.ReadStream(
|
|
73545
|
+
function createReadStream2(path7, options) {
|
|
73546
|
+
return new fs10.ReadStream(path7, options);
|
|
73547
73547
|
}
|
|
73548
|
-
function createWriteStream(
|
|
73549
|
-
return new fs10.WriteStream(
|
|
73548
|
+
function createWriteStream(path7, options) {
|
|
73549
|
+
return new fs10.WriteStream(path7, options);
|
|
73550
73550
|
}
|
|
73551
73551
|
var fs$open = fs10.open;
|
|
73552
73552
|
fs10.open = open;
|
|
73553
|
-
function open(
|
|
73553
|
+
function open(path7, flags, mode, cb) {
|
|
73554
73554
|
if (typeof mode === "function")
|
|
73555
73555
|
cb = mode, mode = null;
|
|
73556
|
-
return go$open(
|
|
73557
|
-
function go$open(
|
|
73558
|
-
return fs$open(
|
|
73556
|
+
return go$open(path7, flags, mode, cb);
|
|
73557
|
+
function go$open(path8, flags2, mode2, cb2, startTime) {
|
|
73558
|
+
return fs$open(path8, flags2, mode2, function(err, fd) {
|
|
73559
73559
|
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
|
|
73560
|
-
enqueue([go$open, [
|
|
73560
|
+
enqueue([go$open, [path8, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
|
|
73561
73561
|
else {
|
|
73562
73562
|
if (typeof cb2 === "function")
|
|
73563
73563
|
cb2.apply(this, arguments);
|
|
@@ -73675,24 +73675,24 @@ var require_lazystream = __commonJS({
|
|
|
73675
73675
|
// ../../node_modules/.pnpm/normalize-path@3.0.0/node_modules/normalize-path/index.js
|
|
73676
73676
|
var require_normalize_path = __commonJS({
|
|
73677
73677
|
"../../node_modules/.pnpm/normalize-path@3.0.0/node_modules/normalize-path/index.js"(exports2, module2) {
|
|
73678
|
-
module2.exports = function(
|
|
73679
|
-
if (typeof
|
|
73678
|
+
module2.exports = function(path7, stripTrailing) {
|
|
73679
|
+
if (typeof path7 !== "string") {
|
|
73680
73680
|
throw new TypeError("expected path to be a string");
|
|
73681
73681
|
}
|
|
73682
|
-
if (
|
|
73682
|
+
if (path7 === "\\" || path7 === "/")
|
|
73683
73683
|
return "/";
|
|
73684
|
-
var len =
|
|
73684
|
+
var len = path7.length;
|
|
73685
73685
|
if (len <= 1)
|
|
73686
|
-
return
|
|
73686
|
+
return path7;
|
|
73687
73687
|
var prefix = "";
|
|
73688
|
-
if (len > 4 &&
|
|
73689
|
-
var ch =
|
|
73690
|
-
if ((ch === "?" || ch === ".") &&
|
|
73691
|
-
|
|
73688
|
+
if (len > 4 && path7[3] === "\\") {
|
|
73689
|
+
var ch = path7[2];
|
|
73690
|
+
if ((ch === "?" || ch === ".") && path7.slice(0, 2) === "\\\\") {
|
|
73691
|
+
path7 = path7.slice(2);
|
|
73692
73692
|
prefix = "//";
|
|
73693
73693
|
}
|
|
73694
73694
|
}
|
|
73695
|
-
var segs =
|
|
73695
|
+
var segs = path7.split(/[/\\]+/);
|
|
73696
73696
|
if (stripTrailing !== false && segs[segs.length - 1] === "") {
|
|
73697
73697
|
segs.pop();
|
|
73698
73698
|
}
|
|
@@ -75249,7 +75249,7 @@ var require_minimatch2 = __commonJS({
|
|
|
75249
75249
|
"../../node_modules/.pnpm/minimatch@3.1.5/node_modules/minimatch/minimatch.js"(exports2, module2) {
|
|
75250
75250
|
module2.exports = minimatch;
|
|
75251
75251
|
minimatch.Minimatch = Minimatch;
|
|
75252
|
-
var
|
|
75252
|
+
var path7 = function() {
|
|
75253
75253
|
try {
|
|
75254
75254
|
return __require("path");
|
|
75255
75255
|
} catch (e2) {
|
|
@@ -75257,7 +75257,7 @@ var require_minimatch2 = __commonJS({
|
|
|
75257
75257
|
}() || {
|
|
75258
75258
|
sep: "/"
|
|
75259
75259
|
};
|
|
75260
|
-
minimatch.sep =
|
|
75260
|
+
minimatch.sep = path7.sep;
|
|
75261
75261
|
var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {};
|
|
75262
75262
|
var expand = require_brace_expansion2();
|
|
75263
75263
|
var plTypes = {
|
|
@@ -75348,8 +75348,8 @@ var require_minimatch2 = __commonJS({
|
|
|
75348
75348
|
if (!options)
|
|
75349
75349
|
options = {};
|
|
75350
75350
|
pattern = pattern.trim();
|
|
75351
|
-
if (!options.allowWindowsEscape &&
|
|
75352
|
-
pattern = pattern.split(
|
|
75351
|
+
if (!options.allowWindowsEscape && path7.sep !== "/") {
|
|
75352
|
+
pattern = pattern.split(path7.sep).join("/");
|
|
75353
75353
|
}
|
|
75354
75354
|
this.options = options;
|
|
75355
75355
|
this.maxGlobstarRecursion = options.maxGlobstarRecursion !== void 0 ? options.maxGlobstarRecursion : 200;
|
|
@@ -75729,8 +75729,8 @@ var require_minimatch2 = __commonJS({
|
|
|
75729
75729
|
if (f3 === "/" && partial)
|
|
75730
75730
|
return true;
|
|
75731
75731
|
var options = this.options;
|
|
75732
|
-
if (
|
|
75733
|
-
f3 = f3.split(
|
|
75732
|
+
if (path7.sep !== "/") {
|
|
75733
|
+
f3 = f3.split(path7.sep).join("/");
|
|
75734
75734
|
}
|
|
75735
75735
|
f3 = f3.split(slashSplit);
|
|
75736
75736
|
this.debug(this.pattern, "split", f3);
|
|
@@ -75937,12 +75937,12 @@ var require_minimatch2 = __commonJS({
|
|
|
75937
75937
|
var require_path_is_absolute = __commonJS({
|
|
75938
75938
|
"../../node_modules/.pnpm/path-is-absolute@1.0.1/node_modules/path-is-absolute/index.js"(exports2, module2) {
|
|
75939
75939
|
"use strict";
|
|
75940
|
-
function posix(
|
|
75941
|
-
return
|
|
75940
|
+
function posix(path7) {
|
|
75941
|
+
return path7.charAt(0) === "/";
|
|
75942
75942
|
}
|
|
75943
|
-
function win32(
|
|
75943
|
+
function win32(path7) {
|
|
75944
75944
|
var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/;
|
|
75945
|
-
var result = splitDeviceRe.exec(
|
|
75945
|
+
var result = splitDeviceRe.exec(path7);
|
|
75946
75946
|
var device = result[1] || "";
|
|
75947
75947
|
var isUnc = Boolean(device && device.charAt(1) !== ":");
|
|
75948
75948
|
return Boolean(result[2] || isUnc);
|
|
@@ -75967,7 +75967,7 @@ var require_common2 = __commonJS({
|
|
|
75967
75967
|
return Object.prototype.hasOwnProperty.call(obj2, field);
|
|
75968
75968
|
}
|
|
75969
75969
|
var fs9 = __require("fs");
|
|
75970
|
-
var
|
|
75970
|
+
var path7 = __require("path");
|
|
75971
75971
|
var minimatch = require_minimatch2();
|
|
75972
75972
|
var isAbsolute2 = require_path_is_absolute();
|
|
75973
75973
|
var Minimatch = minimatch.Minimatch;
|
|
@@ -76032,11 +76032,11 @@ var require_common2 = __commonJS({
|
|
|
76032
76032
|
if (!ownProp(options, "cwd"))
|
|
76033
76033
|
self2.cwd = cwd2;
|
|
76034
76034
|
else {
|
|
76035
|
-
self2.cwd =
|
|
76035
|
+
self2.cwd = path7.resolve(options.cwd);
|
|
76036
76036
|
self2.changedCwd = self2.cwd !== cwd2;
|
|
76037
76037
|
}
|
|
76038
|
-
self2.root = options.root ||
|
|
76039
|
-
self2.root =
|
|
76038
|
+
self2.root = options.root || path7.resolve(self2.cwd, "/");
|
|
76039
|
+
self2.root = path7.resolve(self2.root);
|
|
76040
76040
|
if (process.platform === "win32")
|
|
76041
76041
|
self2.root = self2.root.replace(/\\/g, "/");
|
|
76042
76042
|
self2.cwdAbs = isAbsolute2(self2.cwd) ? self2.cwd : makeAbs(self2, self2.cwd);
|
|
@@ -76118,30 +76118,30 @@ var require_common2 = __commonJS({
|
|
|
76118
76118
|
function makeAbs(self2, f3) {
|
|
76119
76119
|
var abs = f3;
|
|
76120
76120
|
if (f3.charAt(0) === "/") {
|
|
76121
|
-
abs =
|
|
76121
|
+
abs = path7.join(self2.root, f3);
|
|
76122
76122
|
} else if (isAbsolute2(f3) || f3 === "") {
|
|
76123
76123
|
abs = f3;
|
|
76124
76124
|
} else if (self2.changedCwd) {
|
|
76125
|
-
abs =
|
|
76125
|
+
abs = path7.resolve(self2.cwd, f3);
|
|
76126
76126
|
} else {
|
|
76127
|
-
abs =
|
|
76127
|
+
abs = path7.resolve(f3);
|
|
76128
76128
|
}
|
|
76129
76129
|
if (process.platform === "win32")
|
|
76130
76130
|
abs = abs.replace(/\\/g, "/");
|
|
76131
76131
|
return abs;
|
|
76132
76132
|
}
|
|
76133
|
-
function isIgnored(self2,
|
|
76133
|
+
function isIgnored(self2, path8) {
|
|
76134
76134
|
if (!self2.ignore.length)
|
|
76135
76135
|
return false;
|
|
76136
76136
|
return self2.ignore.some(function(item) {
|
|
76137
|
-
return item.matcher.match(
|
|
76137
|
+
return item.matcher.match(path8) || !!(item.gmatcher && item.gmatcher.match(path8));
|
|
76138
76138
|
});
|
|
76139
76139
|
}
|
|
76140
|
-
function childrenIgnored(self2,
|
|
76140
|
+
function childrenIgnored(self2, path8) {
|
|
76141
76141
|
if (!self2.ignore.length)
|
|
76142
76142
|
return false;
|
|
76143
76143
|
return self2.ignore.some(function(item) {
|
|
76144
|
-
return !!(item.gmatcher && item.gmatcher.match(
|
|
76144
|
+
return !!(item.gmatcher && item.gmatcher.match(path8));
|
|
76145
76145
|
});
|
|
76146
76146
|
}
|
|
76147
76147
|
}
|
|
@@ -76157,7 +76157,7 @@ var require_sync = __commonJS({
|
|
|
76157
76157
|
var Minimatch = minimatch.Minimatch;
|
|
76158
76158
|
var Glob = require_glob().Glob;
|
|
76159
76159
|
var util = __require("util");
|
|
76160
|
-
var
|
|
76160
|
+
var path7 = __require("path");
|
|
76161
76161
|
var assert = __require("assert");
|
|
76162
76162
|
var isAbsolute2 = require_path_is_absolute();
|
|
76163
76163
|
var common = require_common2();
|
|
@@ -76285,7 +76285,7 @@ var require_sync = __commonJS({
|
|
|
76285
76285
|
e2 = prefix + e2;
|
|
76286
76286
|
}
|
|
76287
76287
|
if (e2.charAt(0) === "/" && !this.nomount) {
|
|
76288
|
-
e2 =
|
|
76288
|
+
e2 = path7.join(this.root, e2);
|
|
76289
76289
|
}
|
|
76290
76290
|
this._emitMatch(index, e2);
|
|
76291
76291
|
}
|
|
@@ -76434,9 +76434,9 @@ var require_sync = __commonJS({
|
|
|
76434
76434
|
if (prefix && isAbsolute2(prefix) && !this.nomount) {
|
|
76435
76435
|
var trail = /[\/\\]$/.test(prefix);
|
|
76436
76436
|
if (prefix.charAt(0) === "/") {
|
|
76437
|
-
prefix =
|
|
76437
|
+
prefix = path7.join(this.root, prefix);
|
|
76438
76438
|
} else {
|
|
76439
|
-
prefix =
|
|
76439
|
+
prefix = path7.resolve(this.root, prefix);
|
|
76440
76440
|
if (trail)
|
|
76441
76441
|
prefix += "/";
|
|
76442
76442
|
}
|
|
@@ -76631,7 +76631,7 @@ var require_glob = __commonJS({
|
|
|
76631
76631
|
var Minimatch = minimatch.Minimatch;
|
|
76632
76632
|
var inherits2 = require_inherits();
|
|
76633
76633
|
var EE = __require("events").EventEmitter;
|
|
76634
|
-
var
|
|
76634
|
+
var path7 = __require("path");
|
|
76635
76635
|
var assert = __require("assert");
|
|
76636
76636
|
var isAbsolute2 = require_path_is_absolute();
|
|
76637
76637
|
var globSync = require_sync();
|
|
@@ -76914,7 +76914,7 @@ var require_glob = __commonJS({
|
|
|
76914
76914
|
e2 = prefix + e2;
|
|
76915
76915
|
}
|
|
76916
76916
|
if (e2.charAt(0) === "/" && !this.nomount) {
|
|
76917
|
-
e2 =
|
|
76917
|
+
e2 = path7.join(this.root, e2);
|
|
76918
76918
|
}
|
|
76919
76919
|
this._emitMatch(index, e2);
|
|
76920
76920
|
}
|
|
@@ -77101,9 +77101,9 @@ var require_glob = __commonJS({
|
|
|
77101
77101
|
if (prefix && isAbsolute2(prefix) && !this.nomount) {
|
|
77102
77102
|
var trail = /[\/\\]$/.test(prefix);
|
|
77103
77103
|
if (prefix.charAt(0) === "/") {
|
|
77104
|
-
prefix =
|
|
77104
|
+
prefix = path7.join(this.root, prefix);
|
|
77105
77105
|
} else {
|
|
77106
|
-
prefix =
|
|
77106
|
+
prefix = path7.resolve(this.root, prefix);
|
|
77107
77107
|
if (trail)
|
|
77108
77108
|
prefix += "/";
|
|
77109
77109
|
}
|
|
@@ -77181,7 +77181,7 @@ var require_glob = __commonJS({
|
|
|
77181
77181
|
var require_file = __commonJS({
|
|
77182
77182
|
"../../node_modules/.pnpm/archiver-utils@2.1.0/node_modules/archiver-utils/file.js"(exports2, module2) {
|
|
77183
77183
|
var fs9 = require_graceful_fs();
|
|
77184
|
-
var
|
|
77184
|
+
var path7 = __require("path");
|
|
77185
77185
|
var flatten = require_lodash10();
|
|
77186
77186
|
var difference = require_lodash11();
|
|
77187
77187
|
var union = require_lodash12();
|
|
@@ -77206,7 +77206,7 @@ var require_file = __commonJS({
|
|
|
77206
77206
|
return result;
|
|
77207
77207
|
};
|
|
77208
77208
|
file.exists = function() {
|
|
77209
|
-
var filepath =
|
|
77209
|
+
var filepath = path7.join.apply(path7, arguments);
|
|
77210
77210
|
return fs9.existsSync(filepath);
|
|
77211
77211
|
};
|
|
77212
77212
|
file.expand = function(...args) {
|
|
@@ -77220,7 +77220,7 @@ var require_file = __commonJS({
|
|
|
77220
77220
|
});
|
|
77221
77221
|
if (options.filter) {
|
|
77222
77222
|
matches = matches.filter(function(filepath) {
|
|
77223
|
-
filepath =
|
|
77223
|
+
filepath = path7.join(options.cwd || "", filepath);
|
|
77224
77224
|
try {
|
|
77225
77225
|
if (typeof options.filter === "function") {
|
|
77226
77226
|
return options.filter(filepath);
|
|
@@ -77237,7 +77237,7 @@ var require_file = __commonJS({
|
|
|
77237
77237
|
file.expandMapping = function(patterns, destBase, options) {
|
|
77238
77238
|
options = Object.assign({
|
|
77239
77239
|
rename: function(destBase2, destPath) {
|
|
77240
|
-
return
|
|
77240
|
+
return path7.join(destBase2 || "", destPath);
|
|
77241
77241
|
}
|
|
77242
77242
|
}, options);
|
|
77243
77243
|
var files = [];
|
|
@@ -77245,14 +77245,14 @@ var require_file = __commonJS({
|
|
|
77245
77245
|
file.expand(options, patterns).forEach(function(src) {
|
|
77246
77246
|
var destPath = src;
|
|
77247
77247
|
if (options.flatten) {
|
|
77248
|
-
destPath =
|
|
77248
|
+
destPath = path7.basename(destPath);
|
|
77249
77249
|
}
|
|
77250
77250
|
if (options.ext) {
|
|
77251
77251
|
destPath = destPath.replace(/(\.[^\/]*)?$/, options.ext);
|
|
77252
77252
|
}
|
|
77253
77253
|
var dest = options.rename(destBase, destPath, options);
|
|
77254
77254
|
if (options.cwd) {
|
|
77255
|
-
src =
|
|
77255
|
+
src = path7.join(options.cwd, src);
|
|
77256
77256
|
}
|
|
77257
77257
|
dest = dest.replace(pathSeparatorRe, "/");
|
|
77258
77258
|
src = src.replace(pathSeparatorRe, "/");
|
|
@@ -77334,7 +77334,7 @@ var require_file = __commonJS({
|
|
|
77334
77334
|
var require_archiver_utils = __commonJS({
|
|
77335
77335
|
"../../node_modules/.pnpm/archiver-utils@2.1.0/node_modules/archiver-utils/index.js"(exports2, module2) {
|
|
77336
77336
|
var fs9 = require_graceful_fs();
|
|
77337
|
-
var
|
|
77337
|
+
var path7 = __require("path");
|
|
77338
77338
|
var nutil = __require("util");
|
|
77339
77339
|
var lazystream = require_lazystream();
|
|
77340
77340
|
var normalizePath = require_normalize_path();
|
|
@@ -77424,11 +77424,11 @@ var require_archiver_utils = __commonJS({
|
|
|
77424
77424
|
if (!file) {
|
|
77425
77425
|
return callback(null, results);
|
|
77426
77426
|
}
|
|
77427
|
-
filepath =
|
|
77427
|
+
filepath = path7.join(dirpath, file);
|
|
77428
77428
|
fs9.stat(filepath, function(err2, stats) {
|
|
77429
77429
|
results.push({
|
|
77430
77430
|
path: filepath,
|
|
77431
|
-
relative:
|
|
77431
|
+
relative: path7.relative(base, filepath).replace(/\\/g, "/"),
|
|
77432
77432
|
stats
|
|
77433
77433
|
});
|
|
77434
77434
|
if (stats && stats.isDirectory()) {
|
|
@@ -77487,7 +77487,7 @@ var require_core = __commonJS({
|
|
|
77487
77487
|
var fs9 = __require("fs");
|
|
77488
77488
|
var glob = require_readdir_glob();
|
|
77489
77489
|
var async = require_async();
|
|
77490
|
-
var
|
|
77490
|
+
var path7 = __require("path");
|
|
77491
77491
|
var util = require_archiver_utils();
|
|
77492
77492
|
var inherits2 = __require("util").inherits;
|
|
77493
77493
|
var ArchiverError = require_error2();
|
|
@@ -77763,9 +77763,9 @@ var require_core = __commonJS({
|
|
|
77763
77763
|
task.source = Buffer.concat([]);
|
|
77764
77764
|
} else if (stats.isSymbolicLink() && this._moduleSupports("symlink")) {
|
|
77765
77765
|
var linkPath = fs9.readlinkSync(task.filepath);
|
|
77766
|
-
var dirName =
|
|
77766
|
+
var dirName = path7.dirname(task.filepath);
|
|
77767
77767
|
task.data.type = "symlink";
|
|
77768
|
-
task.data.linkname =
|
|
77768
|
+
task.data.linkname = path7.relative(dirName, path7.resolve(dirName, linkPath));
|
|
77769
77769
|
task.data.sourceType = "buffer";
|
|
77770
77770
|
task.source = Buffer.concat([]);
|
|
77771
77771
|
} else {
|
|
@@ -79389,7 +79389,7 @@ var require_compress_commons = __commonJS({
|
|
|
79389
79389
|
var require_file2 = __commonJS({
|
|
79390
79390
|
"../../node_modules/.pnpm/archiver-utils@3.0.4/node_modules/archiver-utils/file.js"(exports2, module2) {
|
|
79391
79391
|
var fs9 = require_graceful_fs();
|
|
79392
|
-
var
|
|
79392
|
+
var path7 = __require("path");
|
|
79393
79393
|
var flatten = require_lodash10();
|
|
79394
79394
|
var difference = require_lodash11();
|
|
79395
79395
|
var union = require_lodash12();
|
|
@@ -79414,7 +79414,7 @@ var require_file2 = __commonJS({
|
|
|
79414
79414
|
return result;
|
|
79415
79415
|
};
|
|
79416
79416
|
file.exists = function() {
|
|
79417
|
-
var filepath =
|
|
79417
|
+
var filepath = path7.join.apply(path7, arguments);
|
|
79418
79418
|
return fs9.existsSync(filepath);
|
|
79419
79419
|
};
|
|
79420
79420
|
file.expand = function(...args) {
|
|
@@ -79428,7 +79428,7 @@ var require_file2 = __commonJS({
|
|
|
79428
79428
|
});
|
|
79429
79429
|
if (options.filter) {
|
|
79430
79430
|
matches = matches.filter(function(filepath) {
|
|
79431
|
-
filepath =
|
|
79431
|
+
filepath = path7.join(options.cwd || "", filepath);
|
|
79432
79432
|
try {
|
|
79433
79433
|
if (typeof options.filter === "function") {
|
|
79434
79434
|
return options.filter(filepath);
|
|
@@ -79445,7 +79445,7 @@ var require_file2 = __commonJS({
|
|
|
79445
79445
|
file.expandMapping = function(patterns, destBase, options) {
|
|
79446
79446
|
options = Object.assign({
|
|
79447
79447
|
rename: function(destBase2, destPath) {
|
|
79448
|
-
return
|
|
79448
|
+
return path7.join(destBase2 || "", destPath);
|
|
79449
79449
|
}
|
|
79450
79450
|
}, options);
|
|
79451
79451
|
var files = [];
|
|
@@ -79453,14 +79453,14 @@ var require_file2 = __commonJS({
|
|
|
79453
79453
|
file.expand(options, patterns).forEach(function(src) {
|
|
79454
79454
|
var destPath = src;
|
|
79455
79455
|
if (options.flatten) {
|
|
79456
|
-
destPath =
|
|
79456
|
+
destPath = path7.basename(destPath);
|
|
79457
79457
|
}
|
|
79458
79458
|
if (options.ext) {
|
|
79459
79459
|
destPath = destPath.replace(/(\.[^\/]*)?$/, options.ext);
|
|
79460
79460
|
}
|
|
79461
79461
|
var dest = options.rename(destBase, destPath, options);
|
|
79462
79462
|
if (options.cwd) {
|
|
79463
|
-
src =
|
|
79463
|
+
src = path7.join(options.cwd, src);
|
|
79464
79464
|
}
|
|
79465
79465
|
dest = dest.replace(pathSeparatorRe, "/");
|
|
79466
79466
|
src = src.replace(pathSeparatorRe, "/");
|
|
@@ -79542,7 +79542,7 @@ var require_file2 = __commonJS({
|
|
|
79542
79542
|
var require_archiver_utils2 = __commonJS({
|
|
79543
79543
|
"../../node_modules/.pnpm/archiver-utils@3.0.4/node_modules/archiver-utils/index.js"(exports2, module2) {
|
|
79544
79544
|
var fs9 = require_graceful_fs();
|
|
79545
|
-
var
|
|
79545
|
+
var path7 = __require("path");
|
|
79546
79546
|
var lazystream = require_lazystream();
|
|
79547
79547
|
var normalizePath = require_normalize_path();
|
|
79548
79548
|
var defaults = require_lodash9();
|
|
@@ -79629,11 +79629,11 @@ var require_archiver_utils2 = __commonJS({
|
|
|
79629
79629
|
if (!file) {
|
|
79630
79630
|
return callback(null, results);
|
|
79631
79631
|
}
|
|
79632
|
-
filepath =
|
|
79632
|
+
filepath = path7.join(dirpath, file);
|
|
79633
79633
|
fs9.stat(filepath, function(err2, stats) {
|
|
79634
79634
|
results.push({
|
|
79635
79635
|
path: filepath,
|
|
79636
|
-
relative:
|
|
79636
|
+
relative: path7.relative(base, filepath).replace(/\\/g, "/"),
|
|
79637
79637
|
stats
|
|
79638
79638
|
});
|
|
79639
79639
|
if (stats && stats.isDirectory()) {
|
|
@@ -82021,9 +82021,9 @@ var require_workbook_writer = __commonJS({
|
|
|
82021
82021
|
get definedNames() {
|
|
82022
82022
|
return this._definedNames;
|
|
82023
82023
|
}
|
|
82024
|
-
_openStream(
|
|
82024
|
+
_openStream(path7) {
|
|
82025
82025
|
const stream = new StreamBuf({ bufSize: 65536, batch: true });
|
|
82026
|
-
this.zip.append(stream, { name:
|
|
82026
|
+
this.zip.append(stream, { name: path7 });
|
|
82027
82027
|
stream.on("finish", () => {
|
|
82028
82028
|
stream.emit("zipped");
|
|
82029
82029
|
});
|
|
@@ -82041,9 +82041,9 @@ var require_workbook_writer = __commonJS({
|
|
|
82041
82041
|
}
|
|
82042
82042
|
return Promise.resolve();
|
|
82043
82043
|
};
|
|
82044
|
-
const
|
|
82045
|
-
if (
|
|
82046
|
-
return Promise.all(
|
|
82044
|
+
const promises2 = this._worksheets.map(commitWorksheet);
|
|
82045
|
+
if (promises2.length) {
|
|
82046
|
+
return Promise.all(promises2);
|
|
82047
82047
|
}
|
|
82048
82048
|
return Promise.resolve();
|
|
82049
82049
|
}
|
|
@@ -82515,7 +82515,7 @@ var require_traverse = __commonJS({
|
|
|
82515
82515
|
}(this.value);
|
|
82516
82516
|
};
|
|
82517
82517
|
function walk(root, cb, immutable) {
|
|
82518
|
-
var
|
|
82518
|
+
var path7 = [];
|
|
82519
82519
|
var parents = [];
|
|
82520
82520
|
var alive = true;
|
|
82521
82521
|
return function walker(node_) {
|
|
@@ -82524,11 +82524,11 @@ var require_traverse = __commonJS({
|
|
|
82524
82524
|
var state = {
|
|
82525
82525
|
node,
|
|
82526
82526
|
node_,
|
|
82527
|
-
path: [].concat(
|
|
82527
|
+
path: [].concat(path7),
|
|
82528
82528
|
parent: parents.slice(-1)[0],
|
|
82529
|
-
key:
|
|
82530
|
-
isRoot:
|
|
82531
|
-
level:
|
|
82529
|
+
key: path7.slice(-1)[0],
|
|
82530
|
+
isRoot: path7.length === 0,
|
|
82531
|
+
level: path7.length,
|
|
82532
82532
|
circular: null,
|
|
82533
82533
|
update: function(x2) {
|
|
82534
82534
|
if (!state.isRoot) {
|
|
@@ -82586,7 +82586,7 @@ var require_traverse = __commonJS({
|
|
|
82586
82586
|
parents.push(state);
|
|
82587
82587
|
var keys = Object.keys(state.node);
|
|
82588
82588
|
keys.forEach(function(key, i3) {
|
|
82589
|
-
|
|
82589
|
+
path7.push(key);
|
|
82590
82590
|
if (modifiers.pre)
|
|
82591
82591
|
modifiers.pre.call(state, state.node[key], key);
|
|
82592
82592
|
var child = walker(state.node[key]);
|
|
@@ -82597,7 +82597,7 @@ var require_traverse = __commonJS({
|
|
|
82597
82597
|
child.isFirst = i3 == 0;
|
|
82598
82598
|
if (modifiers.post)
|
|
82599
82599
|
modifiers.post.call(state, child);
|
|
82600
|
-
|
|
82600
|
+
path7.pop();
|
|
82601
82601
|
});
|
|
82602
82602
|
parents.pop();
|
|
82603
82603
|
}
|
|
@@ -86124,8 +86124,8 @@ var require_map = __commonJS({
|
|
|
86124
86124
|
var tryCatch2 = util.tryCatch;
|
|
86125
86125
|
var errorObj2 = util.errorObj;
|
|
86126
86126
|
var async = Promise2._async;
|
|
86127
|
-
function MappingPromiseArray(
|
|
86128
|
-
this.constructor$(
|
|
86127
|
+
function MappingPromiseArray(promises2, fn, limit, _filter) {
|
|
86128
|
+
this.constructor$(promises2);
|
|
86129
86129
|
this._promise._captureStackTrace();
|
|
86130
86130
|
var domain = getDomain();
|
|
86131
86131
|
this._callback = domain === null ? fn : util.domainBind(domain, fn);
|
|
@@ -86238,7 +86238,7 @@ var require_map = __commonJS({
|
|
|
86238
86238
|
MappingPromiseArray.prototype.preservedValues = function() {
|
|
86239
86239
|
return this._preservedValues;
|
|
86240
86240
|
};
|
|
86241
|
-
function map(
|
|
86241
|
+
function map(promises2, fn, options, _filter) {
|
|
86242
86242
|
if (typeof fn !== "function") {
|
|
86243
86243
|
return apiRejection("expecting a function but got " + util.classString(fn));
|
|
86244
86244
|
}
|
|
@@ -86258,13 +86258,13 @@ var require_map = __commonJS({
|
|
|
86258
86258
|
}
|
|
86259
86259
|
}
|
|
86260
86260
|
limit = typeof limit === "number" && isFinite(limit) && limit >= 1 ? limit : 0;
|
|
86261
|
-
return new MappingPromiseArray(
|
|
86261
|
+
return new MappingPromiseArray(promises2, fn, limit, _filter).promise();
|
|
86262
86262
|
}
|
|
86263
86263
|
Promise2.prototype.map = function(fn, options) {
|
|
86264
86264
|
return map(this, fn, options, null);
|
|
86265
86265
|
};
|
|
86266
|
-
Promise2.map = function(
|
|
86267
|
-
return map(
|
|
86266
|
+
Promise2.map = function(promises2, fn, options, _filter) {
|
|
86267
|
+
return map(promises2, fn, options, _filter);
|
|
86268
86268
|
};
|
|
86269
86269
|
};
|
|
86270
86270
|
}
|
|
@@ -87336,9 +87336,9 @@ var require_props = __commonJS({
|
|
|
87336
87336
|
PropertiesPromiseArray.prototype.getActualLength = function(len) {
|
|
87337
87337
|
return len >> 1;
|
|
87338
87338
|
};
|
|
87339
|
-
function props(
|
|
87339
|
+
function props(promises2) {
|
|
87340
87340
|
var ret2;
|
|
87341
|
-
var castValue = tryConvertToPromise(
|
|
87341
|
+
var castValue = tryConvertToPromise(promises2);
|
|
87342
87342
|
if (!isObject2(castValue)) {
|
|
87343
87343
|
return apiRejection("cannot await properties of a non-object\n\n See http://goo.gl/MqrFmX\n");
|
|
87344
87344
|
} else if (castValue instanceof Promise2) {
|
|
@@ -87360,8 +87360,8 @@ var require_props = __commonJS({
|
|
|
87360
87360
|
Promise2.prototype.props = function() {
|
|
87361
87361
|
return props(this);
|
|
87362
87362
|
};
|
|
87363
|
-
Promise2.props = function(
|
|
87364
|
-
return props(
|
|
87363
|
+
Promise2.props = function(promises2) {
|
|
87364
|
+
return props(promises2);
|
|
87365
87365
|
};
|
|
87366
87366
|
};
|
|
87367
87367
|
}
|
|
@@ -87378,14 +87378,14 @@ var require_race = __commonJS({
|
|
|
87378
87378
|
return race(array, promise);
|
|
87379
87379
|
});
|
|
87380
87380
|
};
|
|
87381
|
-
function race(
|
|
87382
|
-
var maybePromise = tryConvertToPromise(
|
|
87381
|
+
function race(promises2, parent) {
|
|
87382
|
+
var maybePromise = tryConvertToPromise(promises2);
|
|
87383
87383
|
if (maybePromise instanceof Promise2) {
|
|
87384
87384
|
return raceLater(maybePromise);
|
|
87385
87385
|
} else {
|
|
87386
|
-
|
|
87387
|
-
if (
|
|
87388
|
-
return apiRejection("expecting an array or an iterable object but got " + util.classString(
|
|
87386
|
+
promises2 = util.asArray(promises2);
|
|
87387
|
+
if (promises2 === null)
|
|
87388
|
+
return apiRejection("expecting an array or an iterable object but got " + util.classString(promises2));
|
|
87389
87389
|
}
|
|
87390
87390
|
var ret2 = new Promise2(INTERNAL);
|
|
87391
87391
|
if (parent !== void 0) {
|
|
@@ -87393,17 +87393,17 @@ var require_race = __commonJS({
|
|
|
87393
87393
|
}
|
|
87394
87394
|
var fulfill = ret2._fulfill;
|
|
87395
87395
|
var reject = ret2._reject;
|
|
87396
|
-
for (var i2 = 0, len =
|
|
87397
|
-
var val =
|
|
87398
|
-
if (val === void 0 && !(i2 in
|
|
87396
|
+
for (var i2 = 0, len = promises2.length; i2 < len; ++i2) {
|
|
87397
|
+
var val = promises2[i2];
|
|
87398
|
+
if (val === void 0 && !(i2 in promises2)) {
|
|
87399
87399
|
continue;
|
|
87400
87400
|
}
|
|
87401
87401
|
Promise2.cast(val)._then(fulfill, reject, void 0, ret2, null);
|
|
87402
87402
|
}
|
|
87403
87403
|
return ret2;
|
|
87404
87404
|
}
|
|
87405
|
-
Promise2.race = function(
|
|
87406
|
-
return race(
|
|
87405
|
+
Promise2.race = function(promises2) {
|
|
87406
|
+
return race(promises2, void 0);
|
|
87407
87407
|
};
|
|
87408
87408
|
Promise2.prototype.race = function() {
|
|
87409
87409
|
return race(this, void 0);
|
|
@@ -87420,8 +87420,8 @@ var require_reduce = __commonJS({
|
|
|
87420
87420
|
var getDomain = Promise2._getDomain;
|
|
87421
87421
|
var util = require_util4();
|
|
87422
87422
|
var tryCatch2 = util.tryCatch;
|
|
87423
|
-
function ReductionPromiseArray(
|
|
87424
|
-
this.constructor$(
|
|
87423
|
+
function ReductionPromiseArray(promises2, fn, initialValue, _each) {
|
|
87424
|
+
this.constructor$(promises2);
|
|
87425
87425
|
var domain = getDomain();
|
|
87426
87426
|
this._fn = domain === null ? fn : util.domainBind(domain, fn);
|
|
87427
87427
|
if (initialValue !== void 0) {
|
|
@@ -87510,8 +87510,8 @@ var require_reduce = __commonJS({
|
|
|
87510
87510
|
Promise2.prototype.reduce = function(fn, initialValue) {
|
|
87511
87511
|
return reduce(this, fn, initialValue, null);
|
|
87512
87512
|
};
|
|
87513
|
-
Promise2.reduce = function(
|
|
87514
|
-
return reduce(
|
|
87513
|
+
Promise2.reduce = function(promises2, fn, initialValue, _each) {
|
|
87514
|
+
return reduce(promises2, fn, initialValue, _each);
|
|
87515
87515
|
};
|
|
87516
87516
|
function completed(valueOrReason, array) {
|
|
87517
87517
|
if (this.isFulfilled()) {
|
|
@@ -87520,11 +87520,11 @@ var require_reduce = __commonJS({
|
|
|
87520
87520
|
array._reject(valueOrReason);
|
|
87521
87521
|
}
|
|
87522
87522
|
}
|
|
87523
|
-
function reduce(
|
|
87523
|
+
function reduce(promises2, fn, initialValue, _each) {
|
|
87524
87524
|
if (typeof fn !== "function") {
|
|
87525
87525
|
return apiRejection("expecting a function but got " + util.classString(fn));
|
|
87526
87526
|
}
|
|
87527
|
-
var array = new ReductionPromiseArray(
|
|
87527
|
+
var array = new ReductionPromiseArray(promises2, fn, initialValue, _each);
|
|
87528
87528
|
return array.promise();
|
|
87529
87529
|
}
|
|
87530
87530
|
function gotAccum(accum) {
|
|
@@ -87603,9 +87603,9 @@ var require_settle = __commonJS({
|
|
|
87603
87603
|
ret2._settledValueField = reason;
|
|
87604
87604
|
return this._promiseResolved(index, ret2);
|
|
87605
87605
|
};
|
|
87606
|
-
Promise2.settle = function(
|
|
87606
|
+
Promise2.settle = function(promises2) {
|
|
87607
87607
|
debug.deprecated(".settle()", ".reflect()");
|
|
87608
|
-
return new SettledPromiseArray(
|
|
87608
|
+
return new SettledPromiseArray(promises2).promise();
|
|
87609
87609
|
};
|
|
87610
87610
|
Promise2.prototype.settle = function() {
|
|
87611
87611
|
return Promise2.settle(this);
|
|
@@ -87721,18 +87721,18 @@ var require_some = __commonJS({
|
|
|
87721
87721
|
SomePromiseArray.prototype._resolveEmptyArray = function() {
|
|
87722
87722
|
this._reject(this._getRangeError(0));
|
|
87723
87723
|
};
|
|
87724
|
-
function some(
|
|
87724
|
+
function some(promises2, howMany) {
|
|
87725
87725
|
if ((howMany | 0) !== howMany || howMany < 0) {
|
|
87726
87726
|
return apiRejection("expecting a positive integer\n\n See http://goo.gl/MqrFmX\n");
|
|
87727
87727
|
}
|
|
87728
|
-
var ret2 = new SomePromiseArray(
|
|
87728
|
+
var ret2 = new SomePromiseArray(promises2);
|
|
87729
87729
|
var promise = ret2.promise();
|
|
87730
87730
|
ret2.setHowMany(howMany);
|
|
87731
87731
|
ret2.init();
|
|
87732
87732
|
return promise;
|
|
87733
87733
|
}
|
|
87734
|
-
Promise2.some = function(
|
|
87735
|
-
return some(
|
|
87734
|
+
Promise2.some = function(promises2, howMany) {
|
|
87735
|
+
return some(promises2, howMany);
|
|
87736
87736
|
};
|
|
87737
87737
|
Promise2.prototype.some = function(howMany) {
|
|
87738
87738
|
return some(this, howMany);
|
|
@@ -87751,8 +87751,8 @@ var require_filter = __commonJS({
|
|
|
87751
87751
|
Promise2.prototype.filter = function(fn, options) {
|
|
87752
87752
|
return PromiseMap(this, fn, options, INTERNAL);
|
|
87753
87753
|
};
|
|
87754
|
-
Promise2.filter = function(
|
|
87755
|
-
return PromiseMap(
|
|
87754
|
+
Promise2.filter = function(promises2, fn, options) {
|
|
87755
|
+
return PromiseMap(promises2, fn, options, INTERNAL);
|
|
87756
87756
|
};
|
|
87757
87757
|
};
|
|
87758
87758
|
}
|
|
@@ -87768,8 +87768,8 @@ var require_each = __commonJS({
|
|
|
87768
87768
|
function promiseAllThis() {
|
|
87769
87769
|
return PromiseAll(this);
|
|
87770
87770
|
}
|
|
87771
|
-
function PromiseMapSeries(
|
|
87772
|
-
return PromiseReduce(
|
|
87771
|
+
function PromiseMapSeries(promises2, fn) {
|
|
87772
|
+
return PromiseReduce(promises2, fn, INTERNAL, INTERNAL);
|
|
87773
87773
|
}
|
|
87774
87774
|
Promise2.prototype.each = function(fn) {
|
|
87775
87775
|
return PromiseReduce(this, fn, INTERNAL, 0)._then(promiseAllThis, void 0, void 0, this, void 0);
|
|
@@ -87777,8 +87777,8 @@ var require_each = __commonJS({
|
|
|
87777
87777
|
Promise2.prototype.mapSeries = function(fn) {
|
|
87778
87778
|
return PromiseReduce(this, fn, INTERNAL, INTERNAL);
|
|
87779
87779
|
};
|
|
87780
|
-
Promise2.each = function(
|
|
87781
|
-
return PromiseReduce(
|
|
87780
|
+
Promise2.each = function(promises2, fn) {
|
|
87781
|
+
return PromiseReduce(promises2, fn, INTERNAL, 0)._then(promiseAllThis, void 0, void 0, promises2, void 0);
|
|
87782
87782
|
};
|
|
87783
87783
|
Promise2.mapSeries = PromiseMapSeries;
|
|
87784
87784
|
};
|
|
@@ -87791,16 +87791,16 @@ var require_any = __commonJS({
|
|
|
87791
87791
|
"use strict";
|
|
87792
87792
|
module2.exports = function(Promise2) {
|
|
87793
87793
|
var SomePromiseArray = Promise2._SomePromiseArray;
|
|
87794
|
-
function any(
|
|
87795
|
-
var ret2 = new SomePromiseArray(
|
|
87794
|
+
function any(promises2) {
|
|
87795
|
+
var ret2 = new SomePromiseArray(promises2);
|
|
87796
87796
|
var promise = ret2.promise();
|
|
87797
87797
|
ret2.setHowMany(1);
|
|
87798
87798
|
ret2.setUnwrap();
|
|
87799
87799
|
ret2.init();
|
|
87800
87800
|
return promise;
|
|
87801
87801
|
}
|
|
87802
|
-
Promise2.any = function(
|
|
87803
|
-
return any(
|
|
87802
|
+
Promise2.any = function(promises2) {
|
|
87803
|
+
return any(promises2);
|
|
87804
87804
|
};
|
|
87805
87805
|
Promise2.prototype.any = function() {
|
|
87806
87806
|
return any(this);
|
|
@@ -87986,8 +87986,8 @@ var require_promise = __commonJS({
|
|
|
87986
87986
|
ret2._setAsyncGuaranteed();
|
|
87987
87987
|
return ret2;
|
|
87988
87988
|
};
|
|
87989
|
-
Promise2.all = function(
|
|
87990
|
-
return new PromiseArray(
|
|
87989
|
+
Promise2.all = function(promises2) {
|
|
87990
|
+
return new PromiseArray(promises2).promise();
|
|
87991
87991
|
};
|
|
87992
87992
|
Promise2.cast = function(obj2) {
|
|
87993
87993
|
var ret2 = tryConvertToPromise(obj2);
|
|
@@ -89226,7 +89226,7 @@ var require_dir_reader = __commonJS({
|
|
|
89226
89226
|
module2.exports = DirReader;
|
|
89227
89227
|
var fs9 = require_graceful_fs();
|
|
89228
89228
|
var inherits2 = require_inherits();
|
|
89229
|
-
var
|
|
89229
|
+
var path7 = __require("path");
|
|
89230
89230
|
var Reader = require_reader();
|
|
89231
89231
|
var assert = __require("assert").ok;
|
|
89232
89232
|
inherits2(DirReader, Reader);
|
|
@@ -89286,7 +89286,7 @@ var require_dir_reader = __commonJS({
|
|
|
89286
89286
|
}
|
|
89287
89287
|
return;
|
|
89288
89288
|
}
|
|
89289
|
-
var p =
|
|
89289
|
+
var p = path7.resolve(self2._path, self2.entries[self2._index]);
|
|
89290
89290
|
assert(p !== self2._path);
|
|
89291
89291
|
assert(self2.entries[self2._index]);
|
|
89292
89292
|
self2._currentEntry = p;
|
|
@@ -89295,12 +89295,12 @@ var require_dir_reader = __commonJS({
|
|
|
89295
89295
|
return self2.error(er);
|
|
89296
89296
|
var who = self2._proxy || self2;
|
|
89297
89297
|
stat2.path = p;
|
|
89298
|
-
stat2.basename =
|
|
89299
|
-
stat2.dirname =
|
|
89298
|
+
stat2.basename = path7.basename(p);
|
|
89299
|
+
stat2.dirname = path7.dirname(p);
|
|
89300
89300
|
var childProps = self2.getChildProps.call(who, stat2);
|
|
89301
89301
|
childProps.path = p;
|
|
89302
|
-
childProps.basename =
|
|
89303
|
-
childProps.dirname =
|
|
89302
|
+
childProps.basename = path7.basename(p);
|
|
89303
|
+
childProps.dirname = path7.dirname(p);
|
|
89304
89304
|
var entry = Reader(childProps, stat2);
|
|
89305
89305
|
self2._currentEntry = entry;
|
|
89306
89306
|
entry.on("pause", function(who2) {
|
|
@@ -89650,7 +89650,7 @@ var require_reader = __commonJS({
|
|
|
89650
89650
|
var fs9 = require_graceful_fs();
|
|
89651
89651
|
var Stream4 = __require("stream").Stream;
|
|
89652
89652
|
var inherits2 = require_inherits();
|
|
89653
|
-
var
|
|
89653
|
+
var path7 = __require("path");
|
|
89654
89654
|
var getType = require_get_type();
|
|
89655
89655
|
var hardLinks = Reader.hardLinks = {};
|
|
89656
89656
|
var Abstract = require_abstract();
|
|
@@ -89709,7 +89709,7 @@ var require_reader = __commonJS({
|
|
|
89709
89709
|
self2.depth = props.depth = props.depth || 0;
|
|
89710
89710
|
self2.parent = props.parent || null;
|
|
89711
89711
|
self2.root = props.root || props.parent && props.parent.root || self2;
|
|
89712
|
-
self2._path = self2.path =
|
|
89712
|
+
self2._path = self2.path = path7.resolve(props.path);
|
|
89713
89713
|
if (process.platform === "win32") {
|
|
89714
89714
|
self2.path = self2._path = self2.path.replace(/\?/g, "_");
|
|
89715
89715
|
if (self2._path.length >= 260) {
|
|
@@ -89717,8 +89717,8 @@ var require_reader = __commonJS({
|
|
|
89717
89717
|
self2._path = "\\\\?\\" + self2.path.replace(/\//g, "\\");
|
|
89718
89718
|
}
|
|
89719
89719
|
}
|
|
89720
|
-
self2.basename = props.basename =
|
|
89721
|
-
self2.dirname = props.dirname =
|
|
89720
|
+
self2.basename = props.basename = path7.basename(self2.path);
|
|
89721
|
+
self2.dirname = props.dirname = path7.dirname(self2.path);
|
|
89722
89722
|
props.parent = props.root = null;
|
|
89723
89723
|
self2.size = props.size;
|
|
89724
89724
|
self2.filter = typeof props.filter === "function" ? props.filter : null;
|
|
@@ -89834,7 +89834,7 @@ var require_rimraf = __commonJS({
|
|
|
89834
89834
|
module2.exports = rimraf;
|
|
89835
89835
|
rimraf.sync = rimrafSync;
|
|
89836
89836
|
var assert = __require("assert");
|
|
89837
|
-
var
|
|
89837
|
+
var path7 = __require("path");
|
|
89838
89838
|
var fs9 = __require("fs");
|
|
89839
89839
|
var glob = void 0;
|
|
89840
89840
|
try {
|
|
@@ -90026,7 +90026,7 @@ var require_rimraf = __commonJS({
|
|
|
90026
90026
|
return options.rmdir(p, cb);
|
|
90027
90027
|
var errState;
|
|
90028
90028
|
files.forEach(function(f3) {
|
|
90029
|
-
rimraf(
|
|
90029
|
+
rimraf(path7.join(p, f3), options, function(er2) {
|
|
90030
90030
|
if (errState)
|
|
90031
90031
|
return;
|
|
90032
90032
|
if (er2)
|
|
@@ -90103,7 +90103,7 @@ var require_rimraf = __commonJS({
|
|
|
90103
90103
|
assert(p);
|
|
90104
90104
|
assert(options);
|
|
90105
90105
|
options.readdirSync(p).forEach(function(f3) {
|
|
90106
|
-
rimrafSync(
|
|
90106
|
+
rimrafSync(path7.join(p, f3), options);
|
|
90107
90107
|
});
|
|
90108
90108
|
var retries = isWindows3 ? 100 : 1;
|
|
90109
90109
|
var i2 = 0;
|
|
@@ -90125,7 +90125,7 @@ var require_rimraf = __commonJS({
|
|
|
90125
90125
|
// ../../node_modules/.pnpm/mkdirp@0.5.6/node_modules/mkdirp/index.js
|
|
90126
90126
|
var require_mkdirp = __commonJS({
|
|
90127
90127
|
"../../node_modules/.pnpm/mkdirp@0.5.6/node_modules/mkdirp/index.js"(exports2, module2) {
|
|
90128
|
-
var
|
|
90128
|
+
var path7 = __require("path");
|
|
90129
90129
|
var fs9 = __require("fs");
|
|
90130
90130
|
var _0777 = parseInt("0777", 8);
|
|
90131
90131
|
module2.exports = mkdirP.mkdirp = mkdirP.mkdirP = mkdirP;
|
|
@@ -90146,7 +90146,7 @@ var require_mkdirp = __commonJS({
|
|
|
90146
90146
|
var cb = f3 || /* istanbul ignore next */
|
|
90147
90147
|
function() {
|
|
90148
90148
|
};
|
|
90149
|
-
p =
|
|
90149
|
+
p = path7.resolve(p);
|
|
90150
90150
|
xfs.mkdir(p, mode, function(er) {
|
|
90151
90151
|
if (!er) {
|
|
90152
90152
|
made = made || p;
|
|
@@ -90154,9 +90154,9 @@ var require_mkdirp = __commonJS({
|
|
|
90154
90154
|
}
|
|
90155
90155
|
switch (er.code) {
|
|
90156
90156
|
case "ENOENT":
|
|
90157
|
-
if (
|
|
90157
|
+
if (path7.dirname(p) === p)
|
|
90158
90158
|
return cb(er);
|
|
90159
|
-
mkdirP(
|
|
90159
|
+
mkdirP(path7.dirname(p), opts, function(er2, made2) {
|
|
90160
90160
|
if (er2)
|
|
90161
90161
|
cb(er2, made2);
|
|
90162
90162
|
else
|
|
@@ -90185,14 +90185,14 @@ var require_mkdirp = __commonJS({
|
|
|
90185
90185
|
}
|
|
90186
90186
|
if (!made)
|
|
90187
90187
|
made = null;
|
|
90188
|
-
p =
|
|
90188
|
+
p = path7.resolve(p);
|
|
90189
90189
|
try {
|
|
90190
90190
|
xfs.mkdirSync(p, mode);
|
|
90191
90191
|
made = made || p;
|
|
90192
90192
|
} catch (err0) {
|
|
90193
90193
|
switch (err0.code) {
|
|
90194
90194
|
case "ENOENT":
|
|
90195
|
-
made = sync(
|
|
90195
|
+
made = sync(path7.dirname(p), opts, made);
|
|
90196
90196
|
sync(p, opts, made);
|
|
90197
90197
|
break;
|
|
90198
90198
|
default:
|
|
@@ -90285,7 +90285,7 @@ var require_dir_writer = __commonJS({
|
|
|
90285
90285
|
var Writer = require_writer();
|
|
90286
90286
|
var inherits2 = require_inherits();
|
|
90287
90287
|
var mkdir = require_mkdirp();
|
|
90288
|
-
var
|
|
90288
|
+
var path7 = __require("path");
|
|
90289
90289
|
var collect = require_collect();
|
|
90290
90290
|
inherits2(DirWriter, Writer);
|
|
90291
90291
|
function DirWriter(props) {
|
|
@@ -90364,7 +90364,7 @@ var require_dir_writer = __commonJS({
|
|
|
90364
90364
|
if (entry.parent) {
|
|
90365
90365
|
pp = pp.substr(entry.parent._path.length + 1);
|
|
90366
90366
|
}
|
|
90367
|
-
props.path =
|
|
90367
|
+
props.path = path7.join(self2.path, path7.join("/", pp));
|
|
90368
90368
|
props.filter = self2.filter;
|
|
90369
90369
|
Object.keys(entry.props).forEach(function(k) {
|
|
90370
90370
|
if (!props.hasOwnProperty(k)) {
|
|
@@ -90406,7 +90406,7 @@ var require_link_writer = __commonJS({
|
|
|
90406
90406
|
var fs9 = require_graceful_fs();
|
|
90407
90407
|
var Writer = require_writer();
|
|
90408
90408
|
var inherits2 = require_inherits();
|
|
90409
|
-
var
|
|
90409
|
+
var path7 = __require("path");
|
|
90410
90410
|
var rimraf = require_rimraf();
|
|
90411
90411
|
inherits2(LinkWriter, Writer);
|
|
90412
90412
|
function LinkWriter(props) {
|
|
@@ -90428,7 +90428,7 @@ var require_link_writer = __commonJS({
|
|
|
90428
90428
|
var self2 = this;
|
|
90429
90429
|
var hard = self2.type === "Link" || process.platform === "win32";
|
|
90430
90430
|
var link2 = hard ? "link" : "symlink";
|
|
90431
|
-
var lp = hard ?
|
|
90431
|
+
var lp = hard ? path7.resolve(self2.dirname, self2.linkpath) : self2.linkpath;
|
|
90432
90432
|
if (hard)
|
|
90433
90433
|
return clobber(self2, lp, link2);
|
|
90434
90434
|
fs9.readlink(self2._path, function(er, p) {
|
|
@@ -90664,7 +90664,7 @@ var require_writer = __commonJS({
|
|
|
90664
90664
|
var inherits2 = require_inherits();
|
|
90665
90665
|
var rimraf = require_rimraf();
|
|
90666
90666
|
var mkdir = require_mkdirp();
|
|
90667
|
-
var
|
|
90667
|
+
var path7 = __require("path");
|
|
90668
90668
|
var umask = process.platform === "win32" ? 0 : process.umask();
|
|
90669
90669
|
var getType = require_get_type();
|
|
90670
90670
|
var Abstract = require_abstract();
|
|
@@ -90709,7 +90709,7 @@ var require_writer = __commonJS({
|
|
|
90709
90709
|
self2.clobber = props.clobber === false ? props.clobber : true;
|
|
90710
90710
|
self2.parent = props.parent || null;
|
|
90711
90711
|
self2.root = props.root || props.parent && props.parent.root || self2;
|
|
90712
|
-
self2._path = self2.path =
|
|
90712
|
+
self2._path = self2.path = path7.resolve(props.path);
|
|
90713
90713
|
if (process.platform === "win32") {
|
|
90714
90714
|
self2.path = self2._path = self2.path.replace(/\?/g, "_");
|
|
90715
90715
|
if (self2._path.length >= 260) {
|
|
@@ -90717,8 +90717,8 @@ var require_writer = __commonJS({
|
|
|
90717
90717
|
self2._path = "\\\\?\\" + self2.path.replace(/\//g, "\\");
|
|
90718
90718
|
}
|
|
90719
90719
|
}
|
|
90720
|
-
self2.basename =
|
|
90721
|
-
self2.dirname =
|
|
90720
|
+
self2.basename = path7.basename(props.path);
|
|
90721
|
+
self2.dirname = path7.dirname(props.path);
|
|
90722
90722
|
self2.linkpath = props.linkpath || null;
|
|
90723
90723
|
props.parent = props.root = null;
|
|
90724
90724
|
self2.size = props.size;
|
|
@@ -90774,14 +90774,14 @@ var require_writer = __commonJS({
|
|
|
90774
90774
|
}
|
|
90775
90775
|
};
|
|
90776
90776
|
function create3(self2) {
|
|
90777
|
-
mkdir(
|
|
90777
|
+
mkdir(path7.dirname(self2._path), Writer.dirmode, function(er, made) {
|
|
90778
90778
|
if (er)
|
|
90779
90779
|
return self2.error(er);
|
|
90780
90780
|
self2._madeDir = made;
|
|
90781
90781
|
return self2._create();
|
|
90782
90782
|
});
|
|
90783
90783
|
}
|
|
90784
|
-
function endChmod(self2, want, current,
|
|
90784
|
+
function endChmod(self2, want, current, path8, cb) {
|
|
90785
90785
|
var wantMode = want.mode;
|
|
90786
90786
|
var chmod = want.follow || self2.type !== "SymbolicLink" ? "chmod" : "lchmod";
|
|
90787
90787
|
if (!fs9[chmod])
|
|
@@ -90792,9 +90792,9 @@ var require_writer = __commonJS({
|
|
|
90792
90792
|
wantMode = wantMode & parseInt("0777", 8);
|
|
90793
90793
|
if (wantMode === curMode)
|
|
90794
90794
|
return cb();
|
|
90795
|
-
fs9[chmod](
|
|
90795
|
+
fs9[chmod](path8, wantMode, cb);
|
|
90796
90796
|
}
|
|
90797
|
-
function endChown(self2, want, current,
|
|
90797
|
+
function endChown(self2, want, current, path8, cb) {
|
|
90798
90798
|
if (process.platform === "win32")
|
|
90799
90799
|
return cb();
|
|
90800
90800
|
if (!process.getuid || process.getuid() !== 0)
|
|
@@ -90810,9 +90810,9 @@ var require_writer = __commonJS({
|
|
|
90810
90810
|
want.uid = current.uid;
|
|
90811
90811
|
if (typeof want.gid !== "number")
|
|
90812
90812
|
want.gid = current.gid;
|
|
90813
|
-
fs9[chown](
|
|
90813
|
+
fs9[chown](path8, want.uid, want.gid, cb);
|
|
90814
90814
|
}
|
|
90815
|
-
function endUtimes(self2, want, current,
|
|
90815
|
+
function endUtimes(self2, want, current, path8, cb) {
|
|
90816
90816
|
if (!fs9.utimes || process.platform === "win32")
|
|
90817
90817
|
return cb();
|
|
90818
90818
|
var utimes = want.follow || self2.type !== "SymbolicLink" ? "utimes" : "lutimes";
|
|
@@ -90835,7 +90835,7 @@ var require_writer = __commonJS({
|
|
|
90835
90835
|
meA = new Date(meM);
|
|
90836
90836
|
if (meA.getTime() === curA.getTime() && meM.getTime() === curM.getTime())
|
|
90837
90837
|
return cb();
|
|
90838
|
-
fs9[utimes](
|
|
90838
|
+
fs9[utimes](path8, meA, meM, cb);
|
|
90839
90839
|
}
|
|
90840
90840
|
Writer.prototype._finish = function() {
|
|
90841
90841
|
var self2 = this;
|
|
@@ -90904,7 +90904,7 @@ var require_writer = __commonJS({
|
|
|
90904
90904
|
};
|
|
90905
90905
|
function endMadeDir(self2, p, cb) {
|
|
90906
90906
|
var made = self2._madeDir;
|
|
90907
|
-
var d =
|
|
90907
|
+
var d = path7.dirname(p);
|
|
90908
90908
|
endMadeDir_(self2, d, function(er) {
|
|
90909
90909
|
if (er)
|
|
90910
90910
|
return cb(er);
|
|
@@ -90998,18 +90998,18 @@ var require_extract2 = __commonJS({
|
|
|
90998
90998
|
module2.exports = Extract;
|
|
90999
90999
|
var Parse = require_parse();
|
|
91000
91000
|
var Writer = require_fstream().Writer;
|
|
91001
|
-
var
|
|
91001
|
+
var path7 = __require("path");
|
|
91002
91002
|
var stream = __require("stream");
|
|
91003
91003
|
var duplexer2 = require_duplexer2();
|
|
91004
91004
|
var Promise2 = require_bluebird();
|
|
91005
91005
|
function Extract(opts) {
|
|
91006
|
-
opts.path =
|
|
91006
|
+
opts.path = path7.resolve(path7.normalize(opts.path));
|
|
91007
91007
|
var parser = new Parse(opts);
|
|
91008
91008
|
var outStream = new stream.Writable({ objectMode: true });
|
|
91009
91009
|
outStream._write = function(entry, encoding, cb) {
|
|
91010
91010
|
if (entry.type == "Directory")
|
|
91011
91011
|
return cb();
|
|
91012
|
-
var extractPath =
|
|
91012
|
+
var extractPath = path7.join(opts.path, entry.path);
|
|
91013
91013
|
if (extractPath.indexOf(opts.path) != 0) {
|
|
91014
91014
|
return cb();
|
|
91015
91015
|
}
|
|
@@ -92547,7 +92547,7 @@ var require_directory = __commonJS({
|
|
|
92547
92547
|
var BufferStream = require_BufferStream();
|
|
92548
92548
|
var parseExtraField = require_parseExtraField();
|
|
92549
92549
|
var Buffer4 = require_Buffer();
|
|
92550
|
-
var
|
|
92550
|
+
var path7 = __require("path");
|
|
92551
92551
|
var Writer = require_fstream().Writer;
|
|
92552
92552
|
var parseDateTime = require_parseDateTime();
|
|
92553
92553
|
var signature = Buffer4.alloc(4);
|
|
@@ -92626,12 +92626,12 @@ var require_directory = __commonJS({
|
|
|
92626
92626
|
vars.extract = function(opts) {
|
|
92627
92627
|
if (!opts || !opts.path)
|
|
92628
92628
|
throw new Error("PATH_MISSING");
|
|
92629
|
-
opts.path =
|
|
92629
|
+
opts.path = path7.resolve(path7.normalize(opts.path));
|
|
92630
92630
|
return vars.files.then(function(files) {
|
|
92631
92631
|
return Promise2.map(files, function(entry) {
|
|
92632
92632
|
if (entry.type == "Directory")
|
|
92633
92633
|
return;
|
|
92634
|
-
var extractPath =
|
|
92634
|
+
var extractPath = path7.join(opts.path, entry.path);
|
|
92635
92635
|
if (extractPath.indexOf(opts.path) != 0) {
|
|
92636
92636
|
return;
|
|
92637
92637
|
}
|
|
@@ -92790,15 +92790,15 @@ var require_unzip2 = __commonJS({
|
|
|
92790
92790
|
var require_tmp = __commonJS({
|
|
92791
92791
|
"../../node_modules/.pnpm/tmp@0.2.7/node_modules/tmp/lib/tmp.js"(exports2, module2) {
|
|
92792
92792
|
var fs9 = __require("fs");
|
|
92793
|
-
var
|
|
92794
|
-
var
|
|
92793
|
+
var os6 = __require("os");
|
|
92794
|
+
var path7 = __require("path");
|
|
92795
92795
|
var crypto5 = __require("crypto");
|
|
92796
|
-
var _c = { fs: fs9.constants, os:
|
|
92796
|
+
var _c = { fs: fs9.constants, os: os6.constants };
|
|
92797
92797
|
var RANDOM_CHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
|
|
92798
92798
|
var TEMPLATE_PATTERN = /XXXXXX/;
|
|
92799
92799
|
var DEFAULT_TRIES = 3;
|
|
92800
92800
|
var CREATE_FLAGS = (_c.O_CREAT || _c.fs.O_CREAT) | (_c.O_EXCL || _c.fs.O_EXCL) | (_c.O_RDWR || _c.fs.O_RDWR);
|
|
92801
|
-
var IS_WIN32 =
|
|
92801
|
+
var IS_WIN32 = os6.platform() === "win32";
|
|
92802
92802
|
var EBADF = _c.EBADF || _c.os.errno.EBADF;
|
|
92803
92803
|
var ENOENT = _c.ENOENT || _c.os.errno.ENOENT;
|
|
92804
92804
|
var DIR_MODE = 448;
|
|
@@ -93012,13 +93012,13 @@ var require_tmp = __commonJS({
|
|
|
93012
93012
|
return [actualOptions, callback];
|
|
93013
93013
|
}
|
|
93014
93014
|
function _resolvePath(name, tmpDir, cb) {
|
|
93015
|
-
const pathToResolve =
|
|
93015
|
+
const pathToResolve = path7.isAbsolute(name) ? name : path7.join(tmpDir, name);
|
|
93016
93016
|
fs9.stat(pathToResolve, function(err) {
|
|
93017
93017
|
if (err) {
|
|
93018
|
-
fs9.realpath(
|
|
93018
|
+
fs9.realpath(path7.dirname(pathToResolve), function(err2, parentDir) {
|
|
93019
93019
|
if (err2)
|
|
93020
93020
|
return cb(err2);
|
|
93021
|
-
cb(null,
|
|
93021
|
+
cb(null, path7.join(parentDir, path7.basename(pathToResolve)));
|
|
93022
93022
|
});
|
|
93023
93023
|
} else {
|
|
93024
93024
|
fs9.realpath(pathToResolve, cb);
|
|
@@ -93026,22 +93026,22 @@ var require_tmp = __commonJS({
|
|
|
93026
93026
|
});
|
|
93027
93027
|
}
|
|
93028
93028
|
function _resolvePathSync(name, tmpDir) {
|
|
93029
|
-
const pathToResolve =
|
|
93029
|
+
const pathToResolve = path7.isAbsolute(name) ? name : path7.join(tmpDir, name);
|
|
93030
93030
|
try {
|
|
93031
93031
|
fs9.statSync(pathToResolve);
|
|
93032
93032
|
return fs9.realpathSync(pathToResolve);
|
|
93033
93033
|
} catch (_err) {
|
|
93034
|
-
const parentDir = fs9.realpathSync(
|
|
93035
|
-
return
|
|
93034
|
+
const parentDir = fs9.realpathSync(path7.dirname(pathToResolve));
|
|
93035
|
+
return path7.join(parentDir, path7.basename(pathToResolve));
|
|
93036
93036
|
}
|
|
93037
93037
|
}
|
|
93038
93038
|
function _generateTmpName(opts) {
|
|
93039
93039
|
const tmpDir = opts.tmpdir;
|
|
93040
93040
|
if (!_isUndefined(opts.name)) {
|
|
93041
|
-
return
|
|
93041
|
+
return path7.join(tmpDir, opts.dir, opts.name);
|
|
93042
93042
|
}
|
|
93043
93043
|
if (!_isUndefined(opts.template)) {
|
|
93044
|
-
return
|
|
93044
|
+
return path7.join(tmpDir, opts.dir, opts.template).replace(TEMPLATE_PATTERN, _randomChars(6));
|
|
93045
93045
|
}
|
|
93046
93046
|
const name = [
|
|
93047
93047
|
opts.prefix ? opts.prefix : "tmp",
|
|
@@ -93051,7 +93051,7 @@ var require_tmp = __commonJS({
|
|
|
93051
93051
|
_randomChars(12),
|
|
93052
93052
|
opts.postfix ? "-" + opts.postfix : ""
|
|
93053
93053
|
].join("");
|
|
93054
|
-
return
|
|
93054
|
+
return path7.join(tmpDir, opts.dir, name);
|
|
93055
93055
|
}
|
|
93056
93056
|
function _assertPath(option, value) {
|
|
93057
93057
|
if (typeof value !== "string") {
|
|
@@ -93065,9 +93065,9 @@ var require_tmp = __commonJS({
|
|
|
93065
93065
|
function _assertOptionsBase(options) {
|
|
93066
93066
|
if (!_isUndefined(options.name)) {
|
|
93067
93067
|
const name = options.name;
|
|
93068
|
-
if (
|
|
93068
|
+
if (path7.isAbsolute(name))
|
|
93069
93069
|
throw new Error(`name option must not contain an absolute path, found "${name}".`);
|
|
93070
|
-
const basename2 =
|
|
93070
|
+
const basename2 = path7.basename(name);
|
|
93071
93071
|
if (basename2 === ".." || basename2 === "." || basename2 !== name) {
|
|
93072
93072
|
throw new Error(`name option must not contain a path, found "${name}".`);
|
|
93073
93073
|
}
|
|
@@ -93098,8 +93098,8 @@ var require_tmp = __commonJS({
|
|
|
93098
93098
|
_resolvePath(name, tmpDir, function(err, resolvedPath) {
|
|
93099
93099
|
if (err)
|
|
93100
93100
|
return cb(err);
|
|
93101
|
-
const relativePath =
|
|
93102
|
-
if (relativePath.startsWith("..") ||
|
|
93101
|
+
const relativePath = path7.relative(tmpDir, resolvedPath);
|
|
93102
|
+
if (relativePath.startsWith("..") || path7.isAbsolute(relativePath)) {
|
|
93103
93103
|
return cb(new Error(`${option} option must be relative to "${tmpDir}", found "${relativePath}".`));
|
|
93104
93104
|
}
|
|
93105
93105
|
cb(null, relativePath);
|
|
@@ -93109,8 +93109,8 @@ var require_tmp = __commonJS({
|
|
|
93109
93109
|
if (_isUndefined(name))
|
|
93110
93110
|
return;
|
|
93111
93111
|
const resolvedPath = _resolvePathSync(name, tmpDir);
|
|
93112
|
-
const relativePath =
|
|
93113
|
-
if (relativePath.startsWith("..") ||
|
|
93112
|
+
const relativePath = path7.relative(tmpDir, resolvedPath);
|
|
93113
|
+
if (relativePath.startsWith("..") || path7.isAbsolute(relativePath)) {
|
|
93114
93114
|
throw new Error(`${option} option must be relative to "${tmpDir}", found "${relativePath}".`);
|
|
93115
93115
|
}
|
|
93116
93116
|
return relativePath;
|
|
@@ -93159,10 +93159,10 @@ var require_tmp = __commonJS({
|
|
|
93159
93159
|
_gracefulCleanup = true;
|
|
93160
93160
|
}
|
|
93161
93161
|
function _getTmpDir(options, cb) {
|
|
93162
|
-
return fs9.realpath(options && options.tmpdir ||
|
|
93162
|
+
return fs9.realpath(options && options.tmpdir || os6.tmpdir(), cb);
|
|
93163
93163
|
}
|
|
93164
93164
|
function _getTmpDirSync(options) {
|
|
93165
|
-
return fs9.realpathSync(options && options.tmpdir ||
|
|
93165
|
+
return fs9.realpathSync(options && options.tmpdir || os6.tmpdir());
|
|
93166
93166
|
}
|
|
93167
93167
|
process.addListener(EXIT, _garbageCollector);
|
|
93168
93168
|
Object.defineProperty(module2.exports, "tmpdir", {
|
|
@@ -93747,12 +93747,12 @@ var require_workbook_reader = __commonJS({
|
|
|
93747
93747
|
yield* this._parseWorksheet(iterateStream(entry), sheetNo);
|
|
93748
93748
|
} else {
|
|
93749
93749
|
await new Promise((resolve3, reject) => {
|
|
93750
|
-
tmp.file((err,
|
|
93750
|
+
tmp.file((err, path7, fd, tempFileCleanupCallback) => {
|
|
93751
93751
|
if (err) {
|
|
93752
93752
|
return reject(err);
|
|
93753
93753
|
}
|
|
93754
|
-
waitingWorkSheets.push({ sheetNo, path:
|
|
93755
|
-
const tempStream = fs9.createWriteStream(
|
|
93754
|
+
waitingWorkSheets.push({ sheetNo, path: path7, tempFileCleanupCallback });
|
|
93755
|
+
const tempStream = fs9.createWriteStream(path7);
|
|
93756
93756
|
tempStream.on("error", reject);
|
|
93757
93757
|
entry.pipe(tempStream);
|
|
93758
93758
|
return tempStream.on("finish", () => {
|
|
@@ -93770,8 +93770,8 @@ var require_workbook_reader = __commonJS({
|
|
|
93770
93770
|
}
|
|
93771
93771
|
entry.autodrain();
|
|
93772
93772
|
}
|
|
93773
|
-
for (const { sheetNo, path:
|
|
93774
|
-
let fileStream = fs9.createReadStream(
|
|
93773
|
+
for (const { sheetNo, path: path7, tempFileCleanupCallback } of waitingWorkSheets) {
|
|
93774
|
+
let fileStream = fs9.createReadStream(path7);
|
|
93775
93775
|
if (!fileStream[Symbol.asyncIterator]) {
|
|
93776
93776
|
fileStream = fileStream.pipe(new PassThrough4());
|
|
93777
93777
|
}
|
|
@@ -99360,8 +99360,8 @@ var require_executor = __commonJS({
|
|
|
99360
99360
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
99361
99361
|
exports2.executeTool = executeTool;
|
|
99362
99362
|
var fs9 = __importStar(__require("fs"));
|
|
99363
|
-
var
|
|
99364
|
-
var
|
|
99363
|
+
var path7 = __importStar(__require("path"));
|
|
99364
|
+
var os6 = __importStar(__require("os"));
|
|
99365
99365
|
var https3 = __importStar(__require("https"));
|
|
99366
99366
|
var http3 = __importStar(__require("http"));
|
|
99367
99367
|
var dns = __importStar(__require("dns"));
|
|
@@ -99387,7 +99387,7 @@ var require_executor = __commonJS({
|
|
|
99387
99387
|
var READ_CHARS_PER_TOKEN = 4;
|
|
99388
99388
|
var MAX_READ_CHARS = MAX_READ_TOKENS * READ_CHARS_PER_TOKEN;
|
|
99389
99389
|
var MAX_SPILL_BYTES = 20 * 1024 * 1024;
|
|
99390
|
-
var SPILL_DIR =
|
|
99390
|
+
var SPILL_DIR = path7.join(os6.tmpdir(), "nexrall-code", "bash-output");
|
|
99391
99391
|
var BLOCKED_REGEXES = [
|
|
99392
99392
|
// Filesystem destruction — match rm/chmod with any whitespace between flags.
|
|
99393
99393
|
// Only root itself and BARE top-level system dirs are blocked; ordinary
|
|
@@ -99447,9 +99447,9 @@ var require_executor = __commonJS({
|
|
|
99447
99447
|
}
|
|
99448
99448
|
function resolvePath(inputPath, workDir) {
|
|
99449
99449
|
const base = workDir ?? process.cwd();
|
|
99450
|
-
const resolved =
|
|
99451
|
-
if (!
|
|
99452
|
-
const rel =
|
|
99450
|
+
const resolved = path7.isAbsolute(inputPath) ? inputPath : path7.resolve(base, inputPath);
|
|
99451
|
+
if (!path7.isAbsolute(inputPath)) {
|
|
99452
|
+
const rel = path7.relative(base, resolved);
|
|
99453
99453
|
if (rel.startsWith("..")) {
|
|
99454
99454
|
throw new Error(`Path traversal denied: "${inputPath}" escapes the workspace root.`);
|
|
99455
99455
|
}
|
|
@@ -99575,7 +99575,7 @@ ${numbered}` });
|
|
|
99575
99575
|
const resolved = resolvePath(filePath, workDir);
|
|
99576
99576
|
fs9.statSync(resolved);
|
|
99577
99577
|
if (isBinaryFile(resolved)) {
|
|
99578
|
-
const ext =
|
|
99578
|
+
const ext = path7.extname(resolved).toLowerCase();
|
|
99579
99579
|
return { error: `Cannot read binary file: ${resolved} (${ext || "no extension"}). Use a text-based tool or convert it first.` };
|
|
99580
99580
|
}
|
|
99581
99581
|
return await readFileWindowed(resolved, offset, limit);
|
|
@@ -99592,7 +99592,7 @@ ${numbered}` });
|
|
|
99592
99592
|
return { error: "Missing required parameter: content (must be a string)" };
|
|
99593
99593
|
try {
|
|
99594
99594
|
const resolved = resolvePath(filePath, workDir);
|
|
99595
|
-
const dir =
|
|
99595
|
+
const dir = path7.dirname(resolved);
|
|
99596
99596
|
fs9.mkdirSync(dir, { recursive: true });
|
|
99597
99597
|
const isNew = !fs9.existsSync(resolved);
|
|
99598
99598
|
if (!isNew && content === "") {
|
|
@@ -99641,9 +99641,9 @@ Resolve the conflict (remove <<<<<<< / ======= / >>>>>>> markers and keep the in
|
|
|
99641
99641
|
}
|
|
99642
99642
|
}
|
|
99643
99643
|
function atomicWriteBuffer(resolved, data) {
|
|
99644
|
-
const dir =
|
|
99644
|
+
const dir = path7.dirname(resolved);
|
|
99645
99645
|
fs9.mkdirSync(dir, { recursive: true });
|
|
99646
|
-
const tmp =
|
|
99646
|
+
const tmp = path7.join(dir, `.${path7.basename(resolved)}.nexrall-tmp-${process.pid}-${Date.now()}`);
|
|
99647
99647
|
fs9.writeFileSync(tmp, data);
|
|
99648
99648
|
fs9.renameSync(tmp, resolved);
|
|
99649
99649
|
}
|
|
@@ -99770,7 +99770,7 @@ Resolve the conflict (remove <<<<<<< / ======= / >>>>>>> markers and keep the in
|
|
|
99770
99770
|
}
|
|
99771
99771
|
const resolved = resolvePath(filePath, workDir);
|
|
99772
99772
|
const isNew = !fs9.existsSync(resolved);
|
|
99773
|
-
fs9.mkdirSync(
|
|
99773
|
+
fs9.mkdirSync(path7.dirname(resolved), { recursive: true });
|
|
99774
99774
|
const buffer = await pres.write({ outputType: "nodebuffer" });
|
|
99775
99775
|
atomicWriteBuffer(resolved, buffer);
|
|
99776
99776
|
return { output: `${isNew ? "Created" : "Overwrote"} ${resolved} (${slidesRaw.length} slide(s), ${buffer.length} bytes)` };
|
|
@@ -99800,7 +99800,7 @@ Resolve the conflict (remove <<<<<<< / ======= / >>>>>>> markers and keep the in
|
|
|
99800
99800
|
}
|
|
99801
99801
|
for (const f3 of files) {
|
|
99802
99802
|
try {
|
|
99803
|
-
const stat3 = fs9.statSync(
|
|
99803
|
+
const stat3 = fs9.statSync(path7.join(resolved, f3.name));
|
|
99804
99804
|
const size = formatBytes(stat3.size);
|
|
99805
99805
|
lines.push(`\u{1F4C4} ${f3.name} (${size})`);
|
|
99806
99806
|
} catch {
|
|
@@ -99848,7 +99848,7 @@ Resolve the conflict (remove <<<<<<< / ======= / >>>>>>> markers and keep the in
|
|
|
99848
99848
|
if (!shell.spillPath && !shell.spillFull) {
|
|
99849
99849
|
try {
|
|
99850
99850
|
fs9.mkdirSync(SPILL_DIR, { recursive: true });
|
|
99851
|
-
shell.spillPath =
|
|
99851
|
+
shell.spillPath = path7.join(SPILL_DIR, `${id}-${Date.now()}.log`);
|
|
99852
99852
|
shell.spillFd = fs9.openSync(shell.spillPath, "w");
|
|
99853
99853
|
fs9.writeSync(shell.spillFd, shell.output);
|
|
99854
99854
|
} catch {
|
|
@@ -100020,7 +100020,7 @@ ${r2.output}`;
|
|
|
100020
100020
|
return;
|
|
100021
100021
|
try {
|
|
100022
100022
|
fs9.mkdirSync(SPILL_DIR, { recursive: true });
|
|
100023
|
-
spillPath =
|
|
100023
|
+
spillPath = path7.join(SPILL_DIR, `bash-${Date.now()}-${Math.random().toString(36).slice(2, 8)}.log`);
|
|
100024
100024
|
spillFd = fs9.openSync(spillPath, "w");
|
|
100025
100025
|
} catch {
|
|
100026
100026
|
spillPath = null;
|
|
@@ -100242,7 +100242,7 @@ Update these call-sites (or restore the symbol), then run a build/typecheck to c
|
|
|
100242
100242
|
}
|
|
100243
100243
|
const rel = [];
|
|
100244
100244
|
for (const f3 of files) {
|
|
100245
|
-
const abs =
|
|
100245
|
+
const abs = path7.isAbsolute(f3) ? f3 : path7.join(workDir, f3);
|
|
100246
100246
|
let real = abs;
|
|
100247
100247
|
try {
|
|
100248
100248
|
real = fs9.realpathSync(abs);
|
|
@@ -100250,7 +100250,7 @@ Update these call-sites (or restore the symbol), then run a build/typecheck to c
|
|
|
100250
100250
|
}
|
|
100251
100251
|
if (real === excludeRealPath)
|
|
100252
100252
|
continue;
|
|
100253
|
-
rel.push(
|
|
100253
|
+
rel.push(path7.relative(workDir, abs) || f3);
|
|
100254
100254
|
}
|
|
100255
100255
|
return rel;
|
|
100256
100256
|
}
|
|
@@ -100269,9 +100269,9 @@ Update these call-sites (or restore the symbol), then run a build/typecheck to c
|
|
|
100269
100269
|
const matches = [];
|
|
100270
100270
|
const patternLower = pattern.toLowerCase();
|
|
100271
100271
|
walkDir(resolved, (filePath) => {
|
|
100272
|
-
const name =
|
|
100272
|
+
const name = path7.basename(filePath);
|
|
100273
100273
|
const nameLower = name.toLowerCase();
|
|
100274
|
-
const rel =
|
|
100274
|
+
const rel = path7.relative(resolved, filePath).replace(/\\/g, "/");
|
|
100275
100275
|
const relLower = rel.toLowerCase();
|
|
100276
100276
|
if (nameLower.includes(patternLower) || matchesGlob(name, pattern) || matchesPattern(name, pattern) || relLower.includes(patternLower) || matchesGlob(rel, pattern) || matchesPattern(rel, pattern)) {
|
|
100277
100277
|
matches.push(filePath);
|
|
@@ -100383,7 +100383,7 @@ ${globalCapMatches(output)}` : "";
|
|
|
100383
100383
|
_visited.add(real);
|
|
100384
100384
|
const entries = fs9.readdirSync(dirPath, { withFileTypes: true });
|
|
100385
100385
|
for (const entry of entries) {
|
|
100386
|
-
const fullPath =
|
|
100386
|
+
const fullPath = path7.join(dirPath, entry.name);
|
|
100387
100387
|
const isDir = entry.isDirectory() || entry.isSymbolicLink() && (() => {
|
|
100388
100388
|
try {
|
|
100389
100389
|
return fs9.statSync(fullPath).isDirectory();
|
|
@@ -100425,7 +100425,7 @@ ${globalCapMatches(output)}` : "";
|
|
|
100425
100425
|
try {
|
|
100426
100426
|
const resolvedSource = resolvePath(source2, workDir);
|
|
100427
100427
|
const resolvedDest = resolvePath(dest, workDir);
|
|
100428
|
-
fs9.mkdirSync(
|
|
100428
|
+
fs9.mkdirSync(path7.dirname(resolvedDest), { recursive: true });
|
|
100429
100429
|
try {
|
|
100430
100430
|
fs9.renameSync(resolvedSource, resolvedDest);
|
|
100431
100431
|
} catch (e2) {
|
|
@@ -100580,7 +100580,7 @@ ${diff3}${xfile}${sec}` };
|
|
|
100580
100580
|
if (fs9.existsSync(resolvedDest) && fs9.statSync(resolvedDest).isDirectory()) {
|
|
100581
100581
|
return { error: `Destination is a directory: ${resolvedDest}. Provide a full file path including the filename.` };
|
|
100582
100582
|
}
|
|
100583
|
-
fs9.mkdirSync(
|
|
100583
|
+
fs9.mkdirSync(path7.dirname(resolvedDest), { recursive: true });
|
|
100584
100584
|
fs9.copyFileSync(resolvedSrc, resolvedDest);
|
|
100585
100585
|
return { output: `Copied: ${resolvedSrc} \u2192 ${resolvedDest}` };
|
|
100586
100586
|
} catch (err) {
|
|
@@ -100905,9 +100905,9 @@ ${d}`).join("\n") + xfile + sec
|
|
|
100905
100905
|
};
|
|
100906
100906
|
const regex2 = toRegex(pattern);
|
|
100907
100907
|
walkDir(resolved, (filePath) => {
|
|
100908
|
-
const rel =
|
|
100908
|
+
const rel = path7.relative(resolved, filePath).replace(/\\/g, "/");
|
|
100909
100909
|
const useBasename = !pattern.includes("/") && !pattern.includes("**");
|
|
100910
|
-
if (regex2.test(rel) || useBasename && regex2.test(
|
|
100910
|
+
if (regex2.test(rel) || useBasename && regex2.test(path7.basename(filePath))) {
|
|
100911
100911
|
matches.push(filePath);
|
|
100912
100912
|
}
|
|
100913
100913
|
});
|
|
@@ -101216,7 +101216,7 @@ ${lines.join("\n")}`;
|
|
|
101216
101216
|
}
|
|
101217
101217
|
const destPath = resolvePath(relPath, workDir);
|
|
101218
101218
|
try {
|
|
101219
|
-
fs9.mkdirSync(
|
|
101219
|
+
fs9.mkdirSync(path7.dirname(destPath), { recursive: true });
|
|
101220
101220
|
} catch (_2) {
|
|
101221
101221
|
}
|
|
101222
101222
|
try {
|
|
@@ -101272,7 +101272,7 @@ ${lines.join("\n")}`;
|
|
|
101272
101272
|
return { error: "No usable photo URL returned from Unsplash." };
|
|
101273
101273
|
const destPath = resolvePath(relPath, workDir);
|
|
101274
101274
|
try {
|
|
101275
|
-
fs9.mkdirSync(
|
|
101275
|
+
fs9.mkdirSync(path7.dirname(destPath), { recursive: true });
|
|
101276
101276
|
} catch (_2) {
|
|
101277
101277
|
}
|
|
101278
101278
|
try {
|
|
@@ -101376,7 +101376,7 @@ ${expanded}` };
|
|
|
101376
101376
|
return { ok: false, err: { error: e2.message } };
|
|
101377
101377
|
}
|
|
101378
101378
|
if (!(0, tsLangService_1.isTsLike)(resolved)) {
|
|
101379
|
-
return { ok: false, err: { error: `Semantic navigation currently supports TypeScript/JavaScript only. For ${
|
|
101379
|
+
return { ok: false, err: { error: `Semantic navigation currently supports TypeScript/JavaScript only. For ${path7.extname(resolved) || "this file type"} use get_symbols / get_workspace_symbols (regex-based).` } };
|
|
101380
101380
|
}
|
|
101381
101381
|
return { ok: true, args: { workDir: workDir ?? process.cwd(), filePath: resolved, line, character } };
|
|
101382
101382
|
}
|
|
@@ -101550,8 +101550,8 @@ var require_agentTypes = __commonJS({
|
|
|
101550
101550
|
exports2.summariseAgents = summariseAgents;
|
|
101551
101551
|
exports2.findAgentType = findAgentType;
|
|
101552
101552
|
var fs9 = __importStar(__require("fs"));
|
|
101553
|
-
var
|
|
101554
|
-
var
|
|
101553
|
+
var path7 = __importStar(__require("path"));
|
|
101554
|
+
var os6 = __importStar(__require("os"));
|
|
101555
101555
|
var index_1 = require_plugins();
|
|
101556
101556
|
var VALID_MEMORY_SCOPES = ["project", "user", "local"];
|
|
101557
101557
|
function parseMemoryScope(v) {
|
|
@@ -101944,7 +101944,7 @@ var require_agentTypes = __commonJS({
|
|
|
101944
101944
|
return;
|
|
101945
101945
|
}
|
|
101946
101946
|
for (const entry of entries) {
|
|
101947
|
-
const full =
|
|
101947
|
+
const full = path7.join(dir, entry.name);
|
|
101948
101948
|
if (entry.isDirectory()) {
|
|
101949
101949
|
loadDir(full, source2, into, warnings);
|
|
101950
101950
|
continue;
|
|
@@ -101955,11 +101955,11 @@ var require_agentTypes = __commonJS({
|
|
|
101955
101955
|
try {
|
|
101956
101956
|
raw = fs9.readFileSync(full, "utf-8");
|
|
101957
101957
|
} catch (err) {
|
|
101958
|
-
warnings.push({ file: full, agent:
|
|
101958
|
+
warnings.push({ file: full, agent: path7.basename(entry.name, ".md"), message: `could not be read (${err.message}) \u2014 this agent was skipped` });
|
|
101959
101959
|
continue;
|
|
101960
101960
|
}
|
|
101961
101961
|
const { meta, body, ok } = parseFrontmatter(raw);
|
|
101962
|
-
const name = (meta.name ||
|
|
101962
|
+
const name = (meta.name || path7.basename(entry.name, ".md")).trim();
|
|
101963
101963
|
if (!name)
|
|
101964
101964
|
continue;
|
|
101965
101965
|
if (source2 !== "project" && into.has(name))
|
|
@@ -102054,8 +102054,8 @@ var require_agentTypes = __commonJS({
|
|
|
102054
102054
|
function loadAgentTypesWithWarnings2(workDir) {
|
|
102055
102055
|
const out = /* @__PURE__ */ new Map();
|
|
102056
102056
|
const warnings = [];
|
|
102057
|
-
loadDir(
|
|
102058
|
-
loadDir(
|
|
102057
|
+
loadDir(path7.join(workDir, ".nexrall", "agents"), "project", out, warnings);
|
|
102058
|
+
loadDir(path7.join(os6.homedir(), ".nexrall", "agents"), "global", out, warnings);
|
|
102059
102059
|
for (const dir of (0, index_1.pluginAssetDirs)(workDir, "agents"))
|
|
102060
102060
|
loadDir(dir, "plugin", out, warnings);
|
|
102061
102061
|
for (const agent of BUILTIN_AGENTS) {
|
|
@@ -102165,13 +102165,13 @@ var require_rules = __commonJS({
|
|
|
102165
102165
|
exports2.loadSettings = loadSettings2;
|
|
102166
102166
|
exports2.evaluatePermission = evaluatePermission2;
|
|
102167
102167
|
var fs9 = __importStar(__require("fs"));
|
|
102168
|
-
var
|
|
102169
|
-
var
|
|
102168
|
+
var path7 = __importStar(__require("path"));
|
|
102169
|
+
var os6 = __importStar(__require("os"));
|
|
102170
102170
|
function managedSettingsPath() {
|
|
102171
102171
|
if (process.platform === "darwin")
|
|
102172
102172
|
return "/Library/Application Support/Nexrall/managed-settings.json";
|
|
102173
102173
|
if (process.platform === "win32")
|
|
102174
|
-
return
|
|
102174
|
+
return path7.join(process.env.PROGRAMDATA ?? "C:\\ProgramData", "Nexrall", "managed-settings.json");
|
|
102175
102175
|
return "/etc/nexrall/managed-settings.json";
|
|
102176
102176
|
}
|
|
102177
102177
|
function readJson(file) {
|
|
@@ -102189,9 +102189,9 @@ var require_rules = __commonJS({
|
|
|
102189
102189
|
function loadSettings2(workDir) {
|
|
102190
102190
|
const tiers = [
|
|
102191
102191
|
managedSettingsPath(),
|
|
102192
|
-
|
|
102193
|
-
|
|
102194
|
-
|
|
102192
|
+
path7.join(os6.homedir(), ".nexrall", "settings.json"),
|
|
102193
|
+
path7.join(workDir, ".nexrall", "settings.json"),
|
|
102194
|
+
path7.join(workDir, ".nexrall", "settings.local.json")
|
|
102195
102195
|
];
|
|
102196
102196
|
const merged = { allow: [], ask: [], deny: [] };
|
|
102197
102197
|
const raw = {};
|
|
@@ -102259,10 +102259,10 @@ var require_rules = __commonJS({
|
|
|
102259
102259
|
if (!p)
|
|
102260
102260
|
return;
|
|
102261
102261
|
vals.push(p);
|
|
102262
|
-
if (
|
|
102263
|
-
vals.push(
|
|
102262
|
+
if (path7.isAbsolute(p))
|
|
102263
|
+
vals.push(path7.relative(workDir, p));
|
|
102264
102264
|
else
|
|
102265
|
-
vals.push(
|
|
102265
|
+
vals.push(path7.resolve(workDir, p));
|
|
102266
102266
|
};
|
|
102267
102267
|
switch (tool) {
|
|
102268
102268
|
case "bash":
|
|
@@ -102970,12 +102970,12 @@ var require_loop = __commonJS({
|
|
|
102970
102970
|
var memory_1 = require_memory();
|
|
102971
102971
|
var safeSlice_1 = require_safeSlice();
|
|
102972
102972
|
var fs9 = __importStar(__require("fs"));
|
|
102973
|
-
var
|
|
102973
|
+
var path7 = __importStar(__require("path"));
|
|
102974
102974
|
var child_process_1 = __require("child_process");
|
|
102975
102975
|
function loadHooks(workDir) {
|
|
102976
102976
|
let fromSettings = {};
|
|
102977
102977
|
try {
|
|
102978
|
-
const p =
|
|
102978
|
+
const p = path7.join(workDir, ".nexrall", "settings.json");
|
|
102979
102979
|
if (fs9.existsSync(p))
|
|
102980
102980
|
fromSettings = JSON.parse(fs9.readFileSync(p, "utf-8")).hooks ?? {};
|
|
102981
102981
|
} catch {
|
|
@@ -103205,7 +103205,7 @@ ${ctx.repeatError}
|
|
|
103205
103205
|
if (!WRITE_TOOLS.has(name))
|
|
103206
103206
|
return [];
|
|
103207
103207
|
const raw = [input.path, input.source, input.destination, input.dest].filter((p) => typeof p === "string" && p.length > 0);
|
|
103208
|
-
const abs = raw.map((p) => workDir ?
|
|
103208
|
+
const abs = raw.map((p) => workDir ? path7.resolve(workDir, p) : p);
|
|
103209
103209
|
return abs.length ? abs : [name];
|
|
103210
103210
|
}
|
|
103211
103211
|
var DEFAULT_MAX_CONCURRENT_SUBTASKS = 4;
|
|
@@ -103233,7 +103233,7 @@ ${ctx.repeatError}
|
|
|
103233
103233
|
function createLimiter(max) {
|
|
103234
103234
|
let active = 0;
|
|
103235
103235
|
const queue = [];
|
|
103236
|
-
const
|
|
103236
|
+
const release3 = () => {
|
|
103237
103237
|
active--;
|
|
103238
103238
|
queue.shift()?.();
|
|
103239
103239
|
};
|
|
@@ -103244,7 +103244,7 @@ ${ctx.repeatError}
|
|
|
103244
103244
|
try {
|
|
103245
103245
|
return await fn();
|
|
103246
103246
|
} finally {
|
|
103247
|
-
|
|
103247
|
+
release3();
|
|
103248
103248
|
}
|
|
103249
103249
|
};
|
|
103250
103250
|
}
|
|
@@ -105227,8 +105227,8 @@ var require_manager = __commonJS({
|
|
|
105227
105227
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
105228
105228
|
exports2.McpManager = void 0;
|
|
105229
105229
|
var fs9 = __importStar(__require("fs"));
|
|
105230
|
-
var
|
|
105231
|
-
var
|
|
105230
|
+
var path7 = __importStar(__require("path"));
|
|
105231
|
+
var os6 = __importStar(__require("os"));
|
|
105232
105232
|
var client_1 = require_client2();
|
|
105233
105233
|
var httpClient_1 = require_httpClient();
|
|
105234
105234
|
var sseClient_1 = require_sseClient();
|
|
@@ -105256,8 +105256,8 @@ var require_manager = __commonJS({
|
|
|
105256
105256
|
} catch {
|
|
105257
105257
|
}
|
|
105258
105258
|
const locations = [
|
|
105259
|
-
|
|
105260
|
-
|
|
105259
|
+
path7.join(os6.homedir(), ".nexrall", "mcp.json"),
|
|
105260
|
+
path7.join(workDir, ".nexrall", "mcp.json")
|
|
105261
105261
|
];
|
|
105262
105262
|
for (const loc of locations) {
|
|
105263
105263
|
try {
|
|
@@ -105391,7 +105391,7 @@ var require_manager = __commonJS({
|
|
|
105391
105391
|
// ─── Config file persistence (for the management UI) ──────────────────────────
|
|
105392
105392
|
/** Path to an mcp.json for the given scope. */
|
|
105393
105393
|
static configPath(workDir, scope) {
|
|
105394
|
-
return scope === "user" ?
|
|
105394
|
+
return scope === "user" ? path7.join(os6.homedir(), ".nexrall", "mcp.json") : path7.join(workDir, ".nexrall", "mcp.json");
|
|
105395
105395
|
}
|
|
105396
105396
|
static readConfigFile(p) {
|
|
105397
105397
|
try {
|
|
@@ -105402,7 +105402,7 @@ var require_manager = __commonJS({
|
|
|
105402
105402
|
}
|
|
105403
105403
|
}
|
|
105404
105404
|
static writeConfigFile(p, cfg) {
|
|
105405
|
-
fs9.mkdirSync(
|
|
105405
|
+
fs9.mkdirSync(path7.dirname(p), { recursive: true });
|
|
105406
105406
|
fs9.writeFileSync(p, JSON.stringify(cfg, null, 2) + "\n", "utf-8");
|
|
105407
105407
|
}
|
|
105408
105408
|
/** Add (or overwrite) a server in the given scope's mcp.json. */
|
|
@@ -105493,8 +105493,8 @@ var require_manager2 = __commonJS({
|
|
|
105493
105493
|
exports2.isMutatingTool = isMutatingTool;
|
|
105494
105494
|
exports2.isPotentiallyMutatingBash = isPotentiallyMutatingBash;
|
|
105495
105495
|
var fs9 = __importStar(__require("fs"));
|
|
105496
|
-
var
|
|
105497
|
-
var
|
|
105496
|
+
var os6 = __importStar(__require("os"));
|
|
105497
|
+
var path7 = __importStar(__require("path"));
|
|
105498
105498
|
var crypto5 = __importStar(__require("crypto"));
|
|
105499
105499
|
var child_process_1 = __require("child_process");
|
|
105500
105500
|
var MAX_SNAPSHOT_BYTES = 2 * 1024 * 1024;
|
|
@@ -105557,13 +105557,13 @@ var require_manager2 = __commonJS({
|
|
|
105557
105557
|
this.turns = [];
|
|
105558
105558
|
this.current = null;
|
|
105559
105559
|
this.nextId = 1;
|
|
105560
|
-
const key = crypto5.createHash("sha1").update(
|
|
105561
|
-
const base = process.env.NEXRALL_CHECKPOINT_DIR ||
|
|
105562
|
-
this.storeDir =
|
|
105560
|
+
const key = crypto5.createHash("sha1").update(path7.resolve(workDir) + "\0" + (scope ?? "")).digest("hex").slice(0, 16);
|
|
105561
|
+
const base = process.env.NEXRALL_CHECKPOINT_DIR || path7.join(os6.homedir(), ".nexrall", "checkpoints");
|
|
105562
|
+
this.storeDir = path7.join(base, key);
|
|
105563
105563
|
this.loadFromDisk();
|
|
105564
105564
|
}
|
|
105565
105565
|
resolve(p) {
|
|
105566
|
-
return
|
|
105566
|
+
return path7.isAbsolute(p) ? p : path7.resolve(this.workDir, p);
|
|
105567
105567
|
}
|
|
105568
105568
|
/**
|
|
105569
105569
|
* Open a new turn. `label` is a short description (usually the user prompt),
|
|
@@ -105719,7 +105719,7 @@ var require_manager2 = __commonJS({
|
|
|
105719
105719
|
}
|
|
105720
105720
|
}
|
|
105721
105721
|
} else if (snap.content !== null) {
|
|
105722
|
-
fs9.mkdirSync(
|
|
105722
|
+
fs9.mkdirSync(path7.dirname(snap.absPath), { recursive: true });
|
|
105723
105723
|
fs9.writeFileSync(snap.absPath, snap.content);
|
|
105724
105724
|
}
|
|
105725
105725
|
} catch {
|
|
@@ -105727,7 +105727,7 @@ var require_manager2 = __commonJS({
|
|
|
105727
105727
|
}
|
|
105728
105728
|
// ─── Disk persistence (best-effort — checkpointing must never crash the agent) ──
|
|
105729
105729
|
turnFile(id) {
|
|
105730
|
-
return
|
|
105730
|
+
return path7.join(this.storeDir, `turn-${id}.json`);
|
|
105731
105731
|
}
|
|
105732
105732
|
persistTurn(turn) {
|
|
105733
105733
|
try {
|
|
@@ -105757,13 +105757,13 @@ var require_manager2 = __commonJS({
|
|
|
105757
105757
|
fs9.mkdirSync(this.storeDir, { recursive: true });
|
|
105758
105758
|
const index = {
|
|
105759
105759
|
version: 1,
|
|
105760
|
-
workDir:
|
|
105760
|
+
workDir: path7.resolve(this.workDir),
|
|
105761
105761
|
nextId: this.nextId,
|
|
105762
105762
|
turnIds: this.turns.map((t2) => t2.id)
|
|
105763
105763
|
};
|
|
105764
|
-
const tmp =
|
|
105764
|
+
const tmp = path7.join(this.storeDir, "index.json.tmp");
|
|
105765
105765
|
fs9.writeFileSync(tmp, JSON.stringify(index));
|
|
105766
|
-
fs9.renameSync(tmp,
|
|
105766
|
+
fs9.renameSync(tmp, path7.join(this.storeDir, "index.json"));
|
|
105767
105767
|
} catch {
|
|
105768
105768
|
}
|
|
105769
105769
|
}
|
|
@@ -105781,7 +105781,7 @@ var require_manager2 = __commonJS({
|
|
|
105781
105781
|
}
|
|
105782
105782
|
loadFromDisk() {
|
|
105783
105783
|
try {
|
|
105784
|
-
const raw = fs9.readFileSync(
|
|
105784
|
+
const raw = fs9.readFileSync(path7.join(this.storeDir, "index.json"), "utf-8");
|
|
105785
105785
|
const index = JSON.parse(raw);
|
|
105786
105786
|
if (index.version !== 1 || !Array.isArray(index.turnIds))
|
|
105787
105787
|
return;
|
|
@@ -106166,13 +106166,13 @@ var require_sources = __commonJS({
|
|
|
106166
106166
|
exports2.removeDeclaredSource = removeDeclaredSource2;
|
|
106167
106167
|
exports2.sourcesFileFor = sourcesFileFor2;
|
|
106168
106168
|
var fs9 = __importStar(__require("fs"));
|
|
106169
|
-
var
|
|
106170
|
-
var
|
|
106169
|
+
var path7 = __importStar(__require("path"));
|
|
106170
|
+
var os6 = __importStar(__require("os"));
|
|
106171
106171
|
function managedSettingsPath() {
|
|
106172
106172
|
if (process.platform === "darwin")
|
|
106173
106173
|
return "/Library/Application Support/Nexrall/managed-settings.json";
|
|
106174
106174
|
if (process.platform === "win32")
|
|
106175
|
-
return
|
|
106175
|
+
return path7.join(process.env.PROGRAMDATA ?? "C:\\ProgramData", "Nexrall", "managed-settings.json");
|
|
106176
106176
|
return "/etc/nexrall/managed-settings.json";
|
|
106177
106177
|
}
|
|
106178
106178
|
function readJson(file) {
|
|
@@ -106218,10 +106218,10 @@ var require_sources = __commonJS({
|
|
|
106218
106218
|
function loadDeclaredSources2(workDir, opts = {}) {
|
|
106219
106219
|
const out = /* @__PURE__ */ new Map();
|
|
106220
106220
|
collect(managedSettingsPath(), "managed", out);
|
|
106221
|
-
collect(
|
|
106221
|
+
collect(path7.join(os6.homedir(), ".nexrall", "settings.json"), "user", out);
|
|
106222
106222
|
if (opts.includeProject) {
|
|
106223
|
-
collect(
|
|
106224
|
-
collect(
|
|
106223
|
+
collect(path7.join(workDir, ".nexrall", "settings.json"), "project", out);
|
|
106224
|
+
collect(path7.join(workDir, ".nexrall", "settings.local.json"), "project", out);
|
|
106225
106225
|
}
|
|
106226
106226
|
return [...out.values()];
|
|
106227
106227
|
}
|
|
@@ -106258,7 +106258,7 @@ var require_sources = __commonJS({
|
|
|
106258
106258
|
const obj2 = readJson(file) ?? {};
|
|
106259
106259
|
const existing = obj2.pluginSources && typeof obj2.pluginSources === "object" && !Array.isArray(obj2.pluginSources) ? obj2.pluginSources : {};
|
|
106260
106260
|
obj2.pluginSources = { ...existing, [name]: spec };
|
|
106261
|
-
fs9.mkdirSync(
|
|
106261
|
+
fs9.mkdirSync(path7.dirname(file), { recursive: true });
|
|
106262
106262
|
fs9.writeFileSync(file, JSON.stringify(obj2, null, 2) + "\n", "utf-8");
|
|
106263
106263
|
}
|
|
106264
106264
|
function removeDeclaredSource2(file, name) {
|
|
@@ -106273,7 +106273,7 @@ var require_sources = __commonJS({
|
|
|
106273
106273
|
return true;
|
|
106274
106274
|
}
|
|
106275
106275
|
function sourcesFileFor2(scope, workDir) {
|
|
106276
|
-
return scope === "user" ?
|
|
106276
|
+
return scope === "user" ? path7.join(os6.homedir(), ".nexrall", "settings.json") : path7.join(workDir, ".nexrall", "settings.json");
|
|
106277
106277
|
}
|
|
106278
106278
|
}
|
|
106279
106279
|
});
|
|
@@ -106339,8 +106339,8 @@ var require_installer = __commonJS({
|
|
|
106339
106339
|
exports2.removePlugin = removePlugin2;
|
|
106340
106340
|
exports2.updatePlugin = updatePlugin2;
|
|
106341
106341
|
var fs9 = __importStar(__require("fs"));
|
|
106342
|
-
var
|
|
106343
|
-
var
|
|
106342
|
+
var path7 = __importStar(__require("path"));
|
|
106343
|
+
var os6 = __importStar(__require("os"));
|
|
106344
106344
|
var child_process_1 = __require("child_process");
|
|
106345
106345
|
var client_1 = require_client();
|
|
106346
106346
|
var index_1 = require_plugins();
|
|
@@ -106380,7 +106380,7 @@ var require_installer = __commonJS({
|
|
|
106380
106380
|
if (!raw)
|
|
106381
106381
|
throw new Error("Empty plugin source.");
|
|
106382
106382
|
if (raw.startsWith("./") || raw.startsWith("../") || raw.startsWith("/") || raw.startsWith("~/")) {
|
|
106383
|
-
const abs =
|
|
106383
|
+
const abs = path7.resolve(raw.replace(/^~(?=\/)/, os6.homedir()));
|
|
106384
106384
|
return { kind: "local", repo: abs, raw };
|
|
106385
106385
|
}
|
|
106386
106386
|
let rest = raw;
|
|
@@ -106437,8 +106437,8 @@ var require_installer = __commonJS({
|
|
|
106437
106437
|
}
|
|
106438
106438
|
}
|
|
106439
106439
|
return {
|
|
106440
|
-
commands: listMd(
|
|
106441
|
-
agents: listMd(
|
|
106440
|
+
commands: listMd(path7.join(dir, "commands")),
|
|
106441
|
+
agents: listMd(path7.join(dir, "agents")),
|
|
106442
106442
|
hasHooks: (0, index_1.resolvePluginFile)(dir, "hooks") !== null,
|
|
106443
106443
|
hasMcp: (0, index_1.resolvePluginFile)(dir, "mcp") !== null,
|
|
106444
106444
|
meta
|
|
@@ -106455,7 +106455,7 @@ var require_installer = __commonJS({
|
|
|
106455
106455
|
for (const file of files) {
|
|
106456
106456
|
const name = file.replace(/\.md$/, "");
|
|
106457
106457
|
try {
|
|
106458
|
-
const raw = fs9.readFileSync(
|
|
106458
|
+
const raw = fs9.readFileSync(path7.join(dir, file), "utf-8");
|
|
106459
106459
|
const { meta } = (0, frontmatter_1.parseFrontmatter)(raw);
|
|
106460
106460
|
out.push({ name, description: meta.description || "" });
|
|
106461
106461
|
} catch {
|
|
@@ -106475,7 +106475,7 @@ var require_installer = __commonJS({
|
|
|
106475
106475
|
for (const entry of entries) {
|
|
106476
106476
|
if (!entry.isDirectory() && !entry.isSymbolicLink())
|
|
106477
106477
|
continue;
|
|
106478
|
-
const skillFile =
|
|
106478
|
+
const skillFile = path7.join(dir, entry.name, "SKILL.md");
|
|
106479
106479
|
try {
|
|
106480
106480
|
if (!fs9.statSync(skillFile).isFile())
|
|
106481
106481
|
continue;
|
|
@@ -106518,9 +106518,9 @@ var require_installer = __commonJS({
|
|
|
106518
106518
|
}
|
|
106519
106519
|
}
|
|
106520
106520
|
return {
|
|
106521
|
-
commands: listMdWithDescription(
|
|
106522
|
-
skills: listSkillsWithDescription(
|
|
106523
|
-
agents: listMdWithDescription(
|
|
106521
|
+
commands: listMdWithDescription(path7.join(dir, "commands")),
|
|
106522
|
+
skills: listSkillsWithDescription(path7.join(dir, "skills")),
|
|
106523
|
+
agents: listMdWithDescription(path7.join(dir, "agents")),
|
|
106524
106524
|
mcpServers,
|
|
106525
106525
|
hasHooks: (0, index_1.resolvePluginFile)(dir, "hooks") !== null
|
|
106526
106526
|
};
|
|
@@ -106535,7 +106535,7 @@ var require_installer = __commonJS({
|
|
|
106535
106535
|
for (const file of files) {
|
|
106536
106536
|
if (file.replace(/\.md$/, "") !== name)
|
|
106537
106537
|
continue;
|
|
106538
|
-
const filePath =
|
|
106538
|
+
const filePath = path7.join(dir, file);
|
|
106539
106539
|
try {
|
|
106540
106540
|
const raw = fs9.readFileSync(filePath, "utf-8");
|
|
106541
106541
|
const { meta, body } = (0, frontmatter_1.parseFrontmatter)(raw);
|
|
@@ -106556,7 +106556,7 @@ var require_installer = __commonJS({
|
|
|
106556
106556
|
for (const entry of entries) {
|
|
106557
106557
|
if (!entry.isDirectory() && !entry.isSymbolicLink())
|
|
106558
106558
|
continue;
|
|
106559
|
-
const skillFile =
|
|
106559
|
+
const skillFile = path7.join(skillsDir, entry.name, "SKILL.md");
|
|
106560
106560
|
try {
|
|
106561
106561
|
if (!fs9.statSync(skillFile).isFile())
|
|
106562
106562
|
continue;
|
|
@@ -106573,8 +106573,8 @@ var require_installer = __commonJS({
|
|
|
106573
106573
|
}
|
|
106574
106574
|
function pluginItemDetail(dir, kind, name) {
|
|
106575
106575
|
if (kind === "skills")
|
|
106576
|
-
return readPluginSkill(
|
|
106577
|
-
return readPluginItemFromFlatDir(
|
|
106576
|
+
return readPluginSkill(path7.join(dir, "skills"), name);
|
|
106577
|
+
return readPluginItemFromFlatDir(path7.join(dir, kind), name);
|
|
106578
106578
|
}
|
|
106579
106579
|
function looksLikePlugin(dir) {
|
|
106580
106580
|
const i2 = inspectPluginDir2(dir);
|
|
@@ -106613,14 +106613,14 @@ var require_installer = __commonJS({
|
|
|
106613
106613
|
(0, child_process_1.execFileSync)("tar", ["-xzf", tarFile, "-C", destDir], { stdio: "pipe" });
|
|
106614
106614
|
const entries = fs9.readdirSync(destDir).filter((e2) => {
|
|
106615
106615
|
try {
|
|
106616
|
-
return fs9.statSync(
|
|
106616
|
+
return fs9.statSync(path7.join(destDir, e2)).isDirectory();
|
|
106617
106617
|
} catch {
|
|
106618
106618
|
return false;
|
|
106619
106619
|
}
|
|
106620
106620
|
});
|
|
106621
106621
|
if (entries.length !== 1)
|
|
106622
106622
|
throw new Error("Unexpected tarball layout.");
|
|
106623
|
-
return
|
|
106623
|
+
return path7.join(destDir, entries[0]);
|
|
106624
106624
|
}
|
|
106625
106625
|
function copyPluginDir(src, dest) {
|
|
106626
106626
|
const SKIP = /* @__PURE__ */ new Set([".git", "node_modules", ".github", ".DS_Store", RECEIPT_FILE]);
|
|
@@ -106628,8 +106628,8 @@ var require_installer = __commonJS({
|
|
|
106628
106628
|
for (const entry of fs9.readdirSync(src, { withFileTypes: true })) {
|
|
106629
106629
|
if (SKIP.has(entry.name))
|
|
106630
106630
|
continue;
|
|
106631
|
-
const s2 =
|
|
106632
|
-
const d =
|
|
106631
|
+
const s2 = path7.join(src, entry.name);
|
|
106632
|
+
const d = path7.join(dest, entry.name);
|
|
106633
106633
|
if (entry.isSymbolicLink())
|
|
106634
106634
|
continue;
|
|
106635
106635
|
if (entry.isDirectory()) {
|
|
@@ -106640,7 +106640,7 @@ var require_installer = __commonJS({
|
|
|
106640
106640
|
}
|
|
106641
106641
|
}
|
|
106642
106642
|
function pluginsRoot(scope, workDir) {
|
|
106643
|
-
return scope === "project" ?
|
|
106643
|
+
return scope === "project" ? path7.join(workDir || process.cwd(), ".nexrall", "plugins") : path7.join(os6.homedir(), ".nexrall", "plugins");
|
|
106644
106644
|
}
|
|
106645
106645
|
async function installPlugin2(spec, opts = {}) {
|
|
106646
106646
|
const source2 = parsePluginSource2(spec);
|
|
@@ -106649,7 +106649,7 @@ var require_installer = __commonJS({
|
|
|
106649
106649
|
if (patterns && source2.kind === "github" && !(0, sources_1.isSourceAllowed)(source2.raw, patterns)) {
|
|
106650
106650
|
throw new Error(`Blocked by your organisation's policy: plugins may only be installed from ${patterns.join(", ")}.`);
|
|
106651
106651
|
}
|
|
106652
|
-
const tmpBase = fs9.mkdtempSync(
|
|
106652
|
+
const tmpBase = fs9.mkdtempSync(path7.join(os6.tmpdir(), "nexrall-plugin-"));
|
|
106653
106653
|
try {
|
|
106654
106654
|
let repoRoot;
|
|
106655
106655
|
if (source2.kind === "local") {
|
|
@@ -106658,21 +106658,21 @@ var require_installer = __commonJS({
|
|
|
106658
106658
|
}
|
|
106659
106659
|
repoRoot = source2.repo;
|
|
106660
106660
|
} else {
|
|
106661
|
-
const tarFile =
|
|
106661
|
+
const tarFile = path7.join(tmpBase, "plugin.tar.gz");
|
|
106662
106662
|
await downloadTarball(source2.repo, source2.ref, tarFile);
|
|
106663
|
-
repoRoot = extractTarball(tarFile,
|
|
106663
|
+
repoRoot = extractTarball(tarFile, path7.join(tmpBase, "x"));
|
|
106664
106664
|
}
|
|
106665
106665
|
const sha = source2.kind === "github" ? await resolveCommitSha(source2.repo, source2.ref) : null;
|
|
106666
|
-
let pluginRoot = source2.subdir ?
|
|
106667
|
-
pluginRoot =
|
|
106668
|
-
if (!
|
|
106666
|
+
let pluginRoot = source2.subdir ? path7.join(repoRoot, source2.subdir) : repoRoot;
|
|
106667
|
+
pluginRoot = path7.resolve(pluginRoot);
|
|
106668
|
+
if (!path7.resolve(pluginRoot).startsWith(path7.resolve(repoRoot))) {
|
|
106669
106669
|
throw new Error("Plugin subdirectory escapes the repository \u2014 refusing.");
|
|
106670
106670
|
}
|
|
106671
106671
|
if (!fs9.existsSync(pluginRoot) || !fs9.statSync(pluginRoot).isDirectory()) {
|
|
106672
106672
|
throw new Error(`Subdirectory not found in repo: ${source2.subdir}`);
|
|
106673
106673
|
}
|
|
106674
106674
|
if (!looksLikePlugin(pluginRoot)) {
|
|
106675
|
-
const candidates = ["plugin", ".nexrall-plugin"].map((c) =>
|
|
106675
|
+
const candidates = ["plugin", ".nexrall-plugin"].map((c) => path7.join(pluginRoot, c));
|
|
106676
106676
|
const found = candidates.find((c) => fs9.existsSync(c) && looksLikePlugin(c));
|
|
106677
106677
|
if (found) {
|
|
106678
106678
|
pluginRoot = found;
|
|
@@ -106681,7 +106681,7 @@ var require_installer = __commonJS({
|
|
|
106681
106681
|
}
|
|
106682
106682
|
}
|
|
106683
106683
|
const inspection = inspectPluginDir2(pluginRoot);
|
|
106684
|
-
const name = opts.name || inspection.meta.name || (source2.subdir ?
|
|
106684
|
+
const name = opts.name || inspection.meta.name || (source2.subdir ? path7.basename(source2.subdir) : void 0) || (source2.kind === "github" ? source2.repo.split("/")[1] : path7.basename(source2.repo));
|
|
106685
106685
|
if (!/^[\w.-]+$/.test(name))
|
|
106686
106686
|
throw new Error(`Invalid plugin name "${name}".`);
|
|
106687
106687
|
if (opts.confirm) {
|
|
@@ -106694,7 +106694,7 @@ var require_installer = __commonJS({
|
|
|
106694
106694
|
throw new Error("Installation cancelled.");
|
|
106695
106695
|
}
|
|
106696
106696
|
const root = pluginsRoot(scope, opts.workDir);
|
|
106697
|
-
const dest =
|
|
106697
|
+
const dest = path7.join(root, name);
|
|
106698
106698
|
if (fs9.existsSync(dest)) {
|
|
106699
106699
|
if (!opts.force)
|
|
106700
106700
|
throw new Error(`Plugin "${name}" is already installed. Use --force to overwrite or 'nex plugin update ${name}'.`);
|
|
@@ -106709,7 +106709,7 @@ var require_installer = __commonJS({
|
|
|
106709
106709
|
installedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
106710
106710
|
...sha ? { sha } : {}
|
|
106711
106711
|
};
|
|
106712
|
-
fs9.writeFileSync(
|
|
106712
|
+
fs9.writeFileSync(path7.join(dest, RECEIPT_FILE), JSON.stringify(receipt, null, 2));
|
|
106713
106713
|
return { name, dir: dest, scope, inspection, sha: sha ?? void 0, previousSha: opts._previousSha };
|
|
106714
106714
|
} finally {
|
|
106715
106715
|
fs9.rmSync(tmpBase, { recursive: true, force: true });
|
|
@@ -106717,7 +106717,7 @@ var require_installer = __commonJS({
|
|
|
106717
106717
|
}
|
|
106718
106718
|
function readReceipt2(pluginDir) {
|
|
106719
106719
|
try {
|
|
106720
|
-
const j = JSON.parse(fs9.readFileSync(
|
|
106720
|
+
const j = JSON.parse(fs9.readFileSync(path7.join(pluginDir, RECEIPT_FILE), "utf-8"));
|
|
106721
106721
|
return typeof j.source === "string" ? j : null;
|
|
106722
106722
|
} catch {
|
|
106723
106723
|
return null;
|
|
@@ -106728,7 +106728,7 @@ var require_installer = __commonJS({
|
|
|
106728
106728
|
throw new Error(`Invalid plugin name "${name}".`);
|
|
106729
106729
|
const scopes = opts.scope ? [opts.scope] : ["project", "global"];
|
|
106730
106730
|
for (const s2 of scopes) {
|
|
106731
|
-
const dir =
|
|
106731
|
+
const dir = path7.join(pluginsRoot(s2, opts.workDir), name);
|
|
106732
106732
|
if (fs9.existsSync(dir)) {
|
|
106733
106733
|
fs9.rmSync(dir, { recursive: true, force: true });
|
|
106734
106734
|
return dir;
|
|
@@ -106739,7 +106739,7 @@ var require_installer = __commonJS({
|
|
|
106739
106739
|
async function updatePlugin2(name, opts = {}) {
|
|
106740
106740
|
const scopes = opts.scope ? [opts.scope] : ["project", "global"];
|
|
106741
106741
|
for (const s2 of scopes) {
|
|
106742
|
-
const dir =
|
|
106742
|
+
const dir = path7.join(pluginsRoot(s2, opts.workDir), name);
|
|
106743
106743
|
if (!fs9.existsSync(dir))
|
|
106744
106744
|
continue;
|
|
106745
106745
|
const receipt = readReceipt2(dir);
|
|
@@ -106814,10 +106814,10 @@ var require_trust = __commonJS({
|
|
|
106814
106814
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
106815
106815
|
exports2.detectTrustSignals = detectTrustSignals2;
|
|
106816
106816
|
var fs9 = __importStar(__require("fs"));
|
|
106817
|
-
var
|
|
106817
|
+
var path7 = __importStar(__require("path"));
|
|
106818
106818
|
function declaresPluginSources2(dir) {
|
|
106819
106819
|
try {
|
|
106820
|
-
const raw = fs9.readFileSync(
|
|
106820
|
+
const raw = fs9.readFileSync(path7.join(dir, ".nexrall", "settings.json"), "utf-8");
|
|
106821
106821
|
const obj2 = JSON.parse(raw);
|
|
106822
106822
|
const s2 = obj2.pluginSources;
|
|
106823
106823
|
return Boolean(s2 && typeof s2 === "object" && !Array.isArray(s2) && Object.keys(s2).length > 0);
|
|
@@ -106829,7 +106829,7 @@ var require_trust = __commonJS({
|
|
|
106829
106829
|
const signals = [];
|
|
106830
106830
|
const exists = (...p) => {
|
|
106831
106831
|
try {
|
|
106832
|
-
return fs9.existsSync(
|
|
106832
|
+
return fs9.existsSync(path7.join(dir, ...p));
|
|
106833
106833
|
} catch {
|
|
106834
106834
|
return false;
|
|
106835
106835
|
}
|
|
@@ -106846,7 +106846,7 @@ var require_trust = __commonJS({
|
|
|
106846
106846
|
if (exists(".nexrall", "settings.json")) {
|
|
106847
106847
|
let hasHooks = false;
|
|
106848
106848
|
try {
|
|
106849
|
-
const raw = fs9.readFileSync(
|
|
106849
|
+
const raw = fs9.readFileSync(path7.join(dir, ".nexrall", "settings.json"), "utf-8");
|
|
106850
106850
|
const obj2 = JSON.parse(raw);
|
|
106851
106851
|
hasHooks = Boolean(obj2.hooks && typeof obj2.hooks === "object" && Object.keys(obj2.hooks).length > 0);
|
|
106852
106852
|
} catch {
|
|
@@ -117532,11 +117532,11 @@ var require_react_reconciler_development = __commonJS({
|
|
|
117532
117532
|
fiber = fiber.next, id--;
|
|
117533
117533
|
return fiber;
|
|
117534
117534
|
}
|
|
117535
|
-
function copyWithSetImpl(obj2,
|
|
117536
|
-
if (index >=
|
|
117535
|
+
function copyWithSetImpl(obj2, path7, index, value) {
|
|
117536
|
+
if (index >= path7.length)
|
|
117537
117537
|
return value;
|
|
117538
|
-
var key =
|
|
117539
|
-
updated[key] = copyWithSetImpl(obj2[key],
|
|
117538
|
+
var key = path7[index], updated = isArrayImpl(obj2) ? obj2.slice() : assign({}, obj2);
|
|
117539
|
+
updated[key] = copyWithSetImpl(obj2[key], path7, index + 1, value);
|
|
117540
117540
|
return updated;
|
|
117541
117541
|
}
|
|
117542
117542
|
function copyWithRename(obj2, oldPath, newPath) {
|
|
@@ -117563,11 +117563,11 @@ var require_react_reconciler_development = __commonJS({
|
|
|
117563
117563
|
);
|
|
117564
117564
|
return updated;
|
|
117565
117565
|
}
|
|
117566
|
-
function copyWithDeleteImpl(obj2,
|
|
117567
|
-
var key =
|
|
117568
|
-
if (index + 1 ===
|
|
117566
|
+
function copyWithDeleteImpl(obj2, path7, index) {
|
|
117567
|
+
var key = path7[index], updated = isArrayImpl(obj2) ? obj2.slice() : assign({}, obj2);
|
|
117568
|
+
if (index + 1 === path7.length)
|
|
117569
117569
|
return isArrayImpl(updated) ? updated.splice(key, 1) : delete updated[key], updated;
|
|
117570
|
-
updated[key] = copyWithDeleteImpl(obj2[key],
|
|
117570
|
+
updated[key] = copyWithDeleteImpl(obj2[key], path7, index + 1);
|
|
117571
117571
|
return updated;
|
|
117572
117572
|
}
|
|
117573
117573
|
function shouldSuspendImpl() {
|
|
@@ -130993,29 +130993,29 @@ var require_react_reconciler_development = __commonJS({
|
|
|
130993
130993
|
var didWarnAboutNestedUpdates = false;
|
|
130994
130994
|
var didWarnAboutFindNodeInStrictMode = {};
|
|
130995
130995
|
var overrideHookState = null, overrideHookStateDeletePath = null, overrideHookStateRenamePath = null, overrideProps = null, overridePropsDeletePath = null, overridePropsRenamePath = null, scheduleUpdate = null, scheduleRetry = null, setErrorHandler = null, setSuspenseHandler = null;
|
|
130996
|
-
overrideHookState = function(fiber, id,
|
|
130996
|
+
overrideHookState = function(fiber, id, path7, value) {
|
|
130997
130997
|
id = findHook(fiber, id);
|
|
130998
|
-
null !== id && (
|
|
130998
|
+
null !== id && (path7 = copyWithSetImpl(id.memoizedState, path7, 0, value), id.memoizedState = path7, id.baseState = path7, fiber.memoizedProps = assign({}, fiber.memoizedProps), path7 = enqueueConcurrentRenderForLane(fiber, 2), null !== path7 && scheduleUpdateOnFiber(path7, fiber, 2));
|
|
130999
130999
|
};
|
|
131000
|
-
overrideHookStateDeletePath = function(fiber, id,
|
|
131000
|
+
overrideHookStateDeletePath = function(fiber, id, path7) {
|
|
131001
131001
|
id = findHook(fiber, id);
|
|
131002
|
-
null !== id && (
|
|
131002
|
+
null !== id && (path7 = copyWithDeleteImpl(id.memoizedState, path7, 0), id.memoizedState = path7, id.baseState = path7, fiber.memoizedProps = assign({}, fiber.memoizedProps), path7 = enqueueConcurrentRenderForLane(fiber, 2), null !== path7 && scheduleUpdateOnFiber(path7, fiber, 2));
|
|
131003
131003
|
};
|
|
131004
131004
|
overrideHookStateRenamePath = function(fiber, id, oldPath, newPath) {
|
|
131005
131005
|
id = findHook(fiber, id);
|
|
131006
131006
|
null !== id && (oldPath = copyWithRename(id.memoizedState, oldPath, newPath), id.memoizedState = oldPath, id.baseState = oldPath, fiber.memoizedProps = assign({}, fiber.memoizedProps), oldPath = enqueueConcurrentRenderForLane(fiber, 2), null !== oldPath && scheduleUpdateOnFiber(oldPath, fiber, 2));
|
|
131007
131007
|
};
|
|
131008
|
-
overrideProps = function(fiber,
|
|
131009
|
-
fiber.pendingProps = copyWithSetImpl(fiber.memoizedProps,
|
|
131008
|
+
overrideProps = function(fiber, path7, value) {
|
|
131009
|
+
fiber.pendingProps = copyWithSetImpl(fiber.memoizedProps, path7, 0, value);
|
|
131010
131010
|
fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps);
|
|
131011
|
-
|
|
131012
|
-
null !==
|
|
131011
|
+
path7 = enqueueConcurrentRenderForLane(fiber, 2);
|
|
131012
|
+
null !== path7 && scheduleUpdateOnFiber(path7, fiber, 2);
|
|
131013
131013
|
};
|
|
131014
|
-
overridePropsDeletePath = function(fiber,
|
|
131015
|
-
fiber.pendingProps = copyWithDeleteImpl(fiber.memoizedProps,
|
|
131014
|
+
overridePropsDeletePath = function(fiber, path7) {
|
|
131015
|
+
fiber.pendingProps = copyWithDeleteImpl(fiber.memoizedProps, path7, 0);
|
|
131016
131016
|
fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps);
|
|
131017
|
-
|
|
131018
|
-
null !==
|
|
131017
|
+
path7 = enqueueConcurrentRenderForLane(fiber, 2);
|
|
131018
|
+
null !== path7 && scheduleUpdateOnFiber(path7, fiber, 2);
|
|
131019
131019
|
};
|
|
131020
131020
|
overridePropsRenamePath = function(fiber, oldPath, newPath) {
|
|
131021
131021
|
fiber.pendingProps = copyWithRename(
|
|
@@ -140752,7 +140752,7 @@ var {
|
|
|
140752
140752
|
} = import_index.default;
|
|
140753
140753
|
|
|
140754
140754
|
// src/index.ts
|
|
140755
|
-
import * as
|
|
140755
|
+
import * as path6 from "path";
|
|
140756
140756
|
import { createRequire as createRequire2 } from "module";
|
|
140757
140757
|
|
|
140758
140758
|
// ../../node_modules/.pnpm/chalk@5.6.2/node_modules/chalk/source/vendor/ansi-styles/index.js
|
|
@@ -141377,13 +141377,13 @@ function stopSpinner(handle2) {
|
|
|
141377
141377
|
|
|
141378
141378
|
// src/commands/chat.ts
|
|
141379
141379
|
import * as readline3 from "readline";
|
|
141380
|
-
import * as
|
|
141380
|
+
import * as path5 from "path";
|
|
141381
141381
|
import * as fs8 from "fs";
|
|
141382
|
-
import * as
|
|
141382
|
+
import * as os5 from "os";
|
|
141383
141383
|
import * as crypto4 from "crypto";
|
|
141384
141384
|
import { createRequire } from "module";
|
|
141385
141385
|
import { fileURLToPath as fileURLToPath2 } from "url";
|
|
141386
|
-
import { execSync } from "child_process";
|
|
141386
|
+
import { execSync, execFileSync as execFileSync2 } from "child_process";
|
|
141387
141387
|
var import_code_core3 = __toESM(require_dist3(), 1);
|
|
141388
141388
|
|
|
141389
141389
|
// ../../node_modules/.pnpm/ansi-regex@6.2.2/node_modules/ansi-regex/index.js
|
|
@@ -141916,11 +141916,11 @@ Diff.prototype = {
|
|
|
141916
141916
|
}
|
|
141917
141917
|
}
|
|
141918
141918
|
},
|
|
141919
|
-
addToPath: function addToPath(
|
|
141920
|
-
var last =
|
|
141919
|
+
addToPath: function addToPath(path7, added, removed, oldPosInc) {
|
|
141920
|
+
var last = path7.lastComponent;
|
|
141921
141921
|
if (last && last.added === added && last.removed === removed) {
|
|
141922
141922
|
return {
|
|
141923
|
-
oldPos:
|
|
141923
|
+
oldPos: path7.oldPos + oldPosInc,
|
|
141924
141924
|
lastComponent: {
|
|
141925
141925
|
count: last.count + 1,
|
|
141926
141926
|
added,
|
|
@@ -141930,7 +141930,7 @@ Diff.prototype = {
|
|
|
141930
141930
|
};
|
|
141931
141931
|
} else {
|
|
141932
141932
|
return {
|
|
141933
|
-
oldPos:
|
|
141933
|
+
oldPos: path7.oldPos + oldPosInc,
|
|
141934
141934
|
lastComponent: {
|
|
141935
141935
|
count: 1,
|
|
141936
141936
|
added,
|
|
@@ -142637,12 +142637,243 @@ function lastSession() {
|
|
|
142637
142637
|
return all.length ? all[0] : null;
|
|
142638
142638
|
}
|
|
142639
142639
|
|
|
142640
|
+
// src/terminal/terminalSetup.ts
|
|
142641
|
+
import * as os3 from "os";
|
|
142642
|
+
import * as path2 from "path";
|
|
142643
|
+
var SHIFT_ENTER_SEQUENCE = "\x1B\r";
|
|
142644
|
+
var NATIVE_SHIFT_ENTER = {
|
|
142645
|
+
ghostty: "Ghostty",
|
|
142646
|
+
"iTerm.app": "iTerm2",
|
|
142647
|
+
WezTerm: "WezTerm",
|
|
142648
|
+
WarpTerminal: "Warp"
|
|
142649
|
+
// Kitty sets TERM=xterm-kitty rather than TERM_PROGRAM; handled below.
|
|
142650
|
+
};
|
|
142651
|
+
var EDITOR_TERM_PROGRAMS = {
|
|
142652
|
+
vscode: "VS Code",
|
|
142653
|
+
cursor: "Cursor",
|
|
142654
|
+
windsurf: "Windsurf",
|
|
142655
|
+
vscodium: "VSCodium"
|
|
142656
|
+
};
|
|
142657
|
+
var MACOS_NATIVE_SHIFT_RETURN_MAJOR = 27;
|
|
142658
|
+
function decideTerminalSetup(input) {
|
|
142659
|
+
const termProgram = input.env.TERM_PROGRAM ?? null;
|
|
142660
|
+
const term = input.env.TERM ?? null;
|
|
142661
|
+
if (term && term.includes("kitty"))
|
|
142662
|
+
return { kind: "already-native", terminal: "Kitty" };
|
|
142663
|
+
if (input.env.WT_SESSION)
|
|
142664
|
+
return { kind: "already-native", terminal: "Windows Terminal" };
|
|
142665
|
+
if (termProgram) {
|
|
142666
|
+
const native = NATIVE_SHIFT_ENTER[termProgram];
|
|
142667
|
+
if (native)
|
|
142668
|
+
return { kind: "already-native", terminal: native };
|
|
142669
|
+
const editor = EDITOR_TERM_PROGRAMS[termProgram];
|
|
142670
|
+
if (editor)
|
|
142671
|
+
return { kind: "editor", editor };
|
|
142672
|
+
if (termProgram === "Apple_Terminal") {
|
|
142673
|
+
if (input.macOSMajor !== null && input.macOSMajor >= MACOS_NATIVE_SHIFT_RETURN_MAJOR) {
|
|
142674
|
+
return { kind: "already-native", terminal: "Apple Terminal" };
|
|
142675
|
+
}
|
|
142676
|
+
return { kind: "apple-terminal", macOSMajor: input.macOSMajor };
|
|
142677
|
+
}
|
|
142678
|
+
}
|
|
142679
|
+
if (input.env.VSCODE_PID || input.env.VSCODE_IPC_HOOK || input.env.VSCODE_CWD) {
|
|
142680
|
+
return { kind: "editor", editor: editorFromBundleId(input.env.__CFBundleIdentifier) };
|
|
142681
|
+
}
|
|
142682
|
+
return { kind: "unsupported", terminal: termProgram };
|
|
142683
|
+
}
|
|
142684
|
+
function editorFromBundleId(bundleId) {
|
|
142685
|
+
switch (bundleId) {
|
|
142686
|
+
case "com.todesktop.230313mzl4w4u92":
|
|
142687
|
+
case "com.cursor.Cursor":
|
|
142688
|
+
return "Cursor";
|
|
142689
|
+
case "com.exafunction.windsurf":
|
|
142690
|
+
return "Windsurf";
|
|
142691
|
+
case "com.vscodium":
|
|
142692
|
+
case "com.visualstudio.code.oss":
|
|
142693
|
+
return "VSCodium";
|
|
142694
|
+
default:
|
|
142695
|
+
return "VS Code";
|
|
142696
|
+
}
|
|
142697
|
+
}
|
|
142698
|
+
function detectMacOSMajor(platform3 = process.platform, release3 = os3.release()) {
|
|
142699
|
+
if (platform3 !== "darwin")
|
|
142700
|
+
return null;
|
|
142701
|
+
const darwinMajor = Number.parseInt(release3.split(".")[0] ?? "", 10);
|
|
142702
|
+
if (!Number.isFinite(darwinMajor))
|
|
142703
|
+
return null;
|
|
142704
|
+
return darwinMajor + 1;
|
|
142705
|
+
}
|
|
142706
|
+
var EDITOR_CONFIG_DIR = {
|
|
142707
|
+
"VS Code": "Code",
|
|
142708
|
+
Cursor: "Cursor",
|
|
142709
|
+
Windsurf: "Windsurf",
|
|
142710
|
+
VSCodium: "VSCodium"
|
|
142711
|
+
};
|
|
142712
|
+
function keybindingsPath(editor, platform3 = process.platform, home = os3.homedir()) {
|
|
142713
|
+
const dir = EDITOR_CONFIG_DIR[editor];
|
|
142714
|
+
const userDir = platform3 === "win32" ? path2.join(home, "AppData", "Roaming", dir, "User") : platform3 === "darwin" ? path2.join(home, "Library", "Application Support", dir, "User") : path2.join(home, ".config", dir, "User");
|
|
142715
|
+
return path2.join(userDir, "keybindings.json");
|
|
142716
|
+
}
|
|
142717
|
+
var SHIFT_ENTER_KEYBINDING = {
|
|
142718
|
+
key: "shift+enter",
|
|
142719
|
+
command: "workbench.action.terminal.sendSequence",
|
|
142720
|
+
args: { text: SHIFT_ENTER_SEQUENCE },
|
|
142721
|
+
when: "terminalFocus"
|
|
142722
|
+
};
|
|
142723
|
+
function mergeKeybinding(parsed, binding = SHIFT_ENTER_KEYBINDING) {
|
|
142724
|
+
if (parsed === void 0 || parsed === null)
|
|
142725
|
+
return { kind: "insert", next: [binding] };
|
|
142726
|
+
if (!Array.isArray(parsed))
|
|
142727
|
+
return { kind: "not-an-array" };
|
|
142728
|
+
const existing = parsed.find(
|
|
142729
|
+
(entry) => typeof entry === "object" && entry !== null && entry.key === binding.key && entry.command === binding.command && entry.when === binding.when
|
|
142730
|
+
);
|
|
142731
|
+
if (existing) {
|
|
142732
|
+
if (existing.args?.text === binding.args?.text)
|
|
142733
|
+
return { kind: "already-configured" };
|
|
142734
|
+
return { kind: "conflict", existingText: existing.args?.text };
|
|
142735
|
+
}
|
|
142736
|
+
return { kind: "insert", next: [...parsed, binding] };
|
|
142737
|
+
}
|
|
142738
|
+
function parseKeybindingsFile(body) {
|
|
142739
|
+
const withoutComments = stripJsonComments(body).trim();
|
|
142740
|
+
if (withoutComments === "")
|
|
142741
|
+
return void 0;
|
|
142742
|
+
return JSON.parse(withoutComments);
|
|
142743
|
+
}
|
|
142744
|
+
function stripJsonComments(input) {
|
|
142745
|
+
let out = "";
|
|
142746
|
+
let inString = false;
|
|
142747
|
+
let inLineComment = false;
|
|
142748
|
+
let inBlockComment = false;
|
|
142749
|
+
for (let i2 = 0; i2 < input.length; i2++) {
|
|
142750
|
+
const ch = input[i2];
|
|
142751
|
+
const next = input[i2 + 1];
|
|
142752
|
+
if (inLineComment) {
|
|
142753
|
+
if (ch === "\n") {
|
|
142754
|
+
inLineComment = false;
|
|
142755
|
+
out += ch;
|
|
142756
|
+
}
|
|
142757
|
+
continue;
|
|
142758
|
+
}
|
|
142759
|
+
if (inBlockComment) {
|
|
142760
|
+
if (ch === "*" && next === "/") {
|
|
142761
|
+
inBlockComment = false;
|
|
142762
|
+
i2++;
|
|
142763
|
+
}
|
|
142764
|
+
continue;
|
|
142765
|
+
}
|
|
142766
|
+
if (inString) {
|
|
142767
|
+
out += ch;
|
|
142768
|
+
if (ch === "\\" && next !== void 0) {
|
|
142769
|
+
out += next;
|
|
142770
|
+
i2++;
|
|
142771
|
+
} else if (ch === '"') {
|
|
142772
|
+
inString = false;
|
|
142773
|
+
}
|
|
142774
|
+
continue;
|
|
142775
|
+
}
|
|
142776
|
+
if (ch === '"') {
|
|
142777
|
+
inString = true;
|
|
142778
|
+
out += ch;
|
|
142779
|
+
continue;
|
|
142780
|
+
}
|
|
142781
|
+
if (ch === "/" && next === "/") {
|
|
142782
|
+
inLineComment = true;
|
|
142783
|
+
i2++;
|
|
142784
|
+
continue;
|
|
142785
|
+
}
|
|
142786
|
+
if (ch === "/" && next === "*") {
|
|
142787
|
+
inBlockComment = true;
|
|
142788
|
+
i2++;
|
|
142789
|
+
continue;
|
|
142790
|
+
}
|
|
142791
|
+
out += ch;
|
|
142792
|
+
}
|
|
142793
|
+
return out;
|
|
142794
|
+
}
|
|
142795
|
+
async function installEditorKeybinding(editor, deps) {
|
|
142796
|
+
const filePath = keybindingsPath(editor, deps.platform ?? process.platform, deps.home ?? os3.homedir());
|
|
142797
|
+
let body;
|
|
142798
|
+
try {
|
|
142799
|
+
body = await deps.readFile(filePath);
|
|
142800
|
+
} catch (err) {
|
|
142801
|
+
if (err.code !== "ENOENT") {
|
|
142802
|
+
return { kind: "failed", filePath, reason: describeErr(err) };
|
|
142803
|
+
}
|
|
142804
|
+
}
|
|
142805
|
+
let parsed;
|
|
142806
|
+
try {
|
|
142807
|
+
parsed = body === void 0 ? void 0 : parseKeybindingsFile(body);
|
|
142808
|
+
} catch (err) {
|
|
142809
|
+
return {
|
|
142810
|
+
kind: "failed",
|
|
142811
|
+
filePath,
|
|
142812
|
+
reason: `it isn't valid JSON (${describeErr(err)}) \u2014 fix or move it, then retry`
|
|
142813
|
+
};
|
|
142814
|
+
}
|
|
142815
|
+
const merge = mergeKeybinding(parsed);
|
|
142816
|
+
if (merge.kind === "already-configured")
|
|
142817
|
+
return { kind: "already-configured", filePath };
|
|
142818
|
+
if (merge.kind === "conflict")
|
|
142819
|
+
return { kind: "conflict", filePath, existingText: merge.existingText };
|
|
142820
|
+
if (merge.kind === "not-an-array") {
|
|
142821
|
+
return { kind: "failed", filePath, reason: "it isn't a JSON array \u2014 fix or move it, then retry" };
|
|
142822
|
+
}
|
|
142823
|
+
if (body !== void 0) {
|
|
142824
|
+
try {
|
|
142825
|
+
await deps.copyFile(filePath, `${filePath}.${deps.randomSuffix()}.bak`);
|
|
142826
|
+
} catch (err) {
|
|
142827
|
+
return { kind: "failed", filePath, reason: `couldn't back it up first (${describeErr(err)})` };
|
|
142828
|
+
}
|
|
142829
|
+
}
|
|
142830
|
+
try {
|
|
142831
|
+
await deps.mkdir(path2.dirname(filePath));
|
|
142832
|
+
await deps.writeFile(filePath, `${JSON.stringify(merge.next, null, 2)}
|
|
142833
|
+
`);
|
|
142834
|
+
} catch (err) {
|
|
142835
|
+
return { kind: "failed", filePath, reason: describeErr(err) };
|
|
142836
|
+
}
|
|
142837
|
+
return { kind: "installed", filePath };
|
|
142838
|
+
}
|
|
142839
|
+
function describeErr(err) {
|
|
142840
|
+
return err instanceof Error ? err.message : String(err);
|
|
142841
|
+
}
|
|
142842
|
+
async function enableAppleTerminalOptionAsMeta(deps) {
|
|
142843
|
+
const profiles = [];
|
|
142844
|
+
for (const which of ["Default Window Settings", "Startup Window Settings"]) {
|
|
142845
|
+
const res = await deps.run("defaults", ["read", "com.apple.Terminal", which]);
|
|
142846
|
+
const name = res.stdout.trim();
|
|
142847
|
+
if (res.code === 0 && name && !profiles.includes(name))
|
|
142848
|
+
profiles.push(name);
|
|
142849
|
+
}
|
|
142850
|
+
if (profiles.length === 0) {
|
|
142851
|
+
return { ok: false, profiles: [], reason: "couldn't read Terminal.app's active profile" };
|
|
142852
|
+
}
|
|
142853
|
+
let changed = false;
|
|
142854
|
+
for (const profile of profiles) {
|
|
142855
|
+
const key = `:'Window Settings':'${profile}':useOptionAsMetaKey`;
|
|
142856
|
+
const add = await deps.run("/usr/libexec/PlistBuddy", ["-c", `Add ${key} bool true`, deps.plistPath]);
|
|
142857
|
+
if (add.code === 0) {
|
|
142858
|
+
changed = true;
|
|
142859
|
+
continue;
|
|
142860
|
+
}
|
|
142861
|
+
const set = await deps.run("/usr/libexec/PlistBuddy", ["-c", `Set ${key} true`, deps.plistPath]);
|
|
142862
|
+
if (set.code === 0)
|
|
142863
|
+
changed = true;
|
|
142864
|
+
}
|
|
142865
|
+
if (!changed)
|
|
142866
|
+
return { ok: false, profiles, reason: "PlistBuddy rejected every profile" };
|
|
142867
|
+
await deps.run("killall", ["cfprefsd"]);
|
|
142868
|
+
return { ok: true, profiles };
|
|
142869
|
+
}
|
|
142870
|
+
|
|
142640
142871
|
// src/commands/update.ts
|
|
142641
142872
|
import * as fs4 from "fs";
|
|
142642
142873
|
import * as https2 from "https";
|
|
142643
|
-
import * as
|
|
142874
|
+
import * as path3 from "path";
|
|
142644
142875
|
import { fileURLToPath } from "url";
|
|
142645
|
-
var __dirname =
|
|
142876
|
+
var __dirname = path3.dirname(fileURLToPath(import.meta.url));
|
|
142646
142877
|
var NPM_REGISTRY_LATEST = "https://registry.npmjs.org/nexrall-code/latest";
|
|
142647
142878
|
function get2(url) {
|
|
142648
142879
|
return new Promise((resolve3, reject) => {
|
|
@@ -142662,7 +142893,7 @@ function get2(url) {
|
|
|
142662
142893
|
}
|
|
142663
142894
|
function getCurrentVersion() {
|
|
142664
142895
|
try {
|
|
142665
|
-
const pkg =
|
|
142896
|
+
const pkg = path3.resolve(__dirname, "../package.json");
|
|
142666
142897
|
return JSON.parse(fs4.readFileSync(pkg, "utf-8")).version ?? "0.0.0";
|
|
142667
142898
|
} catch {
|
|
142668
142899
|
return "0.0.0";
|
|
@@ -142972,7 +143203,7 @@ function wrapText(text, width) {
|
|
|
142972
143203
|
|
|
142973
143204
|
// src/trust.ts
|
|
142974
143205
|
import fs5 from "fs";
|
|
142975
|
-
import
|
|
143206
|
+
import path4 from "path";
|
|
142976
143207
|
var TRUST_ENV_VAR = "NEXRALL_TRUST_WORKSPACE";
|
|
142977
143208
|
function trustGrantedByEnv() {
|
|
142978
143209
|
const v = process.env[TRUST_ENV_VAR];
|
|
@@ -142980,7 +143211,7 @@ function trustGrantedByEnv() {
|
|
|
142980
143211
|
}
|
|
142981
143212
|
function declaresPluginSources(dir) {
|
|
142982
143213
|
try {
|
|
142983
|
-
const raw = fs5.readFileSync(
|
|
143214
|
+
const raw = fs5.readFileSync(path4.join(dir, ".nexrall", "settings.json"), "utf-8");
|
|
142984
143215
|
const obj2 = JSON.parse(raw);
|
|
142985
143216
|
const s2 = obj2.pluginSources;
|
|
142986
143217
|
return Boolean(s2 && typeof s2 === "object" && !Array.isArray(s2) && Object.keys(s2).length > 0);
|
|
@@ -142992,7 +143223,7 @@ function detectTrustSignals(dir) {
|
|
|
142992
143223
|
const signals = [];
|
|
142993
143224
|
const exists = (...p) => {
|
|
142994
143225
|
try {
|
|
142995
|
-
return fs5.existsSync(
|
|
143226
|
+
return fs5.existsSync(path4.join(dir, ...p));
|
|
142996
143227
|
} catch {
|
|
142997
143228
|
return false;
|
|
142998
143229
|
}
|
|
@@ -143187,7 +143418,7 @@ __export(base_exports, {
|
|
|
143187
143418
|
synchronizedOutput: () => synchronizedOutput
|
|
143188
143419
|
});
|
|
143189
143420
|
import process3 from "node:process";
|
|
143190
|
-
import
|
|
143421
|
+
import os4 from "node:os";
|
|
143191
143422
|
|
|
143192
143423
|
// ../../node_modules/.pnpm/environment@1.1.0/node_modules/environment/index.js
|
|
143193
143424
|
var isBrowser = globalThis.window?.document !== void 0;
|
|
@@ -143286,7 +143517,7 @@ var isOldWindows = () => {
|
|
|
143286
143517
|
if (isBrowser || !isWindows2) {
|
|
143287
143518
|
return false;
|
|
143288
143519
|
}
|
|
143289
|
-
const parts =
|
|
143520
|
+
const parts = os4.release().split(".");
|
|
143290
143521
|
const major = Number(parts[0]);
|
|
143291
143522
|
const build = Number(parts[2] ?? 0);
|
|
143292
143523
|
if (major < 10) {
|
|
@@ -149630,8 +149861,8 @@ function Text({ color, backgroundColor, dimColor = false, bold = false, italic =
|
|
|
149630
149861
|
}
|
|
149631
149862
|
|
|
149632
149863
|
// ../../node_modules/.pnpm/ink@7.1.1_@types+react@19.2.18_react@19.2.8/node_modules/ink/build/components/ErrorOverview.js
|
|
149633
|
-
var cleanupPath = (
|
|
149634
|
-
return
|
|
149864
|
+
var cleanupPath = (path7) => {
|
|
149865
|
+
return path7?.replace(`file://${cwd()}/`, "");
|
|
149635
149866
|
};
|
|
149636
149867
|
var stackUtils = new import_stack_utils.default({
|
|
149637
149868
|
cwd: cwd(),
|
|
@@ -151971,6 +152202,17 @@ function caretPosition(opts) {
|
|
|
151971
152202
|
y: opts.inputRowTop + rowsAboveCaretLine + Math.floor(widthBeforeCaret / columns)
|
|
151972
152203
|
};
|
|
151973
152204
|
}
|
|
152205
|
+
function decideEnterKey(char, key) {
|
|
152206
|
+
if (char === "\n" && !key.meta && !key.return)
|
|
152207
|
+
return { kind: "newline" };
|
|
152208
|
+
if ((key.return || char === "\r" || char === "\n") && (key.meta || key.shift)) {
|
|
152209
|
+
return { kind: "newline" };
|
|
152210
|
+
}
|
|
152211
|
+
const newlineIdx = char.search(/[\r\n]/);
|
|
152212
|
+
if (key.return || newlineIdx !== -1)
|
|
152213
|
+
return { kind: "submit", splitAt: newlineIdx };
|
|
152214
|
+
return { kind: "text" };
|
|
152215
|
+
}
|
|
151974
152216
|
var CTRL_C_QUIT_WINDOW_MS = 3e3;
|
|
151975
152217
|
var CTRL_C_HINT = "Press Ctrl+C again to exit";
|
|
151976
152218
|
function decideCtrlC(state) {
|
|
@@ -152144,15 +152386,15 @@ var App2 = ({ onReady }) => {
|
|
|
152144
152386
|
if (key.upArrow || key.downArrow || key.tab) {
|
|
152145
152387
|
return;
|
|
152146
152388
|
}
|
|
152147
|
-
const
|
|
152148
|
-
|
|
152149
|
-
if (hasNewline && key.shift) {
|
|
152389
|
+
const enterAction = decideEnterKey(char, key);
|
|
152390
|
+
if (enterAction.kind === "newline") {
|
|
152150
152391
|
const pos = cursorRef.current;
|
|
152151
152392
|
setLine((s2) => s2.slice(0, pos) + "\n" + s2.slice(pos));
|
|
152152
152393
|
setCursorPos(pos + 1);
|
|
152153
152394
|
return;
|
|
152154
152395
|
}
|
|
152155
|
-
if (
|
|
152396
|
+
if (enterAction.kind === "submit") {
|
|
152397
|
+
const newlineIdx = enterAction.splitAt;
|
|
152156
152398
|
const before = newlineIdx === -1 ? char : char.slice(0, newlineIdx);
|
|
152157
152399
|
const after = newlineIdx === -1 ? "" : char.slice(newlineIdx + 1).replace(/^[\r\n]/, "");
|
|
152158
152400
|
const pos = cursorRef.current;
|
|
@@ -152422,9 +152664,9 @@ var InkReadlineAdapter = class extends EventEmitter3 {
|
|
|
152422
152664
|
// src/commands/chat.ts
|
|
152423
152665
|
var require2 = createRequire(import.meta.url);
|
|
152424
152666
|
var CLI_VERSION = (() => {
|
|
152425
|
-
let dir =
|
|
152667
|
+
let dir = path5.dirname(fileURLToPath2(import.meta.url));
|
|
152426
152668
|
for (let i2 = 0; i2 < 6; i2++) {
|
|
152427
|
-
const candidate =
|
|
152669
|
+
const candidate = path5.join(dir, "package.json");
|
|
152428
152670
|
if (fs8.existsSync(candidate)) {
|
|
152429
152671
|
try {
|
|
152430
152672
|
const v = require2(candidate).version;
|
|
@@ -152433,7 +152675,7 @@ var CLI_VERSION = (() => {
|
|
|
152433
152675
|
} catch {
|
|
152434
152676
|
}
|
|
152435
152677
|
}
|
|
152436
|
-
const parent =
|
|
152678
|
+
const parent = path5.dirname(dir);
|
|
152437
152679
|
if (parent === dir)
|
|
152438
152680
|
break;
|
|
152439
152681
|
dir = parent;
|
|
@@ -152530,7 +152772,7 @@ function printBalanceNotice(balance, zero) {
|
|
|
152530
152772
|
}
|
|
152531
152773
|
function currentUserLabel() {
|
|
152532
152774
|
try {
|
|
152533
|
-
const u =
|
|
152775
|
+
const u = os5.userInfo().username;
|
|
152534
152776
|
return u ? u.charAt(0).toUpperCase() + u.slice(1) : "there";
|
|
152535
152777
|
} catch {
|
|
152536
152778
|
return "there";
|
|
@@ -152539,7 +152781,7 @@ function currentUserLabel() {
|
|
|
152539
152781
|
function collectEnv(workDir) {
|
|
152540
152782
|
return {
|
|
152541
152783
|
cwd: workDir,
|
|
152542
|
-
platform: `${
|
|
152784
|
+
platform: `${os5.platform()} ${os5.release()}`,
|
|
152543
152785
|
shell: process.env.SHELL ?? process.env.ComSpec ?? "unknown",
|
|
152544
152786
|
date: (/* @__PURE__ */ new Date()).toISOString().slice(0, 10),
|
|
152545
152787
|
gitBranch: tryExec("git branch --show-current", workDir),
|
|
@@ -152566,12 +152808,12 @@ function readNexrallMd(workDir) {
|
|
|
152566
152808
|
const memContent = (0, import_code_core3.readAllMemory)(workDir);
|
|
152567
152809
|
if (memContent)
|
|
152568
152810
|
parts.push(memContent);
|
|
152569
|
-
const globalContent = tryRead(
|
|
152811
|
+
const globalContent = tryRead(path5.join(os5.homedir(), ".nexrall", "nexrall.md"));
|
|
152570
152812
|
if (globalContent)
|
|
152571
152813
|
parts.push(`[Global instructions]
|
|
152572
152814
|
${globalContent}`);
|
|
152573
152815
|
for (const candidate of NEXRALL_MD_CANDIDATES) {
|
|
152574
|
-
const content = tryRead(
|
|
152816
|
+
const content = tryRead(path5.join(workDir, candidate));
|
|
152575
152817
|
if (content) {
|
|
152576
152818
|
parts.push(`[Project instructions \u2014 ${candidate}]
|
|
152577
152819
|
${content}`);
|
|
@@ -153043,12 +153285,27 @@ function printHelp() {
|
|
|
153043
153285
|
["/mcp", "Show MCP server connection status"],
|
|
153044
153286
|
["/agents", "List available sub-agent types (for the task tool)"],
|
|
153045
153287
|
["/context", "Show context window usage for this conversation"],
|
|
153288
|
+
["/terminal-setup", "Configure this terminal so Shift+Enter inserts a newline"],
|
|
153046
153289
|
["/update", "Update nex to the latest version"]
|
|
153047
153290
|
];
|
|
153048
153291
|
for (const [cmd, desc] of cmds) {
|
|
153049
153292
|
console.log(" " + source_default.cyan(cmd.padEnd(35)) + source_default.dim(desc));
|
|
153050
153293
|
}
|
|
153051
153294
|
console.log();
|
|
153295
|
+
console.log(source_default.bold(" Keys:"));
|
|
153296
|
+
const keys = [
|
|
153297
|
+
["Enter", "Send the message"],
|
|
153298
|
+
["Ctrl+J", "Insert a newline \u2014 works in every terminal, no setup"],
|
|
153299
|
+
["\\ then Enter", "Continue on the next line"],
|
|
153300
|
+
["Shift+Enter", "Insert a newline (run /terminal-setup once if it sends instead)"],
|
|
153301
|
+
["Option+Enter", "Insert a newline (macOS; /terminal-setup enables it)"],
|
|
153302
|
+
["Ctrl+C", "Stop the current turn, or press twice to exit"],
|
|
153303
|
+
["\u2190/\u2192", "Move the cursor within the line"]
|
|
153304
|
+
];
|
|
153305
|
+
for (const [key, desc] of keys) {
|
|
153306
|
+
console.log(" " + source_default.cyan(key.padEnd(35)) + source_default.dim(desc));
|
|
153307
|
+
}
|
|
153308
|
+
console.log();
|
|
153052
153309
|
}
|
|
153053
153310
|
function printSessions() {
|
|
153054
153311
|
const sessions = listSessions().slice(0, 20);
|
|
@@ -153440,7 +153697,7 @@ ${text}` : "");
|
|
|
153440
153697
|
messages = messages.slice(0, res.messageIndex);
|
|
153441
153698
|
console.log(source_default.green(` Rewound to #${id}: restored ${res.restored.length} file(s), ${messages.length} messages kept.`));
|
|
153442
153699
|
for (const p of res.restored)
|
|
153443
|
-
console.log(source_default.dim(" \u21A9 " +
|
|
153700
|
+
console.log(source_default.dim(" \u21A9 " + path5.relative(workDir, p)));
|
|
153444
153701
|
if (res.bashCount > 0) {
|
|
153445
153702
|
console.log(source_default.yellow(` \u26A0 ${res.bashCount} shell command(s) ran in the rewound turns \u2014 their side effects were NOT undone.`));
|
|
153446
153703
|
for (const h2 of res.gitStashHashes) {
|
|
@@ -153501,7 +153758,7 @@ ${summaryText}` }] },
|
|
|
153501
153758
|
return;
|
|
153502
153759
|
}
|
|
153503
153760
|
case "/init": {
|
|
153504
|
-
const nexrallMdPath =
|
|
153761
|
+
const nexrallMdPath = path5.join(workDir, "nexrall.md");
|
|
153505
153762
|
if (fs8.existsSync(nexrallMdPath)) {
|
|
153506
153763
|
const answer = await new Promise((resolve3) => rl.question(source_default.yellow(" nexrall.md already exists. Overwrite? [y/n] "), (a) => resolve3(a.trim())));
|
|
153507
153764
|
if (answer !== "y" && answer !== "yes") {
|
|
@@ -153510,8 +153767,8 @@ ${summaryText}` }] },
|
|
|
153510
153767
|
return;
|
|
153511
153768
|
}
|
|
153512
153769
|
}
|
|
153513
|
-
const readme = tryRead(
|
|
153514
|
-
const pkgJson = tryRead(
|
|
153770
|
+
const readme = tryRead(path5.join(workDir, "README.md"))?.slice(0, 2e3) ?? "";
|
|
153771
|
+
const pkgJson = tryRead(path5.join(workDir, "package.json"))?.slice(0, 1e3) ?? "";
|
|
153515
153772
|
const dirList = tryExec("ls -la", workDir)?.slice(0, 500) ?? "";
|
|
153516
153773
|
const initPrompt = `Analyze this project and write a concise nexrall.md (project-specific instructions for an AI coding assistant).
|
|
153517
153774
|
Include: project overview, tech stack, coding conventions, important files/folders, what to avoid.
|
|
@@ -153668,10 +153925,10 @@ ${dirList}`;
|
|
|
153668
153925
|
rl.prompt();
|
|
153669
153926
|
return;
|
|
153670
153927
|
}
|
|
153671
|
-
const filePath =
|
|
153928
|
+
const filePath = path5.isAbsolute(arg) ? arg : path5.join(workDir, arg);
|
|
153672
153929
|
try {
|
|
153673
153930
|
const content = fs8.readFileSync(filePath, "utf-8");
|
|
153674
|
-
const rel =
|
|
153931
|
+
const rel = path5.relative(workDir, filePath);
|
|
153675
153932
|
messages.push(
|
|
153676
153933
|
{ role: "user", content: [{ type: "text", text: `Content of \`${rel}\`:
|
|
153677
153934
|
\`\`\`
|
|
@@ -153699,8 +153956,8 @@ ${content}
|
|
|
153699
153956
|
}
|
|
153700
153957
|
const [rawPath, ...captionParts] = arg.split(/\s+/);
|
|
153701
153958
|
const caption = captionParts.join(" ").trim();
|
|
153702
|
-
const filePath =
|
|
153703
|
-
const ext =
|
|
153959
|
+
const filePath = path5.isAbsolute(rawPath) ? rawPath : path5.join(workDir, rawPath);
|
|
153960
|
+
const ext = path5.extname(filePath).toLowerCase();
|
|
153704
153961
|
const IMAGE_MIME = {
|
|
153705
153962
|
".png": "image/png",
|
|
153706
153963
|
".jpg": "image/jpeg",
|
|
@@ -153730,7 +153987,7 @@ ${content}
|
|
|
153730
153987
|
rl.prompt();
|
|
153731
153988
|
return;
|
|
153732
153989
|
}
|
|
153733
|
-
const rel =
|
|
153990
|
+
const rel = path5.relative(workDir, filePath);
|
|
153734
153991
|
const data = buf.toString("base64");
|
|
153735
153992
|
const label = caption ? `[Attached: ${rel}]
|
|
153736
153993
|
${caption}` : `[Attached: ${rel}]`;
|
|
@@ -153830,6 +154087,90 @@ ${text}
|
|
|
153830
154087
|
rl.prompt();
|
|
153831
154088
|
return;
|
|
153832
154089
|
}
|
|
154090
|
+
case "/terminal-setup": {
|
|
154091
|
+
console.log();
|
|
154092
|
+
console.log(source_default.bold(" Terminal setup \u2014 Shift+Enter for a newline:"));
|
|
154093
|
+
console.log();
|
|
154094
|
+
const target = decideTerminalSetup({
|
|
154095
|
+
env: process.env,
|
|
154096
|
+
platform: process.platform,
|
|
154097
|
+
macOSMajor: detectMacOSMajor()
|
|
154098
|
+
});
|
|
154099
|
+
if (target.kind === "already-native") {
|
|
154100
|
+
console.log(source_default.green(` \u2713 ${target.terminal} already sends Shift+Enter as a newline.`));
|
|
154101
|
+
console.log(source_default.dim(" Nothing to install."));
|
|
154102
|
+
} else if (target.kind === "editor") {
|
|
154103
|
+
const outcome = await installEditorKeybinding(target.editor, {
|
|
154104
|
+
readFile: (p) => fs8.promises.readFile(p, "utf-8"),
|
|
154105
|
+
writeFile: (p, body) => fs8.promises.writeFile(p, body, "utf-8"),
|
|
154106
|
+
copyFile: (from, to) => fs8.promises.copyFile(from, to),
|
|
154107
|
+
mkdir: async (p) => {
|
|
154108
|
+
await fs8.promises.mkdir(p, { recursive: true });
|
|
154109
|
+
},
|
|
154110
|
+
randomSuffix: () => crypto4.randomBytes(4).toString("hex")
|
|
154111
|
+
});
|
|
154112
|
+
switch (outcome.kind) {
|
|
154113
|
+
case "installed":
|
|
154114
|
+
console.log(source_default.green(` \u2713 Installed the ${target.editor} Shift+Enter keybinding.`));
|
|
154115
|
+
console.log(source_default.dim(` ${outcome.filePath}`));
|
|
154116
|
+
console.log(source_default.dim(" Takes effect immediately \u2014 no reload needed."));
|
|
154117
|
+
break;
|
|
154118
|
+
case "already-configured":
|
|
154119
|
+
console.log(source_default.green(` \u2713 ${target.editor} already has this keybinding.`));
|
|
154120
|
+
console.log(source_default.dim(` ${outcome.filePath}`));
|
|
154121
|
+
break;
|
|
154122
|
+
case "conflict":
|
|
154123
|
+
console.log(source_default.yellow(` ! ${target.editor} already binds shift+enter to a different sequence.`));
|
|
154124
|
+
console.log(source_default.dim(` Existing: ${JSON.stringify(outcome.existingText)}`));
|
|
154125
|
+
console.log(source_default.dim(` Left as-is. Change it to ${JSON.stringify(SHIFT_ENTER_SEQUENCE)} to use it here.`));
|
|
154126
|
+
console.log(source_default.dim(` ${outcome.filePath}`));
|
|
154127
|
+
break;
|
|
154128
|
+
case "failed":
|
|
154129
|
+
console.log(source_default.red(` \u2717 Couldn't update ${target.editor}'s keybindings: ${outcome.reason}`));
|
|
154130
|
+
console.log(source_default.dim(` ${outcome.filePath}`));
|
|
154131
|
+
break;
|
|
154132
|
+
}
|
|
154133
|
+
} else if (target.kind === "apple-terminal") {
|
|
154134
|
+
const res = await enableAppleTerminalOptionAsMeta({
|
|
154135
|
+
run: async (cmd2, args) => {
|
|
154136
|
+
try {
|
|
154137
|
+
const stdout = execFileSync2(cmd2, args, { encoding: "utf-8", stdio: ["ignore", "pipe", "ignore"] });
|
|
154138
|
+
return { code: 0, stdout };
|
|
154139
|
+
} catch (err) {
|
|
154140
|
+
const e2 = err;
|
|
154141
|
+
return { code: e2.status ?? 1, stdout: e2.stdout ?? "" };
|
|
154142
|
+
}
|
|
154143
|
+
},
|
|
154144
|
+
plistPath: path5.join(os5.homedir(), "Library", "Preferences", "com.apple.Terminal.plist")
|
|
154145
|
+
});
|
|
154146
|
+
if (res.ok) {
|
|
154147
|
+
console.log(source_default.green(' \u2713 Enabled "Use Option as Meta Key" in Apple Terminal.'));
|
|
154148
|
+
console.log(source_default.dim(` Profiles: ${res.profiles.join(", ")}`));
|
|
154149
|
+
console.log(source_default.dim(" Option+Enter now inserts a newline. Restart Terminal to apply."));
|
|
154150
|
+
console.log(
|
|
154151
|
+
source_default.dim(
|
|
154152
|
+
` Apple Terminal only gained Shift+Return in macOS ${MACOS_NATIVE_SHIFT_RETURN_MAJOR}; until then Option+Enter is the equivalent.`
|
|
154153
|
+
)
|
|
154154
|
+
);
|
|
154155
|
+
} else {
|
|
154156
|
+
console.log(source_default.red(` \u2717 Couldn't configure Apple Terminal: ${res.reason}`));
|
|
154157
|
+
}
|
|
154158
|
+
} else {
|
|
154159
|
+
console.log(
|
|
154160
|
+
source_default.yellow(
|
|
154161
|
+
` ! Not sure how to configure this terminal${target.terminal ? ` (${target.terminal})` : ""}.`
|
|
154162
|
+
)
|
|
154163
|
+
);
|
|
154164
|
+
console.log(source_default.dim(" Bind Shift+Enter to send ESC then CR, if your terminal supports it."));
|
|
154165
|
+
}
|
|
154166
|
+
console.log();
|
|
154167
|
+
console.log(source_default.dim(" Works in every terminal, no setup required:"));
|
|
154168
|
+
console.log(source_default.dim(" \u2022 Ctrl+J \u2014 insert a newline"));
|
|
154169
|
+
console.log(source_default.dim(" \u2022 \\ then Enter \u2014 continue on the next line"));
|
|
154170
|
+
console.log();
|
|
154171
|
+
rl.prompt();
|
|
154172
|
+
return;
|
|
154173
|
+
}
|
|
153833
154174
|
case "/agents": {
|
|
153834
154175
|
console.log();
|
|
153835
154176
|
console.log(source_default.bold(" Sub-agent types (used by the `task` tool):"));
|
|
@@ -154323,7 +154664,7 @@ program2.option("-p, --pro", "Use Claude Opus 5 (most capable)").option("-t, --t
|
|
|
154323
154664
|
process.exit(1);
|
|
154324
154665
|
}
|
|
154325
154666
|
const model = options.model ? options.model : options.ultra ? "claude-fable-5" : options.pro ? "claude-opus-5" : options.turbo ? "claude-sonnet-5" : "claude-sonnet-5";
|
|
154326
|
-
const workDir = options.dir ?
|
|
154667
|
+
const workDir = options.dir ? path6.resolve(options.dir) : process.cwd();
|
|
154327
154668
|
if (options.yolo)
|
|
154328
154669
|
setAutoApprove("all");
|
|
154329
154670
|
const resume = options.resume === true ? "last" : typeof options.resume === "string" ? options.resume : void 0;
|