nexus-agents 4.14.4 → 4.15.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 (119) hide show
  1. package/dist/{child-mcp-config-PUH4BWWV.js → child-mcp-config-HW5K2JVC.js} +2 -2
  2. package/dist/{chunk-OOMSRNWC.js → chunk-2LJDOJ2V.js} +2 -2
  3. package/dist/{chunk-P2ZLNRAY.js → chunk-32ZZ4GBB.js} +2 -2
  4. package/dist/{chunk-LLOA4BJC.js → chunk-33QUGCOZ.js} +42 -20
  5. package/dist/chunk-33QUGCOZ.js.map +1 -0
  6. package/dist/{chunk-IBOAFI5I.js → chunk-5JDI34FB.js} +4 -4
  7. package/dist/{chunk-EGUVF5UR.js → chunk-6LUR7LMM.js} +5 -5
  8. package/dist/{chunk-PZXOE4T4.js → chunk-747LKXD4.js} +7 -7
  9. package/dist/{chunk-VRR2P2RZ.js → chunk-74BJOUWL.js} +6 -6
  10. package/dist/{chunk-P4GNAWFP.js → chunk-BK2BNOPS.js} +2 -2
  11. package/dist/{chunk-E3G7VHE4.js → chunk-GKGPTBTG.js} +8 -8
  12. package/dist/{chunk-JZLCKWFX.js → chunk-GR2VJFBO.js} +3 -3
  13. package/dist/{chunk-IGCNQFTF.js → chunk-JC4QH4WC.js} +2 -2
  14. package/dist/{chunk-PDJYEEDT.js → chunk-KBSRNMIM.js} +2 -2
  15. package/dist/{chunk-PFGDOY3E.js → chunk-KTMBBIFH.js} +8 -8
  16. package/dist/{chunk-OW7EDMRI.js → chunk-LOMQMLJH.js} +2 -2
  17. package/dist/{chunk-DUARRP4H.js → chunk-MHRAJ6GM.js} +3 -3
  18. package/dist/{chunk-34MDEYMO.js → chunk-N5O3XVNG.js} +35 -35
  19. package/dist/{chunk-4KL5VYS5.js → chunk-O2WHBWK5.js} +4 -4
  20. package/dist/{chunk-HS76VMIM.js → chunk-PEISXF34.js} +3 -3
  21. package/dist/{chunk-Y2M7ZFJV.js → chunk-QHWMR6OT.js} +3 -3
  22. package/dist/{chunk-KYOUTMHF.js → chunk-RBQ3UYWT.js} +5 -5
  23. package/dist/{chunk-3MQPNK7A.js → chunk-T3645YDF.js} +2 -2
  24. package/dist/{chunk-DRBDJI52.js → chunk-UHSAME2X.js} +2 -2
  25. package/dist/{chunk-7PW4O3ES.js → chunk-UTADCOFU.js} +2 -2
  26. package/dist/{chunk-KMCSSHM2.js → chunk-VPOVLDT6.js} +2 -2
  27. package/dist/{chunk-CW2NCLQE.js → chunk-VR76FPIN.js} +7 -7
  28. package/dist/{chunk-4SBTLUBH.js → chunk-VVR2JO2I.js} +2 -2
  29. package/dist/{chunk-WGTTKU7Q.js → chunk-W2EOSNAN.js} +2 -2
  30. package/dist/{chunk-WDEYLEYM.js → chunk-XHUVJJHC.js} +4 -4
  31. package/dist/{chunk-B6MD66KN.js → chunk-XULO32DU.js} +2 -2
  32. package/dist/{chunk-4EMTJ747.js → chunk-YADJHL2U.js} +2 -2
  33. package/dist/{chunk-3QK3NL2A.js → chunk-YMCIDGNP.js} +2 -2
  34. package/dist/{chunk-3GMSD7QD.js → chunk-ZGMPNBYH.js} +2 -2
  35. package/dist/{cli-circuit-breaker-H2SNPFLT.js → cli-circuit-breaker-SYBXPR6Q.js} +3 -3
  36. package/dist/cli.js +40 -40
  37. package/dist/{composite-router-MAPZI6UI.js → composite-router-P2ZFPWEQ.js} +2 -2
  38. package/dist/{consensus-vote-OVTUGDCR.js → consensus-vote-BGJUZRZJ.js} +16 -16
  39. package/dist/{context-retriever-4REWEFLR.js → context-retriever-XLRKR2FE.js} +8 -8
  40. package/dist/{doctor-deep-NQ65BXFO.js → doctor-deep-TBTCDJP5.js} +3 -3
  41. package/dist/{doctor-live-4W33VSGH.js → doctor-live-NANGVE6E.js} +9 -9
  42. package/dist/{expert-bridge-66WOTNQH.js → expert-bridge-TY74K2FE.js} +4 -4
  43. package/dist/{factory-SIKYCUNR.js → factory-26MTUNKV.js} +9 -9
  44. package/dist/{factory-4TMS4XW6.js → factory-MZCGPGEN.js} +5 -5
  45. package/dist/{improvement-review-VRTOAOE7.js → improvement-review-XMZIAREG.js} +5 -5
  46. package/dist/index.js +30 -30
  47. package/dist/{init-opencode-HCXILEU5.js → init-opencode-4IKJR7KI.js} +6 -6
  48. package/dist/issue-triage-LTO7DCEH.js +17 -0
  49. package/dist/{pr-reviewer-helpers-VVE3VB7N.js → pr-reviewer-helpers-6PQ5N665.js} +4 -4
  50. package/dist/{registry-command-ALJSLMJM.js → registry-command-43DUBO6N.js} +2 -2
  51. package/dist/{repo-security-plan-S55LYI32.js → repo-security-plan-5TQRW56I.js} +3 -3
  52. package/dist/{research-helpers-synthesize-IFLQQR66.js → research-helpers-synthesize-XTVNZIQ7.js} +4 -4
  53. package/dist/{routing-memory-AZJGKBKY.js → routing-memory-FB5G6AGG.js} +2 -2
  54. package/dist/{session-memory-CTP4KZ7Z.js → session-memory-BBSBVXGZ.js} +3 -3
  55. package/dist/{setup-config-VJ3VMHSH.js → setup-config-7O2J7HIU.js} +3 -3
  56. package/dist/{setup-custom-api-AANCSCUJ.js → setup-custom-api-S5HGF5KY.js} +4 -4
  57. package/dist/{setup-data-dir-JLGQJWCZ.js → setup-data-dir-ORCVLI3F.js} +12 -12
  58. package/dist/{tool-memory-EOBZXBNG.js → tool-memory-LUE6HXAS.js} +5 -5
  59. package/dist/{unified-registry-GV3556TC.js → unified-registry-FW2GDVXD.js} +10 -10
  60. package/dist/{weather-report-27ILYGAK.js → weather-report-RABZEX2Z.js} +2 -2
  61. package/package.json +1 -1
  62. package/dist/chunk-LLOA4BJC.js.map +0 -1
  63. package/dist/issue-triage-VQESU3EZ.js +0 -17
  64. /package/dist/{child-mcp-config-PUH4BWWV.js.map → child-mcp-config-HW5K2JVC.js.map} +0 -0
  65. /package/dist/{chunk-OOMSRNWC.js.map → chunk-2LJDOJ2V.js.map} +0 -0
  66. /package/dist/{chunk-P2ZLNRAY.js.map → chunk-32ZZ4GBB.js.map} +0 -0
  67. /package/dist/{chunk-IBOAFI5I.js.map → chunk-5JDI34FB.js.map} +0 -0
  68. /package/dist/{chunk-EGUVF5UR.js.map → chunk-6LUR7LMM.js.map} +0 -0
  69. /package/dist/{chunk-PZXOE4T4.js.map → chunk-747LKXD4.js.map} +0 -0
  70. /package/dist/{chunk-VRR2P2RZ.js.map → chunk-74BJOUWL.js.map} +0 -0
  71. /package/dist/{chunk-P4GNAWFP.js.map → chunk-BK2BNOPS.js.map} +0 -0
  72. /package/dist/{chunk-E3G7VHE4.js.map → chunk-GKGPTBTG.js.map} +0 -0
  73. /package/dist/{chunk-JZLCKWFX.js.map → chunk-GR2VJFBO.js.map} +0 -0
  74. /package/dist/{chunk-IGCNQFTF.js.map → chunk-JC4QH4WC.js.map} +0 -0
  75. /package/dist/{chunk-PDJYEEDT.js.map → chunk-KBSRNMIM.js.map} +0 -0
  76. /package/dist/{chunk-PFGDOY3E.js.map → chunk-KTMBBIFH.js.map} +0 -0
  77. /package/dist/{chunk-OW7EDMRI.js.map → chunk-LOMQMLJH.js.map} +0 -0
  78. /package/dist/{chunk-DUARRP4H.js.map → chunk-MHRAJ6GM.js.map} +0 -0
  79. /package/dist/{chunk-34MDEYMO.js.map → chunk-N5O3XVNG.js.map} +0 -0
  80. /package/dist/{chunk-4KL5VYS5.js.map → chunk-O2WHBWK5.js.map} +0 -0
  81. /package/dist/{chunk-HS76VMIM.js.map → chunk-PEISXF34.js.map} +0 -0
  82. /package/dist/{chunk-Y2M7ZFJV.js.map → chunk-QHWMR6OT.js.map} +0 -0
  83. /package/dist/{chunk-KYOUTMHF.js.map → chunk-RBQ3UYWT.js.map} +0 -0
  84. /package/dist/{chunk-3MQPNK7A.js.map → chunk-T3645YDF.js.map} +0 -0
  85. /package/dist/{chunk-DRBDJI52.js.map → chunk-UHSAME2X.js.map} +0 -0
  86. /package/dist/{chunk-7PW4O3ES.js.map → chunk-UTADCOFU.js.map} +0 -0
  87. /package/dist/{chunk-KMCSSHM2.js.map → chunk-VPOVLDT6.js.map} +0 -0
  88. /package/dist/{chunk-CW2NCLQE.js.map → chunk-VR76FPIN.js.map} +0 -0
  89. /package/dist/{chunk-4SBTLUBH.js.map → chunk-VVR2JO2I.js.map} +0 -0
  90. /package/dist/{chunk-WGTTKU7Q.js.map → chunk-W2EOSNAN.js.map} +0 -0
  91. /package/dist/{chunk-WDEYLEYM.js.map → chunk-XHUVJJHC.js.map} +0 -0
  92. /package/dist/{chunk-B6MD66KN.js.map → chunk-XULO32DU.js.map} +0 -0
  93. /package/dist/{chunk-4EMTJ747.js.map → chunk-YADJHL2U.js.map} +0 -0
  94. /package/dist/{chunk-3QK3NL2A.js.map → chunk-YMCIDGNP.js.map} +0 -0
  95. /package/dist/{chunk-3GMSD7QD.js.map → chunk-ZGMPNBYH.js.map} +0 -0
  96. /package/dist/{cli-circuit-breaker-H2SNPFLT.js.map → cli-circuit-breaker-SYBXPR6Q.js.map} +0 -0
  97. /package/dist/{composite-router-MAPZI6UI.js.map → composite-router-P2ZFPWEQ.js.map} +0 -0
  98. /package/dist/{consensus-vote-OVTUGDCR.js.map → consensus-vote-BGJUZRZJ.js.map} +0 -0
  99. /package/dist/{context-retriever-4REWEFLR.js.map → context-retriever-XLRKR2FE.js.map} +0 -0
  100. /package/dist/{doctor-deep-NQ65BXFO.js.map → doctor-deep-TBTCDJP5.js.map} +0 -0
  101. /package/dist/{doctor-live-4W33VSGH.js.map → doctor-live-NANGVE6E.js.map} +0 -0
  102. /package/dist/{expert-bridge-66WOTNQH.js.map → expert-bridge-TY74K2FE.js.map} +0 -0
  103. /package/dist/{factory-4TMS4XW6.js.map → factory-26MTUNKV.js.map} +0 -0
  104. /package/dist/{factory-SIKYCUNR.js.map → factory-MZCGPGEN.js.map} +0 -0
  105. /package/dist/{improvement-review-VRTOAOE7.js.map → improvement-review-XMZIAREG.js.map} +0 -0
  106. /package/dist/{init-opencode-HCXILEU5.js.map → init-opencode-4IKJR7KI.js.map} +0 -0
  107. /package/dist/{issue-triage-VQESU3EZ.js.map → issue-triage-LTO7DCEH.js.map} +0 -0
  108. /package/dist/{pr-reviewer-helpers-VVE3VB7N.js.map → pr-reviewer-helpers-6PQ5N665.js.map} +0 -0
  109. /package/dist/{registry-command-ALJSLMJM.js.map → registry-command-43DUBO6N.js.map} +0 -0
  110. /package/dist/{repo-security-plan-S55LYI32.js.map → repo-security-plan-5TQRW56I.js.map} +0 -0
  111. /package/dist/{research-helpers-synthesize-IFLQQR66.js.map → research-helpers-synthesize-XTVNZIQ7.js.map} +0 -0
  112. /package/dist/{routing-memory-AZJGKBKY.js.map → routing-memory-FB5G6AGG.js.map} +0 -0
  113. /package/dist/{session-memory-CTP4KZ7Z.js.map → session-memory-BBSBVXGZ.js.map} +0 -0
  114. /package/dist/{setup-config-VJ3VMHSH.js.map → setup-config-7O2J7HIU.js.map} +0 -0
  115. /package/dist/{setup-custom-api-AANCSCUJ.js.map → setup-custom-api-S5HGF5KY.js.map} +0 -0
  116. /package/dist/{setup-data-dir-JLGQJWCZ.js.map → setup-data-dir-ORCVLI3F.js.map} +0 -0
  117. /package/dist/{tool-memory-EOBZXBNG.js.map → tool-memory-LUE6HXAS.js.map} +0 -0
  118. /package/dist/{unified-registry-GV3556TC.js.map → unified-registry-FW2GDVXD.js.map} +0 -0
  119. /package/dist/{weather-report-27ILYGAK.js.map → weather-report-RABZEX2Z.js.map} +0 -0
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-RQV5ZUXT.js";
4
4
  import {
5
5
  createLogger
6
- } from "./chunk-LLOA4BJC.js";
6
+ } from "./chunk-33QUGCOZ.js";
7
7
  import "./chunk-HHLCAWAV.js";
8
8
  import "./chunk-NBMWONHE.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-PUH4BWWV.js.map
65
+ //# sourceMappingURL=child-mcp-config-HW5K2JVC.js.map
@@ -3,7 +3,7 @@ import {
3
3
  createLogger,
4
4
  err,
5
5
  ok
6
- } from "./chunk-LLOA4BJC.js";
6
+ } from "./chunk-33QUGCOZ.js";
7
7
 
8
8
  // src/adapters/sdk/types.ts
9
9
  var PROVIDER_ENV_KEYS = {
@@ -260,4 +260,4 @@ export {
260
260
  validateCustomApiBaseUrl,
261
261
  assertCustomApiHostResolvesPublic
262
262
  };
263
- //# sourceMappingURL=chunk-OOMSRNWC.js.map
263
+ //# sourceMappingURL=chunk-2LJDOJ2V.js.map
@@ -2,7 +2,7 @@ import {
2
2
  CACHE_TIMEOUTS,
3
3
  createLogger,
4
4
  getTimeProvider
5
- } from "./chunk-LLOA4BJC.js";
5
+ } from "./chunk-33QUGCOZ.js";
6
6
 
7
7
  // src/security/trust-types.ts
8
8
  import { z } from "zod";
@@ -560,4 +560,4 @@ export {
560
560
  resolveReputationGatingMode,
561
561
  gateWithReputation
562
562
  };
563
- //# sourceMappingURL=chunk-P2ZLNRAY.js.map
563
+ //# sourceMappingURL=chunk-32ZZ4GBB.js.map
@@ -2623,7 +2623,7 @@ function setDefaultRegistry(registry) {
2623
2623
  }
2624
2624
  async function reloadDefaultRegistry() {
2625
2625
  globalRegistry = buildDefaultRegistry();
2626
- const { resetGlobalRegistry } = await import("./unified-registry-GV3556TC.js");
2626
+ const { resetGlobalRegistry } = await import("./unified-registry-FW2GDVXD.js");
2627
2627
  resetGlobalRegistry();
2628
2628
  return globalRegistry;
2629
2629
  }
@@ -10571,6 +10571,31 @@ var CompositeRoutingError = class extends Error {
10571
10571
  }
10572
10572
  };
10573
10573
 
10574
+ // src/cli-adapters/composite-router-budget-feature.ts
10575
+ function toBudgetConstraint(raw) {
10576
+ const constraint = {};
10577
+ if (raw?.maxTokens !== void 0) {
10578
+ constraint.maxTokens = raw.maxTokens;
10579
+ }
10580
+ if (raw?.maxCostUsd !== void 0) {
10581
+ constraint.maxCostUsd = raw.maxCostUsd;
10582
+ }
10583
+ if (raw?.maxLatencyMs !== void 0) {
10584
+ constraint.maxLatencyMs = raw.maxLatencyMs;
10585
+ }
10586
+ return constraint;
10587
+ }
10588
+ function budgetUtilizationOf(estimatedCostUsd, maxCostUsd) {
10589
+ if (maxCostUsd === void 0 || maxCostUsd <= 0) return void 0;
10590
+ return Math.min(1, estimatedCostUsd / maxCostUsd);
10591
+ }
10592
+ function budgetUtilizationForTask(task, budgetRouter, rawConstraints) {
10593
+ if (budgetRouter === void 0) return void 0;
10594
+ const constraint = toBudgetConstraint(rawConstraints);
10595
+ const result = budgetRouter.checkBudget(task, constraint);
10596
+ return budgetUtilizationOf(result.estimatedCostUsd, constraint.maxCostUsd);
10597
+ }
10598
+
10574
10599
  // src/cli-adapters/composite-router-helpers.ts
10575
10600
  function adjustProfileForTask(profile, taskProfile) {
10576
10601
  if (taskProfile.taskType === "architecture" || taskProfile.reasoningComplexity > 7) {
@@ -10630,26 +10655,13 @@ function cliTaskToTask(cliTask) {
10630
10655
  context: {}
10631
10656
  };
10632
10657
  }
10633
- function toBudgetConstraint(raw) {
10634
- const constraint = {};
10635
- if (raw?.maxTokens !== void 0) {
10636
- constraint.maxTokens = raw.maxTokens;
10637
- }
10638
- if (raw?.maxCostUsd !== void 0) {
10639
- constraint.maxCostUsd = raw.maxCostUsd;
10640
- }
10641
- if (raw?.maxLatencyMs !== void 0) {
10642
- constraint.maxLatencyMs = raw.maxLatencyMs;
10643
- }
10644
- return constraint;
10645
- }
10646
10658
  function applyBudgetFilter(task, candidates, budgetRouter, config) {
10647
10659
  if (budgetRouter === void 0) return { eligible: candidates, withinBudget: true };
10648
10660
  const constraint = toBudgetConstraint(config.budgetConstraints);
10649
10661
  const result = budgetRouter.checkBudget(task, constraint);
10650
10662
  if (!result.withinBudget) return { eligible: [], withinBudget: false };
10651
- const maxCostUsd = constraint.maxCostUsd;
10652
- const utilization = maxCostUsd !== void 0 && maxCostUsd > 0 ? { budgetUtilization: Math.min(1, result.estimatedCostUsd / maxCostUsd) } : {};
10663
+ const share = budgetUtilizationOf(result.estimatedCostUsd, constraint.maxCostUsd);
10664
+ const utilization = share === void 0 ? {} : { budgetUtilization: share };
10653
10665
  if (config.billingMode !== "api")
10654
10666
  return { eligible: candidates, withinBudget: true, ...utilization };
10655
10667
  return {
@@ -14686,7 +14698,15 @@ function recordBanditOutcome(cliName, task, reward, deps) {
14686
14698
  }
14687
14699
  const internalTask = cliTaskToTask(task);
14688
14700
  const analysis = sharedAnalyzer3.analyze(internalTask);
14689
- const context = taskAnalysisResultToBanditContext(analysis);
14701
+ const budgetUtilization = budgetUtilizationForTask(
14702
+ task,
14703
+ deps.budgetRouter,
14704
+ deps.budgetConstraints
14705
+ );
14706
+ const context = taskAnalysisResultToBanditContext(
14707
+ analysis,
14708
+ budgetUtilization === void 0 ? {} : { budgetUtilization }
14709
+ );
14690
14710
  deps.linucbBandit.update(armIndex, context, reward);
14691
14711
  deps.logger.debug("Recorded outcome", { cliName, reward });
14692
14712
  }
@@ -15079,7 +15099,7 @@ var CompositeRouter = class _CompositeRouter {
15079
15099
  */
15080
15100
  async consultUnifiedContext(task) {
15081
15101
  try {
15082
- const { getContextForTask, inferTaskCategory } = await import("./context-retriever-4REWEFLR.js");
15102
+ const { getContextForTask, inferTaskCategory } = await import("./context-retriever-XLRKR2FE.js");
15083
15103
  const ctx = await getContextForTask({
15084
15104
  task: task.content,
15085
15105
  category: inferTaskCategory(task.content),
@@ -15466,7 +15486,9 @@ var CompositeRouter = class _CompositeRouter {
15466
15486
  linucbBandit: this.linucbBandit,
15467
15487
  preferenceRouter: this.preferenceRouter,
15468
15488
  zeroRouter: this.zeroRouter,
15469
- lastRoutedTask: this.lastRoutedTask
15489
+ lastRoutedTask: this.lastRoutedTask,
15490
+ budgetRouter: this.budgetRouter,
15491
+ budgetConstraints: this.config.budgetConstraints
15470
15492
  };
15471
15493
  }
15472
15494
  getZeroRouter() {
@@ -16670,4 +16692,4 @@ export {
16670
16692
  AgentCapability,
16671
16693
  OrchestratorError
16672
16694
  };
16673
- //# sourceMappingURL=chunk-LLOA4BJC.js.map
16695
+ //# sourceMappingURL=chunk-33QUGCOZ.js.map