nexus-agents 2.123.4 → 2.123.5

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.
@@ -8,7 +8,7 @@ import {
8
8
  checkSqlite,
9
9
  defaultConfig,
10
10
  initDataDirectories
11
- } from "./chunk-HZDENKIO.js";
11
+ } from "./chunk-S4YUKUTS.js";
12
12
  import {
13
13
  probeAllClis
14
14
  } from "./chunk-TSAEDXVB.js";
@@ -2000,4 +2000,4 @@ export {
2000
2000
  setupCommand,
2001
2001
  setupCommandAsync
2002
2002
  };
2003
- //# sourceMappingURL=chunk-I4HSPTRB.js.map
2003
+ //# sourceMappingURL=chunk-RBTHFAKW.js.map
@@ -40,7 +40,7 @@ import {
40
40
  } from "./chunk-CH7QIDHQ.js";
41
41
 
42
42
  // src/version.ts
43
- var VERSION = true ? "2.123.4" : "dev";
43
+ var VERSION = true ? "2.123.5" : "dev";
44
44
 
45
45
  // src/config/schemas-core.ts
46
46
  import { z } from "zod";
@@ -2099,7 +2099,7 @@ async function runDoctorFix(result) {
2099
2099
  writeLine2("\u2500".repeat(40));
2100
2100
  let fixCount = 0;
2101
2101
  if (!result.dataDirectory.rootExists || result.dataDirectory.subdirectories.some((d) => !d.exists || !d.writable)) {
2102
- const { runSetup } = await import("./setup-command-DDDSYC4T.js");
2102
+ const { runSetup } = await import("./setup-command-SBPGWYG7.js");
2103
2103
  const setupResult = runSetup({
2104
2104
  skipMcp: true,
2105
2105
  skipRules: true,
@@ -2211,4 +2211,4 @@ export {
2211
2211
  startStdioServer,
2212
2212
  closeServer
2213
2213
  };
2214
- //# sourceMappingURL=chunk-HZDENKIO.js.map
2214
+ //# sourceMappingURL=chunk-S4YUKUTS.js.map
@@ -123,7 +123,7 @@ import {
123
123
  DEFAULT_TASK_TTL_MS,
124
124
  DEFAULT_TOOL_RATE_LIMITS,
125
125
  clampTaskTtl
126
- } from "./chunk-HZDENKIO.js";
126
+ } from "./chunk-S4YUKUTS.js";
127
127
  import {
128
128
  resolveInsideRoot
129
129
  } from "./chunk-NUBSJGQZ.js";
@@ -44685,6 +44685,21 @@ function registerVerifyAuditChainTool(server, deps) {
44685
44685
  // src/mcp/tools/suggest-research-tasks-tool.ts
44686
44686
  import { z as z99 } from "zod";
44687
44687
  var SUGGEST_RESEARCH_TASKS_NOTE = "Suggestions derived from external research (untrusted); review before acting \u2014 nothing was executed or filed.";
44688
+ var RESEARCH_BUDGET_MS = 2e4;
44689
+ var RESEARCH_TIMED_OUT = /* @__PURE__ */ Symbol("research-budget-exceeded");
44690
+ async function withResearchBudget(p, ms) {
44691
+ let timer;
44692
+ const budget = new Promise((resolve18) => {
44693
+ timer = setTimeout(() => {
44694
+ resolve18(RESEARCH_TIMED_OUT);
44695
+ }, ms);
44696
+ });
44697
+ try {
44698
+ return await Promise.race([p, budget]);
44699
+ } finally {
44700
+ if (timer !== void 0) clearTimeout(timer);
44701
+ }
44702
+ }
44688
44703
  var SuggestResearchTasksInputSchema = z99.object({
44689
44704
  topic: z99.string().optional().describe("Topic filter passed to research_discover. Optional."),
44690
44705
  qualityThreshold: z99.number().min(0).max(10).optional().describe("Minimum quality score (0-10) a discovery must meet to be suggested. Optional."),
@@ -44707,21 +44722,38 @@ async function suggestResearchTasksHandler(args, logger56) {
44707
44722
  message: `Validation error: ${formatZodError(parsed.error)}`
44708
44723
  });
44709
44724
  }
44710
- const candidates = await checkForResearchTriggers(toTriggerConfig(parsed.data));
44711
44725
  const existingTaskIds = parsed.data.existingTaskIds !== void 0 ? new Set(parsed.data.existingTaskIds) : void 0;
44712
44726
  const gapCandidates = checkForCapabilityGapTriggers({
44713
44727
  maxTriggers: parsed.data.maxTriggers,
44714
44728
  ...existingTaskIds !== void 0 ? { existingTaskIds } : {}
44715
44729
  });
44730
+ const research = await withResearchBudget(
44731
+ checkForResearchTriggers(toTriggerConfig(parsed.data)).catch((err2) => {
44732
+ logger56.warn("Research trigger failed; returning gap candidates only", {
44733
+ error: getErrorMessage(err2)
44734
+ });
44735
+ return [];
44736
+ }),
44737
+ RESEARCH_BUDGET_MS
44738
+ );
44739
+ const researchTimedOut = research === RESEARCH_TIMED_OUT;
44740
+ const candidates = researchTimedOut ? [] : research;
44741
+ if (researchTimedOut) {
44742
+ logger56.warn("Research discovery exceeded budget; returning gap candidates only (#3606)", {
44743
+ budgetMs: RESEARCH_BUDGET_MS
44744
+ });
44745
+ }
44716
44746
  logger56.info("Suggested research tasks", {
44717
44747
  count: candidates.length,
44718
- gapCount: gapCandidates.length
44748
+ gapCount: gapCandidates.length,
44749
+ researchTimedOut
44719
44750
  });
44720
44751
  const response = {
44721
44752
  candidates,
44722
44753
  gapCandidates,
44723
44754
  count: candidates.length + gapCandidates.length,
44724
- note: SUGGEST_RESEARCH_TASKS_NOTE
44755
+ note: SUGGEST_RESEARCH_TASKS_NOTE,
44756
+ ...researchTimedOut ? { researchTimedOut: true } : {}
44725
44757
  };
44726
44758
  return toolSuccess(JSON.stringify(response, null, 2));
44727
44759
  }
@@ -49768,4 +49800,4 @@ export {
49768
49800
  shutdownFeedbackSubscriber,
49769
49801
  createEventBusBridge
49770
49802
  };
49771
- //# sourceMappingURL=chunk-VTZ6YBNG.js.map
49803
+ //# sourceMappingURL=chunk-YNSSSY5X.js.map