nexus-agents 8.7.1 → 8.8.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 (130) hide show
  1. package/dist/{ast-rule-runner-EX3ZL4BZ.js → ast-rule-runner-IESI3WWR.js} +3 -3
  2. package/dist/{child-mcp-config-25OKN6ZQ.js → child-mcp-config-WQNW5YFO.js} +2 -2
  3. package/dist/{chunk-WUC3YSW6.js → chunk-36AR3GCF.js} +8 -8
  4. package/dist/{chunk-IBGMNZWT.js → chunk-37ONEK7R.js} +42 -9
  5. package/dist/chunk-37ONEK7R.js.map +1 -0
  6. package/dist/{chunk-BM2QAXLR.js → chunk-3SO5DMHS.js} +4 -4
  7. package/dist/{chunk-YAZ4CCF6.js → chunk-4AE2QO7Q.js} +2 -2
  8. package/dist/{chunk-4WB3SB7K.js → chunk-4HZCKQ25.js} +2 -2
  9. package/dist/{chunk-5I47G22O.js → chunk-66GKBIY2.js} +7 -7
  10. package/dist/{chunk-JWDVKO3Q.js → chunk-6AGNJBHE.js} +2 -2
  11. package/dist/{chunk-FLHLOQ5H.js → chunk-7BNB4YVO.js} +3 -3
  12. package/dist/{chunk-EYYICIRG.js → chunk-7BYI5CBK.js} +35 -35
  13. package/dist/{chunk-R7Z535GF.js → chunk-BBMGN7FS.js} +3 -3
  14. package/dist/{chunk-YOEB6RVH.js → chunk-BIHRU7WA.js} +8 -8
  15. package/dist/{chunk-NJ66YYG5.js → chunk-BNPXE7BD.js} +2 -2
  16. package/dist/{chunk-ZIRGSFK3.js → chunk-CRKF5LUZ.js} +4 -4
  17. package/dist/{chunk-CVXYAPJB.js → chunk-DEXENQXS.js} +2 -2
  18. package/dist/{chunk-LRXMR353.js → chunk-DY6DVTX2.js} +2 -2
  19. package/dist/{chunk-H32Z7H3Y.js → chunk-DZ5V47RU.js} +6 -6
  20. package/dist/{chunk-JG2W7NC5.js → chunk-F26X4N73.js} +2 -2
  21. package/dist/{chunk-THKP4RUM.js → chunk-GUOMNRXZ.js} +2 -2
  22. package/dist/{chunk-HCN3FRNG.js → chunk-HEV2C6VS.js} +51 -4
  23. package/dist/chunk-HEV2C6VS.js.map +1 -0
  24. package/dist/{chunk-O6GVBBGY.js → chunk-HQ6K7OYH.js} +7 -7
  25. package/dist/{chunk-JKNVGOQH.js → chunk-NSHGFRGF.js} +2 -2
  26. package/dist/{chunk-YAQ6OYOI.js → chunk-OLR2RIN2.js} +2 -2
  27. package/dist/{chunk-KUVHSVZT.js → chunk-OPHI2RB6.js} +4 -4
  28. package/dist/{chunk-AQZSXWPJ.js → chunk-PX422NHD.js} +2 -2
  29. package/dist/{chunk-6OY47Y5W.js → chunk-REY2B5LO.js} +2 -2
  30. package/dist/{chunk-SNNEXDCG.js → chunk-RWZJ2D2N.js} +2 -2
  31. package/dist/chunk-SAKV5TSH.js +7 -0
  32. package/dist/{chunk-GK3NWFSX.js → chunk-SNEUKIBK.js} +5 -5
  33. package/dist/{chunk-CDZ7OWH6.js → chunk-TQT2BIZ7.js} +4 -4
  34. package/dist/{chunk-UVUZMLEJ.js → chunk-W37HHXDL.js} +2 -2
  35. package/dist/{chunk-7NW6RNJK.js → chunk-W5VBFX65.js} +2 -2
  36. package/dist/{chunk-JWWNTXSI.js → chunk-YUMKCIEL.js} +2 -2
  37. package/dist/{chunk-PFMNPQI7.js → chunk-ZN6BTFLD.js} +2 -2
  38. package/dist/{chunk-MBKTQ5U6.js → chunk-ZQD67JES.js} +3 -3
  39. package/dist/{cli-circuit-breaker-55QP7IJF.js → cli-circuit-breaker-YAAGSJ5N.js} +3 -3
  40. package/dist/cli.js +43 -43
  41. package/dist/{composite-router-7TJ2CPZ3.js → composite-router-TU6MVJBG.js} +2 -2
  42. package/dist/{consensus-vote-73JHBSPS.js → consensus-vote-FJWLHMQL.js} +17 -17
  43. package/dist/{context-retriever-TODKVXFP.js → context-retriever-A4BZMTWM.js} +8 -8
  44. package/dist/{doctor-deep-EZLG3E2Q.js → doctor-deep-N4IFVZLP.js} +3 -3
  45. package/dist/{doctor-live-EZ54XOSM.js → doctor-live-G3EO5LQD.js} +9 -9
  46. package/dist/{expert-bridge-H7OXGW4O.js → expert-bridge-IKY5TTAH.js} +4 -4
  47. package/dist/{factory-B3SHAF4G.js → factory-EJ2ZMEQ7.js} +5 -5
  48. package/dist/{factory-IOQC3B5Y.js → factory-VGRG7M62.js} +9 -9
  49. package/dist/{improvement-review-UBAMECJM.js → improvement-review-JNHEZ2DJ.js} +6 -6
  50. package/dist/index.d.ts +61 -5
  51. package/dist/index.js +34 -32
  52. package/dist/index.js.map +1 -1
  53. package/dist/{init-opencode-G2THTE4E.js → init-opencode-KENOM2HA.js} +6 -6
  54. package/dist/issue-triage-IWMHDNUY.js +17 -0
  55. package/dist/{pr-reviewer-helpers-TMIOHSRZ.js → pr-reviewer-helpers-C72VNWXU.js} +4 -4
  56. package/dist/{registry-command-IPCVJL7U.js → registry-command-53E7LRNR.js} +2 -2
  57. package/dist/{repo-security-plan-KSD46QDB.js → repo-security-plan-ZSXHLYMU.js} +3 -3
  58. package/dist/{research-helpers-synthesize-I34CSJDD.js → research-helpers-synthesize-X4O3S4SH.js} +4 -4
  59. package/dist/{routing-memory-4BHIRI57.js → routing-memory-5RYZJE45.js} +2 -2
  60. package/dist/{session-memory-YAES7LJ3.js → session-memory-3GE74TXJ.js} +3 -3
  61. package/dist/{setup-config-SZ2NM2SE.js → setup-config-YGTQJTTC.js} +3 -3
  62. package/dist/{setup-custom-api-JNFW5LFD.js → setup-custom-api-5ZZQJ5WX.js} +4 -4
  63. package/dist/setup-data-dir-NKG6L7FO.js +29 -0
  64. package/dist/{tool-memory-4FCZAUV6.js → tool-memory-ZW2J3PMR.js} +5 -5
  65. package/dist/{unified-registry-7GGDIT6Q.js → unified-registry-IH3UEZLZ.js} +10 -10
  66. package/dist/{weather-report-XGPJTPHN.js → weather-report-OQ2UA3DZ.js} +2 -2
  67. package/package.json +1 -1
  68. package/dist/chunk-HCN3FRNG.js.map +0 -1
  69. package/dist/chunk-IBGMNZWT.js.map +0 -1
  70. package/dist/chunk-Q55BOZUM.js +0 -7
  71. package/dist/issue-triage-2MSODPKO.js +0 -17
  72. package/dist/setup-data-dir-UMVVYGNX.js +0 -29
  73. /package/dist/{ast-rule-runner-EX3ZL4BZ.js.map → ast-rule-runner-IESI3WWR.js.map} +0 -0
  74. /package/dist/{child-mcp-config-25OKN6ZQ.js.map → child-mcp-config-WQNW5YFO.js.map} +0 -0
  75. /package/dist/{chunk-WUC3YSW6.js.map → chunk-36AR3GCF.js.map} +0 -0
  76. /package/dist/{chunk-BM2QAXLR.js.map → chunk-3SO5DMHS.js.map} +0 -0
  77. /package/dist/{chunk-YAZ4CCF6.js.map → chunk-4AE2QO7Q.js.map} +0 -0
  78. /package/dist/{chunk-4WB3SB7K.js.map → chunk-4HZCKQ25.js.map} +0 -0
  79. /package/dist/{chunk-5I47G22O.js.map → chunk-66GKBIY2.js.map} +0 -0
  80. /package/dist/{chunk-JWDVKO3Q.js.map → chunk-6AGNJBHE.js.map} +0 -0
  81. /package/dist/{chunk-FLHLOQ5H.js.map → chunk-7BNB4YVO.js.map} +0 -0
  82. /package/dist/{chunk-EYYICIRG.js.map → chunk-7BYI5CBK.js.map} +0 -0
  83. /package/dist/{chunk-R7Z535GF.js.map → chunk-BBMGN7FS.js.map} +0 -0
  84. /package/dist/{chunk-YOEB6RVH.js.map → chunk-BIHRU7WA.js.map} +0 -0
  85. /package/dist/{chunk-NJ66YYG5.js.map → chunk-BNPXE7BD.js.map} +0 -0
  86. /package/dist/{chunk-ZIRGSFK3.js.map → chunk-CRKF5LUZ.js.map} +0 -0
  87. /package/dist/{chunk-CVXYAPJB.js.map → chunk-DEXENQXS.js.map} +0 -0
  88. /package/dist/{chunk-LRXMR353.js.map → chunk-DY6DVTX2.js.map} +0 -0
  89. /package/dist/{chunk-H32Z7H3Y.js.map → chunk-DZ5V47RU.js.map} +0 -0
  90. /package/dist/{chunk-JG2W7NC5.js.map → chunk-F26X4N73.js.map} +0 -0
  91. /package/dist/{chunk-THKP4RUM.js.map → chunk-GUOMNRXZ.js.map} +0 -0
  92. /package/dist/{chunk-O6GVBBGY.js.map → chunk-HQ6K7OYH.js.map} +0 -0
  93. /package/dist/{chunk-JKNVGOQH.js.map → chunk-NSHGFRGF.js.map} +0 -0
  94. /package/dist/{chunk-YAQ6OYOI.js.map → chunk-OLR2RIN2.js.map} +0 -0
  95. /package/dist/{chunk-KUVHSVZT.js.map → chunk-OPHI2RB6.js.map} +0 -0
  96. /package/dist/{chunk-AQZSXWPJ.js.map → chunk-PX422NHD.js.map} +0 -0
  97. /package/dist/{chunk-6OY47Y5W.js.map → chunk-REY2B5LO.js.map} +0 -0
  98. /package/dist/{chunk-SNNEXDCG.js.map → chunk-RWZJ2D2N.js.map} +0 -0
  99. /package/dist/{chunk-Q55BOZUM.js.map → chunk-SAKV5TSH.js.map} +0 -0
  100. /package/dist/{chunk-GK3NWFSX.js.map → chunk-SNEUKIBK.js.map} +0 -0
  101. /package/dist/{chunk-CDZ7OWH6.js.map → chunk-TQT2BIZ7.js.map} +0 -0
  102. /package/dist/{chunk-UVUZMLEJ.js.map → chunk-W37HHXDL.js.map} +0 -0
  103. /package/dist/{chunk-7NW6RNJK.js.map → chunk-W5VBFX65.js.map} +0 -0
  104. /package/dist/{chunk-JWWNTXSI.js.map → chunk-YUMKCIEL.js.map} +0 -0
  105. /package/dist/{chunk-PFMNPQI7.js.map → chunk-ZN6BTFLD.js.map} +0 -0
  106. /package/dist/{chunk-MBKTQ5U6.js.map → chunk-ZQD67JES.js.map} +0 -0
  107. /package/dist/{cli-circuit-breaker-55QP7IJF.js.map → cli-circuit-breaker-YAAGSJ5N.js.map} +0 -0
  108. /package/dist/{composite-router-7TJ2CPZ3.js.map → composite-router-TU6MVJBG.js.map} +0 -0
  109. /package/dist/{consensus-vote-73JHBSPS.js.map → consensus-vote-FJWLHMQL.js.map} +0 -0
  110. /package/dist/{context-retriever-TODKVXFP.js.map → context-retriever-A4BZMTWM.js.map} +0 -0
  111. /package/dist/{doctor-deep-EZLG3E2Q.js.map → doctor-deep-N4IFVZLP.js.map} +0 -0
  112. /package/dist/{doctor-live-EZ54XOSM.js.map → doctor-live-G3EO5LQD.js.map} +0 -0
  113. /package/dist/{expert-bridge-H7OXGW4O.js.map → expert-bridge-IKY5TTAH.js.map} +0 -0
  114. /package/dist/{factory-B3SHAF4G.js.map → factory-EJ2ZMEQ7.js.map} +0 -0
  115. /package/dist/{factory-IOQC3B5Y.js.map → factory-VGRG7M62.js.map} +0 -0
  116. /package/dist/{improvement-review-UBAMECJM.js.map → improvement-review-JNHEZ2DJ.js.map} +0 -0
  117. /package/dist/{init-opencode-G2THTE4E.js.map → init-opencode-KENOM2HA.js.map} +0 -0
  118. /package/dist/{issue-triage-2MSODPKO.js.map → issue-triage-IWMHDNUY.js.map} +0 -0
  119. /package/dist/{pr-reviewer-helpers-TMIOHSRZ.js.map → pr-reviewer-helpers-C72VNWXU.js.map} +0 -0
  120. /package/dist/{registry-command-IPCVJL7U.js.map → registry-command-53E7LRNR.js.map} +0 -0
  121. /package/dist/{repo-security-plan-KSD46QDB.js.map → repo-security-plan-ZSXHLYMU.js.map} +0 -0
  122. /package/dist/{research-helpers-synthesize-I34CSJDD.js.map → research-helpers-synthesize-X4O3S4SH.js.map} +0 -0
  123. /package/dist/{routing-memory-4BHIRI57.js.map → routing-memory-5RYZJE45.js.map} +0 -0
  124. /package/dist/{session-memory-YAES7LJ3.js.map → session-memory-3GE74TXJ.js.map} +0 -0
  125. /package/dist/{setup-config-SZ2NM2SE.js.map → setup-config-YGTQJTTC.js.map} +0 -0
  126. /package/dist/{setup-custom-api-JNFW5LFD.js.map → setup-custom-api-5ZZQJ5WX.js.map} +0 -0
  127. /package/dist/{setup-data-dir-UMVVYGNX.js.map → setup-data-dir-NKG6L7FO.js.map} +0 -0
  128. /package/dist/{tool-memory-4FCZAUV6.js.map → tool-memory-ZW2J3PMR.js.map} +0 -0
  129. /package/dist/{unified-registry-7GGDIT6Q.js.map → unified-registry-IH3UEZLZ.js.map} +0 -0
  130. /package/dist/{weather-report-XGPJTPHN.js.map → weather-report-OQ2UA3DZ.js.map} +0 -0
@@ -9,8 +9,8 @@ import {
9
9
  getBuiltInAstRulesPath,
10
10
  loadRules,
11
11
  runAstQaRules
12
- } from "./chunk-JWWNTXSI.js";
13
- import "./chunk-HCN3FRNG.js";
12
+ } from "./chunk-YUMKCIEL.js";
13
+ import "./chunk-HEV2C6VS.js";
14
14
  import "./chunk-ITCKXMOH.js";
15
15
  import "./chunk-MM223CVS.js";
16
16
  import "./chunk-ZPWHCABL.js";
@@ -26,4 +26,4 @@ export {
26
26
  loadRules,
27
27
  runAstQaRules
28
28
  };
29
- //# sourceMappingURL=ast-rule-runner-EX3ZL4BZ.js.map
29
+ //# sourceMappingURL=ast-rule-runner-IESI3WWR.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-4HXPNLZS.js";
4
4
  import {
5
5
  createLogger
6
- } from "./chunk-HCN3FRNG.js";
6
+ } from "./chunk-HEV2C6VS.js";
7
7
  import "./chunk-ITCKXMOH.js";
8
8
  import "./chunk-MM223CVS.js";
9
9
  import "./chunk-ZPWHCABL.js";
@@ -62,4 +62,4 @@ export {
62
62
  generateMcpConfig,
63
63
  getDefaultAllowedTools
64
64
  };
65
- //# sourceMappingURL=child-mcp-config-25OKN6ZQ.js.map
65
+ //# sourceMappingURL=child-mcp-config-WQNW5YFO.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  computeCostDetail,
3
3
  priceBasisOf
4
- } from "./chunk-LRXMR353.js";
4
+ } from "./chunk-DY6DVTX2.js";
5
5
  import {
6
6
  allOf
7
7
  } from "./chunk-OQB3XC5O.js";
@@ -23,22 +23,22 @@ import {
23
23
  toolSuccessStructured,
24
24
  withProgressHeartbeat,
25
25
  wrapToolWithTimeout
26
- } from "./chunk-KUVHSVZT.js";
26
+ } from "./chunk-OPHI2RB6.js";
27
27
  import {
28
28
  assessPanelIndependence,
29
29
  countDistinctModels,
30
30
  createEvent,
31
31
  getGlobalRegistry
32
- } from "./chunk-CDZ7OWH6.js";
32
+ } from "./chunk-TQT2BIZ7.js";
33
33
  import {
34
34
  getToolMemory
35
- } from "./chunk-ZIRGSFK3.js";
35
+ } from "./chunk-CRKF5LUZ.js";
36
36
  import {
37
37
  authRemediation,
38
38
  delay,
39
39
  getAvailableClis,
40
40
  withTimeout
41
- } from "./chunk-YOEB6RVH.js";
41
+ } from "./chunk-BIHRU7WA.js";
42
42
  import {
43
43
  AgentError,
44
44
  CLI_NAMES,
@@ -67,7 +67,7 @@ import {
67
67
  registerPersistentOutcomeStoreFactory,
68
68
  resolveClassGuardMs,
69
69
  resolveVoteTimeout
70
- } from "./chunk-HCN3FRNG.js";
70
+ } from "./chunk-HEV2C6VS.js";
71
71
  import {
72
72
  ensureLearningDir,
73
73
  getOutcomesFile
@@ -6356,7 +6356,7 @@ function logPartialProposal(bounded, log) {
6356
6356
  }
6357
6357
  async function runContrarianCheck(proposal, log) {
6358
6358
  try {
6359
- const { executeExpert } = await import("./expert-bridge-H7OXGW4O.js");
6359
+ const { executeExpert } = await import("./expert-bridge-IKY5TTAH.js");
6360
6360
  const bounded = boundArtifactForReview(proposal, CONTRARIAN_PROPOSAL_BUDGET, "proposal");
6361
6361
  logPartialProposal(bounded, log);
6362
6362
  const result = await executeExpert("architecture", buildContrarianPrompt(bounded));
@@ -6939,4 +6939,4 @@ export {
6939
6939
  CONSENSUS_VOTE_TOOL_SCHEMA,
6940
6940
  registerConsensusVoteTool
6941
6941
  };
6942
- //# sourceMappingURL=chunk-WUC3YSW6.js.map
6942
+ //# sourceMappingURL=chunk-36AR3GCF.js.map
@@ -5,13 +5,13 @@ import {
5
5
  loadTechniquesRegistry,
6
6
  resolveInsideRoot,
7
7
  savePapersRegistry
8
- } from "./chunk-CVXYAPJB.js";
8
+ } from "./chunk-DEXENQXS.js";
9
9
  import {
10
10
  resolveToken
11
- } from "./chunk-SNNEXDCG.js";
11
+ } from "./chunk-RWZJ2D2N.js";
12
12
  import {
13
13
  getToolMemory
14
- } from "./chunk-ZIRGSFK3.js";
14
+ } from "./chunk-CRKF5LUZ.js";
15
15
  import {
16
16
  capitalizeWords,
17
17
  tokenizeFiltered,
@@ -26,18 +26,21 @@ import {
26
26
  API_TIMEOUTS,
27
27
  CLI_NAMES,
28
28
  CLI_SUBPROCESS_TIMEOUTS,
29
+ DEFAULT_DISTILLER_CONFIG,
29
30
  ErrorCode,
30
31
  JsonlStore,
31
32
  NexusError,
32
33
  StrategyDistiller,
33
34
  createLogger,
35
+ effectFor,
34
36
  err,
35
37
  getErrorMessage,
36
38
  getOutcomeStore,
37
39
  getTimeProvider,
38
40
  ok,
39
- registerPersistentDistillerFactory
40
- } from "./chunk-HCN3FRNG.js";
41
+ registerPersistentDistillerFactory,
42
+ sigmoidConfidence
43
+ } from "./chunk-HEV2C6VS.js";
41
44
  import {
42
45
  ensureLearningDir,
43
46
  getRulesFile
@@ -57,6 +60,11 @@ var DistilledRuleSchema = z.object({
57
60
  category: z.string(),
58
61
  action: z.enum(["penalize", "boost", "avoid"]),
59
62
  confidence: z.number(),
63
+ // Optional only for records written before #5004 finding 3, when
64
+ // `confidence` was the sigmoid alone. `hydrateRule` fills them in; a
65
+ // current-shape record always carries both.
66
+ support: z.number().optional(),
67
+ effect: z.number().optional(),
60
68
  observationCount: z.number(),
61
69
  metric: z.number(),
62
70
  status: z.enum(["draft", "active", "promoted", "expired"]),
@@ -69,6 +77,23 @@ var RulesSnapshotSchema = z.object({
69
77
  savedAt: z.string(),
70
78
  rules: z.array(DistilledRuleSchema)
71
79
  });
80
+ function hydrateRule(raw, thresholds) {
81
+ const { support, effect, ...rest } = raw;
82
+ if (support !== void 0 && effect !== void 0) {
83
+ return { rule: { ...rest, support, effect }, legacy: false };
84
+ }
85
+ const derivedSupport = support ?? sigmoidConfidence(raw.observationCount);
86
+ const derivedEffect = effect ?? effectFor(raw.patternType, raw.metric, thresholds);
87
+ return {
88
+ rule: {
89
+ ...rest,
90
+ support: derivedSupport,
91
+ effect: derivedEffect,
92
+ confidence: derivedSupport * derivedEffect
93
+ },
94
+ legacy: true
95
+ };
96
+ }
72
97
  var PersistentStrategyDistiller = class extends StrategyDistiller {
73
98
  filePath;
74
99
  persistLogger;
@@ -106,9 +131,17 @@ var PersistentStrategyDistiller = class extends StrategyDistiller {
106
131
  });
107
132
  return;
108
133
  }
109
- this.loadRules(result.data.rules);
134
+ const hydrated = result.data.rules.map((raw) => hydrateRule(raw, this.config));
135
+ const legacyIds = hydrated.filter((h) => h.legacy).map((h) => h.rule.id);
136
+ if (legacyIds.length > 0) {
137
+ this.persistLogger.debug(
138
+ "Hydrated legacy rules without support/effect; derived them under the current thresholds (#5004)",
139
+ { legacyCount: legacyIds.length, ruleIds: legacyIds, path: this.filePath }
140
+ );
141
+ }
142
+ this.loadRules(hydrated.map((h) => h.rule));
110
143
  this.persistLogger.info("Hydrated distilled rules from disk", {
111
- ruleCount: result.data.rules.length,
144
+ ruleCount: hydrated.length,
112
145
  savedAt: result.data.savedAt,
113
146
  path: this.filePath
114
147
  });
@@ -160,7 +193,7 @@ function loadPersistedRules(filePath = getRulesFile()) {
160
193
  const parsed = JSON.parse(content);
161
194
  const result = RulesSnapshotSchema.safeParse(parsed);
162
195
  if (!result.success) return [];
163
- return result.data.rules;
196
+ return result.data.rules.map((raw) => hydrateRule(raw, DEFAULT_DISTILLER_CONFIG).rule);
164
197
  } catch {
165
198
  return [];
166
199
  }
@@ -4132,4 +4165,4 @@ export {
4132
4165
  DEFAULT_CONTEXT_BUDGET_TOKENS,
4133
4166
  getContextPromptPrefix
4134
4167
  };
4135
- //# sourceMappingURL=chunk-IBGMNZWT.js.map
4168
+ //# sourceMappingURL=chunk-37ONEK7R.js.map