nexus-agents 2.163.0 → 2.165.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 (120) hide show
  1. package/dist/{child-mcp-config-ZSVYMJTH.js → child-mcp-config-LQ4IKFSN.js} +2 -2
  2. package/dist/{chunk-HDLWUFKI.js → chunk-2255SARF.js} +2 -2
  3. package/dist/{chunk-SKJK44YC.js → chunk-2UMMVKUW.js} +3 -3
  4. package/dist/{chunk-ENKFWBRH.js → chunk-33X5V4PL.js} +2 -2
  5. package/dist/{chunk-CNGZ5N4W.js → chunk-34XRZV2Q.js} +5 -5
  6. package/dist/{chunk-U5E2JJ4F.js → chunk-3GYRM7D6.js} +5 -5
  7. package/dist/{chunk-LJWB4Z7O.js → chunk-3HVF4BG4.js} +2 -2
  8. package/dist/{chunk-3EBDRAQW.js → chunk-3SMFRAX5.js} +3 -3
  9. package/dist/{chunk-2LR2XP3B.js → chunk-55NRU7SV.js} +8 -8
  10. package/dist/{chunk-WRZ7HENW.js → chunk-6PYVTJZF.js} +2 -2
  11. package/dist/{chunk-D2NBIVAV.js → chunk-CVLVWHXG.js} +5 -5
  12. package/dist/{chunk-2EAKVHOL.js → chunk-DUUMMELV.js} +3 -3
  13. package/dist/{chunk-3JWMDESZ.js → chunk-FKOWIKR4.js} +3 -3
  14. package/dist/{chunk-JZ3DVFEW.js → chunk-IXZXG2MY.js} +7 -7
  15. package/dist/{chunk-UAK3OVSL.js → chunk-JBZMUKT4.js} +2 -2
  16. package/dist/{chunk-P4J6I5ZI.js → chunk-JV64QX3Y.js} +2 -2
  17. package/dist/{chunk-K5NU57WE.js → chunk-LKSG75LC.js} +4 -4
  18. package/dist/{chunk-3ZXNPAUR.js → chunk-LQ2ABFLI.js} +2 -2
  19. package/dist/{chunk-Y6O4FB5V.js → chunk-LUP26FMZ.js} +4 -4
  20. package/dist/{chunk-S477DLWR.js → chunk-MQUSJVER.js} +4 -4
  21. package/dist/{chunk-AM7EW7CP.js → chunk-MYNI3CYT.js} +4 -4
  22. package/dist/{chunk-NG5ZAI7W.js → chunk-NBPA4PQD.js} +2 -2
  23. package/dist/{chunk-ARTIFRBA.js → chunk-NXJJZEUO.js} +2 -2
  24. package/dist/{chunk-B3FX6E7M.js → chunk-PKSBCVNJ.js} +34 -34
  25. package/dist/{chunk-NDV5J3Z5.js → chunk-PZ3BB3PO.js} +157 -49
  26. package/dist/chunk-PZ3BB3PO.js.map +1 -0
  27. package/dist/{chunk-K7GAI4WP.js → chunk-RBN4WXOA.js} +2 -2
  28. package/dist/{chunk-AOXZ42SD.js → chunk-RXI5ONP7.js} +2 -2
  29. package/dist/{chunk-OEOBPWBH.js → chunk-SAXMQ7TE.js} +7 -7
  30. package/dist/{chunk-UEAG2PEQ.js → chunk-SF2AK3JB.js} +2 -2
  31. package/dist/{chunk-47EFSSZK.js → chunk-TFYQRAWT.js} +3 -3
  32. package/dist/{chunk-PRU452SV.js → chunk-TZNJCTNQ.js} +2 -2
  33. package/dist/{chunk-3RDE3OZ6.js → chunk-U43BUJSN.js} +7 -7
  34. package/dist/{chunk-563FMXWL.js → chunk-YOFRUVPJ.js} +2 -2
  35. package/dist/{chunk-5KFUWUMY.js → chunk-YPPYRLDF.js} +2 -2
  36. package/dist/{chunk-SBCIKT64.js → chunk-ZNY7MM2J.js} +3 -3
  37. package/dist/{cli-circuit-breaker-KUPKNGN2.js → cli-circuit-breaker-5IGBBD7R.js} +4 -4
  38. package/dist/cli.js +41 -41
  39. package/dist/{composite-router-F6YN34I7.js → composite-router-62KI56W6.js} +2 -2
  40. package/dist/{consensus-vote-N4HVJT7S.js → consensus-vote-M4ZELBV4.js} +15 -15
  41. package/dist/{context-retriever-W6Z6JNEF.js → context-retriever-5UJC5KDZ.js} +8 -8
  42. package/dist/{doctor-deep-MKKGB3KM.js → doctor-deep-7OR5MYMI.js} +3 -3
  43. package/dist/{expert-bridge-KWUVLYXR.js → expert-bridge-BNMCDENK.js} +4 -4
  44. package/dist/{factory-UF6LR6R6.js → factory-77GX5DG4.js} +8 -8
  45. package/dist/{factory-5TRDV3CD.js → factory-QLW773DP.js} +5 -5
  46. package/dist/{improvement-review-K2FQ5K4H.js → improvement-review-KDM6OL25.js} +5 -5
  47. package/dist/index.js +30 -30
  48. package/dist/{init-opencode-42DWDOPX.js → init-opencode-FXKABSGS.js} +6 -6
  49. package/dist/{issue-triage-OHJZLCEG.js → issue-triage-OVX4VSUN.js} +6 -6
  50. package/dist/{pr-reviewer-helpers-ZWGIWDFL.js → pr-reviewer-helpers-VGIBNZBX.js} +4 -4
  51. package/dist/{registry-command-X6FLUFKQ.js → registry-command-CGMRLZQ2.js} +2 -2
  52. package/dist/{repo-security-plan-K4IYY3OY.js → repo-security-plan-TBCMGL5Z.js} +3 -3
  53. package/dist/{research-helpers-synthesize-GBT6QZIP.js → research-helpers-synthesize-76ZZYWJ5.js} +4 -4
  54. package/dist/{routing-memory-KDVKLC75.js → routing-memory-PZ4LTLXJ.js} +2 -2
  55. package/dist/{session-memory-HQ5KPXQG.js → session-memory-C55R7LGY.js} +3 -3
  56. package/dist/{setup-command-USFTGMA3.js → setup-command-LUYHP5UY.js} +11 -11
  57. package/dist/{setup-config-K66VKRCD.js → setup-config-SMRMMT6Z.js} +3 -3
  58. package/dist/{setup-custom-api-6CG7HMRX.js → setup-custom-api-42JXTJHU.js} +3 -3
  59. package/dist/{tool-memory-DAGKXCJA.js → tool-memory-LCDNVPFI.js} +5 -5
  60. package/dist/{unified-registry-GAGQ2VSX.js → unified-registry-XEXWGKV5.js} +9 -9
  61. package/dist/{weather-report-ZYPHCFXL.js → weather-report-DPADAXFN.js} +2 -2
  62. package/package.json +1 -1
  63. package/dist/chunk-NDV5J3Z5.js.map +0 -1
  64. /package/dist/{child-mcp-config-ZSVYMJTH.js.map → child-mcp-config-LQ4IKFSN.js.map} +0 -0
  65. /package/dist/{chunk-HDLWUFKI.js.map → chunk-2255SARF.js.map} +0 -0
  66. /package/dist/{chunk-SKJK44YC.js.map → chunk-2UMMVKUW.js.map} +0 -0
  67. /package/dist/{chunk-ENKFWBRH.js.map → chunk-33X5V4PL.js.map} +0 -0
  68. /package/dist/{chunk-CNGZ5N4W.js.map → chunk-34XRZV2Q.js.map} +0 -0
  69. /package/dist/{chunk-U5E2JJ4F.js.map → chunk-3GYRM7D6.js.map} +0 -0
  70. /package/dist/{chunk-LJWB4Z7O.js.map → chunk-3HVF4BG4.js.map} +0 -0
  71. /package/dist/{chunk-3EBDRAQW.js.map → chunk-3SMFRAX5.js.map} +0 -0
  72. /package/dist/{chunk-2LR2XP3B.js.map → chunk-55NRU7SV.js.map} +0 -0
  73. /package/dist/{chunk-WRZ7HENW.js.map → chunk-6PYVTJZF.js.map} +0 -0
  74. /package/dist/{chunk-D2NBIVAV.js.map → chunk-CVLVWHXG.js.map} +0 -0
  75. /package/dist/{chunk-2EAKVHOL.js.map → chunk-DUUMMELV.js.map} +0 -0
  76. /package/dist/{chunk-3JWMDESZ.js.map → chunk-FKOWIKR4.js.map} +0 -0
  77. /package/dist/{chunk-JZ3DVFEW.js.map → chunk-IXZXG2MY.js.map} +0 -0
  78. /package/dist/{chunk-UAK3OVSL.js.map → chunk-JBZMUKT4.js.map} +0 -0
  79. /package/dist/{chunk-P4J6I5ZI.js.map → chunk-JV64QX3Y.js.map} +0 -0
  80. /package/dist/{chunk-K5NU57WE.js.map → chunk-LKSG75LC.js.map} +0 -0
  81. /package/dist/{chunk-3ZXNPAUR.js.map → chunk-LQ2ABFLI.js.map} +0 -0
  82. /package/dist/{chunk-Y6O4FB5V.js.map → chunk-LUP26FMZ.js.map} +0 -0
  83. /package/dist/{chunk-S477DLWR.js.map → chunk-MQUSJVER.js.map} +0 -0
  84. /package/dist/{chunk-AM7EW7CP.js.map → chunk-MYNI3CYT.js.map} +0 -0
  85. /package/dist/{chunk-NG5ZAI7W.js.map → chunk-NBPA4PQD.js.map} +0 -0
  86. /package/dist/{chunk-ARTIFRBA.js.map → chunk-NXJJZEUO.js.map} +0 -0
  87. /package/dist/{chunk-B3FX6E7M.js.map → chunk-PKSBCVNJ.js.map} +0 -0
  88. /package/dist/{chunk-K7GAI4WP.js.map → chunk-RBN4WXOA.js.map} +0 -0
  89. /package/dist/{chunk-AOXZ42SD.js.map → chunk-RXI5ONP7.js.map} +0 -0
  90. /package/dist/{chunk-OEOBPWBH.js.map → chunk-SAXMQ7TE.js.map} +0 -0
  91. /package/dist/{chunk-UEAG2PEQ.js.map → chunk-SF2AK3JB.js.map} +0 -0
  92. /package/dist/{chunk-47EFSSZK.js.map → chunk-TFYQRAWT.js.map} +0 -0
  93. /package/dist/{chunk-PRU452SV.js.map → chunk-TZNJCTNQ.js.map} +0 -0
  94. /package/dist/{chunk-3RDE3OZ6.js.map → chunk-U43BUJSN.js.map} +0 -0
  95. /package/dist/{chunk-563FMXWL.js.map → chunk-YOFRUVPJ.js.map} +0 -0
  96. /package/dist/{chunk-5KFUWUMY.js.map → chunk-YPPYRLDF.js.map} +0 -0
  97. /package/dist/{chunk-SBCIKT64.js.map → chunk-ZNY7MM2J.js.map} +0 -0
  98. /package/dist/{cli-circuit-breaker-KUPKNGN2.js.map → cli-circuit-breaker-5IGBBD7R.js.map} +0 -0
  99. /package/dist/{composite-router-F6YN34I7.js.map → composite-router-62KI56W6.js.map} +0 -0
  100. /package/dist/{consensus-vote-N4HVJT7S.js.map → consensus-vote-M4ZELBV4.js.map} +0 -0
  101. /package/dist/{context-retriever-W6Z6JNEF.js.map → context-retriever-5UJC5KDZ.js.map} +0 -0
  102. /package/dist/{doctor-deep-MKKGB3KM.js.map → doctor-deep-7OR5MYMI.js.map} +0 -0
  103. /package/dist/{expert-bridge-KWUVLYXR.js.map → expert-bridge-BNMCDENK.js.map} +0 -0
  104. /package/dist/{factory-5TRDV3CD.js.map → factory-77GX5DG4.js.map} +0 -0
  105. /package/dist/{factory-UF6LR6R6.js.map → factory-QLW773DP.js.map} +0 -0
  106. /package/dist/{improvement-review-K2FQ5K4H.js.map → improvement-review-KDM6OL25.js.map} +0 -0
  107. /package/dist/{init-opencode-42DWDOPX.js.map → init-opencode-FXKABSGS.js.map} +0 -0
  108. /package/dist/{issue-triage-OHJZLCEG.js.map → issue-triage-OVX4VSUN.js.map} +0 -0
  109. /package/dist/{pr-reviewer-helpers-ZWGIWDFL.js.map → pr-reviewer-helpers-VGIBNZBX.js.map} +0 -0
  110. /package/dist/{registry-command-X6FLUFKQ.js.map → registry-command-CGMRLZQ2.js.map} +0 -0
  111. /package/dist/{repo-security-plan-K4IYY3OY.js.map → repo-security-plan-TBCMGL5Z.js.map} +0 -0
  112. /package/dist/{research-helpers-synthesize-GBT6QZIP.js.map → research-helpers-synthesize-76ZZYWJ5.js.map} +0 -0
  113. /package/dist/{routing-memory-KDVKLC75.js.map → routing-memory-PZ4LTLXJ.js.map} +0 -0
  114. /package/dist/{session-memory-HQ5KPXQG.js.map → session-memory-C55R7LGY.js.map} +0 -0
  115. /package/dist/{setup-command-USFTGMA3.js.map → setup-command-LUYHP5UY.js.map} +0 -0
  116. /package/dist/{setup-config-K66VKRCD.js.map → setup-config-SMRMMT6Z.js.map} +0 -0
  117. /package/dist/{setup-custom-api-6CG7HMRX.js.map → setup-custom-api-42JXTJHU.js.map} +0 -0
  118. /package/dist/{tool-memory-DAGKXCJA.js.map → tool-memory-LCDNVPFI.js.map} +0 -0
  119. /package/dist/{unified-registry-GAGQ2VSX.js.map → unified-registry-XEXWGKV5.js.map} +0 -0
  120. /package/dist/{weather-report-ZYPHCFXL.js.map → weather-report-DPADAXFN.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  generateSecurityPlan
3
- } from "./chunk-563FMXWL.js";
3
+ } from "./chunk-YOFRUVPJ.js";
4
4
  import {
5
5
  analyzeGitHubRepo
6
6
  } from "./chunk-HFOQKCD2.js";
@@ -18,10 +18,10 @@ import {
18
18
  DEFAULT_TASK_TTL_MS,
19
19
  DEFAULT_TOOL_RATE_LIMITS,
20
20
  clampTaskTtl
21
- } from "./chunk-OEOBPWBH.js";
21
+ } from "./chunk-SAXMQ7TE.js";
22
22
  import {
23
23
  executeExpert
24
- } from "./chunk-3RDE3OZ6.js";
24
+ } from "./chunk-U43BUJSN.js";
25
25
  import {
26
26
  JobStatusSchema,
27
27
  abortJob,
@@ -42,21 +42,21 @@ import {
42
42
  simulationDeniedResult,
43
43
  toJobSummary,
44
44
  writeJobCancelled
45
- } from "./chunk-2LR2XP3B.js";
45
+ } from "./chunk-55NRU7SV.js";
46
46
  import {
47
47
  normalizeTopicToCanonical,
48
48
  synthesizeResearch
49
- } from "./chunk-47EFSSZK.js";
49
+ } from "./chunk-TFYQRAWT.js";
50
50
  import {
51
51
  IssueTriage
52
- } from "./chunk-D2NBIVAV.js";
52
+ } from "./chunk-CVLVWHXG.js";
53
53
  import {
54
54
  resolveEnvMode,
55
55
  sanitizeInput
56
- } from "./chunk-PRU452SV.js";
56
+ } from "./chunk-TZNJCTNQ.js";
57
57
  import {
58
58
  withPrerequisite
59
- } from "./chunk-2EAKVHOL.js";
59
+ } from "./chunk-DUUMMELV.js";
60
60
  import {
61
61
  NOOP_NOTIFIER,
62
62
  RateLimiter,
@@ -79,12 +79,12 @@ import {
79
79
  withAuditTrail,
80
80
  withProgressHeartbeat,
81
81
  wrapToolWithTimeout
82
- } from "./chunk-3EBDRAQW.js";
82
+ } from "./chunk-3SMFRAX5.js";
83
83
  import {
84
84
  createAuditTrail,
85
85
  createGraphAuditBridge,
86
86
  emitPipelinePolicyEvent
87
- } from "./chunk-NG5ZAI7W.js";
87
+ } from "./chunk-NBPA4PQD.js";
88
88
  import {
89
89
  addResearchPaper,
90
90
  addSourceToRegistry,
@@ -112,15 +112,15 @@ import {
112
112
  parseRegistry,
113
113
  sourceExistsInRegistry,
114
114
  summarizeContextForPrompt
115
- } from "./chunk-U5E2JJ4F.js";
115
+ } from "./chunk-3GYRM7D6.js";
116
116
  import {
117
117
  getTokenEnvVars,
118
118
  resolveToken
119
- } from "./chunk-P4J6I5ZI.js";
119
+ } from "./chunk-JV64QX3Y.js";
120
120
  import {
121
121
  loadPapersRegistry,
122
122
  loadTechniquesRegistry
123
- } from "./chunk-5KFUWUMY.js";
123
+ } from "./chunk-YPPYRLDF.js";
124
124
  import {
125
125
  resolveInsideRoot
126
126
  } from "./chunk-NUBSJGQZ.js";
@@ -129,14 +129,14 @@ import {
129
129
  MemoryImportance,
130
130
  calculateTextJaccardSimilarity,
131
131
  getToolMemory
132
- } from "./chunk-S477DLWR.js";
132
+ } from "./chunk-MQUSJVER.js";
133
133
  import {
134
134
  STOPWORDS,
135
135
  truncateWithInfo
136
136
  } from "./chunk-6T3EPABN.js";
137
137
  import {
138
138
  createSessionMemory
139
- } from "./chunk-3ZXNPAUR.js";
139
+ } from "./chunk-LQ2ABFLI.js";
140
140
  import {
141
141
  BUILT_IN_EXPERTS,
142
142
  BuiltInExpertTypeSchema,
@@ -151,7 +151,7 @@ import {
151
151
  createEvent,
152
152
  getGlobalEventBus,
153
153
  getGlobalRegistry
154
- } from "./chunk-AM7EW7CP.js";
154
+ } from "./chunk-MYNI3CYT.js";
155
155
  import {
156
156
  CliDetectionCache,
157
157
  asRecord,
@@ -159,19 +159,19 @@ import {
159
159
  getAvailableClis,
160
160
  sleep,
161
161
  withTimeout
162
- } from "./chunk-JZ3DVFEW.js";
162
+ } from "./chunk-IXZXG2MY.js";
163
163
  import {
164
164
  DEFAULTS
165
- } from "./chunk-WRZ7HENW.js";
165
+ } from "./chunk-6PYVTJZF.js";
166
166
  import {
167
167
  getAvailabilityCache,
168
168
  getCliForModelId,
169
169
  resolveFallback
170
- } from "./chunk-LJWB4Z7O.js";
170
+ } from "./chunk-3HVF4BG4.js";
171
171
  import {
172
172
  generateHyphenId,
173
173
  generateUUID
174
- } from "./chunk-ENKFWBRH.js";
174
+ } from "./chunk-33X5V4PL.js";
175
175
  import {
176
176
  AGENT_ROUTER_TIMEOUTS,
177
177
  API_TIMEOUTS,
@@ -263,7 +263,7 @@ import {
263
263
  selectStrategyByManifest,
264
264
  toExpertTaskAnalysisResult,
265
265
  withStep
266
- } from "./chunk-NDV5J3Z5.js";
266
+ } from "./chunk-PZ3BB3PO.js";
267
267
  import {
268
268
  ensureLearningDir,
269
269
  getMetaOutcomesFile,
@@ -26298,7 +26298,7 @@ function execIdFields(executionId) {
26298
26298
  async function populateUnifiedContextOnState(state, options) {
26299
26299
  const taskCandidate = state["task"];
26300
26300
  if (typeof taskCandidate !== "string" || taskCandidate === "") return;
26301
- const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-W6Z6JNEF.js");
26301
+ const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-5UJC5KDZ.js");
26302
26302
  const category = inferTaskCategory2(taskCandidate);
26303
26303
  const executionId = options?.executionId;
26304
26304
  const execFields = execIdFields(executionId);
@@ -41580,7 +41580,7 @@ async function tryIssueTriage(task) {
41580
41580
  try {
41581
41581
  const issueMatch = task.match(/github\.com\/([^/]+\/[^/]+)\/issues\/(\d+)/);
41582
41582
  if (issueMatch === null) return null;
41583
- const { createIssueTriage } = await import("./issue-triage-OHJZLCEG.js");
41583
+ const { createIssueTriage } = await import("./issue-triage-OVX4VSUN.js");
41584
41584
  const triage = createIssueTriage();
41585
41585
  const owner = issueMatch[1] ?? "";
41586
41586
  const num = issueMatch[2] ?? "";
@@ -41608,7 +41608,7 @@ var VALID_TEMPLATES = /* @__PURE__ */ new Set([
41608
41608
  ]);
41609
41609
  async function classifyWithLLM(task) {
41610
41610
  try {
41611
- const { executeExpert: executeExpert2 } = await import("./expert-bridge-KWUVLYXR.js");
41611
+ const { executeExpert: executeExpert2 } = await import("./expert-bridge-BNMCDENK.js");
41612
41612
  const prompt = [
41613
41613
  "Classify this task into exactly one pipeline template.",
41614
41614
  "Templates: dev (implementation/bug fix/refactor), research (investigate/evaluate/compare),",
@@ -43249,7 +43249,7 @@ var memoryInitPromise = null;
43249
43249
  async function initPipelineMemory() {
43250
43250
  if (cachedMemory !== null) return cachedMemory;
43251
43251
  try {
43252
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-HQ5KPXQG.js");
43252
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-C55R7LGY.js");
43253
43253
  const { getLearningDir } = await import("./learning-persistence-6D5GGT7D.js");
43254
43254
  const mem = createSessionMemory2(getLearningDir());
43255
43255
  mem.startSession(`pipeline-${String(getTimeProvider().now())}`);
@@ -43311,7 +43311,7 @@ function recordRoutingExperience(category, success, durationMs, tokensUsed = 0,
43311
43311
  callRecord(routingMemoryCache);
43312
43312
  return;
43313
43313
  }
43314
- routingMemoryInitPromise ??= import("./routing-memory-KDVKLC75.js").then(({ createRoutingMemory }) => {
43314
+ routingMemoryInitPromise ??= import("./routing-memory-PZ4LTLXJ.js").then(({ createRoutingMemory }) => {
43315
43315
  routingMemoryCache ??= createRoutingMemory();
43316
43316
  return routingMemoryCache;
43317
43317
  }).catch((error) => {
@@ -43345,7 +43345,7 @@ ${text}` : "";
43345
43345
  }
43346
43346
  async function getWeatherContext() {
43347
43347
  try {
43348
- const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-ZYPHCFXL.js");
43348
+ const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-DPADAXFN.js");
43349
43349
  const report = generateWeatherReport2({ includeAdaptive: true });
43350
43350
  const mappings = "recommendedMappings" in report ? report.recommendedMappings : [];
43351
43351
  if (!Array.isArray(mappings) || mappings.length === 0) return "";
@@ -43363,7 +43363,7 @@ ${lines}
43363
43363
  }
43364
43364
  async function getMemoryContext(task) {
43365
43365
  try {
43366
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-HQ5KPXQG.js");
43366
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-C55R7LGY.js");
43367
43367
  const { getLearningDir } = await import("./learning-persistence-6D5GGT7D.js");
43368
43368
  const memory = createSessionMemory2(getLearningDir(), { maxLearningsInContext: 10 });
43369
43369
  const learnings = memory.searchLearnings(task.slice(0, 200));
@@ -43478,7 +43478,7 @@ ${contextBlock}`;
43478
43478
  const strategy = config.votingStrategy ?? "higher_order";
43479
43479
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
43480
43480
  try {
43481
- const { executeVoting } = await import("./consensus-vote-N4HVJT7S.js");
43481
+ const { executeVoting } = await import("./consensus-vote-M4ZELBV4.js");
43482
43482
  const votingResult = await executeVoting(
43483
43483
  {
43484
43484
  proposal: buildVoteProposal(plan, research),
@@ -43919,7 +43919,7 @@ async function searchCodebaseForTask(task) {
43919
43919
  }
43920
43920
  async function queryResearchRegistry(task) {
43921
43921
  try {
43922
- const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-GBT6QZIP.js");
43922
+ const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-76ZZYWJ5.js");
43923
43923
  const topic = task.split(/[.!?\n]/).filter((s) => s.trim().length > 10)[0]?.trim();
43924
43924
  if (topic === void 0) return null;
43925
43925
  const result = await synthesizeResearch2(topic.slice(0, 50));
@@ -43990,7 +43990,7 @@ function createScanStageWrapper() {
43990
43990
  try {
43991
43991
  const slug = ctx.task.match(/([a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+)/)?.[1];
43992
43992
  if (slug !== void 0) {
43993
- const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-K4IYY3OY.js");
43993
+ const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-TBCMGL5Z.js");
43994
43994
  const plan = await generateSecurityPlan2({ repo: slug, maxScanners: 10 });
43995
43995
  const recs = plan.recommendations.slice(0, 5).map((r) => `${r.priority}: ${r.displayName} (${r.category})`).join("; ");
43996
43996
  return output(PIPELINE_STATE_KEYS.FINDINGS, recs, getTimeProvider().now() - start, true);
@@ -46950,7 +46950,7 @@ var GitHubTaskTracker = class {
46950
46950
  cachedProvider = null;
46951
46951
  async getProvider() {
46952
46952
  if (this.cachedProvider !== null) return this.cachedProvider;
46953
- const { createScmProvider } = await import("./factory-5TRDV3CD.js");
46953
+ const { createScmProvider } = await import("./factory-QLW773DP.js");
46954
46954
  const result = await createScmProvider({ repo: this.config.repo ?? "" });
46955
46955
  if (!result.ok) throw new Error(`SCM provider error: ${result.error.message}`);
46956
46956
  this.cachedProvider = result.value;
@@ -47757,7 +47757,7 @@ async function probeSource(source, includeModelIds) {
47757
47757
  }
47758
47758
  }
47759
47759
  async function defaultSources(includeOpenRouter) {
47760
- const { createAllAdapters: createAllAdapters2 } = await import("./factory-UF6LR6R6.js");
47760
+ const { createAllAdapters: createAllAdapters2 } = await import("./factory-77GX5DG4.js");
47761
47761
  const adapters = createAllAdapters2();
47762
47762
  return buildDefaultModelSources(adapters, { includeOpenRouter });
47763
47763
  }
@@ -51826,4 +51826,4 @@ export {
51826
51826
  shutdownFeedbackSubscriber,
51827
51827
  createEventBusBridge
51828
51828
  };
51829
- //# sourceMappingURL=chunk-B3FX6E7M.js.map
51829
+ //# sourceMappingURL=chunk-PKSBCVNJ.js.map
@@ -1500,6 +1500,12 @@ var DEFAULT_MODEL_PER_CLI = {
1500
1500
  codex: "gpt-5.5",
1501
1501
  opencode: "opencode-default"
1502
1502
  };
1503
+ var STATIC_CLI_COST_PER_1M = {
1504
+ claude: { input: 3, output: 15 },
1505
+ gemini: { input: 0.075, output: 0.3 },
1506
+ codex: { input: 2.5, output: 10 },
1507
+ opencode: { input: 2, output: 8 }
1508
+ };
1503
1509
 
1504
1510
  // src/config/model-derivation.ts
1505
1511
  var DEFAULT_ENTRY = {
@@ -2613,7 +2619,7 @@ function setDefaultRegistry(registry) {
2613
2619
  }
2614
2620
  async function reloadDefaultRegistry() {
2615
2621
  globalRegistry = buildDefaultRegistry();
2616
- const { resetGlobalRegistry } = await import("./unified-registry-GAGQ2VSX.js");
2622
+ const { resetGlobalRegistry } = await import("./unified-registry-XEXWGKV5.js");
2617
2623
  resetGlobalRegistry();
2618
2624
  return globalRegistry;
2619
2625
  }
@@ -2643,6 +2649,14 @@ function getDefaultModelForCli(cli) {
2643
2649
  if (registry === void 0) return staticDefault;
2644
2650
  return registry.getEntry(staticDefault).id;
2645
2651
  }
2652
+ function resolveModelCostPer1M(modelId, fallback) {
2653
+ const pricing = getModelPricing(modelId);
2654
+ if (pricing === void 0) return fallback;
2655
+ return { input: pricing.inputPer1M, output: pricing.outputPer1M };
2656
+ }
2657
+ function resolveCliCostPer1M(cli) {
2658
+ return resolveModelCostPer1M(getDefaultModelForCli(cli), STATIC_CLI_COST_PER_1M[cli]);
2659
+ }
2646
2660
  function getCliModelName(modelId) {
2647
2661
  const entry = lookupInTree(modelId);
2648
2662
  return entry?.cliModelName ?? entry?.cliAlias ?? modelId;
@@ -2693,9 +2707,10 @@ function buildTopsisProfiles() {
2693
2707
  for (const [cli, modelId] of Object.entries(DEFAULT_MODEL_PER_CLI)) {
2694
2708
  const entry = byId.get(modelId);
2695
2709
  const q = entry?.qualityScores;
2696
- const p = entry?.pricing;
2697
- if (entry === void 0 || q === void 0 || p === void 0) continue;
2710
+ if (entry === void 0 || q === void 0) continue;
2698
2711
  if (entry.contextWindow === void 0) continue;
2712
+ const p = entry.pricing;
2713
+ const price = p !== void 0 ? { input: p.inputPer1M, output: p.outputPer1M } : STATIC_CLI_COST_PER_1M[cli];
2699
2714
  profiles.push({
2700
2715
  cliName: cli,
2701
2716
  capabilities: {
@@ -2705,8 +2720,8 @@ function buildTopsisProfiles() {
2705
2720
  speed: q.speed,
2706
2721
  cost: q.cost
2707
2722
  },
2708
- costPerMillionInput: p.inputPer1M,
2709
- costPerMillionOutput: p.outputPer1M,
2723
+ costPerMillionInput: price.input,
2724
+ costPerMillionOutput: price.output,
2710
2725
  averageLatencyMs: cliAvgLatency()[cli],
2711
2726
  qualityScore: (q.reasoning + q.codeGeneration) / 2
2712
2727
  });
@@ -5357,17 +5372,11 @@ var RoutingMemoryError = class extends Error {
5357
5372
  };
5358
5373
 
5359
5374
  // src/cli-adapters/budget-utils.ts
5360
- var TOKEN_COSTS = {
5361
- claude: { input: 3, output: 15 },
5362
- gemini: { input: 0.075, output: 0.3 },
5363
- codex: { input: 2.5, output: 10 },
5364
- opencode: { input: 2, output: 8 }
5365
- };
5366
5375
  function estimateTokens2(content) {
5367
5376
  return Math.ceil(content.length / 4);
5368
5377
  }
5369
5378
  function estimateCost(model, inputTokens, outputTokens) {
5370
- const costs = TOKEN_COSTS[model];
5379
+ const costs = resolveCliCostPer1M(model);
5371
5380
  const inputCost = inputTokens / 1e6 * costs.input;
5372
5381
  const outputCost = outputTokens / 1e6 * costs.output;
5373
5382
  return inputCost + outputCost;
@@ -7134,6 +7143,133 @@ function createPreferenceRouter(config, dataStore) {
7134
7143
 
7135
7144
  // src/cli-adapters/zero-router-types.ts
7136
7145
  import { z as z7 } from "zod";
7146
+
7147
+ // src/cli-adapters/derive-tier-tables.ts
7148
+ var CLI_ORDER = CLI_NAMES;
7149
+ var EXPENSIVE_SENTINEL = Number.MAX_SAFE_INTEGER;
7150
+ var RANK_MAX = 3;
7151
+ var RANK_MIN = 1;
7152
+ function compositeQuality(reasoning, codeGeneration) {
7153
+ return (reasoning + codeGeneration) / 2;
7154
+ }
7155
+ function normalizeBlendedPrice(blended) {
7156
+ return blended > 0 ? blended : EXPENSIVE_SENTINEL;
7157
+ }
7158
+ function readCliModelData() {
7159
+ const byId = new Map(buildInTreeEntries().map((e) => [e.id, e]));
7160
+ const out = {};
7161
+ for (const cli of CLI_ORDER) {
7162
+ const entry = byId.get(DEFAULT_MODEL_PER_CLI[cli]);
7163
+ const q = entry?.qualityScores;
7164
+ const pricing = entry?.pricing;
7165
+ const blended = pricing !== void 0 ? pricing.inputPer1M + pricing.outputPer1M : STATIC_CLI_COST_PER_1M[cli].input + STATIC_CLI_COST_PER_1M[cli].output;
7166
+ out[cli] = {
7167
+ quality: q !== void 0 ? compositeQuality(q.reasoning, q.codeGeneration) : void 0,
7168
+ price: normalizeBlendedPrice(blended),
7169
+ speed: q?.speed
7170
+ };
7171
+ }
7172
+ return out;
7173
+ }
7174
+ function scaleRank(value, min, max, invert) {
7175
+ if (max === min) return RANK_MAX;
7176
+ const t = (value - min) / (max - min);
7177
+ const norm = invert ? 1 - t : t;
7178
+ return RANK_MIN + norm * (RANK_MAX - RANK_MIN);
7179
+ }
7180
+ function buildQualityRank(data2) {
7181
+ const scored = CLI_ORDER.map((c) => data2[c].quality).filter((q) => q !== void 0);
7182
+ const min = scored.length > 0 ? Math.min(...scored) : 0;
7183
+ const max = scored.length > 0 ? Math.max(...scored) : 0;
7184
+ const out = {};
7185
+ for (const cli of CLI_ORDER) {
7186
+ const q = data2[cli].quality;
7187
+ out[cli] = q === void 0 ? 0 : scaleRank(q, min, max, false);
7188
+ }
7189
+ return out;
7190
+ }
7191
+ function buildCostRank(data2) {
7192
+ const prices = CLI_ORDER.map((c) => data2[c].price);
7193
+ const min = Math.min(...prices);
7194
+ const max = Math.max(...prices);
7195
+ const out = {};
7196
+ for (const cli of CLI_ORDER) {
7197
+ out[cli] = scaleRank(data2[cli].price, min, max, true);
7198
+ }
7199
+ return out;
7200
+ }
7201
+ function byDescThen(primary, secondary) {
7202
+ return (a, b) => {
7203
+ const p = primary(b) - primary(a);
7204
+ if (p !== 0) return p;
7205
+ const s = secondary(b) - secondary(a);
7206
+ if (s !== 0) return s;
7207
+ return CLI_ORDER.indexOf(a) - CLI_ORDER.indexOf(b);
7208
+ };
7209
+ }
7210
+ function buildTierToClis(data2) {
7211
+ const quality = buildQualityRank(data2);
7212
+ const cost = buildCostRank(data2);
7213
+ const speed = (c) => data2[c].speed ?? 0;
7214
+ const powerful = CLI_ORDER.filter((c) => data2[c].quality !== void 0).sort(
7215
+ byDescThen(
7216
+ (c) => quality[c],
7217
+ (c) => data2[c].price
7218
+ )
7219
+ );
7220
+ const fast = [...CLI_ORDER].sort(byDescThen(speed, (c) => cost[c]));
7221
+ const balanced = [...CLI_ORDER].sort(
7222
+ byDescThen(
7223
+ (c) => (quality[c] + cost[c]) / 2,
7224
+ (c) => cost[c]
7225
+ )
7226
+ );
7227
+ return { powerful, balanced, fast };
7228
+ }
7229
+ function buildConfidenceProfiles(data2) {
7230
+ const out = {};
7231
+ for (const cli of CLI_ORDER) {
7232
+ const datum = data2[cli];
7233
+ out[cli] = {
7234
+ simpleScore: (datum.speed ?? 0) / 10,
7235
+ complexScore: (datum.quality ?? 0) / 10
7236
+ };
7237
+ }
7238
+ return out;
7239
+ }
7240
+ function buildPremiumClis(data2) {
7241
+ const eligible = CLI_ORDER.filter(
7242
+ (c) => data2[c].quality !== void 0 && data2[c].price !== EXPENSIVE_SENTINEL
7243
+ );
7244
+ if (eligible.length === 0) return [];
7245
+ const maxPrice = Math.max(...eligible.map((c) => data2[c].price));
7246
+ return eligible.filter((c) => data2[c].price === maxPrice);
7247
+ }
7248
+ var cachedData;
7249
+ function data() {
7250
+ return cachedData ??= readCliModelData();
7251
+ }
7252
+ function deriveCliQualityRank() {
7253
+ return buildQualityRank(data());
7254
+ }
7255
+ function deriveCliCostRank() {
7256
+ return buildCostRank(data());
7257
+ }
7258
+ function deriveTierToClis() {
7259
+ return buildTierToClis(data());
7260
+ }
7261
+ function deriveCliConfidenceProfiles() {
7262
+ return buildConfidenceProfiles(data());
7263
+ }
7264
+ function deriveStrongClis() {
7265
+ return buildPremiumClis(data());
7266
+ }
7267
+ function deriveWeakClis() {
7268
+ const strong = new Set(deriveStrongClis());
7269
+ return CLI_ORDER.filter((c) => !strong.has(c));
7270
+ }
7271
+
7272
+ // src/cli-adapters/zero-router-types.ts
7137
7273
  var DifficultyDimensionSchema = z7.enum([
7138
7274
  "reasoning",
7139
7275
  "knowledge",
@@ -7169,11 +7305,7 @@ var DEFAULT_DIFFICULTY_TO_TIER = {
7169
7305
  medium: "balanced",
7170
7306
  hard: "powerful"
7171
7307
  };
7172
- var DEFAULT_TIER_TO_CLIS = {
7173
- fast: ["gemini", "codex", "opencode", "claude"],
7174
- balanced: ["codex", "opencode", "gemini", "claude"],
7175
- powerful: ["claude", "codex", "opencode", "gemini"]
7176
- };
7308
+ var DEFAULT_TIER_TO_CLIS = deriveTierToClis();
7177
7309
  var DifficultyWeightsSchema = z7.object({
7178
7310
  reasoning: z7.number().min(0).max(1),
7179
7311
  knowledge: z7.number().min(0).max(1),
@@ -8048,16 +8180,7 @@ var SIMPLE_TASK_INDICATORS = [
8048
8180
  ];
8049
8181
 
8050
8182
  // src/cli-adapters/routing/stages/confidence-cascade-stage.ts
8051
- var CLI_CONFIDENCE_PROFILES = {
8052
- claude: { simpleScore: 0.7, complexScore: 1 },
8053
- // Best for complex reasoning
8054
- gemini: { simpleScore: 1, complexScore: 0.6 },
8055
- // Fast for simple tasks
8056
- codex: { simpleScore: 0.8, complexScore: 0.9 },
8057
- // Good for code tasks
8058
- opencode: { simpleScore: 0.8, complexScore: 0.7 }
8059
- // Multi-provider proxy
8060
- };
8183
+ var CLI_CONFIDENCE_PROFILES = deriveCliConfidenceProfiles();
8061
8184
  var DEFAULT_CONFIG = {
8062
8185
  escalationThreshold: 0.7,
8063
8186
  complexityWeight: 0.3,
@@ -8545,18 +8668,8 @@ var DEFAULT_CONFIG4 = {
8545
8668
  conservativeBoost: 5,
8546
8669
  criticalBoost: 8
8547
8670
  };
8548
- var CLI_QUALITY_RANK = {
8549
- claude: 3,
8550
- codex: 2,
8551
- opencode: 1.5,
8552
- gemini: 1
8553
- };
8554
- var CLI_COST_RANK = {
8555
- gemini: 3,
8556
- codex: 2,
8557
- opencode: 2,
8558
- claude: 1
8559
- };
8671
+ var CLI_QUALITY_RANK = deriveCliQualityRank();
8672
+ var CLI_COST_RANK = deriveCliCostRank();
8560
8673
  function computeResourceTier(resourceLevel, config = DEFAULT_CONFIG4) {
8561
8674
  if (resourceLevel >= config.aggressiveThreshold) return "aggressive";
8562
8675
  if (resourceLevel >= config.balancedThreshold) return "balanced";
@@ -10105,8 +10218,8 @@ function buildReason(options) {
10105
10218
  return parts.join(", ");
10106
10219
  }
10107
10220
  function filterByPreferenceTier(candidates, tier) {
10108
- const strongModels = ["claude"];
10109
- const weakModels = ["gemini", "codex"];
10221
+ const strongModels = deriveStrongClis();
10222
+ const weakModels = deriveWeakClis();
10110
10223
  const preferred = tier === "strong" ? strongModels : weakModels;
10111
10224
  const filtered = candidates.filter((c) => preferred.includes(routingArmDisplaySlot(c)));
10112
10225
  return filtered.length > 0 ? filtered : candidates;
@@ -10230,12 +10343,7 @@ function defaultZeroRouterStageResult(candidates) {
10230
10343
  };
10231
10344
  }
10232
10345
  function filterByDifficultyTier(candidates, tier) {
10233
- const tierPreferences = {
10234
- fast: ["gemini", "codex", "claude"],
10235
- balanced: ["codex", "gemini", "claude"],
10236
- powerful: ["claude", "codex", "gemini"]
10237
- };
10238
- const preferred = tierPreferences[tier];
10346
+ const preferred = deriveTierToClis()[tier];
10239
10347
  const sortedCandidates = [...candidates].sort((a, b) => {
10240
10348
  const aIndex = preferred.indexOf(routingArmDisplaySlot(a));
10241
10349
  const bIndex = preferred.indexOf(routingArmDisplaySlot(b));
@@ -14249,7 +14357,7 @@ var CompositeRouter = class _CompositeRouter {
14249
14357
  */
14250
14358
  async consultUnifiedContext(task) {
14251
14359
  try {
14252
- const { getContextForTask, inferTaskCategory } = await import("./context-retriever-W6Z6JNEF.js");
14360
+ const { getContextForTask, inferTaskCategory } = await import("./context-retriever-5UJC5KDZ.js");
14253
14361
  const ctx = await getContextForTask({
14254
14362
  task: task.content,
14255
14363
  category: inferTaskCategory(task.content),
@@ -15838,4 +15946,4 @@ export {
15838
15946
  AgentCapability,
15839
15947
  OrchestratorError
15840
15948
  };
15841
- //# sourceMappingURL=chunk-NDV5J3Z5.js.map
15949
+ //# sourceMappingURL=chunk-PZ3BB3PO.js.map