nexus-agents 2.29.1 → 2.29.2

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 (89) hide show
  1. package/dist/{adaptive-memory-RST6DZYR.js → adaptive-memory-5VP5WWTE.js} +3 -3
  2. package/dist/{chunk-IECE6DBS.js → chunk-5COIDGQJ.js} +3 -3
  3. package/dist/{chunk-XU3NADFE.js → chunk-63AJLNKU.js} +2 -2
  4. package/dist/{chunk-C2C5ONFR.js → chunk-66NNHMVB.js} +3 -3
  5. package/dist/{chunk-4AGPR6XZ.js → chunk-CW2Z773T.js} +3 -3
  6. package/dist/{chunk-FYJVXQHX.js → chunk-DDQGAVQA.js} +2 -2
  7. package/dist/{chunk-4HA5PAL7.js → chunk-EPMBGZQX.js} +2 -2
  8. package/dist/{chunk-MRU6L7YJ.js → chunk-GX436VRU.js} +2 -2
  9. package/dist/{chunk-ELIFTCYM.js → chunk-HSOPD265.js} +2 -2
  10. package/dist/chunk-HSOPD265.js.map +1 -0
  11. package/dist/{chunk-CGWRJ4EM.js → chunk-J245RJGW.js} +73 -15
  12. package/dist/chunk-J245RJGW.js.map +1 -0
  13. package/dist/{chunk-SRECH7OQ.js → chunk-KQIDTE52.js} +2 -2
  14. package/dist/{chunk-OOIPRRPX.js → chunk-LDIN2PLV.js} +151 -101
  15. package/dist/{chunk-OOIPRRPX.js.map → chunk-LDIN2PLV.js.map} +1 -1
  16. package/dist/{chunk-2UUUKVNR.js → chunk-LKDHAJJB.js} +2 -2
  17. package/dist/{chunk-N5SY7V45.js → chunk-NKGTEJYU.js} +4 -4
  18. package/dist/{chunk-YSTJEMQX.js → chunk-QGODFK36.js} +7 -7
  19. package/dist/{chunk-FZFZ77UJ.js → chunk-QSNAFOE6.js} +269 -68
  20. package/dist/chunk-QSNAFOE6.js.map +1 -0
  21. package/dist/{chunk-2UR7YN6T.js → chunk-TL2GJMJ5.js} +2 -2
  22. package/dist/{chunk-3GXDN4AX.js → chunk-V6MSPUQF.js} +2 -2
  23. package/dist/{chunk-7SKAKA4I.js → chunk-VZ2YOQWU.js} +2 -2
  24. package/dist/{chunk-3EVVQ32X.js → chunk-WSYJN7BI.js} +7 -6
  25. package/dist/chunk-WSYJN7BI.js.map +1 -0
  26. package/dist/{chunk-LLGUX44Z.js → chunk-Y477EGI4.js} +2 -2
  27. package/dist/{chunk-VKRMXD62.js → chunk-Z4OZ25VS.js} +4 -4
  28. package/dist/{cli-circuit-breaker-5FAODXVY.js → cli-circuit-breaker-6EJO3PPU.js} +4 -4
  29. package/dist/cli.js +26 -22
  30. package/dist/cli.js.map +1 -1
  31. package/dist/{composite-router-FNW7ZWL7.js → composite-router-JD7URTC2.js} +2 -2
  32. package/dist/{consensus-vote-757YULIP.js → consensus-vote-COW34Q2Y.js} +7 -7
  33. package/dist/{doctor-deep-LMCEAFU4.js → doctor-deep-4A4X5X6U.js} +3 -3
  34. package/dist/{expert-bridge-L2D4OXOR.js → expert-bridge-J36C7VES.js} +3 -3
  35. package/dist/{expert-config-A5CHKUGI.js → expert-config-MQ5OJE3U.js} +2 -2
  36. package/dist/{factory-IDTIBX6B.js → factory-4Z4RSUYE.js} +5 -5
  37. package/dist/{factory-ELEDP2WD.js → factory-NHORX63J.js} +4 -4
  38. package/dist/index.js +19 -19
  39. package/dist/{issue-triage-SJPKJLXH.js → issue-triage-TIG3RKXF.js} +4 -4
  40. package/dist/{mcp-config-2OXIOMJ6.js → mcp-config-ETY7GFGW.js} +3 -3
  41. package/dist/{mobimem-5S3VLNSU.js → mobimem-5PAAMVFR.js} +2 -2
  42. package/dist/{repo-security-plan-MUFDGWSQ.js → repo-security-plan-KQB3ZJTE.js} +3 -3
  43. package/dist/research-helpers-synthesize-ZMERZZ5B.js +10 -0
  44. package/dist/{routing-memory-3QBQTS4A.js → routing-memory-3ES3OHLM.js} +2 -2
  45. package/dist/{session-memory-VXWLOFRC.js → session-memory-E2OE2CYR.js} +3 -3
  46. package/dist/{setup-command-E6MXO5RZ.js → setup-command-CMCQRBJF.js} +7 -7
  47. package/dist/{setup-config-O5F3AZBL.js → setup-config-KITOPV7V.js} +3 -3
  48. package/dist/{weather-report-MUGSIOU5.js → weather-report-KUSVNXDZ.js} +2 -2
  49. package/package.json +1 -1
  50. package/dist/chunk-3EVVQ32X.js.map +0 -1
  51. package/dist/chunk-CGWRJ4EM.js.map +0 -1
  52. package/dist/chunk-ELIFTCYM.js.map +0 -1
  53. package/dist/chunk-FZFZ77UJ.js.map +0 -1
  54. package/dist/research-helpers-synthesize-OBQJ5BGX.js +0 -10
  55. /package/dist/{adaptive-memory-RST6DZYR.js.map → adaptive-memory-5VP5WWTE.js.map} +0 -0
  56. /package/dist/{chunk-IECE6DBS.js.map → chunk-5COIDGQJ.js.map} +0 -0
  57. /package/dist/{chunk-XU3NADFE.js.map → chunk-63AJLNKU.js.map} +0 -0
  58. /package/dist/{chunk-C2C5ONFR.js.map → chunk-66NNHMVB.js.map} +0 -0
  59. /package/dist/{chunk-4AGPR6XZ.js.map → chunk-CW2Z773T.js.map} +0 -0
  60. /package/dist/{chunk-FYJVXQHX.js.map → chunk-DDQGAVQA.js.map} +0 -0
  61. /package/dist/{chunk-4HA5PAL7.js.map → chunk-EPMBGZQX.js.map} +0 -0
  62. /package/dist/{chunk-MRU6L7YJ.js.map → chunk-GX436VRU.js.map} +0 -0
  63. /package/dist/{chunk-SRECH7OQ.js.map → chunk-KQIDTE52.js.map} +0 -0
  64. /package/dist/{chunk-2UUUKVNR.js.map → chunk-LKDHAJJB.js.map} +0 -0
  65. /package/dist/{chunk-N5SY7V45.js.map → chunk-NKGTEJYU.js.map} +0 -0
  66. /package/dist/{chunk-YSTJEMQX.js.map → chunk-QGODFK36.js.map} +0 -0
  67. /package/dist/{chunk-2UR7YN6T.js.map → chunk-TL2GJMJ5.js.map} +0 -0
  68. /package/dist/{chunk-3GXDN4AX.js.map → chunk-V6MSPUQF.js.map} +0 -0
  69. /package/dist/{chunk-7SKAKA4I.js.map → chunk-VZ2YOQWU.js.map} +0 -0
  70. /package/dist/{chunk-LLGUX44Z.js.map → chunk-Y477EGI4.js.map} +0 -0
  71. /package/dist/{chunk-VKRMXD62.js.map → chunk-Z4OZ25VS.js.map} +0 -0
  72. /package/dist/{cli-circuit-breaker-5FAODXVY.js.map → cli-circuit-breaker-6EJO3PPU.js.map} +0 -0
  73. /package/dist/{composite-router-FNW7ZWL7.js.map → composite-router-JD7URTC2.js.map} +0 -0
  74. /package/dist/{consensus-vote-757YULIP.js.map → consensus-vote-COW34Q2Y.js.map} +0 -0
  75. /package/dist/{doctor-deep-LMCEAFU4.js.map → doctor-deep-4A4X5X6U.js.map} +0 -0
  76. /package/dist/{expert-bridge-L2D4OXOR.js.map → expert-bridge-J36C7VES.js.map} +0 -0
  77. /package/dist/{expert-config-A5CHKUGI.js.map → expert-config-MQ5OJE3U.js.map} +0 -0
  78. /package/dist/{factory-ELEDP2WD.js.map → factory-4Z4RSUYE.js.map} +0 -0
  79. /package/dist/{factory-IDTIBX6B.js.map → factory-NHORX63J.js.map} +0 -0
  80. /package/dist/{issue-triage-SJPKJLXH.js.map → issue-triage-TIG3RKXF.js.map} +0 -0
  81. /package/dist/{mcp-config-2OXIOMJ6.js.map → mcp-config-ETY7GFGW.js.map} +0 -0
  82. /package/dist/{mobimem-5S3VLNSU.js.map → mobimem-5PAAMVFR.js.map} +0 -0
  83. /package/dist/{repo-security-plan-MUFDGWSQ.js.map → repo-security-plan-KQB3ZJTE.js.map} +0 -0
  84. /package/dist/{research-helpers-synthesize-OBQJ5BGX.js.map → research-helpers-synthesize-ZMERZZ5B.js.map} +0 -0
  85. /package/dist/{routing-memory-3QBQTS4A.js.map → routing-memory-3ES3OHLM.js.map} +0 -0
  86. /package/dist/{session-memory-VXWLOFRC.js.map → session-memory-E2OE2CYR.js.map} +0 -0
  87. /package/dist/{setup-command-E6MXO5RZ.js.map → setup-command-CMCQRBJF.js.map} +0 -0
  88. /package/dist/{setup-config-O5F3AZBL.js.map → setup-config-KITOPV7V.js.map} +0 -0
  89. /package/dist/{weather-report-MUGSIOU5.js.map → weather-report-KUSVNXDZ.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SessionMemory
3
- } from "./chunk-SRECH7OQ.js";
3
+ } from "./chunk-KQIDTE52.js";
4
4
  import {
5
5
  AdaptiveMemoryBackend,
6
6
  HybridMemoryBackend,
@@ -9,7 +9,7 @@ import {
9
9
  getMemoryEntry,
10
10
  memoryExists,
11
11
  memoryRowToEntry
12
- } from "./chunk-FYJVXQHX.js";
12
+ } from "./chunk-DDQGAVQA.js";
13
13
  import {
14
14
  stringifyValue,
15
15
  tokenizeFiltered
@@ -21,7 +21,7 @@ import {
21
21
  getAvailableClis,
22
22
  isCliAvailable,
23
23
  withTimeout
24
- } from "./chunk-4AGPR6XZ.js";
24
+ } from "./chunk-CW2Z773T.js";
25
25
  import {
26
26
  AgentError,
27
27
  CACHE_TIMEOUTS,
@@ -66,7 +66,7 @@ import {
66
66
  resolveVoteTimeout,
67
67
  toRateLimitError,
68
68
  validateTimeout
69
- } from "./chunk-ELIFTCYM.js";
69
+ } from "./chunk-HSOPD265.js";
70
70
  import {
71
71
  OUTCOMES_FILE,
72
72
  ensureLearningDir
@@ -4226,7 +4226,57 @@ async function executeWithRetries(opts) {
4226
4226
  return { error: lastError !== "" ? lastError : "Unknown error after all retries", ok: false };
4227
4227
  }
4228
4228
 
4229
+ // src/cli/voter-agents-deadline.ts
4230
+ var DEADLINE_MESSAGE = "overall consensus deadline exceeded";
4231
+ function raceWithDeadline(p, role, deadlineMs) {
4232
+ let timer;
4233
+ const timeoutP = new Promise((resolve) => {
4234
+ timer = setTimeout(() => {
4235
+ resolve(createErrorVoteResult(role, DEADLINE_MESSAGE, deadlineMs));
4236
+ }, deadlineMs);
4237
+ });
4238
+ return Promise.race([p, timeoutP]).finally(() => {
4239
+ if (timer !== void 0) clearTimeout(timer);
4240
+ });
4241
+ }
4242
+ async function launchVotesWithOverallDeadline(input) {
4243
+ const {
4244
+ roles,
4245
+ proposal,
4246
+ roleAdapters,
4247
+ fallbackAdapter,
4248
+ logger: logger11,
4249
+ voteOptions,
4250
+ interDelay,
4251
+ overallDeadlineMs,
4252
+ voteFn
4253
+ } = input;
4254
+ const startedAt = Date.now();
4255
+ const wrapped = roles.map(async (role, i) => {
4256
+ if (i > 0 && interDelay > 0) await delay(interDelay);
4257
+ const adapter = roleAdapters.get(role) ?? fallbackAdapter;
4258
+ const elapsed = Date.now() - startedAt;
4259
+ const remaining = Math.max(1, overallDeadlineMs - elapsed);
4260
+ return raceWithDeadline(voteFn(role, proposal, adapter, logger11, voteOptions), role, remaining);
4261
+ });
4262
+ const results = await Promise.all(wrapped);
4263
+ const expired = results.filter((r) => r.source === "error" && r.error === DEADLINE_MESSAGE);
4264
+ if (expired.length > 0) {
4265
+ logger11.warn("Consensus overall deadline reached; returning partial results", {
4266
+ totalRoles: roles.length,
4267
+ expiredRoles: expired.map((r) => r.role),
4268
+ overallDeadlineMs
4269
+ });
4270
+ }
4271
+ return results;
4272
+ }
4273
+
4229
4274
  // src/cli/voter-agents.ts
4275
+ function computeOverallConsensusDeadlineMs(timeoutMs, maxRetries, roleCount, interDelayMs) {
4276
+ const perVoteBudget = timeoutMs * (maxRetries + 1);
4277
+ const staggerBudget = Math.max(0, roleCount - 1) * interDelayMs;
4278
+ return perVoteBudget + staggerBudget + 6e4;
4279
+ }
4230
4280
  var DEFAULT_INTER_AGENT_DELAY_MS = 2e3;
4231
4281
  var defaultLogger2 = createLogger({ component: "voter-agents" });
4232
4282
  async function executeAgentVote(role, proposal, adapter, logger11, options) {
@@ -4322,15 +4372,23 @@ async function resolveDiverseAdapters(roles, logger11, fallbackAdapter) {
4322
4372
  }
4323
4373
  async function launchStaggeredVotes(input) {
4324
4374
  const { roles, proposal, roleAdapters, fallbackAdapter, logger: logger11, voteOptions, interDelay } = input;
4325
- const votePromises = [];
4326
- for (const [i, role] of roles.entries()) {
4327
- if (i > 0 && interDelay > 0) {
4328
- await delay(interDelay);
4329
- }
4330
- const adapter = roleAdapters.get(role) ?? fallbackAdapter;
4331
- votePromises.push(executeAgentVote(role, proposal, adapter, logger11, voteOptions));
4332
- }
4333
- return Promise.all(votePromises);
4375
+ const overallDeadlineMs = computeOverallConsensusDeadlineMs(
4376
+ voteOptions.timeoutMs,
4377
+ voteOptions.maxRetries,
4378
+ roles.length,
4379
+ interDelay
4380
+ );
4381
+ return launchVotesWithOverallDeadline({
4382
+ roles,
4383
+ proposal,
4384
+ roleAdapters,
4385
+ fallbackAdapter,
4386
+ logger: logger11,
4387
+ voteOptions,
4388
+ interDelay,
4389
+ overallDeadlineMs,
4390
+ voteFn: executeAgentVote
4391
+ });
4334
4392
  }
4335
4393
  async function collectRealVotes(options) {
4336
4394
  const logger11 = options.logger ?? defaultLogger2;
@@ -12288,7 +12346,7 @@ async function processVotesWithCascade(votes, opts) {
12288
12346
  var CONTRARIAN_ESCALATION_THRESHOLD = 0.8;
12289
12347
  async function runContrarianCheck(proposal, log) {
12290
12348
  try {
12291
- const { executeExpert } = await import("./expert-bridge-L2D4OXOR.js");
12349
+ const { executeExpert } = await import("./expert-bridge-J36C7VES.js");
12292
12350
  const prompt = [
12293
12351
  "You are a contrarian analyst. Your job is to find reasons this proposal should be REJECTED.",
12294
12352
  "Look for: YAGNI (not needed), MISALIGNED (wrong tech/architecture), SECURITY_RISK, SCOPE_CREEP.",
@@ -12658,4 +12716,4 @@ export {
12658
12716
  CONSENSUS_VOTE_OUTPUT_SCHEMA,
12659
12717
  registerConsensusVoteTool
12660
12718
  };
12661
- //# sourceMappingURL=chunk-CGWRJ4EM.js.map
12719
+ //# sourceMappingURL=chunk-J245RJGW.js.map