nexus-agents 8.26.2 → 8.26.3
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/{chunk-4T3NJARF.js → chunk-CF33TH6T.js} +7 -7
- package/dist/{chunk-YJVIPATJ.js → chunk-GQIWZ6CF.js} +2 -2
- package/dist/{chunk-6UCSYXS7.js → chunk-IV3ZXRJA.js} +2 -2
- package/dist/{chunk-WSUMZZPR.js → chunk-QTPN4A5O.js} +3 -3
- package/dist/{chunk-QYEKMS52.js → chunk-UR5RAP4B.js} +3 -3
- package/dist/{chunk-MWYXL4HA.js → chunk-WIRI74TV.js} +2 -2
- package/dist/cli.js +51 -39
- package/dist/cli.js.map +1 -1
- package/dist/{consensus-vote-PQMLWFST.js → consensus-vote-ZOXWKYH5.js} +4 -4
- package/dist/{improvement-review-5C7DBVI2.js → improvement-review-5INULU65.js} +4 -4
- package/dist/index.js +6 -6
- package/dist/{setup-data-dir-UMMVAIQI.js → setup-data-dir-TN4Z2LJI.js} +3 -3
- package/package.json +1 -1
- /package/dist/{chunk-4T3NJARF.js.map → chunk-CF33TH6T.js.map} +0 -0
- /package/dist/{chunk-YJVIPATJ.js.map → chunk-GQIWZ6CF.js.map} +0 -0
- /package/dist/{chunk-6UCSYXS7.js.map → chunk-IV3ZXRJA.js.map} +0 -0
- /package/dist/{chunk-WSUMZZPR.js.map → chunk-QTPN4A5O.js.map} +0 -0
- /package/dist/{chunk-QYEKMS52.js.map → chunk-UR5RAP4B.js.map} +0 -0
- /package/dist/{chunk-MWYXL4HA.js.map → chunk-WIRI74TV.js.map} +0 -0
- /package/dist/{consensus-vote-PQMLWFST.js.map → consensus-vote-ZOXWKYH5.js.map} +0 -0
- /package/dist/{improvement-review-5C7DBVI2.js.map → improvement-review-5INULU65.js.map} +0 -0
- /package/dist/{setup-data-dir-UMMVAIQI.js.map → setup-data-dir-TN4Z2LJI.js.map} +0 -0
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
import {
|
|
22
22
|
DEFAULT_TASK_TTL_MS,
|
|
23
23
|
clampTaskTtl
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-QTPN4A5O.js";
|
|
25
25
|
import {
|
|
26
26
|
executeExpert
|
|
27
27
|
} from "./chunk-CN3VAMQD.js";
|
|
@@ -55,7 +55,7 @@ import {
|
|
|
55
55
|
toJobSummary,
|
|
56
56
|
updateStage,
|
|
57
57
|
writeJobCancelled
|
|
58
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-UR5RAP4B.js";
|
|
59
59
|
import {
|
|
60
60
|
allOf,
|
|
61
61
|
anyOf
|
|
@@ -75,7 +75,7 @@ import {
|
|
|
75
75
|
} from "./chunk-OYTRYITB.js";
|
|
76
76
|
import {
|
|
77
77
|
withPrerequisite
|
|
78
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-WIRI74TV.js";
|
|
79
79
|
import {
|
|
80
80
|
NOOP_NOTIFIER,
|
|
81
81
|
RateLimiter,
|
|
@@ -100,7 +100,7 @@ import {
|
|
|
100
100
|
withAuditTrail,
|
|
101
101
|
withProgressHeartbeat,
|
|
102
102
|
wrapToolWithTimeout
|
|
103
|
-
} from "./chunk-
|
|
103
|
+
} from "./chunk-GQIWZ6CF.js";
|
|
104
104
|
import {
|
|
105
105
|
createAuditTrail,
|
|
106
106
|
createGraphAuditBridge,
|
|
@@ -45672,7 +45672,7 @@ function buildVotingInput(plan, config) {
|
|
|
45672
45672
|
}
|
|
45673
45673
|
async function executeSingleVote(plan, config, log) {
|
|
45674
45674
|
try {
|
|
45675
|
-
const { executeVoting } = await import("./consensus-vote-
|
|
45675
|
+
const { executeVoting } = await import("./consensus-vote-ZOXWKYH5.js");
|
|
45676
45676
|
const input = buildVotingInput(plan, config);
|
|
45677
45677
|
const result = await executeVoting(input, log);
|
|
45678
45678
|
return parseVotingResult(result);
|
|
@@ -47464,7 +47464,7 @@ ${contextBlock}`;
|
|
|
47464
47464
|
const strategy = config.votingStrategy ?? "higher_order";
|
|
47465
47465
|
await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
|
|
47466
47466
|
try {
|
|
47467
|
-
const { executeVoting } = await import("./consensus-vote-
|
|
47467
|
+
const { executeVoting } = await import("./consensus-vote-ZOXWKYH5.js");
|
|
47468
47468
|
const votingResult = await executeVoting(
|
|
47469
47469
|
{
|
|
47470
47470
|
proposal: buildVoteProposal(plan, research),
|
|
@@ -56180,4 +56180,4 @@ export {
|
|
|
56180
56180
|
shutdownFeedbackSubscriber,
|
|
56181
56181
|
createEventBusBridge
|
|
56182
56182
|
};
|
|
56183
|
-
//# sourceMappingURL=chunk-
|
|
56183
|
+
//# sourceMappingURL=chunk-CF33TH6T.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
VERSION
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-IV3ZXRJA.js";
|
|
4
4
|
import {
|
|
5
5
|
emitClawGuardViolation
|
|
6
6
|
} from "./chunk-YOT4GWJV.js";
|
|
@@ -2255,4 +2255,4 @@ export {
|
|
|
2255
2255
|
VOTING_THRESHOLDS,
|
|
2256
2256
|
ConsensusMetricsSchema
|
|
2257
2257
|
};
|
|
2258
|
-
//# sourceMappingURL=chunk-
|
|
2258
|
+
//# sourceMappingURL=chunk-GQIWZ6CF.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// src/version.ts
|
|
2
2
|
import semver from "semver";
|
|
3
|
-
var VERSION = true ? "8.26.
|
|
3
|
+
var VERSION = true ? "8.26.3" : "dev";
|
|
4
4
|
var NODE_ENGINE_RANGE = ">=22.5.0";
|
|
5
5
|
function isNodeVersionSupported(version) {
|
|
6
6
|
return semver.satisfies(version, NODE_ENGINE_RANGE);
|
|
@@ -11,4 +11,4 @@ export {
|
|
|
11
11
|
NODE_ENGINE_RANGE,
|
|
12
12
|
isNodeVersionSupported
|
|
13
13
|
};
|
|
14
|
-
//# sourceMappingURL=chunk-
|
|
14
|
+
//# sourceMappingURL=chunk-IV3ZXRJA.js.map
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
NODE_ENGINE_RANGE,
|
|
9
9
|
VERSION,
|
|
10
10
|
isNodeVersionSupported
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-IV3ZXRJA.js";
|
|
12
12
|
import {
|
|
13
13
|
capitalize
|
|
14
14
|
} from "./chunk-7LP6VJRP.js";
|
|
@@ -1228,7 +1228,7 @@ async function runDoctorFix(result) {
|
|
|
1228
1228
|
writeLine2("\u2500".repeat(40));
|
|
1229
1229
|
let fixCount = 0;
|
|
1230
1230
|
if (!result.dataDirectory.rootExists || result.dataDirectory.subdirectories.some((d) => !d.exists || !d.writable)) {
|
|
1231
|
-
const { initDataDirectories: initDataDirectories2, describeDataDirFix: describeDataDirFix2 } = await import("./setup-data-dir-
|
|
1231
|
+
const { initDataDirectories: initDataDirectories2, describeDataDirFix: describeDataDirFix2 } = await import("./setup-data-dir-TN4Z2LJI.js");
|
|
1232
1232
|
const outcome = describeDataDirFix2(initDataDirectories2());
|
|
1233
1233
|
writeLine2(outcome.line);
|
|
1234
1234
|
if (outcome.counted) fixCount++;
|
|
@@ -1330,4 +1330,4 @@ export {
|
|
|
1330
1330
|
startStdioServer,
|
|
1331
1331
|
closeServer
|
|
1332
1332
|
};
|
|
1333
|
-
//# sourceMappingURL=chunk-
|
|
1333
|
+
//# sourceMappingURL=chunk-QTPN4A5O.js.map
|
|
@@ -23,10 +23,10 @@ import {
|
|
|
23
23
|
toolSuccessStructured,
|
|
24
24
|
withProgressHeartbeat,
|
|
25
25
|
wrapToolWithTimeout
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-GQIWZ6CF.js";
|
|
27
27
|
import {
|
|
28
28
|
VERSION
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-IV3ZXRJA.js";
|
|
30
30
|
import {
|
|
31
31
|
assessPanelIndependence,
|
|
32
32
|
countDistinctModels,
|
|
@@ -7682,4 +7682,4 @@ export {
|
|
|
7682
7682
|
CONSENSUS_VOTE_TOOL_SCHEMA,
|
|
7683
7683
|
registerConsensusVoteTool
|
|
7684
7684
|
};
|
|
7685
|
-
//# sourceMappingURL=chunk-
|
|
7685
|
+
//# sourceMappingURL=chunk-UR5RAP4B.js.map
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
toolStructuredError,
|
|
8
8
|
toolSuccessStructured,
|
|
9
9
|
wrapToolWithTimeout
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-GQIWZ6CF.js";
|
|
11
11
|
import {
|
|
12
12
|
JsonlStore,
|
|
13
13
|
SECURITY_KEYWORDS,
|
|
@@ -2159,4 +2159,4 @@ export {
|
|
|
2159
2159
|
runImprovementReview,
|
|
2160
2160
|
registerImprovementReviewTool
|
|
2161
2161
|
};
|
|
2162
|
-
//# sourceMappingURL=chunk-
|
|
2162
|
+
//# sourceMappingURL=chunk-WIRI74TV.js.map
|
package/dist/cli.js
CHANGED
|
@@ -157,7 +157,7 @@ import {
|
|
|
157
157
|
validateNexusEnv,
|
|
158
158
|
validateWorkflow,
|
|
159
159
|
wrapInMarkdownFence
|
|
160
|
-
} from "./chunk-
|
|
160
|
+
} from "./chunk-CF33TH6T.js";
|
|
161
161
|
import "./chunk-22EEMQUS.js";
|
|
162
162
|
import "./chunk-DGWT7DXX.js";
|
|
163
163
|
import "./chunk-64GMIUM5.js";
|
|
@@ -177,7 +177,7 @@ import {
|
|
|
177
177
|
doctorCommand,
|
|
178
178
|
initDataDirectories,
|
|
179
179
|
runDoctor
|
|
180
|
-
} from "./chunk-
|
|
180
|
+
} from "./chunk-QTPN4A5O.js";
|
|
181
181
|
import {
|
|
182
182
|
buildOpenAICompatAdapters,
|
|
183
183
|
readOpenAICompatEnv
|
|
@@ -196,7 +196,7 @@ import {
|
|
|
196
196
|
recordAuthenticVote,
|
|
197
197
|
registerConsensusVoteTool,
|
|
198
198
|
toRecordDecision
|
|
199
|
-
} from "./chunk-
|
|
199
|
+
} from "./chunk-UR5RAP4B.js";
|
|
200
200
|
import {
|
|
201
201
|
loadUsageEvents,
|
|
202
202
|
rollupByModel
|
|
@@ -236,18 +236,18 @@ import {
|
|
|
236
236
|
registerImprovementReviewTool,
|
|
237
237
|
runImprovementReview,
|
|
238
238
|
scanForSecrets
|
|
239
|
-
} from "./chunk-
|
|
239
|
+
} from "./chunk-WIRI74TV.js";
|
|
240
240
|
import {
|
|
241
241
|
createDefaultPolicyFirewall,
|
|
242
242
|
setGlobalPolicyFirewall,
|
|
243
243
|
setSecureHandlerAuditLogger,
|
|
244
244
|
stagePolicyFirewallForRollout
|
|
245
|
-
} from "./chunk-
|
|
245
|
+
} from "./chunk-GQIWZ6CF.js";
|
|
246
246
|
import {
|
|
247
247
|
NODE_ENGINE_RANGE,
|
|
248
248
|
VERSION,
|
|
249
249
|
isNodeVersionSupported
|
|
250
|
-
} from "./chunk-
|
|
250
|
+
} from "./chunk-IV3ZXRJA.js";
|
|
251
251
|
import "./chunk-YOT4GWJV.js";
|
|
252
252
|
import {
|
|
253
253
|
createUnifiedRegistry,
|
|
@@ -1977,14 +1977,14 @@ ${colors.dim}Session ended.${colors.reset}
|
|
|
1977
1977
|
});
|
|
1978
1978
|
});
|
|
1979
1979
|
rl.prompt();
|
|
1980
|
-
return new Promise((
|
|
1980
|
+
return new Promise((resolve15) => {
|
|
1981
1981
|
rl.on("line", (line) => {
|
|
1982
1982
|
void (async () => {
|
|
1983
1983
|
try {
|
|
1984
1984
|
const shouldExit = await processLine(line, session, logger22);
|
|
1985
1985
|
if (shouldExit) {
|
|
1986
1986
|
rl.close();
|
|
1987
|
-
|
|
1987
|
+
resolve15();
|
|
1988
1988
|
return;
|
|
1989
1989
|
}
|
|
1990
1990
|
} catch (error) {
|
|
@@ -1996,7 +1996,7 @@ ${colors.dim}Session ended.${colors.reset}
|
|
|
1996
1996
|
})();
|
|
1997
1997
|
});
|
|
1998
1998
|
rl.on("close", () => {
|
|
1999
|
-
|
|
1999
|
+
resolve15();
|
|
2000
2000
|
});
|
|
2001
2001
|
});
|
|
2002
2002
|
}
|
|
@@ -2015,7 +2015,7 @@ async function replCommand(options = {}) {
|
|
|
2015
2015
|
// src/self-eval/component-scanner.ts
|
|
2016
2016
|
import { readFileSync as readFileSync4 } from "node:fs";
|
|
2017
2017
|
import { readdir, readFile, stat } from "node:fs/promises";
|
|
2018
|
-
import { join as join3, basename, extname, relative } from "node:path";
|
|
2018
|
+
import { join as join3, basename, extname, relative, resolve as resolve5 } from "node:path";
|
|
2019
2019
|
var DEFAULT_EXTENSIONS = [".ts"];
|
|
2020
2020
|
var DEFAULT_MAX_FILE_SIZE = 1024 * 1024;
|
|
2021
2021
|
var COMPLEXITY_PATTERNS = [
|
|
@@ -2066,14 +2066,26 @@ var ComponentScanner = class {
|
|
|
2066
2066
|
async scan(directory) {
|
|
2067
2067
|
const startTime = getTimeProvider().now();
|
|
2068
2068
|
this.log.info("Starting component scan", { directory });
|
|
2069
|
-
const
|
|
2069
|
+
const resolvedDirectory = resolve5(directory);
|
|
2070
|
+
const files = await this.findFiles(resolvedDirectory);
|
|
2070
2071
|
const components = [];
|
|
2071
2072
|
for (const filePath of files) {
|
|
2072
|
-
const component = await this.analyzeFile(
|
|
2073
|
+
const component = await this.analyzeFile(resolvedDirectory, filePath);
|
|
2073
2074
|
if (component) {
|
|
2074
2075
|
components.push(component);
|
|
2075
2076
|
}
|
|
2076
2077
|
}
|
|
2078
|
+
const summary = this.loadCoverageSummary();
|
|
2079
|
+
if (summary !== null) {
|
|
2080
|
+
const summaryKeys = Object.keys(summary);
|
|
2081
|
+
const hasCoverageMatch = components.some((c) => c.testCoverage !== null);
|
|
2082
|
+
if (!hasCoverageMatch) {
|
|
2083
|
+
this.log.warn("Coverage summary loaded but matched no scanned files", {
|
|
2084
|
+
scannedFiles: components.length,
|
|
2085
|
+
summaryKeys: summaryKeys.length
|
|
2086
|
+
});
|
|
2087
|
+
}
|
|
2088
|
+
}
|
|
2077
2089
|
const inventory = {
|
|
2078
2090
|
components,
|
|
2079
2091
|
scanTime: new Date(getTimeProvider().now()),
|
|
@@ -2133,10 +2145,10 @@ var ComponentScanner = class {
|
|
|
2133
2145
|
/** Load + memoize `coverage-summary.json`; `null` when absent or unreadable. */
|
|
2134
2146
|
loadCoverageSummary() {
|
|
2135
2147
|
if (this.coverageSummary !== void 0) return this.coverageSummary;
|
|
2136
|
-
const file = join3(this.coverageDir, "coverage-summary.json");
|
|
2148
|
+
const file = join3(resolve5(this.coverageDir), "coverage-summary.json");
|
|
2137
2149
|
try {
|
|
2138
2150
|
const parsed = JSON.parse(readFileSync4(file, "utf-8"));
|
|
2139
|
-
this.coverageSummary = parsed;
|
|
2151
|
+
this.coverageSummary = parsed !== null && typeof parsed === "object" ? parsed : null;
|
|
2140
2152
|
} catch {
|
|
2141
2153
|
this.coverageSummary = null;
|
|
2142
2154
|
}
|
|
@@ -9728,7 +9740,7 @@ async function researchIndexCommand(options) {
|
|
|
9728
9740
|
|
|
9729
9741
|
// src/cli/research-import-command.ts
|
|
9730
9742
|
import * as fs9 from "node:fs/promises";
|
|
9731
|
-
import { resolve as
|
|
9743
|
+
import { resolve as resolve7 } from "node:path";
|
|
9732
9744
|
var VALID_TYPES = ["paper", "repo", "tool", "blog"];
|
|
9733
9745
|
function parseCsvLine(line) {
|
|
9734
9746
|
const fields = [];
|
|
@@ -9832,7 +9844,7 @@ function mapToSourceType(csvType) {
|
|
|
9832
9844
|
}
|
|
9833
9845
|
}
|
|
9834
9846
|
async function executeImport(options) {
|
|
9835
|
-
const csvPath =
|
|
9847
|
+
const csvPath = resolve7(options.csvPath);
|
|
9836
9848
|
let content;
|
|
9837
9849
|
try {
|
|
9838
9850
|
content = await fs9.readFile(csvPath, "utf-8");
|
|
@@ -12990,9 +13002,9 @@ function createReadline() {
|
|
|
12990
13002
|
});
|
|
12991
13003
|
}
|
|
12992
13004
|
async function promptInput(rl, question) {
|
|
12993
|
-
return new Promise((
|
|
13005
|
+
return new Promise((resolve15) => {
|
|
12994
13006
|
rl.question(question, (answer) => {
|
|
12995
|
-
|
|
13007
|
+
resolve15(answer.trim());
|
|
12996
13008
|
});
|
|
12997
13009
|
});
|
|
12998
13010
|
}
|
|
@@ -14800,7 +14812,7 @@ function writeResultAndExit(result) {
|
|
|
14800
14812
|
|
|
14801
14813
|
// src/cli/hooks/hook-router.ts
|
|
14802
14814
|
async function readStdin() {
|
|
14803
|
-
return new Promise((
|
|
14815
|
+
return new Promise((resolve15, reject) => {
|
|
14804
14816
|
let data = "";
|
|
14805
14817
|
process.stdin.setEncoding("utf8");
|
|
14806
14818
|
process.stdin.on("readable", () => {
|
|
@@ -14811,24 +14823,24 @@ async function readStdin() {
|
|
|
14811
14823
|
}
|
|
14812
14824
|
});
|
|
14813
14825
|
process.stdin.on("end", () => {
|
|
14814
|
-
|
|
14826
|
+
resolve15(data);
|
|
14815
14827
|
});
|
|
14816
14828
|
process.stdin.on("error", (err2) => {
|
|
14817
14829
|
reject(err2);
|
|
14818
14830
|
});
|
|
14819
14831
|
if (process.stdin.isTTY) {
|
|
14820
|
-
|
|
14832
|
+
resolve15("");
|
|
14821
14833
|
}
|
|
14822
14834
|
});
|
|
14823
14835
|
}
|
|
14824
14836
|
async function readStdinWithTimeout(timeoutMs = 5e3) {
|
|
14825
|
-
return new Promise((
|
|
14837
|
+
return new Promise((resolve15, reject) => {
|
|
14826
14838
|
const timeout2 = setTimeout(() => {
|
|
14827
14839
|
reject(new Error(`Stdin read timeout after ${String(timeoutMs)}ms`));
|
|
14828
14840
|
}, timeoutMs);
|
|
14829
14841
|
readStdin().then((data) => {
|
|
14830
14842
|
clearTimeout(timeout2);
|
|
14831
|
-
|
|
14843
|
+
resolve15(data);
|
|
14832
14844
|
}).catch((err2) => {
|
|
14833
14845
|
clearTimeout(timeout2);
|
|
14834
14846
|
reject(err2 instanceof Error ? err2 : new Error(String(err2)));
|
|
@@ -16328,9 +16340,9 @@ function interactiveIO() {
|
|
|
16328
16340
|
write: (text) => {
|
|
16329
16341
|
process.stdout.write(text);
|
|
16330
16342
|
},
|
|
16331
|
-
prompt: (question) => new Promise((
|
|
16343
|
+
prompt: (question) => new Promise((resolve15) => {
|
|
16332
16344
|
rl.question(question, (answer) => {
|
|
16333
|
-
|
|
16345
|
+
resolve15(answer.trim());
|
|
16334
16346
|
});
|
|
16335
16347
|
}),
|
|
16336
16348
|
close: () => {
|
|
@@ -18882,7 +18894,7 @@ import {
|
|
|
18882
18894
|
appendFileSync as appendFileSync2,
|
|
18883
18895
|
readFileSync as readFileSync16
|
|
18884
18896
|
} from "node:fs";
|
|
18885
|
-
import { resolve as
|
|
18897
|
+
import { resolve as resolve11, join as join17, isAbsolute as isAbsolute2 } from "node:path";
|
|
18886
18898
|
|
|
18887
18899
|
// src/cli/mcp-config-emitter.ts
|
|
18888
18900
|
import { existsSync as existsSync19, readFileSync as readFileSync14, writeFileSync as writeFileSync8, appendFileSync } from "node:fs";
|
|
@@ -19163,9 +19175,9 @@ var DEFAULT_PORTABLE_DIRNAME = ".nexus-agents";
|
|
|
19163
19175
|
var RESTRICTED_SUBDIRS = /* @__PURE__ */ new Set(["auth"]);
|
|
19164
19176
|
function resolveTargetPath(rawPath) {
|
|
19165
19177
|
if (rawPath === void 0 || rawPath === "") {
|
|
19166
|
-
return
|
|
19178
|
+
return resolve11(process.cwd(), DEFAULT_PORTABLE_DIRNAME);
|
|
19167
19179
|
}
|
|
19168
|
-
return isAbsolute2(rawPath) ? rawPath :
|
|
19180
|
+
return isAbsolute2(rawPath) ? rawPath : resolve11(process.cwd(), rawPath);
|
|
19169
19181
|
}
|
|
19170
19182
|
function isNonEmpty(dir) {
|
|
19171
19183
|
if (!existsSync22(dir)) return false;
|
|
@@ -19233,13 +19245,13 @@ function makeResult(opts) {
|
|
|
19233
19245
|
}
|
|
19234
19246
|
function applyGitignoreOption(target, options, dryRun) {
|
|
19235
19247
|
if (options.gitignore !== true) return false;
|
|
19236
|
-
const workspaceDir =
|
|
19248
|
+
const workspaceDir = resolve11(target, "..");
|
|
19237
19249
|
const portableName = target.slice(workspaceDir.length + 1);
|
|
19238
19250
|
return maybeUpdateGitignore(workspaceDir, portableName, dryRun);
|
|
19239
19251
|
}
|
|
19240
19252
|
function applyMcpConfigOption(target, options, dryRun) {
|
|
19241
19253
|
if (options.mcpConfig !== true) return void 0;
|
|
19242
|
-
const workspaceDir =
|
|
19254
|
+
const workspaceDir = resolve11(target, "..");
|
|
19243
19255
|
const shimPath = findBinShim(target);
|
|
19244
19256
|
return emitMcpConfig({
|
|
19245
19257
|
workspaceDir,
|
|
@@ -19755,7 +19767,7 @@ function startImprovementReviewScheduler(options) {
|
|
|
19755
19767
|
let running = false;
|
|
19756
19768
|
const runOnce = async () => {
|
|
19757
19769
|
try {
|
|
19758
|
-
const { runImprovementReview: runImprovementReview2, ImprovementReviewInputSchema: ImprovementReviewInputSchema2 } = await import("./improvement-review-
|
|
19770
|
+
const { runImprovementReview: runImprovementReview2, ImprovementReviewInputSchema: ImprovementReviewInputSchema2 } = await import("./improvement-review-5INULU65.js");
|
|
19759
19771
|
const input = ImprovementReviewInputSchema2.parse({ fileIssues });
|
|
19760
19772
|
const result = await runImprovementReview2(input, { logger: logger22 });
|
|
19761
19773
|
logger22.info("Scheduled improvement_review complete", {
|
|
@@ -20672,7 +20684,7 @@ async function executeReplTask(task, options, logger22, rl) {
|
|
|
20672
20684
|
}
|
|
20673
20685
|
}
|
|
20674
20686
|
function runOrchestratorRepl(options, logger22) {
|
|
20675
|
-
return new Promise((
|
|
20687
|
+
return new Promise((resolve15) => {
|
|
20676
20688
|
const rl = readline2.createInterface({
|
|
20677
20689
|
input: process.stdin,
|
|
20678
20690
|
output: process.stdout,
|
|
@@ -20695,7 +20707,7 @@ function runOrchestratorRepl(options, logger22) {
|
|
|
20695
20707
|
});
|
|
20696
20708
|
rl.on("close", () => {
|
|
20697
20709
|
logger22.info("Orchestrator REPL closed");
|
|
20698
|
-
|
|
20710
|
+
resolve15();
|
|
20699
20711
|
});
|
|
20700
20712
|
});
|
|
20701
20713
|
}
|
|
@@ -24859,7 +24871,7 @@ function handleStatusCommand2(args) {
|
|
|
24859
24871
|
|
|
24860
24872
|
// src/cli/scenario-command.ts
|
|
24861
24873
|
import { readdir as readdir4 } from "node:fs/promises";
|
|
24862
|
-
import { join as join20, resolve as
|
|
24874
|
+
import { join as join20, resolve as resolve13 } from "node:path";
|
|
24863
24875
|
|
|
24864
24876
|
// src/testing/e2e/scenario-runner.ts
|
|
24865
24877
|
import { readFile as readFile7 } from "node:fs/promises";
|
|
@@ -25019,7 +25031,7 @@ function checkCircularDependencies(workflow) {
|
|
|
25019
25031
|
var defaultStubFactory = {
|
|
25020
25032
|
createAgentStub(agentType, action) {
|
|
25021
25033
|
return async (inputs) => {
|
|
25022
|
-
await new Promise((
|
|
25034
|
+
await new Promise((resolve15) => setTimeout(resolve15, 10));
|
|
25023
25035
|
return {
|
|
25024
25036
|
stepId: `${agentType}-${action}`,
|
|
25025
25037
|
status: "success",
|
|
@@ -25178,7 +25190,7 @@ function createScenarioRunner(stubFactory) {
|
|
|
25178
25190
|
}
|
|
25179
25191
|
|
|
25180
25192
|
// src/cli/scenario-command.ts
|
|
25181
|
-
var FIXTURES_DIR =
|
|
25193
|
+
var FIXTURES_DIR = resolve13(import.meta.dirname, "../testing/e2e/fixtures");
|
|
25182
25194
|
var SCENARIO_SUFFIX = ".scenario.yaml";
|
|
25183
25195
|
async function listScenarios() {
|
|
25184
25196
|
try {
|
|
@@ -26184,7 +26196,7 @@ import { z as z13 } from "zod";
|
|
|
26184
26196
|
|
|
26185
26197
|
// src/mcp/tools/codepr-guards.ts
|
|
26186
26198
|
import { realpathSync } from "node:fs";
|
|
26187
|
-
import { isAbsolute as isAbsolute3, resolve as
|
|
26199
|
+
import { isAbsolute as isAbsolute3, resolve as resolve14, relative as relative4, sep as sep3, dirname as dirname10, basename as basename5 } from "node:path";
|
|
26188
26200
|
import { z as z12 } from "zod";
|
|
26189
26201
|
function deny(reason, detail) {
|
|
26190
26202
|
return { ok: false, reason, detail };
|
|
@@ -26206,7 +26218,7 @@ function confinePath(worktreeRoot, candidatePath, realpath = realpathSync) {
|
|
|
26206
26218
|
} catch {
|
|
26207
26219
|
return deny("path_escape", "worktreeRoot could not be resolved (fail-closed)");
|
|
26208
26220
|
}
|
|
26209
|
-
const joined = isAbsolute3(candidatePath) ? candidatePath :
|
|
26221
|
+
const joined = isAbsolute3(candidatePath) ? candidatePath : resolve14(resolvedRoot, candidatePath);
|
|
26210
26222
|
const reassembled = resolveNewFilePath(joined, realpath);
|
|
26211
26223
|
if (reassembled === void 0) {
|
|
26212
26224
|
return deny("path_escape", "candidate path could not be resolved (fail-closed)");
|
|
@@ -26231,7 +26243,7 @@ function resolveNewFilePath(joined, realpath) {
|
|
|
26231
26243
|
existing = parent;
|
|
26232
26244
|
}
|
|
26233
26245
|
}
|
|
26234
|
-
return trailing.length === 0 ? existing :
|
|
26246
|
+
return trailing.length === 0 ? existing : resolve14(existing, ...trailing.reverse());
|
|
26235
26247
|
}
|
|
26236
26248
|
function isWithin(parent, child) {
|
|
26237
26249
|
if (child === parent) return true;
|