nexus-agents 3.2.3 → 3.3.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.
- package/dist/{child-mcp-config-7TQDBSZF.js → child-mcp-config-EXZDHJBP.js} +3 -3
- package/dist/{chunk-YMXYMLBB.js → chunk-24GBX2E2.js} +5 -5
- package/dist/{chunk-OYPTT7VJ.js → chunk-26NSVQ65.js} +52 -17
- package/dist/chunk-26NSVQ65.js.map +1 -0
- package/dist/{chunk-UPRSJALQ.js → chunk-3T3TZZKG.js} +3 -3
- package/dist/{chunk-546OAGL3.js → chunk-3UYBYO46.js} +35 -35
- package/dist/{chunk-HC3WUMU5.js → chunk-5QAGT56O.js} +2 -2
- package/dist/{chunk-FCSXIDDQ.js → chunk-5ZSWBPUZ.js} +2 -2
- package/dist/{chunk-SVSZBXWM.js → chunk-63EFLUVS.js} +2 -2
- package/dist/{chunk-AJW6TWSE.js → chunk-7HDPHBKE.js} +4 -4
- package/dist/{chunk-SX3UV5B6.js → chunk-7L7CUYAY.js} +4 -4
- package/dist/{chunk-5PM7O2LO.js → chunk-7OVUQKM2.js} +2 -2
- package/dist/{chunk-FSLKQEK2.js → chunk-CYXQRAJ2.js} +5 -5
- package/dist/{chunk-DHNVGWZH.js → chunk-DGMNPTPG.js} +3 -3
- package/dist/{chunk-CAFO4H4L.js → chunk-E6YS4KOL.js} +2 -2
- package/dist/{chunk-VYYSOP24.js → chunk-EQGTPGN6.js} +73 -8
- package/dist/chunk-EQGTPGN6.js.map +1 -0
- package/dist/{chunk-5XPHOP2H.js → chunk-EV42DVHG.js} +2 -2
- package/dist/{chunk-5RNS353B.js → chunk-FSDHFY3C.js} +2 -2
- package/dist/{chunk-PN7GAIXB.js → chunk-G2C4WNK7.js} +2 -2
- package/dist/{chunk-I7D5Z72Y.js → chunk-H3B6BSBZ.js} +7 -7
- package/dist/{chunk-AFFUBHQE.js → chunk-HPQ6QOTI.js} +5 -5
- package/dist/{chunk-QFYATFSD.js → chunk-IHMUW7N5.js} +2 -2
- package/dist/{chunk-KEIPV6HI.js → chunk-M4IFLNLT.js} +2 -2
- package/dist/{chunk-2VKJO2UG.js → chunk-MRSTTALY.js} +3 -3
- package/dist/{chunk-ABA2463H.js → chunk-NNBX6YZI.js} +2 -2
- package/dist/{chunk-ZNM4GOKK.js → chunk-QJPR3Y4E.js} +9 -9
- package/dist/{chunk-OQAV3JMV.js → chunk-QZDWVJN6.js} +2 -2
- package/dist/{chunk-VNPKYYVU.js → chunk-RAYKASM4.js} +8 -8
- package/dist/{chunk-KNIGWMED.js → chunk-SISWFC5K.js} +5 -5
- package/dist/{chunk-YAF73ZMR.js → chunk-SNJNRDKZ.js} +2 -1
- package/dist/{chunk-VPYHZVBH.js → chunk-U64WRZQ2.js} +2 -2
- package/dist/{chunk-WB2K3FHP.js → chunk-UNDYHLRR.js} +3 -3
- package/dist/{chunk-BJMSMXWF.js → chunk-UWVHFMU2.js} +4 -4
- package/dist/{chunk-NLRQ2NL3.js → chunk-YC3RAOU5.js} +2 -2
- package/dist/{chunk-FP4C6QYQ.js → chunk-YWGMDZR4.js} +2 -2
- package/dist/{chunk-NF4P6SI6.js → chunk-ZP5QHPDX.js} +2 -2
- package/dist/{cli-circuit-breaker-7J6TXKTA.js → cli-circuit-breaker-76YQJDYE.js} +3 -3
- package/dist/cli.js +41 -41
- package/dist/{composite-router-TR75423X.js → composite-router-2SGU5BWW.js} +2 -2
- package/dist/{consensus-vote-QF4CQ52T.js → consensus-vote-UF73LBG6.js} +17 -17
- package/dist/{context-retriever-ACPRWATZ.js → context-retriever-MBGPFZA7.js} +8 -8
- package/dist/{doctor-deep-XFUXJS3C.js → doctor-deep-N7ZS6YNE.js} +3 -3
- package/dist/{expert-bridge-MIPRZ6DR.js → expert-bridge-GSDGOVQT.js} +4 -4
- package/dist/factory-6AR32KPC.js +25 -0
- package/dist/{factory-4HKCUP73.js → factory-KBKFR56R.js} +5 -5
- package/dist/{improvement-review-WAONMFQP.js → improvement-review-B7DR4Y3C.js} +5 -5
- package/dist/index.js +31 -31
- package/dist/{init-opencode-HUSDM6DM.js → init-opencode-QBHHYWWF.js} +6 -6
- package/dist/{issue-triage-3Z23LPE3.js → issue-triage-5JONYJ5X.js} +6 -6
- package/dist/{pr-reviewer-helpers-USGSMJNS.js → pr-reviewer-helpers-JMZOSZGY.js} +4 -4
- package/dist/{registry-command-TLFJFRIY.js → registry-command-ZN2N6NB6.js} +2 -2
- package/dist/{repo-security-plan-QQRQYZJC.js → repo-security-plan-LM6CQJDK.js} +3 -3
- package/dist/{research-helpers-synthesize-OOMIPCBC.js → research-helpers-synthesize-5T3WTCAR.js} +4 -4
- package/dist/{routing-memory-7IW2EQIY.js → routing-memory-WOYMTDXS.js} +2 -2
- package/dist/{session-memory-ESPPBMXS.js → session-memory-2E2RFJQO.js} +3 -3
- package/dist/{setup-command-VHA2K7XL.js → setup-command-ILFC6FWM.js} +15 -15
- package/dist/{setup-config-KCR2RA4L.js → setup-config-GKSERLN5.js} +3 -3
- package/dist/{setup-custom-api-SP2XP7GL.js → setup-custom-api-DWREDJNN.js} +4 -4
- package/dist/{tool-memory-TQGBXSGU.js → tool-memory-CHAKVXF5.js} +5 -5
- package/dist/unified-registry-7WZ2BLIC.js +26 -0
- package/dist/{weather-report-35DZVJ5Y.js → weather-report-UDBU5F52.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-OYPTT7VJ.js.map +0 -1
- package/dist/chunk-VYYSOP24.js.map +0 -1
- package/dist/factory-7Q67BLII.js +0 -25
- package/dist/unified-registry-P6DPCF4Z.js +0 -26
- /package/dist/{child-mcp-config-7TQDBSZF.js.map → child-mcp-config-EXZDHJBP.js.map} +0 -0
- /package/dist/{chunk-YMXYMLBB.js.map → chunk-24GBX2E2.js.map} +0 -0
- /package/dist/{chunk-UPRSJALQ.js.map → chunk-3T3TZZKG.js.map} +0 -0
- /package/dist/{chunk-546OAGL3.js.map → chunk-3UYBYO46.js.map} +0 -0
- /package/dist/{chunk-HC3WUMU5.js.map → chunk-5QAGT56O.js.map} +0 -0
- /package/dist/{chunk-FCSXIDDQ.js.map → chunk-5ZSWBPUZ.js.map} +0 -0
- /package/dist/{chunk-SVSZBXWM.js.map → chunk-63EFLUVS.js.map} +0 -0
- /package/dist/{chunk-AJW6TWSE.js.map → chunk-7HDPHBKE.js.map} +0 -0
- /package/dist/{chunk-SX3UV5B6.js.map → chunk-7L7CUYAY.js.map} +0 -0
- /package/dist/{chunk-5PM7O2LO.js.map → chunk-7OVUQKM2.js.map} +0 -0
- /package/dist/{chunk-FSLKQEK2.js.map → chunk-CYXQRAJ2.js.map} +0 -0
- /package/dist/{chunk-DHNVGWZH.js.map → chunk-DGMNPTPG.js.map} +0 -0
- /package/dist/{chunk-CAFO4H4L.js.map → chunk-E6YS4KOL.js.map} +0 -0
- /package/dist/{chunk-5XPHOP2H.js.map → chunk-EV42DVHG.js.map} +0 -0
- /package/dist/{chunk-5RNS353B.js.map → chunk-FSDHFY3C.js.map} +0 -0
- /package/dist/{chunk-PN7GAIXB.js.map → chunk-G2C4WNK7.js.map} +0 -0
- /package/dist/{chunk-I7D5Z72Y.js.map → chunk-H3B6BSBZ.js.map} +0 -0
- /package/dist/{chunk-AFFUBHQE.js.map → chunk-HPQ6QOTI.js.map} +0 -0
- /package/dist/{chunk-QFYATFSD.js.map → chunk-IHMUW7N5.js.map} +0 -0
- /package/dist/{chunk-KEIPV6HI.js.map → chunk-M4IFLNLT.js.map} +0 -0
- /package/dist/{chunk-2VKJO2UG.js.map → chunk-MRSTTALY.js.map} +0 -0
- /package/dist/{chunk-ABA2463H.js.map → chunk-NNBX6YZI.js.map} +0 -0
- /package/dist/{chunk-ZNM4GOKK.js.map → chunk-QJPR3Y4E.js.map} +0 -0
- /package/dist/{chunk-OQAV3JMV.js.map → chunk-QZDWVJN6.js.map} +0 -0
- /package/dist/{chunk-VNPKYYVU.js.map → chunk-RAYKASM4.js.map} +0 -0
- /package/dist/{chunk-KNIGWMED.js.map → chunk-SISWFC5K.js.map} +0 -0
- /package/dist/{chunk-YAF73ZMR.js.map → chunk-SNJNRDKZ.js.map} +0 -0
- /package/dist/{chunk-VPYHZVBH.js.map → chunk-U64WRZQ2.js.map} +0 -0
- /package/dist/{chunk-WB2K3FHP.js.map → chunk-UNDYHLRR.js.map} +0 -0
- /package/dist/{chunk-BJMSMXWF.js.map → chunk-UWVHFMU2.js.map} +0 -0
- /package/dist/{chunk-NLRQ2NL3.js.map → chunk-YC3RAOU5.js.map} +0 -0
- /package/dist/{chunk-FP4C6QYQ.js.map → chunk-YWGMDZR4.js.map} +0 -0
- /package/dist/{chunk-NF4P6SI6.js.map → chunk-ZP5QHPDX.js.map} +0 -0
- /package/dist/{cli-circuit-breaker-7J6TXKTA.js.map → cli-circuit-breaker-76YQJDYE.js.map} +0 -0
- /package/dist/{composite-router-TR75423X.js.map → composite-router-2SGU5BWW.js.map} +0 -0
- /package/dist/{consensus-vote-QF4CQ52T.js.map → consensus-vote-UF73LBG6.js.map} +0 -0
- /package/dist/{context-retriever-ACPRWATZ.js.map → context-retriever-MBGPFZA7.js.map} +0 -0
- /package/dist/{doctor-deep-XFUXJS3C.js.map → doctor-deep-N7ZS6YNE.js.map} +0 -0
- /package/dist/{expert-bridge-MIPRZ6DR.js.map → expert-bridge-GSDGOVQT.js.map} +0 -0
- /package/dist/{factory-4HKCUP73.js.map → factory-6AR32KPC.js.map} +0 -0
- /package/dist/{factory-7Q67BLII.js.map → factory-KBKFR56R.js.map} +0 -0
- /package/dist/{improvement-review-WAONMFQP.js.map → improvement-review-B7DR4Y3C.js.map} +0 -0
- /package/dist/{init-opencode-HUSDM6DM.js.map → init-opencode-QBHHYWWF.js.map} +0 -0
- /package/dist/{issue-triage-3Z23LPE3.js.map → issue-triage-5JONYJ5X.js.map} +0 -0
- /package/dist/{pr-reviewer-helpers-USGSMJNS.js.map → pr-reviewer-helpers-JMZOSZGY.js.map} +0 -0
- /package/dist/{registry-command-TLFJFRIY.js.map → registry-command-ZN2N6NB6.js.map} +0 -0
- /package/dist/{repo-security-plan-QQRQYZJC.js.map → repo-security-plan-LM6CQJDK.js.map} +0 -0
- /package/dist/{research-helpers-synthesize-OOMIPCBC.js.map → research-helpers-synthesize-5T3WTCAR.js.map} +0 -0
- /package/dist/{routing-memory-7IW2EQIY.js.map → routing-memory-WOYMTDXS.js.map} +0 -0
- /package/dist/{session-memory-ESPPBMXS.js.map → session-memory-2E2RFJQO.js.map} +0 -0
- /package/dist/{setup-command-VHA2K7XL.js.map → setup-command-ILFC6FWM.js.map} +0 -0
- /package/dist/{setup-config-KCR2RA4L.js.map → setup-config-GKSERLN5.js.map} +0 -0
- /package/dist/{setup-custom-api-SP2XP7GL.js.map → setup-custom-api-DWREDJNN.js.map} +0 -0
- /package/dist/{tool-memory-TQGBXSGU.js.map → tool-memory-CHAKVXF5.js.map} +0 -0
- /package/dist/{unified-registry-P6DPCF4Z.js.map → unified-registry-7WZ2BLIC.js.map} +0 -0
- /package/dist/{weather-report-35DZVJ5Y.js.map → weather-report-UDBU5F52.js.map} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
nexusMkdtemp
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-SNJNRDKZ.js";
|
|
4
4
|
import {
|
|
5
5
|
createLogger
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-26NSVQ65.js";
|
|
7
7
|
import "./chunk-2HUC6NZN.js";
|
|
8
8
|
import "./chunk-OQLFRJCW.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-
|
|
65
|
+
//# sourceMappingURL=child-mcp-config-EXZDHJBP.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
runConfigInitSync
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-E6YS4KOL.js";
|
|
4
4
|
import {
|
|
5
5
|
VERSION,
|
|
6
6
|
checkApiKeys,
|
|
@@ -8,13 +8,13 @@ import {
|
|
|
8
8
|
checkSqlite,
|
|
9
9
|
defaultConfig,
|
|
10
10
|
initDataDirectories
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-EQGTPGN6.js";
|
|
12
12
|
import {
|
|
13
13
|
BUILT_IN_EXPERTS
|
|
14
14
|
} from "./chunk-YPNQPT2F.js";
|
|
15
15
|
import {
|
|
16
16
|
probeAllClis
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-QJPR3Y4E.js";
|
|
18
18
|
import {
|
|
19
19
|
CLI_SUBPROCESS_TIMEOUTS,
|
|
20
20
|
colors,
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
getErrorMessage,
|
|
26
26
|
getTimeProvider,
|
|
27
27
|
symbols
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-26NSVQ65.js";
|
|
29
29
|
import {
|
|
30
30
|
ensureGitignored,
|
|
31
31
|
findRepoRoot
|
|
@@ -2001,4 +2001,4 @@ export {
|
|
|
2001
2001
|
setupCommand,
|
|
2002
2002
|
setupCommandAsync
|
|
2003
2003
|
};
|
|
2004
|
-
//# sourceMappingURL=chunk-
|
|
2004
|
+
//# sourceMappingURL=chunk-24GBX2E2.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-
|
|
2626
|
+
const { resetGlobalRegistry } = await import("./unified-registry-7WZ2BLIC.js");
|
|
2627
2627
|
resetGlobalRegistry();
|
|
2628
2628
|
return globalRegistry;
|
|
2629
2629
|
}
|
|
@@ -9161,7 +9161,8 @@ var CapacityFilterStage = class {
|
|
|
9161
9161
|
let updatedCtx = ctx;
|
|
9162
9162
|
let exhausted = 0;
|
|
9163
9163
|
let unmeasured = 0;
|
|
9164
|
-
for (const
|
|
9164
|
+
for (const cli of remaining) {
|
|
9165
|
+
const assessment = assessments.get(cli) ?? "unmeasured";
|
|
9165
9166
|
if (assessment === "unmeasured") {
|
|
9166
9167
|
unmeasured++;
|
|
9167
9168
|
continue;
|
|
@@ -9245,6 +9246,48 @@ var CapacityFilterStage = class {
|
|
|
9245
9246
|
* partial adapter reaches this path — which is exactly the case that must not
|
|
9246
9247
|
* be fatal.
|
|
9247
9248
|
*/
|
|
9249
|
+
/**
|
|
9250
|
+
* Assess capacity for a set of routing ARMS (#4455).
|
|
9251
|
+
*
|
|
9252
|
+
* Capacity belongs to the serving route, not the display slot: a CLI
|
|
9253
|
+
* subscription's quota and an API key's quota are genuinely independent, so
|
|
9254
|
+
* `claude` and `api:anthropic` must be probed separately even though they
|
|
9255
|
+
* share a vendor slot. Callers that hold the arm list should use this rather
|
|
9256
|
+
* than routing through the slot-collapsing `RoutingContext`.
|
|
9257
|
+
*/
|
|
9258
|
+
async assessArms(arms) {
|
|
9259
|
+
return this.assessAll(arms);
|
|
9260
|
+
}
|
|
9261
|
+
/**
|
|
9262
|
+
* Arm-granular filter (#4455).
|
|
9263
|
+
*
|
|
9264
|
+
* The `route()` path filters at display-slot granularity because that is what
|
|
9265
|
+
* `RoutingContext` carries, but capacity is a property of the serving route:
|
|
9266
|
+
* `claude` and `api:anthropic` share a vendor slot and have entirely separate
|
|
9267
|
+
* quotas. Assessing per slot meant one arm's exhaustion excluded both — a
|
|
9268
|
+
* destructive false positive — while an exhausted api arm went unprobed.
|
|
9269
|
+
*
|
|
9270
|
+
* Enforcement and the metric counters stay in here rather than at the call
|
|
9271
|
+
* site so both paths share one policy.
|
|
9272
|
+
*/
|
|
9273
|
+
async filterArms(arms) {
|
|
9274
|
+
const assessments = await this.assessAll(arms);
|
|
9275
|
+
const excluded = /* @__PURE__ */ new Map();
|
|
9276
|
+
const eligible = [];
|
|
9277
|
+
let unmeasured = 0;
|
|
9278
|
+
for (const arm of arms) {
|
|
9279
|
+
const assessment = assessments.get(arm) ?? "unmeasured";
|
|
9280
|
+
if (assessment === "unmeasured") unmeasured++;
|
|
9281
|
+
if (assessment === "exhausted" && this.config.enforceHardLimits) {
|
|
9282
|
+
excluded.set(arm, `${CAPACITY_EXHAUSTED}: no capacity remaining`);
|
|
9283
|
+
this.excludedCount++;
|
|
9284
|
+
continue;
|
|
9285
|
+
}
|
|
9286
|
+
eligible.push(arm);
|
|
9287
|
+
}
|
|
9288
|
+
this.unmeasuredCount += unmeasured;
|
|
9289
|
+
return { eligible, excluded };
|
|
9290
|
+
}
|
|
9248
9291
|
async assessAll(candidates) {
|
|
9249
9292
|
const settled = await Promise.allSettled(
|
|
9250
9293
|
candidates.map(async (cli) => {
|
|
@@ -13217,26 +13260,18 @@ async function runCapacityStage(task, candidates, stagesExecuted, deps) {
|
|
|
13217
13260
|
if (!deps.config.enableCapacityBalancing || deps.capacityFilterStage === void 0) {
|
|
13218
13261
|
return ok(candidates);
|
|
13219
13262
|
}
|
|
13220
|
-
const ctx = createRoutingContext(task.content, armsToSlots(candidates));
|
|
13221
13263
|
stagesExecuted.push("capacity-filter");
|
|
13222
|
-
let
|
|
13264
|
+
let outcome;
|
|
13223
13265
|
try {
|
|
13224
|
-
|
|
13266
|
+
outcome = await deps.capacityFilterStage.filterArms(candidates);
|
|
13225
13267
|
} catch (error) {
|
|
13226
13268
|
deps.logger.debug("Capacity stage threw - keeping all candidates", {
|
|
13227
13269
|
error: error instanceof Error ? error.message : String(error)
|
|
13228
13270
|
});
|
|
13229
13271
|
return ok(candidates);
|
|
13230
13272
|
}
|
|
13231
|
-
if (
|
|
13232
|
-
|
|
13233
|
-
error: result.error.message
|
|
13234
|
-
});
|
|
13235
|
-
return ok(candidates);
|
|
13236
|
-
}
|
|
13237
|
-
const eligible = keepArmsForSlots(candidates, getRemainingCandidates(result.value.context));
|
|
13238
|
-
if (eligible.length === 0) {
|
|
13239
|
-
const reasons = [...result.value.context.filtered.entries()].map(([cli, reason]) => `${cli} (${reason})`).join(", ");
|
|
13273
|
+
if (outcome.eligible.length === 0) {
|
|
13274
|
+
const reasons = [...outcome.excluded.entries()].map(([arm, reason]) => `${arm} (${reason})`).join(", ");
|
|
13240
13275
|
return err(
|
|
13241
13276
|
new CompositeRoutingError(
|
|
13242
13277
|
`All routing candidates excluded \u2014 ${CAPACITY_EXHAUSTED}. Excluded: ${reasons}`,
|
|
@@ -13244,7 +13279,7 @@ async function runCapacityStage(task, candidates, stagesExecuted, deps) {
|
|
|
13244
13279
|
)
|
|
13245
13280
|
);
|
|
13246
13281
|
}
|
|
13247
|
-
return ok(eligible);
|
|
13282
|
+
return ok(outcome.eligible);
|
|
13248
13283
|
}
|
|
13249
13284
|
var DEFAULT_COMPLEXITY = "moderate";
|
|
13250
13285
|
function extractComplexityFromSignals(signals) {
|
|
@@ -14627,7 +14662,7 @@ var CompositeRouter = class _CompositeRouter {
|
|
|
14627
14662
|
*/
|
|
14628
14663
|
async consultUnifiedContext(task) {
|
|
14629
14664
|
try {
|
|
14630
|
-
const { getContextForTask, inferTaskCategory } = await import("./context-retriever-
|
|
14665
|
+
const { getContextForTask, inferTaskCategory } = await import("./context-retriever-MBGPFZA7.js");
|
|
14631
14666
|
const ctx = await getContextForTask({
|
|
14632
14667
|
task: task.content,
|
|
14633
14668
|
category: inferTaskCategory(task.content),
|
|
@@ -16211,4 +16246,4 @@ export {
|
|
|
16211
16246
|
AgentCapability,
|
|
16212
16247
|
OrchestratorError
|
|
16213
16248
|
};
|
|
16214
|
-
//# sourceMappingURL=chunk-
|
|
16249
|
+
//# sourceMappingURL=chunk-26NSVQ65.js.map
|