nexus-agents 2.162.0 → 2.163.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 (130) hide show
  1. package/dist/{child-mcp-config-GXWEIDJH.js → child-mcp-config-ZSVYMJTH.js} +3 -3
  2. package/dist/{chunk-BSGAU3WE.js → chunk-2EAKVHOL.js} +3 -3
  3. package/dist/{chunk-ZQP2VUQN.js → chunk-2LR2XP3B.js} +9 -9
  4. package/dist/{chunk-RQ4JK2YE.js → chunk-3EBDRAQW.js} +3 -3
  5. package/dist/{chunk-GMT6X3ED.js → chunk-3JWMDESZ.js} +3 -3
  6. package/dist/{chunk-VT562DIB.js → chunk-3RDE3OZ6.js} +7 -7
  7. package/dist/{chunk-CI5F3CJL.js → chunk-3ZXNPAUR.js} +2 -2
  8. package/dist/{chunk-ZZJIUJT4.js → chunk-47EFSSZK.js} +3 -3
  9. package/dist/{chunk-2U42PBUF.js → chunk-563FMXWL.js} +2 -2
  10. package/dist/{chunk-G5KOZAHM.js → chunk-5KFUWUMY.js} +2 -2
  11. package/dist/{chunk-7F6AMBM4.js → chunk-AM7EW7CP.js} +4 -4
  12. package/dist/{chunk-3KCSKD7P.js → chunk-AOXZ42SD.js} +2 -2
  13. package/dist/{chunk-V5MPFOT7.js → chunk-ARTIFRBA.js} +2 -2
  14. package/dist/{chunk-NL7SZQPW.js → chunk-AXTD4TFK.js} +5 -1
  15. package/dist/{chunk-NL7SZQPW.js.map → chunk-AXTD4TFK.js.map} +1 -1
  16. package/dist/{chunk-EKGN6UIH.js → chunk-B3FX6E7M.js} +37 -37
  17. package/dist/{chunk-MYIJLJQ7.js → chunk-CNGZ5N4W.js} +5 -5
  18. package/dist/{chunk-YRGEW5HH.js → chunk-D2NBIVAV.js} +5 -5
  19. package/dist/{chunk-VBL7BVUP.js → chunk-ENKFWBRH.js} +2 -2
  20. package/dist/{chunk-L6PB3464.js → chunk-HDLWUFKI.js} +2 -2
  21. package/dist/{chunk-YAJBZKCC.js → chunk-JZ3DVFEW.js} +7 -7
  22. package/dist/{chunk-Y6ZICYXS.js → chunk-K5NU57WE.js} +4 -4
  23. package/dist/{chunk-P23SETQP.js → chunk-K7GAI4WP.js} +2 -2
  24. package/dist/{chunk-FTPCUJUK.js → chunk-LJWB4Z7O.js} +2 -2
  25. package/dist/{chunk-A4XTT4AG.js → chunk-NDV5J3Z5.js} +281 -28
  26. package/dist/chunk-NDV5J3Z5.js.map +1 -0
  27. package/dist/{chunk-DY5QOBYH.js → chunk-NG5ZAI7W.js} +2 -2
  28. package/dist/{chunk-DQQTKATY.js → chunk-OEOBPWBH.js} +26 -9
  29. package/dist/chunk-OEOBPWBH.js.map +1 -0
  30. package/dist/{chunk-Z6ORP7BL.js → chunk-P4J6I5ZI.js} +2 -2
  31. package/dist/{chunk-YXSRBCA2.js → chunk-PRU452SV.js} +2 -2
  32. package/dist/{chunk-BHMKXBCY.js → chunk-S477DLWR.js} +4 -4
  33. package/dist/{chunk-IOWQ2KZK.js → chunk-SBCIKT64.js} +3 -3
  34. package/dist/{chunk-PYTWA2LR.js → chunk-SKJK44YC.js} +3 -3
  35. package/dist/{chunk-OFZYDOF3.js → chunk-U5E2JJ4F.js} +6 -6
  36. package/dist/{chunk-EPRHNYCO.js → chunk-UAK3OVSL.js} +2 -2
  37. package/dist/{chunk-FETTN45O.js → chunk-UEAG2PEQ.js} +2 -2
  38. package/dist/{chunk-RKLKUNRA.js → chunk-WRZ7HENW.js} +2 -2
  39. package/dist/{chunk-TXRPJ6DJ.js → chunk-Y6O4FB5V.js} +4 -4
  40. package/dist/{cli-circuit-breaker-MKP4EGJ3.js → cli-circuit-breaker-KUPKNGN2.js} +5 -5
  41. package/dist/cli.js +42 -42
  42. package/dist/{composite-router-E5HK2SPX.js → composite-router-F6YN34I7.js} +3 -3
  43. package/dist/{consensus-vote-53LNVJQX.js → consensus-vote-N4HVJT7S.js} +16 -16
  44. package/dist/{context-retriever-ZQXEWMHS.js → context-retriever-W6Z6JNEF.js} +9 -9
  45. package/dist/{doctor-deep-RW5FKXIQ.js → doctor-deep-MKKGB3KM.js} +4 -4
  46. package/dist/{expert-bridge-435SKR4I.js → expert-bridge-KWUVLYXR.js} +5 -5
  47. package/dist/factory-5TRDV3CD.js +15 -0
  48. package/dist/factory-UF6LR6R6.js +22 -0
  49. package/dist/{improvement-review-MO277SWX.js → improvement-review-K2FQ5K4H.js} +6 -6
  50. package/dist/index.d.ts +81 -25
  51. package/dist/index.js +31 -31
  52. package/dist/{init-opencode-TH5B5PWD.js → init-opencode-42DWDOPX.js} +7 -7
  53. package/dist/issue-triage-OHJZLCEG.js +18 -0
  54. package/dist/{learning-persistence-M3OTCCNI.js → learning-persistence-6D5GGT7D.js} +4 -2
  55. package/dist/{pr-reviewer-helpers-Z6MIXEHD.js → pr-reviewer-helpers-ZWGIWDFL.js} +5 -5
  56. package/dist/{registry-command-YXXJ3EYA.js → registry-command-X6FLUFKQ.js} +3 -3
  57. package/dist/{repo-security-plan-LOYQKXWA.js → repo-security-plan-K4IYY3OY.js} +4 -4
  58. package/dist/{research-helpers-synthesize-BIEZJYKV.js → research-helpers-synthesize-GBT6QZIP.js} +5 -5
  59. package/dist/{routing-memory-FD77RBPF.js → routing-memory-KDVKLC75.js} +3 -3
  60. package/dist/{session-memory-ZWRYRPK2.js → session-memory-HQ5KPXQG.js} +4 -4
  61. package/dist/{setup-command-HTBWLS2P.js → setup-command-USFTGMA3.js} +12 -12
  62. package/dist/setup-config-K66VKRCD.js +11 -0
  63. package/dist/{setup-custom-api-SHWRKXZG.js → setup-custom-api-6CG7HMRX.js} +4 -4
  64. package/dist/{tool-memory-2765TOOT.js → tool-memory-DAGKXCJA.js} +6 -6
  65. package/dist/{unified-registry-PBJ4ZVPL.js → unified-registry-GAGQ2VSX.js} +10 -10
  66. package/dist/{weather-report-SIF2QPOU.js → weather-report-ZYPHCFXL.js} +3 -3
  67. package/package.json +1 -1
  68. package/dist/chunk-A4XTT4AG.js.map +0 -1
  69. package/dist/chunk-DQQTKATY.js.map +0 -1
  70. package/dist/factory-BSELGB2U.js +0 -22
  71. package/dist/factory-PV4YEJXD.js +0 -15
  72. package/dist/issue-triage-ZAL27WBT.js +0 -18
  73. package/dist/setup-config-HTZVHPW2.js +0 -11
  74. /package/dist/{child-mcp-config-GXWEIDJH.js.map → child-mcp-config-ZSVYMJTH.js.map} +0 -0
  75. /package/dist/{chunk-BSGAU3WE.js.map → chunk-2EAKVHOL.js.map} +0 -0
  76. /package/dist/{chunk-ZQP2VUQN.js.map → chunk-2LR2XP3B.js.map} +0 -0
  77. /package/dist/{chunk-RQ4JK2YE.js.map → chunk-3EBDRAQW.js.map} +0 -0
  78. /package/dist/{chunk-GMT6X3ED.js.map → chunk-3JWMDESZ.js.map} +0 -0
  79. /package/dist/{chunk-VT562DIB.js.map → chunk-3RDE3OZ6.js.map} +0 -0
  80. /package/dist/{chunk-CI5F3CJL.js.map → chunk-3ZXNPAUR.js.map} +0 -0
  81. /package/dist/{chunk-ZZJIUJT4.js.map → chunk-47EFSSZK.js.map} +0 -0
  82. /package/dist/{chunk-2U42PBUF.js.map → chunk-563FMXWL.js.map} +0 -0
  83. /package/dist/{chunk-G5KOZAHM.js.map → chunk-5KFUWUMY.js.map} +0 -0
  84. /package/dist/{chunk-7F6AMBM4.js.map → chunk-AM7EW7CP.js.map} +0 -0
  85. /package/dist/{chunk-3KCSKD7P.js.map → chunk-AOXZ42SD.js.map} +0 -0
  86. /package/dist/{chunk-V5MPFOT7.js.map → chunk-ARTIFRBA.js.map} +0 -0
  87. /package/dist/{chunk-EKGN6UIH.js.map → chunk-B3FX6E7M.js.map} +0 -0
  88. /package/dist/{chunk-MYIJLJQ7.js.map → chunk-CNGZ5N4W.js.map} +0 -0
  89. /package/dist/{chunk-YRGEW5HH.js.map → chunk-D2NBIVAV.js.map} +0 -0
  90. /package/dist/{chunk-VBL7BVUP.js.map → chunk-ENKFWBRH.js.map} +0 -0
  91. /package/dist/{chunk-L6PB3464.js.map → chunk-HDLWUFKI.js.map} +0 -0
  92. /package/dist/{chunk-YAJBZKCC.js.map → chunk-JZ3DVFEW.js.map} +0 -0
  93. /package/dist/{chunk-Y6ZICYXS.js.map → chunk-K5NU57WE.js.map} +0 -0
  94. /package/dist/{chunk-P23SETQP.js.map → chunk-K7GAI4WP.js.map} +0 -0
  95. /package/dist/{chunk-FTPCUJUK.js.map → chunk-LJWB4Z7O.js.map} +0 -0
  96. /package/dist/{chunk-DY5QOBYH.js.map → chunk-NG5ZAI7W.js.map} +0 -0
  97. /package/dist/{chunk-Z6ORP7BL.js.map → chunk-P4J6I5ZI.js.map} +0 -0
  98. /package/dist/{chunk-YXSRBCA2.js.map → chunk-PRU452SV.js.map} +0 -0
  99. /package/dist/{chunk-BHMKXBCY.js.map → chunk-S477DLWR.js.map} +0 -0
  100. /package/dist/{chunk-IOWQ2KZK.js.map → chunk-SBCIKT64.js.map} +0 -0
  101. /package/dist/{chunk-PYTWA2LR.js.map → chunk-SKJK44YC.js.map} +0 -0
  102. /package/dist/{chunk-OFZYDOF3.js.map → chunk-U5E2JJ4F.js.map} +0 -0
  103. /package/dist/{chunk-EPRHNYCO.js.map → chunk-UAK3OVSL.js.map} +0 -0
  104. /package/dist/{chunk-FETTN45O.js.map → chunk-UEAG2PEQ.js.map} +0 -0
  105. /package/dist/{chunk-RKLKUNRA.js.map → chunk-WRZ7HENW.js.map} +0 -0
  106. /package/dist/{chunk-TXRPJ6DJ.js.map → chunk-Y6O4FB5V.js.map} +0 -0
  107. /package/dist/{cli-circuit-breaker-MKP4EGJ3.js.map → cli-circuit-breaker-KUPKNGN2.js.map} +0 -0
  108. /package/dist/{composite-router-E5HK2SPX.js.map → composite-router-F6YN34I7.js.map} +0 -0
  109. /package/dist/{consensus-vote-53LNVJQX.js.map → consensus-vote-N4HVJT7S.js.map} +0 -0
  110. /package/dist/{context-retriever-ZQXEWMHS.js.map → context-retriever-W6Z6JNEF.js.map} +0 -0
  111. /package/dist/{doctor-deep-RW5FKXIQ.js.map → doctor-deep-MKKGB3KM.js.map} +0 -0
  112. /package/dist/{expert-bridge-435SKR4I.js.map → expert-bridge-KWUVLYXR.js.map} +0 -0
  113. /package/dist/{factory-BSELGB2U.js.map → factory-5TRDV3CD.js.map} +0 -0
  114. /package/dist/{factory-PV4YEJXD.js.map → factory-UF6LR6R6.js.map} +0 -0
  115. /package/dist/{improvement-review-MO277SWX.js.map → improvement-review-K2FQ5K4H.js.map} +0 -0
  116. /package/dist/{init-opencode-TH5B5PWD.js.map → init-opencode-42DWDOPX.js.map} +0 -0
  117. /package/dist/{issue-triage-ZAL27WBT.js.map → issue-triage-OHJZLCEG.js.map} +0 -0
  118. /package/dist/{learning-persistence-M3OTCCNI.js.map → learning-persistence-6D5GGT7D.js.map} +0 -0
  119. /package/dist/{pr-reviewer-helpers-Z6MIXEHD.js.map → pr-reviewer-helpers-ZWGIWDFL.js.map} +0 -0
  120. /package/dist/{registry-command-YXXJ3EYA.js.map → registry-command-X6FLUFKQ.js.map} +0 -0
  121. /package/dist/{repo-security-plan-LOYQKXWA.js.map → repo-security-plan-K4IYY3OY.js.map} +0 -0
  122. /package/dist/{research-helpers-synthesize-BIEZJYKV.js.map → research-helpers-synthesize-GBT6QZIP.js.map} +0 -0
  123. /package/dist/{routing-memory-FD77RBPF.js.map → routing-memory-KDVKLC75.js.map} +0 -0
  124. /package/dist/{session-memory-ZWRYRPK2.js.map → session-memory-HQ5KPXQG.js.map} +0 -0
  125. /package/dist/{setup-command-HTBWLS2P.js.map → setup-command-USFTGMA3.js.map} +0 -0
  126. /package/dist/{setup-config-HTZVHPW2.js.map → setup-config-K66VKRCD.js.map} +0 -0
  127. /package/dist/{setup-custom-api-SHWRKXZG.js.map → setup-custom-api-6CG7HMRX.js.map} +0 -0
  128. /package/dist/{tool-memory-2765TOOT.js.map → tool-memory-DAGKXCJA.js.map} +0 -0
  129. /package/dist/{unified-registry-PBJ4ZVPL.js.map → unified-registry-GAGQ2VSX.js.map} +0 -0
  130. /package/dist/{weather-report-SIF2QPOU.js.map → weather-report-ZYPHCFXL.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createLogger
3
- } from "./chunk-A4XTT4AG.js";
4
- import "./chunk-NL7SZQPW.js";
3
+ } from "./chunk-NDV5J3Z5.js";
4
+ import "./chunk-AXTD4TFK.js";
5
5
  import "./chunk-DHVMSIT5.js";
6
6
  import "./chunk-ZPWHCABL.js";
7
7
 
@@ -60,4 +60,4 @@ export {
60
60
  generateMcpConfig,
61
61
  getDefaultAllowedTools
62
62
  };
63
- //# sourceMappingURL=child-mcp-config-GXWEIDJH.js.map
63
+ //# sourceMappingURL=child-mcp-config-ZSVYMJTH.js.map
@@ -7,7 +7,7 @@ import {
7
7
  toolStructuredError,
8
8
  toolSuccessStructured,
9
9
  wrapToolWithTimeout
10
- } from "./chunk-RQ4JK2YE.js";
10
+ } from "./chunk-3EBDRAQW.js";
11
11
  import {
12
12
  JsonlStore,
13
13
  SECURITY_KEYWORDS,
@@ -19,7 +19,7 @@ import {
19
19
  getPipelineEventBus,
20
20
  getTimeProvider,
21
21
  isDeclaredNeverDeprecate
22
- } from "./chunk-A4XTT4AG.js";
22
+ } from "./chunk-NDV5J3Z5.js";
23
23
  import {
24
24
  getNexusDataDir,
25
25
  nexusDataPath
@@ -2132,4 +2132,4 @@ export {
2132
2132
  runImprovementReview,
2133
2133
  registerImprovementReviewTool
2134
2134
  };
2135
- //# sourceMappingURL=chunk-BSGAU3WE.js.map
2135
+ //# sourceMappingURL=chunk-2EAKVHOL.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  computeCostDetail
3
- } from "./chunk-EPRHNYCO.js";
3
+ } from "./chunk-UAK3OVSL.js";
4
4
  import {
5
5
  DEFAULT_CONSENSUS_CONFIG,
6
6
  DEFAULT_INCREMENTAL_QUORUM_CONFIG,
@@ -18,20 +18,20 @@ import {
18
18
  toolSuccess,
19
19
  withProgressHeartbeat,
20
20
  wrapToolWithTimeout
21
- } from "./chunk-RQ4JK2YE.js";
21
+ } from "./chunk-3EBDRAQW.js";
22
22
  import {
23
23
  getToolMemory
24
- } from "./chunk-BHMKXBCY.js";
24
+ } from "./chunk-S477DLWR.js";
25
25
  import {
26
26
  createEvent,
27
27
  getGlobalRegistry
28
- } from "./chunk-7F6AMBM4.js";
28
+ } from "./chunk-AM7EW7CP.js";
29
29
  import {
30
30
  authRemediation,
31
31
  delay,
32
32
  getAvailableClis,
33
33
  withTimeout
34
- } from "./chunk-YAJBZKCC.js";
34
+ } from "./chunk-JZ3DVFEW.js";
35
35
  import {
36
36
  AgentError,
37
37
  CLI_NAMES,
@@ -59,11 +59,11 @@ import {
59
59
  registerPersistentOutcomeStoreFactory,
60
60
  resolveClassGuardMs,
61
61
  resolveVoteTimeout
62
- } from "./chunk-A4XTT4AG.js";
62
+ } from "./chunk-NDV5J3Z5.js";
63
63
  import {
64
64
  ensureLearningDir,
65
65
  getOutcomesFile
66
- } from "./chunk-NL7SZQPW.js";
66
+ } from "./chunk-AXTD4TFK.js";
67
67
  import {
68
68
  getNexusDataDir,
69
69
  nexusDataPath,
@@ -5866,7 +5866,7 @@ async function processVotesWithCascade(engineVotes, opts) {
5866
5866
  var CONTRARIAN_ESCALATION_THRESHOLD = 0.8;
5867
5867
  async function runContrarianCheck(proposal, log) {
5868
5868
  try {
5869
- const { executeExpert } = await import("./expert-bridge-435SKR4I.js");
5869
+ const { executeExpert } = await import("./expert-bridge-KWUVLYXR.js");
5870
5870
  const prompt = [
5871
5871
  "You are a contrarian analyst. Your job is to find reasons this proposal should be REJECTED.",
5872
5872
  "Look for: YAGNI (not needed), MISALIGNED (wrong tech/architecture), SECURITY_RISK, SCOPE_CREEP.",
@@ -6382,4 +6382,4 @@ export {
6382
6382
  CONSENSUS_VOTE_OUTPUT_SCHEMA,
6383
6383
  registerConsensusVoteTool
6384
6384
  };
6385
- //# sourceMappingURL=chunk-ZQP2VUQN.js.map
6385
+ //# sourceMappingURL=chunk-2LR2XP3B.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  emitClawGuardViolation
3
- } from "./chunk-DY5QOBYH.js";
3
+ } from "./chunk-NG5ZAI7W.js";
4
4
  import {
5
5
  CACHE_TIMEOUTS,
6
6
  MCP_TIMEOUTS,
@@ -16,7 +16,7 @@ import {
16
16
  getTimeProvider,
17
17
  ok,
18
18
  resolveToolClassGuardMs
19
- } from "./chunk-A4XTT4AG.js";
19
+ } from "./chunk-NDV5J3Z5.js";
20
20
  import {
21
21
  getNexusDataDir
22
22
  } from "./chunk-DHVMSIT5.js";
@@ -2023,4 +2023,4 @@ export {
2023
2023
  VOTING_THRESHOLDS,
2024
2024
  ConsensusMetricsSchema
2025
2025
  };
2026
- //# sourceMappingURL=chunk-RQ4JK2YE.js.map
2026
+ //# sourceMappingURL=chunk-3EBDRAQW.js.map
@@ -2,14 +2,14 @@ import {
2
2
  CircuitBreakerRegistry,
3
3
  CircuitError,
4
4
  mapCliErrorToCategory
5
- } from "./chunk-3KCSKD7P.js";
5
+ } from "./chunk-AOXZ42SD.js";
6
6
  import {
7
7
  createLogger,
8
8
  err,
9
9
  getFallbackChainForCategory,
10
10
  getTimeProvider,
11
11
  ok
12
- } from "./chunk-A4XTT4AG.js";
12
+ } from "./chunk-NDV5J3Z5.js";
13
13
 
14
14
  // src/cli-adapters/cli-circuit-breaker.ts
15
15
  var CATEGORY_TO_FALLBACK = {
@@ -152,4 +152,4 @@ export {
152
152
  CliCircuitBreakerIntegration,
153
153
  createCliCircuitBreakerIntegration
154
154
  };
155
- //# sourceMappingURL=chunk-GMT6X3ED.js.map
155
+ //# sourceMappingURL=chunk-3JWMDESZ.js.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  resolveCliSlot
3
- } from "./chunk-FTPCUJUK.js";
3
+ } from "./chunk-LJWB4Z7O.js";
4
4
  import {
5
5
  createLogger,
6
6
  getTimeProvider,
7
7
  isRateLimitText
8
- } from "./chunk-A4XTT4AG.js";
8
+ } from "./chunk-NDV5J3Z5.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-GXWEIDJH.js");
24
+ const { generateMcpConfig } = await import("./child-mcp-config-ZSVYMJTH.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-BSELGB2U.js");
97
- const { createCompositeRouter } = await import("./composite-router-E5HK2SPX.js");
96
+ const { createAllAdapters } = await import("./factory-UF6LR6R6.js");
97
+ const { createCompositeRouter } = await import("./composite-router-F6YN34I7.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-MKP4EGJ3.js");
105
+ const { createCliCircuitBreakerIntegration } = await import("./cli-circuit-breaker-KUPKNGN2.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-VT562DIB.js.map
216
+ //# sourceMappingURL=chunk-3RDE3OZ6.js.map
@@ -4,7 +4,7 @@ import {
4
4
  getErrorMessage,
5
5
  getTimeProvider,
6
6
  ok
7
- } from "./chunk-A4XTT4AG.js";
7
+ } from "./chunk-NDV5J3Z5.js";
8
8
 
9
9
  // src/context/session-memory.ts
10
10
  import * as fs from "fs";
@@ -352,4 +352,4 @@ export {
352
352
  SessionMemory,
353
353
  createSessionMemory
354
354
  };
355
- //# sourceMappingURL=chunk-CI5F3CJL.js.map
355
+ //# sourceMappingURL=chunk-3ZXNPAUR.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  loadPapersRegistry
3
- } from "./chunk-G5KOZAHM.js";
3
+ } from "./chunk-5KFUWUMY.js";
4
4
  import {
5
5
  getErrorMessage
6
- } from "./chunk-A4XTT4AG.js";
6
+ } from "./chunk-NDV5J3Z5.js";
7
7
 
8
8
  // src/cli/research-helpers-synthesize.ts
9
9
  import { z } from "zod";
@@ -876,4 +876,4 @@ export {
876
876
  AttributedInsightSchema,
877
877
  synthesizeResearch
878
878
  };
879
- //# sourceMappingURL=chunk-ZZJIUJT4.js.map
879
+ //# sourceMappingURL=chunk-47EFSSZK.js.map
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  createLogger,
6
6
  getTimeProvider
7
- } from "./chunk-A4XTT4AG.js";
7
+ } from "./chunk-NDV5J3Z5.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-2U42PBUF.js.map
724
+ //# sourceMappingURL=chunk-563FMXWL.js.map
@@ -8,7 +8,7 @@ import {
8
8
  getErrorMessage,
9
9
  ok,
10
10
  parseBoolEnv
11
- } from "./chunk-A4XTT4AG.js";
11
+ } from "./chunk-NDV5J3Z5.js";
12
12
 
13
13
  // src/cli/research-helpers-io.ts
14
14
  import * as fs2 from "fs/promises";
@@ -146,4 +146,4 @@ export {
146
146
  loadPapersRegistry,
147
147
  savePapersRegistry
148
148
  };
149
- //# sourceMappingURL=chunk-G5KOZAHM.js.map
149
+ //# sourceMappingURL=chunk-5KFUWUMY.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  createAutoAdapter
3
- } from "./chunk-YAJBZKCC.js";
3
+ } from "./chunk-JZ3DVFEW.js";
4
4
  import {
5
5
  mapModelErrorToCategory
6
- } from "./chunk-3KCSKD7P.js";
6
+ } from "./chunk-AOXZ42SD.js";
7
7
  import {
8
8
  CLI_NAMES,
9
9
  CircularBuffer,
@@ -24,7 +24,7 @@ import {
24
24
  ok,
25
25
  recordRateLimitEvent,
26
26
  toRateLimitError
27
- } from "./chunk-A4XTT4AG.js";
27
+ } from "./chunk-NDV5J3Z5.js";
28
28
 
29
29
  // src/agents/collaboration/event-bus-helpers.ts
30
30
  import { randomUUID } from "crypto";
@@ -1041,4 +1041,4 @@ export {
1041
1041
  getGlobalRegistry,
1042
1042
  resetGlobalRegistry
1043
1043
  };
1044
- //# sourceMappingURL=chunk-7F6AMBM4.js.map
1044
+ //# sourceMappingURL=chunk-AM7EW7CP.js.map
@@ -5,7 +5,7 @@ import {
5
5
  getErrorMessage,
6
6
  getTimeProvider,
7
7
  ok
8
- } from "./chunk-A4XTT4AG.js";
8
+ } from "./chunk-NDV5J3Z5.js";
9
9
 
10
10
  // src/cli-adapters/circuit-breaker-types.ts
11
11
  var CircuitErrorCode = {
@@ -375,4 +375,4 @@ export {
375
375
  mapCliErrorToCategory,
376
376
  mapModelErrorToCategory
377
377
  };
378
- //# sourceMappingURL=chunk-3KCSKD7P.js.map
378
+ //# sourceMappingURL=chunk-AOXZ42SD.js.map
@@ -11,7 +11,7 @@ import {
11
11
  isRateLimitLikeError,
12
12
  lookupInTreeCapability,
13
13
  ok
14
- } from "./chunk-A4XTT4AG.js";
14
+ } from "./chunk-NDV5J3Z5.js";
15
15
 
16
16
  // src/config/model-parameter-support.ts
17
17
  function parseClaudeMajorMinor(bareId) {
@@ -828,4 +828,4 @@ export {
828
828
  DEFAULT_COLLECT_STREAM_MAX_CHUNKS,
829
829
  collectStream
830
830
  };
831
- //# sourceMappingURL=chunk-V5MPFOT7.js.map
831
+ //# sourceMappingURL=chunk-ARTIFRBA.js.map
@@ -23,6 +23,9 @@ function getDecisionCostFile() {
23
23
  function getMetaOutcomesFile() {
24
24
  return join(getLearningDir(), "meta-outcomes.jsonl");
25
25
  }
26
+ function getModelSelectionShadowFile() {
27
+ return join(getLearningDir(), "model-selection-shadow.jsonl");
28
+ }
26
29
  var DIR_MODE = 448;
27
30
  function isPersistenceEnabled() {
28
31
  return process.env["NEXUS_PERSIST_LEARNING"] !== "false";
@@ -38,7 +41,8 @@ export {
38
41
  getPrReviewEvalFile,
39
42
  getDecisionCostFile,
40
43
  getMetaOutcomesFile,
44
+ getModelSelectionShadowFile,
41
45
  isPersistenceEnabled,
42
46
  ensureLearningDir
43
47
  };
44
- //# sourceMappingURL=chunk-NL7SZQPW.js.map
48
+ //# sourceMappingURL=chunk-AXTD4TFK.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/config/learning-persistence.ts"],"sourcesContent":["/**\n * Shared configuration for cross-session learning persistence.\n *\n * Controls where learning data (outcomes, distilled rules) is stored\n * on disk and whether persistence is enabled via feature flag.\n *\n * @module config/learning-persistence\n * (Source: Issue #1009 — Cross-session persistence)\n */\n\nimport { mkdirSync } from 'node:fs';\nimport { join } from 'node:path';\nimport { getNexusDataDir } from './nexus-data-dir.js';\n\n// ============================================================================\n// Path resolution (#2316: must read NEXUS_DATA_DIR at call time, not import)\n// ============================================================================\n\n/**\n * Base directory for learning persistence data. Resolved at call time so\n * `NEXUS_DATA_DIR` overrides take effect — the const-at-import-time\n * pattern this replaces was the bug discovered while dogfooding v2.63.0\n * (#2316). Outcome counts on a fresh portable workspace were leaking\n * the host home directory's outcome history.\n */\nexport function getLearningDir(): string {\n return join(getNexusDataDir(), 'learning');\n}\n\n/** JSONL file for persisted task outcomes. */\nexport function getOutcomesFile(): string {\n return join(getLearningDir(), 'outcomes.jsonl');\n}\n\n/** JSON file for persisted distilled rules. */\nexport function getRulesFile(): string {\n return join(getLearningDir(), 'rules.json');\n}\n\n/**\n * JSONL file for per-voter pr_review eval verdicts (#3848).\n *\n * Stores ONLY rubric-scored per-voter TP/FP/FN tallies vs ground truth — never\n * raw diffs, prompts, or model outputs. Lets per-voter precision/recall accrue\n * across runs so a chronically-noisy-voter demotion (Epic D / ADR-0017) has\n * citable evidence.\n */\nexport function getPrReviewEvalFile(): string {\n return join(getLearningDir(), 'pr-review-eval.jsonl');\n}\n\n/**\n * JSONL file for per-decision cost rollups (#3855).\n *\n * Stores ONLY the per-decision cost summary (per-voter / per-model token + USD\n * totals) for a governed `consensus_vote` / `pr_review` run — never raw\n * proposals, diffs, prompts, or model outputs. Lets \"what did this governed\n * decision cost?\" be answered from recorded data (epic #3854; feeds Epic G's\n * weather_report + manifest cost profiles in #3856).\n */\nexport function getDecisionCostFile(): string {\n return join(getLearningDir(), 'decision-costs.jsonl');\n}\n\n/**\n * JSONL file for the MetaOrchestrator shadow selector's training outcomes\n * (#3593). Stores ONLY numeric/categorical bandit-feature values + a boolean\n * success flag — never raw task text. Lets the shadow selector learn across\n * processes by replaying past outcomes on construction.\n */\nexport function getMetaOutcomesFile(): string {\n return join(getLearningDir(), 'meta-outcomes.jsonl');\n}\n\n// Note: previous LEARNING_DIR / OUTCOMES_FILE / RULES_FILE exports were\n// removed in #2316 — they were evaluated at module import time and ignored\n// `NEXUS_DATA_DIR`. All callers must use the getter functions above.\n\n/** Directory mode: owner-only (rwx------). */\nconst DIR_MODE = 0o700;\n\n// ============================================================================\n// Helpers\n// ============================================================================\n\n/**\n * Check whether learning persistence is enabled via feature flag.\n *\n * Defaults to true — cross-session LinUCB routing data persists to\n * `~/.nexus-agents/learning/` unless explicitly disabled.\n * Only routing metadata is stored (model, success, duration, category).\n * No user prompts, API keys, or model outputs are persisted.\n *\n * Set NEXUS_PERSIST_LEARNING=false to disable.\n */\nexport function isPersistenceEnabled(): boolean {\n return process.env['NEXUS_PERSIST_LEARNING'] !== 'false';\n}\n\n/** Ensure the learning data directory exists. */\nexport function ensureLearningDir(dir?: string): void {\n mkdirSync(dir ?? getLearningDir(), { recursive: true, mode: DIR_MODE });\n}\n"],"mappings":";;;;;AAUA,SAAS,iBAAiB;AAC1B,SAAS,YAAY;AAcd,SAAS,iBAAyB;AACvC,SAAO,KAAK,gBAAgB,GAAG,UAAU;AAC3C;AAGO,SAAS,kBAA0B;AACxC,SAAO,KAAK,eAAe,GAAG,gBAAgB;AAChD;AAGO,SAAS,eAAuB;AACrC,SAAO,KAAK,eAAe,GAAG,YAAY;AAC5C;AAUO,SAAS,sBAA8B;AAC5C,SAAO,KAAK,eAAe,GAAG,sBAAsB;AACtD;AAWO,SAAS,sBAA8B;AAC5C,SAAO,KAAK,eAAe,GAAG,sBAAsB;AACtD;AAQO,SAAS,sBAA8B;AAC5C,SAAO,KAAK,eAAe,GAAG,qBAAqB;AACrD;AAOA,IAAM,WAAW;AAgBV,SAAS,uBAAgC;AAC9C,SAAO,QAAQ,IAAI,wBAAwB,MAAM;AACnD;AAGO,SAAS,kBAAkB,KAAoB;AACpD,YAAU,OAAO,eAAe,GAAG,EAAE,WAAW,MAAM,MAAM,SAAS,CAAC;AACxE;","names":[]}
1
+ {"version":3,"sources":["../src/config/learning-persistence.ts"],"sourcesContent":["/**\n * Shared configuration for cross-session learning persistence.\n *\n * Controls where learning data (outcomes, distilled rules) is stored\n * on disk and whether persistence is enabled via feature flag.\n *\n * @module config/learning-persistence\n * (Source: Issue #1009 — Cross-session persistence)\n */\n\nimport { mkdirSync } from 'node:fs';\nimport { join } from 'node:path';\nimport { getNexusDataDir } from './nexus-data-dir.js';\n\n// ============================================================================\n// Path resolution (#2316: must read NEXUS_DATA_DIR at call time, not import)\n// ============================================================================\n\n/**\n * Base directory for learning persistence data. Resolved at call time so\n * `NEXUS_DATA_DIR` overrides take effect — the const-at-import-time\n * pattern this replaces was the bug discovered while dogfooding v2.63.0\n * (#2316). Outcome counts on a fresh portable workspace were leaking\n * the host home directory's outcome history.\n */\nexport function getLearningDir(): string {\n return join(getNexusDataDir(), 'learning');\n}\n\n/** JSONL file for persisted task outcomes. */\nexport function getOutcomesFile(): string {\n return join(getLearningDir(), 'outcomes.jsonl');\n}\n\n/** JSON file for persisted distilled rules. */\nexport function getRulesFile(): string {\n return join(getLearningDir(), 'rules.json');\n}\n\n/**\n * JSONL file for per-voter pr_review eval verdicts (#3848).\n *\n * Stores ONLY rubric-scored per-voter TP/FP/FN tallies vs ground truth — never\n * raw diffs, prompts, or model outputs. Lets per-voter precision/recall accrue\n * across runs so a chronically-noisy-voter demotion (Epic D / ADR-0017) has\n * citable evidence.\n */\nexport function getPrReviewEvalFile(): string {\n return join(getLearningDir(), 'pr-review-eval.jsonl');\n}\n\n/**\n * JSONL file for per-decision cost rollups (#3855).\n *\n * Stores ONLY the per-decision cost summary (per-voter / per-model token + USD\n * totals) for a governed `consensus_vote` / `pr_review` run — never raw\n * proposals, diffs, prompts, or model outputs. Lets \"what did this governed\n * decision cost?\" be answered from recorded data (epic #3854; feeds Epic G's\n * weather_report + manifest cost profiles in #3856).\n */\nexport function getDecisionCostFile(): string {\n return join(getLearningDir(), 'decision-costs.jsonl');\n}\n\n/**\n * JSONL file for the MetaOrchestrator shadow selector's training outcomes\n * (#3593). Stores ONLY numeric/categorical bandit-feature values + a boolean\n * success flag — never raw task text. Lets the shadow selector learn across\n * processes by replaying past outcomes on construction.\n */\nexport function getMetaOutcomesFile(): string {\n return join(getLearningDir(), 'meta-outcomes.jsonl');\n}\n\n/**\n * JSONL file for route-time model-selection shadow comparisons (#4197).\n *\n * Stores ONLY the sanitized comparison — CLI slot, difficulty tier, the model\n * actually used vs the model `resolveModelForTier` WOULD have picked, agreement,\n * outcome success, and (where measured) costUsd — never task content, prompts,\n * or model outputs. A DEDICATED log (mirroring `meta-outcomes.jsonl`, #3593)\n * rather than extra OutcomeStore fields, so the shadow eval never re-reads the\n * OutcomeStore that weather + LinUCB warm-start already replay (the pre-existing\n * double-counting boundary excluded from #4194).\n */\nexport function getModelSelectionShadowFile(): string {\n return join(getLearningDir(), 'model-selection-shadow.jsonl');\n}\n\n// Note: previous LEARNING_DIR / OUTCOMES_FILE / RULES_FILE exports were\n// removed in #2316 — they were evaluated at module import time and ignored\n// `NEXUS_DATA_DIR`. All callers must use the getter functions above.\n\n/** Directory mode: owner-only (rwx------). */\nconst DIR_MODE = 0o700;\n\n// ============================================================================\n// Helpers\n// ============================================================================\n\n/**\n * Check whether learning persistence is enabled via feature flag.\n *\n * Defaults to true — cross-session LinUCB routing data persists to\n * `~/.nexus-agents/learning/` unless explicitly disabled.\n * Only routing metadata is stored (model, success, duration, category).\n * No user prompts, API keys, or model outputs are persisted.\n *\n * Set NEXUS_PERSIST_LEARNING=false to disable.\n */\nexport function isPersistenceEnabled(): boolean {\n return process.env['NEXUS_PERSIST_LEARNING'] !== 'false';\n}\n\n/** Ensure the learning data directory exists. */\nexport function ensureLearningDir(dir?: string): void {\n mkdirSync(dir ?? getLearningDir(), { recursive: true, mode: DIR_MODE });\n}\n"],"mappings":";;;;;AAUA,SAAS,iBAAiB;AAC1B,SAAS,YAAY;AAcd,SAAS,iBAAyB;AACvC,SAAO,KAAK,gBAAgB,GAAG,UAAU;AAC3C;AAGO,SAAS,kBAA0B;AACxC,SAAO,KAAK,eAAe,GAAG,gBAAgB;AAChD;AAGO,SAAS,eAAuB;AACrC,SAAO,KAAK,eAAe,GAAG,YAAY;AAC5C;AAUO,SAAS,sBAA8B;AAC5C,SAAO,KAAK,eAAe,GAAG,sBAAsB;AACtD;AAWO,SAAS,sBAA8B;AAC5C,SAAO,KAAK,eAAe,GAAG,sBAAsB;AACtD;AAQO,SAAS,sBAA8B;AAC5C,SAAO,KAAK,eAAe,GAAG,qBAAqB;AACrD;AAaO,SAAS,8BAAsC;AACpD,SAAO,KAAK,eAAe,GAAG,8BAA8B;AAC9D;AAOA,IAAM,WAAW;AAgBV,SAAS,uBAAgC;AAC9C,SAAO,QAAQ,IAAI,wBAAwB,MAAM;AACnD;AAGO,SAAS,kBAAkB,KAAoB;AACpD,YAAU,OAAO,eAAe,GAAG,EAAE,WAAW,MAAM,MAAM,SAAS,CAAC;AACxE;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  generateSecurityPlan
3
- } from "./chunk-2U42PBUF.js";
3
+ } from "./chunk-563FMXWL.js";
4
4
  import {
5
5
  analyzeGitHubRepo
6
6
  } from "./chunk-HFOQKCD2.js";
@@ -18,10 +18,10 @@ import {
18
18
  DEFAULT_TASK_TTL_MS,
19
19
  DEFAULT_TOOL_RATE_LIMITS,
20
20
  clampTaskTtl
21
- } from "./chunk-DQQTKATY.js";
21
+ } from "./chunk-OEOBPWBH.js";
22
22
  import {
23
23
  executeExpert
24
- } from "./chunk-VT562DIB.js";
24
+ } from "./chunk-3RDE3OZ6.js";
25
25
  import {
26
26
  JobStatusSchema,
27
27
  abortJob,
@@ -42,21 +42,21 @@ import {
42
42
  simulationDeniedResult,
43
43
  toJobSummary,
44
44
  writeJobCancelled
45
- } from "./chunk-ZQP2VUQN.js";
45
+ } from "./chunk-2LR2XP3B.js";
46
46
  import {
47
47
  normalizeTopicToCanonical,
48
48
  synthesizeResearch
49
- } from "./chunk-ZZJIUJT4.js";
49
+ } from "./chunk-47EFSSZK.js";
50
50
  import {
51
51
  IssueTriage
52
- } from "./chunk-YRGEW5HH.js";
52
+ } from "./chunk-D2NBIVAV.js";
53
53
  import {
54
54
  resolveEnvMode,
55
55
  sanitizeInput
56
- } from "./chunk-YXSRBCA2.js";
56
+ } from "./chunk-PRU452SV.js";
57
57
  import {
58
58
  withPrerequisite
59
- } from "./chunk-BSGAU3WE.js";
59
+ } from "./chunk-2EAKVHOL.js";
60
60
  import {
61
61
  NOOP_NOTIFIER,
62
62
  RateLimiter,
@@ -79,12 +79,12 @@ import {
79
79
  withAuditTrail,
80
80
  withProgressHeartbeat,
81
81
  wrapToolWithTimeout
82
- } from "./chunk-RQ4JK2YE.js";
82
+ } from "./chunk-3EBDRAQW.js";
83
83
  import {
84
84
  createAuditTrail,
85
85
  createGraphAuditBridge,
86
86
  emitPipelinePolicyEvent
87
- } from "./chunk-DY5QOBYH.js";
87
+ } from "./chunk-NG5ZAI7W.js";
88
88
  import {
89
89
  addResearchPaper,
90
90
  addSourceToRegistry,
@@ -112,15 +112,15 @@ import {
112
112
  parseRegistry,
113
113
  sourceExistsInRegistry,
114
114
  summarizeContextForPrompt
115
- } from "./chunk-OFZYDOF3.js";
115
+ } from "./chunk-U5E2JJ4F.js";
116
116
  import {
117
117
  getTokenEnvVars,
118
118
  resolveToken
119
- } from "./chunk-Z6ORP7BL.js";
119
+ } from "./chunk-P4J6I5ZI.js";
120
120
  import {
121
121
  loadPapersRegistry,
122
122
  loadTechniquesRegistry
123
- } from "./chunk-G5KOZAHM.js";
123
+ } from "./chunk-5KFUWUMY.js";
124
124
  import {
125
125
  resolveInsideRoot
126
126
  } from "./chunk-NUBSJGQZ.js";
@@ -129,14 +129,14 @@ import {
129
129
  MemoryImportance,
130
130
  calculateTextJaccardSimilarity,
131
131
  getToolMemory
132
- } from "./chunk-BHMKXBCY.js";
132
+ } from "./chunk-S477DLWR.js";
133
133
  import {
134
134
  STOPWORDS,
135
135
  truncateWithInfo
136
136
  } from "./chunk-6T3EPABN.js";
137
137
  import {
138
138
  createSessionMemory
139
- } from "./chunk-CI5F3CJL.js";
139
+ } from "./chunk-3ZXNPAUR.js";
140
140
  import {
141
141
  BUILT_IN_EXPERTS,
142
142
  BuiltInExpertTypeSchema,
@@ -151,7 +151,7 @@ import {
151
151
  createEvent,
152
152
  getGlobalEventBus,
153
153
  getGlobalRegistry
154
- } from "./chunk-7F6AMBM4.js";
154
+ } from "./chunk-AM7EW7CP.js";
155
155
  import {
156
156
  CliDetectionCache,
157
157
  asRecord,
@@ -159,19 +159,19 @@ import {
159
159
  getAvailableClis,
160
160
  sleep,
161
161
  withTimeout
162
- } from "./chunk-YAJBZKCC.js";
162
+ } from "./chunk-JZ3DVFEW.js";
163
163
  import {
164
164
  DEFAULTS
165
- } from "./chunk-RKLKUNRA.js";
165
+ } from "./chunk-WRZ7HENW.js";
166
166
  import {
167
167
  getAvailabilityCache,
168
168
  getCliForModelId,
169
169
  resolveFallback
170
- } from "./chunk-FTPCUJUK.js";
170
+ } from "./chunk-LJWB4Z7O.js";
171
171
  import {
172
172
  generateHyphenId,
173
173
  generateUUID
174
- } from "./chunk-VBL7BVUP.js";
174
+ } from "./chunk-ENKFWBRH.js";
175
175
  import {
176
176
  AGENT_ROUTER_TIMEOUTS,
177
177
  API_TIMEOUTS,
@@ -263,12 +263,12 @@ import {
263
263
  selectStrategyByManifest,
264
264
  toExpertTaskAnalysisResult,
265
265
  withStep
266
- } from "./chunk-A4XTT4AG.js";
266
+ } from "./chunk-NDV5J3Z5.js";
267
267
  import {
268
268
  ensureLearningDir,
269
269
  getMetaOutcomesFile,
270
270
  isPersistenceEnabled
271
- } from "./chunk-NL7SZQPW.js";
271
+ } from "./chunk-AXTD4TFK.js";
272
272
  import {
273
273
  findRepoRoot,
274
274
  nexusDataPath,
@@ -26298,7 +26298,7 @@ function execIdFields(executionId) {
26298
26298
  async function populateUnifiedContextOnState(state, options) {
26299
26299
  const taskCandidate = state["task"];
26300
26300
  if (typeof taskCandidate !== "string" || taskCandidate === "") return;
26301
- const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-ZQXEWMHS.js");
26301
+ const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-W6Z6JNEF.js");
26302
26302
  const category = inferTaskCategory2(taskCandidate);
26303
26303
  const executionId = options?.executionId;
26304
26304
  const execFields = execIdFields(executionId);
@@ -41580,7 +41580,7 @@ async function tryIssueTriage(task) {
41580
41580
  try {
41581
41581
  const issueMatch = task.match(/github\.com\/([^/]+\/[^/]+)\/issues\/(\d+)/);
41582
41582
  if (issueMatch === null) return null;
41583
- const { createIssueTriage } = await import("./issue-triage-ZAL27WBT.js");
41583
+ const { createIssueTriage } = await import("./issue-triage-OHJZLCEG.js");
41584
41584
  const triage = createIssueTriage();
41585
41585
  const owner = issueMatch[1] ?? "";
41586
41586
  const num = issueMatch[2] ?? "";
@@ -41608,7 +41608,7 @@ var VALID_TEMPLATES = /* @__PURE__ */ new Set([
41608
41608
  ]);
41609
41609
  async function classifyWithLLM(task) {
41610
41610
  try {
41611
- const { executeExpert: executeExpert2 } = await import("./expert-bridge-435SKR4I.js");
41611
+ const { executeExpert: executeExpert2 } = await import("./expert-bridge-KWUVLYXR.js");
41612
41612
  const prompt = [
41613
41613
  "Classify this task into exactly one pipeline template.",
41614
41614
  "Templates: dev (implementation/bug fix/refactor), research (investigate/evaluate/compare),",
@@ -43249,8 +43249,8 @@ var memoryInitPromise = null;
43249
43249
  async function initPipelineMemory() {
43250
43250
  if (cachedMemory !== null) return cachedMemory;
43251
43251
  try {
43252
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-ZWRYRPK2.js");
43253
- const { getLearningDir } = await import("./learning-persistence-M3OTCCNI.js");
43252
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-HQ5KPXQG.js");
43253
+ const { getLearningDir } = await import("./learning-persistence-6D5GGT7D.js");
43254
43254
  const mem = createSessionMemory2(getLearningDir());
43255
43255
  mem.startSession(`pipeline-${String(getTimeProvider().now())}`);
43256
43256
  cachedMemory = {
@@ -43311,7 +43311,7 @@ function recordRoutingExperience(category, success, durationMs, tokensUsed = 0,
43311
43311
  callRecord(routingMemoryCache);
43312
43312
  return;
43313
43313
  }
43314
- routingMemoryInitPromise ??= import("./routing-memory-FD77RBPF.js").then(({ createRoutingMemory }) => {
43314
+ routingMemoryInitPromise ??= import("./routing-memory-KDVKLC75.js").then(({ createRoutingMemory }) => {
43315
43315
  routingMemoryCache ??= createRoutingMemory();
43316
43316
  return routingMemoryCache;
43317
43317
  }).catch((error) => {
@@ -43345,7 +43345,7 @@ ${text}` : "";
43345
43345
  }
43346
43346
  async function getWeatherContext() {
43347
43347
  try {
43348
- const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-SIF2QPOU.js");
43348
+ const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-ZYPHCFXL.js");
43349
43349
  const report = generateWeatherReport2({ includeAdaptive: true });
43350
43350
  const mappings = "recommendedMappings" in report ? report.recommendedMappings : [];
43351
43351
  if (!Array.isArray(mappings) || mappings.length === 0) return "";
@@ -43363,8 +43363,8 @@ ${lines}
43363
43363
  }
43364
43364
  async function getMemoryContext(task) {
43365
43365
  try {
43366
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-ZWRYRPK2.js");
43367
- const { getLearningDir } = await import("./learning-persistence-M3OTCCNI.js");
43366
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-HQ5KPXQG.js");
43367
+ const { getLearningDir } = await import("./learning-persistence-6D5GGT7D.js");
43368
43368
  const memory = createSessionMemory2(getLearningDir(), { maxLearningsInContext: 10 });
43369
43369
  const learnings = memory.searchLearnings(task.slice(0, 200));
43370
43370
  if (learnings.length === 0) return "";
@@ -43478,7 +43478,7 @@ ${contextBlock}`;
43478
43478
  const strategy = config.votingStrategy ?? "higher_order";
43479
43479
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
43480
43480
  try {
43481
- const { executeVoting } = await import("./consensus-vote-53LNVJQX.js");
43481
+ const { executeVoting } = await import("./consensus-vote-N4HVJT7S.js");
43482
43482
  const votingResult = await executeVoting(
43483
43483
  {
43484
43484
  proposal: buildVoteProposal(plan, research),
@@ -43919,7 +43919,7 @@ async function searchCodebaseForTask(task) {
43919
43919
  }
43920
43920
  async function queryResearchRegistry(task) {
43921
43921
  try {
43922
- const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-BIEZJYKV.js");
43922
+ const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-GBT6QZIP.js");
43923
43923
  const topic = task.split(/[.!?\n]/).filter((s) => s.trim().length > 10)[0]?.trim();
43924
43924
  if (topic === void 0) return null;
43925
43925
  const result = await synthesizeResearch2(topic.slice(0, 50));
@@ -43990,7 +43990,7 @@ function createScanStageWrapper() {
43990
43990
  try {
43991
43991
  const slug = ctx.task.match(/([a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+)/)?.[1];
43992
43992
  if (slug !== void 0) {
43993
- const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-LOYQKXWA.js");
43993
+ const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-K4IYY3OY.js");
43994
43994
  const plan = await generateSecurityPlan2({ repo: slug, maxScanners: 10 });
43995
43995
  const recs = plan.recommendations.slice(0, 5).map((r) => `${r.priority}: ${r.displayName} (${r.category})`).join("; ");
43996
43996
  return output(PIPELINE_STATE_KEYS.FINDINGS, recs, getTimeProvider().now() - start, true);
@@ -46950,7 +46950,7 @@ var GitHubTaskTracker = class {
46950
46950
  cachedProvider = null;
46951
46951
  async getProvider() {
46952
46952
  if (this.cachedProvider !== null) return this.cachedProvider;
46953
- const { createScmProvider } = await import("./factory-PV4YEJXD.js");
46953
+ const { createScmProvider } = await import("./factory-5TRDV3CD.js");
46954
46954
  const result = await createScmProvider({ repo: this.config.repo ?? "" });
46955
46955
  if (!result.ok) throw new Error(`SCM provider error: ${result.error.message}`);
46956
46956
  this.cachedProvider = result.value;
@@ -47757,7 +47757,7 @@ async function probeSource(source, includeModelIds) {
47757
47757
  }
47758
47758
  }
47759
47759
  async function defaultSources(includeOpenRouter) {
47760
- const { createAllAdapters: createAllAdapters2 } = await import("./factory-BSELGB2U.js");
47760
+ const { createAllAdapters: createAllAdapters2 } = await import("./factory-UF6LR6R6.js");
47761
47761
  const adapters = createAllAdapters2();
47762
47762
  return buildDefaultModelSources(adapters, { includeOpenRouter });
47763
47763
  }
@@ -51826,4 +51826,4 @@ export {
51826
51826
  shutdownFeedbackSubscriber,
51827
51827
  createEventBusBridge
51828
51828
  };
51829
- //# sourceMappingURL=chunk-EKGN6UIH.js.map
51829
+ //# sourceMappingURL=chunk-B3FX6E7M.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runConfigInitSync
3
- } from "./chunk-L6PB3464.js";
3
+ } from "./chunk-HDLWUFKI.js";
4
4
  import {
5
5
  VERSION,
6
6
  checkApiKeys,
@@ -8,13 +8,13 @@ import {
8
8
  checkSqlite,
9
9
  defaultConfig,
10
10
  initDataDirectories
11
- } from "./chunk-DQQTKATY.js";
11
+ } from "./chunk-OEOBPWBH.js";
12
12
  import {
13
13
  BUILT_IN_EXPERTS
14
14
  } from "./chunk-ZM4O442V.js";
15
15
  import {
16
16
  probeAllClis
17
- } from "./chunk-YAJBZKCC.js";
17
+ } from "./chunk-JZ3DVFEW.js";
18
18
  import {
19
19
  CLI_SUBPROCESS_TIMEOUTS,
20
20
  colors,
@@ -25,7 +25,7 @@ import {
25
25
  getErrorMessage,
26
26
  getTimeProvider,
27
27
  symbols
28
- } from "./chunk-A4XTT4AG.js";
28
+ } from "./chunk-NDV5J3Z5.js";
29
29
  import {
30
30
  ensureGitignored,
31
31
  findRepoRoot
@@ -2001,4 +2001,4 @@ export {
2001
2001
  setupCommand,
2002
2002
  setupCommandAsync
2003
2003
  };
2004
- //# sourceMappingURL=chunk-MYIJLJQ7.js.map
2004
+ //# sourceMappingURL=chunk-CNGZ5N4W.js.map