nexus-agents 2.115.1 → 2.117.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 (112) hide show
  1. package/dist/{child-mcp-config-FIXBPOVD.js → child-mcp-config-XSVFK3FL.js} +2 -2
  2. package/dist/{chunk-TBVXG63Q.js → chunk-2EEC45RJ.js} +3 -3
  3. package/dist/{chunk-5DOIZUPE.js → chunk-2WISJ7ZA.js} +2 -2
  4. package/dist/{chunk-6DHDXNOO.js → chunk-574PH6QX.js} +7 -7
  5. package/dist/{chunk-ILGRBYX6.js → chunk-5JWZWQS4.js} +2 -2
  6. package/dist/{chunk-7VD5UJCF.js → chunk-5KGOKGHC.js} +7 -7
  7. package/dist/{chunk-24L6ETFP.js → chunk-6Y5MRWJF.js} +3 -3
  8. package/dist/{chunk-E4K4PLSJ.js → chunk-CGKONOF2.js} +2 -2
  9. package/dist/{chunk-NF6ZY2XT.js → chunk-DEOQPYW4.js} +2 -2
  10. package/dist/{chunk-KHGBV3ZL.js → chunk-E34YOFTW.js} +69 -37
  11. package/dist/{chunk-KHGBV3ZL.js.map → chunk-E34YOFTW.js.map} +1 -1
  12. package/dist/{chunk-CVGJKTO4.js → chunk-EMBNRWYQ.js} +3 -3
  13. package/dist/{chunk-WBE5HPPW.js → chunk-ESGADHVN.js} +7 -7
  14. package/dist/{chunk-LFX7W2QN.js → chunk-H7J5SQ42.js} +2 -2
  15. package/dist/{chunk-PKKV2ZAT.js → chunk-HHYGTGWI.js} +2 -2
  16. package/dist/{chunk-2JXELXS3.js → chunk-HOEXJHAM.js} +2 -2
  17. package/dist/{chunk-NEBMJARV.js → chunk-INSR4OES.js} +4 -4
  18. package/dist/{chunk-XKK55K2H.js → chunk-KLQALBIU.js} +2 -2
  19. package/dist/{chunk-EQLXZKMD.js → chunk-KVVV2WR6.js} +2 -2
  20. package/dist/{chunk-NGE7HWKP.js → chunk-LFRFOMSY.js} +3 -3
  21. package/dist/{chunk-AXKGNVHM.js → chunk-LVKYXDCF.js} +2 -2
  22. package/dist/{chunk-GHMFOI3H.js → chunk-LYAF5UZ7.js} +2 -2
  23. package/dist/{chunk-KEZZWT4W.js → chunk-NCN76D4U.js} +3 -3
  24. package/dist/{chunk-QTMZCTB6.js → chunk-O72WIQDK.js} +2 -2
  25. package/dist/{chunk-KP77F65U.js → chunk-OFJIT7C5.js} +4 -4
  26. package/dist/{chunk-SJZZQCZE.js → chunk-QBSSQENN.js} +5 -5
  27. package/dist/{chunk-OGJ6Z6T5.js → chunk-RABYDES4.js} +2 -2
  28. package/dist/{chunk-5JWBFZEO.js → chunk-SCGPKBGN.js} +3 -3
  29. package/dist/{chunk-Z7OI5YXE.js → chunk-SFRHSC37.js} +2 -2
  30. package/dist/{chunk-NWMWL6MD.js → chunk-SO6A3PCX.js} +2 -2
  31. package/dist/{chunk-NZHV7GEK.js → chunk-UK7TXSMJ.js} +7 -7
  32. package/dist/{chunk-2XEX5PM4.js → chunk-WXBLFLC3.js} +4 -4
  33. package/dist/{chunk-Y2QMFZQG.js → chunk-XZV6565Y.js} +20 -6
  34. package/dist/{chunk-Y2QMFZQG.js.map → chunk-XZV6565Y.js.map} +1 -1
  35. package/dist/{cli-circuit-breaker-PIBTMQZS.js → cli-circuit-breaker-KJGFBOOQ.js} +4 -4
  36. package/dist/cli.js +38 -38
  37. package/dist/{composite-router-MDQ6V7DS.js → composite-router-QN3PTQOT.js} +2 -2
  38. package/dist/{consensus-vote-T576X4MI.js → consensus-vote-GDDLW4LT.js} +12 -12
  39. package/dist/{context-retriever-7SVNDBAF.js → context-retriever-SZVZSFLK.js} +10 -8
  40. package/dist/{doctor-deep-EFTG4336.js → doctor-deep-D24CDSPS.js} +3 -3
  41. package/dist/{expert-bridge-66RX5OL4.js → expert-bridge-KYGBOFSM.js} +4 -4
  42. package/dist/factory-JBAJJ5VC.js +21 -0
  43. package/dist/{factory-UE3K5WPQ.js → factory-VS775SS2.js} +5 -5
  44. package/dist/{improvement-review-5HVBJSXJ.js → improvement-review-EHX2VPII.js} +4 -4
  45. package/dist/index.js +27 -27
  46. package/dist/{init-opencode-VUPL5LMH.js → init-opencode-FWSDPPNA.js} +5 -5
  47. package/dist/{issue-triage-TNIWVBLP.js → issue-triage-2BSWLTIF.js} +5 -5
  48. package/dist/{pr-reviewer-helpers-BXNWNYRF.js → pr-reviewer-helpers-L7AX6TJH.js} +4 -4
  49. package/dist/{registry-command-CKZUUPO7.js → registry-command-MRDSZDP5.js} +2 -2
  50. package/dist/{repo-security-plan-FASDE3WF.js → repo-security-plan-2ALBLESV.js} +3 -3
  51. package/dist/{research-helpers-synthesize-53UJEEYZ.js → research-helpers-synthesize-5YGUR5DR.js} +4 -4
  52. package/dist/{routing-memory-XB6HE6ZY.js → routing-memory-B3OW277N.js} +2 -2
  53. package/dist/{session-memory-YSSKNSAI.js → session-memory-C7NUVBEY.js} +3 -3
  54. package/dist/{setup-command-BVMZQHKM.js → setup-command-VP55YH25.js} +11 -11
  55. package/dist/{setup-config-MPHZ4MWR.js → setup-config-73VCEGC7.js} +3 -3
  56. package/dist/{setup-custom-api-OTD7KVPR.js → setup-custom-api-AYWRJ7CT.js} +3 -3
  57. package/dist/{tool-memory-UWRRPM7C.js → tool-memory-HLLXFBXV.js} +5 -5
  58. package/dist/{weather-report-6ARKPGO7.js → weather-report-CEGAAPAQ.js} +2 -2
  59. package/package.json +1 -1
  60. package/dist/factory-HRG64OID.js +0 -21
  61. /package/dist/{child-mcp-config-FIXBPOVD.js.map → child-mcp-config-XSVFK3FL.js.map} +0 -0
  62. /package/dist/{chunk-TBVXG63Q.js.map → chunk-2EEC45RJ.js.map} +0 -0
  63. /package/dist/{chunk-5DOIZUPE.js.map → chunk-2WISJ7ZA.js.map} +0 -0
  64. /package/dist/{chunk-6DHDXNOO.js.map → chunk-574PH6QX.js.map} +0 -0
  65. /package/dist/{chunk-ILGRBYX6.js.map → chunk-5JWZWQS4.js.map} +0 -0
  66. /package/dist/{chunk-7VD5UJCF.js.map → chunk-5KGOKGHC.js.map} +0 -0
  67. /package/dist/{chunk-24L6ETFP.js.map → chunk-6Y5MRWJF.js.map} +0 -0
  68. /package/dist/{chunk-E4K4PLSJ.js.map → chunk-CGKONOF2.js.map} +0 -0
  69. /package/dist/{chunk-NF6ZY2XT.js.map → chunk-DEOQPYW4.js.map} +0 -0
  70. /package/dist/{chunk-CVGJKTO4.js.map → chunk-EMBNRWYQ.js.map} +0 -0
  71. /package/dist/{chunk-WBE5HPPW.js.map → chunk-ESGADHVN.js.map} +0 -0
  72. /package/dist/{chunk-LFX7W2QN.js.map → chunk-H7J5SQ42.js.map} +0 -0
  73. /package/dist/{chunk-PKKV2ZAT.js.map → chunk-HHYGTGWI.js.map} +0 -0
  74. /package/dist/{chunk-2JXELXS3.js.map → chunk-HOEXJHAM.js.map} +0 -0
  75. /package/dist/{chunk-NEBMJARV.js.map → chunk-INSR4OES.js.map} +0 -0
  76. /package/dist/{chunk-XKK55K2H.js.map → chunk-KLQALBIU.js.map} +0 -0
  77. /package/dist/{chunk-EQLXZKMD.js.map → chunk-KVVV2WR6.js.map} +0 -0
  78. /package/dist/{chunk-NGE7HWKP.js.map → chunk-LFRFOMSY.js.map} +0 -0
  79. /package/dist/{chunk-AXKGNVHM.js.map → chunk-LVKYXDCF.js.map} +0 -0
  80. /package/dist/{chunk-GHMFOI3H.js.map → chunk-LYAF5UZ7.js.map} +0 -0
  81. /package/dist/{chunk-KEZZWT4W.js.map → chunk-NCN76D4U.js.map} +0 -0
  82. /package/dist/{chunk-QTMZCTB6.js.map → chunk-O72WIQDK.js.map} +0 -0
  83. /package/dist/{chunk-KP77F65U.js.map → chunk-OFJIT7C5.js.map} +0 -0
  84. /package/dist/{chunk-SJZZQCZE.js.map → chunk-QBSSQENN.js.map} +0 -0
  85. /package/dist/{chunk-OGJ6Z6T5.js.map → chunk-RABYDES4.js.map} +0 -0
  86. /package/dist/{chunk-5JWBFZEO.js.map → chunk-SCGPKBGN.js.map} +0 -0
  87. /package/dist/{chunk-Z7OI5YXE.js.map → chunk-SFRHSC37.js.map} +0 -0
  88. /package/dist/{chunk-NWMWL6MD.js.map → chunk-SO6A3PCX.js.map} +0 -0
  89. /package/dist/{chunk-NZHV7GEK.js.map → chunk-UK7TXSMJ.js.map} +0 -0
  90. /package/dist/{chunk-2XEX5PM4.js.map → chunk-WXBLFLC3.js.map} +0 -0
  91. /package/dist/{cli-circuit-breaker-PIBTMQZS.js.map → cli-circuit-breaker-KJGFBOOQ.js.map} +0 -0
  92. /package/dist/{composite-router-MDQ6V7DS.js.map → composite-router-QN3PTQOT.js.map} +0 -0
  93. /package/dist/{consensus-vote-T576X4MI.js.map → consensus-vote-GDDLW4LT.js.map} +0 -0
  94. /package/dist/{context-retriever-7SVNDBAF.js.map → context-retriever-SZVZSFLK.js.map} +0 -0
  95. /package/dist/{doctor-deep-EFTG4336.js.map → doctor-deep-D24CDSPS.js.map} +0 -0
  96. /package/dist/{expert-bridge-66RX5OL4.js.map → expert-bridge-KYGBOFSM.js.map} +0 -0
  97. /package/dist/{factory-HRG64OID.js.map → factory-JBAJJ5VC.js.map} +0 -0
  98. /package/dist/{factory-UE3K5WPQ.js.map → factory-VS775SS2.js.map} +0 -0
  99. /package/dist/{improvement-review-5HVBJSXJ.js.map → improvement-review-EHX2VPII.js.map} +0 -0
  100. /package/dist/{init-opencode-VUPL5LMH.js.map → init-opencode-FWSDPPNA.js.map} +0 -0
  101. /package/dist/{issue-triage-TNIWVBLP.js.map → issue-triage-2BSWLTIF.js.map} +0 -0
  102. /package/dist/{pr-reviewer-helpers-BXNWNYRF.js.map → pr-reviewer-helpers-L7AX6TJH.js.map} +0 -0
  103. /package/dist/{registry-command-CKZUUPO7.js.map → registry-command-MRDSZDP5.js.map} +0 -0
  104. /package/dist/{repo-security-plan-FASDE3WF.js.map → repo-security-plan-2ALBLESV.js.map} +0 -0
  105. /package/dist/{research-helpers-synthesize-53UJEEYZ.js.map → research-helpers-synthesize-5YGUR5DR.js.map} +0 -0
  106. /package/dist/{routing-memory-XB6HE6ZY.js.map → routing-memory-B3OW277N.js.map} +0 -0
  107. /package/dist/{session-memory-YSSKNSAI.js.map → session-memory-C7NUVBEY.js.map} +0 -0
  108. /package/dist/{setup-command-BVMZQHKM.js.map → setup-command-VP55YH25.js.map} +0 -0
  109. /package/dist/{setup-config-MPHZ4MWR.js.map → setup-config-73VCEGC7.js.map} +0 -0
  110. /package/dist/{setup-custom-api-OTD7KVPR.js.map → setup-custom-api-AYWRJ7CT.js.map} +0 -0
  111. /package/dist/{tool-memory-UWRRPM7C.js.map → tool-memory-HLLXFBXV.js.map} +0 -0
  112. /package/dist/{weather-report-6ARKPGO7.js.map → weather-report-CEGAAPAQ.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createLogger
3
- } from "./chunk-E4K4PLSJ.js";
3
+ } from "./chunk-CGKONOF2.js";
4
4
  import "./chunk-CH7QIDHQ.js";
5
5
  import "./chunk-PR4QN5HX.js";
6
6
 
@@ -59,4 +59,4 @@ export {
59
59
  generateMcpConfig,
60
60
  getDefaultAllowedTools
61
61
  };
62
- //# sourceMappingURL=child-mcp-config-FIXBPOVD.js.map
62
+ //# sourceMappingURL=child-mcp-config-XSVFK3FL.js.map
@@ -3,14 +3,14 @@ import {
3
3
  createStream,
4
4
  requireApiKey,
5
5
  validateApiKeyPresence
6
- } from "./chunk-GHMFOI3H.js";
6
+ } from "./chunk-LYAF5UZ7.js";
7
7
  import {
8
8
  ModelCapability,
9
9
  err,
10
10
  getCliModelName,
11
11
  getTokenEstimator,
12
12
  ok
13
- } from "./chunk-E4K4PLSJ.js";
13
+ } from "./chunk-CGKONOF2.js";
14
14
 
15
15
  // src/adapters/openai-types.ts
16
16
  var OPENAI_MODELS = {
@@ -553,4 +553,4 @@ export {
553
553
  OpenAIAdapter,
554
554
  createOpenAIAdapter
555
555
  };
556
- //# sourceMappingURL=chunk-TBVXG63Q.js.map
556
+ //# sourceMappingURL=chunk-2EEC45RJ.js.map
@@ -8,7 +8,7 @@ import {
8
8
  getErrorMessage,
9
9
  ok,
10
10
  parseBoolEnv
11
- } from "./chunk-E4K4PLSJ.js";
11
+ } from "./chunk-CGKONOF2.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-5DOIZUPE.js.map
149
+ //# sourceMappingURL=chunk-2WISJ7ZA.js.map
@@ -7,10 +7,10 @@ import {
7
7
  import {
8
8
  createAllAdapters,
9
9
  probeCli
10
- } from "./chunk-7VD5UJCF.js";
10
+ } from "./chunk-5KGOKGHC.js";
11
11
  import {
12
12
  DEFAULTS
13
- } from "./chunk-NWMWL6MD.js";
13
+ } from "./chunk-SO6A3PCX.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-E4K4PLSJ.js";
29
+ } from "./chunk-CGKONOF2.js";
30
30
  import {
31
31
  detectSandbox,
32
32
  getLearningDir,
@@ -40,7 +40,7 @@ import {
40
40
  } from "./chunk-CH7QIDHQ.js";
41
41
 
42
42
  // src/version.ts
43
- var VERSION = true ? "2.115.1" : "dev";
43
+ var VERSION = true ? "2.117.0" : "dev";
44
44
 
45
45
  // src/config/schemas-core.ts
46
46
  import { z } from "zod";
@@ -2099,7 +2099,7 @@ async function runDoctorFix(result) {
2099
2099
  writeLine2("\u2500".repeat(40));
2100
2100
  let fixCount = 0;
2101
2101
  if (!result.dataDirectory.rootExists || result.dataDirectory.subdirectories.some((d) => !d.exists || !d.writable)) {
2102
- const { runSetup } = await import("./setup-command-BVMZQHKM.js");
2102
+ const { runSetup } = await import("./setup-command-VP55YH25.js");
2103
2103
  const setupResult = runSetup({
2104
2104
  skipMcp: true,
2105
2105
  skipRules: true,
@@ -2113,7 +2113,7 @@ async function runDoctorFix(result) {
2113
2113
  }
2114
2114
  }
2115
2115
  if (!result.configFile.found) {
2116
- const { runConfigInitSync } = await import("./setup-config-MPHZ4MWR.js");
2116
+ const { runConfigInitSync } = await import("./setup-config-73VCEGC7.js");
2117
2117
  const configResult = runConfigInitSync(process.cwd(), false, false);
2118
2118
  if (configResult.success && configResult.created) {
2119
2119
  writeLine2(`\u2713 Generated config: ${configResult.path}`);
@@ -2211,4 +2211,4 @@ export {
2211
2211
  startStdioServer,
2212
2212
  closeServer
2213
2213
  };
2214
- //# sourceMappingURL=chunk-6DHDXNOO.js.map
2214
+ //# sourceMappingURL=chunk-574PH6QX.js.map
@@ -3,7 +3,7 @@ import {
3
3
  MODEL_IDS,
4
4
  getTimeProvider,
5
5
  resolveModelIdentitySync
6
- } from "./chunk-E4K4PLSJ.js";
6
+ } from "./chunk-CGKONOF2.js";
7
7
 
8
8
  // src/config/model-availability.ts
9
9
  var DEFAULT_TTL_MS = 6e4;
@@ -150,4 +150,4 @@ export {
150
150
  resetAvailabilityCache,
151
151
  filterAvailableModels
152
152
  };
153
- //# sourceMappingURL=chunk-ILGRBYX6.js.map
153
+ //# sourceMappingURL=chunk-5JWZWQS4.js.map
@@ -4,24 +4,24 @@ import {
4
4
  createStream,
5
5
  requireApiKey,
6
6
  validateApiKeyPresence
7
- } from "./chunk-GHMFOI3H.js";
7
+ } from "./chunk-LYAF5UZ7.js";
8
8
  import {
9
9
  CUSTOM_API_BASE_URL_ENV,
10
10
  CUSTOM_API_DEFAULT_MODEL,
11
11
  PROVIDER_ENV_KEYS,
12
12
  assertCustomApiHostResolvesPublic,
13
13
  validateCustomApiBaseUrl
14
- } from "./chunk-NWMWL6MD.js";
14
+ } from "./chunk-SO6A3PCX.js";
15
15
  import {
16
16
  CliCircuitBreaker,
17
17
  DEFAULT_CIRCUIT_BREAKER_CONFIG
18
- } from "./chunk-LFX7W2QN.js";
18
+ } from "./chunk-H7J5SQ42.js";
19
19
  import {
20
20
  getAvailabilityCache
21
- } from "./chunk-ILGRBYX6.js";
21
+ } from "./chunk-5JWZWQS4.js";
22
22
  import {
23
23
  generateHyphenId
24
- } from "./chunk-2JXELXS3.js";
24
+ } from "./chunk-HOEXJHAM.js";
25
25
  import {
26
26
  CLI_SUBPROCESS_TIMEOUTS,
27
27
  CLI_TIMEOUTS,
@@ -55,7 +55,7 @@ import {
55
55
  loadModelsDevSnapshot,
56
56
  ok,
57
57
  resolveCliAlias
58
- } from "./chunk-E4K4PLSJ.js";
58
+ } from "./chunk-CGKONOF2.js";
59
59
 
60
60
  // src/cli-adapters/cli-to-model-adapter.ts
61
61
  var CliToModelAdapter = class {
@@ -4793,4 +4793,4 @@ export {
4793
4793
  SdkAdapter,
4794
4794
  createAutoAdapter
4795
4795
  };
4796
- //# sourceMappingURL=chunk-7VD5UJCF.js.map
4796
+ //# sourceMappingURL=chunk-5KGOKGHC.js.map
@@ -2,14 +2,14 @@ import {
2
2
  CircuitBreakerRegistry,
3
3
  CircuitError,
4
4
  mapCliErrorToCategory
5
- } from "./chunk-LFX7W2QN.js";
5
+ } from "./chunk-H7J5SQ42.js";
6
6
  import {
7
7
  createLogger,
8
8
  err,
9
9
  getFallbackChainForCategory,
10
10
  getTimeProvider,
11
11
  ok
12
- } from "./chunk-E4K4PLSJ.js";
12
+ } from "./chunk-CGKONOF2.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-24L6ETFP.js.map
155
+ //# sourceMappingURL=chunk-6Y5MRWJF.js.map
@@ -11896,7 +11896,7 @@ var CompositeRouter = class _CompositeRouter {
11896
11896
  */
11897
11897
  async consultUnifiedContext(task) {
11898
11898
  try {
11899
- const { getContextForTask, inferTaskCategory } = await import("./context-retriever-7SVNDBAF.js");
11899
+ const { getContextForTask, inferTaskCategory } = await import("./context-retriever-SZVZSFLK.js");
11900
11900
  const ctx = await getContextForTask({
11901
11901
  task: task.content,
11902
11902
  category: inferTaskCategory(task.content),
@@ -13253,4 +13253,4 @@ export {
13253
13253
  AgentCapability,
13254
13254
  OrchestratorError
13255
13255
  };
13256
- //# sourceMappingURL=chunk-E4K4PLSJ.js.map
13256
+ //# sourceMappingURL=chunk-CGKONOF2.js.map
@@ -2,7 +2,7 @@ import {
2
2
  CACHE_TIMEOUTS,
3
3
  createLogger,
4
4
  getTimeProvider
5
- } from "./chunk-E4K4PLSJ.js";
5
+ } from "./chunk-CGKONOF2.js";
6
6
 
7
7
  // src/security/trust-types.ts
8
8
  import { z } from "zod";
@@ -560,4 +560,4 @@ export {
560
560
  resolveReputationGatingMode,
561
561
  gateWithReputation
562
562
  };
563
- //# sourceMappingURL=chunk-NF6ZY2XT.js.map
563
+ //# sourceMappingURL=chunk-DEOQPYW4.js.map
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-3ACDP4E6.js";
6
6
  import {
7
7
  executeExpert
8
- } from "./chunk-WBE5HPPW.js";
8
+ } from "./chunk-ESGADHVN.js";
9
9
  import {
10
10
  EventTopics,
11
11
  JobStatusSchema,
@@ -26,23 +26,23 @@ import {
26
26
  writeJobComplete,
27
27
  writeJobFailed,
28
28
  writeJobPending
29
- } from "./chunk-NZHV7GEK.js";
29
+ } from "./chunk-UK7TXSMJ.js";
30
30
  import {
31
31
  normalizeTopicToCanonical,
32
32
  synthesizeResearch
33
- } from "./chunk-NGE7HWKP.js";
33
+ } from "./chunk-LFRFOMSY.js";
34
34
  import {
35
35
  IssueTriage,
36
36
  createAuditTrail,
37
37
  createGraphAuditBridge
38
- } from "./chunk-2XEX5PM4.js";
38
+ } from "./chunk-WXBLFLC3.js";
39
39
  import {
40
40
  resolveEnvMode,
41
41
  sanitizeInput
42
- } from "./chunk-NF6ZY2XT.js";
42
+ } from "./chunk-DEOQPYW4.js";
43
43
  import {
44
44
  withPrerequisite
45
- } from "./chunk-5JWBFZEO.js";
45
+ } from "./chunk-SCGPKBGN.js";
46
46
  import {
47
47
  NOOP_NOTIFIER,
48
48
  RateLimiter,
@@ -62,10 +62,10 @@ import {
62
62
  withAccessPolicy,
63
63
  withProgressHeartbeat,
64
64
  wrapToolWithTimeout
65
- } from "./chunk-XKK55K2H.js";
65
+ } from "./chunk-KLQALBIU.js";
66
66
  import {
67
67
  generateSecurityPlan
68
- } from "./chunk-EQLXZKMD.js";
68
+ } from "./chunk-KVVV2WR6.js";
69
69
  import {
70
70
  analyzeGitHubRepo
71
71
  } from "./chunk-HFOQKCD2.js";
@@ -88,6 +88,7 @@ import {
88
88
  formatResearchIssueBody,
89
89
  generateStatsJson,
90
90
  getContextForTask,
91
+ getContextPromptPrefix,
91
92
  getResearchInsightsForTask,
92
93
  getResearchStatus,
93
94
  inferTaskCategory,
@@ -95,26 +96,26 @@ import {
95
96
  parseRegistry,
96
97
  sourceExistsInRegistry,
97
98
  summarizeContextForPrompt
98
- } from "./chunk-Y2QMFZQG.js";
99
+ } from "./chunk-XZV6565Y.js";
99
100
  import {
100
101
  getTokenEnvVars,
101
102
  resolveToken
102
- } from "./chunk-QTMZCTB6.js";
103
+ } from "./chunk-O72WIQDK.js";
103
104
  import {
104
105
  loadPapersRegistry,
105
106
  loadTechniquesRegistry
106
- } from "./chunk-5DOIZUPE.js";
107
+ } from "./chunk-2WISJ7ZA.js";
107
108
  import {
108
109
  DEFAULT_RELEVANCE_CONFIG,
109
110
  MemoryImportance,
110
111
  calculateTextJaccardSimilarity,
111
112
  getToolMemory
112
- } from "./chunk-NEBMJARV.js";
113
+ } from "./chunk-INSR4OES.js";
113
114
  import {
114
115
  DEFAULT_TASK_TTL_MS,
115
116
  DEFAULT_TOOL_RATE_LIMITS,
116
117
  clampTaskTtl
117
- } from "./chunk-6DHDXNOO.js";
118
+ } from "./chunk-574PH6QX.js";
118
119
  import {
119
120
  resolveInsideRoot
120
121
  } from "./chunk-NUBSJGQZ.js";
@@ -129,19 +130,19 @@ import {
129
130
  getAvailableClis,
130
131
  sleep,
131
132
  withTimeout
132
- } from "./chunk-7VD5UJCF.js";
133
+ } from "./chunk-5KGOKGHC.js";
133
134
  import {
134
135
  DEFAULTS
135
- } from "./chunk-NWMWL6MD.js";
136
+ } from "./chunk-SO6A3PCX.js";
136
137
  import {
137
138
  getAvailabilityCache,
138
139
  getCliForModelId,
139
140
  resolveFallback
140
- } from "./chunk-ILGRBYX6.js";
141
+ } from "./chunk-5JWZWQS4.js";
141
142
  import {
142
143
  generateHyphenId,
143
144
  generateUUID
144
- } from "./chunk-2JXELXS3.js";
145
+ } from "./chunk-HOEXJHAM.js";
145
146
  import {
146
147
  BUILT_IN_EXPERTS,
147
148
  BuiltInExpertTypeSchema,
@@ -153,7 +154,7 @@ import {
153
154
  } from "./chunk-PQHVC4BD.js";
154
155
  import {
155
156
  createSessionMemory
156
- } from "./chunk-PKKV2ZAT.js";
157
+ } from "./chunk-HHYGTGWI.js";
157
158
  import {
158
159
  AGENT_ROUTER_TIMEOUTS,
159
160
  ARCHITECTURE_KEYWORDS,
@@ -227,7 +228,7 @@ import {
227
228
  routingArmDisplaySlot,
228
229
  toExpertTaskAnalysisResult,
229
230
  withStep
230
- } from "./chunk-E4K4PLSJ.js";
231
+ } from "./chunk-CGKONOF2.js";
231
232
  import {
232
233
  nexusDataPath,
233
234
  nexusDataPathEnsure
@@ -26280,7 +26281,7 @@ async function populateUnifiedContextOnState(state) {
26280
26281
  try {
26281
26282
  const taskCandidate = state["task"];
26282
26283
  if (typeof taskCandidate !== "string" || taskCandidate === "") return;
26283
- const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-7SVNDBAF.js");
26284
+ const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-SZVZSFLK.js");
26284
26285
  const ctx = await getContextForTask2({
26285
26286
  task: taskCandidate,
26286
26287
  category: inferTaskCategory2(taskCandidate),
@@ -35498,7 +35499,24 @@ function sanitizeExpertSummary(summary) {
35498
35499
  }
35499
35500
  return cleaned.replace(/\b(ignore|forget|disregard)\s+(previous|above|all)\b/gi, "[REDACTED]").slice(0, 2e3);
35500
35501
  }
35501
- function buildTask(input) {
35502
+ async function maybeFetchContextPrefix(task, logger56) {
35503
+ if (process.env["NEXUS_CONTEXT_RETRIEVER_INJECT"] !== "1") return void 0;
35504
+ try {
35505
+ const ctx = await getContextForTask({
35506
+ task,
35507
+ category: inferTaskCategory(task),
35508
+ ...logger56 !== void 0 ? { logger: logger56 } : {}
35509
+ });
35510
+ const summary = summarizeContextForPrompt(ctx);
35511
+ return summary === "" ? void 0 : summary;
35512
+ } catch (error) {
35513
+ logger56?.debug("execute_expert: context retrieval failed \u2014 running without prefix", {
35514
+ error: error instanceof Error ? error.message : String(error)
35515
+ });
35516
+ return void 0;
35517
+ }
35518
+ }
35519
+ function buildTask(input, contextPrefix) {
35502
35520
  const autoTimeout = getExpertTaskTimeout(input.task);
35503
35521
  const timeoutMs = input.timeoutMs ?? autoTimeout;
35504
35522
  let description = input.task;
@@ -35509,6 +35527,12 @@ ${sanitized}
35509
35527
 
35510
35528
  [Your task]
35511
35529
  ${input.task}`;
35530
+ }
35531
+ if (contextPrefix !== void 0) {
35532
+ description = `[Prior context]
35533
+ ${sanitizeExpertSummary(contextPrefix)}
35534
+
35535
+ ${description}`;
35512
35536
  }
35513
35537
  return {
35514
35538
  id: `exec-${String(getTimeProvider().now())}-${getRandomProvider().random().toString(36).slice(2, 9)}`,
@@ -35559,10 +35583,10 @@ function observeExpertContextIfOk(result, expert, task, durationMs, logger56) {
35559
35583
  };
35560
35584
  observeExpertContext(observation, logger56);
35561
35585
  }
35562
- async function deriveExpertAccessPolicy(task, logger56, trustTier) {
35586
+ async function deriveExpertAccessPolicy(objective, logger56, trustTier) {
35563
35587
  const mode = resolveAccessPolicyMode();
35564
35588
  try {
35565
- const policy = await deriveAccessPolicy(task.description, {
35589
+ const policy = await deriveAccessPolicy(objective, {
35566
35590
  mode,
35567
35591
  trustTier: trustTier ?? "4"
35568
35592
  });
@@ -35703,7 +35727,9 @@ async function classifyExpertResult(opts) {
35703
35727
  }
35704
35728
  async function runExpertTask(deps, args, expert) {
35705
35729
  const { expertId } = args;
35706
- const task = buildTask(args);
35730
+ const contextPrefix = await maybeFetchContextPrefix(args.task, deps.logger);
35731
+ const task = buildTask(args, contextPrefix);
35732
+ const policyObjective = buildTask(args).description;
35707
35733
  injectErrorHints(task, expert.role);
35708
35734
  if (isExpertDegraded(expert.role)) {
35709
35735
  deps.logger?.warn("Expert role degraded, trying fallback", { role: expert.role });
@@ -35724,7 +35750,7 @@ async function runExpertTask(deps, args, expert) {
35724
35750
  }, HEARTBEAT_TIMEOUTS.heartbeatIntervalMs);
35725
35751
  let result;
35726
35752
  try {
35727
- const policy = await deriveExpertAccessPolicy(task, deps.logger, void 0);
35753
+ const policy = await deriveExpertAccessPolicy(policyObjective, deps.logger, void 0);
35728
35754
  result = await withAccessPolicy(policy, () => expert.execute(task));
35729
35755
  } finally {
35730
35756
  clearInterval(heartbeatTimer);
@@ -40757,7 +40783,7 @@ async function tryIssueTriage(task) {
40757
40783
  try {
40758
40784
  const issueMatch = task.match(/github\.com\/([^/]+\/[^/]+)\/issues\/(\d+)/);
40759
40785
  if (issueMatch === null) return null;
40760
- const { createIssueTriage } = await import("./issue-triage-TNIWVBLP.js");
40786
+ const { createIssueTriage } = await import("./issue-triage-2BSWLTIF.js");
40761
40787
  const triage = createIssueTriage();
40762
40788
  const owner = issueMatch[1] ?? "";
40763
40789
  const num = issueMatch[2] ?? "";
@@ -40785,7 +40811,7 @@ var VALID_TEMPLATES = /* @__PURE__ */ new Set([
40785
40811
  ]);
40786
40812
  async function classifyWithLLM(task) {
40787
40813
  try {
40788
- const { executeExpert: executeExpert2 } = await import("./expert-bridge-66RX5OL4.js");
40814
+ const { executeExpert: executeExpert2 } = await import("./expert-bridge-KYGBOFSM.js");
40789
40815
  const prompt = [
40790
40816
  "Classify this task into exactly one pipeline template.",
40791
40817
  "Templates: dev (implementation/bug fix/refactor), research (investigate/evaluate/compare),",
@@ -41705,7 +41731,7 @@ var memoryInitPromise = null;
41705
41731
  async function initPipelineMemory() {
41706
41732
  if (cachedMemory !== null) return cachedMemory;
41707
41733
  try {
41708
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-YSSKNSAI.js");
41734
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-C7NUVBEY.js");
41709
41735
  const { getLearningDir } = await import("./learning-persistence-UKPO7RYK.js");
41710
41736
  const mem = createSessionMemory2(getLearningDir());
41711
41737
  mem.startSession(`pipeline-${String(getTimeProvider().now())}`);
@@ -41762,7 +41788,7 @@ function recordRoutingExperience(category, success, durationMs, tokensUsed = 0)
41762
41788
  callRecord(routingMemoryCache);
41763
41789
  return;
41764
41790
  }
41765
- routingMemoryInitPromise ??= import("./routing-memory-XB6HE6ZY.js").then(({ createRoutingMemory }) => {
41791
+ routingMemoryInitPromise ??= import("./routing-memory-B3OW277N.js").then(({ createRoutingMemory }) => {
41766
41792
  routingMemoryCache ??= createRoutingMemory();
41767
41793
  return routingMemoryCache;
41768
41794
  }).catch((error) => {
@@ -41796,7 +41822,7 @@ ${text}` : "";
41796
41822
  }
41797
41823
  async function getWeatherContext() {
41798
41824
  try {
41799
- const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-6ARKPGO7.js");
41825
+ const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-CEGAAPAQ.js");
41800
41826
  const report = generateWeatherReport2({ includeAdaptive: true });
41801
41827
  const mappings = "recommendedMappings" in report ? report.recommendedMappings : [];
41802
41828
  if (!Array.isArray(mappings) || mappings.length === 0) return "";
@@ -41814,7 +41840,7 @@ ${lines}
41814
41840
  }
41815
41841
  async function getMemoryContext(task) {
41816
41842
  try {
41817
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-YSSKNSAI.js");
41843
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-C7NUVBEY.js");
41818
41844
  const { getLearningDir } = await import("./learning-persistence-UKPO7RYK.js");
41819
41845
  const memory = createSessionMemory2(getLearningDir(), { maxLearningsInContext: 10 });
41820
41846
  const learnings = memory.searchLearnings(task.slice(0, 200));
@@ -41925,7 +41951,7 @@ ${contextBlock}`;
41925
41951
  const strategy = config.votingStrategy ?? "higher_order";
41926
41952
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
41927
41953
  try {
41928
- const { executeVoting } = await import("./consensus-vote-T576X4MI.js");
41954
+ const { executeVoting } = await import("./consensus-vote-GDDLW4LT.js");
41929
41955
  const votingResult = await executeVoting(
41930
41956
  {
41931
41957
  proposal: buildVoteProposal(plan, research),
@@ -42845,6 +42871,12 @@ function createResearchStageWrapper(stages) {
42845
42871
 
42846
42872
  ## Codebase Context
42847
42873
  ${codeContext}`;
42874
+ }
42875
+ const memoryPrefix = await getContextPromptPrefix(ctx.task);
42876
+ if (memoryPrefix !== void 0) {
42877
+ enrichedTask = `${memoryPrefix}
42878
+
42879
+ ${enrichedTask}`;
42848
42880
  }
42849
42881
  const result = await stages.research(enrichedTask);
42850
42882
  return output(PIPELINE_STATE_KEYS.RESEARCH, result, getTimeProvider().now() - start, true);
@@ -43001,7 +43033,7 @@ async function searchCodebaseForTask(task) {
43001
43033
  }
43002
43034
  async function queryResearchRegistry(task) {
43003
43035
  try {
43004
- const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-53UJEEYZ.js");
43036
+ const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-5YGUR5DR.js");
43005
43037
  const topic = task.split(/[.!?\n]/).filter((s) => s.trim().length > 10)[0]?.trim();
43006
43038
  if (topic === void 0) return null;
43007
43039
  const result = await synthesizeResearch2(topic.slice(0, 50));
@@ -43072,7 +43104,7 @@ function createScanStageWrapper() {
43072
43104
  try {
43073
43105
  const slug = ctx.task.match(/([a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+)/)?.[1];
43074
43106
  if (slug !== void 0) {
43075
- const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-FASDE3WF.js");
43107
+ const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-2ALBLESV.js");
43076
43108
  const plan = await generateSecurityPlan2({ repo: slug, maxScanners: 10 });
43077
43109
  const recs = plan.recommendations.slice(0, 5).map((r) => `${r.priority}: ${r.displayName} (${r.category})`).join("; ");
43078
43110
  return output(PIPELINE_STATE_KEYS.FINDINGS, recs, getTimeProvider().now() - start, true);
@@ -44598,7 +44630,7 @@ async function probeSource(source, includeModelIds) {
44598
44630
  }
44599
44631
  }
44600
44632
  async function defaultSources(includeOpenRouter) {
44601
- const { createAllAdapters: createAllAdapters2 } = await import("./factory-HRG64OID.js");
44633
+ const { createAllAdapters: createAllAdapters2 } = await import("./factory-JBAJJ5VC.js");
44602
44634
  const adapters = createAllAdapters2();
44603
44635
  return buildDefaultModelSources(adapters, { includeOpenRouter });
44604
44636
  }
@@ -48213,7 +48245,7 @@ var GitHubTaskTracker = class {
48213
48245
  cachedProvider = null;
48214
48246
  async getProvider() {
48215
48247
  if (this.cachedProvider !== null) return this.cachedProvider;
48216
- const { createScmProvider } = await import("./factory-UE3K5WPQ.js");
48248
+ const { createScmProvider } = await import("./factory-VS775SS2.js");
48217
48249
  const result = await createScmProvider({ repo: this.config.repo ?? "" });
48218
48250
  if (!result.ok) throw new Error(`SCM provider error: ${result.error.message}`);
48219
48251
  this.cachedProvider = result.value;
@@ -48903,4 +48935,4 @@ export {
48903
48935
  detectBackend,
48904
48936
  createTaskTracker
48905
48937
  };
48906
- //# sourceMappingURL=chunk-KHGBV3ZL.js.map
48938
+ //# sourceMappingURL=chunk-E34YOFTW.js.map