nexus-agents 7.0.0 → 7.0.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 (126) hide show
  1. package/dist/{child-mcp-config-IPWKOUSE.js → child-mcp-config-ORXLS5HP.js} +2 -2
  2. package/dist/{chunk-XOCNOKIV.js → chunk-33FI7W3G.js} +2 -2
  3. package/dist/chunk-37JIYDVH.js +7 -0
  4. package/dist/{chunk-QUMUVNL6.js → chunk-3CGUPSBW.js} +2 -2
  5. package/dist/{chunk-PCZJMNPT.js → chunk-6GYTTWNM.js} +2 -2
  6. package/dist/{chunk-DR7DYEFQ.js → chunk-6Q3KSZVI.js} +2 -2
  7. package/dist/{chunk-DXIZQRP5.js → chunk-7U7HAYPB.js} +4 -4
  8. package/dist/{chunk-6SA3FIBZ.js → chunk-AGFXJUTS.js} +3 -3
  9. package/dist/{chunk-KYCJ47JZ.js → chunk-BTWKDT4F.js} +8 -8
  10. package/dist/{chunk-KXQNETUB.js → chunk-D6TL5GZV.js} +13 -4
  11. package/dist/chunk-D6TL5GZV.js.map +1 -0
  12. package/dist/{chunk-XF6J4PCH.js → chunk-GAYSJGKD.js} +49 -32
  13. package/dist/chunk-GAYSJGKD.js.map +1 -0
  14. package/dist/{chunk-MB2YIETU.js → chunk-IWTK6FDT.js} +2 -2
  15. package/dist/{chunk-5EEEPQZY.js → chunk-JJT7NVNY.js} +3 -3
  16. package/dist/{chunk-6ZYJ46HN.js → chunk-JNZ3D5B5.js} +2 -2
  17. package/dist/{chunk-VNULIWRK.js → chunk-K2AWJGQO.js} +2 -2
  18. package/dist/{chunk-ET67NYCJ.js → chunk-KJWD2V4K.js} +7 -7
  19. package/dist/{chunk-WMXHD6UA.js → chunk-KUYKSKPV.js} +55 -41
  20. package/dist/{chunk-WMXHD6UA.js.map → chunk-KUYKSKPV.js.map} +1 -1
  21. package/dist/{chunk-UAKFLKW3.js → chunk-LVYRGNOC.js} +2 -2
  22. package/dist/{chunk-K3ZTZSLW.js → chunk-OHULIRP6.js} +23 -9
  23. package/dist/chunk-OHULIRP6.js.map +1 -0
  24. package/dist/{chunk-T47DKINM.js → chunk-Q6IODDEA.js} +6 -6
  25. package/dist/{chunk-RSSLLOU6.js → chunk-QAHGHWC7.js} +5 -5
  26. package/dist/{chunk-JC4WREXA.js → chunk-RBF64DXJ.js} +2 -2
  27. package/dist/{chunk-NVFYMGCC.js → chunk-RLBJTZHA.js} +2 -2
  28. package/dist/{chunk-HGL7B6WB.js → chunk-S2Z7CME3.js} +2 -2
  29. package/dist/{chunk-LUPEM2NF.js → chunk-UVO673OY.js} +3 -3
  30. package/dist/{chunk-CF5CXFYJ.js → chunk-VVXHIUFQ.js} +5 -5
  31. package/dist/{chunk-L3ZVRVHA.js → chunk-VYAXMVI5.js} +2 -2
  32. package/dist/{chunk-46XUGUB4.js → chunk-WLIXCNZ6.js} +7 -7
  33. package/dist/{chunk-ZICPESTJ.js → chunk-XREG2HTQ.js} +4 -4
  34. package/dist/{chunk-SZZRE2VU.js → chunk-XZEYSIGG.js} +2 -2
  35. package/dist/{chunk-OP6PH7GC.js → chunk-Y5GYBP52.js} +2 -2
  36. package/dist/{chunk-UOHOHH72.js → chunk-Y742U2YM.js} +18 -7
  37. package/dist/{chunk-UOHOHH72.js.map → chunk-Y742U2YM.js.map} +1 -1
  38. package/dist/{chunk-KLQ352NK.js → chunk-ZD4VEHEG.js} +2 -2
  39. package/dist/{chunk-XOLGF5MK.js → chunk-ZGEDIKAM.js} +2 -2
  40. package/dist/{cli-circuit-breaker-TEW4RTM2.js → cli-circuit-breaker-5FYJDS5O.js} +3 -3
  41. package/dist/cli.js +41 -41
  42. package/dist/{composite-router-GEQSU4S3.js → composite-router-GE24MYPP.js} +2 -2
  43. package/dist/{consensus-vote-ZMEESJFP.js → consensus-vote-62FAN4ZN.js} +17 -17
  44. package/dist/{context-retriever-ECGC4EFR.js → context-retriever-3OO6N4V6.js} +8 -8
  45. package/dist/{doctor-deep-6WLU2HV7.js → doctor-deep-6WHVRRVQ.js} +3 -3
  46. package/dist/{doctor-live-OLSOA44K.js → doctor-live-J7JIZH3T.js} +9 -9
  47. package/dist/{expert-bridge-DWBQLHPG.js → expert-bridge-PWRVRFDG.js} +4 -4
  48. package/dist/{factory-Q7D2MNS2.js → factory-3BZDQQYM.js} +9 -9
  49. package/dist/{factory-OTIHI4GK.js → factory-UFKRSADE.js} +5 -5
  50. package/dist/{improvement-review-PUEF3WL4.js → improvement-review-QUU5HR7Z.js} +6 -6
  51. package/dist/index.d.ts +17 -1
  52. package/dist/index.js +31 -31
  53. package/dist/{init-opencode-MCS4F4MP.js → init-opencode-GDPE4U65.js} +6 -6
  54. package/dist/issue-triage-2LNYGQRJ.js +17 -0
  55. package/dist/{pr-reviewer-helpers-7OKVLICU.js → pr-reviewer-helpers-KBOP72XG.js} +4 -4
  56. package/dist/{registry-command-WRWJWKJV.js → registry-command-ZK4NQ2MX.js} +2 -2
  57. package/dist/{repo-security-plan-TW3D5JPQ.js → repo-security-plan-SZU4O2TN.js} +3 -3
  58. package/dist/{research-helpers-synthesize-3YBPFYMX.js → research-helpers-synthesize-QY3DDHTD.js} +4 -4
  59. package/dist/{routing-memory-5CLHRWID.js → routing-memory-2SMMUPTB.js} +2 -2
  60. package/dist/{session-memory-M2LUBDCR.js → session-memory-YQQVPLKM.js} +3 -3
  61. package/dist/{setup-config-OMH2SQLH.js → setup-config-LMZE4IRV.js} +3 -3
  62. package/dist/{setup-custom-api-WHU4TJKG.js → setup-custom-api-ZSBUIJID.js} +4 -4
  63. package/dist/setup-data-dir-ZEH7TFA6.js +29 -0
  64. package/dist/{tool-memory-K3LY6VBF.js → tool-memory-GUPG2M25.js} +5 -5
  65. package/dist/{unified-registry-DC7GEQKG.js → unified-registry-RPT4O3XB.js} +10 -10
  66. package/dist/{weather-report-XMWNDDHY.js → weather-report-6AVPMHHM.js} +2 -2
  67. package/package.json +1 -1
  68. package/dist/chunk-K3ZTZSLW.js.map +0 -1
  69. package/dist/chunk-KXQNETUB.js.map +0 -1
  70. package/dist/chunk-OXJEIMLS.js +0 -7
  71. package/dist/chunk-XF6J4PCH.js.map +0 -1
  72. package/dist/issue-triage-A7JXRGSV.js +0 -17
  73. package/dist/setup-data-dir-3MPQZUHC.js +0 -29
  74. /package/dist/{child-mcp-config-IPWKOUSE.js.map → child-mcp-config-ORXLS5HP.js.map} +0 -0
  75. /package/dist/{chunk-XOCNOKIV.js.map → chunk-33FI7W3G.js.map} +0 -0
  76. /package/dist/{chunk-OXJEIMLS.js.map → chunk-37JIYDVH.js.map} +0 -0
  77. /package/dist/{chunk-QUMUVNL6.js.map → chunk-3CGUPSBW.js.map} +0 -0
  78. /package/dist/{chunk-PCZJMNPT.js.map → chunk-6GYTTWNM.js.map} +0 -0
  79. /package/dist/{chunk-DR7DYEFQ.js.map → chunk-6Q3KSZVI.js.map} +0 -0
  80. /package/dist/{chunk-DXIZQRP5.js.map → chunk-7U7HAYPB.js.map} +0 -0
  81. /package/dist/{chunk-6SA3FIBZ.js.map → chunk-AGFXJUTS.js.map} +0 -0
  82. /package/dist/{chunk-KYCJ47JZ.js.map → chunk-BTWKDT4F.js.map} +0 -0
  83. /package/dist/{chunk-MB2YIETU.js.map → chunk-IWTK6FDT.js.map} +0 -0
  84. /package/dist/{chunk-5EEEPQZY.js.map → chunk-JJT7NVNY.js.map} +0 -0
  85. /package/dist/{chunk-6ZYJ46HN.js.map → chunk-JNZ3D5B5.js.map} +0 -0
  86. /package/dist/{chunk-VNULIWRK.js.map → chunk-K2AWJGQO.js.map} +0 -0
  87. /package/dist/{chunk-ET67NYCJ.js.map → chunk-KJWD2V4K.js.map} +0 -0
  88. /package/dist/{chunk-UAKFLKW3.js.map → chunk-LVYRGNOC.js.map} +0 -0
  89. /package/dist/{chunk-T47DKINM.js.map → chunk-Q6IODDEA.js.map} +0 -0
  90. /package/dist/{chunk-RSSLLOU6.js.map → chunk-QAHGHWC7.js.map} +0 -0
  91. /package/dist/{chunk-JC4WREXA.js.map → chunk-RBF64DXJ.js.map} +0 -0
  92. /package/dist/{chunk-NVFYMGCC.js.map → chunk-RLBJTZHA.js.map} +0 -0
  93. /package/dist/{chunk-HGL7B6WB.js.map → chunk-S2Z7CME3.js.map} +0 -0
  94. /package/dist/{chunk-LUPEM2NF.js.map → chunk-UVO673OY.js.map} +0 -0
  95. /package/dist/{chunk-CF5CXFYJ.js.map → chunk-VVXHIUFQ.js.map} +0 -0
  96. /package/dist/{chunk-L3ZVRVHA.js.map → chunk-VYAXMVI5.js.map} +0 -0
  97. /package/dist/{chunk-46XUGUB4.js.map → chunk-WLIXCNZ6.js.map} +0 -0
  98. /package/dist/{chunk-ZICPESTJ.js.map → chunk-XREG2HTQ.js.map} +0 -0
  99. /package/dist/{chunk-SZZRE2VU.js.map → chunk-XZEYSIGG.js.map} +0 -0
  100. /package/dist/{chunk-OP6PH7GC.js.map → chunk-Y5GYBP52.js.map} +0 -0
  101. /package/dist/{chunk-KLQ352NK.js.map → chunk-ZD4VEHEG.js.map} +0 -0
  102. /package/dist/{chunk-XOLGF5MK.js.map → chunk-ZGEDIKAM.js.map} +0 -0
  103. /package/dist/{cli-circuit-breaker-TEW4RTM2.js.map → cli-circuit-breaker-5FYJDS5O.js.map} +0 -0
  104. /package/dist/{composite-router-GEQSU4S3.js.map → composite-router-GE24MYPP.js.map} +0 -0
  105. /package/dist/{consensus-vote-ZMEESJFP.js.map → consensus-vote-62FAN4ZN.js.map} +0 -0
  106. /package/dist/{context-retriever-ECGC4EFR.js.map → context-retriever-3OO6N4V6.js.map} +0 -0
  107. /package/dist/{doctor-deep-6WLU2HV7.js.map → doctor-deep-6WHVRRVQ.js.map} +0 -0
  108. /package/dist/{doctor-live-OLSOA44K.js.map → doctor-live-J7JIZH3T.js.map} +0 -0
  109. /package/dist/{expert-bridge-DWBQLHPG.js.map → expert-bridge-PWRVRFDG.js.map} +0 -0
  110. /package/dist/{factory-OTIHI4GK.js.map → factory-3BZDQQYM.js.map} +0 -0
  111. /package/dist/{factory-Q7D2MNS2.js.map → factory-UFKRSADE.js.map} +0 -0
  112. /package/dist/{improvement-review-PUEF3WL4.js.map → improvement-review-QUU5HR7Z.js.map} +0 -0
  113. /package/dist/{init-opencode-MCS4F4MP.js.map → init-opencode-GDPE4U65.js.map} +0 -0
  114. /package/dist/{issue-triage-A7JXRGSV.js.map → issue-triage-2LNYGQRJ.js.map} +0 -0
  115. /package/dist/{pr-reviewer-helpers-7OKVLICU.js.map → pr-reviewer-helpers-KBOP72XG.js.map} +0 -0
  116. /package/dist/{registry-command-WRWJWKJV.js.map → registry-command-ZK4NQ2MX.js.map} +0 -0
  117. /package/dist/{repo-security-plan-TW3D5JPQ.js.map → repo-security-plan-SZU4O2TN.js.map} +0 -0
  118. /package/dist/{research-helpers-synthesize-3YBPFYMX.js.map → research-helpers-synthesize-QY3DDHTD.js.map} +0 -0
  119. /package/dist/{routing-memory-5CLHRWID.js.map → routing-memory-2SMMUPTB.js.map} +0 -0
  120. /package/dist/{session-memory-M2LUBDCR.js.map → session-memory-YQQVPLKM.js.map} +0 -0
  121. /package/dist/{setup-config-OMH2SQLH.js.map → setup-config-LMZE4IRV.js.map} +0 -0
  122. /package/dist/{setup-custom-api-WHU4TJKG.js.map → setup-custom-api-ZSBUIJID.js.map} +0 -0
  123. /package/dist/{setup-data-dir-3MPQZUHC.js.map → setup-data-dir-ZEH7TFA6.js.map} +0 -0
  124. /package/dist/{tool-memory-K3LY6VBF.js.map → tool-memory-GUPG2M25.js.map} +0 -0
  125. /package/dist/{unified-registry-DC7GEQKG.js.map → unified-registry-RPT4O3XB.js.map} +0 -0
  126. /package/dist/{weather-report-XMWNDDHY.js.map → weather-report-6AVPMHHM.js.map} +0 -0
@@ -4,7 +4,7 @@ import {
4
4
  err,
5
5
  getErrorMessage,
6
6
  ok
7
- } from "./chunk-UOHOHH72.js";
7
+ } from "./chunk-Y742U2YM.js";
8
8
 
9
9
  // src/scm/types.ts
10
10
  var ScmError = class extends Error {
@@ -263,4 +263,4 @@ export {
263
263
  ScmError,
264
264
  GitHubProvider
265
265
  };
266
- //# sourceMappingURL=chunk-MB2YIETU.js.map
266
+ //# sourceMappingURL=chunk-IWTK6FDT.js.map
@@ -12,11 +12,11 @@ import {
12
12
  gateWithReputation,
13
13
  resolveReputationGatingMode,
14
14
  sanitizeInput
15
- } from "./chunk-NVFYMGCC.js";
15
+ } from "./chunk-RLBJTZHA.js";
16
16
  import {
17
17
  createLogger,
18
18
  getTimeProvider
19
- } from "./chunk-UOHOHH72.js";
19
+ } from "./chunk-Y742U2YM.js";
20
20
 
21
21
  // src/dogfooding/pr-reviewer-helpers.ts
22
22
  import { randomUUID } from "crypto";
@@ -303,4 +303,4 @@ export {
303
303
  createFailedReview,
304
304
  reviewPostingBlock
305
305
  };
306
- //# sourceMappingURL=chunk-5EEEPQZY.js.map
306
+ //# sourceMappingURL=chunk-JJT7NVNY.js.map
@@ -4,7 +4,7 @@ import {
4
4
  getErrorMessage,
5
5
  getTimeProvider,
6
6
  ok
7
- } from "./chunk-UOHOHH72.js";
7
+ } from "./chunk-Y742U2YM.js";
8
8
 
9
9
  // src/context/session-memory.ts
10
10
  import * as fs from "fs";
@@ -366,4 +366,4 @@ export {
366
366
  SessionMemory,
367
367
  createSessionMemory
368
368
  };
369
- //# sourceMappingURL=chunk-6ZYJ46HN.js.map
369
+ //# sourceMappingURL=chunk-JNZ3D5B5.js.map
@@ -5,7 +5,7 @@ import {
5
5
  getErrorMessage,
6
6
  ok,
7
7
  parseBoolEnv
8
- } from "./chunk-UOHOHH72.js";
8
+ } from "./chunk-Y742U2YM.js";
9
9
 
10
10
  // src/cli/research-helpers-io.ts
11
11
  import * as fs2 from "fs/promises";
@@ -156,4 +156,4 @@ export {
156
156
  loadPapersRegistry,
157
157
  savePapersRegistry
158
158
  };
159
- //# sourceMappingURL=chunk-VNULIWRK.js.map
159
+ //# sourceMappingURL=chunk-K2AWJGQO.js.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  resolveCliSlot
3
- } from "./chunk-PCZJMNPT.js";
3
+ } from "./chunk-6GYTTWNM.js";
4
4
  import {
5
5
  createLogger,
6
6
  getTimeProvider,
7
7
  isRateLimitText
8
- } from "./chunk-UOHOHH72.js";
8
+ } from "./chunk-Y742U2YM.js";
9
9
 
10
10
  // src/pipeline/expert-bridge.ts
11
11
  function resolveCliFromModelString(model) {
@@ -21,7 +21,7 @@ async function getMcpConfigPath() {
21
21
  if (cachedMcpConfigPath !== null) return cachedMcpConfigPath;
22
22
  mcpConfigInitPromise ??= (async () => {
23
23
  try {
24
- const { generateMcpConfig } = await import("./child-mcp-config-IPWKOUSE.js");
24
+ const { generateMcpConfig } = await import("./child-mcp-config-ORXLS5HP.js");
25
25
  const config = await generateMcpConfig();
26
26
  cachedMcpConfigPath = config.configPath;
27
27
  cachedMcpConfigCleanup = config.cleanup;
@@ -93,8 +93,8 @@ var routerInitPromise = null;
93
93
  async function getRouter() {
94
94
  if (cachedRouter !== null) return cachedRouter;
95
95
  routerInitPromise ??= (async () => {
96
- const { createAllAdapters } = await import("./factory-Q7D2MNS2.js");
97
- const { createCompositeRouter } = await import("./composite-router-GEQSU4S3.js");
96
+ const { createAllAdapters } = await import("./factory-3BZDQQYM.js");
97
+ const { createCompositeRouter } = await import("./composite-router-GE24MYPP.js");
98
98
  const adapters = createAllAdapters();
99
99
  if (adapters.size === 0) {
100
100
  routerInitPromise = null;
@@ -102,7 +102,7 @@ async function getRouter() {
102
102
  }
103
103
  cachedRouter = adaptCompositeRouter(createCompositeRouter(adapters));
104
104
  try {
105
- const { createCliCircuitBreakerIntegration } = await import("./cli-circuit-breaker-TEW4RTM2.js");
105
+ const { createCliCircuitBreakerIntegration } = await import("./cli-circuit-breaker-5FYJDS5O.js");
106
106
  cachedCircuitBreaker = createCliCircuitBreakerIntegration([...adapters.values()]);
107
107
  } catch (error) {
108
108
  const msg = error instanceof Error ? error.message : String(error);
@@ -213,4 +213,4 @@ export {
213
213
  tokenSplitFromUsage,
214
214
  executeExpert
215
215
  };
216
- //# sourceMappingURL=chunk-ET67NYCJ.js.map
216
+ //# sourceMappingURL=chunk-KJWD2V4K.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  generateSecurityPlan
3
- } from "./chunk-L3ZVRVHA.js";
3
+ } from "./chunk-VYAXMVI5.js";
4
4
  import {
5
5
  analyzeGitHubRepo
6
6
  } from "./chunk-HFOQKCD2.js";
@@ -21,10 +21,10 @@ import {
21
21
  import {
22
22
  DEFAULT_TASK_TTL_MS,
23
23
  clampTaskTtl
24
- } from "./chunk-46XUGUB4.js";
24
+ } from "./chunk-WLIXCNZ6.js";
25
25
  import {
26
26
  executeExpert
27
- } from "./chunk-ET67NYCJ.js";
27
+ } from "./chunk-KJWD2V4K.js";
28
28
  import {
29
29
  JobStatusSchema,
30
30
  VOTER_ROLES,
@@ -47,24 +47,24 @@ import {
47
47
  simulationDeniedResult,
48
48
  toJobSummary,
49
49
  writeJobCancelled
50
- } from "./chunk-K3ZTZSLW.js";
50
+ } from "./chunk-OHULIRP6.js";
51
51
  import {
52
52
  allOf
53
53
  } from "./chunk-OQB3XC5O.js";
54
54
  import {
55
55
  normalizeTopicToCanonical,
56
56
  synthesizeResearch
57
- } from "./chunk-LUPEM2NF.js";
57
+ } from "./chunk-UVO673OY.js";
58
58
  import {
59
59
  IssueTriage
60
- } from "./chunk-T47DKINM.js";
60
+ } from "./chunk-Q6IODDEA.js";
61
61
  import {
62
62
  resolveEnvMode,
63
63
  sanitizeInput
64
- } from "./chunk-NVFYMGCC.js";
64
+ } from "./chunk-RLBJTZHA.js";
65
65
  import {
66
66
  withPrerequisite
67
- } from "./chunk-6SA3FIBZ.js";
67
+ } from "./chunk-AGFXJUTS.js";
68
68
  import {
69
69
  NOOP_NOTIFIER,
70
70
  RateLimiter,
@@ -78,6 +78,7 @@ import {
78
78
  getToolAnnotations,
79
79
  getToolTimeout,
80
80
  measuredTrustTier,
81
+ sanitizeToolInput,
81
82
  toSdkCallback,
82
83
  toSdkCallbackWithBudgetCheck,
83
84
  toolError,
@@ -88,18 +89,18 @@ import {
88
89
  withAuditTrail,
89
90
  withProgressHeartbeat,
90
91
  wrapToolWithTimeout
91
- } from "./chunk-XF6J4PCH.js";
92
+ } from "./chunk-GAYSJGKD.js";
92
93
  import {
93
94
  createAuditTrail,
94
95
  createGraphAuditBridge,
95
96
  emitPipelinePolicyEvent
96
- } from "./chunk-DR7DYEFQ.js";
97
+ } from "./chunk-6Q3KSZVI.js";
97
98
  import {
98
99
  EventTopics,
99
100
  createEvent,
100
101
  getGlobalEventBus,
101
102
  getGlobalRegistry
102
- } from "./chunk-KXQNETUB.js";
103
+ } from "./chunk-D6TL5GZV.js";
103
104
  import {
104
105
  IDENTIFIER_RE,
105
106
  LANG_VALUES,
@@ -132,29 +133,29 @@ import {
132
133
  parseRegistry,
133
134
  sourceExistsInRegistry,
134
135
  summarizeContextForPrompt
135
- } from "./chunk-RSSLLOU6.js";
136
+ } from "./chunk-QAHGHWC7.js";
136
137
  import {
137
138
  loadPapersRegistry,
138
139
  loadTechniquesRegistry,
139
140
  resolveInsideRoot
140
- } from "./chunk-VNULIWRK.js";
141
+ } from "./chunk-K2AWJGQO.js";
141
142
  import {
142
143
  getTokenEnvVars,
143
144
  resolveToken
144
- } from "./chunk-SZZRE2VU.js";
145
+ } from "./chunk-XZEYSIGG.js";
145
146
  import {
146
147
  DEFAULT_RELEVANCE_CONFIG,
147
148
  MemoryImportance,
148
149
  calculateTextJaccardSimilarity,
149
150
  getToolMemory
150
- } from "./chunk-DXIZQRP5.js";
151
+ } from "./chunk-7U7HAYPB.js";
151
152
  import {
152
153
  STOPWORDS,
153
154
  truncateWithInfo
154
155
  } from "./chunk-6T3EPABN.js";
155
156
  import {
156
157
  createSessionMemory
157
- } from "./chunk-6ZYJ46HN.js";
158
+ } from "./chunk-JNZ3D5B5.js";
158
159
  import {
159
160
  BUILT_IN_EXPERTS,
160
161
  BuiltInExpertTypeSchema,
@@ -172,25 +173,25 @@ import {
172
173
  getAvailableClis,
173
174
  sleep,
174
175
  withTimeout
175
- } from "./chunk-KYCJ47JZ.js";
176
+ } from "./chunk-BTWKDT4F.js";
176
177
  import {
177
178
  BaseAdapter,
178
179
  createStream,
179
180
  requireApiKey,
180
181
  validateApiKeyPresence
181
- } from "./chunk-UAKFLKW3.js";
182
+ } from "./chunk-LVYRGNOC.js";
182
183
  import {
183
184
  DEFAULTS
184
- } from "./chunk-KLQ352NK.js";
185
+ } from "./chunk-ZD4VEHEG.js";
185
186
  import {
186
187
  getAvailabilityCache,
187
188
  getCliForModelId,
188
189
  resolveFallback
189
- } from "./chunk-PCZJMNPT.js";
190
+ } from "./chunk-6GYTTWNM.js";
190
191
  import {
191
192
  generateHyphenId,
192
193
  generateUUID
193
- } from "./chunk-XOCNOKIV.js";
194
+ } from "./chunk-33FI7W3G.js";
194
195
  import {
195
196
  AGENT_ROUTER_TIMEOUTS,
196
197
  API_TIMEOUTS,
@@ -296,7 +297,7 @@ import {
296
297
  selectStrategyByManifest,
297
298
  toExpertTaskAnalysisResult,
298
299
  withStep
299
- } from "./chunk-UOHOHH72.js";
300
+ } from "./chunk-Y742U2YM.js";
300
301
  import {
301
302
  ensureLearningDir,
302
303
  getMetaOutcomesFile,
@@ -29692,7 +29693,7 @@ function execIdFields(executionId) {
29692
29693
  async function populateUnifiedContextOnState(state, options) {
29693
29694
  const taskCandidate = state["task"];
29694
29695
  if (typeof taskCandidate !== "string" || taskCandidate === "") return;
29695
- const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-ECGC4EFR.js");
29696
+ const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-3OO6N4V6.js");
29696
29697
  const category = inferTaskCategory2(taskCandidate);
29697
29698
  const executionId = options?.executionId;
29698
29699
  const execFields = execIdFields(executionId);
@@ -45572,7 +45573,7 @@ async function tryIssueTriage(task) {
45572
45573
  try {
45573
45574
  const issueMatch = task.match(/github\.com\/([^/]+\/[^/]+)\/issues\/(\d+)/);
45574
45575
  if (issueMatch === null) return null;
45575
- const { createIssueTriage } = await import("./issue-triage-A7JXRGSV.js");
45576
+ const { createIssueTriage } = await import("./issue-triage-2LNYGQRJ.js");
45576
45577
  const triage = createIssueTriage();
45577
45578
  const owner = issueMatch[1] ?? "";
45578
45579
  const num = issueMatch[2] ?? "";
@@ -45600,7 +45601,7 @@ var VALID_TEMPLATES = /* @__PURE__ */ new Set([
45600
45601
  ]);
45601
45602
  async function classifyWithLLM(task) {
45602
45603
  try {
45603
- const { executeExpert: executeExpert2 } = await import("./expert-bridge-DWBQLHPG.js");
45604
+ const { executeExpert: executeExpert2 } = await import("./expert-bridge-PWRVRFDG.js");
45604
45605
  const prompt = [
45605
45606
  "Classify this task into exactly one pipeline template.",
45606
45607
  "Templates: dev (implementation/bug fix/refactor), research (investigate/evaluate/compare),",
@@ -47291,7 +47292,7 @@ var memoryInitPromise = null;
47291
47292
  async function initPipelineMemory() {
47292
47293
  if (cachedMemory !== null) return cachedMemory;
47293
47294
  try {
47294
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-M2LUBDCR.js");
47295
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-YQQVPLKM.js");
47295
47296
  const { getLearningDir } = await import("./learning-persistence-7O5QYDM7.js");
47296
47297
  const mem = createSessionMemory2(getLearningDir());
47297
47298
  mem.startSession(`pipeline-${String(getTimeProvider().now())}`);
@@ -47353,7 +47354,7 @@ function recordRoutingExperience(category, success, durationMs, tokensUsed = 0,
47353
47354
  callRecord(routingMemoryCache);
47354
47355
  return;
47355
47356
  }
47356
- routingMemoryInitPromise ??= import("./routing-memory-5CLHRWID.js").then(({ createRoutingMemory }) => {
47357
+ routingMemoryInitPromise ??= import("./routing-memory-2SMMUPTB.js").then(({ createRoutingMemory }) => {
47357
47358
  routingMemoryCache ??= createRoutingMemory();
47358
47359
  return routingMemoryCache;
47359
47360
  }).catch((error) => {
@@ -47387,7 +47388,7 @@ ${text}` : "";
47387
47388
  }
47388
47389
  async function getWeatherContext() {
47389
47390
  try {
47390
- const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-XMWNDDHY.js");
47391
+ const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-6AVPMHHM.js");
47391
47392
  const report = generateWeatherReport2({ includeAdaptive: true });
47392
47393
  const mappings = "recommendedMappings" in report ? report.recommendedMappings : [];
47393
47394
  if (!Array.isArray(mappings) || mappings.length === 0) return "";
@@ -47405,7 +47406,7 @@ ${lines}
47405
47406
  }
47406
47407
  async function getMemoryContext(task) {
47407
47408
  try {
47408
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-M2LUBDCR.js");
47409
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-YQQVPLKM.js");
47409
47410
  const { getLearningDir } = await import("./learning-persistence-7O5QYDM7.js");
47410
47411
  const memory = createSessionMemory2(getLearningDir(), { maxLearningsInContext: 10 });
47411
47412
  const learnings = memory.searchLearnings(task.slice(0, 200));
@@ -47524,7 +47525,7 @@ ${contextBlock}`;
47524
47525
  const strategy = config.votingStrategy ?? "higher_order";
47525
47526
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
47526
47527
  try {
47527
- const { executeVoting } = await import("./consensus-vote-ZMEESJFP.js");
47528
+ const { executeVoting } = await import("./consensus-vote-62FAN4ZN.js");
47528
47529
  const votingResult = await executeVoting(
47529
47530
  {
47530
47531
  proposal: buildVoteProposal(plan, research),
@@ -47953,7 +47954,7 @@ async function searchCodebaseForTask(task) {
47953
47954
  }
47954
47955
  async function queryResearchRegistry(task) {
47955
47956
  try {
47956
- const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-3YBPFYMX.js");
47957
+ const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-QY3DDHTD.js");
47957
47958
  const topic = task.split(/[.!?\n]/).filter((s) => s.trim().length > 10)[0]?.trim();
47958
47959
  if (topic === void 0) return null;
47959
47960
  const result = await synthesizeResearch2(topic.slice(0, 50));
@@ -48024,7 +48025,7 @@ function createScanStageWrapper() {
48024
48025
  try {
48025
48026
  const slug = ctx.task.match(/([a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+)/)?.[1];
48026
48027
  if (slug !== void 0) {
48027
- const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-TW3D5JPQ.js");
48028
+ const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-SZU4O2TN.js");
48028
48029
  const plan = await generateSecurityPlan2({ repo: slug, maxScanners: 10 });
48029
48030
  const recs = plan.recommendations.slice(0, 5).map((r) => `${r.priority}: ${r.displayName} (${r.category})`).join("; ");
48030
48031
  return output(PIPELINE_STATE_KEYS.FINDINGS, recs, getTimeProvider().now() - start, true);
@@ -48829,32 +48830,45 @@ function absoluteQuorumApprove(reviews, valid) {
48829
48830
  return { decision: "approve", verified: true };
48830
48831
  }
48831
48832
  function buildPrReviewProposal(input) {
48833
+ const sanitizeResult = sanitizeToolInput({
48834
+ prTitle: input.prTitle,
48835
+ prDescription: input.prDescription,
48836
+ prDiff: input.prDiff,
48837
+ repoContext: input.repoContext
48838
+ });
48839
+ const safe = sanitizeResult.sanitized;
48832
48840
  const parts = [];
48833
48841
  parts.push(`# Pull Request Review
48834
48842
  `);
48835
- parts.push(`**Title:** ${input.prTitle}
48843
+ if (sanitizeResult.commentsRemoved > 0) {
48844
+ parts.push(
48845
+ `> **Note:** ${String(sanitizeResult.commentsRemoved)} HTML comment(s) were removed from the untrusted fields below before you saw them (#5258). Comments are invisible in rendered markdown, so they are stripped rather than trusted. This is routine \u2014 GitHub's default PR template contains one \u2014 and is not by itself evidence of an attack.
48846
+ `
48847
+ );
48848
+ }
48849
+ parts.push(`**Title:** ${safe.prTitle}
48836
48850
  `);
48837
48851
  if (input.baseRef !== void 0 && input.headRef !== void 0) {
48838
48852
  parts.push(`**Branches:** ${input.headRef} \u2192 ${input.baseRef}
48839
48853
  `);
48840
48854
  }
48841
- if (input.repoContext !== void 0 && input.repoContext !== "") {
48855
+ if (safe.repoContext !== void 0 && safe.repoContext !== "") {
48842
48856
  parts.push(`
48843
48857
  **Repo context:**
48844
- ${input.repoContext}
48858
+ ${safe.repoContext}
48845
48859
  `);
48846
48860
  }
48847
- if (input.prDescription !== void 0 && input.prDescription !== "") {
48861
+ if (safe.prDescription !== void 0 && safe.prDescription !== "") {
48848
48862
  parts.push(`
48849
48863
  **Description:**
48850
- ${input.prDescription}
48864
+ ${safe.prDescription}
48851
48865
  `);
48852
48866
  }
48853
48867
  parts.push(`
48854
48868
  ## Diff
48855
48869
 
48856
48870
  \`\`\`diff
48857
- ${input.prDiff}
48871
+ ${safe.prDiff}
48858
48872
  \`\`\`
48859
48873
  `);
48860
48874
  parts.push(`
@@ -51168,7 +51182,7 @@ var GitHubTaskTracker = class {
51168
51182
  cachedProvider = null;
51169
51183
  async getProvider() {
51170
51184
  if (this.cachedProvider !== null) return this.cachedProvider;
51171
- const { createScmProvider } = await import("./factory-OTIHI4GK.js");
51185
+ const { createScmProvider } = await import("./factory-UFKRSADE.js");
51172
51186
  const result = await createScmProvider({ repo: this.config.repo ?? "" });
51173
51187
  if (!result.ok) throw new Error(`SCM provider error: ${result.error.message}`);
51174
51188
  this.cachedProvider = result.value;
@@ -52083,7 +52097,7 @@ async function probeSource(source, includeModelIds) {
52083
52097
  }
52084
52098
  }
52085
52099
  async function defaultSources(includeOpenRouter) {
52086
- const { createAllAdapters: createAllAdapters2 } = await import("./factory-Q7D2MNS2.js");
52100
+ const { createAllAdapters: createAllAdapters2 } = await import("./factory-3BZDQQYM.js");
52087
52101
  const adapters = createAllAdapters2();
52088
52102
  return buildDefaultModelSources(adapters, { includeOpenRouter });
52089
52103
  }
@@ -56155,4 +56169,4 @@ export {
56155
56169
  shutdownFeedbackSubscriber,
56156
56170
  createEventBusBridge
56157
56171
  };
56158
- //# sourceMappingURL=chunk-WMXHD6UA.js.map
56172
+ //# sourceMappingURL=chunk-KUYKSKPV.js.map