nexus-agents 5.0.6 → 6.0.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 (125) hide show
  1. package/dist/{child-mcp-config-PIZSE56V.js → child-mcp-config-IWSFAWKW.js} +2 -2
  2. package/dist/{chunk-5VP6WPEI.js → chunk-27CHC2RT.js} +2 -2
  3. package/dist/{chunk-GFDE5IAZ.js → chunk-36BLV4HK.js} +3 -3
  4. package/dist/{chunk-2I5BBD6U.js → chunk-4B54LFAT.js} +5 -5
  5. package/dist/chunk-4KD3EDZ5.js +7 -0
  6. package/dist/{chunk-D6QLJAIZ.js → chunk-5F2NHVDI.js} +8 -8
  7. package/dist/{chunk-BK6WBB43.js → chunk-6L4CAPY3.js} +7 -7
  8. package/dist/{chunk-OOGKQTDN.js → chunk-6ME3ITZE.js} +2 -2
  9. package/dist/{chunk-FDWB4PUV.js → chunk-BUA6XJYA.js} +2 -2
  10. package/dist/{chunk-SY54YKTT.js → chunk-CLCZ4OSN.js} +2 -2
  11. package/dist/{chunk-GTMJPNPR.js → chunk-CLNF77U7.js} +2 -2
  12. package/dist/{chunk-QP54NGPU.js → chunk-D5TDISHQ.js} +3 -3
  13. package/dist/{chunk-ROCFIXAK.js → chunk-DRVMOA3O.js} +2 -2
  14. package/dist/{chunk-OCFY37TZ.js → chunk-DSCUFZOH.js} +2 -2
  15. package/dist/{chunk-LO5I265X.js → chunk-ECOAVGFR.js} +45 -62
  16. package/dist/chunk-ECOAVGFR.js.map +1 -0
  17. package/dist/{chunk-K4OBRS4D.js → chunk-FLZ4HLEX.js} +2 -2
  18. package/dist/{chunk-FNUX7Z4V.js → chunk-GEJZJJ3K.js} +4 -4
  19. package/dist/{chunk-GSK2JRVW.js → chunk-GMJEGWDI.js} +8 -8
  20. package/dist/{chunk-Q36RQS7J.js → chunk-H6RKH6WM.js} +3 -3
  21. package/dist/{chunk-5MQPSHIG.js → chunk-HFYSK6QJ.js} +7 -7
  22. package/dist/{chunk-FWBR6DZO.js → chunk-KSB7BA4I.js} +2 -2
  23. package/dist/{chunk-6OPLDOJG.js → chunk-LX5IYPWT.js} +7 -6
  24. package/dist/chunk-LX5IYPWT.js.map +1 -0
  25. package/dist/{chunk-P7IHQSCC.js → chunk-MLDDCRER.js} +4 -4
  26. package/dist/{chunk-ZXTOZ7B3.js → chunk-MUEJPAGI.js} +6 -6
  27. package/dist/{chunk-NDVKXAK5.js → chunk-NBXWLWON.js} +2 -2
  28. package/dist/{chunk-VX6VNBCU.js → chunk-OX7EEJRF.js} +4 -4
  29. package/dist/{chunk-R66FJKP4.js → chunk-QSXXNGHT.js} +5 -5
  30. package/dist/{chunk-TIOXRJK3.js → chunk-QXUR4YUG.js} +2 -2
  31. package/dist/{chunk-JOY5IRVR.js → chunk-RMZPEV7T.js} +2 -2
  32. package/dist/{chunk-AS4B7KCT.js → chunk-UEE5Q7NZ.js} +2 -2
  33. package/dist/{chunk-BGGS3PH2.js → chunk-Y5FOSK35.js} +2 -2
  34. package/dist/{chunk-FU45UMX5.js → chunk-YJF46WLY.js} +2 -2
  35. package/dist/{chunk-F67CLL5B.js → chunk-YXBG5QEM.js} +2 -2
  36. package/dist/{chunk-TC2QG4U3.js → chunk-ZRFL3DXX.js} +4 -4
  37. package/dist/{cli-circuit-breaker-YEQKBXCN.js → cli-circuit-breaker-4RVYA7PH.js} +3 -3
  38. package/dist/cli.js +41 -41
  39. package/dist/{composite-router-7D45ZSSG.js → composite-router-F7XYQ7CQ.js} +2 -2
  40. package/dist/{consensus-vote-PVIKQYBF.js → consensus-vote-JURFA4U2.js} +17 -17
  41. package/dist/{context-retriever-3R3BWMEW.js → context-retriever-NSVQPXT5.js} +8 -8
  42. package/dist/{doctor-deep-ECI74ALB.js → doctor-deep-PJZP7TJS.js} +3 -3
  43. package/dist/{doctor-live-OBEZKBNU.js → doctor-live-LDTTQLNF.js} +9 -9
  44. package/dist/{expert-bridge-XIFIEXQM.js → expert-bridge-LEXXNSTY.js} +4 -4
  45. package/dist/{factory-3T6NTUDH.js → factory-KY34GTK6.js} +9 -9
  46. package/dist/{factory-2TN6OVWR.js → factory-VA3WWJB5.js} +5 -5
  47. package/dist/{improvement-review-LYT3GMFM.js → improvement-review-M4SFW7LN.js} +6 -6
  48. package/dist/index.d.ts +0 -7
  49. package/dist/index.js +31 -31
  50. package/dist/{init-opencode-SIT4DIQ4.js → init-opencode-TCVCZFTB.js} +6 -6
  51. package/dist/issue-triage-XRYQL5HZ.js +17 -0
  52. package/dist/{pr-reviewer-helpers-NL7YXDAO.js → pr-reviewer-helpers-4C4GKDEU.js} +4 -4
  53. package/dist/{registry-command-UBUAESO2.js → registry-command-GLKF6USW.js} +2 -2
  54. package/dist/{repo-security-plan-MK3OFGIC.js → repo-security-plan-XAOIZOMP.js} +3 -3
  55. package/dist/{research-helpers-synthesize-UZGA2H5E.js → research-helpers-synthesize-ULEA7TQG.js} +4 -4
  56. package/dist/{routing-memory-GSOJXKYR.js → routing-memory-IRHKYUZA.js} +2 -2
  57. package/dist/{session-memory-QK544BZF.js → session-memory-WDYRPZV2.js} +3 -3
  58. package/dist/{setup-config-AXDZQQZD.js → setup-config-TAV64QON.js} +3 -3
  59. package/dist/{setup-custom-api-JNLX5DPO.js → setup-custom-api-PTLWT7QX.js} +4 -4
  60. package/dist/setup-data-dir-LBJI4GUM.js +29 -0
  61. package/dist/{tool-memory-DYW3QKJZ.js → tool-memory-L4GEPIYU.js} +5 -5
  62. package/dist/{unified-registry-ZRG3SO3X.js → unified-registry-TSLD6KHS.js} +10 -10
  63. package/dist/{weather-report-JQGPC6ZC.js → weather-report-VY3S6KVG.js} +2 -2
  64. package/package.json +1 -1
  65. package/dist/chunk-6OPLDOJG.js.map +0 -1
  66. package/dist/chunk-LO5I265X.js.map +0 -1
  67. package/dist/chunk-OVX5LYEJ.js +0 -7
  68. package/dist/issue-triage-42TGOOZX.js +0 -17
  69. package/dist/setup-data-dir-X6VWI4ZZ.js +0 -29
  70. /package/dist/{child-mcp-config-PIZSE56V.js.map → child-mcp-config-IWSFAWKW.js.map} +0 -0
  71. /package/dist/{chunk-5VP6WPEI.js.map → chunk-27CHC2RT.js.map} +0 -0
  72. /package/dist/{chunk-GFDE5IAZ.js.map → chunk-36BLV4HK.js.map} +0 -0
  73. /package/dist/{chunk-2I5BBD6U.js.map → chunk-4B54LFAT.js.map} +0 -0
  74. /package/dist/{chunk-OVX5LYEJ.js.map → chunk-4KD3EDZ5.js.map} +0 -0
  75. /package/dist/{chunk-D6QLJAIZ.js.map → chunk-5F2NHVDI.js.map} +0 -0
  76. /package/dist/{chunk-BK6WBB43.js.map → chunk-6L4CAPY3.js.map} +0 -0
  77. /package/dist/{chunk-OOGKQTDN.js.map → chunk-6ME3ITZE.js.map} +0 -0
  78. /package/dist/{chunk-FDWB4PUV.js.map → chunk-BUA6XJYA.js.map} +0 -0
  79. /package/dist/{chunk-SY54YKTT.js.map → chunk-CLCZ4OSN.js.map} +0 -0
  80. /package/dist/{chunk-GTMJPNPR.js.map → chunk-CLNF77U7.js.map} +0 -0
  81. /package/dist/{chunk-QP54NGPU.js.map → chunk-D5TDISHQ.js.map} +0 -0
  82. /package/dist/{chunk-ROCFIXAK.js.map → chunk-DRVMOA3O.js.map} +0 -0
  83. /package/dist/{chunk-OCFY37TZ.js.map → chunk-DSCUFZOH.js.map} +0 -0
  84. /package/dist/{chunk-K4OBRS4D.js.map → chunk-FLZ4HLEX.js.map} +0 -0
  85. /package/dist/{chunk-FNUX7Z4V.js.map → chunk-GEJZJJ3K.js.map} +0 -0
  86. /package/dist/{chunk-GSK2JRVW.js.map → chunk-GMJEGWDI.js.map} +0 -0
  87. /package/dist/{chunk-Q36RQS7J.js.map → chunk-H6RKH6WM.js.map} +0 -0
  88. /package/dist/{chunk-5MQPSHIG.js.map → chunk-HFYSK6QJ.js.map} +0 -0
  89. /package/dist/{chunk-FWBR6DZO.js.map → chunk-KSB7BA4I.js.map} +0 -0
  90. /package/dist/{chunk-P7IHQSCC.js.map → chunk-MLDDCRER.js.map} +0 -0
  91. /package/dist/{chunk-ZXTOZ7B3.js.map → chunk-MUEJPAGI.js.map} +0 -0
  92. /package/dist/{chunk-NDVKXAK5.js.map → chunk-NBXWLWON.js.map} +0 -0
  93. /package/dist/{chunk-VX6VNBCU.js.map → chunk-OX7EEJRF.js.map} +0 -0
  94. /package/dist/{chunk-R66FJKP4.js.map → chunk-QSXXNGHT.js.map} +0 -0
  95. /package/dist/{chunk-TIOXRJK3.js.map → chunk-QXUR4YUG.js.map} +0 -0
  96. /package/dist/{chunk-JOY5IRVR.js.map → chunk-RMZPEV7T.js.map} +0 -0
  97. /package/dist/{chunk-AS4B7KCT.js.map → chunk-UEE5Q7NZ.js.map} +0 -0
  98. /package/dist/{chunk-BGGS3PH2.js.map → chunk-Y5FOSK35.js.map} +0 -0
  99. /package/dist/{chunk-FU45UMX5.js.map → chunk-YJF46WLY.js.map} +0 -0
  100. /package/dist/{chunk-F67CLL5B.js.map → chunk-YXBG5QEM.js.map} +0 -0
  101. /package/dist/{chunk-TC2QG4U3.js.map → chunk-ZRFL3DXX.js.map} +0 -0
  102. /package/dist/{cli-circuit-breaker-YEQKBXCN.js.map → cli-circuit-breaker-4RVYA7PH.js.map} +0 -0
  103. /package/dist/{composite-router-7D45ZSSG.js.map → composite-router-F7XYQ7CQ.js.map} +0 -0
  104. /package/dist/{consensus-vote-PVIKQYBF.js.map → consensus-vote-JURFA4U2.js.map} +0 -0
  105. /package/dist/{context-retriever-3R3BWMEW.js.map → context-retriever-NSVQPXT5.js.map} +0 -0
  106. /package/dist/{doctor-deep-ECI74ALB.js.map → doctor-deep-PJZP7TJS.js.map} +0 -0
  107. /package/dist/{doctor-live-OBEZKBNU.js.map → doctor-live-LDTTQLNF.js.map} +0 -0
  108. /package/dist/{expert-bridge-XIFIEXQM.js.map → expert-bridge-LEXXNSTY.js.map} +0 -0
  109. /package/dist/{factory-2TN6OVWR.js.map → factory-KY34GTK6.js.map} +0 -0
  110. /package/dist/{factory-3T6NTUDH.js.map → factory-VA3WWJB5.js.map} +0 -0
  111. /package/dist/{improvement-review-LYT3GMFM.js.map → improvement-review-M4SFW7LN.js.map} +0 -0
  112. /package/dist/{init-opencode-SIT4DIQ4.js.map → init-opencode-TCVCZFTB.js.map} +0 -0
  113. /package/dist/{issue-triage-42TGOOZX.js.map → issue-triage-XRYQL5HZ.js.map} +0 -0
  114. /package/dist/{pr-reviewer-helpers-NL7YXDAO.js.map → pr-reviewer-helpers-4C4GKDEU.js.map} +0 -0
  115. /package/dist/{registry-command-UBUAESO2.js.map → registry-command-GLKF6USW.js.map} +0 -0
  116. /package/dist/{repo-security-plan-MK3OFGIC.js.map → repo-security-plan-XAOIZOMP.js.map} +0 -0
  117. /package/dist/{research-helpers-synthesize-UZGA2H5E.js.map → research-helpers-synthesize-ULEA7TQG.js.map} +0 -0
  118. /package/dist/{routing-memory-GSOJXKYR.js.map → routing-memory-IRHKYUZA.js.map} +0 -0
  119. /package/dist/{session-memory-QK544BZF.js.map → session-memory-WDYRPZV2.js.map} +0 -0
  120. /package/dist/{setup-config-AXDZQQZD.js.map → setup-config-TAV64QON.js.map} +0 -0
  121. /package/dist/{setup-custom-api-JNLX5DPO.js.map → setup-custom-api-PTLWT7QX.js.map} +0 -0
  122. /package/dist/{setup-data-dir-X6VWI4ZZ.js.map → setup-data-dir-LBJI4GUM.js.map} +0 -0
  123. /package/dist/{tool-memory-DYW3QKJZ.js.map → tool-memory-L4GEPIYU.js.map} +0 -0
  124. /package/dist/{unified-registry-ZRG3SO3X.js.map → unified-registry-TSLD6KHS.js.map} +0 -0
  125. /package/dist/{weather-report-JQGPC6ZC.js.map → weather-report-VY3S6KVG.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  generateSecurityPlan
3
- } from "./chunk-JOY5IRVR.js";
3
+ } from "./chunk-RMZPEV7T.js";
4
4
  import {
5
5
  analyzeGitHubRepo
6
6
  } from "./chunk-HFOQKCD2.js";
@@ -21,10 +21,10 @@ import {
21
21
  import {
22
22
  DEFAULT_TASK_TTL_MS,
23
23
  clampTaskTtl
24
- } from "./chunk-BK6WBB43.js";
24
+ } from "./chunk-6L4CAPY3.js";
25
25
  import {
26
26
  executeExpert
27
- } from "./chunk-5MQPSHIG.js";
27
+ } from "./chunk-HFYSK6QJ.js";
28
28
  import {
29
29
  JobStatusSchema,
30
30
  VOTER_ROLES,
@@ -47,24 +47,24 @@ import {
47
47
  simulationDeniedResult,
48
48
  toJobSummary,
49
49
  writeJobCancelled
50
- } from "./chunk-D6QLJAIZ.js";
50
+ } from "./chunk-5F2NHVDI.js";
51
51
  import {
52
52
  allOf
53
53
  } from "./chunk-OQB3XC5O.js";
54
54
  import {
55
55
  normalizeTopicToCanonical,
56
56
  synthesizeResearch
57
- } from "./chunk-GFDE5IAZ.js";
57
+ } from "./chunk-36BLV4HK.js";
58
58
  import {
59
59
  IssueTriage
60
- } from "./chunk-ZXTOZ7B3.js";
60
+ } from "./chunk-MUEJPAGI.js";
61
61
  import {
62
62
  resolveEnvMode,
63
63
  sanitizeInput
64
- } from "./chunk-FU45UMX5.js";
64
+ } from "./chunk-YJF46WLY.js";
65
65
  import {
66
66
  withPrerequisite
67
- } from "./chunk-QP54NGPU.js";
67
+ } from "./chunk-D5TDISHQ.js";
68
68
  import {
69
69
  NOOP_NOTIFIER,
70
70
  RateLimiter,
@@ -88,18 +88,18 @@ import {
88
88
  withAuditTrail,
89
89
  withProgressHeartbeat,
90
90
  wrapToolWithTimeout
91
- } from "./chunk-FNUX7Z4V.js";
91
+ } from "./chunk-GEJZJJ3K.js";
92
92
  import {
93
93
  createAuditTrail,
94
94
  createGraphAuditBridge,
95
95
  emitPipelinePolicyEvent
96
- } from "./chunk-OOGKQTDN.js";
96
+ } from "./chunk-6ME3ITZE.js";
97
97
  import {
98
98
  EventTopics,
99
99
  createEvent,
100
100
  getGlobalEventBus,
101
101
  getGlobalRegistry
102
- } from "./chunk-TC2QG4U3.js";
102
+ } from "./chunk-ZRFL3DXX.js";
103
103
  import {
104
104
  IDENTIFIER_RE,
105
105
  LANG_VALUES,
@@ -132,29 +132,29 @@ import {
132
132
  parseRegistry,
133
133
  sourceExistsInRegistry,
134
134
  summarizeContextForPrompt
135
- } from "./chunk-2I5BBD6U.js";
135
+ } from "./chunk-4B54LFAT.js";
136
136
  import {
137
137
  loadPapersRegistry,
138
138
  loadTechniquesRegistry,
139
139
  resolveInsideRoot
140
- } from "./chunk-F67CLL5B.js";
140
+ } from "./chunk-YXBG5QEM.js";
141
141
  import {
142
142
  getTokenEnvVars,
143
143
  resolveToken
144
- } from "./chunk-FWBR6DZO.js";
144
+ } from "./chunk-KSB7BA4I.js";
145
145
  import {
146
146
  DEFAULT_RELEVANCE_CONFIG,
147
147
  MemoryImportance,
148
148
  calculateTextJaccardSimilarity,
149
149
  getToolMemory
150
- } from "./chunk-P7IHQSCC.js";
150
+ } from "./chunk-MLDDCRER.js";
151
151
  import {
152
152
  STOPWORDS,
153
153
  truncateWithInfo
154
154
  } from "./chunk-6T3EPABN.js";
155
155
  import {
156
156
  createSessionMemory
157
- } from "./chunk-OCFY37TZ.js";
157
+ } from "./chunk-DSCUFZOH.js";
158
158
  import {
159
159
  BUILT_IN_EXPERTS,
160
160
  BuiltInExpertTypeSchema,
@@ -172,25 +172,25 @@ import {
172
172
  getAvailableClis,
173
173
  sleep,
174
174
  withTimeout
175
- } from "./chunk-GSK2JRVW.js";
175
+ } from "./chunk-GMJEGWDI.js";
176
176
  import {
177
177
  BaseAdapter,
178
178
  createStream,
179
179
  requireApiKey,
180
180
  validateApiKeyPresence
181
- } from "./chunk-ROCFIXAK.js";
181
+ } from "./chunk-DRVMOA3O.js";
182
182
  import {
183
183
  DEFAULTS
184
- } from "./chunk-SY54YKTT.js";
184
+ } from "./chunk-CLCZ4OSN.js";
185
185
  import {
186
186
  getAvailabilityCache,
187
187
  getCliForModelId,
188
188
  resolveFallback
189
- } from "./chunk-NDVKXAK5.js";
189
+ } from "./chunk-NBXWLWON.js";
190
190
  import {
191
191
  generateHyphenId,
192
192
  generateUUID
193
- } from "./chunk-AS4B7KCT.js";
193
+ } from "./chunk-UEE5Q7NZ.js";
194
194
  import {
195
195
  AGENT_ROUTER_TIMEOUTS,
196
196
  API_TIMEOUTS,
@@ -214,6 +214,7 @@ import {
214
214
  MCP_TIMEOUTS,
215
215
  ModelCapability,
216
216
  NETWORK_FETCH_TIMEOUT_MS,
217
+ NEUTRAL_BANDIT_FEATURE,
217
218
  NexusError,
218
219
  OrchestratorError,
219
220
  PROMOTED_ROLES,
@@ -294,7 +295,7 @@ import {
294
295
  selectStrategyByManifest,
295
296
  toExpertTaskAnalysisResult,
296
297
  withStep
297
- } from "./chunk-6OPLDOJG.js";
298
+ } from "./chunk-LX5IYPWT.js";
298
299
  import {
299
300
  ensureLearningDir,
300
301
  getMetaOutcomesFile,
@@ -4885,7 +4886,6 @@ function recordExecutionPattern(state, pattern) {
4885
4886
  if (existing !== void 0) {
4886
4887
  const updated = {
4887
4888
  ...existing,
4888
- successRate: (existing.successRate * existing.occurrences + pattern.successRate) / (existing.occurrences + 1),
4889
4889
  occurrences: existing.occurrences + 1,
4890
4890
  lastSeen: new Date(getTimeProvider().now())
4891
4891
  };
@@ -4899,7 +4899,6 @@ function recordExecutionPattern(state, pattern) {
4899
4899
  const newPattern = {
4900
4900
  id: `pattern_${String(time.now())}_${random.random().toString(36).slice(2, 8)}`,
4901
4901
  pattern: pattern.pattern,
4902
- successRate: pattern.successRate,
4903
4902
  occurrences: pattern.occurrences ?? 1,
4904
4903
  lastSeen: new Date(getTimeProvider().now())
4905
4904
  };
@@ -4937,9 +4936,6 @@ function findErrorResolution(state, errorMessage2) {
4937
4936
  function getLearningsByType(state, taskType) {
4938
4937
  return state.taskLearnings.filter((l) => l.taskType === taskType).sort((a, b) => b.confidence - a.confidence);
4939
4938
  }
4940
- function getTopPatterns(state, limit = 10) {
4941
- return [...state.executionPatterns].sort((a, b) => b.successRate - a.successRate).slice(0, limit);
4942
- }
4943
4939
 
4944
4940
  // src/agents/base-agent-memory-init.ts
4945
4941
  function initializeMemoryInfrastructure(options) {
@@ -5274,11 +5270,9 @@ async function persistMemoryAfterTask(params) {
5274
5270
  return memoryState;
5275
5271
  }
5276
5272
  const durationMs = getTimeProvider().now() - startTime;
5277
- const successRate = 1;
5278
5273
  const taskType = categorizeTaskType(task.description);
5279
5274
  const updatedState = recordExecutionPattern(memoryState, {
5280
- pattern: taskType,
5281
- successRate
5275
+ pattern: taskType
5282
5276
  });
5283
5277
  if (memoryBackend !== void 0) {
5284
5278
  await persistMemoryState(memoryBackend, updatedState, logger58);
@@ -5491,13 +5485,6 @@ function getLearningsFromState(params) {
5491
5485
  }
5492
5486
  return getLearningsByType(memoryState, taskType);
5493
5487
  }
5494
- function getTopPatternsFromState(params) {
5495
- const { memoryEnabled, memoryState, limit } = params;
5496
- if (!memoryEnabled || memoryState === null) {
5497
- return [];
5498
- }
5499
- return getTopPatterns(memoryState, limit);
5500
- }
5501
5488
  function copyMemoryState(state) {
5502
5489
  return state !== null ? { ...state } : null;
5503
5490
  }
@@ -5516,9 +5503,6 @@ function doFindResolution(ctx, errorMessage2) {
5516
5503
  function doGetLearnings(ctx, taskType) {
5517
5504
  return getLearningsFromState({ ...ctx, taskType });
5518
5505
  }
5519
- function doGetTopPatterns(ctx, limit) {
5520
- return getTopPatternsFromState({ ...ctx, limit });
5521
- }
5522
5506
 
5523
5507
  // src/agents/base-agent-memory-accessors.ts
5524
5508
  function getMemoryStateCopy(state) {
@@ -5547,9 +5531,6 @@ function findResolution(ctx, errorMessage2) {
5547
5531
  function getTaskLearningsByType(ctx, taskType) {
5548
5532
  return doGetLearnings(ctx, taskType);
5549
5533
  }
5550
- function getTopPatterns2(ctx, limit) {
5551
- return doGetTopPatterns(ctx, limit);
5552
- }
5553
5534
 
5554
5535
  // src/agents/base-agent-dispatch.ts
5555
5536
  function validateMessage(params) {
@@ -5964,9 +5945,6 @@ var BaseAgent = class {
5964
5945
  getTaskLearnings(taskType) {
5965
5946
  return getTaskLearningsByType(this.memOpCtx, taskType);
5966
5947
  }
5967
- getTopExecutionPatterns(limit = 10) {
5968
- return getTopPatterns2(this.memOpCtx, limit);
5969
- }
5970
5948
  };
5971
5949
 
5972
5950
  // src/agents/simple-agent.ts
@@ -29713,7 +29691,7 @@ function execIdFields(executionId) {
29713
29691
  async function populateUnifiedContextOnState(state, options) {
29714
29692
  const taskCandidate = state["task"];
29715
29693
  if (typeof taskCandidate !== "string" || taskCandidate === "") return;
29716
- const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-3R3BWMEW.js");
29694
+ const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-NSVQPXT5.js");
29717
29695
  const category = inferTaskCategory2(taskCandidate);
29718
29696
  const executionId = options?.executionId;
29719
29697
  const execFields = execIdFields(executionId);
@@ -45521,7 +45499,7 @@ async function tryIssueTriage(task) {
45521
45499
  try {
45522
45500
  const issueMatch = task.match(/github\.com\/([^/]+\/[^/]+)\/issues\/(\d+)/);
45523
45501
  if (issueMatch === null) return null;
45524
- const { createIssueTriage } = await import("./issue-triage-42TGOOZX.js");
45502
+ const { createIssueTriage } = await import("./issue-triage-XRYQL5HZ.js");
45525
45503
  const triage = createIssueTriage();
45526
45504
  const owner = issueMatch[1] ?? "";
45527
45505
  const num = issueMatch[2] ?? "";
@@ -45549,7 +45527,7 @@ var VALID_TEMPLATES = /* @__PURE__ */ new Set([
45549
45527
  ]);
45550
45528
  async function classifyWithLLM(task) {
45551
45529
  try {
45552
- const { executeExpert: executeExpert2 } = await import("./expert-bridge-XIFIEXQM.js");
45530
+ const { executeExpert: executeExpert2 } = await import("./expert-bridge-LEXXNSTY.js");
45553
45531
  const prompt = [
45554
45532
  "Classify this task into exactly one pipeline template.",
45555
45533
  "Templates: dev (implementation/bug fix/refactor), research (investigate/evaluate/compare),",
@@ -47089,7 +47067,7 @@ var memoryInitPromise = null;
47089
47067
  async function initPipelineMemory() {
47090
47068
  if (cachedMemory !== null) return cachedMemory;
47091
47069
  try {
47092
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-QK544BZF.js");
47070
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-WDYRPZV2.js");
47093
47071
  const { getLearningDir } = await import("./learning-persistence-7O5QYDM7.js");
47094
47072
  const mem = createSessionMemory2(getLearningDir());
47095
47073
  mem.startSession(`pipeline-${String(getTimeProvider().now())}`);
@@ -47151,7 +47129,7 @@ function recordRoutingExperience(category, success, durationMs, tokensUsed = 0,
47151
47129
  callRecord(routingMemoryCache);
47152
47130
  return;
47153
47131
  }
47154
- routingMemoryInitPromise ??= import("./routing-memory-GSOJXKYR.js").then(({ createRoutingMemory }) => {
47132
+ routingMemoryInitPromise ??= import("./routing-memory-IRHKYUZA.js").then(({ createRoutingMemory }) => {
47155
47133
  routingMemoryCache ??= createRoutingMemory();
47156
47134
  return routingMemoryCache;
47157
47135
  }).catch((error) => {
@@ -47185,7 +47163,7 @@ ${text}` : "";
47185
47163
  }
47186
47164
  async function getWeatherContext() {
47187
47165
  try {
47188
- const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-JQGPC6ZC.js");
47166
+ const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-VY3S6KVG.js");
47189
47167
  const report = generateWeatherReport2({ includeAdaptive: true });
47190
47168
  const mappings = "recommendedMappings" in report ? report.recommendedMappings : [];
47191
47169
  if (!Array.isArray(mappings) || mappings.length === 0) return "";
@@ -47203,7 +47181,7 @@ ${lines}
47203
47181
  }
47204
47182
  async function getMemoryContext(task) {
47205
47183
  try {
47206
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-QK544BZF.js");
47184
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-WDYRPZV2.js");
47207
47185
  const { getLearningDir } = await import("./learning-persistence-7O5QYDM7.js");
47208
47186
  const memory = createSessionMemory2(getLearningDir(), { maxLearningsInContext: 10 });
47209
47187
  const learnings = memory.searchLearnings(task.slice(0, 200));
@@ -47322,7 +47300,7 @@ ${contextBlock}`;
47322
47300
  const strategy = config.votingStrategy ?? "higher_order";
47323
47301
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
47324
47302
  try {
47325
- const { executeVoting } = await import("./consensus-vote-PVIKQYBF.js");
47303
+ const { executeVoting } = await import("./consensus-vote-JURFA4U2.js");
47326
47304
  const votingResult = await executeVoting(
47327
47305
  {
47328
47306
  proposal: buildVoteProposal(plan, research),
@@ -47761,7 +47739,7 @@ async function searchCodebaseForTask(task) {
47761
47739
  }
47762
47740
  async function queryResearchRegistry(task) {
47763
47741
  try {
47764
- const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-UZGA2H5E.js");
47742
+ const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-ULEA7TQG.js");
47765
47743
  const topic = task.split(/[.!?\n]/).filter((s) => s.trim().length > 10)[0]?.trim();
47766
47744
  if (topic === void 0) return null;
47767
47745
  const result = await synthesizeResearch2(topic.slice(0, 50));
@@ -47832,7 +47810,7 @@ function createScanStageWrapper() {
47832
47810
  try {
47833
47811
  const slug = ctx.task.match(/([a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+)/)?.[1];
47834
47812
  if (slug !== void 0) {
47835
- const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-MK3OFGIC.js");
47813
+ const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-XAOIZOMP.js");
47836
47814
  const plan = await generateSecurityPlan2({ repo: slug, maxScanners: 10 });
47837
47815
  const recs = plan.recommendations.slice(0, 5).map((r) => `${r.priority}: ${r.displayName} (${r.category})`).join("; ");
47838
47816
  return output(PIPELINE_STATE_KEYS.FINDINGS, recs, getTimeProvider().now() - start, true);
@@ -50502,9 +50480,14 @@ function toBanditContext(decision) {
50502
50480
  contextLengthNormalized: clamp012(a.estimatedTokens / CONTEXT_TOKEN_NORMALIZER),
50503
50481
  isCodeTask: isCode ? 1 : 0,
50504
50482
  isReasoningTask: a.reasoningType === "reasoning" ? clamp012(a.reasoningConfidence) : 0,
50505
- // No budget/urgency signal is available at selection time; left neutral.
50506
- budgetUtilization: 0,
50507
- timePressure: 0
50483
+ // No budget/urgency signal is available at selection time, so both take
50484
+ // the shared neutral (#5284). These were `0`, under this same "left
50485
+ // neutral" comment — but neutral for these features is 0.5, because zero
50486
+ // reads as a claim and because `warmStart` replays at 0.5. Records written
50487
+ // at 0 also let the bandit tell shadow-selector origin from live-router
50488
+ // origin through the feature value alone: accidental signal, not none.
50489
+ budgetUtilization: NEUTRAL_BANDIT_FEATURE,
50490
+ timePressure: NEUTRAL_BANDIT_FEATURE
50508
50491
  };
50509
50492
  }
50510
50493
  function createLearnedStrategySelector() {
@@ -50971,7 +50954,7 @@ var GitHubTaskTracker = class {
50971
50954
  cachedProvider = null;
50972
50955
  async getProvider() {
50973
50956
  if (this.cachedProvider !== null) return this.cachedProvider;
50974
- const { createScmProvider } = await import("./factory-2TN6OVWR.js");
50957
+ const { createScmProvider } = await import("./factory-VA3WWJB5.js");
50975
50958
  const result = await createScmProvider({ repo: this.config.repo ?? "" });
50976
50959
  if (!result.ok) throw new Error(`SCM provider error: ${result.error.message}`);
50977
50960
  this.cachedProvider = result.value;
@@ -51886,7 +51869,7 @@ async function probeSource(source, includeModelIds) {
51886
51869
  }
51887
51870
  }
51888
51871
  async function defaultSources(includeOpenRouter) {
51889
- const { createAllAdapters: createAllAdapters2 } = await import("./factory-3T6NTUDH.js");
51872
+ const { createAllAdapters: createAllAdapters2 } = await import("./factory-KY34GTK6.js");
51890
51873
  const adapters = createAllAdapters2();
51891
51874
  return buildDefaultModelSources(adapters, { includeOpenRouter });
51892
51875
  }
@@ -55958,4 +55941,4 @@ export {
55958
55941
  shutdownFeedbackSubscriber,
55959
55942
  createEventBusBridge
55960
55943
  };
55961
- //# sourceMappingURL=chunk-LO5I265X.js.map
55944
+ //# sourceMappingURL=chunk-ECOAVGFR.js.map