nexus-agents 2.114.1 → 2.115.1

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-DL5SVS6K.js → child-mcp-config-FIXBPOVD.js} +2 -2
  2. package/dist/{chunk-NTKWLXXD.js → chunk-24L6ETFP.js} +3 -3
  3. package/dist/{chunk-BUHPYOT3.js → chunk-2JXELXS3.js} +2 -2
  4. package/dist/{chunk-XKPTNVA2.js → chunk-2XEX5PM4.js} +4 -4
  5. package/dist/{chunk-FO4A6HA3.js → chunk-5DOIZUPE.js} +2 -2
  6. package/dist/{chunk-5KYKXB7Q.js → chunk-5JWBFZEO.js} +3 -3
  7. package/dist/{chunk-T74HOH67.js → chunk-6DHDXNOO.js} +7 -7
  8. package/dist/{chunk-H4EXCQCF.js → chunk-7VD5UJCF.js} +7 -7
  9. package/dist/{chunk-AH645A5N.js → chunk-AXKGNVHM.js} +2 -2
  10. package/dist/{chunk-ZPUFJHR5.js → chunk-CVGJKTO4.js} +3 -3
  11. package/dist/{chunk-DHU2YECH.js → chunk-E4K4PLSJ.js} +2 -2
  12. package/dist/{chunk-WFPEX6L6.js → chunk-EQLXZKMD.js} +2 -2
  13. package/dist/{chunk-ZTMLKLVG.js → chunk-GHMFOI3H.js} +2 -2
  14. package/dist/{chunk-25QNW65Q.js → chunk-ILGRBYX6.js} +2 -2
  15. package/dist/{chunk-JZDBMHWP.js → chunk-KEZZWT4W.js} +3 -3
  16. package/dist/{chunk-4I64HTH4.js → chunk-KHGBV3ZL.js} +77 -52
  17. package/dist/{chunk-4I64HTH4.js.map → chunk-KHGBV3ZL.js.map} +1 -1
  18. package/dist/{chunk-INKN7FOJ.js → chunk-KP77F65U.js} +4 -4
  19. package/dist/{chunk-KISVLXVZ.js → chunk-LFX7W2QN.js} +2 -2
  20. package/dist/{chunk-MLWVB6VV.js → chunk-NEBMJARV.js} +4 -4
  21. package/dist/{chunk-XOTVHEL3.js → chunk-NF6ZY2XT.js} +2 -2
  22. package/dist/{chunk-HN6X3WJB.js → chunk-NGE7HWKP.js} +3 -3
  23. package/dist/{chunk-KPDRVYSN.js → chunk-NWMWL6MD.js} +2 -2
  24. package/dist/{chunk-3ZYCKCVG.js → chunk-NZHV7GEK.js} +7 -7
  25. package/dist/{chunk-G633EA23.js → chunk-OGJ6Z6T5.js} +2 -2
  26. package/dist/{chunk-7LS7HZU3.js → chunk-PKKV2ZAT.js} +2 -2
  27. package/dist/{chunk-HEDW5QDP.js → chunk-QTMZCTB6.js} +2 -2
  28. package/dist/{chunk-VJ7WL5MS.js → chunk-SJZZQCZE.js} +5 -5
  29. package/dist/{chunk-XFJHSR5E.js → chunk-TBVXG63Q.js} +3 -3
  30. package/dist/{chunk-USSYZDRI.js → chunk-WBE5HPPW.js} +7 -7
  31. package/dist/{chunk-GMXRM2JU.js → chunk-XKK55K2H.js} +2 -2
  32. package/dist/{chunk-VOXQULHX.js → chunk-Y2QMFZQG.js} +10 -10
  33. package/dist/{chunk-VOXQULHX.js.map → chunk-Y2QMFZQG.js.map} +1 -1
  34. package/dist/{chunk-WYBVAOMA.js → chunk-Z7OI5YXE.js} +2 -2
  35. package/dist/{cli-circuit-breaker-PWQTC7S4.js → cli-circuit-breaker-PIBTMQZS.js} +4 -4
  36. package/dist/cli.js +38 -38
  37. package/dist/{composite-router-ZF3JDFCJ.js → composite-router-MDQ6V7DS.js} +2 -2
  38. package/dist/{consensus-vote-3J473M5O.js → consensus-vote-T576X4MI.js} +12 -12
  39. package/dist/{context-retriever-JSP6PVSJ.js → context-retriever-7SVNDBAF.js} +10 -8
  40. package/dist/{doctor-deep-PTHRYO64.js → doctor-deep-EFTG4336.js} +3 -3
  41. package/dist/{expert-bridge-UOSBT7K5.js → expert-bridge-66RX5OL4.js} +4 -4
  42. package/dist/factory-HRG64OID.js +21 -0
  43. package/dist/{factory-4KDOLJQU.js → factory-UE3K5WPQ.js} +5 -5
  44. package/dist/{improvement-review-G6TDVPUG.js → improvement-review-5HVBJSXJ.js} +4 -4
  45. package/dist/index.js +27 -27
  46. package/dist/{init-opencode-ZVS375BG.js → init-opencode-VUPL5LMH.js} +5 -5
  47. package/dist/{issue-triage-CD2G32WJ.js → issue-triage-TNIWVBLP.js} +5 -5
  48. package/dist/{pr-reviewer-helpers-ZCTY6XLA.js → pr-reviewer-helpers-BXNWNYRF.js} +4 -4
  49. package/dist/{registry-command-IMVEZVGE.js → registry-command-CKZUUPO7.js} +2 -2
  50. package/dist/{repo-security-plan-LCU5QYTR.js → repo-security-plan-FASDE3WF.js} +3 -3
  51. package/dist/{research-helpers-synthesize-RPDK624P.js → research-helpers-synthesize-53UJEEYZ.js} +4 -4
  52. package/dist/{routing-memory-PH5I63ZL.js → routing-memory-XB6HE6ZY.js} +2 -2
  53. package/dist/{session-memory-HNH5MILB.js → session-memory-YSSKNSAI.js} +3 -3
  54. package/dist/{setup-command-XWHUKY7K.js → setup-command-BVMZQHKM.js} +11 -11
  55. package/dist/{setup-config-K7DMKGHB.js → setup-config-MPHZ4MWR.js} +3 -3
  56. package/dist/{setup-custom-api-XAGOCQMH.js → setup-custom-api-OTD7KVPR.js} +3 -3
  57. package/dist/{tool-memory-VMTMXSYX.js → tool-memory-UWRRPM7C.js} +5 -5
  58. package/dist/{weather-report-RYLRL76R.js → weather-report-6ARKPGO7.js} +2 -2
  59. package/package.json +1 -1
  60. package/dist/factory-RLXFNRIA.js +0 -21
  61. /package/dist/{child-mcp-config-DL5SVS6K.js.map → child-mcp-config-FIXBPOVD.js.map} +0 -0
  62. /package/dist/{chunk-NTKWLXXD.js.map → chunk-24L6ETFP.js.map} +0 -0
  63. /package/dist/{chunk-BUHPYOT3.js.map → chunk-2JXELXS3.js.map} +0 -0
  64. /package/dist/{chunk-XKPTNVA2.js.map → chunk-2XEX5PM4.js.map} +0 -0
  65. /package/dist/{chunk-FO4A6HA3.js.map → chunk-5DOIZUPE.js.map} +0 -0
  66. /package/dist/{chunk-5KYKXB7Q.js.map → chunk-5JWBFZEO.js.map} +0 -0
  67. /package/dist/{chunk-T74HOH67.js.map → chunk-6DHDXNOO.js.map} +0 -0
  68. /package/dist/{chunk-H4EXCQCF.js.map → chunk-7VD5UJCF.js.map} +0 -0
  69. /package/dist/{chunk-AH645A5N.js.map → chunk-AXKGNVHM.js.map} +0 -0
  70. /package/dist/{chunk-ZPUFJHR5.js.map → chunk-CVGJKTO4.js.map} +0 -0
  71. /package/dist/{chunk-DHU2YECH.js.map → chunk-E4K4PLSJ.js.map} +0 -0
  72. /package/dist/{chunk-WFPEX6L6.js.map → chunk-EQLXZKMD.js.map} +0 -0
  73. /package/dist/{chunk-ZTMLKLVG.js.map → chunk-GHMFOI3H.js.map} +0 -0
  74. /package/dist/{chunk-25QNW65Q.js.map → chunk-ILGRBYX6.js.map} +0 -0
  75. /package/dist/{chunk-JZDBMHWP.js.map → chunk-KEZZWT4W.js.map} +0 -0
  76. /package/dist/{chunk-INKN7FOJ.js.map → chunk-KP77F65U.js.map} +0 -0
  77. /package/dist/{chunk-KISVLXVZ.js.map → chunk-LFX7W2QN.js.map} +0 -0
  78. /package/dist/{chunk-MLWVB6VV.js.map → chunk-NEBMJARV.js.map} +0 -0
  79. /package/dist/{chunk-XOTVHEL3.js.map → chunk-NF6ZY2XT.js.map} +0 -0
  80. /package/dist/{chunk-HN6X3WJB.js.map → chunk-NGE7HWKP.js.map} +0 -0
  81. /package/dist/{chunk-KPDRVYSN.js.map → chunk-NWMWL6MD.js.map} +0 -0
  82. /package/dist/{chunk-3ZYCKCVG.js.map → chunk-NZHV7GEK.js.map} +0 -0
  83. /package/dist/{chunk-G633EA23.js.map → chunk-OGJ6Z6T5.js.map} +0 -0
  84. /package/dist/{chunk-7LS7HZU3.js.map → chunk-PKKV2ZAT.js.map} +0 -0
  85. /package/dist/{chunk-HEDW5QDP.js.map → chunk-QTMZCTB6.js.map} +0 -0
  86. /package/dist/{chunk-VJ7WL5MS.js.map → chunk-SJZZQCZE.js.map} +0 -0
  87. /package/dist/{chunk-XFJHSR5E.js.map → chunk-TBVXG63Q.js.map} +0 -0
  88. /package/dist/{chunk-USSYZDRI.js.map → chunk-WBE5HPPW.js.map} +0 -0
  89. /package/dist/{chunk-GMXRM2JU.js.map → chunk-XKK55K2H.js.map} +0 -0
  90. /package/dist/{chunk-WYBVAOMA.js.map → chunk-Z7OI5YXE.js.map} +0 -0
  91. /package/dist/{cli-circuit-breaker-PWQTC7S4.js.map → cli-circuit-breaker-PIBTMQZS.js.map} +0 -0
  92. /package/dist/{composite-router-ZF3JDFCJ.js.map → composite-router-MDQ6V7DS.js.map} +0 -0
  93. /package/dist/{consensus-vote-3J473M5O.js.map → consensus-vote-T576X4MI.js.map} +0 -0
  94. /package/dist/{context-retriever-JSP6PVSJ.js.map → context-retriever-7SVNDBAF.js.map} +0 -0
  95. /package/dist/{doctor-deep-PTHRYO64.js.map → doctor-deep-EFTG4336.js.map} +0 -0
  96. /package/dist/{expert-bridge-UOSBT7K5.js.map → expert-bridge-66RX5OL4.js.map} +0 -0
  97. /package/dist/{factory-4KDOLJQU.js.map → factory-HRG64OID.js.map} +0 -0
  98. /package/dist/{factory-RLXFNRIA.js.map → factory-UE3K5WPQ.js.map} +0 -0
  99. /package/dist/{improvement-review-G6TDVPUG.js.map → improvement-review-5HVBJSXJ.js.map} +0 -0
  100. /package/dist/{init-opencode-ZVS375BG.js.map → init-opencode-VUPL5LMH.js.map} +0 -0
  101. /package/dist/{issue-triage-CD2G32WJ.js.map → issue-triage-TNIWVBLP.js.map} +0 -0
  102. /package/dist/{pr-reviewer-helpers-ZCTY6XLA.js.map → pr-reviewer-helpers-BXNWNYRF.js.map} +0 -0
  103. /package/dist/{registry-command-IMVEZVGE.js.map → registry-command-CKZUUPO7.js.map} +0 -0
  104. /package/dist/{repo-security-plan-LCU5QYTR.js.map → repo-security-plan-FASDE3WF.js.map} +0 -0
  105. /package/dist/{research-helpers-synthesize-RPDK624P.js.map → research-helpers-synthesize-53UJEEYZ.js.map} +0 -0
  106. /package/dist/{routing-memory-PH5I63ZL.js.map → routing-memory-XB6HE6ZY.js.map} +0 -0
  107. /package/dist/{session-memory-HNH5MILB.js.map → session-memory-YSSKNSAI.js.map} +0 -0
  108. /package/dist/{setup-command-XWHUKY7K.js.map → setup-command-BVMZQHKM.js.map} +0 -0
  109. /package/dist/{setup-config-K7DMKGHB.js.map → setup-config-MPHZ4MWR.js.map} +0 -0
  110. /package/dist/{setup-custom-api-XAGOCQMH.js.map → setup-custom-api-OTD7KVPR.js.map} +0 -0
  111. /package/dist/{tool-memory-VMTMXSYX.js.map → tool-memory-UWRRPM7C.js.map} +0 -0
  112. /package/dist/{weather-report-RYLRL76R.js.map → weather-report-6ARKPGO7.js.map} +0 -0
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-3ACDP4E6.js";
6
6
  import {
7
7
  executeExpert
8
- } from "./chunk-USSYZDRI.js";
8
+ } from "./chunk-WBE5HPPW.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-3ZYCKCVG.js";
29
+ } from "./chunk-NZHV7GEK.js";
30
30
  import {
31
31
  normalizeTopicToCanonical,
32
32
  synthesizeResearch
33
- } from "./chunk-HN6X3WJB.js";
33
+ } from "./chunk-NGE7HWKP.js";
34
34
  import {
35
35
  IssueTriage,
36
36
  createAuditTrail,
37
37
  createGraphAuditBridge
38
- } from "./chunk-XKPTNVA2.js";
38
+ } from "./chunk-2XEX5PM4.js";
39
39
  import {
40
40
  resolveEnvMode,
41
41
  sanitizeInput
42
- } from "./chunk-XOTVHEL3.js";
42
+ } from "./chunk-NF6ZY2XT.js";
43
43
  import {
44
44
  withPrerequisite
45
- } from "./chunk-5KYKXB7Q.js";
45
+ } from "./chunk-5JWBFZEO.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-GMXRM2JU.js";
65
+ } from "./chunk-XKK55K2H.js";
66
66
  import {
67
67
  generateSecurityPlan
68
- } from "./chunk-WFPEX6L6.js";
68
+ } from "./chunk-EQLXZKMD.js";
69
69
  import {
70
70
  analyzeGitHubRepo
71
71
  } from "./chunk-HFOQKCD2.js";
@@ -88,32 +88,33 @@ import {
88
88
  formatResearchIssueBody,
89
89
  generateStatsJson,
90
90
  getContextForTask,
91
+ getResearchInsightsForTask,
91
92
  getResearchStatus,
92
93
  inferTaskCategory,
93
94
  paperExists,
94
95
  parseRegistry,
95
96
  sourceExistsInRegistry,
96
97
  summarizeContextForPrompt
97
- } from "./chunk-VOXQULHX.js";
98
+ } from "./chunk-Y2QMFZQG.js";
98
99
  import {
99
100
  getTokenEnvVars,
100
101
  resolveToken
101
- } from "./chunk-HEDW5QDP.js";
102
+ } from "./chunk-QTMZCTB6.js";
102
103
  import {
103
104
  loadPapersRegistry,
104
105
  loadTechniquesRegistry
105
- } from "./chunk-FO4A6HA3.js";
106
+ } from "./chunk-5DOIZUPE.js";
106
107
  import {
107
108
  DEFAULT_RELEVANCE_CONFIG,
108
109
  MemoryImportance,
109
110
  calculateTextJaccardSimilarity,
110
111
  getToolMemory
111
- } from "./chunk-MLWVB6VV.js";
112
+ } from "./chunk-NEBMJARV.js";
112
113
  import {
113
114
  DEFAULT_TASK_TTL_MS,
114
115
  DEFAULT_TOOL_RATE_LIMITS,
115
116
  clampTaskTtl
116
- } from "./chunk-T74HOH67.js";
117
+ } from "./chunk-6DHDXNOO.js";
117
118
  import {
118
119
  resolveInsideRoot
119
120
  } from "./chunk-NUBSJGQZ.js";
@@ -128,19 +129,19 @@ import {
128
129
  getAvailableClis,
129
130
  sleep,
130
131
  withTimeout
131
- } from "./chunk-H4EXCQCF.js";
132
+ } from "./chunk-7VD5UJCF.js";
132
133
  import {
133
134
  DEFAULTS
134
- } from "./chunk-KPDRVYSN.js";
135
+ } from "./chunk-NWMWL6MD.js";
135
136
  import {
136
137
  getAvailabilityCache,
137
138
  getCliForModelId,
138
139
  resolveFallback
139
- } from "./chunk-25QNW65Q.js";
140
+ } from "./chunk-ILGRBYX6.js";
140
141
  import {
141
142
  generateHyphenId,
142
143
  generateUUID
143
- } from "./chunk-BUHPYOT3.js";
144
+ } from "./chunk-2JXELXS3.js";
144
145
  import {
145
146
  BUILT_IN_EXPERTS,
146
147
  BuiltInExpertTypeSchema,
@@ -152,7 +153,7 @@ import {
152
153
  } from "./chunk-PQHVC4BD.js";
153
154
  import {
154
155
  createSessionMemory
155
- } from "./chunk-7LS7HZU3.js";
156
+ } from "./chunk-PKKV2ZAT.js";
156
157
  import {
157
158
  AGENT_ROUTER_TIMEOUTS,
158
159
  ARCHITECTURE_KEYWORDS,
@@ -226,7 +227,7 @@ import {
226
227
  routingArmDisplaySlot,
227
228
  toExpertTaskAnalysisResult,
228
229
  withStep
229
- } from "./chunk-DHU2YECH.js";
230
+ } from "./chunk-E4K4PLSJ.js";
230
231
  import {
231
232
  nexusDataPath,
232
233
  nexusDataPathEnsure
@@ -26279,7 +26280,7 @@ async function populateUnifiedContextOnState(state) {
26279
26280
  try {
26280
26281
  const taskCandidate = state["task"];
26281
26282
  if (typeof taskCandidate !== "string" || taskCandidate === "") return;
26282
- const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-JSP6PVSJ.js");
26283
+ const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-7SVNDBAF.js");
26283
26284
  const ctx = await getContextForTask2({
26284
26285
  task: taskCandidate,
26285
26286
  category: inferTaskCategory2(taskCandidate),
@@ -40756,7 +40757,7 @@ async function tryIssueTriage(task) {
40756
40757
  try {
40757
40758
  const issueMatch = task.match(/github\.com\/([^/]+\/[^/]+)\/issues\/(\d+)/);
40758
40759
  if (issueMatch === null) return null;
40759
- const { createIssueTriage } = await import("./issue-triage-CD2G32WJ.js");
40760
+ const { createIssueTriage } = await import("./issue-triage-TNIWVBLP.js");
40760
40761
  const triage = createIssueTriage();
40761
40762
  const owner = issueMatch[1] ?? "";
40762
40763
  const num = issueMatch[2] ?? "";
@@ -40784,7 +40785,7 @@ var VALID_TEMPLATES = /* @__PURE__ */ new Set([
40784
40785
  ]);
40785
40786
  async function classifyWithLLM(task) {
40786
40787
  try {
40787
- const { executeExpert: executeExpert2 } = await import("./expert-bridge-UOSBT7K5.js");
40788
+ const { executeExpert: executeExpert2 } = await import("./expert-bridge-66RX5OL4.js");
40788
40789
  const prompt = [
40789
40790
  "Classify this task into exactly one pipeline template.",
40790
40791
  "Templates: dev (implementation/bug fix/refactor), research (investigate/evaluate/compare),",
@@ -41704,7 +41705,7 @@ var memoryInitPromise = null;
41704
41705
  async function initPipelineMemory() {
41705
41706
  if (cachedMemory !== null) return cachedMemory;
41706
41707
  try {
41707
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-HNH5MILB.js");
41708
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-YSSKNSAI.js");
41708
41709
  const { getLearningDir } = await import("./learning-persistence-UKPO7RYK.js");
41709
41710
  const mem = createSessionMemory2(getLearningDir());
41710
41711
  mem.startSession(`pipeline-${String(getTimeProvider().now())}`);
@@ -41761,7 +41762,7 @@ function recordRoutingExperience(category, success, durationMs, tokensUsed = 0)
41761
41762
  callRecord(routingMemoryCache);
41762
41763
  return;
41763
41764
  }
41764
- routingMemoryInitPromise ??= import("./routing-memory-PH5I63ZL.js").then(({ createRoutingMemory }) => {
41765
+ routingMemoryInitPromise ??= import("./routing-memory-XB6HE6ZY.js").then(({ createRoutingMemory }) => {
41765
41766
  routingMemoryCache ??= createRoutingMemory();
41766
41767
  return routingMemoryCache;
41767
41768
  }).catch((error) => {
@@ -41795,7 +41796,7 @@ ${text}` : "";
41795
41796
  }
41796
41797
  async function getWeatherContext() {
41797
41798
  try {
41798
- const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-RYLRL76R.js");
41799
+ const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-6ARKPGO7.js");
41799
41800
  const report = generateWeatherReport2({ includeAdaptive: true });
41800
41801
  const mappings = "recommendedMappings" in report ? report.recommendedMappings : [];
41801
41802
  if (!Array.isArray(mappings) || mappings.length === 0) return "";
@@ -41813,7 +41814,7 @@ ${lines}
41813
41814
  }
41814
41815
  async function getMemoryContext(task) {
41815
41816
  try {
41816
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-HNH5MILB.js");
41817
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-YSSKNSAI.js");
41817
41818
  const { getLearningDir } = await import("./learning-persistence-UKPO7RYK.js");
41818
41819
  const memory = createSessionMemory2(getLearningDir(), { maxLearningsInContext: 10 });
41819
41820
  const learnings = memory.searchLearnings(task.slice(0, 200));
@@ -41924,7 +41925,7 @@ ${contextBlock}`;
41924
41925
  const strategy = config.votingStrategy ?? "higher_order";
41925
41926
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
41926
41927
  try {
41927
- const { executeVoting } = await import("./consensus-vote-3J473M5O.js");
41928
+ const { executeVoting } = await import("./consensus-vote-T576X4MI.js");
41928
41929
  const votingResult = await executeVoting(
41929
41930
  {
41930
41931
  proposal: buildVoteProposal(plan, research),
@@ -42373,7 +42374,6 @@ async function runDevPipeline(task, stages, options) {
42373
42374
  async function runDevPipelineInner(task, stages, options, sid, prior) {
42374
42375
  const bm = options?.beliefMemory;
42375
42376
  const { planResult } = await runPlanningPhase(task, stages, sid, prior, bm);
42376
- reinforcePlanBeliefs(bm, task, planResult.iterations);
42377
42377
  if (options?.dryRun === true) {
42378
42378
  logger43.info("Dry run \u2014 stopping after plan+vote");
42379
42379
  return buildDryRunResult(planResult);
@@ -42421,19 +42421,6 @@ async function flushTraceWriter(writer) {
42421
42421
  writer.stop();
42422
42422
  }
42423
42423
  }
42424
- function reinforcePlanBeliefs(bm, task, iterations) {
42425
- if (bm === void 0) return;
42426
- const beliefId = `plan-approach:${task.slice(0, 80)}`;
42427
- const logBmError = (op) => (error) => {
42428
- const msg = error instanceof Error ? error.message : String(error);
42429
- logger43.debug(`Belief-memory ${op} failed`, { beliefId, error: msg });
42430
- };
42431
- if (iterations <= 1) {
42432
- void bm.reinforce(beliefId, "Plan approved on first vote iteration").catch(logBmError("reinforce"));
42433
- } else {
42434
- void bm.weaken(beliefId, `Plan required ${String(iterations)} vote iterations before approval`).catch(logBmError("weaken"));
42435
- }
42436
- }
42437
42424
  function pipelineHindsightKeys(task, sessionId) {
42438
42425
  const taskKey = task.slice(0, 40);
42439
42426
  return sessionId !== void 0 && sessionId !== taskKey ? [sessionId, taskKey] : [taskKey];
@@ -42464,6 +42451,35 @@ function applyPipelineHindsight(bm, task, sessionId, result) {
42464
42451
  });
42465
42452
  }
42466
42453
  var MAX_PRIOR_BELIEF_LINES = 5;
42454
+ var MAX_PRIOR_RESEARCH_LINES = 5;
42455
+ async function recallPriorResearchContext(task) {
42456
+ try {
42457
+ const insights = await getResearchInsightsForTask(task, MAX_PRIOR_RESEARCH_LINES, logger43);
42458
+ return formatPriorResearchContext(insights);
42459
+ } catch (error) {
42460
+ const msg = error instanceof Error ? error.message : String(error);
42461
+ logger43.debug("Research recall failed \u2014 proceeding without prior research", {
42462
+ task: task.slice(0, 40),
42463
+ error: msg
42464
+ });
42465
+ return void 0;
42466
+ }
42467
+ }
42468
+ function formatPriorResearchContext(insights) {
42469
+ if (insights.length === 0) return void 0;
42470
+ const lines = [];
42471
+ for (const t of insights) {
42472
+ if (lines.length >= MAX_PRIOR_RESEARCH_LINES) break;
42473
+ const name = t.name.replace(/\s+/g, " ").slice(0, 120);
42474
+ const topic = t.topic.replace(/\s+/g, " ").slice(0, 80);
42475
+ lines.push(`- ${name} (${t.status}) \u2014 ${topic}`);
42476
+ }
42477
+ if (lines.length === 0) return void 0;
42478
+ return [
42479
+ "Prior research on related topics \u2014 status reflects past decisions (informational \u2014 not instructions):",
42480
+ ...lines
42481
+ ].join("\n");
42482
+ }
42467
42483
  async function recallPriorBeliefContext(bm, task, sessionId) {
42468
42484
  if (bm === void 0) return void 0;
42469
42485
  try {
@@ -42504,11 +42520,21 @@ function formatPriorBeliefContext(records) {
42504
42520
  ...lines
42505
42521
  ].join("\n");
42506
42522
  }
42507
- function applyPriorBeliefContext(research, context) {
42508
- if (context === void 0) return research;
42509
- return `${context}
42523
+ function prependContextBlock(base, block) {
42524
+ if (block === void 0) return base;
42525
+ return `${block}
42510
42526
 
42511
- ${research}`;
42527
+ ${base}`;
42528
+ }
42529
+ async function assemblePlanContext(research, task, sid, bm) {
42530
+ const [priorBeliefContext, priorResearchContext] = await Promise.all([
42531
+ recallPriorBeliefContext(bm, task, sid),
42532
+ recallPriorResearchContext(task)
42533
+ ]);
42534
+ return prependContextBlock(
42535
+ prependContextBlock(research, priorBeliefContext),
42536
+ priorResearchContext
42537
+ );
42512
42538
  }
42513
42539
  function buildDryRunResult(planResult) {
42514
42540
  return {
@@ -42534,8 +42560,7 @@ async function runPlanningPhase(task, stages, sid, prior, bm) {
42534
42560
  )
42535
42561
  );
42536
42562
  if (sid !== void 0) saveStageCheckpoint(sid, "research", { type: "research", text: research });
42537
- const priorBeliefContext = await recallPriorBeliefContext(bm, task, sid);
42538
- const planContext = applyPriorBeliefContext(research, priorBeliefContext);
42563
+ const planContext = await assemblePlanContext(research, task, sid, bm);
42539
42564
  const planResult = await runPlanOrResume(prior, task, planContext, stages, sid);
42540
42565
  if (sid !== void 0) {
42541
42566
  saveStageCheckpoint(sid, "plan", {
@@ -42976,7 +43001,7 @@ async function searchCodebaseForTask(task) {
42976
43001
  }
42977
43002
  async function queryResearchRegistry(task) {
42978
43003
  try {
42979
- const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-RPDK624P.js");
43004
+ const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-53UJEEYZ.js");
42980
43005
  const topic = task.split(/[.!?\n]/).filter((s) => s.trim().length > 10)[0]?.trim();
42981
43006
  if (topic === void 0) return null;
42982
43007
  const result = await synthesizeResearch2(topic.slice(0, 50));
@@ -43047,7 +43072,7 @@ function createScanStageWrapper() {
43047
43072
  try {
43048
43073
  const slug = ctx.task.match(/([a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+)/)?.[1];
43049
43074
  if (slug !== void 0) {
43050
- const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-LCU5QYTR.js");
43075
+ const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-FASDE3WF.js");
43051
43076
  const plan = await generateSecurityPlan2({ repo: slug, maxScanners: 10 });
43052
43077
  const recs = plan.recommendations.slice(0, 5).map((r) => `${r.priority}: ${r.displayName} (${r.category})`).join("; ");
43053
43078
  return output(PIPELINE_STATE_KEYS.FINDINGS, recs, getTimeProvider().now() - start, true);
@@ -44573,7 +44598,7 @@ async function probeSource(source, includeModelIds) {
44573
44598
  }
44574
44599
  }
44575
44600
  async function defaultSources(includeOpenRouter) {
44576
- const { createAllAdapters: createAllAdapters2 } = await import("./factory-RLXFNRIA.js");
44601
+ const { createAllAdapters: createAllAdapters2 } = await import("./factory-HRG64OID.js");
44577
44602
  const adapters = createAllAdapters2();
44578
44603
  return buildDefaultModelSources(adapters, { includeOpenRouter });
44579
44604
  }
@@ -48188,7 +48213,7 @@ var GitHubTaskTracker = class {
48188
48213
  cachedProvider = null;
48189
48214
  async getProvider() {
48190
48215
  if (this.cachedProvider !== null) return this.cachedProvider;
48191
- const { createScmProvider } = await import("./factory-4KDOLJQU.js");
48216
+ const { createScmProvider } = await import("./factory-UE3K5WPQ.js");
48192
48217
  const result = await createScmProvider({ repo: this.config.repo ?? "" });
48193
48218
  if (!result.ok) throw new Error(`SCM provider error: ${result.error.message}`);
48194
48219
  this.cachedProvider = result.value;
@@ -48878,4 +48903,4 @@ export {
48878
48903
  detectBackend,
48879
48904
  createTaskTracker
48880
48905
  };
48881
- //# sourceMappingURL=chunk-4I64HTH4.js.map
48906
+ //# sourceMappingURL=chunk-KHGBV3ZL.js.map