nexus-agents 2.82.0 → 2.83.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 (125) hide show
  1. package/dist/{child-mcp-config-BMSYR7VV.js → child-mcp-config-XVPIO5HV.js} +2 -2
  2. package/dist/{chunk-OYDJ3C4N.js → chunk-2W4QJ27D.js} +3 -3
  3. package/dist/{chunk-BQ4YXGGQ.js → chunk-3ACDP4E6.js} +124 -2
  4. package/dist/chunk-3ACDP4E6.js.map +1 -0
  5. package/dist/{chunk-C7P2HLJX.js → chunk-3ASED5PR.js} +4 -4
  6. package/dist/{chunk-TXIUCEFT.js → chunk-3GJAAENS.js} +3 -3
  7. package/dist/{chunk-GNG7URCR.js → chunk-3WUVWZUC.js} +2 -2
  8. package/dist/{chunk-FTT2IYYX.js → chunk-4BXQ2OZY.js} +34 -16
  9. package/dist/chunk-4BXQ2OZY.js.map +1 -0
  10. package/dist/{chunk-SBZVRH4S.js → chunk-54UXPJVM.js} +2 -2
  11. package/dist/{chunk-QHL4KGNB.js → chunk-5T6SYCH2.js} +2 -2
  12. package/dist/{chunk-BL5IBHEY.js → chunk-6WDJ3IE4.js} +3 -3
  13. package/dist/{chunk-2R5UUBGA.js → chunk-AFPHR72D.js} +2 -2
  14. package/dist/{chunk-S36LIUV2.js → chunk-AINOJRZX.js} +7 -7
  15. package/dist/{chunk-HJUHDPXJ.js → chunk-BZUEUD4G.js} +3 -3
  16. package/dist/{chunk-2SQXJQTA.js → chunk-FHGDJKCZ.js} +16 -13
  17. package/dist/{chunk-2SQXJQTA.js.map → chunk-FHGDJKCZ.js.map} +1 -1
  18. package/dist/{chunk-XGUDCUMB.js → chunk-FI77TGBY.js} +2 -2
  19. package/dist/{chunk-7J7PNOJQ.js → chunk-HFOQKCD2.js} +22 -5
  20. package/dist/chunk-HFOQKCD2.js.map +1 -0
  21. package/dist/{chunk-PZESEBD3.js → chunk-L362KRSU.js} +2 -2
  22. package/dist/{chunk-HMXQKDUV.js → chunk-NLPMYBIV.js} +23 -7
  23. package/dist/chunk-NLPMYBIV.js.map +1 -0
  24. package/dist/{chunk-4XNVJS5A.js → chunk-PMLVZXAE.js} +763 -728
  25. package/dist/chunk-PMLVZXAE.js.map +1 -0
  26. package/dist/{chunk-JM3R267Z.js → chunk-PPBZQKRP.js} +5 -5
  27. package/dist/{chunk-WUUEKFKG.js → chunk-Q6PZMGLU.js} +2 -2
  28. package/dist/{chunk-W2AIGD35.js → chunk-RVRXKNND.js} +3 -3
  29. package/dist/{chunk-7VNVDFD5.js → chunk-RXVH52UI.js} +44 -18
  30. package/dist/{chunk-7VNVDFD5.js.map → chunk-RXVH52UI.js.map} +1 -1
  31. package/dist/{chunk-HVZ52LOL.js → chunk-U6LDVJS7.js} +2 -2
  32. package/dist/{chunk-X3JR3GMT.js → chunk-WGSRH5EQ.js} +3 -3
  33. package/dist/{chunk-SXL744NF.js → chunk-WJFUTRHX.js} +2 -2
  34. package/dist/{chunk-U7JXQSEM.js → chunk-YO27YAEX.js} +3 -3
  35. package/dist/{chunk-G2DZBEMU.js → chunk-Z64MSLEK.js} +2 -2
  36. package/dist/{chunk-NTLJ3INA.js → chunk-ZIWEEVMI.js} +2 -2
  37. package/dist/{chunk-SHWGK7X6.js → chunk-ZM5JKJHI.js} +2 -2
  38. package/dist/{cli-circuit-breaker-BIJUQRQI.js → cli-circuit-breaker-Y26NPPNO.js} +4 -4
  39. package/dist/cli.js +366 -344
  40. package/dist/cli.js.map +1 -1
  41. package/dist/codebase-search-ZFJUVMVR.js +8 -0
  42. package/dist/{composite-router-FB7P22L5.js → composite-router-X2ZYIEHH.js} +2 -2
  43. package/dist/{consensus-vote-KKAIFULI.js → consensus-vote-KZ6UURUI.js} +11 -11
  44. package/dist/{context-retriever-4JCGMWH7.js → context-retriever-QY4FNTDZ.js} +5 -5
  45. package/dist/{doctor-deep-7YK4BZIJ.js → doctor-deep-2E2GBMYR.js} +3 -3
  46. package/dist/expert-bridge-FHPWDFJX.js +13 -0
  47. package/dist/{factory-PK4EZL7K.js → factory-STNVY3Y3.js} +4 -4
  48. package/dist/{factory-DOWBGVAL.js → factory-W6KROBFN.js} +5 -5
  49. package/dist/index.d.ts +104 -60
  50. package/dist/index.js +100 -105
  51. package/dist/index.js.map +1 -1
  52. package/dist/{init-opencode-QP5CAMWN.js → init-opencode-6LVZ4CAQ.js} +5 -5
  53. package/dist/{issue-triage-T3SKNBH5.js → issue-triage-Y77JI7WF.js} +4 -4
  54. package/dist/{registry-command-TH7U6UMC.js → registry-command-P5VIAEOL.js} +2 -2
  55. package/dist/{repo-analyze-D2OY2QSR.js → repo-analyze-JZEMBE6R.js} +2 -2
  56. package/dist/{repo-security-plan-V257RYTW.js → repo-security-plan-RHSLO7H6.js} +4 -4
  57. package/dist/{research-helpers-synthesize-Y3O76PY4.js → research-helpers-synthesize-PVP6JRZV.js} +3 -3
  58. package/dist/{routing-memory-AAH7NIHD.js → routing-memory-QRIJPRVD.js} +2 -2
  59. package/dist/{session-memory-MY6YS2VX.js → session-memory-WARRGYY7.js} +3 -3
  60. package/dist/{setup-command-B6EC3OJA.js → setup-command-GMP5FI7F.js} +10 -10
  61. package/dist/{setup-config-HVO6ZSLW.js → setup-config-G3KKZM7O.js} +3 -3
  62. package/dist/{setup-custom-api-UOIKUQL4.js → setup-custom-api-B63X7ISD.js} +4 -4
  63. package/dist/{tool-memory-T7ZYIUJ2.js → tool-memory-E7JW4YLT.js} +4 -4
  64. package/dist/{weather-report-O3Z3BBAX.js → weather-report-RACZWJQL.js} +2 -2
  65. package/package.json +1 -1
  66. package/dist/chunk-4XNVJS5A.js.map +0 -1
  67. package/dist/chunk-7J7PNOJQ.js.map +0 -1
  68. package/dist/chunk-AP2FD37C.js +0 -127
  69. package/dist/chunk-AP2FD37C.js.map +0 -1
  70. package/dist/chunk-BQ4YXGGQ.js.map +0 -1
  71. package/dist/chunk-ED6VQWNG.js +0 -63
  72. package/dist/chunk-ED6VQWNG.js.map +0 -1
  73. package/dist/chunk-FTT2IYYX.js.map +0 -1
  74. package/dist/chunk-HMXQKDUV.js.map +0 -1
  75. package/dist/codebase-search-PIBRTGBE.js +0 -9
  76. package/dist/expert-bridge-DJM5GAWZ.js +0 -11
  77. package/dist/shared-memory-CM6T2MYE.js +0 -8
  78. package/dist/symbol-extractor-WYXPJH65.js +0 -10
  79. package/dist/tool-memory-T7ZYIUJ2.js.map +0 -1
  80. package/dist/weather-report-O3Z3BBAX.js.map +0 -1
  81. /package/dist/{child-mcp-config-BMSYR7VV.js.map → child-mcp-config-XVPIO5HV.js.map} +0 -0
  82. /package/dist/{chunk-OYDJ3C4N.js.map → chunk-2W4QJ27D.js.map} +0 -0
  83. /package/dist/{chunk-C7P2HLJX.js.map → chunk-3ASED5PR.js.map} +0 -0
  84. /package/dist/{chunk-TXIUCEFT.js.map → chunk-3GJAAENS.js.map} +0 -0
  85. /package/dist/{chunk-GNG7URCR.js.map → chunk-3WUVWZUC.js.map} +0 -0
  86. /package/dist/{chunk-SBZVRH4S.js.map → chunk-54UXPJVM.js.map} +0 -0
  87. /package/dist/{chunk-QHL4KGNB.js.map → chunk-5T6SYCH2.js.map} +0 -0
  88. /package/dist/{chunk-BL5IBHEY.js.map → chunk-6WDJ3IE4.js.map} +0 -0
  89. /package/dist/{chunk-2R5UUBGA.js.map → chunk-AFPHR72D.js.map} +0 -0
  90. /package/dist/{chunk-S36LIUV2.js.map → chunk-AINOJRZX.js.map} +0 -0
  91. /package/dist/{chunk-HJUHDPXJ.js.map → chunk-BZUEUD4G.js.map} +0 -0
  92. /package/dist/{chunk-XGUDCUMB.js.map → chunk-FI77TGBY.js.map} +0 -0
  93. /package/dist/{chunk-PZESEBD3.js.map → chunk-L362KRSU.js.map} +0 -0
  94. /package/dist/{chunk-JM3R267Z.js.map → chunk-PPBZQKRP.js.map} +0 -0
  95. /package/dist/{chunk-WUUEKFKG.js.map → chunk-Q6PZMGLU.js.map} +0 -0
  96. /package/dist/{chunk-W2AIGD35.js.map → chunk-RVRXKNND.js.map} +0 -0
  97. /package/dist/{chunk-HVZ52LOL.js.map → chunk-U6LDVJS7.js.map} +0 -0
  98. /package/dist/{chunk-X3JR3GMT.js.map → chunk-WGSRH5EQ.js.map} +0 -0
  99. /package/dist/{chunk-SXL744NF.js.map → chunk-WJFUTRHX.js.map} +0 -0
  100. /package/dist/{chunk-U7JXQSEM.js.map → chunk-YO27YAEX.js.map} +0 -0
  101. /package/dist/{chunk-G2DZBEMU.js.map → chunk-Z64MSLEK.js.map} +0 -0
  102. /package/dist/{chunk-NTLJ3INA.js.map → chunk-ZIWEEVMI.js.map} +0 -0
  103. /package/dist/{chunk-SHWGK7X6.js.map → chunk-ZM5JKJHI.js.map} +0 -0
  104. /package/dist/{cli-circuit-breaker-BIJUQRQI.js.map → cli-circuit-breaker-Y26NPPNO.js.map} +0 -0
  105. /package/dist/{codebase-search-PIBRTGBE.js.map → codebase-search-ZFJUVMVR.js.map} +0 -0
  106. /package/dist/{composite-router-FB7P22L5.js.map → composite-router-X2ZYIEHH.js.map} +0 -0
  107. /package/dist/{consensus-vote-KKAIFULI.js.map → consensus-vote-KZ6UURUI.js.map} +0 -0
  108. /package/dist/{context-retriever-4JCGMWH7.js.map → context-retriever-QY4FNTDZ.js.map} +0 -0
  109. /package/dist/{doctor-deep-7YK4BZIJ.js.map → doctor-deep-2E2GBMYR.js.map} +0 -0
  110. /package/dist/{expert-bridge-DJM5GAWZ.js.map → expert-bridge-FHPWDFJX.js.map} +0 -0
  111. /package/dist/{factory-DOWBGVAL.js.map → factory-STNVY3Y3.js.map} +0 -0
  112. /package/dist/{factory-PK4EZL7K.js.map → factory-W6KROBFN.js.map} +0 -0
  113. /package/dist/{init-opencode-QP5CAMWN.js.map → init-opencode-6LVZ4CAQ.js.map} +0 -0
  114. /package/dist/{issue-triage-T3SKNBH5.js.map → issue-triage-Y77JI7WF.js.map} +0 -0
  115. /package/dist/{registry-command-TH7U6UMC.js.map → registry-command-P5VIAEOL.js.map} +0 -0
  116. /package/dist/{repo-analyze-D2OY2QSR.js.map → repo-analyze-JZEMBE6R.js.map} +0 -0
  117. /package/dist/{repo-security-plan-V257RYTW.js.map → repo-security-plan-RHSLO7H6.js.map} +0 -0
  118. /package/dist/{research-helpers-synthesize-Y3O76PY4.js.map → research-helpers-synthesize-PVP6JRZV.js.map} +0 -0
  119. /package/dist/{routing-memory-AAH7NIHD.js.map → routing-memory-QRIJPRVD.js.map} +0 -0
  120. /package/dist/{session-memory-MY6YS2VX.js.map → session-memory-WARRGYY7.js.map} +0 -0
  121. /package/dist/{setup-command-B6EC3OJA.js.map → setup-command-GMP5FI7F.js.map} +0 -0
  122. /package/dist/{setup-config-HVO6ZSLW.js.map → setup-config-G3KKZM7O.js.map} +0 -0
  123. /package/dist/{setup-custom-api-UOIKUQL4.js.map → setup-custom-api-B63X7ISD.js.map} +0 -0
  124. /package/dist/{shared-memory-CM6T2MYE.js.map → tool-memory-E7JW4YLT.js.map} +0 -0
  125. /package/dist/{symbol-extractor-WYXPJH65.js.map → weather-report-RACZWJQL.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runConfigInitSync
3
- } from "./chunk-SXL744NF.js";
3
+ } from "./chunk-WJFUTRHX.js";
4
4
  import {
5
5
  VERSION,
6
6
  checkApiKeys,
@@ -8,10 +8,10 @@ import {
8
8
  checkSqlite,
9
9
  defaultConfig,
10
10
  initDataDirectories
11
- } from "./chunk-S36LIUV2.js";
11
+ } from "./chunk-AINOJRZX.js";
12
12
  import {
13
13
  probeAllClis
14
- } from "./chunk-2SQXJQTA.js";
14
+ } from "./chunk-FHGDJKCZ.js";
15
15
  import {
16
16
  BUILT_IN_EXPERTS
17
17
  } from "./chunk-ZM4O442V.js";
@@ -25,7 +25,7 @@ import {
25
25
  getErrorMessage,
26
26
  getTimeProvider,
27
27
  symbols
28
- } from "./chunk-7VNVDFD5.js";
28
+ } from "./chunk-RXVH52UI.js";
29
29
  import {
30
30
  ensureGitignored,
31
31
  findRepoRoot
@@ -1987,4 +1987,4 @@ export {
1987
1987
  setupCommand,
1988
1988
  setupCommandAsync
1989
1989
  };
1990
- //# sourceMappingURL=chunk-JM3R267Z.js.map
1990
+ //# sourceMappingURL=chunk-PPBZQKRP.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createLogger
3
- } from "./chunk-7VNVDFD5.js";
3
+ } from "./chunk-RXVH52UI.js";
4
4
 
5
5
  // src/config/available-models-cache.ts
6
6
  var logger = createLogger({ component: "available-models-cache" });
@@ -150,4 +150,4 @@ export {
150
150
  getDefaultAvailableModelsCache,
151
151
  setDefaultAvailableModelsCache
152
152
  };
153
- //# sourceMappingURL=chunk-WUUEKFKG.js.map
153
+ //# sourceMappingURL=chunk-Q6PZMGLU.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  analyzeGitHubRepo
3
- } from "./chunk-7J7PNOJQ.js";
3
+ } from "./chunk-HFOQKCD2.js";
4
4
  import {
5
5
  createLogger,
6
6
  getTimeProvider
7
- } from "./chunk-7VNVDFD5.js";
7
+ } from "./chunk-RXVH52UI.js";
8
8
 
9
9
  // src/mcp/tools/scanner-registry-fetcher.ts
10
10
  import { z } from "zod";
@@ -721,4 +721,4 @@ export {
721
721
  generateSecurityPlan,
722
722
  buildPlanFromAnalysis
723
723
  };
724
- //# sourceMappingURL=chunk-W2AIGD35.js.map
724
+ //# sourceMappingURL=chunk-RVRXKNND.js.map
@@ -7923,8 +7923,8 @@ var OutcomeStore = class {
7923
7923
  /** Query outcomes with optional filters. */
7924
7924
  query(filter) {
7925
7925
  if (filter === void 0) return [...this.entries];
7926
- const filtered = applyFilters(this.entries, filter);
7927
- return filter.limit !== void 0 ? filtered.slice(-filter.limit) : filtered;
7926
+ if (filter.limit === void 0) return applyFilters(this.entries, filter);
7927
+ return tailScan(this.entries, filter, filter.limit);
7928
7928
  }
7929
7929
  /**
7930
7930
  * Query outcomes for a specific model with a family-level warm-start
@@ -7940,20 +7940,16 @@ var OutcomeStore = class {
7940
7940
  queryByModelWithFamilyFallback(modelId, options) {
7941
7941
  const threshold = options?.threshold ?? DEFAULT_FAMILY_FALLBACK_THRESHOLD;
7942
7942
  const base = options?.extraFilter ?? {};
7943
- const literal = applyFilters(this.entries, base).filter((o) => o.model === modelId);
7944
- if (literal.length >= threshold) {
7945
- const entry2 = this.registry.getEntry(modelId);
7946
- return { outcomes: literal, scope: "literal", vendor: entry2.vendor, family: entry2.family };
7947
- }
7948
7943
  const entry = this.registry.getEntry(modelId);
7949
- const family = applyFilters(this.entries, base).filter(
7950
- (o) => (
7951
- // Cross-vendor transfer is out of scope (#2548) — vendor must match.
7952
- // Family must match too: an Anthropic claude-opus outcome shouldn't
7953
- // warm-start an Anthropic claude-haiku query.
7954
- o.vendor === entry.vendor && o.family === entry.family
7955
- )
7944
+ const { literal, family } = partitionByLiteralAndFamily(
7945
+ applyFilters(this.entries, base),
7946
+ modelId,
7947
+ entry.vendor,
7948
+ entry.family
7956
7949
  );
7950
+ if (literal.length >= threshold) {
7951
+ return { outcomes: literal, scope: "literal", vendor: entry.vendor, family: entry.family };
7952
+ }
7957
7953
  if (family.length === 0) {
7958
7954
  return { outcomes: literal, scope: "empty", vendor: entry.vendor, family: entry.family };
7959
7955
  }
@@ -8123,6 +8119,30 @@ function applyFilters(entries, filter) {
8123
8119
  const preds = buildPredicates(filter);
8124
8120
  return entries.filter((o) => preds.every((p) => p(o)));
8125
8121
  }
8122
+ function partitionByLiteralAndFamily(baseFiltered, modelId, vendor, family) {
8123
+ const literalBucket = [];
8124
+ const familyBucket = [];
8125
+ for (const o of baseFiltered) {
8126
+ if (o.vendor !== vendor || o.family !== family) continue;
8127
+ familyBucket.push(o);
8128
+ if (o.model === modelId) literalBucket.push(o);
8129
+ }
8130
+ return { literal: literalBucket, family: familyBucket };
8131
+ }
8132
+ function tailScan(entries, filter, limit) {
8133
+ if (limit <= 0) return [];
8134
+ const preds = buildPredicates(filter);
8135
+ const collected = [];
8136
+ for (let i = entries.length - 1; i >= 0; i--) {
8137
+ const o = entries[i];
8138
+ if (o === void 0) continue;
8139
+ if (preds.every((p) => p(o))) {
8140
+ collected.push(o);
8141
+ if (collected.length >= limit) break;
8142
+ }
8143
+ }
8144
+ return collected.reverse();
8145
+ }
8126
8146
  function groupBy(outcomes, keyFn) {
8127
8147
  const groups = /* @__PURE__ */ new Map();
8128
8148
  for (const o of outcomes) {
@@ -10297,7 +10317,10 @@ function getPerformanceDataForCategory(taskContent) {
10297
10317
  });
10298
10318
  }
10299
10319
  return result;
10300
- } catch {
10320
+ } catch (error) {
10321
+ logger9.debug("Performance-floor outcome-store read failed; skipping penalty", {
10322
+ error: error instanceof Error ? error.message : String(error)
10323
+ });
10301
10324
  return /* @__PURE__ */ new Map();
10302
10325
  }
10303
10326
  }
@@ -10456,7 +10479,10 @@ function getWeatherBonusForTask(taskContent) {
10456
10479
  const match = detectTaskCategory(taskContent);
10457
10480
  if (match === null) return /* @__PURE__ */ new Map();
10458
10481
  return getWeatherBonusScores(match.category);
10459
- } catch {
10482
+ } catch (error) {
10483
+ logger9.debug("Weather bonus outcome-store read failed; skipping bonus", {
10484
+ error: error instanceof Error ? error.message : String(error)
10485
+ });
10460
10486
  return /* @__PURE__ */ new Map();
10461
10487
  }
10462
10488
  }
@@ -10971,7 +10997,7 @@ var CompositeRouter = class _CompositeRouter {
10971
10997
  */
10972
10998
  async consultUnifiedContext(task) {
10973
10999
  try {
10974
- const { getContextForTask, inferTaskCategory } = await import("./context-retriever-4JCGMWH7.js");
11000
+ const { getContextForTask, inferTaskCategory } = await import("./context-retriever-QY4FNTDZ.js");
10975
11001
  const ctx = await getContextForTask({
10976
11002
  task: task.content,
10977
11003
  category: inferTaskCategory(task.content),
@@ -12269,4 +12295,4 @@ export {
12269
12295
  ParseError,
12270
12296
  OrchestratorError
12271
12297
  };
12272
- //# sourceMappingURL=chunk-7VNVDFD5.js.map
12298
+ //# sourceMappingURL=chunk-RXVH52UI.js.map