nexus-agents 2.80.0 → 2.80.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/dist/{child-mcp-config-SM5I7USN.js → child-mcp-config-UG4CH654.js} +3 -3
  2. package/dist/{chunk-EVZ7YR7H.js → chunk-2ZRTLW2G.js} +3 -3
  3. package/dist/{chunk-VS4KB3AX.js → chunk-376MBRLD.js} +8 -8
  4. package/dist/{chunk-6CJIKX6I.js → chunk-3QRO77LO.js} +44 -16
  5. package/dist/{chunk-6CJIKX6I.js.map → chunk-3QRO77LO.js.map} +1 -1
  6. package/dist/{chunk-YMT6H2HQ.js → chunk-4MHE5UVO.js} +10 -6
  7. package/dist/{chunk-YMT6H2HQ.js.map → chunk-4MHE5UVO.js.map} +1 -1
  8. package/dist/{chunk-ZU2Q3DWE.js → chunk-5FUVEIJC.js} +100 -7
  9. package/dist/chunk-5FUVEIJC.js.map +1 -0
  10. package/dist/{chunk-EKRMWVAH.js → chunk-5SBD55T7.js} +4 -4
  11. package/dist/{chunk-UGXR4PAY.js → chunk-7BSVRW2O.js} +5 -5
  12. package/dist/{chunk-CTSESEFA.js → chunk-BQ55PBN4.js} +2 -2
  13. package/dist/{chunk-SHVGZK4A.js → chunk-C3BOZZQC.js} +3 -3
  14. package/dist/{chunk-AYZ6P7CK.js → chunk-FBW6XKZJ.js} +2 -2
  15. package/dist/{chunk-J5XEJHIQ.js → chunk-FQKQUJBU.js} +3 -3
  16. package/dist/{chunk-JLWKHYIU.js → chunk-GHWTMPPL.js} +2 -2
  17. package/dist/{chunk-FJHZW7CR.js → chunk-H4XSKDI6.js} +2 -2
  18. package/dist/{chunk-BSIGP5XF.js → chunk-HDFUSBU3.js} +2 -2
  19. package/dist/{chunk-UVALD724.js → chunk-HQR27JGL.js} +2 -2
  20. package/dist/{chunk-FAJAWO42.js → chunk-HXXRFTKP.js} +3 -3
  21. package/dist/{chunk-YGKPWUJ6.js → chunk-HYNFZQU4.js} +2 -2
  22. package/dist/{chunk-JXDDSNEK.js → chunk-JECCDZ2S.js} +2 -2
  23. package/dist/{chunk-OO6MTUDS.js → chunk-KN7JWET4.js} +3 -3
  24. package/dist/{chunk-2DBPZQLO.js → chunk-LUVQUKW5.js} +2 -2
  25. package/dist/{chunk-QVHXEQFM.js → chunk-OO662XRQ.js} +3 -3
  26. package/dist/{chunk-UP2VWCW5.js → chunk-PR4QN5HX.js} +12 -7
  27. package/dist/{chunk-GNRANMQ3.js → chunk-RCNNN4E2.js} +947 -880
  28. package/dist/chunk-RCNNN4E2.js.map +1 -0
  29. package/dist/{chunk-HBKZ2DJK.js → chunk-RCWWUZHA.js} +2 -2
  30. package/dist/{chunk-SJUSQGKH.js → chunk-RFUBLOZQ.js} +7 -7
  31. package/dist/{chunk-RIUUFBX4.js → chunk-TE26NHNW.js} +2 -2
  32. package/dist/{chunk-Q2U6SFN2.js → chunk-TLE2YE6G.js} +2 -2
  33. package/dist/{chunk-4XGKCVJL.js → chunk-VQBVL3UD.js} +2 -2
  34. package/dist/{cli-circuit-breaker-JGX54DAD.js → cli-circuit-breaker-MAN2V7DA.js} +5 -5
  35. package/dist/cli.js +92 -83
  36. package/dist/cli.js.map +1 -1
  37. package/dist/{codebase-search-CZUA37RU.js → codebase-search-PIBRTGBE.js} +2 -2
  38. package/dist/{composite-router-UYFYSMBT.js → composite-router-YCIEYOZC.js} +3 -3
  39. package/dist/{consensus-vote-BZ6JSN67.js → consensus-vote-TGTGZSPS.js} +12 -12
  40. package/dist/{context-retriever-G23VVJ5S.js → context-retriever-FKJKKPAA.js} +6 -6
  41. package/dist/dist-APHOQ26Z.js +45959 -0
  42. package/dist/dist-APHOQ26Z.js.map +1 -0
  43. package/dist/{dist-NIXVXYIH.js → dist-OFXI4GYH.js} +2 -2
  44. package/dist/{doctor-deep-OF2LXZ6A.js → doctor-deep-2KT4LZA6.js} +4 -4
  45. package/dist/expert-bridge-6NA7MK7T.js +11 -0
  46. package/dist/{expert-config-HN7U7X2K.js → expert-config-OIIUMJFB.js} +2 -2
  47. package/dist/factory-IIPDY7QB.js +14 -0
  48. package/dist/{factory-I54TX7OY.js → factory-VXHVQXKR.js} +5 -5
  49. package/dist/index.d.ts +68 -5
  50. package/dist/index.js +50 -31
  51. package/dist/index.js.map +1 -1
  52. package/dist/{init-opencode-FE7HVWQL.js → init-opencode-26YCTSR4.js} +6 -6
  53. package/dist/issue-triage-NGWFHIKY.js +15 -0
  54. package/dist/{learning-persistence-TGOBRUUU.js → learning-persistence-Q63HZ2EB.js} +2 -2
  55. package/dist/{outcome-store-adapter-QRFJJIKB.js → outcome-store-adapter-D3UDQFNQ.js} +2 -2
  56. package/dist/{pr-reviewer-helpers-L4L324FQ.js → pr-reviewer-helpers-WYPUYQ2U.js} +2 -2
  57. package/dist/{registry-command-NZLX7ZFV.js → registry-command-AKJBYP5N.js} +3 -3
  58. package/dist/{repo-analyze-GBQT4LAK.js → repo-analyze-D2OY2QSR.js} +2 -2
  59. package/dist/{repo-security-plan-74GJWJSV.js → repo-security-plan-ZGJN6QRW.js} +4 -4
  60. package/dist/{research-helpers-synthesize-LFPEXRIV.js → research-helpers-synthesize-ZWBBFT2O.js} +4 -4
  61. package/dist/{routing-memory-Y2LSEQVS.js → routing-memory-Y5UBVQGM.js} +3 -3
  62. package/dist/{session-memory-RCNQJDJR.js → session-memory-OOBM2GQ7.js} +4 -4
  63. package/dist/{setup-command-ZPLPOJF2.js → setup-command-VJLR47CI.js} +11 -11
  64. package/dist/setup-config-F7NK2KVC.js +10 -0
  65. package/dist/{setup-custom-api-XTJ6YZM6.js → setup-custom-api-53SYDF4L.js} +5 -5
  66. package/dist/{shared-memory-AEO2HJLC.js → shared-memory-CM6T2MYE.js} +2 -2
  67. package/dist/{symbol-extractor-UEBANFSN.js → symbol-extractor-WYXPJH65.js} +2 -2
  68. package/dist/{tool-memory-COZK6SR7.js → tool-memory-RZ7NJCPV.js} +5 -5
  69. package/dist/{weather-report-O4XOYGPK.js → weather-report-VOSP7KKV.js} +3 -3
  70. package/package.json +16 -16
  71. package/dist/chunk-GNRANMQ3.js.map +0 -1
  72. package/dist/chunk-ZU2Q3DWE.js.map +0 -1
  73. package/dist/dist-RLMRWMYO.js +0 -49531
  74. package/dist/dist-RLMRWMYO.js.map +0 -1
  75. package/dist/expert-bridge-6ZLD2NWD.js +0 -11
  76. package/dist/factory-UHDCLEUE.js +0 -14
  77. package/dist/issue-triage-7NR5NQUY.js +0 -15
  78. package/dist/setup-config-F7VRWXY3.js +0 -10
  79. /package/dist/{child-mcp-config-SM5I7USN.js.map → child-mcp-config-UG4CH654.js.map} +0 -0
  80. /package/dist/{chunk-EVZ7YR7H.js.map → chunk-2ZRTLW2G.js.map} +0 -0
  81. /package/dist/{chunk-VS4KB3AX.js.map → chunk-376MBRLD.js.map} +0 -0
  82. /package/dist/{chunk-EKRMWVAH.js.map → chunk-5SBD55T7.js.map} +0 -0
  83. /package/dist/{chunk-UGXR4PAY.js.map → chunk-7BSVRW2O.js.map} +0 -0
  84. /package/dist/{chunk-CTSESEFA.js.map → chunk-BQ55PBN4.js.map} +0 -0
  85. /package/dist/{chunk-SHVGZK4A.js.map → chunk-C3BOZZQC.js.map} +0 -0
  86. /package/dist/{chunk-AYZ6P7CK.js.map → chunk-FBW6XKZJ.js.map} +0 -0
  87. /package/dist/{chunk-J5XEJHIQ.js.map → chunk-FQKQUJBU.js.map} +0 -0
  88. /package/dist/{chunk-JLWKHYIU.js.map → chunk-GHWTMPPL.js.map} +0 -0
  89. /package/dist/{chunk-FJHZW7CR.js.map → chunk-H4XSKDI6.js.map} +0 -0
  90. /package/dist/{chunk-BSIGP5XF.js.map → chunk-HDFUSBU3.js.map} +0 -0
  91. /package/dist/{chunk-UVALD724.js.map → chunk-HQR27JGL.js.map} +0 -0
  92. /package/dist/{chunk-FAJAWO42.js.map → chunk-HXXRFTKP.js.map} +0 -0
  93. /package/dist/{chunk-YGKPWUJ6.js.map → chunk-HYNFZQU4.js.map} +0 -0
  94. /package/dist/{chunk-JXDDSNEK.js.map → chunk-JECCDZ2S.js.map} +0 -0
  95. /package/dist/{chunk-OO6MTUDS.js.map → chunk-KN7JWET4.js.map} +0 -0
  96. /package/dist/{chunk-2DBPZQLO.js.map → chunk-LUVQUKW5.js.map} +0 -0
  97. /package/dist/{chunk-QVHXEQFM.js.map → chunk-OO662XRQ.js.map} +0 -0
  98. /package/dist/{chunk-UP2VWCW5.js.map → chunk-PR4QN5HX.js.map} +0 -0
  99. /package/dist/{chunk-HBKZ2DJK.js.map → chunk-RCWWUZHA.js.map} +0 -0
  100. /package/dist/{chunk-SJUSQGKH.js.map → chunk-RFUBLOZQ.js.map} +0 -0
  101. /package/dist/{chunk-RIUUFBX4.js.map → chunk-TE26NHNW.js.map} +0 -0
  102. /package/dist/{chunk-Q2U6SFN2.js.map → chunk-TLE2YE6G.js.map} +0 -0
  103. /package/dist/{chunk-4XGKCVJL.js.map → chunk-VQBVL3UD.js.map} +0 -0
  104. /package/dist/{cli-circuit-breaker-JGX54DAD.js.map → cli-circuit-breaker-MAN2V7DA.js.map} +0 -0
  105. /package/dist/{codebase-search-CZUA37RU.js.map → codebase-search-PIBRTGBE.js.map} +0 -0
  106. /package/dist/{composite-router-UYFYSMBT.js.map → composite-router-YCIEYOZC.js.map} +0 -0
  107. /package/dist/{consensus-vote-BZ6JSN67.js.map → consensus-vote-TGTGZSPS.js.map} +0 -0
  108. /package/dist/{context-retriever-G23VVJ5S.js.map → context-retriever-FKJKKPAA.js.map} +0 -0
  109. /package/dist/{dist-NIXVXYIH.js.map → dist-OFXI4GYH.js.map} +0 -0
  110. /package/dist/{doctor-deep-OF2LXZ6A.js.map → doctor-deep-2KT4LZA6.js.map} +0 -0
  111. /package/dist/{expert-bridge-6ZLD2NWD.js.map → expert-bridge-6NA7MK7T.js.map} +0 -0
  112. /package/dist/{expert-config-HN7U7X2K.js.map → expert-config-OIIUMJFB.js.map} +0 -0
  113. /package/dist/{factory-I54TX7OY.js.map → factory-IIPDY7QB.js.map} +0 -0
  114. /package/dist/{factory-UHDCLEUE.js.map → factory-VXHVQXKR.js.map} +0 -0
  115. /package/dist/{init-opencode-FE7HVWQL.js.map → init-opencode-26YCTSR4.js.map} +0 -0
  116. /package/dist/{issue-triage-7NR5NQUY.js.map → issue-triage-NGWFHIKY.js.map} +0 -0
  117. /package/dist/{learning-persistence-TGOBRUUU.js.map → learning-persistence-Q63HZ2EB.js.map} +0 -0
  118. /package/dist/{outcome-store-adapter-QRFJJIKB.js.map → outcome-store-adapter-D3UDQFNQ.js.map} +0 -0
  119. /package/dist/{pr-reviewer-helpers-L4L324FQ.js.map → pr-reviewer-helpers-WYPUYQ2U.js.map} +0 -0
  120. /package/dist/{registry-command-NZLX7ZFV.js.map → registry-command-AKJBYP5N.js.map} +0 -0
  121. /package/dist/{repo-analyze-GBQT4LAK.js.map → repo-analyze-D2OY2QSR.js.map} +0 -0
  122. /package/dist/{repo-security-plan-74GJWJSV.js.map → repo-security-plan-ZGJN6QRW.js.map} +0 -0
  123. /package/dist/{research-helpers-synthesize-LFPEXRIV.js.map → research-helpers-synthesize-ZWBBFT2O.js.map} +0 -0
  124. /package/dist/{routing-memory-Y2LSEQVS.js.map → routing-memory-Y5UBVQGM.js.map} +0 -0
  125. /package/dist/{session-memory-RCNQJDJR.js.map → session-memory-OOBM2GQ7.js.map} +0 -0
  126. /package/dist/{setup-command-ZPLPOJF2.js.map → setup-command-VJLR47CI.js.map} +0 -0
  127. /package/dist/{setup-config-F7VRWXY3.js.map → setup-config-F7NK2KVC.js.map} +0 -0
  128. /package/dist/{setup-custom-api-XTJ6YZM6.js.map → setup-custom-api-53SYDF4L.js.map} +0 -0
  129. /package/dist/{shared-memory-AEO2HJLC.js.map → shared-memory-CM6T2MYE.js.map} +0 -0
  130. /package/dist/{symbol-extractor-UEBANFSN.js.map → symbol-extractor-WYXPJH65.js.map} +0 -0
  131. /package/dist/{tool-memory-COZK6SR7.js.map → tool-memory-RZ7NJCPV.js.map} +0 -0
  132. /package/dist/{weather-report-O4XOYGPK.js.map → weather-report-VOSP7KKV.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createLogger
3
- } from "./chunk-YMT6H2HQ.js";
3
+ } from "./chunk-4MHE5UVO.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-HBKZ2DJK.js.map
153
+ //# sourceMappingURL=chunk-RCWWUZHA.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DEFAULTS
3
- } from "./chunk-BSIGP5XF.js";
3
+ } from "./chunk-HDFUSBU3.js";
4
4
  import {
5
5
  resolveInsideRoot
6
6
  } from "./chunk-NUBSJGQZ.js";
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  createAllAdapters,
12
12
  probeCli
13
- } from "./chunk-ZU2Q3DWE.js";
13
+ } from "./chunk-5FUVEIJC.js";
14
14
  import {
15
15
  CliNameSchema,
16
16
  DEFAULT_CAPABILITIES,
@@ -26,7 +26,7 @@ import {
26
26
  ok,
27
27
  symbols,
28
28
  writeLine
29
- } from "./chunk-YMT6H2HQ.js";
29
+ } from "./chunk-4MHE5UVO.js";
30
30
  import {
31
31
  detectSandbox,
32
32
  getLearningDir,
@@ -40,7 +40,7 @@ import {
40
40
  } from "./chunk-2JQXC3CK.js";
41
41
 
42
42
  // src/version.ts
43
- var VERSION = true ? "2.80.0" : "dev";
43
+ var VERSION = true ? "2.80.2" : "dev";
44
44
 
45
45
  // src/config/schemas-core.ts
46
46
  import { z } from "zod";
@@ -2107,7 +2107,7 @@ async function runDoctorFix(result) {
2107
2107
  writeLine2("\u2500".repeat(40));
2108
2108
  let fixCount = 0;
2109
2109
  if (!result.dataDirectory.rootExists || result.dataDirectory.subdirectories.some((d) => !d.exists || !d.writable)) {
2110
- const { runSetup } = await import("./setup-command-ZPLPOJF2.js");
2110
+ const { runSetup } = await import("./setup-command-VJLR47CI.js");
2111
2111
  const setupResult = runSetup({
2112
2112
  skipMcp: true,
2113
2113
  skipRules: true,
@@ -2121,7 +2121,7 @@ async function runDoctorFix(result) {
2121
2121
  }
2122
2122
  }
2123
2123
  if (!result.configFile.found) {
2124
- const { runConfigInitSync } = await import("./setup-config-F7VRWXY3.js");
2124
+ const { runConfigInitSync } = await import("./setup-config-F7NK2KVC.js");
2125
2125
  const configResult = runConfigInitSync(process.cwd(), false, false);
2126
2126
  if (configResult.success && configResult.created) {
2127
2127
  writeLine2(`\u2713 Generated config: ${configResult.path}`);
@@ -2219,4 +2219,4 @@ export {
2219
2219
  startStdioServer,
2220
2220
  closeServer
2221
2221
  };
2222
- //# sourceMappingURL=chunk-SJUSQGKH.js.map
2222
+ //# sourceMappingURL=chunk-RFUBLOZQ.js.map
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  createLogger,
6
6
  getTimeProvider
7
- } from "./chunk-YMT6H2HQ.js";
7
+ } from "./chunk-4MHE5UVO.js";
8
8
 
9
9
  // src/mcp/tools/scanner-registry-fetcher.ts
10
10
  import { z } from "zod";
@@ -721,4 +721,4 @@ export {
721
721
  generateSecurityPlan,
722
722
  buildPlanFromAnalysis
723
723
  };
724
- //# sourceMappingURL=chunk-RIUUFBX4.js.map
724
+ //# sourceMappingURL=chunk-TE26NHNW.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DEFAULT_MODEL_PER_CLI,
3
3
  getTimeProvider
4
- } from "./chunk-YMT6H2HQ.js";
4
+ } from "./chunk-4MHE5UVO.js";
5
5
 
6
6
  // src/config/model-availability.ts
7
7
  var DEFAULT_TTL_MS = 6e4;
@@ -133,4 +133,4 @@ export {
133
133
  resetAvailabilityCache,
134
134
  filterAvailableModels
135
135
  };
136
- //# sourceMappingURL=chunk-Q2U6SFN2.js.map
136
+ //# sourceMappingURL=chunk-TLE2YE6G.js.map
@@ -2,7 +2,7 @@ import {
2
2
  TASK_CATEGORIES,
3
3
  getAdaptiveBonus,
4
4
  getOutcomeStore
5
- } from "./chunk-YMT6H2HQ.js";
5
+ } from "./chunk-4MHE5UVO.js";
6
6
 
7
7
  // src/cli/doctor-deep.ts
8
8
  var CLI_NAMES = ["claude", "gemini", "codex", "opencode"];
@@ -106,4 +106,4 @@ export {
106
106
  runDeepDiagnostics,
107
107
  formatDeepDiagnostics
108
108
  };
109
- //# sourceMappingURL=chunk-4XGKCVJL.js.map
109
+ //# sourceMappingURL=chunk-VQBVL3UD.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  CliCircuitBreakerIntegration,
3
3
  createCliCircuitBreakerIntegration
4
- } from "./chunk-J5XEJHIQ.js";
5
- import "./chunk-JXDDSNEK.js";
6
- import "./chunk-YMT6H2HQ.js";
4
+ } from "./chunk-FQKQUJBU.js";
5
+ import "./chunk-JECCDZ2S.js";
6
+ import "./chunk-4MHE5UVO.js";
7
7
  import "./chunk-2JQXC3CK.js";
8
- import "./chunk-UP2VWCW5.js";
8
+ import "./chunk-PR4QN5HX.js";
9
9
  export {
10
10
  CliCircuitBreakerIntegration,
11
11
  createCliCircuitBreakerIntegration
12
12
  };
13
- //# sourceMappingURL=cli-circuit-breaker-JGX54DAD.js.map
13
+ //# sourceMappingURL=cli-circuit-breaker-MAN2V7DA.js.map
package/dist/cli.js CHANGED
@@ -12,18 +12,18 @@ import {
12
12
  parseFindings,
13
13
  sumFindings
14
14
  } from "./chunk-3RZWLQSC.js";
15
- import "./chunk-4XGKCVJL.js";
15
+ import "./chunk-VQBVL3UD.js";
16
16
  import {
17
17
  buildOpenAICompatAdapters,
18
18
  loadUsageEvents,
19
19
  readOpenAICompatEnv,
20
20
  rollupByModel
21
- } from "./chunk-EVZ7YR7H.js";
21
+ } from "./chunk-2ZRTLW2G.js";
22
22
  import {
23
23
  setupCommandAsync,
24
24
  verifyCommand
25
- } from "./chunk-UGXR4PAY.js";
26
- import "./chunk-2DBPZQLO.js";
25
+ } from "./chunk-7BSVRW2O.js";
26
+ import "./chunk-LUVQUKW5.js";
27
27
  import {
28
28
  AuthHandler,
29
29
  DEFAULT_EXPERTS,
@@ -153,56 +153,61 @@ import {
153
153
  validateCommand,
154
154
  validateWorkflow,
155
155
  wrapInMarkdownFence
156
- } from "./chunk-GNRANMQ3.js";
156
+ } from "./chunk-RCNNN4E2.js";
157
157
  import "./chunk-AP2FD37C.js";
158
158
  import "./chunk-ED6VQWNG.js";
159
159
  import {
160
160
  resolveToken
161
- } from "./chunk-CTSESEFA.js";
161
+ } from "./chunk-BQ55PBN4.js";
162
162
  import {
163
163
  CATEGORY_DISPLAY_NAMES,
164
164
  DEFAULT_PR_REVIEW_CONFIG
165
165
  } from "./chunk-X2M7OF27.js";
166
- import "./chunk-FAJAWO42.js";
167
- import "./chunk-J5XEJHIQ.js";
168
- import "./chunk-VS4KB3AX.js";
166
+ import "./chunk-HXXRFTKP.js";
167
+ import "./chunk-FQKQUJBU.js";
168
+ import "./chunk-376MBRLD.js";
169
169
  import {
170
170
  DEFAULT_VOTE_TIMEOUT_MS,
171
171
  ErrorPolicySchema,
172
172
  VOTER_ROLES,
173
173
  VoteThresholdSchema,
174
174
  createDefaultPolicyFirewall,
175
+ createSecureHandler,
175
176
  createUnifiedRegistry,
176
177
  executeVoting,
177
178
  getToolAnnotations,
179
+ getToolTimeout,
178
180
  registerConsensusVoteTool,
181
+ toSdkCallback,
179
182
  toolStructuredError,
180
- warnIfSimulatedOutsideTests
181
- } from "./chunk-6CJIKX6I.js";
182
- import "./chunk-JLWKHYIU.js";
183
- import "./chunk-YGKPWUJ6.js";
183
+ toolSuccessStructured,
184
+ warnIfSimulatedOutsideTests,
185
+ wrapToolWithTimeout
186
+ } from "./chunk-3QRO77LO.js";
187
+ import "./chunk-GHWTMPPL.js";
188
+ import "./chunk-HYNFZQU4.js";
184
189
  import {
185
190
  loadPapersRegistry,
186
191
  loadTechniquesRegistry,
187
192
  savePapersRegistry,
188
193
  synthesizeResearch
189
- } from "./chunk-FJHZW7CR.js";
194
+ } from "./chunk-H4XSKDI6.js";
190
195
  import {
191
196
  classifyTrust,
192
197
  createFullGitHubProvider,
193
198
  evaluatePolicy,
194
199
  parsePRUrl,
195
200
  sanitizeInput
196
- } from "./chunk-QVHXEQFM.js";
197
- import "./chunk-UVALD724.js";
198
- import "./chunk-RIUUFBX4.js";
201
+ } from "./chunk-OO662XRQ.js";
202
+ import "./chunk-HQR27JGL.js";
203
+ import "./chunk-TE26NHNW.js";
199
204
  import "./chunk-7J7PNOJQ.js";
200
205
  import "./chunk-BQ4YXGGQ.js";
201
- import "./chunk-SHVGZK4A.js";
206
+ import "./chunk-C3BOZZQC.js";
202
207
  import {
203
208
  MemoryError,
204
209
  shutdownToolMemory
205
- } from "./chunk-OO6MTUDS.js";
210
+ } from "./chunk-KN7JWET4.js";
206
211
  import {
207
212
  CustomExpertDefinitionSchema,
208
213
  DATA_SUBDIRECTORIES,
@@ -221,12 +226,12 @@ import {
221
226
  loadConfig,
222
227
  runDoctor,
223
228
  validateNexusEnv
224
- } from "./chunk-SJUSQGKH.js";
225
- import "./chunk-Q2U6SFN2.js";
226
- import "./chunk-HBKZ2DJK.js";
229
+ } from "./chunk-RFUBLOZQ.js";
230
+ import "./chunk-TLE2YE6G.js";
231
+ import "./chunk-RCWWUZHA.js";
227
232
  import {
228
233
  DEFAULTS
229
- } from "./chunk-BSIGP5XF.js";
234
+ } from "./chunk-HDFUSBU3.js";
230
235
  import "./chunk-NUBSJGQZ.js";
231
236
  import {
232
237
  capitalize,
@@ -238,11 +243,11 @@ import {
238
243
  getAvailableClis,
239
244
  isRecord,
240
245
  probeAllClis
241
- } from "./chunk-ZU2Q3DWE.js";
242
- import "./chunk-JXDDSNEK.js";
246
+ } from "./chunk-5FUVEIJC.js";
247
+ import "./chunk-JECCDZ2S.js";
243
248
  import "./chunk-ZM4O442V.js";
244
249
  import "./chunk-PQHVC4BD.js";
245
- import "./chunk-AYZ6P7CK.js";
250
+ import "./chunk-FBW6XKZJ.js";
246
251
  import {
247
252
  API_TIMEOUTS,
248
253
  AgentCapability,
@@ -310,7 +315,7 @@ import {
310
315
  validateTimeout,
311
316
  writeEmptyLine,
312
317
  writeLine
313
- } from "./chunk-YMT6H2HQ.js";
318
+ } from "./chunk-4MHE5UVO.js";
314
319
  import {
315
320
  applyPortableMode,
316
321
  detectSandbox,
@@ -319,7 +324,7 @@ import {
319
324
  getPerRepoSubdirs,
320
325
  nexusDataPath
321
326
  } from "./chunk-2JQXC3CK.js";
322
- import "./chunk-UP2VWCW5.js";
327
+ import "./chunk-PR4QN5HX.js";
323
328
 
324
329
  // src/cli/cli-log-bootstrap.ts
325
330
  import { argv, env } from "process";
@@ -3078,7 +3083,7 @@ ${file.patch}
3078
3083
  violations: policyResult.violations
3079
3084
  });
3080
3085
  }
3081
- const { formatReviewComment: formatReviewComment2 } = await import("./pr-reviewer-helpers-L4L324FQ.js");
3086
+ const { formatReviewComment: formatReviewComment2 } = await import("./pr-reviewer-helpers-WYPUYQ2U.js");
3082
3087
  const body = formatReviewComment2(result);
3083
3088
  const postResult = await provider.createReview(pr.prNumber, body, result.decision);
3084
3089
  if (!postResult.ok) {
@@ -3238,6 +3243,9 @@ function safeExecSandboxed(commandString, options = {}) {
3238
3243
  if (options.cwd !== void 0) {
3239
3244
  execOptions.cwd = options.cwd;
3240
3245
  }
3246
+ if (options.stdin !== void 0) {
3247
+ execOptions.input = options.stdin;
3248
+ }
3241
3249
  const result = execSync(commandString, execOptions);
3242
3250
  return typeof result === "string" ? result.trim() : result.toString("utf-8").trim();
3243
3251
  } catch (error) {
@@ -5951,9 +5959,6 @@ function validateGitHubIssue(issueNumber) {
5951
5959
  });
5952
5960
  return output2 !== null;
5953
5961
  }
5954
- function escapeForShell(text) {
5955
- return text.replace(/'/g, "'\\''");
5956
- }
5957
5962
  function formatVoteComment(result) {
5958
5963
  const now = new Date(getTimeProvider().now()).toLocaleDateString("en-US", {
5959
5964
  timeZone: "America/New_York",
@@ -5990,11 +5995,10 @@ ${voteRows}
5990
5995
  }
5991
5996
  function recordVoteToGitHub(issueNumber, result) {
5992
5997
  const comment = formatVoteComment(result);
5993
- const escapedComment = escapeForShell(comment);
5994
- const output2 = safeExecSandboxed(
5995
- `gh issue comment ${String(issueNumber)} --body '${escapedComment}'`,
5996
- { context: "gh" }
5997
- );
5998
+ const output2 = safeExecSandboxed(`gh issue comment ${String(issueNumber)} --body-file -`, {
5999
+ context: "gh",
6000
+ stdin: comment
6001
+ });
5998
6002
  if (output2 !== null) {
5999
6003
  writeLine(
6000
6004
  `${colors.green}${symbols.check}${colors.reset} Vote recorded to issue #${String(issueNumber)}
@@ -6730,7 +6734,7 @@ function generateSprintTitle(duration) {
6730
6734
  month: "2-digit",
6731
6735
  day: "2-digit"
6732
6736
  });
6733
- return `sprint: ${dateStr} (${duration})`;
6737
+ return `sprint: ${dateStr} - ${duration}`;
6734
6738
  }
6735
6739
  function formatIssueForBody(issue) {
6736
6740
  const effort = issue.estimatedEffort !== void 0 ? ` (${issue.estimatedEffort})` : "";
@@ -6812,10 +6816,9 @@ function generateProposal(issues, options) {
6812
6816
  function createSprintIssue(proposal) {
6813
6817
  try {
6814
6818
  const escapedTitle = proposal.title.replace(/'/g, "'\\''");
6815
- const escapedBody = proposal.body.replace(/'/g, "'\\''");
6816
6819
  const output2 = safeExecSandboxed(
6817
- `gh issue create --title '${escapedTitle}' --body '${escapedBody}' --label 'epic'`,
6818
- { context: "gh" }
6820
+ `gh issue create --title '${escapedTitle}' --body-file - --label epic`,
6821
+ { context: "gh", stdin: proposal.body }
6819
6822
  );
6820
6823
  if (output2 === null) {
6821
6824
  return null;
@@ -14352,7 +14355,7 @@ function getBlueskyConfig() {
14352
14355
  }
14353
14356
  async function loadAtproto() {
14354
14357
  try {
14355
- const mod = await import("./dist-RLMRWMYO.js");
14358
+ const mod = await import("./dist-APHOQ26Z.js");
14356
14359
  return { AtpAgent: mod.AtpAgent, RichText: mod.RichText };
14357
14360
  } catch {
14358
14361
  return void 0;
@@ -16890,7 +16893,45 @@ function buildStructuredOutput(result) {
16890
16893
  };
16891
16894
  }
16892
16895
  var RUN_DEV_PIPELINE_DESCRIPTION = "Run the multi-agent development pipeline. Accepts direct task instructions, a plan file, or a spec file. Supports dry-run (plan+vote only).";
16893
- function registerDevPipelineTool(server, _deps) {
16896
+ async function runDevPipelineHandler(args, logger18) {
16897
+ const parsed = DevPipelineInputSchema.safeParse(args);
16898
+ if (!parsed.success) {
16899
+ return toolStructuredError({
16900
+ errorCategory: "validation",
16901
+ message: `Invalid input: ${formatZodError(parsed.error)}`
16902
+ });
16903
+ }
16904
+ const input = parsed.data;
16905
+ if (input.simulateVotes) {
16906
+ warnIfSimulatedOutsideTests("run_dev_pipeline", logger18);
16907
+ }
16908
+ try {
16909
+ const taskText = await resolveTaskInput(input);
16910
+ const stages = await createStages(input);
16911
+ const pipelineOptions = {
16912
+ ...input.sessionId !== void 0 ? { sessionId: input.sessionId } : {},
16913
+ ...input.dryRun ? { dryRun: true } : {},
16914
+ ...input.mode === "harness" ? { mode: "harness" } : {}
16915
+ };
16916
+ const hasOptions = Object.keys(pipelineOptions).length > 0;
16917
+ const result = await runDevPipeline(taskText, stages, hasOptions ? pipelineOptions : void 0);
16918
+ flushPipelineMemory();
16919
+ return toolSuccessStructured(buildStructuredOutput(result));
16920
+ } catch (error) {
16921
+ return toolStructuredError({
16922
+ errorCategory: "internal",
16923
+ message: `Pipeline error: ${getErrorMessage(error)}`
16924
+ });
16925
+ }
16926
+ }
16927
+ function registerDevPipelineTool(server, deps) {
16928
+ const logger18 = deps.logger ?? createLogger({ tool: "run_dev_pipeline" });
16929
+ const secureHandler = createSecureHandler(
16930
+ (args) => runDevPipelineHandler(args, logger18),
16931
+ { toolName: "run_dev_pipeline", rateLimiter: deps.rateLimiter, logger: logger18 }
16932
+ );
16933
+ const timeoutMs = getToolTimeout("run_dev_pipeline", deps.security);
16934
+ const wrapped = wrapToolWithTimeout("run_dev_pipeline", secureHandler, { timeoutMs, logger: logger18 });
16894
16935
  server.registerTool(
16895
16936
  "run_dev_pipeline",
16896
16937
  {
@@ -16898,41 +16939,9 @@ function registerDevPipelineTool(server, _deps) {
16898
16939
  inputSchema: DevPipelineInputSchema.shape,
16899
16940
  annotations: getToolAnnotations("run_dev_pipeline")
16900
16941
  },
16901
- async (args) => {
16902
- const input = DevPipelineInputSchema.parse(args);
16903
- if (input.simulateVotes) {
16904
- warnIfSimulatedOutsideTests("run_dev_pipeline", createLogger({ tool: "run_dev_pipeline" }));
16905
- }
16906
- try {
16907
- const taskText = await resolveTaskInput(input);
16908
- const stages = await createStages(input);
16909
- const pipelineOptions = {
16910
- ...input.sessionId !== void 0 ? { sessionId: input.sessionId } : {},
16911
- ...input.dryRun ? { dryRun: true } : {},
16912
- ...input.mode === "harness" ? { mode: "harness" } : {}
16913
- };
16914
- const hasOptions = Object.keys(pipelineOptions).length > 0;
16915
- const result = await runDevPipeline(
16916
- taskText,
16917
- stages,
16918
- hasOptions ? pipelineOptions : void 0
16919
- );
16920
- flushPipelineMemory();
16921
- const structured = buildStructuredOutput(result);
16922
- return {
16923
- content: [{ type: "text", text: JSON.stringify(structured, null, 2) }],
16924
- structuredContent: structured
16925
- };
16926
- } catch (error) {
16927
- return {
16928
- ...toolStructuredError({
16929
- errorCategory: "internal",
16930
- message: `Pipeline error: ${getErrorMessage(error)}`
16931
- })
16932
- };
16933
- }
16934
- }
16942
+ toSdkCallback(wrapped)
16935
16943
  );
16944
+ logger18.info("Registered run_dev_pipeline tool");
16936
16945
  }
16937
16946
 
16938
16947
  // src/cli-server-stpa.ts
@@ -18957,7 +18966,7 @@ function adaptConfigToLibrary(config) {
18957
18966
  }
18958
18967
  function createBeliefPromoter() {
18959
18968
  return async (event) => {
18960
- const { getToolMemory } = await import("./tool-memory-COZK6SR7.js");
18969
+ const { getToolMemory } = await import("./tool-memory-RZ7NJCPV.js");
18961
18970
  const tm = getToolMemory();
18962
18971
  await tm.recordBelief(
18963
18972
  `skill:${event.name}`,
@@ -19817,7 +19826,7 @@ async function handleResearchCommand(args) {
19817
19826
  }
19818
19827
  }
19819
19828
  async function handleRegistryCommand(args) {
19820
- const { registryCommand, isValidRegistrySubcommand, formatRegistryUsage } = await import("./registry-command-NZLX7ZFV.js");
19829
+ const { registryCommand, isValidRegistrySubcommand, formatRegistryUsage } = await import("./registry-command-AKJBYP5N.js");
19821
19830
  const subcommand = args.subcommand;
19822
19831
  if (!isValidRegistrySubcommand(subcommand)) {
19823
19832
  process.stdout.write(`${formatRegistryUsage()}
@@ -19865,7 +19874,7 @@ async function handleVerifyCommand(args) {
19865
19874
  async function handleDoctorCommand(args) {
19866
19875
  const exitCode = await doctorCommand({ fix: args.options.fix });
19867
19876
  if (args.options.deep) {
19868
- const { runDeepDiagnostics: runDeepDiagnostics2, formatDeepDiagnostics: formatDeepDiagnostics2 } = await import("./doctor-deep-OF2LXZ6A.js");
19877
+ const { runDeepDiagnostics: runDeepDiagnostics2, formatDeepDiagnostics: formatDeepDiagnostics2 } = await import("./doctor-deep-2KT4LZA6.js");
19869
19878
  const diag = runDeepDiagnostics2();
19870
19879
  process.stdout.write(formatDeepDiagnostics2(diag) + "\n");
19871
19880
  }
@@ -19909,7 +19918,7 @@ async function handleInitCommand(args) {
19909
19918
  process.exit(result.success ? EXIT_CODES.SUCCESS : EXIT_CODES.SERVER_START_FAILED);
19910
19919
  }
19911
19920
  async function runInitOpencodeFlow(args) {
19912
- const { runInitOpencode } = await import("./init-opencode-FE7HVWQL.js");
19921
+ const { runInitOpencode } = await import("./init-opencode-26YCTSR4.js");
19913
19922
  const opencodePath = args.options.opencode;
19914
19923
  if (opencodePath === void 0 || opencodePath === "") {
19915
19924
  process.stderr.write("Error: --opencode requires a path argument.\n");
@@ -19936,7 +19945,7 @@ async function runInitOpencodeFlow(args) {
19936
19945
  process.exit(EXIT_CODES.SUCCESS);
19937
19946
  }
19938
19947
  async function renderOpencodeValidate(opencodePath) {
19939
- const { runOpencodeValidate } = await import("./init-opencode-FE7HVWQL.js");
19948
+ const { runOpencodeValidate } = await import("./init-opencode-26YCTSR4.js");
19940
19949
  const result = await runOpencodeValidate(opencodePath);
19941
19950
  if (!result.ok) {
19942
19951
  process.stderr.write(`init --opencode --validate: ${result.reason ?? "failed"}
@@ -19976,7 +19985,7 @@ async function handleSetupCommandAsync(args) {
19976
19985
  process.exit(exitCode === 0 ? EXIT_CODES.SUCCESS : EXIT_CODES.SERVER_START_FAILED);
19977
19986
  }
19978
19987
  async function runCustomApiSetup(args) {
19979
- const { configureCustomApi } = await import("./setup-custom-api-XTJ6YZM6.js");
19988
+ const { configureCustomApi } = await import("./setup-custom-api-53SYDF4L.js");
19980
19989
  const baseUrl = args.options.customApi;
19981
19990
  if (baseUrl === void 0) return EXIT_CODES.SERVER_START_FAILED;
19982
19991
  const input = {