nexus-agents 2.63.5 → 2.64.0

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/cli.js CHANGED
@@ -16,7 +16,7 @@ import "./chunk-UFHFX2GX.js";
16
16
  import {
17
17
  setupCommandAsync,
18
18
  verifyCommand
19
- } from "./chunk-LDLLFUM4.js";
19
+ } from "./chunk-KTL65MHM.js";
20
20
  import "./chunk-5CYDU2VX.js";
21
21
  import {
22
22
  AuthHandler,
@@ -100,6 +100,7 @@ import {
100
100
  loadWorkflowFile,
101
101
  rankDiscoveredItems,
102
102
  readStoredToken,
103
+ registerCompareDataFeedsTool,
103
104
  registerCreateExpertTool,
104
105
  registerDelegateToModelTool,
105
106
  registerExecuteExpertTool,
@@ -130,7 +131,9 @@ import {
130
131
  registerRunGraphWorkflowTool,
131
132
  registerRunWorkflowTool,
132
133
  registerSearchCodebaseTool,
134
+ registerSurveyOssLandscapeTool,
133
135
  registerTools,
136
+ registerVendorPublishingAuditTool,
134
137
  registerVerifyAuditChainTool,
135
138
  registerWeatherReportTool,
136
139
  resolveV2Config,
@@ -142,7 +145,7 @@ import {
142
145
  validateCommand,
143
146
  validateWorkflow,
144
147
  wrapInMarkdownFence
145
- } from "./chunk-LQPW7LIC.js";
148
+ } from "./chunk-RLLMWZAE.js";
146
149
  import "./chunk-ED6VQWNG.js";
147
150
  import {
148
151
  resolveToken
@@ -202,7 +205,7 @@ import {
202
205
  loadConfig,
203
206
  runDoctor,
204
207
  validateNexusEnv
205
- } from "./chunk-3K6O2OL5.js";
208
+ } from "./chunk-Q3PDQ3FZ.js";
206
209
  import {
207
210
  DEFAULTS
208
211
  } from "./chunk-6MRF2PE2.js";
@@ -17736,7 +17739,7 @@ function isValidCommand(value) {
17736
17739
  }
17737
17740
 
17738
17741
  // src/cli-commands-handlers.ts
17739
- import { existsSync as existsSync22 } from "fs";
17742
+ import { existsSync as existsSync21 } from "fs";
17740
17743
 
17741
17744
  // src/cli/init-portable.ts
17742
17745
  import {
@@ -18309,7 +18312,7 @@ var DevPipelineInputSchema = z9.object({
18309
18312
  "'autonomous': full pipeline. 'harness': stops after decompose, returns tasks for caller to implement."
18310
18313
  )
18311
18314
  });
18312
- function resolveTaskInput(input) {
18315
+ async function resolveTaskInput(input) {
18313
18316
  if (input.task !== void 0 && input.task.trim() !== "") {
18314
18317
  return input.task;
18315
18318
  }
@@ -18319,10 +18322,14 @@ function resolveTaskInput(input) {
18319
18322
  if (!resolved.startsWith(cwdRoot)) {
18320
18323
  throw new Error(`Path traversal denied: planFile must be within ${cwdRoot}`);
18321
18324
  }
18322
- if (!fs17.existsSync(resolved)) {
18323
- throw new Error(`Plan file not found: ${resolved}`);
18325
+ try {
18326
+ return await fs17.promises.readFile(resolved, "utf-8");
18327
+ } catch (err2) {
18328
+ if (err2.code === "ENOENT") {
18329
+ throw new Error(`Plan file not found: ${resolved}`);
18330
+ }
18331
+ throw err2;
18324
18332
  }
18325
- return fs17.readFileSync(resolved, "utf-8");
18326
18333
  }
18327
18334
  throw new Error("Either task or planFile must be provided");
18328
18335
  }
@@ -18367,7 +18374,7 @@ function registerDevPipelineTool(server, _deps) {
18367
18374
  warnIfSimulatedOutsideTests("run_dev_pipeline", createLogger({ tool: "run_dev_pipeline" }));
18368
18375
  }
18369
18376
  try {
18370
- const taskText = resolveTaskInput(input);
18377
+ const taskText = await resolveTaskInput(input);
18371
18378
  const stages = await createStages(input);
18372
18379
  const pipelineOptions = {
18373
18380
  ...input.sessionId !== void 0 ? { sessionId: input.sessionId } : {},
@@ -18762,8 +18769,8 @@ var UpstreamClientManager = class {
18762
18769
  }
18763
18770
  /** Shut down all upstream connections. */
18764
18771
  async shutdownAll() {
18765
- const promises = [...this.clients.values()].map((c) => c.shutdown());
18766
- await Promise.allSettled(promises);
18772
+ const promises2 = [...this.clients.values()].map((c) => c.shutdown());
18773
+ await Promise.allSettled(promises2);
18767
18774
  this.clients.clear();
18768
18775
  this.log.info("All upstream servers shut down");
18769
18776
  }
@@ -18797,6 +18804,9 @@ var REGISTERED_TOOLS = [
18797
18804
  "research_discover",
18798
18805
  "research_analyze",
18799
18806
  "research_catalog_review",
18807
+ "survey_oss_landscape",
18808
+ "vendor_publishing_audit",
18809
+ "compare_data_feeds",
18800
18810
  "memory_query",
18801
18811
  "memory_stats",
18802
18812
  "memory_write",
@@ -18909,6 +18919,18 @@ function registerResearchTools(ctx) {
18909
18919
  ...researchDeps,
18910
18920
  rateLimiter: ctx.rateLimiterFactory.getForTool("research_synthesize")
18911
18921
  });
18922
+ registerSurveyOssLandscapeTool(ctx.server, {
18923
+ ...researchDeps,
18924
+ rateLimiter: ctx.rateLimiterFactory.getForTool("survey_oss_landscape")
18925
+ });
18926
+ registerVendorPublishingAuditTool(ctx.server, {
18927
+ ...researchDeps,
18928
+ rateLimiter: ctx.rateLimiterFactory.getForTool("vendor_publishing_audit")
18929
+ });
18930
+ registerCompareDataFeedsTool(ctx.server, {
18931
+ ...researchDeps,
18932
+ rateLimiter: ctx.rateLimiterFactory.getForTool("compare_data_feeds")
18933
+ });
18912
18934
  }
18913
18935
  function registerMemoryTools(ctx) {
18914
18936
  const memoryDeps = {
@@ -21081,8 +21103,8 @@ function printFirstRunHint() {
21081
21103
  const isTTY = process.stderr.isTTY;
21082
21104
  if (!isTTY) return;
21083
21105
  const dataDir = getNexusDataDir();
21084
- const hasConfig = existsSync22("./nexus-agents.yaml") || existsSync22("./nexus-agents.yml");
21085
- if (existsSync22(dataDir) || hasConfig) return;
21106
+ const hasConfig = existsSync21("./nexus-agents.yaml") || existsSync21("./nexus-agents.yml");
21107
+ if (existsSync21(dataDir) || hasConfig) return;
21086
21108
  process.stderr.write(
21087
21109
  "\n\x1B[36mnexus-agents\x1B[0m: First time? Run \x1B[1mnexus-agents setup\x1B[0m to configure.\n\n"
21088
21110
  );