nexus-agents 8.43.0 → 8.44.1

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.
Files changed (27) hide show
  1. package/dist/{chunk-LLJPMZKI.js → chunk-23MBJUHY.js} +49 -22
  2. package/dist/{chunk-LLJPMZKI.js.map → chunk-23MBJUHY.js.map} +1 -1
  3. package/dist/{chunk-4NWC7WSP.js → chunk-2VDDZCVT.js} +3 -3
  4. package/dist/{chunk-GWVEY32A.js → chunk-4WEBJR5L.js} +3 -3
  5. package/dist/{chunk-64GMIUM5.js → chunk-M7DUOIAK.js} +15 -2
  6. package/dist/chunk-M7DUOIAK.js.map +1 -0
  7. package/dist/{chunk-LV3XDNDM.js → chunk-PFW4EQ2E.js} +2 -2
  8. package/dist/{chunk-AJFJYLUF.js → chunk-TPHY6M6D.js} +2 -2
  9. package/dist/{chunk-HMDFOPJY.js → chunk-XYD2J2M5.js} +2 -2
  10. package/dist/cli.js +8 -8
  11. package/dist/{codebase-search-3D4TW3KR.js → codebase-search-XDAFN6XP.js} +2 -2
  12. package/dist/{consensus-vote-EM2FBZJC.js → consensus-vote-52SR6UJB.js} +4 -4
  13. package/dist/{improvement-review-STXP27KF.js → improvement-review-3VV4DBCJ.js} +4 -4
  14. package/dist/index.d.ts +15 -0
  15. package/dist/index.js +7 -7
  16. package/dist/{setup-data-dir-6ZIANYVT.js → setup-data-dir-WFISCBTQ.js} +3 -3
  17. package/package.json +1 -1
  18. package/dist/chunk-64GMIUM5.js.map +0 -1
  19. /package/dist/{chunk-4NWC7WSP.js.map → chunk-2VDDZCVT.js.map} +0 -0
  20. /package/dist/{chunk-GWVEY32A.js.map → chunk-4WEBJR5L.js.map} +0 -0
  21. /package/dist/{chunk-LV3XDNDM.js.map → chunk-PFW4EQ2E.js.map} +0 -0
  22. /package/dist/{chunk-AJFJYLUF.js.map → chunk-TPHY6M6D.js.map} +0 -0
  23. /package/dist/{chunk-HMDFOPJY.js.map → chunk-XYD2J2M5.js.map} +0 -0
  24. /package/dist/{codebase-search-3D4TW3KR.js.map → codebase-search-XDAFN6XP.js.map} +0 -0
  25. /package/dist/{consensus-vote-EM2FBZJC.js.map → consensus-vote-52SR6UJB.js.map} +0 -0
  26. /package/dist/{improvement-review-STXP27KF.js.map → improvement-review-3VV4DBCJ.js.map} +0 -0
  27. /package/dist/{setup-data-dir-6ZIANYVT.js.map → setup-data-dir-WFISCBTQ.js.map} +0 -0
@@ -12,7 +12,7 @@ import {
12
12
  extractSymbolIndexResult,
13
13
  extractSymbols,
14
14
  findSourceFiles
15
- } from "./chunk-64GMIUM5.js";
15
+ } from "./chunk-M7DUOIAK.js";
16
16
  import {
17
17
  FINDING_SEVERITY_LEVELS,
18
18
  SARIF_LEVEL_MAP,
@@ -21,7 +21,7 @@ import {
21
21
  import {
22
22
  DEFAULT_TASK_TTL_MS,
23
23
  clampTaskTtl
24
- } from "./chunk-GWVEY32A.js";
24
+ } from "./chunk-4WEBJR5L.js";
25
25
  import {
26
26
  executeExpert
27
27
  } from "./chunk-B5R7KEZR.js";
@@ -55,7 +55,7 @@ import {
55
55
  toJobSummary,
56
56
  updateStage,
57
57
  writeJobCancelled
58
- } from "./chunk-4NWC7WSP.js";
58
+ } from "./chunk-2VDDZCVT.js";
59
59
  import {
60
60
  allOf,
61
61
  anyOf
@@ -75,7 +75,7 @@ import {
75
75
  } from "./chunk-ZSMK7RFK.js";
76
76
  import {
77
77
  withPrerequisite
78
- } from "./chunk-HMDFOPJY.js";
78
+ } from "./chunk-XYD2J2M5.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-AJFJYLUF.js";
103
+ } from "./chunk-TPHY6M6D.js";
104
104
  import {
105
105
  createAuditTrail,
106
106
  createGraphAuditBridge,
@@ -2314,13 +2314,38 @@ function mergeConfig(config) {
2314
2314
  jitterFactor: config.jitterFactor ?? DEFAULT_RETRY_CONFIG.jitterFactor
2315
2315
  };
2316
2316
  }
2317
+ function alreadyAborted(signal) {
2318
+ if (signal?.aborted !== true) return void 0;
2319
+ return new RetryExhaustedError(0, signal.reason);
2320
+ }
2321
+ function notifyRetry(onRetry, info) {
2322
+ if (onRetry !== void 0) onRetry(info);
2323
+ }
2324
+ function sleepUnlessAborted(ms, signal) {
2325
+ if (signal === void 0) return sleep(ms).then(() => true);
2326
+ if (signal.aborted) return Promise.resolve(false);
2327
+ return new Promise((resolve19) => {
2328
+ const onAbort = () => {
2329
+ clearTimeout(timer);
2330
+ resolve19(false);
2331
+ };
2332
+ const timer = setTimeout(() => {
2333
+ signal.removeEventListener("abort", onAbort);
2334
+ resolve19(true);
2335
+ }, ms);
2336
+ signal.addEventListener("abort", onAbort, { once: true });
2337
+ });
2338
+ }
2317
2339
  async function withRetry(operation, options = {}) {
2318
2340
  const config = mergeConfig(options.config ?? {});
2319
2341
  const isRetryable = options.isRetryable ?? isRetryableError;
2320
2342
  const onRetry = options.onRetry;
2343
+ const signal = options.signal;
2321
2344
  const maxAttempts = config.maxRetries + 1;
2322
2345
  let lastError;
2323
2346
  let attemptsMade = 0;
2347
+ const preAborted = alreadyAborted(signal);
2348
+ if (preAborted !== void 0) return err(preAborted);
2324
2349
  for (let attempt = 0; attempt < maxAttempts; attempt++) {
2325
2350
  attemptsMade = attempt + 1;
2326
2351
  try {
@@ -2333,15 +2358,9 @@ async function withRetry(operation, options = {}) {
2333
2358
  break;
2334
2359
  }
2335
2360
  const delayMs = calculateDelay(attempt, config);
2336
- if (onRetry) {
2337
- onRetry({
2338
- attempt: attempt + 1,
2339
- maxAttempts,
2340
- delayMs,
2341
- error
2342
- });
2343
- }
2344
- await sleep(delayMs);
2361
+ notifyRetry(onRetry, { attempt: attempt + 1, maxAttempts, delayMs, error });
2362
+ const waited = await sleepUnlessAborted(delayMs, signal);
2363
+ if (!waited) break;
2345
2364
  }
2346
2365
  }
2347
2366
  return err(new RetryExhaustedError(attemptsMade, lastError));
@@ -43089,7 +43108,14 @@ function skippedDirsNote(index) {
43089
43108
 
43090
43109
  Note: ${String(skippedDirs)} subdirector${skippedDirs === 1 ? "y was" : "ies were"} not indexed because maxDepth was exhausted. Pass a larger maxDepth (up to ${String(MAX_INDEX_MAX_DEPTH)}) to include them.`;
43091
43110
  }
43092
- function formatSearchOutput(index, query, results) {
43111
+ function truncationNote(total, shown, limit) {
43112
+ if (total <= shown) return "";
43113
+ return `
43114
+
43115
+ Note: showing the top ${String(shown)} of ${String(total)} matches (limit ${String(limit)}). ${String(total - shown)} further match(es) were omitted \u2014 this is not the complete match set. Raise \`limit\` to see more.`;
43116
+ }
43117
+ function formatSearchOutput(index, query, found, limit) {
43118
+ const results = found.results;
43093
43119
  if (results.length === 0) {
43094
43120
  return `No symbols matching "${query}" found in ${String(index.stats.files)} indexed files.${skippedDirsNote(index)}`;
43095
43121
  }
@@ -43099,7 +43125,7 @@ function formatSearchOutput(index, query, results) {
43099
43125
  }).join("\n");
43100
43126
  return `${String(results.length)} results for "${query}":
43101
43127
 
43102
- ${output2}${skippedDirsNote(index)}`;
43128
+ ${output2}${skippedDirsNote(index)}${truncationNote(found.total, results.length, limit)}`;
43103
43129
  }
43104
43130
  function formatListOutput(index) {
43105
43131
  const files = index.listFiles();
@@ -43135,8 +43161,9 @@ async function searchCodebaseHandler(args, ctx) {
43135
43161
  }
43136
43162
  return toolSuccess(JSON.stringify(summary, null, 2));
43137
43163
  }
43138
- const results = index.search(query, limit ?? 20);
43139
- return toolSuccess(formatSearchOutput(index, query, results));
43164
+ const effectiveLimit = limit ?? 20;
43165
+ const found = index.searchWithTotal(query, effectiveLimit);
43166
+ return toolSuccess(formatSearchOutput(index, query, found, effectiveLimit));
43140
43167
  } catch (caught) {
43141
43168
  const e = caught instanceof Error ? caught : new Error(String(caught));
43142
43169
  ctx.logger.error("Codebase search failed", e);
@@ -45993,7 +46020,7 @@ function buildVotingInput(plan, config) {
45993
46020
  }
45994
46021
  async function executeSingleVote(plan, config, log) {
45995
46022
  try {
45996
- const { executeVoting } = await import("./consensus-vote-EM2FBZJC.js");
46023
+ const { executeVoting } = await import("./consensus-vote-52SR6UJB.js");
45997
46024
  const input = buildVotingInput(plan, config);
45998
46025
  const result = await executeVoting(input, log);
45999
46026
  return parseVotingResult(result);
@@ -47788,7 +47815,7 @@ ${contextBlock}`;
47788
47815
  const strategy = config.votingStrategy ?? "higher_order";
47789
47816
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
47790
47817
  try {
47791
- const { executeVoting } = await import("./consensus-vote-EM2FBZJC.js");
47818
+ const { executeVoting } = await import("./consensus-vote-52SR6UJB.js");
47792
47819
  const votingResult = await executeVoting(
47793
47820
  {
47794
47821
  proposal: buildVoteProposal(plan, research),
@@ -48204,7 +48231,7 @@ function createScaffoldStageWrapper() {
48204
48231
  }
48205
48232
  async function searchCodebaseForTask(task) {
48206
48233
  try {
48207
- const { CodebaseIndex: CodebaseIndex2 } = await import("./codebase-search-3D4TW3KR.js");
48234
+ const { CodebaseIndex: CodebaseIndex2 } = await import("./codebase-search-XDAFN6XP.js");
48208
48235
  const index = new CodebaseIndex2(process.cwd());
48209
48236
  const terms = task.toLowerCase().split(/\s+/).filter((w) => w.length > 4).slice(0, 3);
48210
48237
  if (terms.length === 0) return null;
@@ -56515,4 +56542,4 @@ export {
56515
56542
  startPipelineEventBridge,
56516
56543
  shutdownPipelineEventBridge
56517
56544
  };
56518
- //# sourceMappingURL=chunk-LLJPMZKI.js.map
56545
+ //# sourceMappingURL=chunk-23MBJUHY.js.map