nexus-agents 4.22.0 → 4.22.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-GNF2DS7K.js → child-mcp-config-Y3QSDCYI.js} +2 -2
- package/dist/{chunk-IDLQNS5U.js → chunk-2SVIHHNJ.js} +3 -3
- package/dist/{chunk-MDVHI3PP.js → chunk-6U3LS57H.js} +6 -6
- package/dist/{chunk-RNMJUIPI.js → chunk-BG2LQ5I2.js} +95 -55
- package/dist/{chunk-RNMJUIPI.js.map → chunk-BG2LQ5I2.js.map} +1 -1
- package/dist/{chunk-26VBDXT7.js → chunk-BK3NHWSW.js} +3 -3
- package/dist/{chunk-TV3L3GME.js → chunk-CBORIR4Y.js} +2 -2
- package/dist/{chunk-JJC5YKBH.js → chunk-D6ZTSN34.js} +3 -3
- package/dist/{chunk-6MVRXQ6V.js → chunk-DGLAEH7Y.js} +2 -2
- package/dist/{chunk-HVCYICUX.js → chunk-EU7S5CDW.js} +35 -24
- package/dist/chunk-EU7S5CDW.js.map +1 -0
- package/dist/{chunk-QWTDGESS.js → chunk-FVUQY73A.js} +2 -2
- package/dist/{chunk-HWBUN7WP.js → chunk-GMJQ6QMZ.js} +2 -2
- package/dist/{chunk-S3EAMH4I.js → chunk-H7CV35LZ.js} +3 -3
- package/dist/{chunk-2SXZIUEA.js → chunk-ICGYXBS6.js} +2 -2
- package/dist/{chunk-3AAAEN6N.js → chunk-IK6JPHMX.js} +5 -5
- package/dist/{chunk-IIJSUNEK.js → chunk-JDWXD3YZ.js} +7 -7
- package/dist/{chunk-C67BIG35.js → chunk-JM42KPWJ.js} +8 -8
- package/dist/{chunk-3X2ZQAJI.js → chunk-JR4XD3T7.js} +4 -4
- package/dist/{chunk-BZTFS7FN.js → chunk-JV6SMJMJ.js} +2 -2
- package/dist/{chunk-Z6W6G35I.js → chunk-KDUSLLZM.js} +2 -2
- package/dist/{chunk-PT3QWCKF.js → chunk-MM7BINTV.js} +3 -3
- package/dist/{chunk-MNPD6TMW.js → chunk-MTGMOLRO.js} +2 -2
- package/dist/{chunk-7B5YTCHU.js → chunk-P422WQJM.js} +2 -2
- package/dist/{chunk-KASC5XK7.js → chunk-PSXX2GBZ.js} +7 -7
- package/dist/{chunk-VZHZFAYL.js → chunk-QRG7UR2F.js} +2 -2
- package/dist/{chunk-LYI5GXON.js → chunk-RE2GYZRK.js} +5 -5
- package/dist/{chunk-PAZLJC46.js → chunk-RMTTKP4L.js} +2 -2
- package/dist/{chunk-BDEWOJL4.js → chunk-SBLLJXJO.js} +2 -2
- package/dist/{chunk-ZDLWHEFZ.js → chunk-TBXAEAKP.js} +2 -2
- package/dist/{chunk-M4BAGHYQ.js → chunk-TMKBZG3W.js} +2 -2
- package/dist/{chunk-AQV5RKO7.js → chunk-V533P6BT.js} +4 -4
- package/dist/{chunk-G2USF7DN.js → chunk-W2DYH4WL.js} +8 -8
- package/dist/{chunk-NF7GW4QQ.js → chunk-X7MLVGJV.js} +2 -2
- package/dist/{chunk-AJM6RCCB.js → chunk-XYWCZNFC.js} +2 -2
- package/dist/{cli-circuit-breaker-NSXLDTKZ.js → cli-circuit-breaker-T2IKLJVA.js} +3 -3
- package/dist/cli.js +57 -44
- package/dist/cli.js.map +1 -1
- package/dist/{composite-router-ULSYJV7S.js → composite-router-CCDCVYTY.js} +2 -2
- package/dist/{consensus-vote-OUZGLMJ4.js → consensus-vote-TMMGZROW.js} +16 -16
- package/dist/{context-retriever-QAZWTGAT.js → context-retriever-CKJ7EJME.js} +8 -8
- package/dist/{doctor-deep-IWQUV5IH.js → doctor-deep-MIQ5QYUL.js} +3 -3
- package/dist/{doctor-live-MJSBAH5J.js → doctor-live-IAERE7DO.js} +9 -9
- package/dist/{expert-bridge-6D43UDLS.js → expert-bridge-5MK4DOB7.js} +4 -4
- package/dist/{factory-2MLMLJDK.js → factory-6FNJM6P3.js} +9 -9
- package/dist/{factory-GUBAT3HH.js → factory-OO7MN24L.js} +5 -5
- package/dist/{improvement-review-W6HJIQLG.js → improvement-review-DKCVIJSF.js} +5 -5
- package/dist/index.d.ts +9 -0
- package/dist/index.js +30 -30
- package/dist/{init-opencode-TCP3OSFK.js → init-opencode-CM2HL2PI.js} +6 -6
- package/dist/issue-triage-NH25YRNT.js +17 -0
- package/dist/{pr-reviewer-helpers-VKQR2T3Y.js → pr-reviewer-helpers-Q6GRH5PP.js} +4 -4
- package/dist/{registry-command-ALLKEWVO.js → registry-command-BYRGRQ3I.js} +2 -2
- package/dist/{repo-security-plan-SJYA5PJC.js → repo-security-plan-NP6AT3NR.js} +3 -3
- package/dist/{research-helpers-synthesize-ERZD3P4M.js → research-helpers-synthesize-2R6TO2SP.js} +4 -4
- package/dist/{routing-memory-4WAKAU2L.js → routing-memory-IZH3XQQH.js} +2 -2
- package/dist/{session-memory-XR5FJQSM.js → session-memory-OWEWA5BX.js} +3 -3
- package/dist/{setup-config-26GAKOC3.js → setup-config-O7LHHD42.js} +3 -3
- package/dist/{setup-custom-api-TKMWDJJW.js → setup-custom-api-OZ3QCQTJ.js} +4 -4
- package/dist/setup-data-dir-T6K5PKM5.js +28 -0
- package/dist/{tool-memory-QCZKITSG.js → tool-memory-LYKMCW7U.js} +5 -5
- package/dist/{unified-registry-63G7RTA6.js → unified-registry-ZSPVJ4BO.js} +10 -10
- package/dist/{weather-report-JVVJXNQY.js → weather-report-4OFVK5Q5.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-HVCYICUX.js.map +0 -1
- package/dist/issue-triage-CLHI2MHK.js +0 -17
- package/dist/setup-data-dir-HTZZ5FII.js +0 -28
- /package/dist/{child-mcp-config-GNF2DS7K.js.map → child-mcp-config-Y3QSDCYI.js.map} +0 -0
- /package/dist/{chunk-IDLQNS5U.js.map → chunk-2SVIHHNJ.js.map} +0 -0
- /package/dist/{chunk-MDVHI3PP.js.map → chunk-6U3LS57H.js.map} +0 -0
- /package/dist/{chunk-26VBDXT7.js.map → chunk-BK3NHWSW.js.map} +0 -0
- /package/dist/{chunk-TV3L3GME.js.map → chunk-CBORIR4Y.js.map} +0 -0
- /package/dist/{chunk-JJC5YKBH.js.map → chunk-D6ZTSN34.js.map} +0 -0
- /package/dist/{chunk-6MVRXQ6V.js.map → chunk-DGLAEH7Y.js.map} +0 -0
- /package/dist/{chunk-QWTDGESS.js.map → chunk-FVUQY73A.js.map} +0 -0
- /package/dist/{chunk-HWBUN7WP.js.map → chunk-GMJQ6QMZ.js.map} +0 -0
- /package/dist/{chunk-S3EAMH4I.js.map → chunk-H7CV35LZ.js.map} +0 -0
- /package/dist/{chunk-2SXZIUEA.js.map → chunk-ICGYXBS6.js.map} +0 -0
- /package/dist/{chunk-3AAAEN6N.js.map → chunk-IK6JPHMX.js.map} +0 -0
- /package/dist/{chunk-IIJSUNEK.js.map → chunk-JDWXD3YZ.js.map} +0 -0
- /package/dist/{chunk-C67BIG35.js.map → chunk-JM42KPWJ.js.map} +0 -0
- /package/dist/{chunk-3X2ZQAJI.js.map → chunk-JR4XD3T7.js.map} +0 -0
- /package/dist/{chunk-BZTFS7FN.js.map → chunk-JV6SMJMJ.js.map} +0 -0
- /package/dist/{chunk-Z6W6G35I.js.map → chunk-KDUSLLZM.js.map} +0 -0
- /package/dist/{chunk-PT3QWCKF.js.map → chunk-MM7BINTV.js.map} +0 -0
- /package/dist/{chunk-MNPD6TMW.js.map → chunk-MTGMOLRO.js.map} +0 -0
- /package/dist/{chunk-7B5YTCHU.js.map → chunk-P422WQJM.js.map} +0 -0
- /package/dist/{chunk-KASC5XK7.js.map → chunk-PSXX2GBZ.js.map} +0 -0
- /package/dist/{chunk-VZHZFAYL.js.map → chunk-QRG7UR2F.js.map} +0 -0
- /package/dist/{chunk-LYI5GXON.js.map → chunk-RE2GYZRK.js.map} +0 -0
- /package/dist/{chunk-PAZLJC46.js.map → chunk-RMTTKP4L.js.map} +0 -0
- /package/dist/{chunk-BDEWOJL4.js.map → chunk-SBLLJXJO.js.map} +0 -0
- /package/dist/{chunk-ZDLWHEFZ.js.map → chunk-TBXAEAKP.js.map} +0 -0
- /package/dist/{chunk-M4BAGHYQ.js.map → chunk-TMKBZG3W.js.map} +0 -0
- /package/dist/{chunk-AQV5RKO7.js.map → chunk-V533P6BT.js.map} +0 -0
- /package/dist/{chunk-G2USF7DN.js.map → chunk-W2DYH4WL.js.map} +0 -0
- /package/dist/{chunk-NF7GW4QQ.js.map → chunk-X7MLVGJV.js.map} +0 -0
- /package/dist/{chunk-AJM6RCCB.js.map → chunk-XYWCZNFC.js.map} +0 -0
- /package/dist/{cli-circuit-breaker-NSXLDTKZ.js.map → cli-circuit-breaker-T2IKLJVA.js.map} +0 -0
- /package/dist/{composite-router-ULSYJV7S.js.map → composite-router-CCDCVYTY.js.map} +0 -0
- /package/dist/{consensus-vote-OUZGLMJ4.js.map → consensus-vote-TMMGZROW.js.map} +0 -0
- /package/dist/{context-retriever-QAZWTGAT.js.map → context-retriever-CKJ7EJME.js.map} +0 -0
- /package/dist/{doctor-deep-IWQUV5IH.js.map → doctor-deep-MIQ5QYUL.js.map} +0 -0
- /package/dist/{doctor-live-MJSBAH5J.js.map → doctor-live-IAERE7DO.js.map} +0 -0
- /package/dist/{expert-bridge-6D43UDLS.js.map → expert-bridge-5MK4DOB7.js.map} +0 -0
- /package/dist/{factory-2MLMLJDK.js.map → factory-6FNJM6P3.js.map} +0 -0
- /package/dist/{factory-GUBAT3HH.js.map → factory-OO7MN24L.js.map} +0 -0
- /package/dist/{improvement-review-W6HJIQLG.js.map → improvement-review-DKCVIJSF.js.map} +0 -0
- /package/dist/{init-opencode-TCP3OSFK.js.map → init-opencode-CM2HL2PI.js.map} +0 -0
- /package/dist/{issue-triage-CLHI2MHK.js.map → issue-triage-NH25YRNT.js.map} +0 -0
- /package/dist/{pr-reviewer-helpers-VKQR2T3Y.js.map → pr-reviewer-helpers-Q6GRH5PP.js.map} +0 -0
- /package/dist/{registry-command-ALLKEWVO.js.map → registry-command-BYRGRQ3I.js.map} +0 -0
- /package/dist/{repo-security-plan-SJYA5PJC.js.map → repo-security-plan-NP6AT3NR.js.map} +0 -0
- /package/dist/{research-helpers-synthesize-ERZD3P4M.js.map → research-helpers-synthesize-2R6TO2SP.js.map} +0 -0
- /package/dist/{routing-memory-4WAKAU2L.js.map → routing-memory-IZH3XQQH.js.map} +0 -0
- /package/dist/{session-memory-XR5FJQSM.js.map → session-memory-OWEWA5BX.js.map} +0 -0
- /package/dist/{setup-config-26GAKOC3.js.map → setup-config-O7LHHD42.js.map} +0 -0
- /package/dist/{setup-custom-api-TKMWDJJW.js.map → setup-custom-api-OZ3QCQTJ.js.map} +0 -0
- /package/dist/{setup-data-dir-HTZZ5FII.js.map → setup-data-dir-T6K5PKM5.js.map} +0 -0
- /package/dist/{tool-memory-QCZKITSG.js.map → tool-memory-LYKMCW7U.js.map} +0 -0
- /package/dist/{unified-registry-63G7RTA6.js.map → unified-registry-ZSPVJ4BO.js.map} +0 -0
- /package/dist/{weather-report-JVVJXNQY.js.map → weather-report-4OFVK5Q5.js.map} +0 -0
package/dist/cli.js
CHANGED
|
@@ -18,11 +18,11 @@ import {
|
|
|
18
18
|
generateSummary,
|
|
19
19
|
parseFindings,
|
|
20
20
|
sumFindings
|
|
21
|
-
} from "./chunk-
|
|
22
|
-
import "./chunk-
|
|
21
|
+
} from "./chunk-BK3NHWSW.js";
|
|
22
|
+
import "./chunk-JV6SMJMJ.js";
|
|
23
23
|
import {
|
|
24
24
|
runConfigInitSync
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-FVUQY73A.js";
|
|
26
26
|
import {
|
|
27
27
|
AuthHandler,
|
|
28
28
|
CustomExpertDefinitionSchema,
|
|
@@ -153,8 +153,8 @@ import {
|
|
|
153
153
|
validateNexusEnv,
|
|
154
154
|
validateWorkflow,
|
|
155
155
|
wrapInMarkdownFence
|
|
156
|
-
} from "./chunk-
|
|
157
|
-
import "./chunk-
|
|
156
|
+
} from "./chunk-BG2LQ5I2.js";
|
|
157
|
+
import "./chunk-QRG7UR2F.js";
|
|
158
158
|
import "./chunk-HFOQKCD2.js";
|
|
159
159
|
import "./chunk-RSMG2DPB.js";
|
|
160
160
|
import {
|
|
@@ -173,14 +173,14 @@ import {
|
|
|
173
173
|
doctorCommand,
|
|
174
174
|
initDataDirectories,
|
|
175
175
|
runDoctor
|
|
176
|
-
} from "./chunk-
|
|
176
|
+
} from "./chunk-JDWXD3YZ.js";
|
|
177
177
|
import {
|
|
178
178
|
buildOpenAICompatAdapters,
|
|
179
179
|
readOpenAICompatEnv
|
|
180
|
-
} from "./chunk-
|
|
180
|
+
} from "./chunk-RE2GYZRK.js";
|
|
181
181
|
import {
|
|
182
182
|
shutdownExpertBridge
|
|
183
|
-
} from "./chunk-
|
|
183
|
+
} from "./chunk-PSXX2GBZ.js";
|
|
184
184
|
import {
|
|
185
185
|
ConsensusVoteInputSchema,
|
|
186
186
|
DEFAULT_VOTE_TIMEOUT_MS,
|
|
@@ -191,29 +191,29 @@ import {
|
|
|
191
191
|
mapOutcomeToDecision,
|
|
192
192
|
recordAuthenticVote,
|
|
193
193
|
registerConsensusVoteTool
|
|
194
|
-
} from "./chunk-
|
|
194
|
+
} from "./chunk-W2DYH4WL.js";
|
|
195
195
|
import {
|
|
196
196
|
loadUsageEvents,
|
|
197
197
|
rollupByModel
|
|
198
|
-
} from "./chunk-
|
|
198
|
+
} from "./chunk-TBXAEAKP.js";
|
|
199
199
|
import {
|
|
200
200
|
allOf,
|
|
201
201
|
anyOf
|
|
202
202
|
} from "./chunk-OQB3XC5O.js";
|
|
203
203
|
import {
|
|
204
204
|
synthesizeResearch
|
|
205
|
-
} from "./chunk-
|
|
205
|
+
} from "./chunk-H7CV35LZ.js";
|
|
206
206
|
import {
|
|
207
207
|
classifyTrust,
|
|
208
208
|
createFullGitHubProvider,
|
|
209
209
|
evaluatePolicy,
|
|
210
210
|
parsePRUrl
|
|
211
|
-
} from "./chunk-
|
|
212
|
-
import "./chunk-
|
|
211
|
+
} from "./chunk-6U3LS57H.js";
|
|
212
|
+
import "./chunk-KDUSLLZM.js";
|
|
213
213
|
import {
|
|
214
214
|
ReputationCache,
|
|
215
215
|
sanitizeInput
|
|
216
|
-
} from "./chunk-
|
|
216
|
+
} from "./chunk-GMJQ6QMZ.js";
|
|
217
217
|
import {
|
|
218
218
|
ImprovementReviewInputSchema,
|
|
219
219
|
calculateFitnessScore,
|
|
@@ -227,17 +227,17 @@ import {
|
|
|
227
227
|
registerImprovementReviewTool,
|
|
228
228
|
runImprovementReview,
|
|
229
229
|
scanForSecrets
|
|
230
|
-
} from "./chunk-
|
|
230
|
+
} from "./chunk-MM7BINTV.js";
|
|
231
231
|
import {
|
|
232
232
|
createDefaultPolicyFirewall,
|
|
233
233
|
setGlobalPolicyFirewall,
|
|
234
234
|
stagePolicyFirewallForRollout
|
|
235
|
-
} from "./chunk-
|
|
236
|
-
import "./chunk-
|
|
235
|
+
} from "./chunk-D6ZTSN34.js";
|
|
236
|
+
import "./chunk-X7MLVGJV.js";
|
|
237
237
|
import {
|
|
238
238
|
createUnifiedRegistry,
|
|
239
239
|
getGlobalRegistry
|
|
240
|
-
} from "./chunk-
|
|
240
|
+
} from "./chunk-V533P6BT.js";
|
|
241
241
|
import {
|
|
242
242
|
CodebaseIndexSchema,
|
|
243
243
|
PaperStatusSchema,
|
|
@@ -263,24 +263,24 @@ import {
|
|
|
263
263
|
loadSourcesRegistry,
|
|
264
264
|
rankDiscoveredItems,
|
|
265
265
|
saveSourcesRegistry
|
|
266
|
-
} from "./chunk-
|
|
266
|
+
} from "./chunk-IK6JPHMX.js";
|
|
267
267
|
import {
|
|
268
268
|
loadPapersRegistry,
|
|
269
269
|
loadTechniquesRegistry,
|
|
270
270
|
savePapersRegistry
|
|
271
|
-
} from "./chunk-
|
|
271
|
+
} from "./chunk-P422WQJM.js";
|
|
272
272
|
import {
|
|
273
273
|
resolveToken
|
|
274
|
-
} from "./chunk-
|
|
274
|
+
} from "./chunk-XYWCZNFC.js";
|
|
275
275
|
import {
|
|
276
276
|
MemoryError,
|
|
277
277
|
shutdownToolMemory
|
|
278
|
-
} from "./chunk-
|
|
278
|
+
} from "./chunk-EU7S5CDW.js";
|
|
279
279
|
import {
|
|
280
280
|
capitalize,
|
|
281
281
|
capitalizeKebab
|
|
282
282
|
} from "./chunk-6T3EPABN.js";
|
|
283
|
-
import "./chunk-
|
|
283
|
+
import "./chunk-DGLAEH7Y.js";
|
|
284
284
|
import {
|
|
285
285
|
BUILT_IN_EXPERTS
|
|
286
286
|
} from "./chunk-YPNQPT2F.js";
|
|
@@ -293,19 +293,19 @@ import {
|
|
|
293
293
|
isRecord,
|
|
294
294
|
probeAllClis,
|
|
295
295
|
readSubprocessDepth
|
|
296
|
-
} from "./chunk-
|
|
297
|
-
import "./chunk-
|
|
296
|
+
} from "./chunk-JM42KPWJ.js";
|
|
297
|
+
import "./chunk-CBORIR4Y.js";
|
|
298
298
|
import {
|
|
299
299
|
DEFAULTS
|
|
300
|
-
} from "./chunk-
|
|
301
|
-
import "./chunk-
|
|
300
|
+
} from "./chunk-TMKBZG3W.js";
|
|
301
|
+
import "./chunk-ICGYXBS6.js";
|
|
302
302
|
import {
|
|
303
303
|
nexusMkdtempSync
|
|
304
304
|
} from "./chunk-RQV5ZUXT.js";
|
|
305
|
-
import "./chunk-
|
|
305
|
+
import "./chunk-RMTTKP4L.js";
|
|
306
306
|
import "./chunk-QZUG667L.js";
|
|
307
|
-
import "./chunk-
|
|
308
|
-
import "./chunk-
|
|
307
|
+
import "./chunk-MTGMOLRO.js";
|
|
308
|
+
import "./chunk-SBLLJXJO.js";
|
|
309
309
|
import {
|
|
310
310
|
API_TIMEOUTS,
|
|
311
311
|
AgentCapability,
|
|
@@ -382,7 +382,7 @@ import {
|
|
|
382
382
|
validateTimeout,
|
|
383
383
|
writeEmptyLine,
|
|
384
384
|
writeLine
|
|
385
|
-
} from "./chunk-
|
|
385
|
+
} from "./chunk-2SVIHHNJ.js";
|
|
386
386
|
import "./chunk-HHLCAWAV.js";
|
|
387
387
|
import {
|
|
388
388
|
applyPortableMode,
|
|
@@ -4421,7 +4421,7 @@ ${file.patch}
|
|
|
4421
4421
|
violations: policyResult.violations
|
|
4422
4422
|
});
|
|
4423
4423
|
}
|
|
4424
|
-
const { formatReviewComment: formatReviewComment2 } = await import("./pr-reviewer-helpers-
|
|
4424
|
+
const { formatReviewComment: formatReviewComment2 } = await import("./pr-reviewer-helpers-Q6GRH5PP.js");
|
|
4425
4425
|
const body = formatReviewComment2(result);
|
|
4426
4426
|
const postResult = await provider.createReview(pr.prNumber, body, result.decision);
|
|
4427
4427
|
if (!postResult.ok) {
|
|
@@ -19553,7 +19553,7 @@ function startImprovementReviewScheduler(options) {
|
|
|
19553
19553
|
let running = false;
|
|
19554
19554
|
const runOnce = async () => {
|
|
19555
19555
|
try {
|
|
19556
|
-
const { runImprovementReview: runImprovementReview2, ImprovementReviewInputSchema: ImprovementReviewInputSchema2 } = await import("./improvement-review-
|
|
19556
|
+
const { runImprovementReview: runImprovementReview2, ImprovementReviewInputSchema: ImprovementReviewInputSchema2 } = await import("./improvement-review-DKCVIJSF.js");
|
|
19557
19557
|
const input = ImprovementReviewInputSchema2.parse({ fileIssues });
|
|
19558
19558
|
const result = await runImprovementReview2(input, { logger: logger22 });
|
|
19559
19559
|
logger22.info("Scheduled improvement_review complete", {
|
|
@@ -21620,7 +21620,7 @@ function adaptConfigToLibrary(config) {
|
|
|
21620
21620
|
}
|
|
21621
21621
|
function createBeliefPromoter() {
|
|
21622
21622
|
return async (event) => {
|
|
21623
|
-
const { getToolMemory } = await import("./tool-memory-
|
|
21623
|
+
const { getToolMemory } = await import("./tool-memory-LYKMCW7U.js");
|
|
21624
21624
|
const tm = getToolMemory();
|
|
21625
21625
|
await tm.recordBelief(
|
|
21626
21626
|
`skill:${event.name}`,
|
|
@@ -21808,17 +21808,23 @@ function getAuthValues(config) {
|
|
|
21808
21808
|
const method = configAuth?.method ?? process.env["NEXUS_AUTH_METHOD"] ?? "none";
|
|
21809
21809
|
return { enabled, method };
|
|
21810
21810
|
}
|
|
21811
|
+
function warnIfAuditDisabled(auditEnabled, logger22) {
|
|
21812
|
+
if (auditEnabled) return;
|
|
21813
|
+
logger22.warn(
|
|
21814
|
+
"Audit logging is disabled \u2014 no tamper-evident event chain is being written. Set security.audit.enabled: true to enable it."
|
|
21815
|
+
);
|
|
21816
|
+
}
|
|
21811
21817
|
function logSecurityConfig(logger22, config) {
|
|
21812
21818
|
const policyFirewall = createConfiguredPolicyFirewall(logger22, config);
|
|
21813
21819
|
const authVals = getAuthValues(config);
|
|
21814
21820
|
const policyVals = getPolicyValues(config);
|
|
21815
21821
|
const rateLimitVals = getRateLimitValues(config);
|
|
21822
|
+
const auditEnabled = config?.security?.audit?.enabled === true;
|
|
21816
21823
|
logger22.info("Security configuration", {
|
|
21817
21824
|
// #4888: named `configuredPolicyMode`, not `policyMode`. This runs at
|
|
21818
|
-
// startup, before `stagePolicyFirewallForRollout`
|
|
21819
|
-
//
|
|
21820
|
-
//
|
|
21821
|
-
// enforcement the staged rollout does not perform.
|
|
21825
|
+
// startup, before `stagePolicyFirewallForRollout` forces the firewall to
|
|
21826
|
+
// `warn` — the mode that actually applies. A field called `policyMode`
|
|
21827
|
+
// reading `enforce` here would claim an enforcement that does not happen.
|
|
21822
21828
|
configuredPolicyMode: policyVals.mode,
|
|
21823
21829
|
defaultExecutionMode: policyVals.defaultExec,
|
|
21824
21830
|
policyRuleCount: policyFirewall.getRules().length,
|
|
@@ -21826,8 +21832,15 @@ function logSecurityConfig(logger22, config) {
|
|
|
21826
21832
|
authMethod: authVals.method,
|
|
21827
21833
|
rateLimitEnabled: rateLimitVals.enabled,
|
|
21828
21834
|
rateLimitRequestsPerMinute: rateLimitVals.rpm,
|
|
21835
|
+
// #4990: audit was the only security control missing from this line, and
|
|
21836
|
+
// `initializeAuditLogger` announces its absence at `debug` — dropped at the
|
|
21837
|
+
// default level. So the tamper-evident chain the docs lead with could be
|
|
21838
|
+
// off while the startup log confirmed four other controls and said nothing
|
|
21839
|
+
// about this one, which reads as fine rather than absent.
|
|
21840
|
+
auditEnabled,
|
|
21829
21841
|
allowedPaths: config?.security?.allowedPaths ?? ["./"]
|
|
21830
21842
|
});
|
|
21843
|
+
warnIfAuditDisabled(auditEnabled, logger22);
|
|
21831
21844
|
if (!authVals.enabled) {
|
|
21832
21845
|
logger22.warn(
|
|
21833
21846
|
"Authentication explicitly disabled \u2014 network-exposed endpoints are unprotected. Remove NEXUS_AUTH_ENABLED=false to re-enable."
|
|
@@ -22828,7 +22841,7 @@ async function handleResearchCommand(args) {
|
|
|
22828
22841
|
}
|
|
22829
22842
|
}
|
|
22830
22843
|
async function handleRegistryCommand(args) {
|
|
22831
|
-
const { registryCommand, isValidRegistrySubcommand, formatRegistryUsage } = await import("./registry-command-
|
|
22844
|
+
const { registryCommand, isValidRegistrySubcommand, formatRegistryUsage } = await import("./registry-command-BYRGRQ3I.js");
|
|
22832
22845
|
const subcommand = args.subcommand;
|
|
22833
22846
|
if (!isValidRegistrySubcommand(subcommand)) {
|
|
22834
22847
|
process.stdout.write(`${formatRegistryUsage()}
|
|
@@ -22876,12 +22889,12 @@ async function handleVerifyCommand(args) {
|
|
|
22876
22889
|
async function handleDoctorCommand(args) {
|
|
22877
22890
|
const exitCode = await doctorCommand({ fix: args.options.fix });
|
|
22878
22891
|
if (args.options.deep) {
|
|
22879
|
-
const { runDeepDiagnostics: runDeepDiagnostics2, formatDeepDiagnostics: formatDeepDiagnostics2 } = await import("./doctor-deep-
|
|
22892
|
+
const { runDeepDiagnostics: runDeepDiagnostics2, formatDeepDiagnostics: formatDeepDiagnostics2 } = await import("./doctor-deep-MIQ5QYUL.js");
|
|
22880
22893
|
const diag = runDeepDiagnostics2();
|
|
22881
22894
|
process.stdout.write(formatDeepDiagnostics2(diag) + "\n");
|
|
22882
22895
|
}
|
|
22883
22896
|
if (args.options.live) {
|
|
22884
|
-
const { runLiveReadiness, formatLiveReadiness } = await import("./doctor-live-
|
|
22897
|
+
const { runLiveReadiness, formatLiveReadiness } = await import("./doctor-live-IAERE7DO.js");
|
|
22885
22898
|
const report = await runLiveReadiness();
|
|
22886
22899
|
process.stdout.write(formatLiveReadiness(report) + "\n");
|
|
22887
22900
|
if (report.some((r) => r.levels.serves.status === "failed")) {
|
|
@@ -22934,7 +22947,7 @@ async function runInitPortableFlow(args) {
|
|
|
22934
22947
|
return cliExit(result.success ? EXIT_CODES.SUCCESS : EXIT_CODES.SERVER_START_FAILED);
|
|
22935
22948
|
}
|
|
22936
22949
|
async function runInitOpencodeFlow(args) {
|
|
22937
|
-
const { runInitOpencode } = await import("./init-opencode-
|
|
22950
|
+
const { runInitOpencode } = await import("./init-opencode-CM2HL2PI.js");
|
|
22938
22951
|
const opencodePath = args.options.opencode;
|
|
22939
22952
|
if (opencodePath === void 0 || opencodePath === "") {
|
|
22940
22953
|
process.stderr.write("Error: --opencode requires a path argument.\n");
|
|
@@ -22960,7 +22973,7 @@ async function runInitOpencodeFlow(args) {
|
|
|
22960
22973
|
return cliExit(EXIT_CODES.SUCCESS);
|
|
22961
22974
|
}
|
|
22962
22975
|
async function renderOpencodeValidate(opencodePath) {
|
|
22963
|
-
const { runOpencodeValidate } = await import("./init-opencode-
|
|
22976
|
+
const { runOpencodeValidate } = await import("./init-opencode-CM2HL2PI.js");
|
|
22964
22977
|
const result = await runOpencodeValidate(opencodePath);
|
|
22965
22978
|
if (!result.ok) {
|
|
22966
22979
|
process.stderr.write(`init --opencode --validate: ${result.reason ?? "failed"}
|
|
@@ -22999,7 +23012,7 @@ async function handleSetupCommandAsync(args) {
|
|
|
22999
23012
|
return cliExitFromStatus(exitCode);
|
|
23000
23013
|
}
|
|
23001
23014
|
async function runCustomApiSetup(args) {
|
|
23002
|
-
const { configureCustomApi } = await import("./setup-custom-api-
|
|
23015
|
+
const { configureCustomApi } = await import("./setup-custom-api-OZ3QCQTJ.js");
|
|
23003
23016
|
const baseUrl = args.options.customApi;
|
|
23004
23017
|
if (baseUrl === void 0) return EXIT_CODES.SERVER_START_FAILED;
|
|
23005
23018
|
const input = {
|