nexus-agents 8.72.0 → 8.73.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 (26) hide show
  1. package/dist/{chunk-UNDHFITF.js → chunk-3II2KYP4.js} +2 -2
  2. package/dist/{chunk-GSSWMHEI.js → chunk-3NRUSI6O.js} +2 -2
  3. package/dist/{chunk-FL5R2KR7.js → chunk-57SOPMB6.js} +2 -2
  4. package/dist/{chunk-2EKSJV5C.js → chunk-QLH3ZHMC.js} +36 -15
  5. package/dist/chunk-QLH3ZHMC.js.map +1 -0
  6. package/dist/{chunk-6E5JEBH2.js → chunk-SYJCC7YM.js} +3 -3
  7. package/dist/{chunk-NZ2E25SC.js → chunk-UTQKSR24.js} +7 -7
  8. package/dist/cli.d.ts +1 -1
  9. package/dist/cli.js +33 -13
  10. package/dist/cli.js.map +1 -1
  11. package/dist/{consensus-vote-QUWKYCYU.js → consensus-vote-FWO7EVMT.js} +4 -4
  12. package/dist/{consensus-vote-types-DTUSdB9g.d.ts → consensus-vote-types-DtqMYo6b.d.ts} +24 -0
  13. package/dist/{improvement-review-FQJ6PZP6.js → improvement-review-2MXAV6DD.js} +4 -4
  14. package/dist/index.d.ts +2 -2
  15. package/dist/index.js +6 -6
  16. package/dist/{setup-data-dir-NHCKHBWP.js → setup-data-dir-NNBBL2CZ.js} +3 -3
  17. package/package.json +1 -1
  18. package/dist/chunk-2EKSJV5C.js.map +0 -1
  19. /package/dist/{chunk-UNDHFITF.js.map → chunk-3II2KYP4.js.map} +0 -0
  20. /package/dist/{chunk-GSSWMHEI.js.map → chunk-3NRUSI6O.js.map} +0 -0
  21. /package/dist/{chunk-FL5R2KR7.js.map → chunk-57SOPMB6.js.map} +0 -0
  22. /package/dist/{chunk-6E5JEBH2.js.map → chunk-SYJCC7YM.js.map} +0 -0
  23. /package/dist/{chunk-NZ2E25SC.js.map → chunk-UTQKSR24.js.map} +0 -0
  24. /package/dist/{consensus-vote-QUWKYCYU.js.map → consensus-vote-FWO7EVMT.js.map} +0 -0
  25. /package/dist/{improvement-review-FQJ6PZP6.js.map → improvement-review-2MXAV6DD.js.map} +0 -0
  26. /package/dist/{setup-data-dir-NHCKHBWP.js.map → setup-data-dir-NNBBL2CZ.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  VERSION
3
- } from "./chunk-FL5R2KR7.js";
3
+ } from "./chunk-57SOPMB6.js";
4
4
  import {
5
5
  CACHE_TIMEOUTS,
6
6
  MCP_TIMEOUTS,
@@ -2186,4 +2186,4 @@ export {
2186
2186
  DEFAULT_CONSENSUS_CONFIG,
2187
2187
  ConsensusMetricsSchema
2188
2188
  };
2189
- //# sourceMappingURL=chunk-UNDHFITF.js.map
2189
+ //# sourceMappingURL=chunk-3II2KYP4.js.map
@@ -7,7 +7,7 @@ import {
7
7
  toolStructuredError,
8
8
  toolSuccessStructured,
9
9
  wrapToolWithTimeout
10
- } from "./chunk-UNDHFITF.js";
10
+ } from "./chunk-3II2KYP4.js";
11
11
  import {
12
12
  JsonlStore,
13
13
  SECURITY_KEYWORDS,
@@ -2282,4 +2282,4 @@ export {
2282
2282
  runImprovementReview,
2283
2283
  registerImprovementReviewTool
2284
2284
  };
2285
- //# sourceMappingURL=chunk-GSSWMHEI.js.map
2285
+ //# sourceMappingURL=chunk-3NRUSI6O.js.map
@@ -1,6 +1,6 @@
1
1
  // src/version.ts
2
2
  import semver from "semver";
3
- var VERSION = true ? "8.72.0" : "dev";
3
+ var VERSION = true ? "8.73.0" : "dev";
4
4
  var NODE_ENGINE_RANGE = ">=22.5.0";
5
5
  function isNodeVersionSupported(version) {
6
6
  return semver.satisfies(version, NODE_ENGINE_RANGE);
@@ -11,4 +11,4 @@ export {
11
11
  NODE_ENGINE_RANGE,
12
12
  isNodeVersionSupported
13
13
  };
14
- //# sourceMappingURL=chunk-FL5R2KR7.js.map
14
+ //# sourceMappingURL=chunk-57SOPMB6.js.map
@@ -25,10 +25,10 @@ import {
25
25
  toolSuccessStructured,
26
26
  withProgressHeartbeat,
27
27
  wrapToolWithTimeout
28
- } from "./chunk-UNDHFITF.js";
28
+ } from "./chunk-3II2KYP4.js";
29
29
  import {
30
30
  VERSION
31
- } from "./chunk-FL5R2KR7.js";
31
+ } from "./chunk-57SOPMB6.js";
32
32
  import {
33
33
  UNRESOLVED_MODEL_ID,
34
34
  assessPanelIndependence,
@@ -2044,6 +2044,14 @@ function raceWithDeadline(p, role, deadlineMs) {
2044
2044
  function cancelled(signal) {
2045
2045
  return signal?.aborted === true;
2046
2046
  }
2047
+ function withPrimaryAttempts(primary, recovered) {
2048
+ return {
2049
+ ...recovered,
2050
+ timing: {
2051
+ attempts: [...primary.timing?.attempts ?? [], ...recovered.timing?.attempts ?? []]
2052
+ }
2053
+ };
2054
+ }
2047
2055
  async function launchRoleVote(role, index, input, voteOnAdapter) {
2048
2056
  if (index > 0 && input.interDelay > 0) await delay(input.interDelay);
2049
2057
  const adapter = input.roleAdapters.get(role) ?? input.fallbackAdapter;
@@ -2051,9 +2059,12 @@ async function launchRoleVote(role, index, input, voteOnAdapter) {
2051
2059
  const assignedKey = adapterCliKey(adapter);
2052
2060
  const stamp = (r) => withAssignment(r, pinnedModel, assignedKey);
2053
2061
  if (cancelled(input.signal)) {
2054
- return stamp(createErrorVoteResult(role, CANCELLED_MESSAGE, 0));
2062
+ return stamp({
2063
+ ...createErrorVoteResult(role, CANCELLED_MESSAGE, 0),
2064
+ timing: { attempts: [] }
2065
+ });
2055
2066
  }
2056
- const primary = await voteOnAdapter(role, adapter);
2067
+ const primary = await voteOnAdapter(role, adapter, false);
2057
2068
  if (!shouldRetryOnFallback(primary, adapter, input.fallbackAdapter)) return stamp(primary);
2058
2069
  if (cancelled(input.signal)) return stamp(primary);
2059
2070
  input.logger.warn("Voter failed on diverse adapter; retrying on fallback (#3587)", {
@@ -2062,7 +2073,10 @@ async function launchRoleVote(role, index, input, voteOnAdapter) {
2062
2073
  fallbackCli: adapterCliKey(input.fallbackAdapter),
2063
2074
  error: primary.error
2064
2075
  });
2065
- const recovered = await voteOnAdapter(role, input.fallbackAdapter);
2076
+ const recovered = withPrimaryAttempts(
2077
+ primary,
2078
+ await voteOnAdapter(role, input.fallbackAdapter, true)
2079
+ );
2066
2080
  if (recovered.source === "error") return stamp(recovered);
2067
2081
  const fallback = crossCliFallback(adapter, assignedKey, primary.error ?? "");
2068
2082
  return stamp({ ...recovered, fallback });
@@ -2071,19 +2085,26 @@ async function launchVotesWithOverallDeadline(input) {
2071
2085
  const { roles, proposal, logger: logger11, voteOptions, overallDeadlineMs, voteFn } = input;
2072
2086
  const startedAt = Date.now();
2073
2087
  const serialize = createKeyedSerializer();
2074
- const voteOnAdapter = (role, adapter) => (
2075
- // Serialize per CLI so concurrent same-CLI calls don't race that CLI's
2076
- // OAuth refresh (#3348). The deadline is measured when the vote actually
2077
- // starts, so a queued role still gets a correct remaining budget.
2078
- serialize(adapterCliKey(adapter), () => {
2079
- const remaining = Math.max(1, overallDeadlineMs - (Date.now() - startedAt));
2080
- return raceWithDeadline(
2088
+ const voteOnAdapter = (role, adapter, fallback) => {
2089
+ const cli = adapterCliKey(adapter);
2090
+ const enqueuedAt = Date.now();
2091
+ return serialize(cli, async () => {
2092
+ const runStartedAt = Date.now();
2093
+ const remaining = Math.max(1, overallDeadlineMs - (runStartedAt - startedAt));
2094
+ const result = await raceWithDeadline(
2081
2095
  voteFn(role, proposal, adapter, logger11, voteOptions),
2082
2096
  role,
2083
2097
  remaining
2084
2098
  );
2085
- })
2086
- );
2099
+ const attempt = {
2100
+ cli,
2101
+ queuedMs: runStartedAt - enqueuedAt,
2102
+ ranMs: Date.now() - runStartedAt,
2103
+ fallback
2104
+ };
2105
+ return { ...result, timing: { attempts: [...result.timing?.attempts ?? [], attempt] } };
2106
+ });
2107
+ };
2087
2108
  const wrapped = roles.map((role, index) => launchRoleVote(role, index, input, voteOnAdapter));
2088
2109
  const results = await Promise.all(wrapped);
2089
2110
  const expired = results.filter((r) => r.source === "error" && r.error === DEADLINE_MESSAGE);
@@ -9144,4 +9165,4 @@ export {
9144
9165
  CONSENSUS_VOTE_TOOL_SCHEMA,
9145
9166
  registerConsensusVoteTool
9146
9167
  };
9147
- //# sourceMappingURL=chunk-2EKSJV5C.js.map
9168
+ //# sourceMappingURL=chunk-QLH3ZHMC.js.map