nexus-agents 8.102.2 → 8.103.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 (137) hide show
  1. package/dist/{ast-rule-runner-WWUOS722.js → ast-rule-runner-MG5CSPWM.js} +3 -3
  2. package/dist/{child-mcp-config-U3I7K7BT.js → child-mcp-config-WPCDGWFE.js} +2 -2
  3. package/dist/{chunk-QHMUW6G7.js → chunk-2DOH7LES.js} +4 -4
  4. package/dist/{chunk-PAICM2DX.js → chunk-3KQJ54R6.js} +4 -4
  5. package/dist/{chunk-LKMB7ZPK.js → chunk-45HAQ44K.js} +3 -3
  6. package/dist/{chunk-6NYFFN42.js → chunk-55VTUHIR.js} +4 -4
  7. package/dist/{chunk-CDCEDAEO.js → chunk-7IU7HDDO.js} +2 -2
  8. package/dist/{chunk-JASILDK4.js → chunk-AJMJPUPR.js} +3 -3
  9. package/dist/{chunk-GVSSUYBR.js → chunk-BD4GXOQB.js} +5 -5
  10. package/dist/{chunk-UA3TQ773.js → chunk-CP6NEDAC.js} +2 -2
  11. package/dist/{chunk-L265O6SP.js → chunk-CPFKM4K7.js} +4 -4
  12. package/dist/{chunk-5ML3THNH.js → chunk-FADEMLNQ.js} +7 -7
  13. package/dist/{chunk-XWMT6ZSS.js → chunk-G47QXLHM.js} +12 -12
  14. package/dist/{chunk-KMY3NA44.js → chunk-JGZHI37B.js} +2 -2
  15. package/dist/{chunk-YKC7ICXJ.js → chunk-KG7QNWWR.js} +10 -2
  16. package/dist/chunk-KG7QNWWR.js.map +1 -0
  17. package/dist/{chunk-YBV7HIRX.js → chunk-KLHFVYAP.js} +32 -17
  18. package/dist/chunk-KLHFVYAP.js.map +1 -0
  19. package/dist/{chunk-OCXGPXG2.js → chunk-LRDHTYE3.js} +2 -2
  20. package/dist/{chunk-V3YMUA74.js → chunk-MITLS7S7.js} +4 -4
  21. package/dist/{chunk-NCQGSHEH.js → chunk-N22A5RSA.js} +2 -2
  22. package/dist/{chunk-2ON7ZOBD.js → chunk-NIE77YOM.js} +39 -39
  23. package/dist/{chunk-AWUTGAQN.js → chunk-OJQNSD2R.js} +2 -2
  24. package/dist/{chunk-XROOAW6C.js → chunk-PKWOB6SS.js} +2 -2
  25. package/dist/{chunk-D5EDP3EQ.js → chunk-S7GEUHK6.js} +2 -2
  26. package/dist/{chunk-2I2I3DRA.js → chunk-SEGBB7VI.js} +5 -5
  27. package/dist/{chunk-C4T7UI2R.js → chunk-SFKQIPPE.js} +24 -13
  28. package/dist/chunk-SFKQIPPE.js.map +1 -0
  29. package/dist/{chunk-ZR5JWLC5.js → chunk-SZGVILVS.js} +3 -3
  30. package/dist/chunk-SZGVILVS.js.map +1 -0
  31. package/dist/{chunk-BY5SXMN5.js → chunk-TEKDGJ7T.js} +2 -2
  32. package/dist/{chunk-YSLHLLRK.js → chunk-THCAUXID.js} +2 -2
  33. package/dist/{chunk-BYRIEU5S.js → chunk-VFT7OHAD.js} +2 -2
  34. package/dist/{chunk-HVJIQLBC.js → chunk-WVSFUDDF.js} +2 -2
  35. package/dist/{chunk-ODLIA33L.js → chunk-XXHO52MZ.js} +2 -2
  36. package/dist/{chunk-TBTXBJ7T.js → chunk-XYUNU7UD.js} +3 -3
  37. package/dist/{chunk-MYLHKD32.js → chunk-Y6EZX773.js} +2 -2
  38. package/dist/{chunk-7YPSWDOV.js → chunk-Z7L5C35G.js} +2 -2
  39. package/dist/{chunk-RGW4TLFO.js → chunk-ZDFC5TOU.js} +3 -3
  40. package/dist/{chunk-NACTU45C.js → chunk-ZVNEWTHP.js} +2 -2
  41. package/dist/{cli-circuit-breaker-V2BTK5ZW.js → cli-circuit-breaker-FDVTKR3W.js} +3 -3
  42. package/dist/cli.d.ts +1 -1
  43. package/dist/cli.js +53 -46
  44. package/dist/cli.js.map +1 -1
  45. package/dist/{composite-router-RX3JZYIE.js → composite-router-OTSHVAIF.js} +2 -2
  46. package/dist/{consensus-vote-4ET2GP6B.js → consensus-vote-QGW6QVZO.js} +16 -16
  47. package/dist/{consensus-vote-types-0WGuII6a.d.ts → consensus-vote-types-rAhTNGvq.d.ts} +37 -2
  48. package/dist/{context-retriever-IK253TWS.js → context-retriever-QI6XW5LK.js} +8 -8
  49. package/dist/{doctor-deep-5K4BPYSH.js → doctor-deep-375FGXVN.js} +3 -3
  50. package/dist/{doctor-gateway-report-MRSOR4TR.js → doctor-gateway-report-ZPZQLULX.js} +6 -6
  51. package/dist/{doctor-live-QW4XTIZW.js → doctor-live-FCXFMIYP.js} +10 -10
  52. package/dist/{expert-bridge-IWTCC652.js → expert-bridge-VLDOWCEX.js} +4 -4
  53. package/dist/{factory-IQRYHF2K.js → factory-AXQJGIQ2.js} +5 -5
  54. package/dist/{factory-ZPHF32DK.js → factory-M4I2H672.js} +9 -9
  55. package/dist/{improvement-review-WQYWT3GP.js → improvement-review-6ZEUEFSB.js} +5 -5
  56. package/dist/index.d.ts +8 -4
  57. package/dist/index.js +31 -31
  58. package/dist/{init-opencode-6VPDLKMF.js → init-opencode-W4PHSNEW.js} +5 -5
  59. package/dist/issue-triage-D2FVG6WU.js +16 -0
  60. package/dist/{openai-compat-adapter-5WAMUIQA.js → openai-compat-adapter-DYQGI4QH.js} +5 -5
  61. package/dist/{pr-reviewer-helpers-SNUDE5TO.js → pr-reviewer-helpers-BUVRQYVV.js} +4 -4
  62. package/dist/{registry-command-APTVRLDC.js → registry-command-V5O2RJKG.js} +2 -2
  63. package/dist/{repo-security-plan-4JQGVAZZ.js → repo-security-plan-2ZLH3LHT.js} +3 -3
  64. package/dist/{research-helpers-synthesize-65NCBD5R.js → research-helpers-synthesize-52U4FSGP.js} +4 -4
  65. package/dist/{routing-memory-FH63BFPW.js → routing-memory-3FIWR6WH.js} +2 -2
  66. package/dist/{session-memory-VGDP7YE3.js → session-memory-HIH3T3NA.js} +3 -3
  67. package/dist/{setup-config-EZ5SSK6U.js → setup-config-IP75P4NY.js} +3 -3
  68. package/dist/{setup-custom-api-3HDBQLOX.js → setup-custom-api-DAFW3DKS.js} +4 -4
  69. package/dist/setup-data-dir-ZF4KKISC.js +33 -0
  70. package/dist/{tool-memory-P3ANNLKT.js → tool-memory-LAFHMYSR.js} +5 -5
  71. package/dist/{unified-registry-UBGBRRBV.js → unified-registry-N4MPRQUA.js} +10 -10
  72. package/dist/{weather-report-PBMB3PYV.js → weather-report-MKHINWCE.js} +2 -2
  73. package/package.json +1 -1
  74. package/dist/chunk-C4T7UI2R.js.map +0 -1
  75. package/dist/chunk-YBV7HIRX.js.map +0 -1
  76. package/dist/chunk-YKC7ICXJ.js.map +0 -1
  77. package/dist/chunk-ZR5JWLC5.js.map +0 -1
  78. package/dist/issue-triage-TD4LKVPI.js +0 -16
  79. package/dist/setup-data-dir-2EVIVSKU.js +0 -33
  80. /package/dist/{ast-rule-runner-WWUOS722.js.map → ast-rule-runner-MG5CSPWM.js.map} +0 -0
  81. /package/dist/{child-mcp-config-U3I7K7BT.js.map → child-mcp-config-WPCDGWFE.js.map} +0 -0
  82. /package/dist/{chunk-QHMUW6G7.js.map → chunk-2DOH7LES.js.map} +0 -0
  83. /package/dist/{chunk-PAICM2DX.js.map → chunk-3KQJ54R6.js.map} +0 -0
  84. /package/dist/{chunk-LKMB7ZPK.js.map → chunk-45HAQ44K.js.map} +0 -0
  85. /package/dist/{chunk-6NYFFN42.js.map → chunk-55VTUHIR.js.map} +0 -0
  86. /package/dist/{chunk-CDCEDAEO.js.map → chunk-7IU7HDDO.js.map} +0 -0
  87. /package/dist/{chunk-JASILDK4.js.map → chunk-AJMJPUPR.js.map} +0 -0
  88. /package/dist/{chunk-GVSSUYBR.js.map → chunk-BD4GXOQB.js.map} +0 -0
  89. /package/dist/{chunk-UA3TQ773.js.map → chunk-CP6NEDAC.js.map} +0 -0
  90. /package/dist/{chunk-L265O6SP.js.map → chunk-CPFKM4K7.js.map} +0 -0
  91. /package/dist/{chunk-5ML3THNH.js.map → chunk-FADEMLNQ.js.map} +0 -0
  92. /package/dist/{chunk-XWMT6ZSS.js.map → chunk-G47QXLHM.js.map} +0 -0
  93. /package/dist/{chunk-KMY3NA44.js.map → chunk-JGZHI37B.js.map} +0 -0
  94. /package/dist/{chunk-OCXGPXG2.js.map → chunk-LRDHTYE3.js.map} +0 -0
  95. /package/dist/{chunk-V3YMUA74.js.map → chunk-MITLS7S7.js.map} +0 -0
  96. /package/dist/{chunk-NCQGSHEH.js.map → chunk-N22A5RSA.js.map} +0 -0
  97. /package/dist/{chunk-2ON7ZOBD.js.map → chunk-NIE77YOM.js.map} +0 -0
  98. /package/dist/{chunk-AWUTGAQN.js.map → chunk-OJQNSD2R.js.map} +0 -0
  99. /package/dist/{chunk-XROOAW6C.js.map → chunk-PKWOB6SS.js.map} +0 -0
  100. /package/dist/{chunk-D5EDP3EQ.js.map → chunk-S7GEUHK6.js.map} +0 -0
  101. /package/dist/{chunk-2I2I3DRA.js.map → chunk-SEGBB7VI.js.map} +0 -0
  102. /package/dist/{chunk-BY5SXMN5.js.map → chunk-TEKDGJ7T.js.map} +0 -0
  103. /package/dist/{chunk-YSLHLLRK.js.map → chunk-THCAUXID.js.map} +0 -0
  104. /package/dist/{chunk-BYRIEU5S.js.map → chunk-VFT7OHAD.js.map} +0 -0
  105. /package/dist/{chunk-HVJIQLBC.js.map → chunk-WVSFUDDF.js.map} +0 -0
  106. /package/dist/{chunk-ODLIA33L.js.map → chunk-XXHO52MZ.js.map} +0 -0
  107. /package/dist/{chunk-TBTXBJ7T.js.map → chunk-XYUNU7UD.js.map} +0 -0
  108. /package/dist/{chunk-MYLHKD32.js.map → chunk-Y6EZX773.js.map} +0 -0
  109. /package/dist/{chunk-7YPSWDOV.js.map → chunk-Z7L5C35G.js.map} +0 -0
  110. /package/dist/{chunk-RGW4TLFO.js.map → chunk-ZDFC5TOU.js.map} +0 -0
  111. /package/dist/{chunk-NACTU45C.js.map → chunk-ZVNEWTHP.js.map} +0 -0
  112. /package/dist/{cli-circuit-breaker-V2BTK5ZW.js.map → cli-circuit-breaker-FDVTKR3W.js.map} +0 -0
  113. /package/dist/{composite-router-RX3JZYIE.js.map → composite-router-OTSHVAIF.js.map} +0 -0
  114. /package/dist/{consensus-vote-4ET2GP6B.js.map → consensus-vote-QGW6QVZO.js.map} +0 -0
  115. /package/dist/{context-retriever-IK253TWS.js.map → context-retriever-QI6XW5LK.js.map} +0 -0
  116. /package/dist/{doctor-deep-5K4BPYSH.js.map → doctor-deep-375FGXVN.js.map} +0 -0
  117. /package/dist/{doctor-gateway-report-MRSOR4TR.js.map → doctor-gateway-report-ZPZQLULX.js.map} +0 -0
  118. /package/dist/{doctor-live-QW4XTIZW.js.map → doctor-live-FCXFMIYP.js.map} +0 -0
  119. /package/dist/{expert-bridge-IWTCC652.js.map → expert-bridge-VLDOWCEX.js.map} +0 -0
  120. /package/dist/{factory-IQRYHF2K.js.map → factory-AXQJGIQ2.js.map} +0 -0
  121. /package/dist/{factory-ZPHF32DK.js.map → factory-M4I2H672.js.map} +0 -0
  122. /package/dist/{improvement-review-WQYWT3GP.js.map → improvement-review-6ZEUEFSB.js.map} +0 -0
  123. /package/dist/{init-opencode-6VPDLKMF.js.map → init-opencode-W4PHSNEW.js.map} +0 -0
  124. /package/dist/{issue-triage-TD4LKVPI.js.map → issue-triage-D2FVG6WU.js.map} +0 -0
  125. /package/dist/{openai-compat-adapter-5WAMUIQA.js.map → openai-compat-adapter-DYQGI4QH.js.map} +0 -0
  126. /package/dist/{pr-reviewer-helpers-SNUDE5TO.js.map → pr-reviewer-helpers-BUVRQYVV.js.map} +0 -0
  127. /package/dist/{registry-command-APTVRLDC.js.map → registry-command-V5O2RJKG.js.map} +0 -0
  128. /package/dist/{repo-security-plan-4JQGVAZZ.js.map → repo-security-plan-2ZLH3LHT.js.map} +0 -0
  129. /package/dist/{research-helpers-synthesize-65NCBD5R.js.map → research-helpers-synthesize-52U4FSGP.js.map} +0 -0
  130. /package/dist/{routing-memory-FH63BFPW.js.map → routing-memory-3FIWR6WH.js.map} +0 -0
  131. /package/dist/{session-memory-VGDP7YE3.js.map → session-memory-HIH3T3NA.js.map} +0 -0
  132. /package/dist/{setup-config-EZ5SSK6U.js.map → setup-config-IP75P4NY.js.map} +0 -0
  133. /package/dist/{setup-custom-api-3HDBQLOX.js.map → setup-custom-api-DAFW3DKS.js.map} +0 -0
  134. /package/dist/{setup-data-dir-2EVIVSKU.js.map → setup-data-dir-ZF4KKISC.js.map} +0 -0
  135. /package/dist/{tool-memory-P3ANNLKT.js.map → tool-memory-LAFHMYSR.js.map} +0 -0
  136. /package/dist/{unified-registry-UBGBRRBV.js.map → unified-registry-N4MPRQUA.js.map} +0 -0
  137. /package/dist/{weather-report-PBMB3PYV.js.map → weather-report-MKHINWCE.js.map} +0 -0
@@ -19,16 +19,16 @@ import {
19
19
  toolSuccessStructured,
20
20
  withProgressHeartbeat,
21
21
  wrapToolWithTimeout
22
- } from "./chunk-TBTXBJ7T.js";
22
+ } from "./chunk-XYUNU7UD.js";
23
23
  import {
24
24
  VERSION
25
- } from "./chunk-YSLHLLRK.js";
25
+ } from "./chunk-THCAUXID.js";
26
26
  import {
27
27
  allOf
28
28
  } from "./chunk-EZNIYU5T.js";
29
29
  import {
30
30
  isGatewayModelAdapter
31
- } from "./chunk-QHMUW6G7.js";
31
+ } from "./chunk-2DOH7LES.js";
32
32
  import {
33
33
  UNRESOLVED_MODEL_ID,
34
34
  assessPanelIndependence,
@@ -36,23 +36,23 @@ import {
36
36
  countDistinctModels,
37
37
  createEvent,
38
38
  getGlobalRegistry
39
- } from "./chunk-6NYFFN42.js";
39
+ } from "./chunk-55VTUHIR.js";
40
40
  import {
41
41
  getToolMemory
42
- } from "./chunk-PAICM2DX.js";
42
+ } from "./chunk-3KQJ54R6.js";
43
43
  import {
44
44
  delay,
45
45
  getAvailableClis,
46
46
  sleep,
47
47
  withTimeout
48
- } from "./chunk-C4T7UI2R.js";
48
+ } from "./chunk-SFKQIPPE.js";
49
49
  import {
50
50
  sanitizeErrorDetails,
51
51
  sanitizeOutput
52
52
  } from "./chunk-2NDA4DHW.js";
53
53
  import {
54
54
  isTimeoutText
55
- } from "./chunk-AWUTGAQN.js";
55
+ } from "./chunk-OJQNSD2R.js";
56
56
  import {
57
57
  AgentError,
58
58
  CLI_NAMES,
@@ -93,7 +93,7 @@ import {
93
93
  resolveVoteTimeout,
94
94
  servedCostDetail,
95
95
  stepBus
96
- } from "./chunk-ZR5JWLC5.js";
96
+ } from "./chunk-SZGVILVS.js";
97
97
  import {
98
98
  ensureLearningDir,
99
99
  getOutcomesFile
@@ -2000,7 +2000,10 @@ async function runVoteCompletion(args) {
2000
2000
  cliStderr: response.value.cliStderr,
2001
2001
  // #6115: the alias the seat asked for, when the CLI answered on another
2002
2002
  // one of its family (#6120) — the seat's result discloses it as a fallback.
2003
- fallbackFrom: response.value.fallbackFrom
2003
+ fallbackFrom: response.value.fallbackFrom,
2004
+ // #6660: the model the adapter reported answering — not `adapter.modelId`,
2005
+ // the alias requested. An empty report is no report.
2006
+ servedModel: response.value.model === "" ? void 0 : response.value.model
2004
2007
  };
2005
2008
  }
2006
2009
  async function executeSingleVoteAttempt(role, proposal, adapter, timeoutMs, context = {}) {
@@ -2026,7 +2029,8 @@ async function executeSingleVoteAttempt(role, proposal, adapter, timeoutMs, cont
2026
2029
  output: completion.output,
2027
2030
  usage: completion.usage,
2028
2031
  cliStderr: completion.cliStderr,
2029
- fallbackFrom: completion.fallbackFrom
2032
+ fallbackFrom: completion.fallbackFrom,
2033
+ servedModel: completion.servedModel
2030
2034
  };
2031
2035
  } catch (error) {
2032
2036
  if (error instanceof SyntheticVoteError) {
@@ -2067,8 +2071,8 @@ async function executeWithRetries(opts) {
2067
2071
  attemptMs,
2068
2072
  succeeded: true
2069
2073
  });
2070
- const { vote, usage, cliStderr, fallbackFrom } = result;
2071
- return { vote, usage, cliStderr, fallbackFrom, ok: true };
2074
+ const { vote, usage, cliStderr, fallbackFrom, servedModel } = result;
2075
+ return { vote, usage, cliStderr, fallbackFrom, servedModel, ok: true };
2072
2076
  }
2073
2077
  lastError = result.error;
2074
2078
  const terminal = logFailedAttempt(logger11, {
@@ -2324,7 +2328,7 @@ function computeOverallConsensusDeadlineMs(timeoutMs, maxRetries, roleCount, int
2324
2328
  }
2325
2329
  var DEFAULT_INTER_AGENT_DELAY_MS = 2e3;
2326
2330
  var defaultLogger = createLogger({ component: "voter-agents" });
2327
- function buildLlmVoteResult(role, { vote, usage, fallbackFrom }, adapter, processingTimeMs) {
2331
+ function buildLlmVoteResult(role, { vote, usage, fallbackFrom, servedModel }, adapter, processingTimeMs) {
2328
2332
  return {
2329
2333
  role,
2330
2334
  vote,
@@ -2332,6 +2336,9 @@ function buildLlmVoteResult(role, { vote, usage, fallbackFrom }, adapter, proces
2332
2336
  source: "llm",
2333
2337
  cli: adapter.providerId,
2334
2338
  model: adapter.modelId,
2339
+ // #6660: the model that answered, as the adapter reported it — the
2340
+ // outcome row names and prices this one, not the requested `model`.
2341
+ ...servedModel !== void 0 ? { servedModel } : {},
2335
2342
  // #4392 step 4: which gateway arm served the seat, so the cost rollup
2336
2343
  // prices it by the arm's declaration and not the model id's list price.
2337
2344
  ...isGatewayModelAdapter(adapter) ? { gatewayArm: adapter.gatewayArm } : {},
@@ -6190,13 +6197,15 @@ function seatFallbacks(votes) {
6190
6197
  return out;
6191
6198
  }
6192
6199
  function panelDiversityOf(votes) {
6193
- const models = answeringSeats(votes).map(resolvedModel).filter((m) => m !== void 0);
6200
+ const resolved = answeringSeats(votes).map(resolvedModel);
6201
+ const models = resolved.filter((m) => m !== void 0);
6194
6202
  const families = models.map(vendorFamilyOf);
6195
6203
  const classified = families.filter((f) => f !== "unknown");
6196
6204
  return {
6197
6205
  distinctModels: countDistinctModels(models),
6198
6206
  distinctFamilies: new Set(classified).size,
6199
6207
  unclassifiedSeats: families.length - classified.length,
6208
+ unresolvedSeats: resolved.length - models.length,
6200
6209
  fallbacks: seatFallbacks(votes).length
6201
6210
  };
6202
6211
  }
@@ -6639,7 +6648,7 @@ function logPartialProposal(bounded, log) {
6639
6648
  }
6640
6649
  async function runContrarianCheck(proposal, log, opts) {
6641
6650
  try {
6642
- const { executeExpert } = await import("./expert-bridge-IWTCC652.js");
6651
+ const { executeExpert } = await import("./expert-bridge-VLDOWCEX.js");
6643
6652
  const bounded = boundArtifactForReview(proposal, CONTRARIAN_PROPOSAL_BUDGET, "proposal");
6644
6653
  logPartialProposal(bounded, log);
6645
6654
  const result = await executeExpert("architecture", buildContrarianPrompt(bounded, opts), {
@@ -7435,8 +7444,11 @@ function recordVoteOutcomes(votes) {
7435
7444
  voterRole: vote.role,
7436
7445
  // #6624 — `model` stays the `consensus` marker; the model that sat
7437
7446
  // this seat and its cost go beside it, priced like the vote rollup.
7447
+ // #6660 — the model the adapter REPORTED answering, never `vote.model`
7448
+ // (the alias requested): a seat that fell back to another model was
7449
+ // named, and priced, as the one it asked for.
7438
7450
  ...servedOutcomeFields({
7439
- model: vote.model,
7451
+ model: vote.servedModel,
7440
7452
  gatewayArm: vote.gatewayArm,
7441
7453
  inputTokens: vote.inputTokens,
7442
7454
  outputTokens: vote.outputTokens
@@ -9770,6 +9782,9 @@ var CONSENSUS_VOTE_OUTPUT_SCHEMA = {
9770
9782
  // answering seats whose model names no recognised vendor.
9771
9783
  distinctFamilies: z16.number().int().nonnegative(),
9772
9784
  unclassifiedSeats: z16.number().int().nonnegative(),
9785
+ // #6660: answering seats whose model never resolved. Always set by
9786
+ // panelDiversityOf; optional so the published schema widens additively.
9787
+ unresolvedSeats: z16.number().int().nonnegative().optional(),
9773
9788
  fallbacks: z16.number().int().nonnegative()
9774
9789
  }).optional(),
9775
9790
  // #3855: per-decision cost rollup. Same omission as panelWarning (#4032) — it
@@ -9940,4 +9955,4 @@ export {
9940
9955
  CONSENSUS_VOTE_TOOL_SCHEMA,
9941
9956
  registerConsensusVoteTool
9942
9957
  };
9943
- //# sourceMappingURL=chunk-YBV7HIRX.js.map
9958
+ //# sourceMappingURL=chunk-KLHFVYAP.js.map