nexus-agents 2.95.0 → 2.96.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 (118) hide show
  1. package/README.md +4 -4
  2. package/dist/{child-mcp-config-NW7JMSDK.js → child-mcp-config-HZUEFKXB.js} +2 -2
  3. package/dist/{chunk-GC5FH2IA.js → chunk-23NNSR45.js} +7 -7
  4. package/dist/{chunk-ECZW5FXN.js → chunk-2472O6HR.js} +2 -2
  5. package/dist/{chunk-ECBH5INZ.js → chunk-2KHD2ANY.js} +4 -3
  6. package/dist/{chunk-ECBH5INZ.js.map → chunk-2KHD2ANY.js.map} +1 -1
  7. package/dist/chunk-3ZROPKLV.js +2133 -0
  8. package/dist/chunk-3ZROPKLV.js.map +1 -0
  9. package/dist/{chunk-FYGZ4MEQ.js → chunk-7P3UIYJH.js} +415 -1410
  10. package/dist/chunk-7P3UIYJH.js.map +1 -0
  11. package/dist/{chunk-WGA4VGIR.js → chunk-AJMHTC4J.js} +3 -3
  12. package/dist/{chunk-KHZGMF2W.js → chunk-ANH2A44T.js} +4 -4
  13. package/dist/{chunk-G42N55ZR.js → chunk-AREIPUCD.js} +2 -2
  14. package/dist/{chunk-D3JSXVX3.js → chunk-AW3HJHJT.js} +2 -2
  15. package/dist/{chunk-FXVJLJUF.js → chunk-DTFM37IG.js} +2 -2
  16. package/dist/{chunk-47Z3YPOK.js → chunk-EUUWRNDZ.js} +2 -2
  17. package/dist/{chunk-3HXWI34V.js → chunk-FHZUOIVC.js} +3 -3
  18. package/dist/{chunk-ZICVVBDW.js → chunk-FPAUF3YB.js} +2 -2
  19. package/dist/{chunk-55G7KQ7F.js → chunk-ICOHLRHT.js} +5 -5
  20. package/dist/{chunk-FTDVA33Z.js → chunk-INFJH4JX.js} +4 -4
  21. package/dist/{chunk-BSHDI4BH.js → chunk-JEK5CHK2.js} +2 -2
  22. package/dist/{chunk-7GUP6KQQ.js → chunk-MMW4KIBH.js} +2 -2
  23. package/dist/{chunk-LZOTH2GI.js → chunk-MVCJEIUU.js} +2 -2
  24. package/dist/{chunk-2X24T4ZD.js → chunk-NJN5SGU2.js} +7 -7
  25. package/dist/{chunk-5HBDXW44.js → chunk-OHGKVMT3.js} +2 -2
  26. package/dist/{chunk-4NVYN2MB.js → chunk-ONIHS7K7.js} +4 -4
  27. package/dist/{chunk-TEKWQNQ2.js → chunk-P7Y3KLKG.js} +3 -3
  28. package/dist/{chunk-O4LVC4MQ.js → chunk-R2KJ22LX.js} +2 -2
  29. package/dist/chunk-SRSAMAPP.js +1095 -0
  30. package/dist/chunk-SRSAMAPP.js.map +1 -0
  31. package/dist/{chunk-LXROEQAO.js → chunk-SSHL5TAX.js} +2 -2
  32. package/dist/{chunk-YYXJ6RTO.js → chunk-THVTU2UG.js} +3 -3
  33. package/dist/{chunk-3H6Q3RZM.js → chunk-XMYJWMWN.js} +4 -4
  34. package/dist/{chunk-PFOY5ML6.js → chunk-YSYBVLYS.js} +3 -3
  35. package/dist/{chunk-QUPPV6UO.js → chunk-YWIZ3UQ6.js} +2 -2
  36. package/dist/{chunk-6IWPN5UB.js → chunk-Z3XF5LRT.js} +2 -2
  37. package/dist/{chunk-VTMQND6B.js → chunk-Z7PILY4E.js} +361 -2468
  38. package/dist/chunk-Z7PILY4E.js.map +1 -0
  39. package/dist/{chunk-Y3OOHHKQ.js → chunk-ZBQXPP7M.js} +2 -2
  40. package/dist/{cli-circuit-breaker-LNU5DQSB.js → cli-circuit-breaker-L6SWUVOP.js} +4 -4
  41. package/dist/cli.js +104 -52
  42. package/dist/cli.js.map +1 -1
  43. package/dist/{composite-router-DJ54ND5X.js → composite-router-HFBOUCXD.js} +2 -2
  44. package/dist/{consensus-vote-XLEQFVE7.js → consensus-vote-YEZIP2JQ.js} +13 -12
  45. package/dist/{context-retriever-6O6TREXH.js → context-retriever-PTRDEBBH.js} +6 -6
  46. package/dist/{doctor-deep-PSNJPELP.js → doctor-deep-WHCDAV3Z.js} +3 -3
  47. package/dist/{expert-bridge-Q3OWPD4L.js → expert-bridge-N4L47MHU.js} +4 -4
  48. package/dist/{factory-43RVPRT5.js → factory-EFLOKY32.js} +5 -5
  49. package/dist/{factory-PSMTMC7V.js → factory-ZKGYCGDT.js} +5 -5
  50. package/dist/improvement-review-4MTIYCOZ.js +27 -0
  51. package/dist/index.js +52 -49
  52. package/dist/index.js.map +1 -1
  53. package/dist/{init-opencode-25AUARJH.js → init-opencode-42GKRQDA.js} +5 -5
  54. package/dist/{issue-triage-KZTENUDH.js → issue-triage-TEPE6VMA.js} +5 -5
  55. package/dist/{pr-reviewer-helpers-XENJ4E2T.js → pr-reviewer-helpers-G4O22XF6.js} +4 -4
  56. package/dist/{registry-command-X3O34FAK.js → registry-command-32PUZNNG.js} +2 -2
  57. package/dist/{repo-security-plan-XCX7EFJR.js → repo-security-plan-XWUDQB34.js} +3 -3
  58. package/dist/{research-helpers-synthesize-CGVR6M4S.js → research-helpers-synthesize-YI6S7SN6.js} +3 -3
  59. package/dist/{routing-memory-YZRYGXQC.js → routing-memory-Z3ZCTPFM.js} +2 -2
  60. package/dist/{session-memory-SXQAA2EN.js → session-memory-5ZZ2SXDE.js} +3 -3
  61. package/dist/{setup-command-VG7JZI6O.js → setup-command-U3ILRY5H.js} +11 -11
  62. package/dist/{setup-config-VJAK6AA2.js → setup-config-WZYLXPDO.js} +3 -3
  63. package/dist/{setup-custom-api-KSF2JMTS.js → setup-custom-api-K4EN47CP.js} +4 -4
  64. package/dist/{tool-memory-L7SDFSF5.js → tool-memory-53Y2TUR3.js} +5 -5
  65. package/dist/{weather-report-D6HFOK7S.js → weather-report-JOBWXWQ3.js} +2 -2
  66. package/dist/weather-report-JOBWXWQ3.js.map +1 -0
  67. package/package.json +12 -2
  68. package/dist/chunk-FYGZ4MEQ.js.map +0 -1
  69. package/dist/chunk-VTMQND6B.js.map +0 -1
  70. /package/dist/{child-mcp-config-NW7JMSDK.js.map → child-mcp-config-HZUEFKXB.js.map} +0 -0
  71. /package/dist/{chunk-GC5FH2IA.js.map → chunk-23NNSR45.js.map} +0 -0
  72. /package/dist/{chunk-ECZW5FXN.js.map → chunk-2472O6HR.js.map} +0 -0
  73. /package/dist/{chunk-WGA4VGIR.js.map → chunk-AJMHTC4J.js.map} +0 -0
  74. /package/dist/{chunk-KHZGMF2W.js.map → chunk-ANH2A44T.js.map} +0 -0
  75. /package/dist/{chunk-G42N55ZR.js.map → chunk-AREIPUCD.js.map} +0 -0
  76. /package/dist/{chunk-D3JSXVX3.js.map → chunk-AW3HJHJT.js.map} +0 -0
  77. /package/dist/{chunk-FXVJLJUF.js.map → chunk-DTFM37IG.js.map} +0 -0
  78. /package/dist/{chunk-47Z3YPOK.js.map → chunk-EUUWRNDZ.js.map} +0 -0
  79. /package/dist/{chunk-3HXWI34V.js.map → chunk-FHZUOIVC.js.map} +0 -0
  80. /package/dist/{chunk-ZICVVBDW.js.map → chunk-FPAUF3YB.js.map} +0 -0
  81. /package/dist/{chunk-55G7KQ7F.js.map → chunk-ICOHLRHT.js.map} +0 -0
  82. /package/dist/{chunk-FTDVA33Z.js.map → chunk-INFJH4JX.js.map} +0 -0
  83. /package/dist/{chunk-BSHDI4BH.js.map → chunk-JEK5CHK2.js.map} +0 -0
  84. /package/dist/{chunk-7GUP6KQQ.js.map → chunk-MMW4KIBH.js.map} +0 -0
  85. /package/dist/{chunk-LZOTH2GI.js.map → chunk-MVCJEIUU.js.map} +0 -0
  86. /package/dist/{chunk-2X24T4ZD.js.map → chunk-NJN5SGU2.js.map} +0 -0
  87. /package/dist/{chunk-5HBDXW44.js.map → chunk-OHGKVMT3.js.map} +0 -0
  88. /package/dist/{chunk-4NVYN2MB.js.map → chunk-ONIHS7K7.js.map} +0 -0
  89. /package/dist/{chunk-TEKWQNQ2.js.map → chunk-P7Y3KLKG.js.map} +0 -0
  90. /package/dist/{chunk-O4LVC4MQ.js.map → chunk-R2KJ22LX.js.map} +0 -0
  91. /package/dist/{chunk-LXROEQAO.js.map → chunk-SSHL5TAX.js.map} +0 -0
  92. /package/dist/{chunk-YYXJ6RTO.js.map → chunk-THVTU2UG.js.map} +0 -0
  93. /package/dist/{chunk-3H6Q3RZM.js.map → chunk-XMYJWMWN.js.map} +0 -0
  94. /package/dist/{chunk-PFOY5ML6.js.map → chunk-YSYBVLYS.js.map} +0 -0
  95. /package/dist/{chunk-QUPPV6UO.js.map → chunk-YWIZ3UQ6.js.map} +0 -0
  96. /package/dist/{chunk-6IWPN5UB.js.map → chunk-Z3XF5LRT.js.map} +0 -0
  97. /package/dist/{chunk-Y3OOHHKQ.js.map → chunk-ZBQXPP7M.js.map} +0 -0
  98. /package/dist/{cli-circuit-breaker-LNU5DQSB.js.map → cli-circuit-breaker-L6SWUVOP.js.map} +0 -0
  99. /package/dist/{composite-router-DJ54ND5X.js.map → composite-router-HFBOUCXD.js.map} +0 -0
  100. /package/dist/{consensus-vote-XLEQFVE7.js.map → consensus-vote-YEZIP2JQ.js.map} +0 -0
  101. /package/dist/{context-retriever-6O6TREXH.js.map → context-retriever-PTRDEBBH.js.map} +0 -0
  102. /package/dist/{doctor-deep-PSNJPELP.js.map → doctor-deep-WHCDAV3Z.js.map} +0 -0
  103. /package/dist/{expert-bridge-Q3OWPD4L.js.map → expert-bridge-N4L47MHU.js.map} +0 -0
  104. /package/dist/{factory-43RVPRT5.js.map → factory-EFLOKY32.js.map} +0 -0
  105. /package/dist/{factory-PSMTMC7V.js.map → factory-ZKGYCGDT.js.map} +0 -0
  106. /package/dist/{issue-triage-KZTENUDH.js.map → improvement-review-4MTIYCOZ.js.map} +0 -0
  107. /package/dist/{init-opencode-25AUARJH.js.map → init-opencode-42GKRQDA.js.map} +0 -0
  108. /package/dist/{pr-reviewer-helpers-XENJ4E2T.js.map → issue-triage-TEPE6VMA.js.map} +0 -0
  109. /package/dist/{repo-security-plan-XCX7EFJR.js.map → pr-reviewer-helpers-G4O22XF6.js.map} +0 -0
  110. /package/dist/{registry-command-X3O34FAK.js.map → registry-command-32PUZNNG.js.map} +0 -0
  111. /package/dist/{research-helpers-synthesize-CGVR6M4S.js.map → repo-security-plan-XWUDQB34.js.map} +0 -0
  112. /package/dist/{routing-memory-YZRYGXQC.js.map → research-helpers-synthesize-YI6S7SN6.js.map} +0 -0
  113. /package/dist/{session-memory-SXQAA2EN.js.map → routing-memory-Z3ZCTPFM.js.map} +0 -0
  114. /package/dist/{setup-command-VG7JZI6O.js.map → session-memory-5ZZ2SXDE.js.map} +0 -0
  115. /package/dist/{setup-config-VJAK6AA2.js.map → setup-command-U3ILRY5H.js.map} +0 -0
  116. /package/dist/{tool-memory-L7SDFSF5.js.map → setup-config-WZYLXPDO.js.map} +0 -0
  117. /package/dist/{setup-custom-api-KSF2JMTS.js.map → setup-custom-api-K4EN47CP.js.map} +0 -0
  118. /package/dist/{weather-report-D6HFOK7S.js.map → tool-memory-53Y2TUR3.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createLogger
3
- } from "./chunk-ECBH5INZ.js";
3
+ } from "./chunk-2KHD2ANY.js";
4
4
 
5
5
  // src/config/available-models-cache.ts
6
6
  var logger = createLogger({ component: "available-models-cache" });
@@ -150,4 +150,4 @@ export {
150
150
  getDefaultAvailableModelsCache,
151
151
  setDefaultAvailableModelsCache
152
152
  };
153
- //# sourceMappingURL=chunk-Y3OOHHKQ.js.map
153
+ //# sourceMappingURL=chunk-ZBQXPP7M.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  CliCircuitBreakerIntegration,
3
3
  createCliCircuitBreakerIntegration
4
- } from "./chunk-3HXWI34V.js";
5
- import "./chunk-47Z3YPOK.js";
6
- import "./chunk-ECBH5INZ.js";
4
+ } from "./chunk-FHZUOIVC.js";
5
+ import "./chunk-EUUWRNDZ.js";
6
+ import "./chunk-2KHD2ANY.js";
7
7
  import "./chunk-CH7QIDHQ.js";
8
8
  import "./chunk-PR4QN5HX.js";
9
9
  export {
10
10
  CliCircuitBreakerIntegration,
11
11
  createCliCircuitBreakerIntegration
12
12
  };
13
- //# sourceMappingURL=cli-circuit-breaker-LNU5DQSB.js.map
13
+ //# sourceMappingURL=cli-circuit-breaker-L6SWUVOP.js.map
package/dist/cli.js CHANGED
@@ -13,26 +13,25 @@ import {
13
13
  generateSummary,
14
14
  parseFindings,
15
15
  sumFindings
16
- } from "./chunk-YYXJ6RTO.js";
17
- import "./chunk-ZICVVBDW.js";
16
+ } from "./chunk-THVTU2UG.js";
17
+ import "./chunk-FPAUF3YB.js";
18
18
  import {
19
19
  buildOpenAICompatAdapters,
20
20
  loadUsageEvents,
21
21
  readOpenAICompatEnv,
22
22
  rollupByModel
23
- } from "./chunk-PFOY5ML6.js";
23
+ } from "./chunk-YSYBVLYS.js";
24
24
  import {
25
25
  setupCommandAsync,
26
26
  verifyCommand
27
- } from "./chunk-55G7KQ7F.js";
28
- import "./chunk-FXVJLJUF.js";
27
+ } from "./chunk-ICOHLRHT.js";
28
+ import "./chunk-DTFM37IG.js";
29
29
  import {
30
30
  AuthHandler,
31
31
  DEFAULT_EXPERTS,
32
32
  DEVELOPMENT_POLICY,
33
33
  ExpertFactory,
34
34
  FeedbackIntegration,
35
- ImprovementReviewInputSchema,
36
35
  Orchestrator,
37
36
  OrchestratorFactory,
38
37
  PaperStatusSchema,
@@ -44,7 +43,6 @@ import {
44
43
  ValidationDashboard,
45
44
  WorkflowDefinitionSchema,
46
45
  analyzeTools,
47
- calculateFitnessScore,
48
46
  createAgentStages,
49
47
  createAnnotationsProxy,
50
48
  createAuditLogger,
@@ -53,7 +51,6 @@ import {
53
51
  createDefaultPolicyEngine,
54
52
  createEventBusBridge,
55
53
  createFeedbackIntegration,
56
- createFitnessScoreCalculator,
57
54
  createGatewayServerProxy,
58
55
  createLearnablePolicy,
59
56
  createMockOrchestrator,
@@ -119,7 +116,6 @@ import {
119
116
  registerExecuteSpecTool,
120
117
  registerExtractSymbolsTool,
121
118
  registerGetJobResultTool,
122
- registerImprovementReviewTool,
123
119
  registerIssueTriageTool,
124
120
  registerListExpertsTool,
125
121
  registerListJobsTool,
@@ -155,7 +151,6 @@ import {
155
151
  registerWeatherReportTool,
156
152
  resolveV2Config,
157
153
  runDevPipeline,
158
- runImprovementReview,
159
154
  saveSourcesRegistry,
160
155
  setGlobalToolRateLimiterFactory,
161
156
  shutdownFailoverSignals,
@@ -168,64 +163,73 @@ import {
168
163
  validateCommand,
169
164
  validateWorkflow,
170
165
  wrapInMarkdownFence
171
- } from "./chunk-FYGZ4MEQ.js";
166
+ } from "./chunk-7P3UIYJH.js";
167
+ import "./chunk-3ACDP4E6.js";
172
168
  import {
173
169
  resolveToken
174
- } from "./chunk-5HBDXW44.js";
170
+ } from "./chunk-OHGKVMT3.js";
175
171
  import {
176
172
  CATEGORY_DISPLAY_NAMES,
177
173
  DEFAULT_PR_REVIEW_CONFIG
178
174
  } from "./chunk-OK6U5N5Y.js";
179
- import "./chunk-WGA4VGIR.js";
180
- import "./chunk-3HXWI34V.js";
175
+ import "./chunk-AJMHTC4J.js";
176
+ import "./chunk-FHZUOIVC.js";
181
177
  import {
182
178
  shutdownExpertBridge
183
- } from "./chunk-2X24T4ZD.js";
179
+ } from "./chunk-NJN5SGU2.js";
184
180
  import {
185
181
  DEFAULT_VOTE_TIMEOUT_MS,
186
182
  ErrorPolicySchema,
187
183
  VOTER_ROLES,
188
184
  VoteThresholdSchema,
189
- createDefaultPolicyFirewall,
190
- createSecureHandler,
191
185
  createUnifiedRegistry,
192
186
  executeVoting,
193
- getToolAnnotations,
194
- getToolTimeout,
195
187
  registerConsensusVoteTool,
196
- toSdkCallback,
197
- toolStructuredError,
198
- toolSuccessStructured,
199
- warnIfSimulatedOutsideTests,
200
- wrapToolWithTimeout
201
- } from "./chunk-VTMQND6B.js";
202
- import "./chunk-D3JSXVX3.js";
203
- import "./chunk-LXROEQAO.js";
188
+ warnIfSimulatedOutsideTests
189
+ } from "./chunk-Z7PILY4E.js";
190
+ import "./chunk-AW3HJHJT.js";
191
+ import "./chunk-SSHL5TAX.js";
204
192
  import {
205
193
  loadPapersRegistry,
206
194
  loadTechniquesRegistry,
207
195
  savePapersRegistry,
208
196
  synthesizeResearch
209
- } from "./chunk-ECZW5FXN.js";
197
+ } from "./chunk-2472O6HR.js";
210
198
  import {
211
199
  classifyTrust,
212
200
  createFullGitHubProvider,
213
201
  evaluatePolicy,
214
202
  parsePRUrl
215
- } from "./chunk-4NVYN2MB.js";
216
- import "./chunk-LZOTH2GI.js";
203
+ } from "./chunk-ONIHS7K7.js";
204
+ import "./chunk-MVCJEIUU.js";
217
205
  import {
218
206
  ReputationCache,
219
207
  sanitizeInput
220
- } from "./chunk-O4LVC4MQ.js";
221
- import "./chunk-BSHDI4BH.js";
208
+ } from "./chunk-R2KJ22LX.js";
209
+ import {
210
+ ImprovementReviewInputSchema,
211
+ calculateFitnessScore,
212
+ createFitnessScoreCalculator,
213
+ registerImprovementReviewTool,
214
+ runImprovementReview
215
+ } from "./chunk-SRSAMAPP.js";
216
+ import {
217
+ createDefaultPolicyFirewall,
218
+ createSecureHandler,
219
+ getToolAnnotations,
220
+ getToolTimeout,
221
+ toSdkCallback,
222
+ toolStructuredError,
223
+ toolSuccessStructured,
224
+ wrapToolWithTimeout
225
+ } from "./chunk-3ZROPKLV.js";
226
+ import "./chunk-JEK5CHK2.js";
222
227
  import "./chunk-HFOQKCD2.js";
223
- import "./chunk-3ACDP4E6.js";
224
- import "./chunk-TEKWQNQ2.js";
228
+ import "./chunk-P7Y3KLKG.js";
225
229
  import {
226
230
  MemoryError,
227
231
  shutdownToolMemory
228
- } from "./chunk-KHZGMF2W.js";
232
+ } from "./chunk-ANH2A44T.js";
229
233
  import {
230
234
  CustomExpertDefinitionSchema,
231
235
  DATA_SUBDIRECTORIES,
@@ -244,12 +248,12 @@ import {
244
248
  loadConfig,
245
249
  runDoctor,
246
250
  validateNexusEnv
247
- } from "./chunk-GC5FH2IA.js";
248
- import "./chunk-QUPPV6UO.js";
249
- import "./chunk-Y3OOHHKQ.js";
251
+ } from "./chunk-23NNSR45.js";
252
+ import "./chunk-YWIZ3UQ6.js";
253
+ import "./chunk-ZBQXPP7M.js";
250
254
  import {
251
255
  DEFAULTS
252
- } from "./chunk-7GUP6KQQ.js";
256
+ } from "./chunk-MMW4KIBH.js";
253
257
  import "./chunk-NUBSJGQZ.js";
254
258
  import {
255
259
  capitalize,
@@ -261,12 +265,12 @@ import {
261
265
  getAvailableClis,
262
266
  isRecord,
263
267
  probeAllClis
264
- } from "./chunk-3H6Q3RZM.js";
265
- import "./chunk-47Z3YPOK.js";
266
- import "./chunk-G42N55ZR.js";
268
+ } from "./chunk-XMYJWMWN.js";
269
+ import "./chunk-EUUWRNDZ.js";
270
+ import "./chunk-AREIPUCD.js";
267
271
  import "./chunk-ZM4O442V.js";
268
272
  import "./chunk-PQHVC4BD.js";
269
- import "./chunk-6IWPN5UB.js";
273
+ import "./chunk-Z3XF5LRT.js";
270
274
  import {
271
275
  API_TIMEOUTS,
272
276
  AgentCapability,
@@ -323,6 +327,7 @@ import {
323
327
  lookupInTreeCapability,
324
328
  ok,
325
329
  parseBoolEnv,
330
+ parseIntEnv,
326
331
  parseTierOverrides,
327
332
  resetOutcomeStore,
328
333
  runWarmUp,
@@ -336,7 +341,7 @@ import {
336
341
  validateTimeout,
337
342
  writeEmptyLine,
338
343
  writeLine
339
- } from "./chunk-ECBH5INZ.js";
344
+ } from "./chunk-2KHD2ANY.js";
340
345
  import {
341
346
  applyPortableMode,
342
347
  detectSandbox,
@@ -3115,7 +3120,7 @@ ${file.patch}
3115
3120
  violations: policyResult.violations
3116
3121
  });
3117
3122
  }
3118
- const { formatReviewComment: formatReviewComment2 } = await import("./pr-reviewer-helpers-XENJ4E2T.js");
3123
+ const { formatReviewComment: formatReviewComment2 } = await import("./pr-reviewer-helpers-G4O22XF6.js");
3119
3124
  const body = formatReviewComment2(result);
3120
3125
  const postResult = await provider.createReview(pr.prNumber, body, result.decision);
3121
3126
  if (!postResult.ok) {
@@ -17542,7 +17547,7 @@ function createTuneStage(bus, options = {}) {
17542
17547
  var cachedTuneUnsubscribe = null;
17543
17548
  function startTuneStage(bus, options) {
17544
17549
  if (cachedTuneUnsubscribe !== null) return;
17545
- const enabled = options?.enabled ?? parseBoolEnv(TUNE_ENFORCE_ENV, false);
17550
+ const enabled = options?.enabled ?? parseBoolEnv(TUNE_ENFORCE_ENV, true);
17546
17551
  cachedTuneUnsubscribe = createTuneStage(bus, { ...options, enabled });
17547
17552
  }
17548
17553
  function shutdownTuneStage() {
@@ -17552,6 +17557,51 @@ function shutdownTuneStage() {
17552
17557
  }
17553
17558
  }
17554
17559
 
17560
+ // src/mcp/tools/improvement-review-scheduler.ts
17561
+ var defaultLogger2 = createLogger({ component: "ImprovementReviewScheduler" });
17562
+ var INTERVAL_ENV = "NEXUS_IMPROVEMENT_REVIEW_INTERVAL_MS";
17563
+ var FILE_ISSUES_ENV = "NEXUS_IMPROVEMENT_REVIEW_FILE_ISSUES";
17564
+ var schedulerTimer;
17565
+ function startImprovementReviewScheduler(options) {
17566
+ if (schedulerTimer !== void 0) return;
17567
+ const logger18 = options?.logger ?? defaultLogger2;
17568
+ const intervalMs = options?.intervalMs ?? parseIntEnv(INTERVAL_ENV, 0);
17569
+ if (intervalMs <= 0) return;
17570
+ const fileIssues = options?.fileIssues ?? parseBoolEnv(FILE_ISSUES_ENV, false);
17571
+ let running = false;
17572
+ const runOnce = async () => {
17573
+ try {
17574
+ const { runImprovementReview: runImprovementReview2, ImprovementReviewInputSchema: ImprovementReviewInputSchema2 } = await import("./improvement-review-4MTIYCOZ.js");
17575
+ const input = ImprovementReviewInputSchema2.parse({ fileIssues });
17576
+ const result = await runImprovementReview2(input, { logger: logger18 });
17577
+ logger18.info("Scheduled improvement_review complete", {
17578
+ signals: result.signals.length,
17579
+ issuesFiled: result.issuesFiled.length
17580
+ });
17581
+ } catch (error) {
17582
+ logger18.warn("Scheduled improvement_review failed", { error: getErrorMessage(error) });
17583
+ } finally {
17584
+ running = false;
17585
+ }
17586
+ };
17587
+ schedulerTimer = setInterval(() => {
17588
+ if (running) {
17589
+ logger18.debug("Scheduled improvement_review skipped \u2014 previous run still in progress");
17590
+ return;
17591
+ }
17592
+ running = true;
17593
+ void runOnce();
17594
+ }, intervalMs);
17595
+ schedulerTimer.unref();
17596
+ logger18.info("Scheduled improvement_review enabled", { intervalMs, fileIssues });
17597
+ }
17598
+ function shutdownImprovementReviewScheduler() {
17599
+ if (schedulerTimer !== void 0) {
17600
+ clearInterval(schedulerTimer);
17601
+ schedulerTimer = void 0;
17602
+ }
17603
+ }
17604
+
17555
17605
  // src/mcp/gateway/upstream-client.ts
17556
17606
  import { Client } from "@modelcontextprotocol/sdk/client/index.js";
17557
17607
  import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
@@ -18080,6 +18130,7 @@ function initV2PipelineSubsystems(logger18, auditLogger) {
18080
18130
  startTuneStage(pipelineEventBus, auditLogger !== void 0 ? { auditLogger } : void 0);
18081
18131
  startSwarmHealthSignals(getSwarmObserver(), pipelineEventBus);
18082
18132
  startFailoverSignals({ pipelineBus: pipelineEventBus });
18133
+ startImprovementReviewScheduler();
18083
18134
  const policyEngine = createDefaultPolicyEngine();
18084
18135
  const v2Config = resolveV2Config();
18085
18136
  logger18.info("V2 Pipeline OS initialized", {
@@ -19405,7 +19456,7 @@ function adaptConfigToLibrary(config) {
19405
19456
  }
19406
19457
  function createBeliefPromoter() {
19407
19458
  return async (event) => {
19408
- const { getToolMemory } = await import("./tool-memory-L7SDFSF5.js");
19459
+ const { getToolMemory } = await import("./tool-memory-53Y2TUR3.js");
19409
19460
  const tm = getToolMemory();
19410
19461
  await tm.recordBelief(
19411
19462
  `skill:${event.name}`,
@@ -19722,6 +19773,7 @@ function createShutdownCleanup(options) {
19722
19773
  shutdownTuneStage();
19723
19774
  shutdownSwarmHealthSignals();
19724
19775
  shutdownFailoverSignals();
19776
+ shutdownImprovementReviewScheduler();
19725
19777
  const closeResult = await closeServer(server, serverLogger);
19726
19778
  if (!closeResult.ok) {
19727
19779
  throw new Error(closeResult.error.message);
@@ -20270,7 +20322,7 @@ async function handleResearchCommand(args) {
20270
20322
  }
20271
20323
  }
20272
20324
  async function handleRegistryCommand(args) {
20273
- const { registryCommand, isValidRegistrySubcommand, formatRegistryUsage } = await import("./registry-command-X3O34FAK.js");
20325
+ const { registryCommand, isValidRegistrySubcommand, formatRegistryUsage } = await import("./registry-command-32PUZNNG.js");
20274
20326
  const subcommand = args.subcommand;
20275
20327
  if (!isValidRegistrySubcommand(subcommand)) {
20276
20328
  process.stdout.write(`${formatRegistryUsage()}
@@ -20318,7 +20370,7 @@ async function handleVerifyCommand(args) {
20318
20370
  async function handleDoctorCommand(args) {
20319
20371
  const exitCode = await doctorCommand({ fix: args.options.fix });
20320
20372
  if (args.options.deep) {
20321
- const { runDeepDiagnostics: runDeepDiagnostics2, formatDeepDiagnostics: formatDeepDiagnostics2 } = await import("./doctor-deep-PSNJPELP.js");
20373
+ const { runDeepDiagnostics: runDeepDiagnostics2, formatDeepDiagnostics: formatDeepDiagnostics2 } = await import("./doctor-deep-WHCDAV3Z.js");
20322
20374
  const diag = runDeepDiagnostics2();
20323
20375
  process.stdout.write(formatDeepDiagnostics2(diag) + "\n");
20324
20376
  }
@@ -20362,7 +20414,7 @@ async function handleInitCommand(args) {
20362
20414
  process.exit(result.success ? EXIT_CODES.SUCCESS : EXIT_CODES.SERVER_START_FAILED);
20363
20415
  }
20364
20416
  async function runInitOpencodeFlow(args) {
20365
- const { runInitOpencode } = await import("./init-opencode-25AUARJH.js");
20417
+ const { runInitOpencode } = await import("./init-opencode-42GKRQDA.js");
20366
20418
  const opencodePath = args.options.opencode;
20367
20419
  if (opencodePath === void 0 || opencodePath === "") {
20368
20420
  process.stderr.write("Error: --opencode requires a path argument.\n");
@@ -20389,7 +20441,7 @@ async function runInitOpencodeFlow(args) {
20389
20441
  process.exit(EXIT_CODES.SUCCESS);
20390
20442
  }
20391
20443
  async function renderOpencodeValidate(opencodePath) {
20392
- const { runOpencodeValidate } = await import("./init-opencode-25AUARJH.js");
20444
+ const { runOpencodeValidate } = await import("./init-opencode-42GKRQDA.js");
20393
20445
  const result = await runOpencodeValidate(opencodePath);
20394
20446
  if (!result.ok) {
20395
20447
  process.stderr.write(`init --opencode --validate: ${result.reason ?? "failed"}
@@ -20429,7 +20481,7 @@ async function handleSetupCommandAsync(args) {
20429
20481
  process.exit(exitCode === 0 ? EXIT_CODES.SUCCESS : EXIT_CODES.SERVER_START_FAILED);
20430
20482
  }
20431
20483
  async function runCustomApiSetup(args) {
20432
- const { configureCustomApi } = await import("./setup-custom-api-KSF2JMTS.js");
20484
+ const { configureCustomApi } = await import("./setup-custom-api-K4EN47CP.js");
20433
20485
  const baseUrl = args.options.customApi;
20434
20486
  if (baseUrl === void 0) return EXIT_CODES.SERVER_START_FAILED;
20435
20487
  const input = {