nexus-agents 2.167.0 → 2.168.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 (123) hide show
  1. package/dist/{child-mcp-config-X4YLQKGK.js → child-mcp-config-FAWSJFMQ.js} +2 -2
  2. package/dist/{chunk-KM3YEIEN.js → chunk-2ANAH2UU.js} +4 -4
  3. package/dist/{chunk-7USEQLMS.js → chunk-2Z4QECP7.js} +2 -2
  4. package/dist/{chunk-7K5LSUEU.js → chunk-3KID7AIF.js} +3 -3
  5. package/dist/{chunk-ZTWKSN5K.js → chunk-52T2MJDS.js} +34 -34
  6. package/dist/{chunk-PC4Y4VPX.js → chunk-5LPPJIZ4.js} +2 -2
  7. package/dist/{chunk-XUMLVCFL.js → chunk-6ERIC5NJ.js} +2 -2
  8. package/dist/{chunk-S6HCREYY.js → chunk-7IUVW67T.js} +7 -7
  9. package/dist/{chunk-ZIC6ZZFU.js → chunk-CJLMB7MO.js} +3 -3
  10. package/dist/{chunk-O6VL6LA4.js → chunk-CPS2HN4T.js} +2 -2
  11. package/dist/{chunk-TGAVZ2ZL.js → chunk-ELWMGKVP.js} +8 -8
  12. package/dist/{chunk-JKUX73VD.js → chunk-EQLJYWLP.js} +3 -3
  13. package/dist/{chunk-GGYQTV2Y.js → chunk-ETFCT2CH.js} +4 -4
  14. package/dist/{chunk-BB7KSLNA.js → chunk-F5JDQXHJ.js} +2 -2
  15. package/dist/{chunk-STMW5BSR.js → chunk-G7NDNFIE.js} +3 -3
  16. package/dist/{chunk-GRWHPG72.js → chunk-GNCUZDQI.js} +7 -7
  17. package/dist/{chunk-ZSUN7BHE.js → chunk-HJA3Z56H.js} +696 -14
  18. package/dist/chunk-HJA3Z56H.js.map +1 -0
  19. package/dist/{chunk-COIZLMGV.js → chunk-HZNOSJOO.js} +3 -3
  20. package/dist/{chunk-USBKBGT3.js → chunk-I3LGUSZ3.js} +5 -5
  21. package/dist/{chunk-UNIDAVVR.js → chunk-IAGLVGHN.js} +2 -2
  22. package/dist/{chunk-7YD3TRDX.js → chunk-LNPKBBPG.js} +4 -4
  23. package/dist/{chunk-IFSIKGHI.js → chunk-MSBYVBPX.js} +2 -2
  24. package/dist/{chunk-QPSYBHK6.js → chunk-MX3XD2ML.js} +2 -2
  25. package/dist/{chunk-VNVGGM73.js → chunk-N56C2MWI.js} +2 -2
  26. package/dist/{chunk-CURHM4TH.js → chunk-OKAHIWG4.js} +3 -3
  27. package/dist/{chunk-DFCC7FN4.js → chunk-OLCDGMEO.js} +190 -4
  28. package/dist/chunk-OLCDGMEO.js.map +1 -0
  29. package/dist/{chunk-QLZDOEO4.js → chunk-P7RBQUAG.js} +30 -7
  30. package/dist/chunk-P7RBQUAG.js.map +1 -0
  31. package/dist/{chunk-QV52AXTF.js → chunk-RJHLNI37.js} +2 -2
  32. package/dist/{chunk-GVNY4ZB6.js → chunk-RQNBJ7AS.js} +2 -2
  33. package/dist/{chunk-ZAPCPHGZ.js → chunk-TORS5V2C.js} +2 -2
  34. package/dist/{chunk-RKIPSMCN.js → chunk-TZK7VQAW.js} +5 -5
  35. package/dist/{chunk-ZTTUXPBQ.js → chunk-UGJRDFMN.js} +2 -2
  36. package/dist/{chunk-SRNAXDOT.js → chunk-UN7PYUJB.js} +2 -2
  37. package/dist/{chunk-2NU774CB.js → chunk-VQE3OSUW.js} +2 -2
  38. package/dist/{cli-circuit-breaker-2AAHSCHR.js → cli-circuit-breaker-JDGZ25MD.js} +4 -4
  39. package/dist/cli.js +409 -897
  40. package/dist/cli.js.map +1 -1
  41. package/dist/{composite-router-WOVGICBS.js → composite-router-EZPPVCMD.js} +2 -2
  42. package/dist/{consensus-vote-322S65GQ.js → consensus-vote-YKKJHLOD.js} +15 -15
  43. package/dist/{context-retriever-YMJY6YBJ.js → context-retriever-EGMARBAC.js} +8 -8
  44. package/dist/{doctor-deep-DALT3OXC.js → doctor-deep-QTBDR3VV.js} +3 -3
  45. package/dist/{expert-bridge-WNV3ST2T.js → expert-bridge-FZYJ3XAL.js} +4 -4
  46. package/dist/{factory-TLSTFONW.js → factory-NDMPXPYE.js} +5 -5
  47. package/dist/{factory-33HQYVCK.js → factory-SABHBAHC.js} +8 -8
  48. package/dist/{improvement-review-2W6LKP74.js → improvement-review-WYFGNEVP.js} +5 -5
  49. package/dist/index.js +35 -35
  50. package/dist/{init-opencode-I4FY4OGP.js → init-opencode-CMGJ3TXZ.js} +5 -6
  51. package/dist/{init-opencode-I4FY4OGP.js.map → init-opencode-CMGJ3TXZ.js.map} +1 -1
  52. package/dist/{issue-triage-CVMVZ3IV.js → issue-triage-NHRZGMKC.js} +6 -6
  53. package/dist/{pr-reviewer-helpers-SAMOVLNJ.js → pr-reviewer-helpers-HJRFRUZX.js} +4 -4
  54. package/dist/{registry-command-5D2DJT53.js → registry-command-JCOZA7TM.js} +2 -2
  55. package/dist/{repo-security-plan-F7V5SHAQ.js → repo-security-plan-OMY33VHA.js} +3 -3
  56. package/dist/{research-helpers-synthesize-F4PV4B4B.js → research-helpers-synthesize-DFINP3KN.js} +4 -4
  57. package/dist/{routing-memory-G6YBK4WI.js → routing-memory-KK4GPB64.js} +2 -2
  58. package/dist/{session-memory-DAJHLPOY.js → session-memory-QTHGU2XM.js} +3 -3
  59. package/dist/{setup-command-S4AOTSY5.js → setup-command-CURZCHSQ.js} +13 -11
  60. package/dist/{setup-config-HKUWFV5N.js → setup-config-FX6SJXGQ.js} +3 -3
  61. package/dist/{setup-custom-api-XRUPWEPF.js → setup-custom-api-MYN4EVT2.js} +3 -3
  62. package/dist/{tool-memory-XJ5VRMNQ.js → tool-memory-3W5NXR4P.js} +5 -5
  63. package/dist/{unified-registry-ETKPTZBU.js → unified-registry-PKPNJ3G7.js} +9 -9
  64. package/dist/{weather-report-TWBLIHPZ.js → weather-report-46ZY3X2Z.js} +2 -2
  65. package/package.json +1 -1
  66. package/dist/chunk-DFCC7FN4.js.map +0 -1
  67. package/dist/chunk-QLZDOEO4.js.map +0 -1
  68. package/dist/chunk-VGEVDF44.js +0 -197
  69. package/dist/chunk-VGEVDF44.js.map +0 -1
  70. package/dist/chunk-ZSUN7BHE.js.map +0 -1
  71. /package/dist/{child-mcp-config-X4YLQKGK.js.map → child-mcp-config-FAWSJFMQ.js.map} +0 -0
  72. /package/dist/{chunk-KM3YEIEN.js.map → chunk-2ANAH2UU.js.map} +0 -0
  73. /package/dist/{chunk-7USEQLMS.js.map → chunk-2Z4QECP7.js.map} +0 -0
  74. /package/dist/{chunk-7K5LSUEU.js.map → chunk-3KID7AIF.js.map} +0 -0
  75. /package/dist/{chunk-ZTWKSN5K.js.map → chunk-52T2MJDS.js.map} +0 -0
  76. /package/dist/{chunk-PC4Y4VPX.js.map → chunk-5LPPJIZ4.js.map} +0 -0
  77. /package/dist/{chunk-XUMLVCFL.js.map → chunk-6ERIC5NJ.js.map} +0 -0
  78. /package/dist/{chunk-S6HCREYY.js.map → chunk-7IUVW67T.js.map} +0 -0
  79. /package/dist/{chunk-ZIC6ZZFU.js.map → chunk-CJLMB7MO.js.map} +0 -0
  80. /package/dist/{chunk-O6VL6LA4.js.map → chunk-CPS2HN4T.js.map} +0 -0
  81. /package/dist/{chunk-TGAVZ2ZL.js.map → chunk-ELWMGKVP.js.map} +0 -0
  82. /package/dist/{chunk-JKUX73VD.js.map → chunk-EQLJYWLP.js.map} +0 -0
  83. /package/dist/{chunk-GGYQTV2Y.js.map → chunk-ETFCT2CH.js.map} +0 -0
  84. /package/dist/{chunk-BB7KSLNA.js.map → chunk-F5JDQXHJ.js.map} +0 -0
  85. /package/dist/{chunk-STMW5BSR.js.map → chunk-G7NDNFIE.js.map} +0 -0
  86. /package/dist/{chunk-GRWHPG72.js.map → chunk-GNCUZDQI.js.map} +0 -0
  87. /package/dist/{chunk-COIZLMGV.js.map → chunk-HZNOSJOO.js.map} +0 -0
  88. /package/dist/{chunk-USBKBGT3.js.map → chunk-I3LGUSZ3.js.map} +0 -0
  89. /package/dist/{chunk-UNIDAVVR.js.map → chunk-IAGLVGHN.js.map} +0 -0
  90. /package/dist/{chunk-7YD3TRDX.js.map → chunk-LNPKBBPG.js.map} +0 -0
  91. /package/dist/{chunk-IFSIKGHI.js.map → chunk-MSBYVBPX.js.map} +0 -0
  92. /package/dist/{chunk-QPSYBHK6.js.map → chunk-MX3XD2ML.js.map} +0 -0
  93. /package/dist/{chunk-VNVGGM73.js.map → chunk-N56C2MWI.js.map} +0 -0
  94. /package/dist/{chunk-CURHM4TH.js.map → chunk-OKAHIWG4.js.map} +0 -0
  95. /package/dist/{chunk-QV52AXTF.js.map → chunk-RJHLNI37.js.map} +0 -0
  96. /package/dist/{chunk-GVNY4ZB6.js.map → chunk-RQNBJ7AS.js.map} +0 -0
  97. /package/dist/{chunk-ZAPCPHGZ.js.map → chunk-TORS5V2C.js.map} +0 -0
  98. /package/dist/{chunk-RKIPSMCN.js.map → chunk-TZK7VQAW.js.map} +0 -0
  99. /package/dist/{chunk-ZTTUXPBQ.js.map → chunk-UGJRDFMN.js.map} +0 -0
  100. /package/dist/{chunk-SRNAXDOT.js.map → chunk-UN7PYUJB.js.map} +0 -0
  101. /package/dist/{chunk-2NU774CB.js.map → chunk-VQE3OSUW.js.map} +0 -0
  102. /package/dist/{cli-circuit-breaker-2AAHSCHR.js.map → cli-circuit-breaker-JDGZ25MD.js.map} +0 -0
  103. /package/dist/{composite-router-WOVGICBS.js.map → composite-router-EZPPVCMD.js.map} +0 -0
  104. /package/dist/{consensus-vote-322S65GQ.js.map → consensus-vote-YKKJHLOD.js.map} +0 -0
  105. /package/dist/{context-retriever-YMJY6YBJ.js.map → context-retriever-EGMARBAC.js.map} +0 -0
  106. /package/dist/{doctor-deep-DALT3OXC.js.map → doctor-deep-QTBDR3VV.js.map} +0 -0
  107. /package/dist/{expert-bridge-WNV3ST2T.js.map → expert-bridge-FZYJ3XAL.js.map} +0 -0
  108. /package/dist/{factory-33HQYVCK.js.map → factory-NDMPXPYE.js.map} +0 -0
  109. /package/dist/{factory-TLSTFONW.js.map → factory-SABHBAHC.js.map} +0 -0
  110. /package/dist/{improvement-review-2W6LKP74.js.map → improvement-review-WYFGNEVP.js.map} +0 -0
  111. /package/dist/{issue-triage-CVMVZ3IV.js.map → issue-triage-NHRZGMKC.js.map} +0 -0
  112. /package/dist/{pr-reviewer-helpers-SAMOVLNJ.js.map → pr-reviewer-helpers-HJRFRUZX.js.map} +0 -0
  113. /package/dist/{registry-command-5D2DJT53.js.map → registry-command-JCOZA7TM.js.map} +0 -0
  114. /package/dist/{repo-security-plan-F7V5SHAQ.js.map → repo-security-plan-OMY33VHA.js.map} +0 -0
  115. /package/dist/{research-helpers-synthesize-F4PV4B4B.js.map → research-helpers-synthesize-DFINP3KN.js.map} +0 -0
  116. /package/dist/{routing-memory-G6YBK4WI.js.map → routing-memory-KK4GPB64.js.map} +0 -0
  117. /package/dist/{session-memory-DAJHLPOY.js.map → session-memory-QTHGU2XM.js.map} +0 -0
  118. /package/dist/{setup-command-S4AOTSY5.js.map → setup-command-CURZCHSQ.js.map} +0 -0
  119. /package/dist/{setup-config-HKUWFV5N.js.map → setup-config-FX6SJXGQ.js.map} +0 -0
  120. /package/dist/{setup-custom-api-XRUPWEPF.js.map → setup-custom-api-MYN4EVT2.js.map} +0 -0
  121. /package/dist/{tool-memory-XJ5VRMNQ.js.map → tool-memory-3W5NXR4P.js.map} +0 -0
  122. /package/dist/{unified-registry-ETKPTZBU.js.map → unified-registry-PKPNJ3G7.js.map} +0 -0
  123. /package/dist/{weather-report-TWBLIHPZ.js.map → weather-report-46ZY3X2Z.js.map} +0 -0
@@ -4,7 +4,7 @@ import {
4
4
  CompositeRoutingError,
5
5
  DEFAULT_COMPOSITE_CONFIG,
6
6
  createCompositeRouter
7
- } from "./chunk-CURHM4TH.js";
7
+ } from "./chunk-OKAHIWG4.js";
8
8
  import "./chunk-AXTD4TFK.js";
9
9
  import "./chunk-DHVMSIT5.js";
10
10
  import "./chunk-ZPWHCABL.js";
@@ -15,4 +15,4 @@ export {
15
15
  DEFAULT_COMPOSITE_CONFIG,
16
16
  createCompositeRouter
17
17
  };
18
- //# sourceMappingURL=composite-router-WOVGICBS.js.map
18
+ //# sourceMappingURL=composite-router-EZPPVCMD.js.map
@@ -8,24 +8,24 @@ import {
8
8
  registerConsensusVoteTool,
9
9
  resetCorrelationTracker,
10
10
  runConsensusForGoal
11
- } from "./chunk-TGAVZ2ZL.js";
12
- import "./chunk-ZAPCPHGZ.js";
13
- import "./chunk-STMW5BSR.js";
14
- import "./chunk-QV52AXTF.js";
15
- import "./chunk-KM3YEIEN.js";
11
+ } from "./chunk-ELWMGKVP.js";
12
+ import "./chunk-TORS5V2C.js";
13
+ import "./chunk-G7NDNFIE.js";
14
+ import "./chunk-RJHLNI37.js";
15
+ import "./chunk-2ANAH2UU.js";
16
16
  import "./chunk-6T3EPABN.js";
17
- import "./chunk-QPSYBHK6.js";
17
+ import "./chunk-MX3XD2ML.js";
18
18
  import "./chunk-PINS44XA.js";
19
19
  import "./chunk-KSQSWEFH.js";
20
- import "./chunk-GGYQTV2Y.js";
21
- import "./chunk-S6HCREYY.js";
22
- import "./chunk-IFSIKGHI.js";
23
- import "./chunk-2NU774CB.js";
24
- import "./chunk-GVNY4ZB6.js";
25
- import "./chunk-ZTTUXPBQ.js";
20
+ import "./chunk-ETFCT2CH.js";
21
+ import "./chunk-7IUVW67T.js";
22
+ import "./chunk-MSBYVBPX.js";
23
+ import "./chunk-VQE3OSUW.js";
24
+ import "./chunk-RQNBJ7AS.js";
25
+ import "./chunk-UGJRDFMN.js";
26
26
  import "./chunk-QZUG667L.js";
27
- import "./chunk-7USEQLMS.js";
28
- import "./chunk-CURHM4TH.js";
27
+ import "./chunk-2Z4QECP7.js";
28
+ import "./chunk-OKAHIWG4.js";
29
29
  import "./chunk-AXTD4TFK.js";
30
30
  import "./chunk-DHVMSIT5.js";
31
31
  import "./chunk-ZPWHCABL.js";
@@ -40,4 +40,4 @@ export {
40
40
  resetCorrelationTracker,
41
41
  runConsensusForGoal
42
42
  };
43
- //# sourceMappingURL=consensus-vote-322S65GQ.js.map
43
+ //# sourceMappingURL=consensus-vote-YKKJHLOD.js.map
@@ -6,18 +6,18 @@ import {
6
6
  inferTaskCategory,
7
7
  selectRelevantResearch,
8
8
  summarizeContextForPrompt
9
- } from "./chunk-ZSUN7BHE.js";
10
- import "./chunk-UNIDAVVR.js";
11
- import "./chunk-PC4Y4VPX.js";
9
+ } from "./chunk-HJA3Z56H.js";
10
+ import "./chunk-IAGLVGHN.js";
11
+ import "./chunk-5LPPJIZ4.js";
12
12
  import "./chunk-NUBSJGQZ.js";
13
- import "./chunk-KM3YEIEN.js";
13
+ import "./chunk-2ANAH2UU.js";
14
14
  import "./chunk-6T3EPABN.js";
15
- import "./chunk-QPSYBHK6.js";
15
+ import "./chunk-MX3XD2ML.js";
16
16
  import "./chunk-PINS44XA.js";
17
17
  import "./chunk-KSQSWEFH.js";
18
18
  import "./chunk-QZUG667L.js";
19
- import "./chunk-7USEQLMS.js";
20
- import "./chunk-CURHM4TH.js";
19
+ import "./chunk-2Z4QECP7.js";
20
+ import "./chunk-OKAHIWG4.js";
21
21
  import "./chunk-AXTD4TFK.js";
22
22
  import "./chunk-DHVMSIT5.js";
23
23
  import "./chunk-ZPWHCABL.js";
@@ -30,4 +30,4 @@ export {
30
30
  selectRelevantResearch,
31
31
  summarizeContextForPrompt
32
32
  };
33
- //# sourceMappingURL=context-retriever-YMJY6YBJ.js.map
33
+ //# sourceMappingURL=context-retriever-EGMARBAC.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  formatDeepDiagnostics,
3
3
  runDeepDiagnostics
4
- } from "./chunk-O6VL6LA4.js";
5
- import "./chunk-CURHM4TH.js";
4
+ } from "./chunk-CPS2HN4T.js";
5
+ import "./chunk-OKAHIWG4.js";
6
6
  import "./chunk-AXTD4TFK.js";
7
7
  import "./chunk-DHVMSIT5.js";
8
8
  import "./chunk-ZPWHCABL.js";
@@ -10,4 +10,4 @@ export {
10
10
  formatDeepDiagnostics,
11
11
  runDeepDiagnostics
12
12
  };
13
- //# sourceMappingURL=doctor-deep-DALT3OXC.js.map
13
+ //# sourceMappingURL=doctor-deep-QTBDR3VV.js.map
@@ -3,9 +3,9 @@ import {
3
3
  shutdownExpertBridge,
4
4
  tokenSplitFromUsage,
5
5
  totalTokensFromUsage
6
- } from "./chunk-GRWHPG72.js";
7
- import "./chunk-ZTTUXPBQ.js";
8
- import "./chunk-CURHM4TH.js";
6
+ } from "./chunk-GNCUZDQI.js";
7
+ import "./chunk-UGJRDFMN.js";
8
+ import "./chunk-OKAHIWG4.js";
9
9
  import "./chunk-AXTD4TFK.js";
10
10
  import "./chunk-DHVMSIT5.js";
11
11
  import "./chunk-ZPWHCABL.js";
@@ -15,4 +15,4 @@ export {
15
15
  tokenSplitFromUsage,
16
16
  totalTokensFromUsage
17
17
  };
18
- //# sourceMappingURL=expert-bridge-WNV3ST2T.js.map
18
+ //# sourceMappingURL=expert-bridge-FZYJ3XAL.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  createGitHubProvider,
3
3
  createScmProvider
4
- } from "./chunk-7YD3TRDX.js";
5
- import "./chunk-BB7KSLNA.js";
6
- import "./chunk-UNIDAVVR.js";
7
- import "./chunk-CURHM4TH.js";
4
+ } from "./chunk-LNPKBBPG.js";
5
+ import "./chunk-F5JDQXHJ.js";
6
+ import "./chunk-IAGLVGHN.js";
7
+ import "./chunk-OKAHIWG4.js";
8
8
  import "./chunk-AXTD4TFK.js";
9
9
  import "./chunk-DHVMSIT5.js";
10
10
  import "./chunk-ZPWHCABL.js";
@@ -12,4 +12,4 @@ export {
12
12
  createGitHubProvider,
13
13
  createScmProvider
14
14
  };
15
- //# sourceMappingURL=factory-TLSTFONW.js.map
15
+ //# sourceMappingURL=factory-NDMPXPYE.js.map
@@ -3,14 +3,14 @@ import {
3
3
  createCliAdapter,
4
4
  getAvailableClis,
5
5
  isCliAvailable
6
- } from "./chunk-S6HCREYY.js";
7
- import "./chunk-IFSIKGHI.js";
8
- import "./chunk-2NU774CB.js";
9
- import "./chunk-GVNY4ZB6.js";
10
- import "./chunk-ZTTUXPBQ.js";
6
+ } from "./chunk-7IUVW67T.js";
7
+ import "./chunk-MSBYVBPX.js";
8
+ import "./chunk-VQE3OSUW.js";
9
+ import "./chunk-RQNBJ7AS.js";
10
+ import "./chunk-UGJRDFMN.js";
11
11
  import "./chunk-QZUG667L.js";
12
- import "./chunk-7USEQLMS.js";
13
- import "./chunk-CURHM4TH.js";
12
+ import "./chunk-2Z4QECP7.js";
13
+ import "./chunk-OKAHIWG4.js";
14
14
  import "./chunk-AXTD4TFK.js";
15
15
  import "./chunk-DHVMSIT5.js";
16
16
  import "./chunk-ZPWHCABL.js";
@@ -20,4 +20,4 @@ export {
20
20
  getAvailableClis,
21
21
  isCliAvailable
22
22
  };
23
- //# sourceMappingURL=factory-33HQYVCK.js.map
23
+ //# sourceMappingURL=factory-SABHBAHC.js.map
@@ -11,10 +11,10 @@ import {
11
11
  loadSelfEvalSignals,
12
12
  registerImprovementReviewTool,
13
13
  runImprovementReview
14
- } from "./chunk-ZIC6ZZFU.js";
15
- import "./chunk-STMW5BSR.js";
16
- import "./chunk-QV52AXTF.js";
17
- import "./chunk-CURHM4TH.js";
14
+ } from "./chunk-CJLMB7MO.js";
15
+ import "./chunk-G7NDNFIE.js";
16
+ import "./chunk-RJHLNI37.js";
17
+ import "./chunk-OKAHIWG4.js";
18
18
  import "./chunk-AXTD4TFK.js";
19
19
  import "./chunk-DHVMSIT5.js";
20
20
  import "./chunk-ZPWHCABL.js";
@@ -32,4 +32,4 @@ export {
32
32
  registerImprovementReviewTool,
33
33
  runImprovementReview
34
34
  };
35
- //# sourceMappingURL=improvement-review-2W6LKP74.js.map
35
+ //# sourceMappingURL=improvement-review-WYFGNEVP.js.map
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createGitHubProvider,
3
3
  createScmProvider
4
- } from "./chunk-7YD3TRDX.js";
4
+ } from "./chunk-LNPKBBPG.js";
5
5
  import {
6
6
  ALLOWED_COMMANDS,
7
7
  ARTIFACT_TYPES,
@@ -520,13 +520,7 @@ import {
520
520
  validateWorkflow,
521
521
  validateWorkflowDependencies,
522
522
  withLogging
523
- } from "./chunk-ZTWKSN5K.js";
524
- import {
525
- OPENAI_MODELS,
526
- OPENAI_MODEL_ALIASES,
527
- OpenAIAdapter,
528
- createOpenAIAdapter
529
- } from "./chunk-DFCC7FN4.js";
523
+ } from "./chunk-52T2MJDS.js";
530
524
  import {
531
525
  FALLBACK_SCANNER_DATA,
532
526
  buildPlanFromAnalysis,
@@ -534,7 +528,7 @@ import {
534
528
  generateSecurityPlan,
535
529
  getRegistryManifest,
536
530
  resolveScannerData
537
- } from "./chunk-VNVGGM73.js";
531
+ } from "./chunk-N56C2MWI.js";
538
532
  import {
539
533
  analyzeGitHubRepo,
540
534
  analyzeRepo,
@@ -560,14 +554,20 @@ import {
560
554
  getKnownNexusVarNames,
561
555
  startStdioServer,
562
556
  validateNexusEnv
563
- } from "./chunk-QLZDOEO4.js";
557
+ } from "./chunk-P7RBQUAG.js";
558
+ import {
559
+ OPENAI_MODELS,
560
+ OPENAI_MODEL_ALIASES,
561
+ OpenAIAdapter,
562
+ createOpenAIAdapter
563
+ } from "./chunk-OLCDGMEO.js";
564
564
  import {
565
565
  CliCircuitBreakerIntegration,
566
566
  createCliCircuitBreakerIntegration
567
- } from "./chunk-COIZLMGV.js";
567
+ } from "./chunk-HZNOSJOO.js";
568
568
  import {
569
569
  executeExpert
570
- } from "./chunk-GRWHPG72.js";
570
+ } from "./chunk-GNCUZDQI.js";
571
571
  import {
572
572
  AgentFindingSchema,
573
573
  ConsensusEngine,
@@ -616,9 +616,9 @@ import {
616
616
  generateProposalId,
617
617
  parseAgentPairKey,
618
618
  registerConsensusVoteTool
619
- } from "./chunk-TGAVZ2ZL.js";
620
- import "./chunk-ZAPCPHGZ.js";
621
- import "./chunk-7K5LSUEU.js";
619
+ } from "./chunk-ELWMGKVP.js";
620
+ import "./chunk-TORS5V2C.js";
621
+ import "./chunk-3KID7AIF.js";
622
622
  import {
623
623
  AgentActionSchema,
624
624
  GitHubReviewer,
@@ -640,11 +640,11 @@ import {
640
640
  requiresCorroboration,
641
641
  validateAgentAction,
642
642
  validateCorroboration
643
- } from "./chunk-RKIPSMCN.js";
643
+ } from "./chunk-TZK7VQAW.js";
644
644
  import {
645
645
  GitHubProvider,
646
646
  ScmError
647
- } from "./chunk-BB7KSLNA.js";
647
+ } from "./chunk-F5JDQXHJ.js";
648
648
  import {
649
649
  GitHubUserRoleSchema,
650
650
  InjectionFlagSchema,
@@ -659,11 +659,11 @@ import {
659
659
  assessReputation,
660
660
  reconcileTrustTier,
661
661
  sanitizeInput
662
- } from "./chunk-SRNAXDOT.js";
662
+ } from "./chunk-UN7PYUJB.js";
663
663
  import {
664
664
  ImprovementReviewInputSchema,
665
665
  registerImprovementReviewTool
666
- } from "./chunk-ZIC6ZZFU.js";
666
+ } from "./chunk-CJLMB7MO.js";
667
667
  import {
668
668
  AgentPerformanceSchema,
669
669
  ConsensusAlgorithmSchema,
@@ -699,7 +699,7 @@ import {
699
699
  toolSuccess,
700
700
  toolSuccessStructured,
701
701
  validateToolInput
702
- } from "./chunk-STMW5BSR.js";
702
+ } from "./chunk-G7NDNFIE.js";
703
703
  import {
704
704
  AuditTrail,
705
705
  MAX_STRIPPED_ELEMENTS_PER_EVENT,
@@ -711,7 +711,7 @@ import {
711
711
  emitReputationEvent,
712
712
  emitSanitizationEvent,
713
713
  emitTrustEvent
714
- } from "./chunk-QV52AXTF.js";
714
+ } from "./chunk-RJHLNI37.js";
715
715
  import {
716
716
  PersistentStrategyDistiller,
717
717
  RulesSnapshotSchema,
@@ -719,19 +719,19 @@ import {
719
719
  TokenCounter,
720
720
  TokenCounterProvider,
721
721
  createTokenCounter
722
- } from "./chunk-ZSUN7BHE.js";
722
+ } from "./chunk-HJA3Z56H.js";
723
723
  import {
724
724
  getTokenEnvVars,
725
725
  hasToken,
726
726
  resolveToken
727
- } from "./chunk-UNIDAVVR.js";
728
- import "./chunk-PC4Y4VPX.js";
727
+ } from "./chunk-IAGLVGHN.js";
728
+ import "./chunk-5LPPJIZ4.js";
729
729
  import "./chunk-NUBSJGQZ.js";
730
730
  import {
731
731
  MemoryError
732
- } from "./chunk-KM3YEIEN.js";
732
+ } from "./chunk-2ANAH2UU.js";
733
733
  import "./chunk-6T3EPABN.js";
734
- import "./chunk-QPSYBHK6.js";
734
+ import "./chunk-MX3XD2ML.js";
735
735
  import {
736
736
  BUILT_IN_EXPERTS,
737
737
  BuiltInExpertTypeSchema,
@@ -750,7 +750,7 @@ import {
750
750
  resetGlobalRegistry,
751
751
  withModelNotFoundFallback,
752
752
  wrapResilientWithFallback
753
- } from "./chunk-GGYQTV2Y.js";
753
+ } from "./chunk-ETFCT2CH.js";
754
754
  import {
755
755
  BaseCliAdapter,
756
756
  CLAUDE_MODELS,
@@ -785,7 +785,7 @@ import {
785
785
  isCliAvailable,
786
786
  isRetryableError,
787
787
  sleep
788
- } from "./chunk-S6HCREYY.js";
788
+ } from "./chunk-7IUVW67T.js";
789
789
  import {
790
790
  AdapterModelError,
791
791
  BaseAdapter,
@@ -809,12 +809,12 @@ import {
809
809
  transformStream,
810
810
  validateApiKeyPresence,
811
811
  withTimeout
812
- } from "./chunk-IFSIKGHI.js";
812
+ } from "./chunk-MSBYVBPX.js";
813
813
  import {
814
814
  DEFAULTS,
815
815
  PROVIDER_ENV_KEYS
816
- } from "./chunk-2NU774CB.js";
817
- import "./chunk-GVNY4ZB6.js";
816
+ } from "./chunk-VQE3OSUW.js";
817
+ import "./chunk-RQNBJ7AS.js";
818
818
  import {
819
819
  AvailabilityCache,
820
820
  filterAvailableModels,
@@ -823,9 +823,9 @@ import {
823
823
  getFallbackChain,
824
824
  resetAvailabilityCache,
825
825
  resolveFallback
826
- } from "./chunk-ZTTUXPBQ.js";
826
+ } from "./chunk-UGJRDFMN.js";
827
827
  import "./chunk-QZUG667L.js";
828
- import "./chunk-7USEQLMS.js";
828
+ import "./chunk-2Z4QECP7.js";
829
829
  import {
830
830
  AgentCapability,
831
831
  AgentError,
@@ -903,7 +903,7 @@ import {
903
903
  toError,
904
904
  unwrap,
905
905
  unwrapOr
906
- } from "./chunk-CURHM4TH.js";
906
+ } from "./chunk-OKAHIWG4.js";
907
907
  import "./chunk-AXTD4TFK.js";
908
908
  import "./chunk-DHVMSIT5.js";
909
909
  import "./chunk-ZPWHCABL.js";
@@ -5713,7 +5713,7 @@ function buildVotingInput(plan, config) {
5713
5713
  }
5714
5714
  async function executeSingleVote(plan, config, log) {
5715
5715
  try {
5716
- const { executeVoting } = await import("./consensus-vote-322S65GQ.js");
5716
+ const { executeVoting } = await import("./consensus-vote-YKKJHLOD.js");
5717
5717
  const input = buildVotingInput(plan, config);
5718
5718
  const result = await executeVoting(input, log);
5719
5719
  return parseVotingResult(result);
@@ -1,13 +1,12 @@
1
1
  import {
2
2
  discoverModels,
3
3
  readOpencodeGateway
4
- } from "./chunk-VGEVDF44.js";
5
- import "./chunk-DFCC7FN4.js";
6
- import "./chunk-ZAPCPHGZ.js";
7
- import "./chunk-IFSIKGHI.js";
4
+ } from "./chunk-OLCDGMEO.js";
5
+ import "./chunk-TORS5V2C.js";
6
+ import "./chunk-MSBYVBPX.js";
8
7
  import {
9
8
  createLogger
10
- } from "./chunk-CURHM4TH.js";
9
+ } from "./chunk-OKAHIWG4.js";
11
10
  import "./chunk-AXTD4TFK.js";
12
11
  import "./chunk-DHVMSIT5.js";
13
12
  import "./chunk-ZPWHCABL.js";
@@ -176,4 +175,4 @@ export {
176
175
  runInitOpencode,
177
176
  runOpencodeValidate
178
177
  };
179
- //# sourceMappingURL=init-opencode-I4FY4OGP.js.map
178
+ //# sourceMappingURL=init-opencode-CMGJ3TXZ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cli/init-opencode.ts"],"sourcesContent":["/**\n * `nexus-agents init --opencode <path>` setup helper (#2504, child 4 of #2500).\n *\n * Injects the nexus-agents MCP block + recommended environment into an\n * existing `opencode.json` without overwriting other operator-set keys.\n * Pairs with the existing `init --portable --mcp-config` (which targets\n * Claude Code's `.mcp.json`). Different harness, same merge-not-overwrite\n * pattern.\n *\n * Behaviour:\n * - File exists → merge `mcp.nexus-agents` into the existing JSON.\n * Preserve every other key the operator has set (provider config,\n * model lists, theme, …). Idempotent: re-running produces the same\n * final file.\n * - File missing → write a minimal template with the nexus-agents MCP\n * block + a stubbed `providers.openai-compat` shell the operator\n * fills in (placeholder baseURL + `{env:WORKSPACE_PROXY_KEY}`).\n * - `--dry-run` → print the diff (proposed vs existing) without writing.\n * - `--validate` → after merge (or alongside dry-run), probe\n * `providers.openai-compat.options.baseURL/v1/models` with the\n * resolved apiKey, exit non-zero if unreachable.\n *\n * @module cli/init-opencode\n */\n\nimport { existsSync, readFileSync, writeFileSync } from 'node:fs';\nimport { dirname } from 'node:path';\n\nimport { createLogger } from '../core/index.js';\nimport { readOpencodeGateway } from '../config/opencode-bridge.js';\nimport { discoverModels } from '../adapters/openai-compat-adapter.js';\n\nconst logger = createLogger({ component: 'init-opencode' });\n\nexport interface InitOpencodeOptions {\n /** Absolute or relative path to opencode.json. */\n readonly path: string;\n /** Path to the nexus-agents CLI binary that the MCP block will spawn. */\n readonly cliPath: string;\n /** Sandbox flavor written to NEXUS_SANDBOX in the MCP environment. */\n readonly sandboxFlavor?: string;\n /** Print the diff without writing. */\n readonly dryRun?: boolean;\n}\n\nexport interface InitOpencodeResult {\n readonly path: string;\n readonly action: 'created' | 'updated' | 'unchanged' | 'dry-run';\n readonly diff: string;\n}\n\ninterface OpencodeMcpBlock {\n type: 'local';\n command: string[];\n enabled: boolean;\n environment: Record<string, string>;\n}\n\ninterface OpencodeFile {\n $schema?: string;\n providers?: Record<string, unknown>;\n mcp?: Record<string, unknown>;\n permission?: Record<string, unknown>;\n [key: string]: unknown;\n}\n\n/**\n * Conservative default OpenCode `permission` block (#2658). OpenCode\n * evaluates a glob map with **last-matching-rule-winning**, so the broad\n * `\"*\"` rule is listed first and the hard `deny` patterns last.\n *\n * - `edit` — everything `ask`s; secrets, keys, and `.git/` are hard-denied\n * regardless of operator confirmation. The deny patterns come after\n * `\"*\"` so last-match-wins makes them stick.\n * - `bash` — `ask` unconditionally. Shell is the highest-risk surface.\n * - `skill` — `allow`. Skills are trusted, in-repo, CI-validated content.\n *\n * Emitted only when the operator has not already set their own\n * `permission` block — never overwrites operator config.\n */\nexport function buildDefaultPermissionBlock(): Record<string, unknown> {\n return {\n edit: {\n '*': 'ask',\n '**/.env': 'deny',\n '**/.env.*': 'deny',\n '**/*.pem': 'deny',\n '**/*.key': 'deny',\n '**/id_rsa*': 'deny',\n '**/secrets/**': 'deny',\n '**/.git/**': 'deny',\n },\n bash: 'ask',\n skill: 'allow',\n };\n}\n\n/**\n * Build the canonical nexus-agents MCP block. Mirrors what\n * `Dockerfile.sandbox` writes today plus the env vars from #2501 + #2503.\n */\nexport function buildNexusMcpBlock(opts: {\n readonly cliPath: string;\n readonly sandboxFlavor?: string;\n readonly opencodeConfigPath: string;\n}): OpencodeMcpBlock {\n const env: Record<string, string> = {\n NEXUS_DATA_DIR: '{env:NEXUS_DATA_DIR}',\n NEXUS_OPENCODE_CONFIG: opts.opencodeConfigPath,\n };\n if (opts.sandboxFlavor !== undefined && opts.sandboxFlavor !== '') {\n env['NEXUS_SANDBOX'] = opts.sandboxFlavor;\n }\n return {\n type: 'local',\n command: ['node', opts.cliPath, '--mode=server'],\n enabled: true,\n environment: env,\n };\n}\n\n/**\n * Execute the merge. Pure with respect to `opts.dryRun: true` — no fs\n * writes. Returns the final-or-proposed JSON + a diff string suitable\n * for printing.\n */\nexport function runInitOpencode(opts: InitOpencodeOptions): InitOpencodeResult {\n const existing = readExisting(opts.path);\n const merged = mergeNexusBlock(existing, opts);\n const before = existing === null ? '' : `${JSON.stringify(existing, null, 2)}\\n`;\n const after = `${JSON.stringify(merged, null, 2)}\\n`;\n const diff = simpleDiff(before, after);\n\n if (opts.dryRun === true) {\n return { path: opts.path, action: 'dry-run', diff };\n }\n\n if (existing !== null && before === after) {\n return { path: opts.path, action: 'unchanged', diff };\n }\n\n writeFileSync(opts.path, after, 'utf8');\n return { path: opts.path, action: existing === null ? 'created' : 'updated', diff };\n}\n\nfunction readExisting(path: string): OpencodeFile | null {\n if (!existsSync(path)) return null;\n try {\n const raw = readFileSync(path, 'utf8');\n const parsed = JSON.parse(raw) as unknown;\n if (typeof parsed !== 'object' || parsed === null) {\n throw new Error('opencode.json root must be an object');\n }\n return parsed as OpencodeFile;\n } catch (err: unknown) {\n const msg = err instanceof Error ? err.message : String(err);\n throw new Error(`Failed to parse opencode.json at ${path}: ${msg}`);\n }\n}\n\nfunction mergeNexusBlock(existing: OpencodeFile | null, opts: InitOpencodeOptions): OpencodeFile {\n const block = buildNexusMcpBlock({\n cliPath: opts.cliPath,\n ...(opts.sandboxFlavor !== undefined && { sandboxFlavor: opts.sandboxFlavor }),\n opencodeConfigPath: opts.path,\n });\n\n if (existing === null) {\n return {\n $schema: 'https://opencode.ai/config.json',\n providers: { 'openai-compat': stubOpenaiCompatProvider() },\n permission: buildDefaultPermissionBlock(),\n mcp: { 'nexus-agents': block },\n };\n }\n\n // Idempotent merge: preserve user-customised fields if they exist on the\n // current MCP block (e.g. `enabled: false`). Update anything else.\n const existingMcp: Record<string, unknown> = existing.mcp ?? {};\n const rawNexus = existingMcp['nexus-agents'];\n const existingNexus: Partial<OpencodeMcpBlock> =\n typeof rawNexus === 'object' && rawNexus !== null ? rawNexus : {};\n const mergedBlock: OpencodeMcpBlock = {\n type: 'local',\n command: block.command,\n enabled: existingNexus.enabled ?? block.enabled,\n environment: { ...block.environment, ...(existingNexus.environment ?? {}) },\n };\n\n // Add the default permission block only when the operator has not set\n // their own — never overwrite an existing `permission` key.\n const permission = existing.permission ?? buildDefaultPermissionBlock();\n\n return {\n ...existing,\n permission,\n mcp: { ...existingMcp, 'nexus-agents': mergedBlock },\n };\n}\n\n/**\n * Stub for `providers.openai-compat`. Operators replace the placeholder\n * baseURL + key with their workspace-proxy values. Empty by design — we\n * never overwrite an existing provider block (see `mergeNexusBlock`).\n */\nfunction stubOpenaiCompatProvider(): Record<string, unknown> {\n return {\n npm: '@ai-sdk/openai-compatible',\n options: {\n baseURL: '<replace with workspace proxy URL>',\n apiKey: '{env:WORKSPACE_PROXY_KEY}',\n },\n };\n}\n\n/**\n * Cheap line-based diff. Three-line context, +/- prefixes. Good enough\n * for an operator preview; not a unified-diff replacement.\n */\nfunction simpleDiff(before: string, after: string): string {\n if (before === after) return '(no changes)';\n const beforeLines = before.split('\\n');\n const afterLines = after.split('\\n');\n const out: string[] = [];\n const max = Math.max(beforeLines.length, afterLines.length);\n for (let i = 0; i < max; i += 1) {\n const b = beforeLines[i];\n const a = afterLines[i];\n if (b === a) {\n out.push(` ${b ?? ''}`);\n } else {\n if (b !== undefined) out.push(`- ${b}`);\n if (a !== undefined) out.push(`+ ${a}`);\n }\n }\n return out.join('\\n');\n}\n\nexport function ensureOpencodeDirExists(path: string): void {\n const dir = dirname(path);\n if (!existsSync(dir)) {\n throw new Error(\n `Parent directory does not exist: ${dir}. Create it first or pass a path under an existing dir.`\n );\n }\n logger.debug('opencode.json target directory exists', { dir });\n}\n\n/**\n * --validate flow for `init --opencode` (follow-up to #2504).\n *\n * After the merge step writes the file, optionally probe the gateway it\n * points at. Reuses the same opencode-bridge loader (#2503) that the\n * runtime uses, so what we validate is exactly what the server will see\n * at boot.\n *\n * Returns:\n * - `{ ok: true, models }` when the gateway is reachable and returns ≥1 model\n * - `{ ok: false, reason }` for every failure path (config missing,\n * probe failed, zero models)\n *\n * Caller (cli-commands-handlers) maps to exit codes + stderr / stdout.\n * The API key never reaches the returned object — only model IDs +\n * baseURL appear in the success payload.\n */\nexport interface OpencodeValidateResult {\n readonly ok: boolean;\n readonly baseURL?: string;\n readonly models?: readonly string[];\n readonly reason?: string;\n}\n\nexport async function runOpencodeValidate(opencodePath: string): Promise<OpencodeValidateResult> {\n const config = readOpencodeGateway(opencodePath);\n if (config === null) {\n return {\n ok: false,\n reason:\n 'opencode.json does not resolve a usable gateway. Check that providers.openai-compat.options.{baseURL, apiKey} are set and that any {env:VAR} interpolation references are exported.',\n };\n }\n const result = await discoverModels({ baseUrl: config.baseURL, apiKey: config.apiKey });\n if (!result.ok) {\n return { ok: false, baseURL: config.baseURL, reason: result.error.message };\n }\n if (result.value.length === 0) {\n return {\n ok: false,\n baseURL: config.baseURL,\n reason: 'gateway returned 0 models. Check upstream provider quotas / list filters.',\n };\n }\n return {\n ok: true,\n baseURL: config.baseURL,\n models: result.value.map((m) => m.id),\n };\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/cli/init-opencode.ts"],"sourcesContent":["/**\n * `nexus-agents init --opencode <path>` setup helper (#2504, child 4 of #2500).\n *\n * Injects the nexus-agents MCP block + recommended environment into an\n * existing `opencode.json` without overwriting other operator-set keys.\n * Pairs with the existing `init --portable --mcp-config` (which targets\n * Claude Code's `.mcp.json`). Different harness, same merge-not-overwrite\n * pattern.\n *\n * Behaviour:\n * - File exists → merge `mcp.nexus-agents` into the existing JSON.\n * Preserve every other key the operator has set (provider config,\n * model lists, theme, …). Idempotent: re-running produces the same\n * final file.\n * - File missing → write a minimal template with the nexus-agents MCP\n * block + a stubbed `providers.openai-compat` shell the operator\n * fills in (placeholder baseURL + `{env:WORKSPACE_PROXY_KEY}`).\n * - `--dry-run` → print the diff (proposed vs existing) without writing.\n * - `--validate` → after merge (or alongside dry-run), probe\n * `providers.openai-compat.options.baseURL/v1/models` with the\n * resolved apiKey, exit non-zero if unreachable.\n *\n * @module cli/init-opencode\n */\n\nimport { existsSync, readFileSync, writeFileSync } from 'node:fs';\nimport { dirname } from 'node:path';\n\nimport { createLogger } from '../core/index.js';\nimport { readOpencodeGateway } from '../config/opencode-bridge.js';\nimport { discoverModels } from '../adapters/openai-compat-adapter.js';\n\nconst logger = createLogger({ component: 'init-opencode' });\n\nexport interface InitOpencodeOptions {\n /** Absolute or relative path to opencode.json. */\n readonly path: string;\n /** Path to the nexus-agents CLI binary that the MCP block will spawn. */\n readonly cliPath: string;\n /** Sandbox flavor written to NEXUS_SANDBOX in the MCP environment. */\n readonly sandboxFlavor?: string;\n /** Print the diff without writing. */\n readonly dryRun?: boolean;\n}\n\nexport interface InitOpencodeResult {\n readonly path: string;\n readonly action: 'created' | 'updated' | 'unchanged' | 'dry-run';\n readonly diff: string;\n}\n\ninterface OpencodeMcpBlock {\n type: 'local';\n command: string[];\n enabled: boolean;\n environment: Record<string, string>;\n}\n\ninterface OpencodeFile {\n $schema?: string;\n providers?: Record<string, unknown>;\n mcp?: Record<string, unknown>;\n permission?: Record<string, unknown>;\n [key: string]: unknown;\n}\n\n/**\n * Conservative default OpenCode `permission` block (#2658). OpenCode\n * evaluates a glob map with **last-matching-rule-winning**, so the broad\n * `\"*\"` rule is listed first and the hard `deny` patterns last.\n *\n * - `edit` — everything `ask`s; secrets, keys, and `.git/` are hard-denied\n * regardless of operator confirmation. The deny patterns come after\n * `\"*\"` so last-match-wins makes them stick.\n * - `bash` — `ask` unconditionally. Shell is the highest-risk surface.\n * - `skill` — `allow`. Skills are trusted, in-repo, CI-validated content.\n *\n * Emitted only when the operator has not already set their own\n * `permission` block — never overwrites operator config.\n */\nexport function buildDefaultPermissionBlock(): Record<string, unknown> {\n return {\n edit: {\n '*': 'ask',\n '**/.env': 'deny',\n '**/.env.*': 'deny',\n '**/*.pem': 'deny',\n '**/*.key': 'deny',\n '**/id_rsa*': 'deny',\n '**/secrets/**': 'deny',\n '**/.git/**': 'deny',\n },\n bash: 'ask',\n skill: 'allow',\n };\n}\n\n/**\n * Build the canonical nexus-agents MCP block. Mirrors what\n * `Dockerfile.sandbox` writes today plus the env vars from #2501 + #2503.\n */\nexport function buildNexusMcpBlock(opts: {\n readonly cliPath: string;\n readonly sandboxFlavor?: string;\n readonly opencodeConfigPath: string;\n}): OpencodeMcpBlock {\n const env: Record<string, string> = {\n NEXUS_DATA_DIR: '{env:NEXUS_DATA_DIR}',\n NEXUS_OPENCODE_CONFIG: opts.opencodeConfigPath,\n };\n if (opts.sandboxFlavor !== undefined && opts.sandboxFlavor !== '') {\n env['NEXUS_SANDBOX'] = opts.sandboxFlavor;\n }\n return {\n type: 'local',\n command: ['node', opts.cliPath, '--mode=server'],\n enabled: true,\n environment: env,\n };\n}\n\n/**\n * Execute the merge. Pure with respect to `opts.dryRun: true` — no fs\n * writes. Returns the final-or-proposed JSON + a diff string suitable\n * for printing.\n */\nexport function runInitOpencode(opts: InitOpencodeOptions): InitOpencodeResult {\n const existing = readExisting(opts.path);\n const merged = mergeNexusBlock(existing, opts);\n const before = existing === null ? '' : `${JSON.stringify(existing, null, 2)}\\n`;\n const after = `${JSON.stringify(merged, null, 2)}\\n`;\n const diff = simpleDiff(before, after);\n\n if (opts.dryRun === true) {\n return { path: opts.path, action: 'dry-run', diff };\n }\n\n if (existing !== null && before === after) {\n return { path: opts.path, action: 'unchanged', diff };\n }\n\n writeFileSync(opts.path, after, 'utf8');\n return { path: opts.path, action: existing === null ? 'created' : 'updated', diff };\n}\n\nfunction readExisting(path: string): OpencodeFile | null {\n if (!existsSync(path)) return null;\n try {\n const raw = readFileSync(path, 'utf8');\n const parsed = JSON.parse(raw) as unknown;\n if (typeof parsed !== 'object' || parsed === null) {\n throw new Error('opencode.json root must be an object');\n }\n return parsed as OpencodeFile;\n } catch (err: unknown) {\n const msg = err instanceof Error ? err.message : String(err);\n throw new Error(`Failed to parse opencode.json at ${path}: ${msg}`);\n }\n}\n\nfunction mergeNexusBlock(existing: OpencodeFile | null, opts: InitOpencodeOptions): OpencodeFile {\n const block = buildNexusMcpBlock({\n cliPath: opts.cliPath,\n ...(opts.sandboxFlavor !== undefined && { sandboxFlavor: opts.sandboxFlavor }),\n opencodeConfigPath: opts.path,\n });\n\n if (existing === null) {\n return {\n $schema: 'https://opencode.ai/config.json',\n providers: { 'openai-compat': stubOpenaiCompatProvider() },\n permission: buildDefaultPermissionBlock(),\n mcp: { 'nexus-agents': block },\n };\n }\n\n // Idempotent merge: preserve user-customised fields if they exist on the\n // current MCP block (e.g. `enabled: false`). Update anything else.\n const existingMcp: Record<string, unknown> = existing.mcp ?? {};\n const rawNexus = existingMcp['nexus-agents'];\n const existingNexus: Partial<OpencodeMcpBlock> =\n typeof rawNexus === 'object' && rawNexus !== null ? rawNexus : {};\n const mergedBlock: OpencodeMcpBlock = {\n type: 'local',\n command: block.command,\n enabled: existingNexus.enabled ?? block.enabled,\n environment: { ...block.environment, ...(existingNexus.environment ?? {}) },\n };\n\n // Add the default permission block only when the operator has not set\n // their own — never overwrite an existing `permission` key.\n const permission = existing.permission ?? buildDefaultPermissionBlock();\n\n return {\n ...existing,\n permission,\n mcp: { ...existingMcp, 'nexus-agents': mergedBlock },\n };\n}\n\n/**\n * Stub for `providers.openai-compat`. Operators replace the placeholder\n * baseURL + key with their workspace-proxy values. Empty by design — we\n * never overwrite an existing provider block (see `mergeNexusBlock`).\n */\nfunction stubOpenaiCompatProvider(): Record<string, unknown> {\n return {\n npm: '@ai-sdk/openai-compatible',\n options: {\n baseURL: '<replace with workspace proxy URL>',\n apiKey: '{env:WORKSPACE_PROXY_KEY}',\n },\n };\n}\n\n/**\n * Cheap line-based diff. Three-line context, +/- prefixes. Good enough\n * for an operator preview; not a unified-diff replacement.\n */\nfunction simpleDiff(before: string, after: string): string {\n if (before === after) return '(no changes)';\n const beforeLines = before.split('\\n');\n const afterLines = after.split('\\n');\n const out: string[] = [];\n const max = Math.max(beforeLines.length, afterLines.length);\n for (let i = 0; i < max; i += 1) {\n const b = beforeLines[i];\n const a = afterLines[i];\n if (b === a) {\n out.push(` ${b ?? ''}`);\n } else {\n if (b !== undefined) out.push(`- ${b}`);\n if (a !== undefined) out.push(`+ ${a}`);\n }\n }\n return out.join('\\n');\n}\n\nexport function ensureOpencodeDirExists(path: string): void {\n const dir = dirname(path);\n if (!existsSync(dir)) {\n throw new Error(\n `Parent directory does not exist: ${dir}. Create it first or pass a path under an existing dir.`\n );\n }\n logger.debug('opencode.json target directory exists', { dir });\n}\n\n/**\n * --validate flow for `init --opencode` (follow-up to #2504).\n *\n * After the merge step writes the file, optionally probe the gateway it\n * points at. Reuses the same opencode-bridge loader (#2503) that the\n * runtime uses, so what we validate is exactly what the server will see\n * at boot.\n *\n * Returns:\n * - `{ ok: true, models }` when the gateway is reachable and returns ≥1 model\n * - `{ ok: false, reason }` for every failure path (config missing,\n * probe failed, zero models)\n *\n * Caller (cli-commands-handlers) maps to exit codes + stderr / stdout.\n * The API key never reaches the returned object — only model IDs +\n * baseURL appear in the success payload.\n */\nexport interface OpencodeValidateResult {\n readonly ok: boolean;\n readonly baseURL?: string;\n readonly models?: readonly string[];\n readonly reason?: string;\n}\n\nexport async function runOpencodeValidate(opencodePath: string): Promise<OpencodeValidateResult> {\n const config = readOpencodeGateway(opencodePath);\n if (config === null) {\n return {\n ok: false,\n reason:\n 'opencode.json does not resolve a usable gateway. Check that providers.openai-compat.options.{baseURL, apiKey} are set and that any {env:VAR} interpolation references are exported.',\n };\n }\n const result = await discoverModels({ baseUrl: config.baseURL, apiKey: config.apiKey });\n if (!result.ok) {\n return { ok: false, baseURL: config.baseURL, reason: result.error.message };\n }\n if (result.value.length === 0) {\n return {\n ok: false,\n baseURL: config.baseURL,\n reason: 'gateway returned 0 models. Check upstream provider quotas / list filters.',\n };\n }\n return {\n ok: true,\n baseURL: config.baseURL,\n models: result.value.map((m) => m.id),\n };\n}\n"],"mappings":"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","names":[]}
@@ -2,11 +2,11 @@ import {
2
2
  IssueTriage,
3
3
  createIssueTriage,
4
4
  formatTriageComment
5
- } from "./chunk-RKIPSMCN.js";
6
- import "./chunk-BB7KSLNA.js";
7
- import "./chunk-SRNAXDOT.js";
8
- import "./chunk-QV52AXTF.js";
9
- import "./chunk-CURHM4TH.js";
5
+ } from "./chunk-TZK7VQAW.js";
6
+ import "./chunk-F5JDQXHJ.js";
7
+ import "./chunk-UN7PYUJB.js";
8
+ import "./chunk-RJHLNI37.js";
9
+ import "./chunk-OKAHIWG4.js";
10
10
  import "./chunk-AXTD4TFK.js";
11
11
  import "./chunk-DHVMSIT5.js";
12
12
  import "./chunk-ZPWHCABL.js";
@@ -15,4 +15,4 @@ export {
15
15
  createIssueTriage,
16
16
  formatTriageComment
17
17
  };
18
- //# sourceMappingURL=issue-triage-CVMVZ3IV.js.map
18
+ //# sourceMappingURL=issue-triage-NHRZGMKC.js.map
@@ -17,10 +17,10 @@ import {
17
17
  parseFindings,
18
18
  parseSeverity,
19
19
  sumFindings
20
- } from "./chunk-JKUX73VD.js";
20
+ } from "./chunk-EQLJYWLP.js";
21
21
  import "./chunk-WAYGXUSM.js";
22
- import "./chunk-SRNAXDOT.js";
23
- import "./chunk-CURHM4TH.js";
22
+ import "./chunk-UN7PYUJB.js";
23
+ import "./chunk-OKAHIWG4.js";
24
24
  import "./chunk-AXTD4TFK.js";
25
25
  import "./chunk-DHVMSIT5.js";
26
26
  import "./chunk-ZPWHCABL.js";
@@ -44,4 +44,4 @@ export {
44
44
  parseSeverity,
45
45
  sumFindings
46
46
  };
47
- //# sourceMappingURL=pr-reviewer-helpers-SAMOVLNJ.js.map
47
+ //# sourceMappingURL=pr-reviewer-helpers-HJRFRUZX.js.map
@@ -7,7 +7,7 @@ import {
7
7
  loadGeneratedRegistryEntries,
8
8
  loadUserManifestOverlay,
9
9
  reloadDefaultRegistry
10
- } from "./chunk-CURHM4TH.js";
10
+ } from "./chunk-OKAHIWG4.js";
11
11
  import "./chunk-AXTD4TFK.js";
12
12
  import {
13
13
  nexusDataPath
@@ -249,4 +249,4 @@ export {
249
249
  isValidRegistrySubcommand,
250
250
  registryCommand
251
251
  };
252
- //# sourceMappingURL=registry-command-5D2DJT53.js.map
252
+ //# sourceMappingURL=registry-command-JCOZA7TM.js.map
@@ -3,9 +3,9 @@ import {
3
3
  buildPlanFromAnalysis,
4
4
  generateSecurityPlan,
5
5
  resolveScannerData
6
- } from "./chunk-VNVGGM73.js";
6
+ } from "./chunk-N56C2MWI.js";
7
7
  import "./chunk-HFOQKCD2.js";
8
- import "./chunk-CURHM4TH.js";
8
+ import "./chunk-OKAHIWG4.js";
9
9
  import "./chunk-AXTD4TFK.js";
10
10
  import "./chunk-DHVMSIT5.js";
11
11
  import "./chunk-ZPWHCABL.js";
@@ -15,4 +15,4 @@ export {
15
15
  generateSecurityPlan,
16
16
  resolveScannerData
17
17
  };
18
- //# sourceMappingURL=repo-security-plan-F7V5SHAQ.js.map
18
+ //# sourceMappingURL=repo-security-plan-OMY33VHA.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  AttributedInsightSchema,
3
3
  synthesizeResearch
4
- } from "./chunk-7K5LSUEU.js";
5
- import "./chunk-PC4Y4VPX.js";
4
+ } from "./chunk-3KID7AIF.js";
5
+ import "./chunk-5LPPJIZ4.js";
6
6
  import "./chunk-NUBSJGQZ.js";
7
- import "./chunk-CURHM4TH.js";
7
+ import "./chunk-OKAHIWG4.js";
8
8
  import "./chunk-AXTD4TFK.js";
9
9
  import "./chunk-DHVMSIT5.js";
10
10
  import "./chunk-ZPWHCABL.js";
@@ -12,4 +12,4 @@ export {
12
12
  AttributedInsightSchema,
13
13
  synthesizeResearch
14
14
  };
15
- //# sourceMappingURL=research-helpers-synthesize-F4PV4B4B.js.map
15
+ //# sourceMappingURL=research-helpers-synthesize-DFINP3KN.js.map
@@ -2,7 +2,7 @@ import {
2
2
  DEFAULT_ROUTING_MEMORY_CONFIG,
3
3
  RoutingMemory,
4
4
  createRoutingMemory
5
- } from "./chunk-CURHM4TH.js";
5
+ } from "./chunk-OKAHIWG4.js";
6
6
  import "./chunk-AXTD4TFK.js";
7
7
  import "./chunk-DHVMSIT5.js";
8
8
  import "./chunk-ZPWHCABL.js";
@@ -11,4 +11,4 @@ export {
11
11
  RoutingMemory,
12
12
  createRoutingMemory
13
13
  };
14
- //# sourceMappingURL=routing-memory-G6YBK4WI.js.map
14
+ //# sourceMappingURL=routing-memory-KK4GPB64.js.map
@@ -6,8 +6,8 @@ import {
6
6
  SessionMemory,
7
7
  SessionMemoryError,
8
8
  createSessionMemory
9
- } from "./chunk-QPSYBHK6.js";
10
- import "./chunk-CURHM4TH.js";
9
+ } from "./chunk-MX3XD2ML.js";
10
+ import "./chunk-OKAHIWG4.js";
11
11
  import "./chunk-AXTD4TFK.js";
12
12
  import "./chunk-DHVMSIT5.js";
13
13
  import "./chunk-ZPWHCABL.js";
@@ -20,4 +20,4 @@ export {
20
20
  SessionMemoryError,
21
21
  createSessionMemory
22
22
  };
23
- //# sourceMappingURL=session-memory-DAJHLPOY.js.map
23
+ //# sourceMappingURL=session-memory-QTHGU2XM.js.map