nexus-agents 2.174.1 → 2.174.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.
- package/dist/{child-mcp-config-EYDYXTEN.js → child-mcp-config-GWB7JLIS.js} +2 -2
- package/dist/{chunk-SBKJMPV4.js → chunk-2CB6QMRX.js} +35 -35
- package/dist/{chunk-WP46LCTZ.js → chunk-3P7SMHBU.js} +3 -3
- package/dist/{chunk-JJC2FHX5.js → chunk-4PTAG65V.js} +2 -2
- package/dist/{chunk-H2HZSKLO.js → chunk-5QVJCBM4.js} +3 -3
- package/dist/{chunk-MJXTFQH6.js → chunk-6RRAQFSX.js} +2 -2
- package/dist/{chunk-GFXS3OAX.js → chunk-ASJTVA7W.js} +5 -5
- package/dist/{chunk-3XTGA2YK.js → chunk-DGR27REV.js} +4 -170
- package/dist/chunk-DGR27REV.js.map +1 -0
- package/dist/{chunk-KS4EN2WR.js → chunk-DJZGCMNU.js} +2 -2
- package/dist/{chunk-VLSXX6KA.js → chunk-E35RUETV.js} +2 -2
- package/dist/{chunk-LV3UNCC6.js → chunk-EDWON3X5.js} +4 -4
- package/dist/{chunk-BS43TZVD.js → chunk-H5KLPUAL.js} +2 -2
- package/dist/{chunk-DU2YW5DH.js → chunk-HUYP2XXH.js} +2 -2
- package/dist/{chunk-VIE5QLTI.js → chunk-IVINLVGP.js} +2 -2
- package/dist/{chunk-OC3ABO5L.js → chunk-JSIX5L3C.js} +2 -2
- package/dist/{chunk-G456TOMJ.js → chunk-JVBI4WKP.js} +35 -5
- package/dist/{chunk-G456TOMJ.js.map → chunk-JVBI4WKP.js.map} +1 -1
- package/dist/{chunk-6RIQEBF5.js → chunk-K6NXLBHG.js} +10 -8
- package/dist/{chunk-6RIQEBF5.js.map → chunk-K6NXLBHG.js.map} +1 -1
- package/dist/{chunk-4TULFLTP.js → chunk-KAL22DYO.js} +2 -2
- package/dist/{chunk-JF4Y6CBM.js → chunk-KU2HPCJG.js} +4 -4
- package/dist/{chunk-TL4CD7XY.js → chunk-KWKGX7LC.js} +5 -5
- package/dist/{chunk-RYGZPL4A.js → chunk-KYF4YAZO.js} +3 -3
- package/dist/{chunk-YQL4WYSM.js → chunk-MRRKFMYJ.js} +4 -4
- package/dist/{chunk-S3HKSR6E.js → chunk-OCTNNEXT.js} +8 -8
- package/dist/{chunk-GPWRQY5I.js → chunk-OGR5Q6QO.js} +5 -5
- package/dist/chunk-OM2VVQKB.js +172 -0
- package/dist/chunk-OM2VVQKB.js.map +1 -0
- package/dist/{chunk-AVMNKTWJ.js → chunk-PN43VH6Z.js} +7 -7
- package/dist/{chunk-WJKHJSU2.js → chunk-RAIFOYRM.js} +2 -2
- package/dist/{chunk-TWAUWJET.js → chunk-SGIWJYLJ.js} +2 -2
- package/dist/{chunk-KNBV3J5O.js → chunk-UB6APBIY.js} +2 -2
- package/dist/{chunk-LRGCUZZX.js → chunk-VSETLO4Q.js} +2 -2
- package/dist/{chunk-KPM6FF6T.js → chunk-Y5JA7XEO.js} +404 -378
- package/dist/chunk-Y5JA7XEO.js.map +1 -0
- package/dist/{chunk-QONNR66T.js → chunk-YE2XMU3T.js} +3 -3
- package/dist/{chunk-ZCKKNSKZ.js → chunk-YUCJ7VSJ.js} +8 -8
- package/dist/{chunk-VXWN5FFG.js → chunk-Z77MIV3C.js} +2 -2
- package/dist/{cli-circuit-breaker-MIH22DC4.js → cli-circuit-breaker-EINPV2CX.js} +3 -3
- package/dist/cli.js +41 -40
- package/dist/cli.js.map +1 -1
- package/dist/{composite-router-OU47H54C.js → composite-router-CUJAG7O4.js} +2 -2
- package/dist/{consensus-vote-RKTBZKDP.js → consensus-vote-BLCQCWPV.js} +16 -15
- package/dist/{context-retriever-QCZYGSM3.js → context-retriever-MTJR3AQM.js} +8 -8
- package/dist/{dist-KUG63MRZ.js → dist-GR7PQU7T.js} +563 -482
- package/dist/dist-GR7PQU7T.js.map +1 -0
- package/dist/{doctor-deep-CUXNDGFF.js → doctor-deep-X2KP2G4M.js} +3 -3
- package/dist/{expert-bridge-OQDZJ2VV.js → expert-bridge-2W2JMFQW.js} +4 -4
- package/dist/{factory-DYFK43AX.js → factory-7UFJ6LXW.js} +9 -8
- package/dist/{factory-VX6MAME5.js → factory-SC5D5P3C.js} +5 -5
- package/dist/{improvement-review-ICJL6DFU.js → improvement-review-ZMUJQSX3.js} +5 -5
- package/dist/index.d.ts +17 -0
- package/dist/index.js +30 -29
- package/dist/index.js.map +1 -1
- package/dist/{init-opencode-5XGLKLVG.js → init-opencode-I5XSFY34.js} +6 -5
- package/dist/{init-opencode-5XGLKLVG.js.map → init-opencode-I5XSFY34.js.map} +1 -1
- package/dist/{issue-triage-CGRLM4XU.js → issue-triage-KOIPTNDH.js} +6 -6
- package/dist/{pr-reviewer-helpers-F65CSRZB.js → pr-reviewer-helpers-CZDMP5UJ.js} +4 -4
- package/dist/{registry-command-CHV3DNPI.js → registry-command-5J6RJZMS.js} +2 -2
- package/dist/{repo-security-plan-EZNBLHIT.js → repo-security-plan-MKSCD567.js} +3 -3
- package/dist/{research-helpers-synthesize-HHREAHNY.js → research-helpers-synthesize-TIT43XF4.js} +4 -4
- package/dist/{routing-memory-QJ74QYTY.js → routing-memory-HAWL7RKO.js} +2 -2
- package/dist/{session-memory-CTE4IJTZ.js → session-memory-RPSM7Y4Q.js} +3 -3
- package/dist/{setup-command-CNLGTJIR.js → setup-command-SORJLYU3.js} +14 -13
- package/dist/{setup-config-KPKOPIKH.js → setup-config-YDA4MY4N.js} +3 -3
- package/dist/{setup-custom-api-T7FR4YI6.js → setup-custom-api-BZSHB2M5.js} +6 -4
- package/dist/{setup-custom-api-T7FR4YI6.js.map → setup-custom-api-BZSHB2M5.js.map} +1 -1
- package/dist/{tool-memory-TJMCWGYC.js → tool-memory-FCEJMKEH.js} +5 -5
- package/dist/{unified-registry-RICD6FKY.js → unified-registry-JWPD2ES2.js} +10 -9
- package/dist/{weather-report-ZMA3OJS7.js → weather-report-VNABZRH7.js} +2 -2
- package/package.json +8 -8
- package/dist/chunk-3XTGA2YK.js.map +0 -1
- package/dist/chunk-KPM6FF6T.js.map +0 -1
- package/dist/dist-KUG63MRZ.js.map +0 -1
- /package/dist/{child-mcp-config-EYDYXTEN.js.map → child-mcp-config-GWB7JLIS.js.map} +0 -0
- /package/dist/{chunk-SBKJMPV4.js.map → chunk-2CB6QMRX.js.map} +0 -0
- /package/dist/{chunk-WP46LCTZ.js.map → chunk-3P7SMHBU.js.map} +0 -0
- /package/dist/{chunk-JJC2FHX5.js.map → chunk-4PTAG65V.js.map} +0 -0
- /package/dist/{chunk-H2HZSKLO.js.map → chunk-5QVJCBM4.js.map} +0 -0
- /package/dist/{chunk-MJXTFQH6.js.map → chunk-6RRAQFSX.js.map} +0 -0
- /package/dist/{chunk-GFXS3OAX.js.map → chunk-ASJTVA7W.js.map} +0 -0
- /package/dist/{chunk-KS4EN2WR.js.map → chunk-DJZGCMNU.js.map} +0 -0
- /package/dist/{chunk-VLSXX6KA.js.map → chunk-E35RUETV.js.map} +0 -0
- /package/dist/{chunk-LV3UNCC6.js.map → chunk-EDWON3X5.js.map} +0 -0
- /package/dist/{chunk-BS43TZVD.js.map → chunk-H5KLPUAL.js.map} +0 -0
- /package/dist/{chunk-DU2YW5DH.js.map → chunk-HUYP2XXH.js.map} +0 -0
- /package/dist/{chunk-VIE5QLTI.js.map → chunk-IVINLVGP.js.map} +0 -0
- /package/dist/{chunk-OC3ABO5L.js.map → chunk-JSIX5L3C.js.map} +0 -0
- /package/dist/{chunk-4TULFLTP.js.map → chunk-KAL22DYO.js.map} +0 -0
- /package/dist/{chunk-JF4Y6CBM.js.map → chunk-KU2HPCJG.js.map} +0 -0
- /package/dist/{chunk-TL4CD7XY.js.map → chunk-KWKGX7LC.js.map} +0 -0
- /package/dist/{chunk-RYGZPL4A.js.map → chunk-KYF4YAZO.js.map} +0 -0
- /package/dist/{chunk-YQL4WYSM.js.map → chunk-MRRKFMYJ.js.map} +0 -0
- /package/dist/{chunk-S3HKSR6E.js.map → chunk-OCTNNEXT.js.map} +0 -0
- /package/dist/{chunk-GPWRQY5I.js.map → chunk-OGR5Q6QO.js.map} +0 -0
- /package/dist/{chunk-AVMNKTWJ.js.map → chunk-PN43VH6Z.js.map} +0 -0
- /package/dist/{chunk-WJKHJSU2.js.map → chunk-RAIFOYRM.js.map} +0 -0
- /package/dist/{chunk-TWAUWJET.js.map → chunk-SGIWJYLJ.js.map} +0 -0
- /package/dist/{chunk-KNBV3J5O.js.map → chunk-UB6APBIY.js.map} +0 -0
- /package/dist/{chunk-LRGCUZZX.js.map → chunk-VSETLO4Q.js.map} +0 -0
- /package/dist/{chunk-QONNR66T.js.map → chunk-YE2XMU3T.js.map} +0 -0
- /package/dist/{chunk-ZCKKNSKZ.js.map → chunk-YUCJ7VSJ.js.map} +0 -0
- /package/dist/{chunk-VXWN5FFG.js.map → chunk-Z77MIV3C.js.map} +0 -0
- /package/dist/{cli-circuit-breaker-MIH22DC4.js.map → cli-circuit-breaker-EINPV2CX.js.map} +0 -0
- /package/dist/{composite-router-OU47H54C.js.map → composite-router-CUJAG7O4.js.map} +0 -0
- /package/dist/{consensus-vote-RKTBZKDP.js.map → consensus-vote-BLCQCWPV.js.map} +0 -0
- /package/dist/{context-retriever-QCZYGSM3.js.map → context-retriever-MTJR3AQM.js.map} +0 -0
- /package/dist/{doctor-deep-CUXNDGFF.js.map → doctor-deep-X2KP2G4M.js.map} +0 -0
- /package/dist/{expert-bridge-OQDZJ2VV.js.map → expert-bridge-2W2JMFQW.js.map} +0 -0
- /package/dist/{factory-DYFK43AX.js.map → factory-7UFJ6LXW.js.map} +0 -0
- /package/dist/{factory-VX6MAME5.js.map → factory-SC5D5P3C.js.map} +0 -0
- /package/dist/{improvement-review-ICJL6DFU.js.map → improvement-review-ZMUJQSX3.js.map} +0 -0
- /package/dist/{issue-triage-CGRLM4XU.js.map → issue-triage-KOIPTNDH.js.map} +0 -0
- /package/dist/{pr-reviewer-helpers-F65CSRZB.js.map → pr-reviewer-helpers-CZDMP5UJ.js.map} +0 -0
- /package/dist/{registry-command-CHV3DNPI.js.map → registry-command-5J6RJZMS.js.map} +0 -0
- /package/dist/{repo-security-plan-EZNBLHIT.js.map → repo-security-plan-MKSCD567.js.map} +0 -0
- /package/dist/{research-helpers-synthesize-HHREAHNY.js.map → research-helpers-synthesize-TIT43XF4.js.map} +0 -0
- /package/dist/{routing-memory-QJ74QYTY.js.map → routing-memory-HAWL7RKO.js.map} +0 -0
- /package/dist/{session-memory-CTE4IJTZ.js.map → session-memory-RPSM7Y4Q.js.map} +0 -0
- /package/dist/{setup-command-CNLGTJIR.js.map → setup-command-SORJLYU3.js.map} +0 -0
- /package/dist/{setup-config-KPKOPIKH.js.map → setup-config-YDA4MY4N.js.map} +0 -0
- /package/dist/{tool-memory-TJMCWGYC.js.map → tool-memory-FCEJMKEH.js.map} +0 -0
- /package/dist/{unified-registry-RICD6FKY.js.map → unified-registry-JWPD2ES2.js.map} +0 -0
- /package/dist/{weather-report-ZMA3OJS7.js.map → weather-report-VNABZRH7.js.map} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createLogger
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-Y5JA7XEO.js";
|
|
4
4
|
import "./chunk-AXTD4TFK.js";
|
|
5
5
|
import "./chunk-DHVMSIT5.js";
|
|
6
6
|
import "./chunk-ZPWHCABL.js";
|
|
@@ -60,4 +60,4 @@ export {
|
|
|
60
60
|
generateMcpConfig,
|
|
61
61
|
getDefaultAllowedTools
|
|
62
62
|
};
|
|
63
|
-
//# sourceMappingURL=child-mcp-config-
|
|
63
|
+
//# sourceMappingURL=child-mcp-config-GWB7JLIS.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
generateSecurityPlan
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-UB6APBIY.js";
|
|
4
4
|
import {
|
|
5
5
|
analyzeGitHubRepo
|
|
6
6
|
} from "./chunk-HFOQKCD2.js";
|
|
@@ -21,10 +21,10 @@ import {
|
|
|
21
21
|
DEFAULT_TASK_TTL_MS,
|
|
22
22
|
DEFAULT_TOOL_RATE_LIMITS,
|
|
23
23
|
clampTaskTtl
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-YUCJ7VSJ.js";
|
|
25
25
|
import {
|
|
26
26
|
executeExpert
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-PN43VH6Z.js";
|
|
28
28
|
import {
|
|
29
29
|
JobStatusSchema,
|
|
30
30
|
abortJob,
|
|
@@ -45,21 +45,21 @@ import {
|
|
|
45
45
|
simulationDeniedResult,
|
|
46
46
|
toJobSummary,
|
|
47
47
|
writeJobCancelled
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-OCTNNEXT.js";
|
|
49
49
|
import {
|
|
50
50
|
normalizeTopicToCanonical,
|
|
51
51
|
synthesizeResearch
|
|
52
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-3P7SMHBU.js";
|
|
53
53
|
import {
|
|
54
54
|
IssueTriage
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-KWKGX7LC.js";
|
|
56
56
|
import {
|
|
57
57
|
resolveEnvMode,
|
|
58
58
|
sanitizeInput
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-KAL22DYO.js";
|
|
60
60
|
import {
|
|
61
61
|
withPrerequisite
|
|
62
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-KYF4YAZO.js";
|
|
63
63
|
import {
|
|
64
64
|
NOOP_NOTIFIER,
|
|
65
65
|
RateLimiter,
|
|
@@ -82,18 +82,18 @@ import {
|
|
|
82
82
|
withAuditTrail,
|
|
83
83
|
withProgressHeartbeat,
|
|
84
84
|
wrapToolWithTimeout
|
|
85
|
-
} from "./chunk-
|
|
85
|
+
} from "./chunk-5QVJCBM4.js";
|
|
86
86
|
import {
|
|
87
87
|
createAuditTrail,
|
|
88
88
|
createGraphAuditBridge,
|
|
89
89
|
emitPipelinePolicyEvent
|
|
90
|
-
} from "./chunk-
|
|
90
|
+
} from "./chunk-VSETLO4Q.js";
|
|
91
91
|
import {
|
|
92
92
|
EventTopics,
|
|
93
93
|
createEvent,
|
|
94
94
|
getGlobalEventBus,
|
|
95
95
|
getGlobalRegistry
|
|
96
|
-
} from "./chunk-
|
|
96
|
+
} from "./chunk-MRRKFMYJ.js";
|
|
97
97
|
import {
|
|
98
98
|
IDENTIFIER_RE,
|
|
99
99
|
LANG_VALUES,
|
|
@@ -126,15 +126,15 @@ import {
|
|
|
126
126
|
parseRegistry,
|
|
127
127
|
sourceExistsInRegistry,
|
|
128
128
|
summarizeContextForPrompt
|
|
129
|
-
} from "./chunk-
|
|
129
|
+
} from "./chunk-OGR5Q6QO.js";
|
|
130
130
|
import {
|
|
131
131
|
getTokenEnvVars,
|
|
132
132
|
resolveToken
|
|
133
|
-
} from "./chunk-
|
|
133
|
+
} from "./chunk-HUYP2XXH.js";
|
|
134
134
|
import {
|
|
135
135
|
loadPapersRegistry,
|
|
136
136
|
loadTechniquesRegistry
|
|
137
|
-
} from "./chunk-
|
|
137
|
+
} from "./chunk-DJZGCMNU.js";
|
|
138
138
|
import {
|
|
139
139
|
resolveInsideRoot
|
|
140
140
|
} from "./chunk-NUBSJGQZ.js";
|
|
@@ -143,14 +143,14 @@ import {
|
|
|
143
143
|
MemoryImportance,
|
|
144
144
|
calculateTextJaccardSimilarity,
|
|
145
145
|
getToolMemory
|
|
146
|
-
} from "./chunk-
|
|
146
|
+
} from "./chunk-EDWON3X5.js";
|
|
147
147
|
import {
|
|
148
148
|
STOPWORDS,
|
|
149
149
|
truncateWithInfo
|
|
150
150
|
} from "./chunk-6T3EPABN.js";
|
|
151
151
|
import {
|
|
152
152
|
createSessionMemory
|
|
153
|
-
} from "./chunk-
|
|
153
|
+
} from "./chunk-IVINLVGP.js";
|
|
154
154
|
import {
|
|
155
155
|
BUILT_IN_EXPERTS,
|
|
156
156
|
BuiltInExpertTypeSchema,
|
|
@@ -168,25 +168,25 @@ import {
|
|
|
168
168
|
getAvailableClis,
|
|
169
169
|
sleep,
|
|
170
170
|
withTimeout
|
|
171
|
-
} from "./chunk-
|
|
171
|
+
} from "./chunk-K6NXLBHG.js";
|
|
172
172
|
import {
|
|
173
173
|
BaseAdapter,
|
|
174
174
|
createStream,
|
|
175
175
|
requireApiKey,
|
|
176
176
|
validateApiKeyPresence
|
|
177
|
-
} from "./chunk-
|
|
177
|
+
} from "./chunk-6RRAQFSX.js";
|
|
178
178
|
import {
|
|
179
179
|
DEFAULTS
|
|
180
|
-
} from "./chunk-
|
|
180
|
+
} from "./chunk-DGR27REV.js";
|
|
181
181
|
import {
|
|
182
182
|
getAvailabilityCache,
|
|
183
183
|
getCliForModelId,
|
|
184
184
|
resolveFallback
|
|
185
|
-
} from "./chunk-
|
|
185
|
+
} from "./chunk-RAIFOYRM.js";
|
|
186
186
|
import {
|
|
187
187
|
generateHyphenId,
|
|
188
188
|
generateUUID
|
|
189
|
-
} from "./chunk-
|
|
189
|
+
} from "./chunk-SGIWJYLJ.js";
|
|
190
190
|
import {
|
|
191
191
|
AGENT_ROUTER_TIMEOUTS,
|
|
192
192
|
API_TIMEOUTS,
|
|
@@ -283,7 +283,7 @@ import {
|
|
|
283
283
|
selectStrategyByManifest,
|
|
284
284
|
toExpertTaskAnalysisResult,
|
|
285
285
|
withStep
|
|
286
|
-
} from "./chunk-
|
|
286
|
+
} from "./chunk-Y5JA7XEO.js";
|
|
287
287
|
import {
|
|
288
288
|
ensureLearningDir,
|
|
289
289
|
getMetaOutcomesFile,
|
|
@@ -28344,7 +28344,7 @@ function execIdFields(executionId) {
|
|
|
28344
28344
|
async function populateUnifiedContextOnState(state, options) {
|
|
28345
28345
|
const taskCandidate = state["task"];
|
|
28346
28346
|
if (typeof taskCandidate !== "string" || taskCandidate === "") return;
|
|
28347
|
-
const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-
|
|
28347
|
+
const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-MTJR3AQM.js");
|
|
28348
28348
|
const category = inferTaskCategory2(taskCandidate);
|
|
28349
28349
|
const executionId = options?.executionId;
|
|
28350
28350
|
const execFields = execIdFields(executionId);
|
|
@@ -43879,7 +43879,7 @@ async function tryIssueTriage(task) {
|
|
|
43879
43879
|
try {
|
|
43880
43880
|
const issueMatch = task.match(/github\.com\/([^/]+\/[^/]+)\/issues\/(\d+)/);
|
|
43881
43881
|
if (issueMatch === null) return null;
|
|
43882
|
-
const { createIssueTriage } = await import("./issue-triage-
|
|
43882
|
+
const { createIssueTriage } = await import("./issue-triage-KOIPTNDH.js");
|
|
43883
43883
|
const triage = createIssueTriage();
|
|
43884
43884
|
const owner = issueMatch[1] ?? "";
|
|
43885
43885
|
const num = issueMatch[2] ?? "";
|
|
@@ -43907,7 +43907,7 @@ var VALID_TEMPLATES = /* @__PURE__ */ new Set([
|
|
|
43907
43907
|
]);
|
|
43908
43908
|
async function classifyWithLLM(task) {
|
|
43909
43909
|
try {
|
|
43910
|
-
const { executeExpert: executeExpert2 } = await import("./expert-bridge-
|
|
43910
|
+
const { executeExpert: executeExpert2 } = await import("./expert-bridge-2W2JMFQW.js");
|
|
43911
43911
|
const prompt = [
|
|
43912
43912
|
"Classify this task into exactly one pipeline template.",
|
|
43913
43913
|
"Templates: dev (implementation/bug fix/refactor), research (investigate/evaluate/compare),",
|
|
@@ -45548,7 +45548,7 @@ var memoryInitPromise = null;
|
|
|
45548
45548
|
async function initPipelineMemory() {
|
|
45549
45549
|
if (cachedMemory !== null) return cachedMemory;
|
|
45550
45550
|
try {
|
|
45551
|
-
const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-
|
|
45551
|
+
const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-RPSM7Y4Q.js");
|
|
45552
45552
|
const { getLearningDir } = await import("./learning-persistence-6D5GGT7D.js");
|
|
45553
45553
|
const mem = createSessionMemory2(getLearningDir());
|
|
45554
45554
|
mem.startSession(`pipeline-${String(getTimeProvider().now())}`);
|
|
@@ -45610,7 +45610,7 @@ function recordRoutingExperience(category, success, durationMs, tokensUsed = 0,
|
|
|
45610
45610
|
callRecord(routingMemoryCache);
|
|
45611
45611
|
return;
|
|
45612
45612
|
}
|
|
45613
|
-
routingMemoryInitPromise ??= import("./routing-memory-
|
|
45613
|
+
routingMemoryInitPromise ??= import("./routing-memory-HAWL7RKO.js").then(({ createRoutingMemory }) => {
|
|
45614
45614
|
routingMemoryCache ??= createRoutingMemory();
|
|
45615
45615
|
return routingMemoryCache;
|
|
45616
45616
|
}).catch((error) => {
|
|
@@ -45644,7 +45644,7 @@ ${text}` : "";
|
|
|
45644
45644
|
}
|
|
45645
45645
|
async function getWeatherContext() {
|
|
45646
45646
|
try {
|
|
45647
|
-
const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-
|
|
45647
|
+
const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-VNABZRH7.js");
|
|
45648
45648
|
const report = generateWeatherReport2({ includeAdaptive: true });
|
|
45649
45649
|
const mappings = "recommendedMappings" in report ? report.recommendedMappings : [];
|
|
45650
45650
|
if (!Array.isArray(mappings) || mappings.length === 0) return "";
|
|
@@ -45662,7 +45662,7 @@ ${lines}
|
|
|
45662
45662
|
}
|
|
45663
45663
|
async function getMemoryContext(task) {
|
|
45664
45664
|
try {
|
|
45665
|
-
const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-
|
|
45665
|
+
const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-RPSM7Y4Q.js");
|
|
45666
45666
|
const { getLearningDir } = await import("./learning-persistence-6D5GGT7D.js");
|
|
45667
45667
|
const memory = createSessionMemory2(getLearningDir(), { maxLearningsInContext: 10 });
|
|
45668
45668
|
const learnings = memory.searchLearnings(task.slice(0, 200));
|
|
@@ -45777,7 +45777,7 @@ ${contextBlock}`;
|
|
|
45777
45777
|
const strategy = config.votingStrategy ?? "higher_order";
|
|
45778
45778
|
await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
|
|
45779
45779
|
try {
|
|
45780
|
-
const { executeVoting } = await import("./consensus-vote-
|
|
45780
|
+
const { executeVoting } = await import("./consensus-vote-BLCQCWPV.js");
|
|
45781
45781
|
const votingResult = await executeVoting(
|
|
45782
45782
|
{
|
|
45783
45783
|
proposal: buildVoteProposal(plan, research),
|
|
@@ -46218,7 +46218,7 @@ async function searchCodebaseForTask(task) {
|
|
|
46218
46218
|
}
|
|
46219
46219
|
async function queryResearchRegistry(task) {
|
|
46220
46220
|
try {
|
|
46221
|
-
const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-
|
|
46221
|
+
const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-TIT43XF4.js");
|
|
46222
46222
|
const topic = task.split(/[.!?\n]/).filter((s) => s.trim().length > 10)[0]?.trim();
|
|
46223
46223
|
if (topic === void 0) return null;
|
|
46224
46224
|
const result = await synthesizeResearch2(topic.slice(0, 50));
|
|
@@ -46289,7 +46289,7 @@ function createScanStageWrapper() {
|
|
|
46289
46289
|
try {
|
|
46290
46290
|
const slug = ctx.task.match(/([a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+)/)?.[1];
|
|
46291
46291
|
if (slug !== void 0) {
|
|
46292
|
-
const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-
|
|
46292
|
+
const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-MKSCD567.js");
|
|
46293
46293
|
const plan = await generateSecurityPlan2({ repo: slug, maxScanners: 10 });
|
|
46294
46294
|
const recs = plan.recommendations.slice(0, 5).map((r) => `${r.priority}: ${r.displayName} (${r.category})`).join("; ");
|
|
46295
46295
|
return output(PIPELINE_STATE_KEYS.FINDINGS, recs, getTimeProvider().now() - start, true);
|
|
@@ -49261,7 +49261,7 @@ var GitHubTaskTracker = class {
|
|
|
49261
49261
|
cachedProvider = null;
|
|
49262
49262
|
async getProvider() {
|
|
49263
49263
|
if (this.cachedProvider !== null) return this.cachedProvider;
|
|
49264
|
-
const { createScmProvider } = await import("./factory-
|
|
49264
|
+
const { createScmProvider } = await import("./factory-SC5D5P3C.js");
|
|
49265
49265
|
const result = await createScmProvider({ repo: this.config.repo ?? "" });
|
|
49266
49266
|
if (!result.ok) throw new Error(`SCM provider error: ${result.error.message}`);
|
|
49267
49267
|
this.cachedProvider = result.value;
|
|
@@ -50103,7 +50103,7 @@ async function probeSource(source, includeModelIds) {
|
|
|
50103
50103
|
}
|
|
50104
50104
|
}
|
|
50105
50105
|
async function defaultSources(includeOpenRouter) {
|
|
50106
|
-
const { createAllAdapters: createAllAdapters2 } = await import("./factory-
|
|
50106
|
+
const { createAllAdapters: createAllAdapters2 } = await import("./factory-7UFJ6LXW.js");
|
|
50107
50107
|
const adapters = createAllAdapters2();
|
|
50108
50108
|
return buildDefaultModelSources(adapters, { includeOpenRouter });
|
|
50109
50109
|
}
|
|
@@ -54123,4 +54123,4 @@ export {
|
|
|
54123
54123
|
shutdownFeedbackSubscriber,
|
|
54124
54124
|
createEventBusBridge
|
|
54125
54125
|
};
|
|
54126
|
-
//# sourceMappingURL=chunk-
|
|
54126
|
+
//# sourceMappingURL=chunk-2CB6QMRX.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
loadPapersRegistry
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-DJZGCMNU.js";
|
|
4
4
|
import {
|
|
5
5
|
getErrorMessage
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-Y5JA7XEO.js";
|
|
7
7
|
|
|
8
8
|
// src/cli/research-helpers-synthesize.ts
|
|
9
9
|
import { z } from "zod";
|
|
@@ -876,4 +876,4 @@ export {
|
|
|
876
876
|
AttributedInsightSchema,
|
|
877
877
|
synthesizeResearch
|
|
878
878
|
};
|
|
879
|
-
//# sourceMappingURL=chunk-
|
|
879
|
+
//# sourceMappingURL=chunk-3P7SMHBU.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getErrorMessage
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-Y5JA7XEO.js";
|
|
4
4
|
|
|
5
5
|
// src/cli/setup-config.ts
|
|
6
6
|
import { copyFileSync, existsSync, mkdirSync, writeFileSync } from "fs";
|
|
@@ -77,4 +77,4 @@ function ensureBackup(outputPath) {
|
|
|
77
77
|
export {
|
|
78
78
|
runConfigInitSync
|
|
79
79
|
};
|
|
80
|
-
//# sourceMappingURL=chunk-
|
|
80
|
+
//# sourceMappingURL=chunk-4PTAG65V.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
emitClawGuardViolation
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-VSETLO4Q.js";
|
|
4
4
|
import {
|
|
5
5
|
CACHE_TIMEOUTS,
|
|
6
6
|
MCP_TIMEOUTS,
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
getTimeProvider,
|
|
17
17
|
ok,
|
|
18
18
|
resolveToolClassGuardMs
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-Y5JA7XEO.js";
|
|
20
20
|
import {
|
|
21
21
|
getNexusDataDir
|
|
22
22
|
} from "./chunk-DHVMSIT5.js";
|
|
@@ -2023,4 +2023,4 @@ export {
|
|
|
2023
2023
|
VOTING_THRESHOLDS,
|
|
2024
2024
|
ConsensusMetricsSchema
|
|
2025
2025
|
};
|
|
2026
|
-
//# sourceMappingURL=chunk-
|
|
2026
|
+
//# sourceMappingURL=chunk-5QVJCBM4.js.map
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
isRateLimitLikeError,
|
|
12
12
|
lookupInTreeCapability,
|
|
13
13
|
ok
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-Y5JA7XEO.js";
|
|
15
15
|
|
|
16
16
|
// src/config/model-parameter-support.ts
|
|
17
17
|
function parseClaudeMajorMinor(bareId) {
|
|
@@ -828,4 +828,4 @@ export {
|
|
|
828
828
|
DEFAULT_COLLECT_STREAM_MAX_CHUNKS,
|
|
829
829
|
collectStream
|
|
830
830
|
};
|
|
831
|
-
//# sourceMappingURL=chunk-
|
|
831
|
+
//# sourceMappingURL=chunk-6RRAQFSX.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
runConfigInitSync
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4PTAG65V.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-YUCJ7VSJ.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-K6NXLBHG.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-Y5JA7XEO.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-ASJTVA7W.js.map
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
API_TIMEOUTS,
|
|
3
3
|
CLI_TIMEOUTS,
|
|
4
|
-
ConfigError,
|
|
5
4
|
INTERNAL_TIMEOUTS,
|
|
6
5
|
MCP_TIMEOUTS,
|
|
7
6
|
TEST_TIMEOUTS,
|
|
@@ -11,171 +10,11 @@ import {
|
|
|
11
10
|
createGetRateLimitConfig,
|
|
12
11
|
createGetRetryConfig,
|
|
13
12
|
createGetTimeout,
|
|
14
|
-
createGetToolRateLimit
|
|
15
|
-
|
|
16
|
-
err,
|
|
17
|
-
ok
|
|
18
|
-
} from "./chunk-KPM6FF6T.js";
|
|
19
|
-
|
|
20
|
-
// src/adapters/sdk/types.ts
|
|
21
|
-
var PROVIDER_ENV_KEYS = {
|
|
22
|
-
anthropic: "ANTHROPIC_API_KEY",
|
|
23
|
-
openai: "OPENAI_API_KEY",
|
|
24
|
-
google: "GOOGLE_AI_API_KEY",
|
|
25
|
-
"custom-openai": "NEXUS_CUSTOM_API_KEY"
|
|
26
|
-
};
|
|
27
|
-
var CUSTOM_API_BASE_URL_ENV = "NEXUS_CUSTOM_API_BASE_URL";
|
|
28
|
-
var CUSTOM_API_ALLOW_PRIVATE_ENV = "NEXUS_CUSTOM_API_ALLOW_PRIVATE";
|
|
29
|
-
|
|
30
|
-
// src/adapters/sdk/custom-api-validation.ts
|
|
31
|
-
import { isIPv4, isIPv6 } from "net";
|
|
32
|
-
import { lookup as dnsLookup } from "dns/promises";
|
|
33
|
-
var logger = createLogger({ module: "custom-api-validation" });
|
|
34
|
-
function validateCustomApiBaseUrl(raw, opts = {}) {
|
|
35
|
-
if (raw === void 0 || raw.trim() === "") {
|
|
36
|
-
return err(
|
|
37
|
-
new ConfigError(
|
|
38
|
-
"Custom API base URL is required but missing. Set NEXUS_CUSTOM_API_BASE_URL or pass `baseUrl` in config."
|
|
39
|
-
)
|
|
40
|
-
);
|
|
41
|
-
}
|
|
42
|
-
let url;
|
|
43
|
-
try {
|
|
44
|
-
url = new URL(raw);
|
|
45
|
-
} catch {
|
|
46
|
-
return err(new ConfigError(`Custom API base URL is not a valid URL: ${raw}`));
|
|
47
|
-
}
|
|
48
|
-
if (url.protocol !== "http:" && url.protocol !== "https:") {
|
|
49
|
-
return err(
|
|
50
|
-
new ConfigError(`Custom API base URL must use http or https, got "${url.protocol}" in ${raw}`)
|
|
51
|
-
);
|
|
52
|
-
}
|
|
53
|
-
const allowPrivate = opts.allowPrivate === true || resolveAllowPrivateFromEnv();
|
|
54
|
-
if (!allowPrivate) {
|
|
55
|
-
const rejection = classifyPrivateHost(url.hostname);
|
|
56
|
-
if (rejection !== null) {
|
|
57
|
-
return err(
|
|
58
|
-
new ConfigError(
|
|
59
|
-
`Custom API base URL rejected (SSRF guard, reason="${rejection.reason}"): ${rejection.message}. Set ${CUSTOM_API_ALLOW_PRIVATE_ENV}=1 to bypass if the gateway runs on a trusted internal host.`
|
|
60
|
-
)
|
|
61
|
-
);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return ok(url);
|
|
65
|
-
}
|
|
66
|
-
function resolveAllowPrivateFromEnv() {
|
|
67
|
-
const v = process.env[CUSTOM_API_ALLOW_PRIVATE_ENV];
|
|
68
|
-
return v === "1" || v === "true";
|
|
69
|
-
}
|
|
70
|
-
function classifyPrivateHost(hostname) {
|
|
71
|
-
const normalized = normalizeHost(hostname);
|
|
72
|
-
const literal = classifyIpAddress(normalized);
|
|
73
|
-
if (literal !== "not_an_ip") {
|
|
74
|
-
return literal;
|
|
75
|
-
}
|
|
76
|
-
if (normalized === "localhost" || normalized.endsWith(".localhost") || normalized.endsWith(".local")) {
|
|
77
|
-
return {
|
|
78
|
-
reason: "loopback",
|
|
79
|
-
message: `hostname "${hostname}" resolves to loopback/mDNS`
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
return null;
|
|
83
|
-
}
|
|
84
|
-
function normalizeHost(hostname) {
|
|
85
|
-
const stripped = hostname.startsWith("[") && hostname.endsWith("]") ? hostname.slice(1, -1) : hostname;
|
|
86
|
-
return stripped.toLowerCase();
|
|
87
|
-
}
|
|
88
|
-
function classifyIpAddress(normalized) {
|
|
89
|
-
if (isIPv4(normalized)) {
|
|
90
|
-
return classifyIPv4(normalized);
|
|
91
|
-
}
|
|
92
|
-
if (isIPv6(normalized)) {
|
|
93
|
-
return classifyIPv6(normalized);
|
|
94
|
-
}
|
|
95
|
-
return "not_an_ip";
|
|
96
|
-
}
|
|
97
|
-
async function assertCustomApiHostResolvesPublic(hostname, opts = {}) {
|
|
98
|
-
const allowPrivate = opts.allowPrivate === true || resolveAllowPrivateFromEnv();
|
|
99
|
-
if (allowPrivate) {
|
|
100
|
-
return ok(void 0);
|
|
101
|
-
}
|
|
102
|
-
const normalized = normalizeHost(hostname);
|
|
103
|
-
if (isIPv4(normalized) || isIPv6(normalized)) {
|
|
104
|
-
return ok(void 0);
|
|
105
|
-
}
|
|
106
|
-
let addresses;
|
|
107
|
-
try {
|
|
108
|
-
addresses = await dnsLookup(hostname, { all: true });
|
|
109
|
-
} catch (error) {
|
|
110
|
-
logger.debug("custom-api SSRF resolve check: DNS lookup failed, skipping (fail-open)", {
|
|
111
|
-
hostname,
|
|
112
|
-
error: error instanceof Error ? error.message : String(error)
|
|
113
|
-
});
|
|
114
|
-
return ok(void 0);
|
|
115
|
-
}
|
|
116
|
-
const rejection = firstPrivateAddress(addresses);
|
|
117
|
-
if (rejection !== null) {
|
|
118
|
-
return err(
|
|
119
|
-
new ConfigError(
|
|
120
|
-
`Custom API base URL rejected (SSRF resolve guard, reason="${rejection.reason}"): hostname "${hostname}" resolved to ${rejection.message}. Set ${CUSTOM_API_ALLOW_PRIVATE_ENV}=1 to bypass if the gateway runs on a trusted internal host.`
|
|
121
|
-
)
|
|
122
|
-
);
|
|
123
|
-
}
|
|
124
|
-
return ok(void 0);
|
|
125
|
-
}
|
|
126
|
-
function firstPrivateAddress(addresses) {
|
|
127
|
-
for (const { address } of addresses) {
|
|
128
|
-
const rejection = classifyIpAddress(address.toLowerCase());
|
|
129
|
-
if (rejection !== null && rejection !== "not_an_ip") {
|
|
130
|
-
return rejection;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
return null;
|
|
134
|
-
}
|
|
135
|
-
var IPV4_RULES = [
|
|
136
|
-
{ match: (a) => a === 127, reason: "loopback", label: "IPv4 loopback" },
|
|
137
|
-
{ match: (a) => a === 10, reason: "private_range", label: "IPv4 private (10/8)" },
|
|
138
|
-
{
|
|
139
|
-
match: (a, b) => a === 172 && b >= 16 && b <= 31,
|
|
140
|
-
reason: "private_range",
|
|
141
|
-
label: "IPv4 private (172.16/12)"
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
match: (a, b) => a === 192 && b === 168,
|
|
145
|
-
reason: "private_range",
|
|
146
|
-
label: "IPv4 private (192.168/16)"
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
match: (a, b) => a === 169 && b === 254,
|
|
150
|
-
reason: "link_local",
|
|
151
|
-
label: "IPv4 link-local (169.254/16 \u2014 AWS IMDS)"
|
|
152
|
-
},
|
|
153
|
-
{ match: (a) => a === 0, reason: "reserved", label: "IPv4 reserved (0/8)" }
|
|
154
|
-
];
|
|
155
|
-
function classifyIPv4(ip) {
|
|
156
|
-
const parts = ip.split(".").map((p) => Number.parseInt(p, 10));
|
|
157
|
-
if (parts.length !== 4 || parts.some((n) => Number.isNaN(n))) return null;
|
|
158
|
-
const [a, b] = parts;
|
|
159
|
-
for (const rule of IPV4_RULES) {
|
|
160
|
-
if (rule.match(a, b)) {
|
|
161
|
-
return { reason: rule.reason, message: `${rule.label} (${ip})` };
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
return null;
|
|
165
|
-
}
|
|
166
|
-
function classifyIPv6(ip) {
|
|
167
|
-
const lower = ip.toLowerCase();
|
|
168
|
-
if (lower === "::1") return { reason: "loopback", message: `IPv6 loopback (${ip})` };
|
|
169
|
-
if (lower.startsWith("fe80:"))
|
|
170
|
-
return { reason: "link_local", message: `IPv6 link-local (${ip})` };
|
|
171
|
-
if (/^fc|^fd/.test(lower)) {
|
|
172
|
-
return { reason: "private_range", message: `IPv6 unique-local (${ip}, fc00::/7)` };
|
|
173
|
-
}
|
|
174
|
-
return null;
|
|
175
|
-
}
|
|
13
|
+
createGetToolRateLimit
|
|
14
|
+
} from "./chunk-Y5JA7XEO.js";
|
|
176
15
|
|
|
177
16
|
// src/config/defaults.ts
|
|
178
|
-
var CUSTOM_API_DEFAULT_MODEL = "gpt-
|
|
17
|
+
var CUSTOM_API_DEFAULT_MODEL = "gpt-5.5";
|
|
179
18
|
var DEFAULTS = {
|
|
180
19
|
/**
|
|
181
20
|
* Default timeout settings in milliseconds.
|
|
@@ -388,12 +227,7 @@ var getToolRateLimit = createGetToolRateLimit(DEFAULTS.TOOL_RATE_LIMITS);
|
|
|
388
227
|
var getEnvVarDocumentation = createGetEnvVarDocumentation(DEFAULTS);
|
|
389
228
|
|
|
390
229
|
export {
|
|
391
|
-
PROVIDER_ENV_KEYS,
|
|
392
|
-
CUSTOM_API_BASE_URL_ENV,
|
|
393
|
-
CUSTOM_API_ALLOW_PRIVATE_ENV,
|
|
394
|
-
validateCustomApiBaseUrl,
|
|
395
|
-
assertCustomApiHostResolvesPublic,
|
|
396
230
|
CUSTOM_API_DEFAULT_MODEL,
|
|
397
231
|
DEFAULTS
|
|
398
232
|
};
|
|
399
|
-
//# sourceMappingURL=chunk-
|
|
233
|
+
//# sourceMappingURL=chunk-DGR27REV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/config/defaults.ts"],"sourcesContent":["/**\n * Central Configuration Defaults\n *\n * Consolidates common default values used across the codebase.\n * This prevents scattered magic numbers and ensures consistency.\n *\n * Usage:\n * import { DEFAULTS, getTimeout, TIMEOUT_PROFILES } from '../config/defaults.js';\n * const timeout = options.timeout ?? DEFAULTS.TIMEOUT_DEFAULTS.cliMs;\n * const cliTimeout = getTimeoutForCli('claude', 'complex');\n *\n * Environment overrides can be added via NEXUS_* environment variables.\n *\n * @module config/defaults\n * (Source: Central config consolidation initiative)\n */\n\n// Re-export types from defaults-types\nexport type {\n TaskComplexity,\n TimeoutProfile,\n KnownCliName,\n TimeoutDefaults,\n RateLimitDefaults,\n ToolRateLimitConfig,\n RetryDefaults,\n CircuitBreakerDefaults,\n} from './defaults-types.js';\n\nexport { isTaskComplexity, isKnownCliName } from './defaults-types.js';\n\n// Re-export timeout profiles (delegates to config/timeouts.ts)\nexport {\n TIMEOUT_PROFILES,\n getTimeoutProfile,\n getTimeoutForCli,\n} from './defaults-timeout-profiles.js';\n\n// Re-export canonical timeout modules (Issue #984)\nexport {\n CLI_TIMEOUTS,\n VOTE_TIMEOUTS,\n MCP_TIMEOUTS,\n WORKFLOW_TIMEOUTS,\n GRAPH_TIMEOUTS,\n PER_CLI_TASK_TIMEOUTS,\n API_TIMEOUTS,\n INTERNAL_TIMEOUTS,\n TEST_TIMEOUTS,\n TIMEOUT_ENV_VARS,\n getCliTimeoutProfile,\n getCliTimeout,\n resolveVoteTimeout,\n resolveEnvTimeout,\n validateTimeout,\n BACKOFF_CONFIG,\n AGENT_ROUTER_TIMEOUTS,\n CODEX_MCP_TIMEOUTS,\n} from './timeouts.js';\n\n// Re-export env helpers (internal use)\nexport { parseIntEnv, parseFloatEnv, parseBoolEnv } from './defaults-env.js';\n\nimport {\n createGetTimeout,\n createGetRetryConfig,\n createGetRateLimitConfig,\n createGetCircuitBreakerConfig,\n createGetToolRateLimit,\n createGetEnvVarDocumentation,\n} from './defaults-env.js';\nimport {\n API_TIMEOUTS as _API,\n WORKFLOW_TIMEOUTS as _WF,\n MCP_TIMEOUTS as _MCP,\n INTERNAL_TIMEOUTS as _INT,\n TEST_TIMEOUTS as _TEST,\n CLI_TIMEOUTS as _CLI,\n} from './timeouts.js';\n\n// ============================================================================\n// Default Model IDs (#2200 Child 4)\n// ============================================================================\n\n/**\n * Default model identifier for the custom OpenAI-compatible API gateway.\n *\n * Used by both `cli/setup-custom-api.ts` (write to nexus-agents.yaml) and\n * `adapters/auto-adapter.ts` (NEXUS_CUSTOM_MODEL env-var fallback). Single\n * source of truth so changes flow through all consumers.\n *\n * `gpt-4o` was the previous value, chosen because it was widely supported across\n * OpenAI-compatible gateways. It is now END-OF-LIFE at OpenAI, so defaulting to\n * it points new operators at a model their gateway may well refuse (#4408).\n *\n * A custom gateway can serve anything, so ANY default here is a guess — the\n * right long-term answer is to discover the model list from the endpoint\n * (`GET /v1/models`, which this repo already implements) rather than assume one.\n * Until that is wired, guess a current model instead of a retired one.\n *\n * Operators are expected to override via `NEXUS_CUSTOM_MODEL`.\n */\nexport const CUSTOM_API_DEFAULT_MODEL = 'gpt-5.5';\n\n// ============================================================================\n// Central Defaults Object\n// ============================================================================\n\n/**\n * Central defaults object containing all configuration categories.\n */\nexport const DEFAULTS = {\n /**\n * Default timeout settings in milliseconds.\n * Values sourced from config/timeouts.ts (Issue #984).\n */\n TIMEOUT_DEFAULTS: {\n /** CLI tool execution timeout in milliseconds. */\n cliMs: _CLI.default.standard,\n // cliSimpleMs / cliComplexMs removed in #4180 — never read by any production\n // code (the matching NEXUS_TIMEOUT_CLISIMPLE/CLICOMPLEX env vars were silent\n // no-ops, #2977 class). Per-complexity CLI timeouts come from\n // getTimeoutForCli/TIMEOUT_PROFILES (CLI_TIMEOUTS in config/timeouts.ts).\n /** API request timeout in milliseconds. */\n apiMs: _API.defaultMs,\n /** Maximum API timeout in milliseconds. */\n apiMaxMs: _API.maxMs,\n /** Workflow-level timeout in milliseconds (5 minutes). */\n workflowMs: _WF.workflowMs,\n /** Maximum workflow timeout in milliseconds (30 minutes). */\n workflowMaxMs: _WF.workflowMaxMs,\n /** Step-level timeout in milliseconds. */\n stepMs: _INT.selfEvalMs,\n /** MCP operation default timeout in milliseconds (generic, not per-tool). */\n mcpMs: _API.defaultMs,\n /** MCP operation maximum timeout in milliseconds. */\n mcpMaxMs: _MCP.maxMs,\n /** Health check timeout in milliseconds. */\n healthCheckMs: _INT.healthCheckMs,\n /** Global test run timeout in milliseconds (10 minutes). */\n testGlobalMs: _TEST.globalMs,\n /** Per-task test timeout in milliseconds. */\n testTaskMs: _TEST.taskMs,\n /** Circuit breaker reset timeout in milliseconds. */\n circuitBreakerResetMs: _INT.circuitBreakerResetMs,\n },\n\n /**\n * Default rate limit settings for outbound operations.\n */\n RATE_LIMIT_DEFAULTS: {\n /** Global requests per minute. */\n requestsPerMinute: 60,\n /** Whether rate limiting is enabled by default. */\n enabled: true,\n /** Maximum number of concurrent requests. */\n maxConcurrent: 4,\n /** Token bucket capacity. */\n capacity: 100,\n /** Token bucket refill rate per second. */\n refillRate: 10,\n /** Refill interval in milliseconds. */\n refillIntervalMs: 100,\n },\n\n /**\n * Per-tool rate limit defaults for MCP tools.\n * (Source: Issue #274 Phase 2 - per-tool rate limits)\n */\n TOOL_RATE_LIMITS: {\n orchestrate: { capacity: 10, refillRate: 10, refillIntervalMs: 60_000 },\n delegate: { capacity: 20, refillRate: 20, refillIntervalMs: 60_000 },\n workflow: { capacity: 5, refillRate: 5, refillIntervalMs: 60_000 },\n expert: { capacity: 30, refillRate: 30, refillIntervalMs: 60_000 },\n },\n\n /**\n * Default retry strategy settings for transient failures.\n */\n RETRY_DEFAULTS: {\n /** Maximum retry attempts before failing. */\n maxRetries: 3,\n /** Base delay between retries in milliseconds. */\n baseDelayMs: 1_000,\n /** Maximum delay between retries in milliseconds. */\n maxDelayMs: 30_000,\n /** Jitter factor (0-1) to randomize retry delays. */\n jitterFactor: 0.1,\n },\n\n /**\n * Workflow-specific retry defaults.\n */\n WORKFLOW_RETRY_DEFAULTS: {\n /** Maximum retry attempts for workflow steps. */\n maxRetries: 2,\n /** Base delay for workflow retries in milliseconds. */\n baseDelayMs: 2_000,\n /** Maximum delay for workflow retries in milliseconds. */\n maxDelayMs: 60_000,\n /** Jitter factor for workflow retries. */\n jitterFactor: 0.15,\n },\n\n /**\n * CLI-specific retry defaults.\n */\n CLI_RETRY_DEFAULTS: {\n /** Maximum retry attempts for CLI operations. */\n maxRetries: 2,\n /** Base delay for CLI retries in milliseconds. */\n baseDelayMs: 5_000,\n /** Maximum delay for CLI retries in milliseconds. */\n maxDelayMs: 60_000,\n /** Jitter factor for CLI retries. */\n jitterFactor: 0.2,\n },\n\n /**\n * Test framework retry defaults.\n */\n TEST_RETRY_DEFAULTS: {\n /** Maximum retries per test task. */\n maxRetries: 2,\n /** Whether to retry failed tasks by default. */\n retryFailedTasks: true,\n },\n\n /**\n * Default buffer sizing for batching and chunked processing.\n */\n BUFFER_DEFAULTS: {\n /** Preferred batch size for bulk operations. */\n batchSize: 100,\n /** Chunk size for streaming or segmented processing. */\n chunkSize: 256,\n /** Maximum items allowed in a buffer. */\n maxItems: 1_000,\n /** Maximum memory size in bytes (10 MB). */\n maxMemoryBytes: 10 * 1024 * 1024,\n /** Log buffer flush interval in milliseconds. */\n logFlushIntervalMs: 5_000,\n },\n\n // WORKER_DEFAULTS removed in #2977 — the eight settings under this category\n // (maxWorkers, poolSize, idleTimeoutMs, workflowMaxParallel, testParallelism,\n // evaluationMaxWorkers, eventBusMaxHistory, swarmObserverMaxEvents) had zero\n // production consumers. `getWorkerConfig()` was never called from anywhere\n // in src/, and the matching NEXUS_WORKERS_* env vars were silent no-ops.\n // Silent config rot is worse than missing knobs; re-add when a concrete\n // consumer exists.\n\n /**\n * Default circuit breaker settings.\n * (Source: Issue #81 - Circuit breaker for CLI failures)\n */\n CIRCUIT_BREAKER_DEFAULTS: {\n /** Failure threshold to open circuit. */\n failureThreshold: 5,\n /** Reset timeout in milliseconds. */\n resetTimeoutMs: 30_000,\n /** Success threshold to close circuit in half-open state. */\n halfOpenSuccessThreshold: 2,\n /** Whether to count timeouts as failures. */\n countTimeoutsAsFailures: true,\n /** Whether to count auth failures as failures. */\n countAuthFailuresAsFailures: false,\n /** Whether to count rate limit errors as failures (#1529). */\n countRateLimitsAsFailures: true,\n /** Maximum requests allowed in half-open state. */\n halfOpenMaxRequests: 3,\n },\n\n /**\n * Default context/memory settings.\n */\n CONTEXT_DEFAULTS: {\n /** Maximum context tokens. */\n maxTokens: 100_000,\n /** Token budget warning threshold (80%). */\n warningThreshold: 0.8,\n /** Token budget critical threshold (95%). */\n criticalThreshold: 0.95,\n /** Maximum history entries to retain. */\n maxHistoryEntries: 1_000,\n },\n\n /**\n * Default provider/model settings.\n */\n PROVIDER_DEFAULTS: {\n /** Default timeout for provider API calls in ms. */\n timeout: 30_000,\n /** Maximum retries for provider requests. */\n maxRetries: 3,\n /** Default model tier. */\n defaultTier: 'balanced' as const,\n /** Default temperature. */\n temperatureDefault: 0.3,\n /** Minimum temperature. */\n temperatureMin: 0,\n /** Maximum temperature. */\n temperatureMax: 1,\n /** Billing mode: 'plan' (monthly subscription) or 'api' (pay-per-token). Env: NEXUS_BILLING_MODE */\n billingMode: 'plan' as const,\n },\n\n /**\n * Security-related defaults.\n */\n SECURITY_DEFAULTS: {\n /** Maximum system prompt length in characters. */\n maxSystemPromptLength: 4_000,\n /** Default policy execution mode. */\n policyDefaultMode: 'read-only' as const,\n /** Default policy mode. */\n policyMode: 'enforce' as const,\n /** Default sandbox mode. */\n sandboxMode: 'policy' as const,\n /** Whether to fall back to policy mode if container unavailable. */\n sandboxFallbackToPolicy: true,\n /** Whether network is enabled in container mode. */\n sandboxNetworkEnabled: false,\n },\n} as const;\n\n// ============================================================================\n// Type Exports for DEFAULTS\n// ============================================================================\n\n/** Type for the DEFAULTS object (readonly/const). */\nexport type DefaultsConfig = typeof DEFAULTS;\n\n/** Type for timeout defaults (readonly/const). */\nexport type TimeoutDefaultsConst = typeof DEFAULTS.TIMEOUT_DEFAULTS;\n\n/** Type for rate limit defaults (readonly/const). */\nexport type RateLimitDefaultsConst = typeof DEFAULTS.RATE_LIMIT_DEFAULTS;\n\n/** Type for retry defaults (readonly/const). */\nexport type RetryDefaultsConst = typeof DEFAULTS.RETRY_DEFAULTS;\n\n/** Type for buffer defaults (readonly/const). */\nexport type BufferDefaults = typeof DEFAULTS.BUFFER_DEFAULTS;\n\n/** Type for circuit breaker defaults (readonly/const). */\nexport type CircuitBreakerDefaultsConst = typeof DEFAULTS.CIRCUIT_BREAKER_DEFAULTS;\n\n/** Type for context defaults (readonly/const). */\nexport type ContextDefaults = typeof DEFAULTS.CONTEXT_DEFAULTS;\n\n/** Type for provider defaults (readonly/const). */\nexport type ProviderDefaults = typeof DEFAULTS.PROVIDER_DEFAULTS;\n\n/** Type for security defaults (readonly/const). */\nexport type SecurityDefaults = typeof DEFAULTS.SECURITY_DEFAULTS;\n\n// ============================================================================\n// Environment Override Functions (bound to DEFAULTS)\n// ============================================================================\n\n/**\n * Get timeout with environment override support.\n *\n * @param key - Timeout key (e.g., 'cliMs', 'apiMs')\n * @returns Timeout value in milliseconds\n */\nexport const getTimeout = createGetTimeout(DEFAULTS.TIMEOUT_DEFAULTS);\n\n/**\n * Get retry config with environment override support.\n *\n * @returns Retry configuration\n */\nexport const getRetryConfig = createGetRetryConfig(DEFAULTS.RETRY_DEFAULTS);\n\n/**\n * Get rate limit config with environment override support.\n *\n * @returns Rate limit configuration\n */\nexport const getRateLimitConfig = createGetRateLimitConfig(DEFAULTS.RATE_LIMIT_DEFAULTS);\n\n/**\n * Gets the circuit breaker configuration.\n *\n * @returns Circuit breaker configuration\n */\nexport const getCircuitBreakerConfig = createGetCircuitBreakerConfig(\n DEFAULTS.CIRCUIT_BREAKER_DEFAULTS\n);\n\n/**\n * Gets the tool rate limit configuration for a specific tool category.\n *\n * @param tool - Tool category (orchestrate, delegate, workflow, expert)\n * @returns Rate limit configuration\n */\nexport const getToolRateLimit = createGetToolRateLimit(DEFAULTS.TOOL_RATE_LIMITS);\n\n// ============================================================================\n// Documentation Helper\n// ============================================================================\n\n/**\n * Returns documentation for all environment variable overrides.\n *\n * @returns Markdown documentation string\n */\nexport const getEnvVarDocumentation = createGetEnvVarDocumentation(DEFAULTS);\n"],"mappings":";;;;;;;;;;;;;;;;AAsGO,IAAM,2BAA2B;AASjC,IAAM,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA,EAKtB,kBAAkB;AAAA;AAAA,IAEhB,OAAO,aAAK,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMpB,OAAO,aAAK;AAAA;AAAA,IAEZ,UAAU,aAAK;AAAA;AAAA,IAEf,YAAY,kBAAI;AAAA;AAAA,IAEhB,eAAe,kBAAI;AAAA;AAAA,IAEnB,QAAQ,kBAAK;AAAA;AAAA,IAEb,OAAO,aAAK;AAAA;AAAA,IAEZ,UAAU,aAAK;AAAA;AAAA,IAEf,eAAe,kBAAK;AAAA;AAAA,IAEpB,cAAc,cAAM;AAAA;AAAA,IAEpB,YAAY,cAAM;AAAA;AAAA,IAElB,uBAAuB,kBAAK;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA,EAKA,qBAAqB;AAAA;AAAA,IAEnB,mBAAmB;AAAA;AAAA,IAEnB,SAAS;AAAA;AAAA,IAET,eAAe;AAAA;AAAA,IAEf,UAAU;AAAA;AAAA,IAEV,YAAY;AAAA;AAAA,IAEZ,kBAAkB;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,kBAAkB;AAAA,IAChB,aAAa,EAAE,UAAU,IAAI,YAAY,IAAI,kBAAkB,IAAO;AAAA,IACtE,UAAU,EAAE,UAAU,IAAI,YAAY,IAAI,kBAAkB,IAAO;AAAA,IACnE,UAAU,EAAE,UAAU,GAAG,YAAY,GAAG,kBAAkB,IAAO;AAAA,IACjE,QAAQ,EAAE,UAAU,IAAI,YAAY,IAAI,kBAAkB,IAAO;AAAA,EACnE;AAAA;AAAA;AAAA;AAAA,EAKA,gBAAgB;AAAA;AAAA,IAEd,YAAY;AAAA;AAAA,IAEZ,aAAa;AAAA;AAAA,IAEb,YAAY;AAAA;AAAA,IAEZ,cAAc;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,yBAAyB;AAAA;AAAA,IAEvB,YAAY;AAAA;AAAA,IAEZ,aAAa;AAAA;AAAA,IAEb,YAAY;AAAA;AAAA,IAEZ,cAAc;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAoB;AAAA;AAAA,IAElB,YAAY;AAAA;AAAA,IAEZ,aAAa;AAAA;AAAA,IAEb,YAAY;AAAA;AAAA,IAEZ,cAAc;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,qBAAqB;AAAA;AAAA,IAEnB,YAAY;AAAA;AAAA,IAEZ,kBAAkB;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA,EAKA,iBAAiB;AAAA;AAAA,IAEf,WAAW;AAAA;AAAA,IAEX,WAAW;AAAA;AAAA,IAEX,UAAU;AAAA;AAAA,IAEV,gBAAgB,KAAK,OAAO;AAAA;AAAA,IAE5B,oBAAoB;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,0BAA0B;AAAA;AAAA,IAExB,kBAAkB;AAAA;AAAA,IAElB,gBAAgB;AAAA;AAAA,IAEhB,0BAA0B;AAAA;AAAA,IAE1B,yBAAyB;AAAA;AAAA,IAEzB,6BAA6B;AAAA;AAAA,IAE7B,2BAA2B;AAAA;AAAA,IAE3B,qBAAqB;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA,EAKA,kBAAkB;AAAA;AAAA,IAEhB,WAAW;AAAA;AAAA,IAEX,kBAAkB;AAAA;AAAA,IAElB,mBAAmB;AAAA;AAAA,IAEnB,mBAAmB;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA,EAKA,mBAAmB;AAAA;AAAA,IAEjB,SAAS;AAAA;AAAA,IAET,YAAY;AAAA;AAAA,IAEZ,aAAa;AAAA;AAAA,IAEb,oBAAoB;AAAA;AAAA,IAEpB,gBAAgB;AAAA;AAAA,IAEhB,gBAAgB;AAAA;AAAA,IAEhB,aAAa;AAAA,EACf;AAAA;AAAA;AAAA;AAAA,EAKA,mBAAmB;AAAA;AAAA,IAEjB,uBAAuB;AAAA;AAAA,IAEvB,mBAAmB;AAAA;AAAA,IAEnB,YAAY;AAAA;AAAA,IAEZ,aAAa;AAAA;AAAA,IAEb,yBAAyB;AAAA;AAAA,IAEzB,uBAAuB;AAAA,EACzB;AACF;AA2CO,IAAM,aAAa,iBAAiB,SAAS,gBAAgB;AAO7D,IAAM,iBAAiB,qBAAqB,SAAS,cAAc;AAOnE,IAAM,qBAAqB,yBAAyB,SAAS,mBAAmB;AAOhF,IAAM,0BAA0B;AAAA,EACrC,SAAS;AACX;AAQO,IAAM,mBAAmB,uBAAuB,SAAS,gBAAgB;AAWzE,IAAM,yBAAyB,6BAA6B,QAAQ;","names":[]}
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
getErrorMessage,
|
|
9
9
|
ok,
|
|
10
10
|
parseBoolEnv
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-Y5JA7XEO.js";
|
|
12
12
|
|
|
13
13
|
// src/cli/research-helpers-io.ts
|
|
14
14
|
import * as fs2 from "fs/promises";
|
|
@@ -146,4 +146,4 @@ export {
|
|
|
146
146
|
loadPapersRegistry,
|
|
147
147
|
savePapersRegistry
|
|
148
148
|
};
|
|
149
|
-
//# sourceMappingURL=chunk-
|
|
149
|
+
//# sourceMappingURL=chunk-DJZGCMNU.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
err,
|
|
5
5
|
getErrorMessage,
|
|
6
6
|
ok
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-Y5JA7XEO.js";
|
|
8
8
|
|
|
9
9
|
// src/scm/types.ts
|
|
10
10
|
var ScmError = class extends Error {
|
|
@@ -263,4 +263,4 @@ export {
|
|
|
263
263
|
ScmError,
|
|
264
264
|
GitHubProvider
|
|
265
265
|
};
|
|
266
|
-
//# sourceMappingURL=chunk-
|
|
266
|
+
//# sourceMappingURL=chunk-E35RUETV.js.map
|