nexus-agents 8.51.2 → 8.52.1

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 (137) hide show
  1. package/dist/{ast-rule-runner-OMARWHWE.js → ast-rule-runner-PELERN3O.js} +3 -3
  2. package/dist/{child-mcp-config-TTPPGI47.js → child-mcp-config-RYQSABJT.js} +2 -2
  3. package/dist/{chunk-DEVIH4AT.js → chunk-2WCWSJES.js} +5 -5
  4. package/dist/{chunk-XC6CDASQ.js → chunk-33RHZITC.js} +2 -2
  5. package/dist/{chunk-PT36V4VS.js → chunk-3JFRPAYE.js} +4 -4
  6. package/dist/{chunk-MGQROE5U.js → chunk-3PLSFD3D.js} +2 -2
  7. package/dist/{chunk-ZXRSBMNL.js → chunk-54YTICHC.js} +2 -2
  8. package/dist/{chunk-F5JVNA4I.js → chunk-5EEP73OA.js} +2 -2
  9. package/dist/{chunk-KYKGBKUC.js → chunk-AWLZY4MB.js} +36 -36
  10. package/dist/{chunk-RVWAMRVN.js → chunk-CTLBZ33K.js} +5 -5
  11. package/dist/{chunk-36CV7CCD.js → chunk-ECVWK52H.js} +2 -2
  12. package/dist/{chunk-5DYRHSCE.js → chunk-ELBJDCC7.js} +2 -2
  13. package/dist/{chunk-DSAY7HRZ.js → chunk-GE4KNPPO.js} +2 -2
  14. package/dist/{chunk-XZRPE3LX.js → chunk-GT4BX4G4.js} +74 -12
  15. package/dist/chunk-GT4BX4G4.js.map +1 -0
  16. package/dist/{chunk-36MBJVGG.js → chunk-J45ABSJ6.js} +2 -2
  17. package/dist/{chunk-ITF2RPEP.js → chunk-JIUX35FD.js} +3 -3
  18. package/dist/{chunk-U6R6EULS.js → chunk-KRRU2RP5.js} +4 -4
  19. package/dist/{chunk-HJQSY4XL.js → chunk-N6NHQWQR.js} +2 -2
  20. package/dist/{chunk-QD3T5DUB.js → chunk-NBQ457TC.js} +6 -6
  21. package/dist/{chunk-JHHSNZDT.js → chunk-NGXHFMA6.js} +9 -4
  22. package/dist/chunk-NGXHFMA6.js.map +1 -0
  23. package/dist/{chunk-VX6OWQLN.js → chunk-OH7I4WD6.js} +233 -75
  24. package/dist/chunk-OH7I4WD6.js.map +1 -0
  25. package/dist/{chunk-Q35UI2VQ.js → chunk-R4ITN2N2.js} +4 -4
  26. package/dist/{chunk-R2Z4HK4B.js → chunk-SKUIP3ER.js} +2 -2
  27. package/dist/{chunk-BZUFLIVF.js → chunk-THPZO2XW.js} +4 -4
  28. package/dist/{chunk-4PWPBNDP.js → chunk-TS4GGKYN.js} +2 -2
  29. package/dist/{chunk-VFQAGA3Y.js → chunk-UROQ3RKV.js} +2 -2
  30. package/dist/{chunk-ELRBAHJ7.js → chunk-USHZGWDJ.js} +105 -21
  31. package/dist/chunk-USHZGWDJ.js.map +1 -0
  32. package/dist/{chunk-Q64M3PDU.js → chunk-WAVAOSH5.js} +7 -7
  33. package/dist/{chunk-E4VUJZGC.js → chunk-WWZKWC2Z.js} +3 -3
  34. package/dist/{chunk-PVGI2ZFN.js → chunk-X5IOLM33.js} +2 -2
  35. package/dist/{chunk-D3YWV3NR.js → chunk-X5R6QOF2.js} +2 -2
  36. package/dist/{doctor-live-KGKB7XIZ.js → chunk-XBSPEJ23.js} +6 -73
  37. package/dist/chunk-XBSPEJ23.js.map +1 -0
  38. package/dist/{chunk-YEM7GMVB.js → chunk-XM5MYAMC.js} +2 -2
  39. package/dist/{chunk-D7CLVTZM.js → chunk-XMMRINZK.js} +2 -2
  40. package/dist/{chunk-SNQF2GZA.js → chunk-XYK2GPUF.js} +2 -2
  41. package/dist/{chunk-6PRVSB5B.js → chunk-Y54TRQAI.js} +3 -3
  42. package/dist/{chunk-VCSFP3ZN.js → chunk-YKCVPCLR.js} +2 -2
  43. package/dist/{cli-circuit-breaker-54PR2WI3.js → cli-circuit-breaker-D7NZ7YF3.js} +3 -3
  44. package/dist/cli.d.ts +3 -1
  45. package/dist/cli.js +97 -79
  46. package/dist/cli.js.map +1 -1
  47. package/dist/{composite-router-UOSLHVQC.js → composite-router-JRFBB5YP.js} +2 -2
  48. package/dist/{consensus-vote-HXSN4QDA.js → consensus-vote-UEBCBGYE.js} +17 -17
  49. package/dist/{consensus-vote-types-DQGFfLnp.d.ts → consensus-vote-types-BPGgMg6d.d.ts} +17 -0
  50. package/dist/{context-retriever-XOEH7NZY.js → context-retriever-BIAAVT6X.js} +8 -8
  51. package/dist/{doctor-deep-XXYYPYEJ.js → doctor-deep-PLJHEYWB.js} +3 -3
  52. package/dist/doctor-live-JTSQWZ2L.js +81 -0
  53. package/dist/doctor-live-JTSQWZ2L.js.map +1 -0
  54. package/dist/{expert-bridge-NWVCSOA5.js → expert-bridge-VLEDZGPA.js} +4 -4
  55. package/dist/{factory-QZJFG56H.js → factory-EUZWJNFU.js} +9 -9
  56. package/dist/{factory-3FLN5V36.js → factory-KBUTXBHE.js} +5 -5
  57. package/dist/{improvement-review-XIY4ASVE.js → improvement-review-BASTCRWT.js} +6 -6
  58. package/dist/index.d.ts +53 -2
  59. package/dist/index.js +32 -31
  60. package/dist/index.js.map +1 -1
  61. package/dist/{init-opencode-3MF5EUFL.js → init-opencode-WMDH2ZUK.js} +6 -6
  62. package/dist/issue-triage-UNLRUO2O.js +17 -0
  63. package/dist/{pr-reviewer-helpers-KKLUERS5.js → pr-reviewer-helpers-JWJ4HVPW.js} +4 -4
  64. package/dist/{registry-command-4AYYYOFG.js → registry-command-IFZYXY5Y.js} +2 -2
  65. package/dist/{repo-security-plan-QO42XEJO.js → repo-security-plan-JKXJSVP2.js} +3 -3
  66. package/dist/{research-helpers-synthesize-CMFUU7VH.js → research-helpers-synthesize-QI2V4GS6.js} +4 -4
  67. package/dist/{routing-memory-D5ZSNOED.js → routing-memory-EFMYS572.js} +2 -2
  68. package/dist/{session-memory-2YVYSK2C.js → session-memory-XO5T3PJD.js} +3 -3
  69. package/dist/{setup-config-EKZMJ4WQ.js → setup-config-JRFZ5LM3.js} +3 -3
  70. package/dist/{setup-custom-api-626A7IJN.js → setup-custom-api-FH2EM46D.js} +4 -4
  71. package/dist/setup-data-dir-ZPZRG7MH.js +31 -0
  72. package/dist/{tool-memory-DVKDX4VO.js → tool-memory-JHJKFFIX.js} +5 -5
  73. package/dist/{unified-registry-FGBELPLI.js → unified-registry-DPL6V77X.js} +10 -10
  74. package/dist/{weather-report-D7QCLP6S.js → weather-report-CAHU2PCR.js} +2 -2
  75. package/package.json +1 -1
  76. package/dist/chunk-ELRBAHJ7.js.map +0 -1
  77. package/dist/chunk-JHHSNZDT.js.map +0 -1
  78. package/dist/chunk-VX6OWQLN.js.map +0 -1
  79. package/dist/chunk-XZRPE3LX.js.map +0 -1
  80. package/dist/doctor-live-KGKB7XIZ.js.map +0 -1
  81. package/dist/issue-triage-JK5VG6EE.js +0 -17
  82. package/dist/setup-data-dir-TH7JEOW3.js +0 -30
  83. /package/dist/{ast-rule-runner-OMARWHWE.js.map → ast-rule-runner-PELERN3O.js.map} +0 -0
  84. /package/dist/{child-mcp-config-TTPPGI47.js.map → child-mcp-config-RYQSABJT.js.map} +0 -0
  85. /package/dist/{chunk-DEVIH4AT.js.map → chunk-2WCWSJES.js.map} +0 -0
  86. /package/dist/{chunk-XC6CDASQ.js.map → chunk-33RHZITC.js.map} +0 -0
  87. /package/dist/{chunk-PT36V4VS.js.map → chunk-3JFRPAYE.js.map} +0 -0
  88. /package/dist/{chunk-MGQROE5U.js.map → chunk-3PLSFD3D.js.map} +0 -0
  89. /package/dist/{chunk-ZXRSBMNL.js.map → chunk-54YTICHC.js.map} +0 -0
  90. /package/dist/{chunk-F5JVNA4I.js.map → chunk-5EEP73OA.js.map} +0 -0
  91. /package/dist/{chunk-KYKGBKUC.js.map → chunk-AWLZY4MB.js.map} +0 -0
  92. /package/dist/{chunk-RVWAMRVN.js.map → chunk-CTLBZ33K.js.map} +0 -0
  93. /package/dist/{chunk-36CV7CCD.js.map → chunk-ECVWK52H.js.map} +0 -0
  94. /package/dist/{chunk-5DYRHSCE.js.map → chunk-ELBJDCC7.js.map} +0 -0
  95. /package/dist/{chunk-DSAY7HRZ.js.map → chunk-GE4KNPPO.js.map} +0 -0
  96. /package/dist/{chunk-36MBJVGG.js.map → chunk-J45ABSJ6.js.map} +0 -0
  97. /package/dist/{chunk-ITF2RPEP.js.map → chunk-JIUX35FD.js.map} +0 -0
  98. /package/dist/{chunk-U6R6EULS.js.map → chunk-KRRU2RP5.js.map} +0 -0
  99. /package/dist/{chunk-HJQSY4XL.js.map → chunk-N6NHQWQR.js.map} +0 -0
  100. /package/dist/{chunk-QD3T5DUB.js.map → chunk-NBQ457TC.js.map} +0 -0
  101. /package/dist/{chunk-Q35UI2VQ.js.map → chunk-R4ITN2N2.js.map} +0 -0
  102. /package/dist/{chunk-R2Z4HK4B.js.map → chunk-SKUIP3ER.js.map} +0 -0
  103. /package/dist/{chunk-BZUFLIVF.js.map → chunk-THPZO2XW.js.map} +0 -0
  104. /package/dist/{chunk-4PWPBNDP.js.map → chunk-TS4GGKYN.js.map} +0 -0
  105. /package/dist/{chunk-VFQAGA3Y.js.map → chunk-UROQ3RKV.js.map} +0 -0
  106. /package/dist/{chunk-Q64M3PDU.js.map → chunk-WAVAOSH5.js.map} +0 -0
  107. /package/dist/{chunk-E4VUJZGC.js.map → chunk-WWZKWC2Z.js.map} +0 -0
  108. /package/dist/{chunk-PVGI2ZFN.js.map → chunk-X5IOLM33.js.map} +0 -0
  109. /package/dist/{chunk-D3YWV3NR.js.map → chunk-X5R6QOF2.js.map} +0 -0
  110. /package/dist/{chunk-YEM7GMVB.js.map → chunk-XM5MYAMC.js.map} +0 -0
  111. /package/dist/{chunk-D7CLVTZM.js.map → chunk-XMMRINZK.js.map} +0 -0
  112. /package/dist/{chunk-SNQF2GZA.js.map → chunk-XYK2GPUF.js.map} +0 -0
  113. /package/dist/{chunk-6PRVSB5B.js.map → chunk-Y54TRQAI.js.map} +0 -0
  114. /package/dist/{chunk-VCSFP3ZN.js.map → chunk-YKCVPCLR.js.map} +0 -0
  115. /package/dist/{cli-circuit-breaker-54PR2WI3.js.map → cli-circuit-breaker-D7NZ7YF3.js.map} +0 -0
  116. /package/dist/{composite-router-UOSLHVQC.js.map → composite-router-JRFBB5YP.js.map} +0 -0
  117. /package/dist/{consensus-vote-HXSN4QDA.js.map → consensus-vote-UEBCBGYE.js.map} +0 -0
  118. /package/dist/{context-retriever-XOEH7NZY.js.map → context-retriever-BIAAVT6X.js.map} +0 -0
  119. /package/dist/{doctor-deep-XXYYPYEJ.js.map → doctor-deep-PLJHEYWB.js.map} +0 -0
  120. /package/dist/{expert-bridge-NWVCSOA5.js.map → expert-bridge-VLEDZGPA.js.map} +0 -0
  121. /package/dist/{factory-3FLN5V36.js.map → factory-EUZWJNFU.js.map} +0 -0
  122. /package/dist/{factory-QZJFG56H.js.map → factory-KBUTXBHE.js.map} +0 -0
  123. /package/dist/{improvement-review-XIY4ASVE.js.map → improvement-review-BASTCRWT.js.map} +0 -0
  124. /package/dist/{init-opencode-3MF5EUFL.js.map → init-opencode-WMDH2ZUK.js.map} +0 -0
  125. /package/dist/{issue-triage-JK5VG6EE.js.map → issue-triage-UNLRUO2O.js.map} +0 -0
  126. /package/dist/{pr-reviewer-helpers-KKLUERS5.js.map → pr-reviewer-helpers-JWJ4HVPW.js.map} +0 -0
  127. /package/dist/{registry-command-4AYYYOFG.js.map → registry-command-IFZYXY5Y.js.map} +0 -0
  128. /package/dist/{repo-security-plan-QO42XEJO.js.map → repo-security-plan-JKXJSVP2.js.map} +0 -0
  129. /package/dist/{research-helpers-synthesize-CMFUU7VH.js.map → research-helpers-synthesize-QI2V4GS6.js.map} +0 -0
  130. /package/dist/{routing-memory-D5ZSNOED.js.map → routing-memory-EFMYS572.js.map} +0 -0
  131. /package/dist/{session-memory-2YVYSK2C.js.map → session-memory-XO5T3PJD.js.map} +0 -0
  132. /package/dist/{setup-config-EKZMJ4WQ.js.map → setup-config-JRFZ5LM3.js.map} +0 -0
  133. /package/dist/{setup-custom-api-626A7IJN.js.map → setup-custom-api-FH2EM46D.js.map} +0 -0
  134. /package/dist/{setup-data-dir-TH7JEOW3.js.map → setup-data-dir-ZPZRG7MH.js.map} +0 -0
  135. /package/dist/{tool-memory-DVKDX4VO.js.map → tool-memory-JHJKFFIX.js.map} +0 -0
  136. /package/dist/{unified-registry-FGBELPLI.js.map → unified-registry-DPL6V77X.js.map} +0 -0
  137. /package/dist/{weather-report-D7QCLP6S.js.map → weather-report-CAHU2PCR.js.map} +0 -0
@@ -9,8 +9,8 @@ import {
9
9
  getBuiltInAstRulesPath,
10
10
  loadRules,
11
11
  runAstQaRules
12
- } from "./chunk-XC6CDASQ.js";
13
- import "./chunk-JHHSNZDT.js";
12
+ } from "./chunk-33RHZITC.js";
13
+ import "./chunk-NGXHFMA6.js";
14
14
  import "./chunk-MTYJPPIG.js";
15
15
  import "./chunk-BTYRPZON.js";
16
16
  import "./chunk-ZPWHCABL.js";
@@ -26,4 +26,4 @@ export {
26
26
  loadRules,
27
27
  runAstQaRules
28
28
  };
29
- //# sourceMappingURL=ast-rule-runner-OMARWHWE.js.map
29
+ //# sourceMappingURL=ast-rule-runner-PELERN3O.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-T46RV7Y7.js";
4
4
  import {
5
5
  createLogger
6
- } from "./chunk-JHHSNZDT.js";
6
+ } from "./chunk-NGXHFMA6.js";
7
7
  import "./chunk-MTYJPPIG.js";
8
8
  import "./chunk-BTYRPZON.js";
9
9
  import "./chunk-ZPWHCABL.js";
@@ -60,4 +60,4 @@ export {
60
60
  generateMcpConfig,
61
61
  getDefaultAllowedTools
62
62
  };
63
- //# sourceMappingURL=child-mcp-config-TTPPGI47.js.map
63
+ //# sourceMappingURL=child-mcp-config-RYQSABJT.js.map
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  computeCostDetail,
3
3
  recordUsageEvent
4
- } from "./chunk-5DYRHSCE.js";
4
+ } from "./chunk-ELBJDCC7.js";
5
5
  import {
6
6
  BaseAdapter,
7
7
  createStream,
8
8
  planOptionalParams,
9
9
  requireApiKey,
10
10
  validateApiKeyPresence
11
- } from "./chunk-D3YWV3NR.js";
11
+ } from "./chunk-X5R6QOF2.js";
12
12
  import {
13
13
  assertCustomApiHostResolvesPublic
14
- } from "./chunk-D7CLVTZM.js";
14
+ } from "./chunk-XMMRINZK.js";
15
15
  import {
16
16
  ConfigError,
17
17
  ModelCapability,
@@ -22,7 +22,7 @@ import {
22
22
  getTimeProvider,
23
23
  getTokenEstimator,
24
24
  ok
25
- } from "./chunk-JHHSNZDT.js";
25
+ } from "./chunk-NGXHFMA6.js";
26
26
 
27
27
  // src/adapters/openai-types.ts
28
28
  var OPENAI_MODELS = {
@@ -842,4 +842,4 @@ export {
842
842
  discoverModels,
843
843
  buildOpenAICompatAdapters
844
844
  };
845
- //# sourceMappingURL=chunk-DEVIH4AT.js.map
845
+ //# sourceMappingURL=chunk-2WCWSJES.js.map
@@ -3,7 +3,7 @@ import {
3
3
  ValidationError,
4
4
  createLogger,
5
5
  formatZodError
6
- } from "./chunk-JHHSNZDT.js";
6
+ } from "./chunk-NGXHFMA6.js";
7
7
 
8
8
  // src/security/ast-rule-runner.ts
9
9
  import { existsSync } from "node:fs";
@@ -241,4 +241,4 @@ export {
241
241
  collectAstQaFindings,
242
242
  runAstQaRules
243
243
  };
244
- //# sourceMappingURL=chunk-XC6CDASQ.js.map
244
+ //# sourceMappingURL=chunk-33RHZITC.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  createAutoAdapter
3
- } from "./chunk-ELRBAHJ7.js";
3
+ } from "./chunk-USHZGWDJ.js";
4
4
  import {
5
5
  getDefaultCliCircuitBreakerRegistry,
6
6
  mapModelErrorToCategory
7
- } from "./chunk-F5JVNA4I.js";
7
+ } from "./chunk-5EEP73OA.js";
8
8
  import {
9
9
  CLI_NAMES,
10
10
  CircularBuffer,
@@ -24,7 +24,7 @@ import {
24
24
  recordRateLimitEvent,
25
25
  resolveModelIdentitySync,
26
26
  toRateLimitError
27
- } from "./chunk-JHHSNZDT.js";
27
+ } from "./chunk-NGXHFMA6.js";
28
28
 
29
29
  // src/config/model-equivalence.ts
30
30
  function canonicalModelKey(modelId) {
@@ -921,4 +921,4 @@ export {
921
921
  getGlobalRegistry,
922
922
  resetGlobalRegistry
923
923
  };
924
- //# sourceMappingURL=chunk-PT36V4VS.js.map
924
+ //# sourceMappingURL=chunk-3JFRPAYE.js.map
@@ -2,7 +2,7 @@ import {
2
2
  createLogger,
3
3
  err,
4
4
  ok
5
- } from "./chunk-JHHSNZDT.js";
5
+ } from "./chunk-NGXHFMA6.js";
6
6
 
7
7
  // src/scm/token-resolver.ts
8
8
  import { execFile } from "node:child_process";
@@ -87,4 +87,4 @@ export {
87
87
  hasToken,
88
88
  getTokenEnvVars
89
89
  };
90
- //# sourceMappingURL=chunk-MGQROE5U.js.map
90
+ //# sourceMappingURL=chunk-3PLSFD3D.js.map
@@ -4,7 +4,7 @@ import {
4
4
  err,
5
5
  getErrorMessage,
6
6
  ok
7
- } from "./chunk-JHHSNZDT.js";
7
+ } from "./chunk-NGXHFMA6.js";
8
8
 
9
9
  // src/scm/types.ts
10
10
  var ScmError = class extends Error {
@@ -281,4 +281,4 @@ export {
281
281
  ScmError,
282
282
  GitHubProvider
283
283
  };
284
- //# sourceMappingURL=chunk-ZXRSBMNL.js.map
284
+ //# sourceMappingURL=chunk-54YTICHC.js.map
@@ -8,7 +8,7 @@ import {
8
8
  getTimeProvider,
9
9
  isRateLimitText,
10
10
  ok
11
- } from "./chunk-JHHSNZDT.js";
11
+ } from "./chunk-NGXHFMA6.js";
12
12
 
13
13
  // src/cli-adapters/circuit-breaker-types.ts
14
14
  var CircuitErrorCode = {
@@ -541,4 +541,4 @@ export {
541
541
  CliCircuitBreakerIntegration,
542
542
  createCliCircuitBreakerIntegration
543
543
  };
544
- //# sourceMappingURL=chunk-F5JVNA4I.js.map
544
+ //# sourceMappingURL=chunk-5EEP73OA.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  generateSecurityPlan
3
- } from "./chunk-YEM7GMVB.js";
3
+ } from "./chunk-XM5MYAMC.js";
4
4
  import {
5
5
  analyzeGitHubRepo
6
6
  } from "./chunk-4GDMHCKX.js";
@@ -21,10 +21,10 @@ import {
21
21
  import {
22
22
  DEFAULT_TASK_TTL_MS,
23
23
  clampTaskTtl
24
- } from "./chunk-XZRPE3LX.js";
24
+ } from "./chunk-GT4BX4G4.js";
25
25
  import {
26
26
  executeExpert
27
- } from "./chunk-Q64M3PDU.js";
27
+ } from "./chunk-WAVAOSH5.js";
28
28
  import {
29
29
  JobStatusSchema,
30
30
  VOTER_ROLES,
@@ -58,7 +58,7 @@ import {
58
58
  toJobSummary,
59
59
  updateStage,
60
60
  writeJobCancelled
61
- } from "./chunk-VX6OWQLN.js";
61
+ } from "./chunk-OH7I4WD6.js";
62
62
  import {
63
63
  allOf,
64
64
  anyOf
@@ -66,19 +66,19 @@ import {
66
66
  import {
67
67
  normalizeTopicToCanonical,
68
68
  synthesizeResearch
69
- } from "./chunk-E4VUJZGC.js";
69
+ } from "./chunk-WWZKWC2Z.js";
70
70
  import {
71
71
  IssueTriage,
72
72
  createDurableAuditSink,
73
73
  createDurableAuditTrail
74
- } from "./chunk-QD3T5DUB.js";
74
+ } from "./chunk-NBQ457TC.js";
75
75
  import {
76
76
  resolveEnvMode,
77
77
  sanitizeInput
78
- } from "./chunk-SNQF2GZA.js";
78
+ } from "./chunk-XYK2GPUF.js";
79
79
  import {
80
80
  withPrerequisite
81
- } from "./chunk-6PRVSB5B.js";
81
+ } from "./chunk-Y54TRQAI.js";
82
82
  import {
83
83
  NOOP_NOTIFIER,
84
84
  RateLimiter,
@@ -103,18 +103,18 @@ import {
103
103
  withAuditTrail,
104
104
  withProgressHeartbeat,
105
105
  wrapToolWithTimeout
106
- } from "./chunk-U6R6EULS.js";
106
+ } from "./chunk-KRRU2RP5.js";
107
107
  import {
108
108
  createAuditTrail,
109
109
  createGraphAuditBridge,
110
110
  emitPipelinePolicyEvent
111
- } from "./chunk-R2Z4HK4B.js";
111
+ } from "./chunk-SKUIP3ER.js";
112
112
  import {
113
113
  EventTopics,
114
114
  createEvent,
115
115
  getGlobalEventBus,
116
116
  getGlobalRegistry
117
- } from "./chunk-PT36V4VS.js";
117
+ } from "./chunk-3JFRPAYE.js";
118
118
  import {
119
119
  IDENTIFIER_RE,
120
120
  LANG_VALUES,
@@ -147,7 +147,7 @@ import {
147
147
  parseRegistry,
148
148
  sourceExistsInRegistry,
149
149
  summarizeContextForPrompt
150
- } from "./chunk-RVWAMRVN.js";
150
+ } from "./chunk-CTLBZ33K.js";
151
151
  import {
152
152
  REGISTRY_PATH,
153
153
  getProjectRoot,
@@ -155,25 +155,25 @@ import {
155
155
  loadTechniquesRegistry,
156
156
  resolveInsideRoot,
157
157
  resolveRegistryRoot
158
- } from "./chunk-DSAY7HRZ.js";
158
+ } from "./chunk-GE4KNPPO.js";
159
159
  import {
160
160
  getTokenEnvVars,
161
161
  resolveToken
162
- } from "./chunk-MGQROE5U.js";
162
+ } from "./chunk-3PLSFD3D.js";
163
163
  import {
164
164
  DEFAULT_RELEVANCE_CONFIG,
165
165
  MemoryImportance,
166
166
  MemoryType,
167
167
  calculateTextJaccardSimilarity,
168
168
  getToolMemory
169
- } from "./chunk-BZUFLIVF.js";
169
+ } from "./chunk-THPZO2XW.js";
170
170
  import {
171
171
  STOPWORDS,
172
172
  truncateWithInfo
173
173
  } from "./chunk-7LP6VJRP.js";
174
174
  import {
175
175
  createSessionMemory
176
- } from "./chunk-HJQSY4XL.js";
176
+ } from "./chunk-N6NHQWQR.js";
177
177
  import {
178
178
  BUILT_IN_EXPERTS,
179
179
  BuiltInExpertTypeSchema,
@@ -191,25 +191,25 @@ import {
191
191
  getAvailableClis,
192
192
  sleep,
193
193
  withTimeout
194
- } from "./chunk-ELRBAHJ7.js";
194
+ } from "./chunk-USHZGWDJ.js";
195
195
  import {
196
196
  BaseAdapter,
197
197
  createStream,
198
198
  requireApiKey,
199
199
  validateApiKeyPresence
200
- } from "./chunk-D3YWV3NR.js";
200
+ } from "./chunk-X5R6QOF2.js";
201
201
  import {
202
202
  DEFAULTS
203
- } from "./chunk-PVGI2ZFN.js";
203
+ } from "./chunk-X5IOLM33.js";
204
204
  import {
205
205
  getAvailabilityCache,
206
206
  getCliForModelId,
207
207
  resolveFallback
208
- } from "./chunk-4PWPBNDP.js";
208
+ } from "./chunk-TS4GGKYN.js";
209
209
  import {
210
210
  generateHyphenId,
211
211
  generateUUID
212
- } from "./chunk-VCSFP3ZN.js";
212
+ } from "./chunk-YKCVPCLR.js";
213
213
  import {
214
214
  AGENT_ROUTER_TIMEOUTS,
215
215
  API_TIMEOUTS,
@@ -321,7 +321,7 @@ import {
321
321
  selectStrategyByManifest,
322
322
  toExpertTaskAnalysisResult,
323
323
  withStep
324
- } from "./chunk-JHHSNZDT.js";
324
+ } from "./chunk-NGXHFMA6.js";
325
325
  import {
326
326
  ensureLearningDir,
327
327
  getMetaOutcomesFile,
@@ -30030,7 +30030,7 @@ function execIdFields(executionId) {
30030
30030
  async function populateUnifiedContextOnState(state, options) {
30031
30031
  const taskCandidate = state["task"];
30032
30032
  if (typeof taskCandidate !== "string" || taskCandidate === "") return;
30033
- const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-XOEH7NZY.js");
30033
+ const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-BIAAVT6X.js");
30034
30034
  const category = inferTaskCategory2(taskCandidate);
30035
30035
  const executionId = options?.executionId;
30036
30036
  const execFields = execIdFields(executionId);
@@ -45763,7 +45763,7 @@ async function tryIssueTriage(task) {
45763
45763
  try {
45764
45764
  const issueMatch = task.match(/github\.com\/([^/]+\/[^/]+)\/issues\/(\d+)/);
45765
45765
  if (issueMatch === null) return null;
45766
- const { createIssueTriage } = await import("./issue-triage-JK5VG6EE.js");
45766
+ const { createIssueTriage } = await import("./issue-triage-UNLRUO2O.js");
45767
45767
  const triage = createIssueTriage();
45768
45768
  const owner = issueMatch[1] ?? "";
45769
45769
  const num = issueMatch[2] ?? "";
@@ -45791,7 +45791,7 @@ var VALID_TEMPLATES = /* @__PURE__ */ new Set([
45791
45791
  ]);
45792
45792
  async function classifyWithLLM(task) {
45793
45793
  try {
45794
- const { executeExpert: executeExpert2 } = await import("./expert-bridge-NWVCSOA5.js");
45794
+ const { executeExpert: executeExpert2 } = await import("./expert-bridge-VLEDZGPA.js");
45795
45795
  const prompt = [
45796
45796
  "Classify this task into exactly one pipeline template.",
45797
45797
  "Templates: dev (implementation/bug fix/refactor), research (investigate/evaluate/compare),",
@@ -46165,7 +46165,7 @@ function buildVotingInput(plan, config) {
46165
46165
  }
46166
46166
  async function executeSingleVote(plan, config, log) {
46167
46167
  try {
46168
- const { executeVoting } = await import("./consensus-vote-HXSN4QDA.js");
46168
+ const { executeVoting } = await import("./consensus-vote-UEBCBGYE.js");
46169
46169
  const input = buildVotingInput(plan, config);
46170
46170
  const result = await executeVoting(input, log);
46171
46171
  return parseVotingResult(result);
@@ -47727,7 +47727,7 @@ var memoryInitPromise = null;
47727
47727
  async function initPipelineMemory() {
47728
47728
  if (cachedMemory !== null) return cachedMemory;
47729
47729
  try {
47730
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-2YVYSK2C.js");
47730
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-XO5T3PJD.js");
47731
47731
  const { getLearningDir } = await import("./learning-persistence-TQJVPLDN.js");
47732
47732
  const mem = createSessionMemory2(getLearningDir());
47733
47733
  mem.startSession(`pipeline-${String(getTimeProvider().now())}`);
@@ -47789,7 +47789,7 @@ function recordRoutingExperience(category, success, durationMs, tokensUsed = 0,
47789
47789
  callRecord(routingMemoryCache);
47790
47790
  return;
47791
47791
  }
47792
- routingMemoryInitPromise ??= import("./routing-memory-D5ZSNOED.js").then(({ createRoutingMemory }) => {
47792
+ routingMemoryInitPromise ??= import("./routing-memory-EFMYS572.js").then(({ createRoutingMemory }) => {
47793
47793
  routingMemoryCache ??= createRoutingMemory();
47794
47794
  return routingMemoryCache;
47795
47795
  }).catch((error) => {
@@ -47823,7 +47823,7 @@ ${text}` : "";
47823
47823
  }
47824
47824
  async function getWeatherContext() {
47825
47825
  try {
47826
- const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-D7QCLP6S.js");
47826
+ const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-CAHU2PCR.js");
47827
47827
  const report = generateWeatherReport2({ includeAdaptive: true });
47828
47828
  const mappings = "recommendedMappings" in report ? report.recommendedMappings : [];
47829
47829
  if (!Array.isArray(mappings) || mappings.length === 0) return "";
@@ -47841,7 +47841,7 @@ ${lines}
47841
47841
  }
47842
47842
  async function getMemoryContext(task) {
47843
47843
  try {
47844
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-2YVYSK2C.js");
47844
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-XO5T3PJD.js");
47845
47845
  const { getLearningDir } = await import("./learning-persistence-TQJVPLDN.js");
47846
47846
  const memory = createSessionMemory2(getLearningDir(), { maxLearningsInContext: 10 });
47847
47847
  const learnings = memory.searchLearnings(task.slice(0, 200));
@@ -47960,7 +47960,7 @@ ${contextBlock}`;
47960
47960
  const strategy = config.votingStrategy ?? "higher_order";
47961
47961
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
47962
47962
  try {
47963
- const { executeVoting } = await import("./consensus-vote-HXSN4QDA.js");
47963
+ const { executeVoting } = await import("./consensus-vote-UEBCBGYE.js");
47964
47964
  const votingResult = await executeVoting(
47965
47965
  {
47966
47966
  proposal: buildVoteProposal(plan, research),
@@ -48391,7 +48391,7 @@ async function searchCodebaseForTask(task) {
48391
48391
  }
48392
48392
  async function queryResearchRegistry(task) {
48393
48393
  try {
48394
- const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-CMFUU7VH.js");
48394
+ const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-QI2V4GS6.js");
48395
48395
  const topic = task.split(/[.!?\n]/).filter((s) => s.trim().length > 10)[0]?.trim();
48396
48396
  if (topic === void 0) return null;
48397
48397
  const result = await synthesizeResearch2(topic.slice(0, 50));
@@ -48462,7 +48462,7 @@ function createScanStageWrapper() {
48462
48462
  try {
48463
48463
  const slug = ctx.task.match(/([a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+)/)?.[1];
48464
48464
  if (slug !== void 0) {
48465
- const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-QO42XEJO.js");
48465
+ const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-JKXJSVP2.js");
48466
48466
  const plan = await generateSecurityPlan2({ repo: slug, maxScanners: 10 });
48467
48467
  const recs = plan.recommendations.slice(0, 5).map((r) => `${r.priority}: ${r.displayName} (${r.category})`).join("; ");
48468
48468
  return output(PIPELINE_STATE_KEYS.FINDINGS, recs, getTimeProvider().now() - start, true);
@@ -51869,7 +51869,7 @@ var GitHubTaskTracker = class {
51869
51869
  cachedProvider = null;
51870
51870
  async getProvider() {
51871
51871
  if (this.cachedProvider !== null) return this.cachedProvider;
51872
- const { createScmProvider } = await import("./factory-3FLN5V36.js");
51872
+ const { createScmProvider } = await import("./factory-KBUTXBHE.js");
51873
51873
  const result = await createScmProvider({ repo: this.config.repo ?? "" });
51874
51874
  if (!result.ok) throw new Error(`SCM provider error: ${result.error.message}`);
51875
51875
  this.cachedProvider = result.value;
@@ -52800,7 +52800,7 @@ async function probeSource(source, includeModelIds) {
52800
52800
  }
52801
52801
  }
52802
52802
  async function defaultSources(includeOpenRouter) {
52803
- const { createAllAdapters: createAllAdapters2 } = await import("./factory-QZJFG56H.js");
52803
+ const { createAllAdapters: createAllAdapters2 } = await import("./factory-EUZWJNFU.js");
52804
52804
  const adapters = createAllAdapters2();
52805
52805
  return buildDefaultModelSources(adapters, { includeOpenRouter });
52806
52806
  }
@@ -56870,4 +56870,4 @@ export {
56870
56870
  startPipelineEventBridge,
56871
56871
  shutdownPipelineEventBridge
56872
56872
  };
56873
- //# sourceMappingURL=chunk-KYKGBKUC.js.map
56873
+ //# sourceMappingURL=chunk-AWLZY4MB.js.map
@@ -5,13 +5,13 @@ import {
5
5
  loadTechniquesRegistry,
6
6
  resolveInsideRoot,
7
7
  savePapersRegistry
8
- } from "./chunk-DSAY7HRZ.js";
8
+ } from "./chunk-GE4KNPPO.js";
9
9
  import {
10
10
  resolveToken
11
- } from "./chunk-MGQROE5U.js";
11
+ } from "./chunk-3PLSFD3D.js";
12
12
  import {
13
13
  getToolMemory
14
- } from "./chunk-BZUFLIVF.js";
14
+ } from "./chunk-THPZO2XW.js";
15
15
  import {
16
16
  capitalizeWords,
17
17
  tokenizeFiltered,
@@ -40,7 +40,7 @@ import {
40
40
  ok,
41
41
  registerPersistentDistillerFactory,
42
42
  sigmoidConfidence
43
- } from "./chunk-JHHSNZDT.js";
43
+ } from "./chunk-NGXHFMA6.js";
44
44
  import {
45
45
  ensureLearningDir,
46
46
  getRulesFile
@@ -4238,4 +4238,4 @@ export {
4238
4238
  DEFAULT_CONTEXT_BUDGET_TOKENS,
4239
4239
  getContextPromptPrefix
4240
4240
  };
4241
- //# sourceMappingURL=chunk-RVWAMRVN.js.map
4241
+ //# sourceMappingURL=chunk-CTLBZ33K.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getErrorMessage
3
- } from "./chunk-JHHSNZDT.js";
3
+ } from "./chunk-NGXHFMA6.js";
4
4
 
5
5
  // src/cli/setup-config.ts
6
6
  import { copyFileSync, existsSync, mkdirSync, writeFileSync } from "node:fs";
@@ -77,4 +77,4 @@ function ensureBackup(outputPath) {
77
77
  export {
78
78
  runConfigInitSync
79
79
  };
80
- //# sourceMappingURL=chunk-36CV7CCD.js.map
80
+ //# sourceMappingURL=chunk-ECVWK52H.js.map
@@ -3,7 +3,7 @@ import {
3
3
  createLogger,
4
4
  getDefaultRegistry,
5
5
  roundToMicroUsd
6
- } from "./chunk-JHHSNZDT.js";
6
+ } from "./chunk-NGXHFMA6.js";
7
7
  import {
8
8
  getNexusDataDir
9
9
  } from "./chunk-BTYRPZON.js";
@@ -196,4 +196,4 @@ export {
196
196
  loadUsageEvents,
197
197
  rollupByModel
198
198
  };
199
- //# sourceMappingURL=chunk-5DYRHSCE.js.map
199
+ //# sourceMappingURL=chunk-ELBJDCC7.js.map
@@ -5,7 +5,7 @@ import {
5
5
  err,
6
6
  getErrorMessage,
7
7
  ok
8
- } from "./chunk-JHHSNZDT.js";
8
+ } from "./chunk-NGXHFMA6.js";
9
9
  import {
10
10
  findRepoRoot,
11
11
  getActiveWorkspaceRoot,
@@ -223,4 +223,4 @@ export {
223
223
  loadPapersRegistry,
224
224
  savePapersRegistry
225
225
  };
226
- //# sourceMappingURL=chunk-DSAY7HRZ.js.map
226
+ //# sourceMappingURL=chunk-GE4KNPPO.js.map
@@ -1,6 +1,9 @@
1
+ import {
2
+ SERVES_PROBE_PROMPT
3
+ } from "./chunk-XBSPEJ23.js";
1
4
  import {
2
5
  readOpenAICompatEnv
3
- } from "./chunk-DEVIH4AT.js";
6
+ } from "./chunk-2WCWSJES.js";
4
7
  import {
5
8
  allOf
6
9
  } from "./chunk-OQB3XC5O.js";
@@ -8,19 +11,21 @@ import {
8
11
  NODE_ENGINE_RANGE,
9
12
  VERSION,
10
13
  isNodeVersionSupported
11
- } from "./chunk-VFQAGA3Y.js";
14
+ } from "./chunk-UROQ3RKV.js";
12
15
  import {
13
16
  claimGlobalRegistry
14
- } from "./chunk-PT36V4VS.js";
17
+ } from "./chunk-3JFRPAYE.js";
15
18
  import {
16
19
  capitalize
17
20
  } from "./chunk-7LP6VJRP.js";
18
21
  import {
19
22
  CODEX_MCP_SERVER_UNAVAILABLE_REASON,
23
+ ClaudeCliAdapter,
24
+ IN_FAMILY_FALLBACK_OPTION,
20
25
  codexMcpServerAvailable,
21
26
  createAllAdapters,
22
27
  probeCli
23
- } from "./chunk-ELRBAHJ7.js";
28
+ } from "./chunk-USHZGWDJ.js";
24
29
  import {
25
30
  getNexusTmpDir
26
31
  } from "./chunk-T46RV7Y7.js";
@@ -29,13 +34,18 @@ import {
29
34
  colors,
30
35
  createLogger,
31
36
  err,
37
+ getCliModelName,
38
+ getDefaultModelForCli,
39
+ getDefaultRegistry,
32
40
  getErrorMessage,
33
41
  getInTreeCapabilitiesMatrix,
34
42
  getTimeProvider,
43
+ isDurableCapacityText,
35
44
  ok,
45
+ resolveClassGuardMs,
36
46
  symbols,
37
47
  writeLine
38
- } from "./chunk-JHHSNZDT.js";
48
+ } from "./chunk-NGXHFMA6.js";
39
49
  import {
40
50
  getLearningDir,
41
51
  getOutcomesFile,
@@ -348,6 +358,52 @@ async function closeServer(server, logger2) {
348
358
  }
349
359
  }
350
360
 
361
+ // src/cli/doctor-claude-model.ts
362
+ function pinnedClaudeAlias() {
363
+ const modelId = getDefaultModelForCli("claude");
364
+ return getDefaultRegistry().getEntry(modelId).cliAlias ?? getCliModelName(modelId);
365
+ }
366
+ async function probeClaudePinnedModel(deps) {
367
+ const alias = deps.alias ?? pinnedClaudeAlias();
368
+ if (!deps.installed) {
369
+ return { alias, status: "not-probed", reason: "claude CLI not installed" };
370
+ }
371
+ const adapter = deps.adapter ?? new ClaudeCliAdapter({ model: alias });
372
+ const timeoutMs = deps.timeoutMs ?? resolveClassGuardMs("interactive");
373
+ let result;
374
+ try {
375
+ result = await adapter.execute(
376
+ {
377
+ content: SERVES_PROBE_PROMPT,
378
+ maxTokens: 16,
379
+ options: { [IN_FAMILY_FALLBACK_OPTION]: false }
380
+ },
381
+ { timeoutMs }
382
+ );
383
+ } catch (caught) {
384
+ return { alias, status: "error", reason: `probe threw: ${getErrorMessage(caught)}` };
385
+ }
386
+ if (!result.ok) {
387
+ const status = isDurableCapacityText(result.error.message) ? "out-of-credits" : "error";
388
+ return { alias, status, reason: result.error.message };
389
+ }
390
+ if (result.value.text.trim() === "") {
391
+ return { alias, status: "error", reason: "call succeeded but returned no content" };
392
+ }
393
+ return { alias, status: "available", reason: null };
394
+ }
395
+ var STATUS_LABEL = {
396
+ available: "available",
397
+ "out-of-credits": "out of credits",
398
+ error: "error",
399
+ "not-probed": "not probed"
400
+ };
401
+ function formatClaudeModelLine(probe) {
402
+ const icon = probe.status === "available" ? `${colors.green}${symbols.check}${colors.reset}` : probe.status === "not-probed" ? `${colors.dim}${symbols.warn}${colors.reset}` : `${colors.yellow}${symbols.warn}${colors.reset}`;
403
+ const detail = probe.reason === null ? "" : ` ${colors.dim}\u2014 ${probe.reason}${colors.reset}`;
404
+ return `${icon} Claude model ${probe.alias}: ${STATUS_LABEL[probe.status]}${detail}`;
405
+ }
406
+
351
407
  // src/cli/doctor-install-freshness.ts
352
408
  var UNVERSIONED_BUILD = "dev";
353
409
  var INSTALL_FRESHNESS_REMEDY = "npm install -g nexus-agents@latest \u2014 then RESTART any running MCP server. An already-spawned server keeps the old code until it is restarted, so updating alone leaves the session on the stale build.";
@@ -695,9 +751,9 @@ function printDoctorResults(result) {
695
751
  writeLine("");
696
752
  writeLine(`${colors.cyan}Checking CLI installations...${colors.reset}`);
697
753
  writeLine("");
698
- for (const cli of result.clis) {
699
- printCliResult(cli);
700
- }
754
+ for (const cli of result.clis) printCliResult(cli);
755
+ writeLine(formatClaudeModelLine(result.claudeModel));
756
+ writeLine("");
701
757
  writeLine(`${colors.cyan}Checking MCP configuration...${colors.reset}`);
702
758
  writeLine("");
703
759
  printMcpModes(result);
@@ -1190,13 +1246,18 @@ function isAllHealthy(input) {
1190
1246
  false
1191
1247
  );
1192
1248
  }
1193
- async function runDoctor() {
1249
+ function probeClaudeModelFor(clis, probe = (installed) => probeClaudePinnedModel({ installed })) {
1250
+ const claudeCheck = clis.find((c) => c.name === "claude");
1251
+ return probe(claudeCheck?.installed === true);
1252
+ }
1253
+ async function runDoctor(deps = {}) {
1194
1254
  const clis = await Promise.all([
1195
1255
  checkCli("claude"),
1196
1256
  checkCli("gemini"),
1197
1257
  checkCli("codex"),
1198
1258
  checkCli("opencode")
1199
1259
  ]);
1260
+ const claudeModel = await probeClaudeModelFor(clis, deps.probeClaudeModel);
1200
1261
  const nodeVersion = checkNodeVersion();
1201
1262
  const apiKeys = checkApiKeys();
1202
1263
  const configFile = checkConfigFile();
@@ -1231,6 +1292,7 @@ async function runDoctor() {
1231
1292
  dataDirectory,
1232
1293
  sandbox,
1233
1294
  ...env,
1295
+ claudeModel,
1234
1296
  allHealthy,
1235
1297
  timestamp: new Date(getTimeProvider().now())
1236
1298
  };
@@ -1252,13 +1314,13 @@ async function runDoctorFix(result) {
1252
1314
  writeLine2("\u2500".repeat(40));
1253
1315
  let fixCount = 0;
1254
1316
  if (!result.dataDirectory.rootExists || result.dataDirectory.subdirectories.some((d) => !d.exists || !d.writable)) {
1255
- const { initDataDirectories: initDataDirectories2, describeDataDirFix: describeDataDirFix2 } = await import("./setup-data-dir-TH7JEOW3.js");
1317
+ const { initDataDirectories: initDataDirectories2, describeDataDirFix: describeDataDirFix2 } = await import("./setup-data-dir-ZPZRG7MH.js");
1256
1318
  const outcome = describeDataDirFix2(initDataDirectories2());
1257
1319
  writeLine2(outcome.line);
1258
1320
  if (outcome.counted) fixCount++;
1259
1321
  }
1260
1322
  if (!result.configFile.found) {
1261
- const { runConfigInitSync } = await import("./setup-config-EKZMJ4WQ.js");
1323
+ const { runConfigInitSync } = await import("./setup-config-JRFZ5LM3.js");
1262
1324
  const configResult = runConfigInitSync(process.cwd(), false, false);
1263
1325
  if (configResult.success && configResult.created) {
1264
1326
  writeLine2(`\u2713 Generated config: ${configResult.path}`);
@@ -1354,4 +1416,4 @@ export {
1354
1416
  startStdioServer,
1355
1417
  closeServer
1356
1418
  };
1357
- //# sourceMappingURL=chunk-XZRPE3LX.js.map
1419
+ //# sourceMappingURL=chunk-GT4BX4G4.js.map