nexus-agents 2.30.8 → 2.31.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 (84) hide show
  1. package/dist/{adaptive-memory-THOGYVKK.js → adaptive-memory-EDCJHRH3.js} +3 -3
  2. package/dist/{chunk-2L6A7RUZ.js → chunk-2JPQ2ICM.js} +3 -3
  3. package/dist/{chunk-4PRT4F7I.js → chunk-4VB3PQTO.js} +6 -6
  4. package/dist/{chunk-US7Z5ITC.js → chunk-6BOVBYY5.js} +6 -6
  5. package/dist/{chunk-ZXIFNJ7Q.js → chunk-6SUCK2NV.js} +2 -2
  6. package/dist/{chunk-ILGF6JIL.js → chunk-7DNUEEGG.js} +67 -39
  7. package/dist/{chunk-ILGF6JIL.js.map → chunk-7DNUEEGG.js.map} +1 -1
  8. package/dist/{chunk-6V3HZQRC.js → chunk-7PZGCG37.js} +2 -2
  9. package/dist/{chunk-32ZTPL7Q.js → chunk-DGMLBF4U.js} +2 -2
  10. package/dist/{chunk-YSBHF2TG.js → chunk-FO6C5AQ6.js} +2 -2
  11. package/dist/{chunk-UMM5PVLB.js → chunk-FPBRLZXV.js} +2 -2
  12. package/dist/{chunk-I66ZKP33.js → chunk-GLOJ6EDL.js} +2 -2
  13. package/dist/{chunk-GNR437CG.js → chunk-K5N4OL66.js} +321 -63
  14. package/dist/chunk-K5N4OL66.js.map +1 -0
  15. package/dist/{chunk-KFHU4P75.js → chunk-MNHC65DB.js} +4 -4
  16. package/dist/{chunk-IFIRZ35E.js → chunk-OREUX6UF.js} +2 -2
  17. package/dist/{chunk-MDFQ3G3Y.js → chunk-PR7QRV6S.js} +6 -6
  18. package/dist/{chunk-V7GL5HZF.js → chunk-PTLZM2LZ.js} +3 -3
  19. package/dist/{chunk-HIVFP5CS.js → chunk-R4LU2LYM.js} +4 -4
  20. package/dist/{chunk-2HAZZAU5.js → chunk-SUDYZIVI.js} +2 -2
  21. package/dist/{chunk-2W7AM3I7.js → chunk-VUJ2PDT7.js} +3 -3
  22. package/dist/{chunk-GUO4TIIX.js → chunk-WFG3BWWK.js} +2 -2
  23. package/dist/{chunk-VCYDKMGJ.js → chunk-YLDYHQ4Y.js} +2 -2
  24. package/dist/{cli-circuit-breaker-MBTG6XC7.js → cli-circuit-breaker-U3XLQNCL.js} +4 -4
  25. package/dist/cli.js +22 -20
  26. package/dist/cli.js.map +1 -1
  27. package/dist/{composite-router-IRF52MS7.js → composite-router-QGP6USAP.js} +2 -2
  28. package/dist/{consensus-vote-6U4LANAT.js → consensus-vote-GEQK32G7.js} +7 -7
  29. package/dist/{doctor-deep-RMOKEOCC.js → doctor-deep-3VFOZERZ.js} +3 -3
  30. package/dist/{expert-bridge-DXSKS5OG.js → expert-bridge-RDY47MFM.js} +3 -3
  31. package/dist/{factory-FYHY577A.js → factory-3DVB6TV6.js} +4 -4
  32. package/dist/{factory-SUZOQZOE.js → factory-VEXE4RXU.js} +5 -5
  33. package/dist/index.d.ts +34 -34
  34. package/dist/index.js +18 -18
  35. package/dist/index.js.map +1 -1
  36. package/dist/{issue-triage-KGXVGBZR.js → issue-triage-SCQMQI6A.js} +4 -4
  37. package/dist/{mcp-config-PS73M32C.js → mcp-config-F6ZJD564.js} +3 -3
  38. package/dist/{mobimem-ATF4YCSJ.js → mobimem-XYRENZW7.js} +2 -2
  39. package/dist/{repo-security-plan-VMTRN3PJ.js → repo-security-plan-XPOOUKAV.js} +3 -3
  40. package/dist/research-helpers-synthesize-MRO44W5J.js +10 -0
  41. package/dist/{routing-memory-5VJTEGLC.js → routing-memory-YUETBIJU.js} +2 -2
  42. package/dist/{session-memory-UA3L4Q6K.js → session-memory-7MHDTB6O.js} +3 -3
  43. package/dist/{setup-command-KUZZLEZ4.js → setup-command-LZB74W4I.js} +7 -7
  44. package/dist/{setup-config-IJ6RFRA4.js → setup-config-KPMWBIHD.js} +3 -3
  45. package/dist/{weather-report-B43EV36T.js → weather-report-3WN4FVQ6.js} +2 -2
  46. package/package.json +1 -1
  47. package/dist/chunk-GNR437CG.js.map +0 -1
  48. package/dist/research-helpers-synthesize-A6ZTAYLN.js +0 -10
  49. /package/dist/{adaptive-memory-THOGYVKK.js.map → adaptive-memory-EDCJHRH3.js.map} +0 -0
  50. /package/dist/{chunk-2L6A7RUZ.js.map → chunk-2JPQ2ICM.js.map} +0 -0
  51. /package/dist/{chunk-4PRT4F7I.js.map → chunk-4VB3PQTO.js.map} +0 -0
  52. /package/dist/{chunk-US7Z5ITC.js.map → chunk-6BOVBYY5.js.map} +0 -0
  53. /package/dist/{chunk-ZXIFNJ7Q.js.map → chunk-6SUCK2NV.js.map} +0 -0
  54. /package/dist/{chunk-6V3HZQRC.js.map → chunk-7PZGCG37.js.map} +0 -0
  55. /package/dist/{chunk-32ZTPL7Q.js.map → chunk-DGMLBF4U.js.map} +0 -0
  56. /package/dist/{chunk-YSBHF2TG.js.map → chunk-FO6C5AQ6.js.map} +0 -0
  57. /package/dist/{chunk-UMM5PVLB.js.map → chunk-FPBRLZXV.js.map} +0 -0
  58. /package/dist/{chunk-I66ZKP33.js.map → chunk-GLOJ6EDL.js.map} +0 -0
  59. /package/dist/{chunk-KFHU4P75.js.map → chunk-MNHC65DB.js.map} +0 -0
  60. /package/dist/{chunk-IFIRZ35E.js.map → chunk-OREUX6UF.js.map} +0 -0
  61. /package/dist/{chunk-MDFQ3G3Y.js.map → chunk-PR7QRV6S.js.map} +0 -0
  62. /package/dist/{chunk-V7GL5HZF.js.map → chunk-PTLZM2LZ.js.map} +0 -0
  63. /package/dist/{chunk-HIVFP5CS.js.map → chunk-R4LU2LYM.js.map} +0 -0
  64. /package/dist/{chunk-2HAZZAU5.js.map → chunk-SUDYZIVI.js.map} +0 -0
  65. /package/dist/{chunk-2W7AM3I7.js.map → chunk-VUJ2PDT7.js.map} +0 -0
  66. /package/dist/{chunk-GUO4TIIX.js.map → chunk-WFG3BWWK.js.map} +0 -0
  67. /package/dist/{chunk-VCYDKMGJ.js.map → chunk-YLDYHQ4Y.js.map} +0 -0
  68. /package/dist/{cli-circuit-breaker-MBTG6XC7.js.map → cli-circuit-breaker-U3XLQNCL.js.map} +0 -0
  69. /package/dist/{composite-router-IRF52MS7.js.map → composite-router-QGP6USAP.js.map} +0 -0
  70. /package/dist/{consensus-vote-6U4LANAT.js.map → consensus-vote-GEQK32G7.js.map} +0 -0
  71. /package/dist/{doctor-deep-RMOKEOCC.js.map → doctor-deep-3VFOZERZ.js.map} +0 -0
  72. /package/dist/{expert-bridge-DXSKS5OG.js.map → expert-bridge-RDY47MFM.js.map} +0 -0
  73. /package/dist/{factory-FYHY577A.js.map → factory-3DVB6TV6.js.map} +0 -0
  74. /package/dist/{factory-SUZOQZOE.js.map → factory-VEXE4RXU.js.map} +0 -0
  75. /package/dist/{issue-triage-KGXVGBZR.js.map → issue-triage-SCQMQI6A.js.map} +0 -0
  76. /package/dist/{mcp-config-PS73M32C.js.map → mcp-config-F6ZJD564.js.map} +0 -0
  77. /package/dist/{mobimem-ATF4YCSJ.js.map → mobimem-XYRENZW7.js.map} +0 -0
  78. /package/dist/{repo-security-plan-VMTRN3PJ.js.map → repo-security-plan-XPOOUKAV.js.map} +0 -0
  79. /package/dist/{research-helpers-synthesize-A6ZTAYLN.js.map → research-helpers-synthesize-MRO44W5J.js.map} +0 -0
  80. /package/dist/{routing-memory-5VJTEGLC.js.map → routing-memory-YUETBIJU.js.map} +0 -0
  81. /package/dist/{session-memory-UA3L4Q6K.js.map → session-memory-7MHDTB6O.js.map} +0 -0
  82. /package/dist/{setup-command-KUZZLEZ4.js.map → setup-command-LZB74W4I.js.map} +0 -0
  83. /package/dist/{setup-config-IJ6RFRA4.js.map → setup-config-KPMWBIHD.js.map} +0 -0
  84. /package/dist/{weather-report-B43EV36T.js.map → weather-report-3WN4FVQ6.js.map} +0 -0
@@ -2,9 +2,9 @@ import {
2
2
  AdaptiveMemoryBackend,
3
3
  DEFAULT_SCORING_CONFIG,
4
4
  createAdaptiveMemory
5
- } from "./chunk-I66ZKP33.js";
5
+ } from "./chunk-GLOJ6EDL.js";
6
6
  import "./chunk-633WH2ML.js";
7
- import "./chunk-GNR437CG.js";
7
+ import "./chunk-K5N4OL66.js";
8
8
  import "./chunk-CLYZ7FWP.js";
9
9
  import "./chunk-UP2VWCW5.js";
10
10
  export {
@@ -12,4 +12,4 @@ export {
12
12
  DEFAULT_SCORING_CONFIG,
13
13
  createAdaptiveMemory
14
14
  };
15
- //# sourceMappingURL=adaptive-memory-THOGYVKK.js.map
15
+ //# sourceMappingURL=adaptive-memory-EDCJHRH3.js.map
@@ -2,13 +2,13 @@ import {
2
2
  CircuitBreakerRegistry,
3
3
  CircuitError,
4
4
  mapCliErrorToCategory
5
- } from "./chunk-IFIRZ35E.js";
5
+ } from "./chunk-OREUX6UF.js";
6
6
  import {
7
7
  createLogger,
8
8
  err,
9
9
  getTimeProvider,
10
10
  ok
11
- } from "./chunk-GNR437CG.js";
11
+ } from "./chunk-K5N4OL66.js";
12
12
 
13
13
  // src/cli-adapters/fallback-chains.ts
14
14
  import { z } from "zod";
@@ -192,4 +192,4 @@ export {
192
192
  CliCircuitBreakerIntegration,
193
193
  createCliCircuitBreakerIntegration
194
194
  };
195
- //# sourceMappingURL=chunk-2L6A7RUZ.js.map
195
+ //# sourceMappingURL=chunk-2JPQ2ICM.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SessionMemory
3
- } from "./chunk-ZXIFNJ7Q.js";
3
+ } from "./chunk-6SUCK2NV.js";
4
4
  import {
5
5
  AdaptiveMemoryBackend,
6
6
  HybridMemoryBackend,
@@ -9,7 +9,7 @@ import {
9
9
  getMemoryEntry,
10
10
  memoryExists,
11
11
  memoryRowToEntry
12
- } from "./chunk-I66ZKP33.js";
12
+ } from "./chunk-GLOJ6EDL.js";
13
13
  import {
14
14
  stringifyValue,
15
15
  tokenizeFiltered
@@ -21,7 +21,7 @@ import {
21
21
  getAvailableClis,
22
22
  isCliAvailable,
23
23
  withTimeout
24
- } from "./chunk-2W7AM3I7.js";
24
+ } from "./chunk-VUJ2PDT7.js";
25
25
  import {
26
26
  AgentError,
27
27
  CACHE_TIMEOUTS,
@@ -66,7 +66,7 @@ import {
66
66
  resolveVoteTimeout,
67
67
  toRateLimitError,
68
68
  validateTimeout
69
- } from "./chunk-GNR437CG.js";
69
+ } from "./chunk-K5N4OL66.js";
70
70
  import {
71
71
  OUTCOMES_FILE,
72
72
  ensureLearningDir
@@ -12347,7 +12347,7 @@ async function processVotesWithCascade(votes, opts) {
12347
12347
  var CONTRARIAN_ESCALATION_THRESHOLD = 0.8;
12348
12348
  async function runContrarianCheck(proposal, log) {
12349
12349
  try {
12350
- const { executeExpert } = await import("./expert-bridge-DXSKS5OG.js");
12350
+ const { executeExpert } = await import("./expert-bridge-RDY47MFM.js");
12351
12351
  const prompt = [
12352
12352
  "You are a contrarian analyst. Your job is to find reasons this proposal should be REJECTED.",
12353
12353
  "Look for: YAGNI (not needed), MISALIGNED (wrong tech/architecture), SECURITY_RISK, SCOPE_CREEP.",
@@ -12717,4 +12717,4 @@ export {
12717
12717
  CONSENSUS_VOTE_OUTPUT_SCHEMA,
12718
12718
  registerConsensusVoteTool
12719
12719
  };
12720
- //# sourceMappingURL=chunk-4PRT4F7I.js.map
12720
+ //# sourceMappingURL=chunk-4VB3PQTO.js.map
@@ -2,7 +2,7 @@ import {
2
2
  createLogger,
3
3
  getTimeProvider,
4
4
  isRateLimitText
5
- } from "./chunk-GNR437CG.js";
5
+ } from "./chunk-K5N4OL66.js";
6
6
 
7
7
  // src/pipeline/expert-bridge.ts
8
8
  var logger = createLogger({ component: "expert-bridge" });
@@ -12,7 +12,7 @@ var cachedMcpConfigPath = null;
12
12
  async function getMcpConfigPath() {
13
13
  if (cachedMcpConfigPath !== null) return cachedMcpConfigPath;
14
14
  try {
15
- const { generateMcpConfig } = await import("./mcp-config-PS73M32C.js");
15
+ const { generateMcpConfig } = await import("./mcp-config-F6ZJD564.js");
16
16
  const config = await generateMcpConfig();
17
17
  cachedMcpConfigPath = config.configPath;
18
18
  return cachedMcpConfigPath;
@@ -38,13 +38,13 @@ function adaptCompositeRouter(compositeRouter) {
38
38
  }
39
39
  async function getRouter() {
40
40
  if (cachedRouter !== null) return cachedRouter;
41
- const { createAllAdapters } = await import("./factory-FYHY577A.js");
42
- const { createCompositeRouter } = await import("./composite-router-IRF52MS7.js");
41
+ const { createAllAdapters } = await import("./factory-3DVB6TV6.js");
42
+ const { createCompositeRouter } = await import("./composite-router-QGP6USAP.js");
43
43
  const adapters = createAllAdapters();
44
44
  if (adapters.size === 0) return null;
45
45
  cachedRouter = adaptCompositeRouter(createCompositeRouter(adapters));
46
46
  try {
47
- const { createCliCircuitBreakerIntegration } = await import("./cli-circuit-breaker-MBTG6XC7.js");
47
+ const { createCliCircuitBreakerIntegration } = await import("./cli-circuit-breaker-U3XLQNCL.js");
48
48
  cachedCircuitBreaker = createCliCircuitBreakerIntegration([...adapters.values()]);
49
49
  } catch (error) {
50
50
  const msg = error instanceof Error ? error.message : String(error);
@@ -136,4 +136,4 @@ ${prompt}`;
136
136
  export {
137
137
  executeExpert
138
138
  };
139
- //# sourceMappingURL=chunk-US7Z5ITC.js.map
139
+ //# sourceMappingURL=chunk-6BOVBYY5.js.map
@@ -4,7 +4,7 @@ import {
4
4
  getErrorMessage,
5
5
  getTimeProvider,
6
6
  ok
7
- } from "./chunk-GNR437CG.js";
7
+ } from "./chunk-K5N4OL66.js";
8
8
 
9
9
  // src/context/session-memory.ts
10
10
  import * as fs from "fs";
@@ -351,4 +351,4 @@ export {
351
351
  SessionMemory,
352
352
  createSessionMemory
353
353
  };
354
- //# sourceMappingURL=chunk-ZXIFNJ7Q.js.map
354
+ //# sourceMappingURL=chunk-6SUCK2NV.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getTokenEnvVars,
3
3
  resolveToken
4
- } from "./chunk-2HAZZAU5.js";
4
+ } from "./chunk-SUDYZIVI.js";
5
5
  import {
6
6
  ClaudeAdapter,
7
7
  DEFAULT_RELEVANCE_CONFIG,
@@ -25,7 +25,7 @@ import {
25
25
  toolSuccessStructured,
26
26
  withProgressHeartbeat,
27
27
  wrapToolWithTimeout
28
- } from "./chunk-4PRT4F7I.js";
28
+ } from "./chunk-4VB3PQTO.js";
29
29
  import {
30
30
  REGISTRY_PATH,
31
31
  getProjectRoot,
@@ -35,14 +35,14 @@ import {
35
35
  resolveInsideRoot,
36
36
  savePapersRegistry,
37
37
  synthesizeResearch
38
- } from "./chunk-6V3HZQRC.js";
38
+ } from "./chunk-7PZGCG37.js";
39
39
  import {
40
40
  IssueTriage,
41
41
  sanitizeInput
42
- } from "./chunk-V7GL5HZF.js";
42
+ } from "./chunk-PTLZM2LZ.js";
43
43
  import {
44
44
  generateSecurityPlan
45
- } from "./chunk-YSBHF2TG.js";
45
+ } from "./chunk-FO6C5AQ6.js";
46
46
  import {
47
47
  analyzeGitHubRepo
48
48
  } from "./chunk-BC3M4VLP.js";
@@ -65,14 +65,14 @@ import {
65
65
  import {
66
66
  DEFAULT_TASK_TTL_MS,
67
67
  clampTaskTtl
68
- } from "./chunk-MDFQ3G3Y.js";
68
+ } from "./chunk-PR7QRV6S.js";
69
69
  import {
70
70
  createSessionMemory
71
- } from "./chunk-ZXIFNJ7Q.js";
71
+ } from "./chunk-6SUCK2NV.js";
72
72
  import {
73
73
  MemoryImportance,
74
74
  calculateTextJaccardSimilarity
75
- } from "./chunk-I66ZKP33.js";
75
+ } from "./chunk-GLOJ6EDL.js";
76
76
  import {
77
77
  STOPWORDS,
78
78
  capitalize,
@@ -81,13 +81,13 @@ import {
81
81
  } from "./chunk-633WH2ML.js";
82
82
  import {
83
83
  generateMcpConfig
84
- } from "./chunk-GUO4TIIX.js";
84
+ } from "./chunk-WFG3BWWK.js";
85
85
  import {
86
86
  getFallbackChainForCategory
87
- } from "./chunk-2L6A7RUZ.js";
87
+ } from "./chunk-2JPQ2ICM.js";
88
88
  import {
89
89
  executeExpert
90
- } from "./chunk-US7Z5ITC.js";
90
+ } from "./chunk-6BOVBYY5.js";
91
91
  import {
92
92
  ClaudeCliAdapter,
93
93
  CliDetectionCache,
@@ -96,7 +96,7 @@ import {
96
96
  getAvailableClis,
97
97
  sleep,
98
98
  withTimeout
99
- } from "./chunk-2W7AM3I7.js";
99
+ } from "./chunk-VUJ2PDT7.js";
100
100
  import {
101
101
  AGENT_ROUTER_TIMEOUTS,
102
102
  API_TIMEOUTS,
@@ -165,8 +165,9 @@ import {
165
165
  isRateLimitLikeError,
166
166
  modelSupportsAll,
167
167
  ok,
168
- toExpertTaskAnalysisResult
169
- } from "./chunk-GNR437CG.js";
168
+ toExpertTaskAnalysisResult,
169
+ withStep
170
+ } from "./chunk-K5N4OL66.js";
170
171
  import {
171
172
  isPersistenceEnabled
172
173
  } from "./chunk-CLYZ7FWP.js";
@@ -40971,7 +40972,7 @@ async function tryIssueTriage(task) {
40971
40972
  try {
40972
40973
  const issueMatch = task.match(/github\.com\/([^/]+\/[^/]+)\/issues\/(\d+)/);
40973
40974
  if (issueMatch === null) return null;
40974
- const { createIssueTriage } = await import("./issue-triage-KGXVGBZR.js");
40975
+ const { createIssueTriage } = await import("./issue-triage-SCQMQI6A.js");
40975
40976
  const triage = createIssueTriage();
40976
40977
  const owner = issueMatch[1] ?? "";
40977
40978
  const num = issueMatch[2] ?? "";
@@ -40999,7 +41000,7 @@ var VALID_TEMPLATES = /* @__PURE__ */ new Set([
40999
41000
  ]);
41000
41001
  async function classifyWithLLM(task) {
41001
41002
  try {
41002
- const { executeExpert: executeExpert2 } = await import("./expert-bridge-DXSKS5OG.js");
41003
+ const { executeExpert: executeExpert2 } = await import("./expert-bridge-RDY47MFM.js");
41003
41004
  const prompt = [
41004
41005
  "Classify this task into exactly one pipeline template.",
41005
41006
  "Templates: dev (implementation/bug fix/refactor), research (investigate/evaluate/compare),",
@@ -41793,7 +41794,7 @@ var memoryInitPromise = null;
41793
41794
  async function initPipelineMemory() {
41794
41795
  if (cachedMemory !== null) return cachedMemory;
41795
41796
  try {
41796
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-UA3L4Q6K.js");
41797
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-7MHDTB6O.js");
41797
41798
  const { LEARNING_DIR } = await import("./learning-persistence-WMWZJZ35.js");
41798
41799
  const mem = createSessionMemory2(LEARNING_DIR);
41799
41800
  mem.startSession(`pipeline-${String(Date.now())}`);
@@ -41846,7 +41847,7 @@ async function persistMobiMemState() {
41846
41847
  if (!isPersistenceEnabled2()) return;
41847
41848
  const os5 = await import("os");
41848
41849
  const path19 = await import("path");
41849
- const { createMobiMem } = await import("./mobimem-ATF4YCSJ.js");
41850
+ const { createMobiMem } = await import("./mobimem-XYRENZW7.js");
41850
41851
  const mobimem = createMobiMem();
41851
41852
  const savePath = path19.join(os5.homedir(), ".nexus-agents", "memory", "mobimem-state.json");
41852
41853
  await mobimem.save(savePath);
@@ -41863,7 +41864,7 @@ function recordRoutingExperience(category, success, durationMs) {
41863
41864
  callRecord(routingMemoryCache);
41864
41865
  return;
41865
41866
  }
41866
- void import("./routing-memory-5VJTEGLC.js").then(({ createRoutingMemory }) => {
41867
+ void import("./routing-memory-YUETBIJU.js").then(({ createRoutingMemory }) => {
41867
41868
  routingMemoryCache = createRoutingMemory();
41868
41869
  callRecord(routingMemoryCache);
41869
41870
  }).catch((error) => {
@@ -41892,7 +41893,7 @@ ${text}` : "";
41892
41893
  }
41893
41894
  async function getWeatherContext() {
41894
41895
  try {
41895
- const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-B43EV36T.js");
41896
+ const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-3WN4FVQ6.js");
41896
41897
  const report = generateWeatherReport2({ includeAdaptive: true });
41897
41898
  const mappings = "recommendedMappings" in report ? report.recommendedMappings : [];
41898
41899
  if (!Array.isArray(mappings) || mappings.length === 0) return "";
@@ -41909,7 +41910,7 @@ ${lines}
41909
41910
  }
41910
41911
  async function getMemoryContext(task) {
41911
41912
  try {
41912
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-UA3L4Q6K.js");
41913
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-7MHDTB6O.js");
41913
41914
  const { LEARNING_DIR } = await import("./learning-persistence-WMWZJZ35.js");
41914
41915
  const memory = createSessionMemory2(LEARNING_DIR, { maxLearningsInContext: 10 });
41915
41916
  const learnings = memory.searchLearnings(task.slice(0, 200));
@@ -42002,7 +42003,7 @@ ${contextBlock}`;
42002
42003
  const strategy = config.votingStrategy ?? "higher_order";
42003
42004
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
42004
42005
  try {
42005
- const { executeVoting } = await import("./consensus-vote-6U4LANAT.js");
42006
+ const { executeVoting } = await import("./consensus-vote-GEQK32G7.js");
42006
42007
  const votingResult = await executeVoting(
42007
42008
  {
42008
42009
  proposal: plan.slice(0, 4e3),
@@ -42422,10 +42423,18 @@ function buildDryRunResult(planResult) {
42422
42423
  };
42423
42424
  }
42424
42425
  async function runPlanningPhase(task, stages, sid, prior) {
42425
- const research = await runOrResume(prior, "research", () => {
42426
- logger39.info("Stage: research", { task: task.slice(0, 100) });
42427
- return stages.research(task);
42428
- });
42426
+ const research = await runOrResume(
42427
+ prior,
42428
+ "research",
42429
+ () => withStep(
42430
+ { name: "research", kind: "pipeline.stage", attrs: { task: task.slice(0, 100) } },
42431
+ async (ctx) => {
42432
+ const r = await stages.research(task);
42433
+ ctx.setSummary(`${String(r.length)} chars`);
42434
+ return r;
42435
+ }
42436
+ )
42437
+ );
42429
42438
  if (sid !== void 0) saveStageCheckpoint(sid, "research", { type: "research", text: research });
42430
42439
  const planResult = await runPlanOrResume(prior, task, research, stages);
42431
42440
  if (sid !== void 0) {
@@ -42459,8 +42468,14 @@ async function runImplSecurityPhase(planResult, tasks, stages, sid) {
42459
42468
  const implResult = await implementQaLoop(tasks, stages);
42460
42469
  if (sid !== void 0)
42461
42470
  saveStageCheckpoint(sid, "implement", { type: "implement", tasks: implResult.completedTasks });
42462
- logger39.info("Stage: security scan");
42463
- const security = await stages.securityScan();
42471
+ const security = await withStep(
42472
+ { name: "security-scan", kind: "pipeline.stage" },
42473
+ async (ctx) => {
42474
+ const r = await stages.securityScan();
42475
+ ctx.setSummary(r.passed ? "passed" : "FAILED");
42476
+ return r;
42477
+ }
42478
+ );
42464
42479
  if (sid !== void 0) {
42465
42480
  saveStageCheckpoint(sid, "security", { type: "security", passed: security.passed });
42466
42481
  if (security.passed) cleanupCheckpoint2(sid);
@@ -42499,8 +42514,11 @@ async function runOrResumeDecompose(prior, plan, stages, meta) {
42499
42514
  logger39.info("Resuming from checkpoint", { stage: "decompose" });
42500
42515
  return [...prior.tasks];
42501
42516
  }
42502
- logger39.info("Stage: decompose");
42503
- const tasks = await stages.decompose(plan);
42517
+ const tasks = await withStep({ name: "decompose", kind: "pipeline.stage" }, async (ctx) => {
42518
+ const r = await stages.decompose(plan);
42519
+ ctx.setSummary(`${String(r.length)} tasks`);
42520
+ return r;
42521
+ });
42504
42522
  if (meta.conditional && tasks.length > 0) {
42505
42523
  return tasks.map((t) => ({
42506
42524
  ...t,
@@ -42520,10 +42538,20 @@ async function planVoteLoop(task, research, stages) {
42520
42538
  let feedback;
42521
42539
  let plan = "";
42522
42540
  for (let i = 1; i <= MAX_VOTE_ITERATIONS; i++) {
42523
- logger39.info("Stage: plan", { iteration: i });
42524
- plan = await stages.plan(task, research, feedback);
42525
- logger39.info("Stage: vote", { iteration: i });
42526
- const vote = await stages.vote(plan);
42541
+ plan = await withStep(
42542
+ { name: `plan (i=${String(i)})`, kind: "pipeline.stage", attrs: { iteration: i } },
42543
+ () => stages.plan(task, research, feedback)
42544
+ );
42545
+ const vote = await withStep(
42546
+ { name: `vote (i=${String(i)})`, kind: "consensus.vote", attrs: { iteration: i } },
42547
+ async (ctx) => {
42548
+ const r = await stages.vote(plan);
42549
+ ctx.setSummary(
42550
+ `${String(Math.round(r.approvalPercentage))}% ${isApproved(r) ? "approved" : "rejected"}`
42551
+ );
42552
+ return r;
42553
+ }
42554
+ );
42527
42555
  if (isApproved(vote)) {
42528
42556
  const meta = extractConditionalMeta(vote);
42529
42557
  logger39.info("Plan approved", { iteration: i, approval: vote.approvalPercentage, ...meta });
@@ -42844,7 +42872,7 @@ async function extractSymbolsForTask(task) {
42844
42872
  }
42845
42873
  async function retrieveAdaptiveMemory(task) {
42846
42874
  try {
42847
- const { AdaptiveMemoryBackend } = await import("./adaptive-memory-THOGYVKK.js");
42875
+ const { AdaptiveMemoryBackend } = await import("./adaptive-memory-EDCJHRH3.js");
42848
42876
  const os5 = await import("os");
42849
42877
  const path19 = await import("path");
42850
42878
  const baseDir = path19.join(os5.homedir(), ".nexus-agents", "memory");
@@ -42863,7 +42891,7 @@ async function retrieveAdaptiveMemory(task) {
42863
42891
  }
42864
42892
  async function queryResearchRegistry(task) {
42865
42893
  try {
42866
- const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-A6ZTAYLN.js");
42894
+ const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-MRO44W5J.js");
42867
42895
  const topic = task.split(/[.!?\n]/).filter((s) => s.trim().length > 10)[0]?.trim();
42868
42896
  if (topic === void 0) return null;
42869
42897
  const result = await synthesizeResearch2(topic.slice(0, 50));
@@ -42948,7 +42976,7 @@ function createScanStageWrapper() {
42948
42976
  try {
42949
42977
  const slug = ctx.task.match(/([a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+)/)?.[1];
42950
42978
  if (slug !== void 0) {
42951
- const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-VMTRN3PJ.js");
42979
+ const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-XPOOUKAV.js");
42952
42980
  const plan = await generateSecurityPlan2({ repo: slug, maxScanners: 10 });
42953
42981
  const recs = plan.recommendations.slice(0, 5).map((r) => `${r.priority}: ${r.displayName} (${r.category})`).join("; ");
42954
42982
  ctx.sharedMemory.write("scan", "decision", { recommendations: recs });
@@ -52367,7 +52395,7 @@ var GitHubTaskTracker = class {
52367
52395
  cachedProvider = null;
52368
52396
  async getProvider() {
52369
52397
  if (this.cachedProvider !== null) return this.cachedProvider;
52370
- const { createScmProvider } = await import("./factory-SUZOQZOE.js");
52398
+ const { createScmProvider } = await import("./factory-VEXE4RXU.js");
52371
52399
  const result = await createScmProvider({ repo: this.config.repo ?? "" });
52372
52400
  if (!result.ok) throw new Error(`SCM provider error: ${result.error.message}`);
52373
52401
  this.cachedProvider = result.value;
@@ -53206,4 +53234,4 @@ export {
53206
53234
  detectBackend,
53207
53235
  createTaskTracker
53208
53236
  };
53209
- //# sourceMappingURL=chunk-ILGF6JIL.js.map
53237
+ //# sourceMappingURL=chunk-7DNUEEGG.js.map