nexus-agents 8.62.0 → 8.63.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.
Files changed (24) hide show
  1. package/dist/{chunk-4OAVDA2S.js → chunk-2U4GUQZQ.js} +2 -2
  2. package/dist/{chunk-M5BGNUVC.js → chunk-4D5WBVZF.js} +3 -3
  3. package/dist/{chunk-FLZM3DT4.js → chunk-D6ZN3IUC.js} +2 -2
  4. package/dist/{chunk-RWJBODFB.js → chunk-ED3NOBP4.js} +2 -2
  5. package/dist/{chunk-PHWTQIHP.js → chunk-Q2ZBQQGY.js} +3 -3
  6. package/dist/{chunk-Z3UZXXVS.js → chunk-VSVEWA7S.js} +32 -19
  7. package/dist/{chunk-Z3UZXXVS.js.map → chunk-VSVEWA7S.js.map} +1 -1
  8. package/dist/cli.js +14 -17
  9. package/dist/cli.js.map +1 -1
  10. package/dist/{consensus-vote-R23L7GY7.js → consensus-vote-MYFV4X75.js} +4 -4
  11. package/dist/{improvement-review-SSLZ3ZRJ.js → improvement-review-2M2PL57A.js} +4 -4
  12. package/dist/index.d.ts +2 -0
  13. package/dist/index.js +16 -8
  14. package/dist/index.js.map +1 -1
  15. package/dist/{setup-data-dir-2UCN3TAI.js → setup-data-dir-TODDUZIO.js} +3 -3
  16. package/package.json +1 -1
  17. /package/dist/{chunk-4OAVDA2S.js.map → chunk-2U4GUQZQ.js.map} +0 -0
  18. /package/dist/{chunk-M5BGNUVC.js.map → chunk-4D5WBVZF.js.map} +0 -0
  19. /package/dist/{chunk-FLZM3DT4.js.map → chunk-D6ZN3IUC.js.map} +0 -0
  20. /package/dist/{chunk-RWJBODFB.js.map → chunk-ED3NOBP4.js.map} +0 -0
  21. /package/dist/{chunk-PHWTQIHP.js.map → chunk-Q2ZBQQGY.js.map} +0 -0
  22. /package/dist/{consensus-vote-R23L7GY7.js.map → consensus-vote-MYFV4X75.js.map} +0 -0
  23. /package/dist/{improvement-review-SSLZ3ZRJ.js.map → improvement-review-2M2PL57A.js.map} +0 -0
  24. /package/dist/{setup-data-dir-2UCN3TAI.js.map → setup-data-dir-TODDUZIO.js.map} +0 -0
@@ -7,7 +7,7 @@ import {
7
7
  toolStructuredError,
8
8
  toolSuccessStructured,
9
9
  wrapToolWithTimeout
10
- } from "./chunk-RWJBODFB.js";
10
+ } from "./chunk-ED3NOBP4.js";
11
11
  import {
12
12
  JsonlStore,
13
13
  SECURITY_KEYWORDS,
@@ -2282,4 +2282,4 @@ export {
2282
2282
  runImprovementReview,
2283
2283
  registerImprovementReviewTool
2284
2284
  };
2285
- //# sourceMappingURL=chunk-4OAVDA2S.js.map
2285
+ //# sourceMappingURL=chunk-2U4GUQZQ.js.map
@@ -25,10 +25,10 @@ import {
25
25
  toolSuccessStructured,
26
26
  withProgressHeartbeat,
27
27
  wrapToolWithTimeout
28
- } from "./chunk-RWJBODFB.js";
28
+ } from "./chunk-ED3NOBP4.js";
29
29
  import {
30
30
  VERSION
31
- } from "./chunk-FLZM3DT4.js";
31
+ } from "./chunk-D6ZN3IUC.js";
32
32
  import {
33
33
  UNRESOLVED_MODEL_ID,
34
34
  assessPanelIndependence,
@@ -8930,4 +8930,4 @@ export {
8930
8930
  CONSENSUS_VOTE_TOOL_SCHEMA,
8931
8931
  registerConsensusVoteTool
8932
8932
  };
8933
- //# sourceMappingURL=chunk-M5BGNUVC.js.map
8933
+ //# sourceMappingURL=chunk-4D5WBVZF.js.map
@@ -1,6 +1,6 @@
1
1
  // src/version.ts
2
2
  import semver from "semver";
3
- var VERSION = true ? "8.62.0" : "dev";
3
+ var VERSION = true ? "8.63.0" : "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-FLZM3DT4.js.map
14
+ //# sourceMappingURL=chunk-D6ZN3IUC.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  VERSION
3
- } from "./chunk-FLZM3DT4.js";
3
+ } from "./chunk-D6ZN3IUC.js";
4
4
  import {
5
5
  CACHE_TIMEOUTS,
6
6
  MCP_TIMEOUTS,
@@ -2186,4 +2186,4 @@ export {
2186
2186
  DEFAULT_CONSENSUS_CONFIG,
2187
2187
  ConsensusMetricsSchema
2188
2188
  };
2189
- //# sourceMappingURL=chunk-RWJBODFB.js.map
2189
+ //# sourceMappingURL=chunk-ED3NOBP4.js.map
@@ -11,7 +11,7 @@ import {
11
11
  NODE_ENGINE_RANGE,
12
12
  VERSION,
13
13
  isNodeVersionSupported
14
- } from "./chunk-FLZM3DT4.js";
14
+ } from "./chunk-D6ZN3IUC.js";
15
15
  import {
16
16
  claimGlobalRegistry
17
17
  } from "./chunk-AJ7P4SID.js";
@@ -1314,7 +1314,7 @@ async function runDoctorFix(result) {
1314
1314
  writeLine2("\u2500".repeat(40));
1315
1315
  let fixCount = 0;
1316
1316
  if (!result.dataDirectory.rootExists || result.dataDirectory.subdirectories.some((d) => !d.exists || !d.writable)) {
1317
- const { initDataDirectories: initDataDirectories2, describeDataDirFix: describeDataDirFix2 } = await import("./setup-data-dir-2UCN3TAI.js");
1317
+ const { initDataDirectories: initDataDirectories2, describeDataDirFix: describeDataDirFix2 } = await import("./setup-data-dir-TODDUZIO.js");
1318
1318
  const outcome = describeDataDirFix2(initDataDirectories2());
1319
1319
  writeLine2(outcome.line);
1320
1320
  if (outcome.counted) fixCount++;
@@ -1416,4 +1416,4 @@ export {
1416
1416
  startStdioServer,
1417
1417
  closeServer
1418
1418
  };
1419
- //# sourceMappingURL=chunk-PHWTQIHP.js.map
1419
+ //# sourceMappingURL=chunk-Q2ZBQQGY.js.map
@@ -21,7 +21,7 @@ import {
21
21
  import {
22
22
  DEFAULT_TASK_TTL_MS,
23
23
  clampTaskTtl
24
- } from "./chunk-PHWTQIHP.js";
24
+ } from "./chunk-Q2ZBQQGY.js";
25
25
  import {
26
26
  executeExpert
27
27
  } from "./chunk-NFM6UHLJ.js";
@@ -71,7 +71,7 @@ import {
71
71
  updateStage,
72
72
  withWarnings,
73
73
  writeJobCancelled
74
- } from "./chunk-M5BGNUVC.js";
74
+ } from "./chunk-4D5WBVZF.js";
75
75
  import {
76
76
  allOf,
77
77
  anyOf
@@ -93,7 +93,7 @@ import {
93
93
  } from "./chunk-PFSMPJKU.js";
94
94
  import {
95
95
  withPrerequisite
96
- } from "./chunk-4OAVDA2S.js";
96
+ } from "./chunk-2U4GUQZQ.js";
97
97
  import {
98
98
  NOOP_NOTIFIER,
99
99
  RateLimiter,
@@ -116,7 +116,7 @@ import {
116
116
  toolSuccessStructured,
117
117
  withProgressHeartbeat,
118
118
  wrapToolWithTimeout
119
- } from "./chunk-RWJBODFB.js";
119
+ } from "./chunk-ED3NOBP4.js";
120
120
  import {
121
121
  EventTopics,
122
122
  UNRESOLVED_MODEL_ID,
@@ -32971,7 +32971,9 @@ function computeMetrics2(outcomes, filterPattern) {
32971
32971
  import { z as z61 } from "zod";
32972
32972
  var OrchestrateInputSchema = z61.object({
32973
32973
  task: z61.string().min(1).max(5e4).describe("Task description to orchestrate"),
32974
- context: z61.record(z61.string(), z61.unknown()).optional().describe("Additional context for the task"),
32974
+ context: z61.record(z61.string(), z61.unknown()).optional().describe(
32975
+ "Additional context for the task. `filePaths: string[]` (paths the task touches) feeds the AOrchestra expert trigger table (NEXUS_AORCHESTRA, default on)."
32976
+ ),
32975
32977
  maxIterations: z61.number().min(1).max(50).optional().default(10).describe("Maximum iterations for orchestration"),
32976
32978
  timeout: z61.number().min(1e3).max(6e5).optional().describe("Timeout in milliseconds for orchestration (default: 300000)"),
32977
32979
  /**
@@ -35330,7 +35332,12 @@ function computeExpertReliability() {
35330
35332
  }
35331
35333
  return reliability;
35332
35334
  }
35333
- function computeAgentPlan(task, logger57) {
35335
+ function filePathsFromContext(context) {
35336
+ const raw = context?.["filePaths"];
35337
+ if (!Array.isArray(raw)) return void 0;
35338
+ return raw.every((entry) => typeof entry === "string") ? raw : void 0;
35339
+ }
35340
+ function computeAgentPlan(task, logger57, options) {
35334
35341
  try {
35335
35342
  const analyzer = new SharedTaskAnalyzer();
35336
35343
  const analysis = analyzer.analyze(task);
@@ -35341,7 +35348,8 @@ function computeAgentPlan(task, logger57) {
35341
35348
  return void 0;
35342
35349
  }
35343
35350
  const expertReliability = computeExpertReliability();
35344
- const plan = planAgentTeam(analysis, task, { expertReliability });
35351
+ const filePaths = options?.filePaths ?? [];
35352
+ const plan = planAgentTeam(analysis, task, { expertReliability, filePaths });
35345
35353
  const excludedExperts = [];
35346
35354
  for (const [role, rate] of expertReliability) {
35347
35355
  if (rate < 0.5) excludedExperts.push({ role, rate: Math.round(rate * 100) / 100 });
@@ -35353,7 +35361,8 @@ function computeAgentPlan(task, logger57) {
35353
35361
  experts: plan.totalExperts,
35354
35362
  taskType: plan.taskType,
35355
35363
  complexity: plan.complexity,
35356
- reliabilityEntries: expertReliability.size
35364
+ reliabilityEntries: expertReliability.size,
35365
+ filePaths: filePaths.length
35357
35366
  });
35358
35367
  return plan;
35359
35368
  } catch (planError) {
@@ -36713,7 +36722,7 @@ async function runOrchestratePipeline(params) {
36713
36722
  const v2Config = resolveV2Config();
36714
36723
  if (v2Config.orchestrateEnabled) instrumentV2Orchestrate(input, logger57, trustTier);
36715
36724
  await injectMemoryContextForOrchestrate(input, logger57);
36716
- const agentPlan = v2Config.aorchestraEnabled ? computeAgentPlan(input.task, logger57) : void 0;
36725
+ const agentPlan = v2Config.aorchestraEnabled ? computeAgentPlan(input.task, logger57, { filePaths: filePathsFromContext(input.context) }) : void 0;
36717
36726
  const workerDispatchResult = await tryWorkerDispatch(
36718
36727
  agentPlan,
36719
36728
  input.task,
@@ -41531,21 +41540,25 @@ function validateScenario(spec, results) {
41531
41540
  function checkCriterion(criterion, results) {
41532
41541
  const keywords = extractKeywords5(criterion);
41533
41542
  const matched = [];
41543
+ const partial = [];
41534
41544
  for (const result of results) {
41535
- if (matchesKeywords(result, keywords)) {
41545
+ const overlap = keywordOverlap(result, keywords);
41546
+ if (overlap >= KEYWORD_MATCH_THRESHOLD) {
41536
41547
  matched.push(result);
41548
+ } else if (overlap > 0) {
41549
+ partial.push(result);
41537
41550
  }
41538
41551
  }
41539
- return { criterion, met: matched.length > 0, matchedResults: matched };
41552
+ return { criterion, met: matched.length > 0, matchedResults: matched, partialResults: partial };
41540
41553
  }
41541
41554
  function extractKeywords5(text) {
41542
41555
  return text.toLowerCase().split(/\W+/).filter((w) => w.length >= MIN_KEYWORD_LENGTH && !STOP_WORDS3.has(w));
41543
41556
  }
41544
- function matchesKeywords(result, keywords) {
41545
- if (keywords.length === 0) return false;
41557
+ function keywordOverlap(result, keywords) {
41558
+ if (keywords.length === 0) return 0;
41546
41559
  const resultLower = result.toLowerCase();
41547
41560
  const matched = keywords.filter((kw) => resultLower.includes(kw));
41548
- return matched.length / keywords.length >= KEYWORD_MATCH_THRESHOLD;
41561
+ return matched.length / keywords.length;
41549
41562
  }
41550
41563
 
41551
41564
  // src/orchestration/spec-executor.ts
@@ -41620,7 +41633,7 @@ function classifyFailure2(criterion, outputs) {
41620
41633
  }
41621
41634
  function determineFailureType(criterion, outputs) {
41622
41635
  if (outputs.length === 0) return "no_output";
41623
- if (criterion.matchedResults.length > 0) return "partial_match";
41636
+ if (criterion.partialResults.length > 0) return "partial_match";
41624
41637
  return "missing_implementation";
41625
41638
  }
41626
41639
  function buildExplanation(type, criterion) {
@@ -41634,7 +41647,7 @@ function buildExplanation(type, criterion) {
41634
41647
  }
41635
41648
  }
41636
41649
  function suggestImprovement(criterion) {
41637
- const hasPartial = criterion.matchedResults.length > 0;
41650
+ const hasPartial = criterion.partialResults.length > 0;
41638
41651
  return {
41639
41652
  action: hasPartial ? `Refine implementation to fully satisfy: "${criterion.criterion}"` : `Add subtask to implement: "${criterion.criterion}"`,
41640
41653
  targetCriterion: criterion.criterion,
@@ -45689,7 +45702,7 @@ function buildVotingInput(plan, config) {
45689
45702
  }
45690
45703
  async function executeSingleVote(plan, config, log) {
45691
45704
  try {
45692
- const { executeVoting } = await import("./consensus-vote-R23L7GY7.js");
45705
+ const { executeVoting } = await import("./consensus-vote-MYFV4X75.js");
45693
45706
  const input = buildVotingInput(plan, config);
45694
45707
  const result = await executeVoting(input, log);
45695
45708
  return parseVotingResult(result);
@@ -47487,7 +47500,7 @@ ${contextBlock}`;
47487
47500
  const strategy = config.votingStrategy ?? "higher_order";
47488
47501
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
47489
47502
  try {
47490
- const { executeVoting } = await import("./consensus-vote-R23L7GY7.js");
47503
+ const { executeVoting } = await import("./consensus-vote-MYFV4X75.js");
47491
47504
  const votingResult = await executeVoting(
47492
47505
  {
47493
47506
  proposal: buildVoteProposal(plan, research),
@@ -56700,4 +56713,4 @@ export {
56700
56713
  startPipelineEventBridge,
56701
56714
  shutdownPipelineEventBridge
56702
56715
  };
56703
- //# sourceMappingURL=chunk-Z3UZXXVS.js.map
56716
+ //# sourceMappingURL=chunk-VSVEWA7S.js.map