nexus-agents 2.100.1 → 2.101.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 (119) hide show
  1. package/dist/{child-mcp-config-OWCVT4NN.js → child-mcp-config-NBELOYYZ.js} +2 -2
  2. package/dist/{chunk-TYELRYRO.js → chunk-2ETX4XQW.js} +10 -10
  3. package/dist/{chunk-P453545L.js → chunk-3GF52QPA.js} +4 -4
  4. package/dist/{chunk-AH67WRET.js → chunk-3QFQG5QT.js} +2 -2
  5. package/dist/{chunk-5T6S6HFY.js → chunk-4IWHFMCN.js} +4 -4
  6. package/dist/{chunk-HFNHJZOK.js → chunk-4L7FH53H.js} +2 -2
  7. package/dist/{chunk-A7XUXJWL.js → chunk-4RW6OONY.js} +2 -2
  8. package/dist/{chunk-WYDK6V7W.js → chunk-5PZIMHNA.js} +3 -3
  9. package/dist/{chunk-Q3IFS7UA.js → chunk-ABGRFLJ6.js} +4 -4
  10. package/dist/{chunk-GEXFJOLK.js → chunk-CCWPDHBN.js} +7 -7
  11. package/dist/{chunk-ZPCDZMLK.js → chunk-E47LOV6Y.js} +2 -2
  12. package/dist/{chunk-SU7RKNIZ.js → chunk-EKO6XAAZ.js} +3 -3
  13. package/dist/{chunk-HBZUXO4Q.js → chunk-FLUC27DF.js} +2 -2
  14. package/dist/{chunk-BO6QUVXI.js → chunk-FVWKAEYH.js} +2 -2
  15. package/dist/{chunk-BKUKBOGV.js → chunk-FZCB2P3F.js} +2 -2
  16. package/dist/{chunk-VD4TXDMR.js → chunk-GDY23NDK.js} +2 -2
  17. package/dist/{chunk-JFFI54DW.js → chunk-KAJPY6YZ.js} +548 -298
  18. package/dist/chunk-KAJPY6YZ.js.map +1 -0
  19. package/dist/{chunk-H4LBBFCO.js → chunk-KHEQIB6P.js} +7 -7
  20. package/dist/{chunk-M774MKHE.js → chunk-KLYBJUTK.js} +43 -4
  21. package/dist/chunk-KLYBJUTK.js.map +1 -0
  22. package/dist/{chunk-YREYQSYA.js → chunk-KYONCTIL.js} +3 -3
  23. package/dist/{chunk-CJODZY4U.js → chunk-L2NPJRZZ.js} +2 -2
  24. package/dist/{chunk-XO25FS24.js → chunk-LVGYWJDX.js} +2 -2
  25. package/dist/{chunk-T5KDRR2I.js → chunk-LXBWH5XP.js} +3 -3
  26. package/dist/{chunk-DLNCQO6L.js → chunk-MNFEZIRI.js} +2 -2
  27. package/dist/{chunk-J545CO5K.js → chunk-MNWYIYEZ.js} +2 -2
  28. package/dist/{chunk-VXNN3JKU.js → chunk-MUVRUSQD.js} +31 -623
  29. package/dist/chunk-MUVRUSQD.js.map +1 -0
  30. package/dist/{chunk-V2C2MC6H.js → chunk-NAKDVIXS.js} +3 -3
  31. package/dist/{chunk-UWQ3BALH.js → chunk-S7R72HUB.js} +2 -2
  32. package/dist/{chunk-ZOBDTJNG.js → chunk-TDXLS2TY.js} +4 -4
  33. package/dist/{chunk-NZC5NLUD.js → chunk-UVN6QKCG.js} +5 -5
  34. package/dist/{chunk-3XSEFOI5.js → chunk-VJR46M7L.js} +3 -3
  35. package/dist/{chunk-J76KHBF3.js → chunk-W65C5VVJ.js} +2 -2
  36. package/dist/{chunk-5WY3N7VX.js → chunk-Z7IQUUTZ.js} +2 -2
  37. package/dist/{cli-circuit-breaker-IPNNNVIT.js → cli-circuit-breaker-L647V6BR.js} +4 -4
  38. package/dist/cli.js +39 -39
  39. package/dist/{composite-router-JJNQIHX6.js → composite-router-NOTUOXFI.js} +2 -2
  40. package/dist/{consensus-vote-PGOS5AA6.js → consensus-vote-F5FEDUSU.js} +13 -13
  41. package/dist/{context-retriever-2MOJ446P.js → context-retriever-SHT7J6BT.js} +6 -6
  42. package/dist/{doctor-deep-D6E5IWXB.js → doctor-deep-REMLGFXP.js} +3 -3
  43. package/dist/{expert-bridge-L25WFHQF.js → expert-bridge-Z7XZ7ED5.js} +4 -4
  44. package/dist/{factory-UCRIJY6Y.js → factory-CYUNYEMU.js} +5 -5
  45. package/dist/{factory-PVN7DDNZ.js → factory-PPAK3TVG.js} +5 -5
  46. package/dist/{improvement-review-IWV2BMR7.js → improvement-review-BGFCQV4I.js} +4 -4
  47. package/dist/index.d.ts +1 -45
  48. package/dist/index.js +28 -88
  49. package/dist/index.js.map +1 -1
  50. package/dist/{init-opencode-PB4G7RJR.js → init-opencode-WXY4DUFU.js} +5 -5
  51. package/dist/{issue-triage-EMYHDDTR.js → issue-triage-KGLNAJKH.js} +5 -5
  52. package/dist/{pr-reviewer-helpers-DZQDKMMF.js → pr-reviewer-helpers-2YJG6XJM.js} +4 -4
  53. package/dist/{registry-command-5L7I44JA.js → registry-command-ZFOGLBKF.js} +12 -172
  54. package/dist/registry-command-ZFOGLBKF.js.map +1 -0
  55. package/dist/{repo-security-plan-N2GNWFER.js → repo-security-plan-L47DDTAU.js} +3 -3
  56. package/dist/{research-helpers-synthesize-OKNU245Z.js → research-helpers-synthesize-IABO7LB4.js} +3 -3
  57. package/dist/{routing-memory-3QXWGWB5.js → routing-memory-2YWEWRMQ.js} +2 -2
  58. package/dist/{session-memory-AK4AJXGI.js → session-memory-YWOMPCLZ.js} +3 -3
  59. package/dist/{setup-command-COISAIOH.js → setup-command-IQK73FJ4.js} +11 -11
  60. package/dist/{setup-config-ANAFKZGE.js → setup-config-PYFK2GIC.js} +3 -3
  61. package/dist/{setup-custom-api-FUA2ZUDD.js → setup-custom-api-A4IZQ2Q4.js} +4 -4
  62. package/dist/{tool-memory-ZP3EMUP5.js → tool-memory-ABPSCFIH.js} +5 -5
  63. package/dist/{weather-report-54XDO6GO.js → weather-report-GXD6KGDS.js} +2 -2
  64. package/package.json +1 -1
  65. package/dist/chunk-JFFI54DW.js.map +0 -1
  66. package/dist/chunk-M774MKHE.js.map +0 -1
  67. package/dist/chunk-VXNN3JKU.js.map +0 -1
  68. package/dist/registry-command-5L7I44JA.js.map +0 -1
  69. /package/dist/{child-mcp-config-OWCVT4NN.js.map → child-mcp-config-NBELOYYZ.js.map} +0 -0
  70. /package/dist/{chunk-TYELRYRO.js.map → chunk-2ETX4XQW.js.map} +0 -0
  71. /package/dist/{chunk-P453545L.js.map → chunk-3GF52QPA.js.map} +0 -0
  72. /package/dist/{chunk-AH67WRET.js.map → chunk-3QFQG5QT.js.map} +0 -0
  73. /package/dist/{chunk-5T6S6HFY.js.map → chunk-4IWHFMCN.js.map} +0 -0
  74. /package/dist/{chunk-HFNHJZOK.js.map → chunk-4L7FH53H.js.map} +0 -0
  75. /package/dist/{chunk-A7XUXJWL.js.map → chunk-4RW6OONY.js.map} +0 -0
  76. /package/dist/{chunk-WYDK6V7W.js.map → chunk-5PZIMHNA.js.map} +0 -0
  77. /package/dist/{chunk-Q3IFS7UA.js.map → chunk-ABGRFLJ6.js.map} +0 -0
  78. /package/dist/{chunk-GEXFJOLK.js.map → chunk-CCWPDHBN.js.map} +0 -0
  79. /package/dist/{chunk-ZPCDZMLK.js.map → chunk-E47LOV6Y.js.map} +0 -0
  80. /package/dist/{chunk-SU7RKNIZ.js.map → chunk-EKO6XAAZ.js.map} +0 -0
  81. /package/dist/{chunk-HBZUXO4Q.js.map → chunk-FLUC27DF.js.map} +0 -0
  82. /package/dist/{chunk-BO6QUVXI.js.map → chunk-FVWKAEYH.js.map} +0 -0
  83. /package/dist/{chunk-BKUKBOGV.js.map → chunk-FZCB2P3F.js.map} +0 -0
  84. /package/dist/{chunk-VD4TXDMR.js.map → chunk-GDY23NDK.js.map} +0 -0
  85. /package/dist/{chunk-H4LBBFCO.js.map → chunk-KHEQIB6P.js.map} +0 -0
  86. /package/dist/{chunk-YREYQSYA.js.map → chunk-KYONCTIL.js.map} +0 -0
  87. /package/dist/{chunk-CJODZY4U.js.map → chunk-L2NPJRZZ.js.map} +0 -0
  88. /package/dist/{chunk-XO25FS24.js.map → chunk-LVGYWJDX.js.map} +0 -0
  89. /package/dist/{chunk-T5KDRR2I.js.map → chunk-LXBWH5XP.js.map} +0 -0
  90. /package/dist/{chunk-DLNCQO6L.js.map → chunk-MNFEZIRI.js.map} +0 -0
  91. /package/dist/{chunk-J545CO5K.js.map → chunk-MNWYIYEZ.js.map} +0 -0
  92. /package/dist/{chunk-V2C2MC6H.js.map → chunk-NAKDVIXS.js.map} +0 -0
  93. /package/dist/{chunk-UWQ3BALH.js.map → chunk-S7R72HUB.js.map} +0 -0
  94. /package/dist/{chunk-ZOBDTJNG.js.map → chunk-TDXLS2TY.js.map} +0 -0
  95. /package/dist/{chunk-NZC5NLUD.js.map → chunk-UVN6QKCG.js.map} +0 -0
  96. /package/dist/{chunk-3XSEFOI5.js.map → chunk-VJR46M7L.js.map} +0 -0
  97. /package/dist/{chunk-J76KHBF3.js.map → chunk-W65C5VVJ.js.map} +0 -0
  98. /package/dist/{chunk-5WY3N7VX.js.map → chunk-Z7IQUUTZ.js.map} +0 -0
  99. /package/dist/{cli-circuit-breaker-IPNNNVIT.js.map → cli-circuit-breaker-L647V6BR.js.map} +0 -0
  100. /package/dist/{composite-router-JJNQIHX6.js.map → composite-router-NOTUOXFI.js.map} +0 -0
  101. /package/dist/{consensus-vote-PGOS5AA6.js.map → consensus-vote-F5FEDUSU.js.map} +0 -0
  102. /package/dist/{context-retriever-2MOJ446P.js.map → context-retriever-SHT7J6BT.js.map} +0 -0
  103. /package/dist/{doctor-deep-D6E5IWXB.js.map → doctor-deep-REMLGFXP.js.map} +0 -0
  104. /package/dist/{expert-bridge-L25WFHQF.js.map → expert-bridge-Z7XZ7ED5.js.map} +0 -0
  105. /package/dist/{factory-PVN7DDNZ.js.map → factory-CYUNYEMU.js.map} +0 -0
  106. /package/dist/{factory-UCRIJY6Y.js.map → factory-PPAK3TVG.js.map} +0 -0
  107. /package/dist/{improvement-review-IWV2BMR7.js.map → improvement-review-BGFCQV4I.js.map} +0 -0
  108. /package/dist/{init-opencode-PB4G7RJR.js.map → init-opencode-WXY4DUFU.js.map} +0 -0
  109. /package/dist/{issue-triage-EMYHDDTR.js.map → issue-triage-KGLNAJKH.js.map} +0 -0
  110. /package/dist/{pr-reviewer-helpers-DZQDKMMF.js.map → pr-reviewer-helpers-2YJG6XJM.js.map} +0 -0
  111. /package/dist/{repo-security-plan-N2GNWFER.js.map → repo-security-plan-L47DDTAU.js.map} +0 -0
  112. /package/dist/{research-helpers-synthesize-OKNU245Z.js.map → research-helpers-synthesize-IABO7LB4.js.map} +0 -0
  113. /package/dist/{routing-memory-3QXWGWB5.js.map → routing-memory-2YWEWRMQ.js.map} +0 -0
  114. /package/dist/{session-memory-AK4AJXGI.js.map → session-memory-YWOMPCLZ.js.map} +0 -0
  115. /package/dist/{setup-command-COISAIOH.js.map → setup-command-IQK73FJ4.js.map} +0 -0
  116. /package/dist/{setup-config-ANAFKZGE.js.map → setup-config-PYFK2GIC.js.map} +0 -0
  117. /package/dist/{setup-custom-api-FUA2ZUDD.js.map → setup-custom-api-A4IZQ2Q4.js.map} +0 -0
  118. /package/dist/{tool-memory-ZP3EMUP5.js.map → tool-memory-ABPSCFIH.js.map} +0 -0
  119. /package/dist/{weather-report-54XDO6GO.js.map → weather-report-GXD6KGDS.js.map} +0 -0
@@ -6,10 +6,10 @@ import {
6
6
  import {
7
7
  getTokenEnvVars,
8
8
  resolveToken
9
- } from "./chunk-UWQ3BALH.js";
9
+ } from "./chunk-S7R72HUB.js";
10
10
  import {
11
11
  executeExpert
12
- } from "./chunk-H4LBBFCO.js";
12
+ } from "./chunk-KHEQIB6P.js";
13
13
  import {
14
14
  EventTopics,
15
15
  JobStatusSchema,
@@ -30,7 +30,7 @@ import {
30
30
  writeJobComplete,
31
31
  writeJobFailed,
32
32
  writeJobPending
33
- } from "./chunk-TYELRYRO.js";
33
+ } from "./chunk-2ETX4XQW.js";
34
34
  import {
35
35
  REGISTRY_PATH,
36
36
  getProjectRoot,
@@ -39,19 +39,19 @@ import {
39
39
  normalizeTopicToCanonical,
40
40
  savePapersRegistry,
41
41
  synthesizeResearch
42
- } from "./chunk-5WY3N7VX.js";
42
+ } from "./chunk-Z7IQUUTZ.js";
43
43
  import {
44
44
  IssueTriage,
45
45
  createAuditTrail,
46
46
  createGraphAuditBridge
47
- } from "./chunk-5T6S6HFY.js";
47
+ } from "./chunk-4IWHFMCN.js";
48
48
  import {
49
49
  resolveEnvMode,
50
50
  sanitizeInput
51
- } from "./chunk-VD4TXDMR.js";
51
+ } from "./chunk-GDY23NDK.js";
52
52
  import {
53
53
  withPrerequisite
54
- } from "./chunk-YREYQSYA.js";
54
+ } from "./chunk-KYONCTIL.js";
55
55
  import {
56
56
  NOOP_NOTIFIER,
57
57
  RateLimiter,
@@ -59,6 +59,7 @@ import {
59
59
  createDefaultRateLimiter,
60
60
  createMcpNotifier,
61
61
  createSecureHandler,
62
+ getMcpAnnotations,
62
63
  getToolAnnotations,
63
64
  getToolTimeout,
64
65
  toSdkCallback,
@@ -70,10 +71,10 @@ import {
70
71
  withAccessPolicy,
71
72
  withProgressHeartbeat,
72
73
  wrapToolWithTimeout
73
- } from "./chunk-JFFI54DW.js";
74
+ } from "./chunk-KAJPY6YZ.js";
74
75
  import {
75
76
  generateSecurityPlan
76
- } from "./chunk-BKUKBOGV.js";
77
+ } from "./chunk-FZCB2P3F.js";
77
78
  import {
78
79
  analyzeGitHubRepo
79
80
  } from "./chunk-HFOQKCD2.js";
@@ -81,26 +82,26 @@ import {
81
82
  getContextForTask,
82
83
  inferTaskCategory,
83
84
  summarizeContextForPrompt
84
- } from "./chunk-3XSEFOI5.js";
85
+ } from "./chunk-VJR46M7L.js";
85
86
  import {
86
87
  DEFAULT_RELEVANCE_CONFIG,
87
88
  MemoryImportance,
88
89
  calculateTextJaccardSimilarity,
89
90
  getToolMemory
90
- } from "./chunk-ZOBDTJNG.js";
91
+ } from "./chunk-TDXLS2TY.js";
91
92
  import {
92
93
  DEFAULT_TASK_TTL_MS,
93
94
  DEFAULT_TOOL_RATE_LIMITS,
94
95
  clampTaskTtl
95
- } from "./chunk-GEXFJOLK.js";
96
+ } from "./chunk-CCWPDHBN.js";
96
97
  import {
97
98
  getAvailabilityCache,
98
99
  getCliForModelId,
99
100
  resolveFallback
100
- } from "./chunk-HBZUXO4Q.js";
101
+ } from "./chunk-FLUC27DF.js";
101
102
  import {
102
103
  DEFAULTS
103
- } from "./chunk-XO25FS24.js";
104
+ } from "./chunk-LVGYWJDX.js";
104
105
  import {
105
106
  resolveInsideRoot
106
107
  } from "./chunk-NUBSJGQZ.js";
@@ -116,11 +117,11 @@ import {
116
117
  getAvailableClis,
117
118
  sleep,
118
119
  withTimeout
119
- } from "./chunk-P453545L.js";
120
+ } from "./chunk-3GF52QPA.js";
120
121
  import {
121
122
  generateHyphenId,
122
123
  generateUUID
123
- } from "./chunk-AH67WRET.js";
124
+ } from "./chunk-3QFQG5QT.js";
124
125
  import {
125
126
  BUILT_IN_EXPERTS,
126
127
  BuiltInExpertTypeSchema,
@@ -132,7 +133,7 @@ import {
132
133
  } from "./chunk-PQHVC4BD.js";
133
134
  import {
134
135
  createSessionMemory
135
- } from "./chunk-DLNCQO6L.js";
136
+ } from "./chunk-MNFEZIRI.js";
136
137
  import {
137
138
  AGENT_ROUTER_TIMEOUTS,
138
139
  API_TIMEOUTS,
@@ -204,7 +205,7 @@ import {
204
205
  resolveModelIdentitySync,
205
206
  toExpertTaskAnalysisResult,
206
207
  withStep
207
- } from "./chunk-M774MKHE.js";
208
+ } from "./chunk-KLYBJUTK.js";
208
209
  import {
209
210
  nexusDataPath,
210
211
  nexusDataPathEnsure
@@ -27005,7 +27006,7 @@ async function populateUnifiedContextOnState(state) {
27005
27006
  try {
27006
27007
  const taskCandidate = state["task"];
27007
27008
  if (typeof taskCandidate !== "string" || taskCandidate === "") return;
27008
- const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-2MOJ446P.js");
27009
+ const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-SHT7J6BT.js");
27009
27010
  const ctx = await getContextForTask2({
27010
27011
  task: taskCandidate,
27011
27012
  category: inferTaskCategory2(taskCandidate),
@@ -42408,7 +42409,7 @@ async function tryIssueTriage(task) {
42408
42409
  try {
42409
42410
  const issueMatch = task.match(/github\.com\/([^/]+\/[^/]+)\/issues\/(\d+)/);
42410
42411
  if (issueMatch === null) return null;
42411
- const { createIssueTriage } = await import("./issue-triage-EMYHDDTR.js");
42412
+ const { createIssueTriage } = await import("./issue-triage-KGLNAJKH.js");
42412
42413
  const triage = createIssueTriage();
42413
42414
  const owner = issueMatch[1] ?? "";
42414
42415
  const num = issueMatch[2] ?? "";
@@ -42436,7 +42437,7 @@ var VALID_TEMPLATES = /* @__PURE__ */ new Set([
42436
42437
  ]);
42437
42438
  async function classifyWithLLM(task) {
42438
42439
  try {
42439
- const { executeExpert: executeExpert2 } = await import("./expert-bridge-L25WFHQF.js");
42440
+ const { executeExpert: executeExpert2 } = await import("./expert-bridge-Z7XZ7ED5.js");
42440
42441
  const prompt = [
42441
42442
  "Classify this task into exactly one pipeline template.",
42442
42443
  "Templates: dev (implementation/bug fix/refactor), research (investigate/evaluate/compare),",
@@ -43289,7 +43290,7 @@ var memoryInitPromise = null;
43289
43290
  async function initPipelineMemory() {
43290
43291
  if (cachedMemory !== null) return cachedMemory;
43291
43292
  try {
43292
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-AK4AJXGI.js");
43293
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-YWOMPCLZ.js");
43293
43294
  const { getLearningDir } = await import("./learning-persistence-UKPO7RYK.js");
43294
43295
  const mem = createSessionMemory2(getLearningDir());
43295
43296
  mem.startSession(`pipeline-${String(getTimeProvider().now())}`);
@@ -43346,7 +43347,7 @@ function recordRoutingExperience(category, success, durationMs) {
43346
43347
  callRecord(routingMemoryCache);
43347
43348
  return;
43348
43349
  }
43349
- routingMemoryInitPromise ??= import("./routing-memory-3QXWGWB5.js").then(({ createRoutingMemory }) => {
43350
+ routingMemoryInitPromise ??= import("./routing-memory-2YWEWRMQ.js").then(({ createRoutingMemory }) => {
43350
43351
  routingMemoryCache ??= createRoutingMemory();
43351
43352
  return routingMemoryCache;
43352
43353
  }).catch((error) => {
@@ -43380,7 +43381,7 @@ ${text}` : "";
43380
43381
  }
43381
43382
  async function getWeatherContext() {
43382
43383
  try {
43383
- const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-54XDO6GO.js");
43384
+ const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-GXD6KGDS.js");
43384
43385
  const report = generateWeatherReport2({ includeAdaptive: true });
43385
43386
  const mappings = "recommendedMappings" in report ? report.recommendedMappings : [];
43386
43387
  if (!Array.isArray(mappings) || mappings.length === 0) return "";
@@ -43398,7 +43399,7 @@ ${lines}
43398
43399
  }
43399
43400
  async function getMemoryContext(task) {
43400
43401
  try {
43401
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-AK4AJXGI.js");
43402
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-YWOMPCLZ.js");
43402
43403
  const { getLearningDir } = await import("./learning-persistence-UKPO7RYK.js");
43403
43404
  const memory = createSessionMemory2(getLearningDir(), { maxLearningsInContext: 10 });
43404
43405
  const learnings = memory.searchLearnings(task.slice(0, 200));
@@ -43504,7 +43505,7 @@ ${contextBlock}`;
43504
43505
  const strategy = config.votingStrategy ?? "higher_order";
43505
43506
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
43506
43507
  try {
43507
- const { executeVoting } = await import("./consensus-vote-PGOS5AA6.js");
43508
+ const { executeVoting } = await import("./consensus-vote-F5FEDUSU.js");
43508
43509
  const votingResult = await executeVoting(
43509
43510
  {
43510
43511
  proposal: plan.slice(0, 4e3),
@@ -44495,7 +44496,7 @@ async function searchCodebaseForTask(task) {
44495
44496
  }
44496
44497
  async function queryResearchRegistry(task) {
44497
44498
  try {
44498
- const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-OKNU245Z.js");
44499
+ const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-IABO7LB4.js");
44499
44500
  const topic = task.split(/[.!?\n]/).filter((s) => s.trim().length > 10)[0]?.trim();
44500
44501
  if (topic === void 0) return null;
44501
44502
  const result = await synthesizeResearch2(topic.slice(0, 50));
@@ -44566,7 +44567,7 @@ function createScanStageWrapper() {
44566
44567
  try {
44567
44568
  const slug = ctx.task.match(/([a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+)/)?.[1];
44568
44569
  if (slug !== void 0) {
44569
- const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-N2GNWFER.js");
44570
+ const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-L47DDTAU.js");
44570
44571
  const plan = await generateSecurityPlan2({ repo: slug, maxScanners: 10 });
44571
44572
  const recs = plan.recommendations.slice(0, 5).map((r) => `${r.priority}: ${r.displayName} (${r.category})`).join("; ");
44572
44573
  return output(PIPELINE_STATE_KEYS.FINDINGS, recs, getTimeProvider().now() - start, true);
@@ -46670,599 +46671,6 @@ function registerSupplyChainTradeoffPanelTool(server, deps) {
46670
46671
  logger55.info("Registered supply_chain_tradeoff_panel tool");
46671
46672
  }
46672
46673
 
46673
- // src/mcp/tools/tool-annotations.ts
46674
- var TOOL_ANNOTATIONS = {
46675
- delegate_to_model: {
46676
- annotations: {
46677
- title: "Delegate to Model",
46678
- readOnlyHint: true,
46679
- destructiveHint: false,
46680
- idempotentHint: true,
46681
- openWorldHint: false
46682
- },
46683
- sideEffects: [{ category: "implicit", description: "Consumes rate limit quota" }]
46684
- },
46685
- orchestrate: {
46686
- annotations: {
46687
- title: "Orchestrate Task",
46688
- readOnlyHint: false,
46689
- destructiveHint: false,
46690
- idempotentHint: false,
46691
- openWorldHint: true
46692
- },
46693
- sideEffects: [
46694
- { category: "explicit", description: "Creates and executes expert agents" },
46695
- { category: "implicit", description: "Consumes API tokens from configured provider" },
46696
- { category: "coupling", description: "May trigger rate limiting on model adapter" },
46697
- { category: "coupling", description: "Records task outcome in OutcomeFeedbackCollector" }
46698
- ]
46699
- },
46700
- create_expert: {
46701
- annotations: {
46702
- title: "Create Expert",
46703
- readOnlyHint: false,
46704
- destructiveHint: false,
46705
- idempotentHint: false,
46706
- openWorldHint: false
46707
- },
46708
- sideEffects: [
46709
- { category: "explicit", description: "Creates expert agent in shared registry" },
46710
- { category: "coupling", description: "Expert ID required by execute_expert" }
46711
- ]
46712
- },
46713
- execute_expert: {
46714
- annotations: {
46715
- title: "Execute Expert",
46716
- readOnlyHint: false,
46717
- destructiveHint: false,
46718
- idempotentHint: false,
46719
- openWorldHint: true
46720
- },
46721
- sideEffects: [
46722
- { category: "explicit", description: "Executes expert agent task via model adapter" },
46723
- { category: "implicit", description: "Consumes API tokens from configured provider" },
46724
- { category: "coupling", description: "Requires expert created by create_expert" },
46725
- { category: "coupling", description: "May trigger rate limiting on model adapter" }
46726
- ]
46727
- },
46728
- run_workflow: {
46729
- annotations: {
46730
- title: "Run Workflow",
46731
- readOnlyHint: false,
46732
- destructiveHint: false,
46733
- idempotentHint: false,
46734
- openWorldHint: true
46735
- },
46736
- sideEffects: [
46737
- { category: "explicit", description: "Executes multi-step workflow template" },
46738
- { category: "implicit", description: "Consumes API tokens if workflow uses model adapter" },
46739
- { category: "coupling", description: "May trigger rate limiting on model adapter" }
46740
- ]
46741
- },
46742
- list_experts: {
46743
- annotations: {
46744
- title: "List Experts",
46745
- readOnlyHint: true,
46746
- destructiveHint: false,
46747
- idempotentHint: true,
46748
- openWorldHint: false
46749
- },
46750
- sideEffects: [{ category: "implicit", description: "Consumes rate limit quota" }]
46751
- },
46752
- list_workflows: {
46753
- annotations: {
46754
- title: "List Workflows",
46755
- readOnlyHint: true,
46756
- destructiveHint: false,
46757
- idempotentHint: true,
46758
- openWorldHint: false
46759
- },
46760
- sideEffects: [{ category: "implicit", description: "Consumes rate limit quota" }]
46761
- },
46762
- consensus_vote: {
46763
- annotations: {
46764
- title: "Consensus Vote",
46765
- readOnlyHint: false,
46766
- destructiveHint: false,
46767
- idempotentHint: false,
46768
- openWorldHint: true
46769
- },
46770
- sideEffects: [
46771
- { category: "explicit", description: "Executes multi-agent voting across CLIs" },
46772
- { category: "implicit", description: "Consumes API tokens from multiple providers" },
46773
- { category: "coupling", description: "Records vote outcomes for weather report" }
46774
- ]
46775
- },
46776
- research_query: {
46777
- annotations: {
46778
- title: "Research Query",
46779
- readOnlyHint: true,
46780
- destructiveHint: false,
46781
- idempotentHint: true,
46782
- openWorldHint: false
46783
- },
46784
- sideEffects: [{ category: "implicit", description: "Consumes rate limit quota" }]
46785
- },
46786
- research_add: {
46787
- annotations: {
46788
- title: "Research Add",
46789
- readOnlyHint: false,
46790
- destructiveHint: false,
46791
- idempotentHint: true,
46792
- openWorldHint: true
46793
- },
46794
- sideEffects: [
46795
- { category: "explicit", description: "Adds paper to research registry on disk" },
46796
- { category: "implicit", description: "Fetches metadata from arXiv API" }
46797
- ]
46798
- },
46799
- research_discover: {
46800
- annotations: {
46801
- title: "Research Discover",
46802
- readOnlyHint: true,
46803
- destructiveHint: false,
46804
- idempotentHint: false,
46805
- openWorldHint: true
46806
- },
46807
- sideEffects: [
46808
- { category: "implicit", description: "Queries external APIs (arXiv, GitHub, etc.)" },
46809
- { category: "coupling", description: "Auto-catalogs discovered references" }
46810
- ]
46811
- },
46812
- survey_oss_landscape: {
46813
- annotations: {
46814
- title: "Survey OSS Landscape",
46815
- readOnlyHint: true,
46816
- destructiveHint: false,
46817
- // Same query may return different results day-to-day as star counts
46818
- // and last-commit dates evolve; idempotentHint=false matches reality.
46819
- idempotentHint: false,
46820
- openWorldHint: true
46821
- },
46822
- sideEffects: [{ category: "implicit", description: "Queries the GitHub search API" }]
46823
- },
46824
- vendor_publishing_audit: {
46825
- annotations: {
46826
- title: "Vendor Publishing Audit",
46827
- readOnlyHint: true,
46828
- destructiveHint: false,
46829
- // Pure static lookup against the in-process seed dataset.
46830
- idempotentHint: true,
46831
- openWorldHint: false
46832
- },
46833
- sideEffects: [{ category: "implicit", description: "Consumes rate limit quota" }]
46834
- },
46835
- compare_data_feeds: {
46836
- annotations: {
46837
- title: "Compare Data Feeds",
46838
- readOnlyHint: true,
46839
- destructiveHint: false,
46840
- // Same input → same output; pure file diff with no external calls.
46841
- idempotentHint: true,
46842
- openWorldHint: false
46843
- },
46844
- sideEffects: [{ category: "implicit", description: "Reads two files from the workspace" }]
46845
- },
46846
- research_analyze: {
46847
- annotations: {
46848
- title: "Research Analyze",
46849
- readOnlyHint: true,
46850
- destructiveHint: false,
46851
- idempotentHint: true,
46852
- openWorldHint: false
46853
- },
46854
- sideEffects: [{ category: "implicit", description: "Consumes rate limit quota" }]
46855
- },
46856
- research_catalog_review: {
46857
- annotations: {
46858
- title: "Research Catalog Review",
46859
- readOnlyHint: false,
46860
- destructiveHint: false,
46861
- idempotentHint: false,
46862
- openWorldHint: false
46863
- },
46864
- sideEffects: [
46865
- { category: "explicit", description: "Approves or dismisses cataloged references" },
46866
- { category: "coupling", description: "Approved items added to research registry" }
46867
- ]
46868
- },
46869
- memory_query: {
46870
- annotations: {
46871
- title: "Memory Query",
46872
- readOnlyHint: true,
46873
- destructiveHint: false,
46874
- idempotentHint: false,
46875
- openWorldHint: false
46876
- },
46877
- sideEffects: [
46878
- { category: "implicit", description: "Consumes rate limit quota" },
46879
- { category: "implicit", description: "May trigger reflective retrieval (MemR3)" }
46880
- ]
46881
- },
46882
- memory_stats: {
46883
- annotations: {
46884
- title: "Memory Stats",
46885
- readOnlyHint: true,
46886
- destructiveHint: false,
46887
- idempotentHint: true,
46888
- openWorldHint: false
46889
- },
46890
- sideEffects: [{ category: "implicit", description: "Consumes rate limit quota" }]
46891
- },
46892
- memory_write: {
46893
- annotations: {
46894
- title: "Memory Write",
46895
- readOnlyHint: false,
46896
- destructiveHint: false,
46897
- idempotentHint: false,
46898
- openWorldHint: false
46899
- },
46900
- sideEffects: [
46901
- { category: "explicit", description: "Writes data to memory backend" },
46902
- { category: "implicit", description: "Consumes rate limit quota" }
46903
- ]
46904
- },
46905
- weather_report: {
46906
- annotations: {
46907
- title: "Weather Report",
46908
- readOnlyHint: true,
46909
- destructiveHint: false,
46910
- idempotentHint: false,
46911
- openWorldHint: false
46912
- },
46913
- sideEffects: [{ category: "implicit", description: "Consumes rate limit quota" }]
46914
- },
46915
- improvement_review: {
46916
- annotations: {
46917
- title: "Improvement Review",
46918
- readOnlyHint: false,
46919
- destructiveHint: false,
46920
- // When fileIssues=true, creates GitHub issues — not idempotent.
46921
- idempotentHint: false,
46922
- openWorldHint: true
46923
- },
46924
- sideEffects: [
46925
- { category: "implicit", description: "Reads OutcomeStore and runs fitness audit" },
46926
- {
46927
- category: "explicit",
46928
- description: "When fileIssues=true, files candidate GitHub issues via gh CLI"
46929
- },
46930
- { category: "implicit", description: "Consumes rate limit quota" }
46931
- ]
46932
- },
46933
- run_quality_gate: {
46934
- annotations: {
46935
- title: "Run Quality Gate",
46936
- // Spawns build/test toolchains which can write artifacts — not read-only.
46937
- readOnlyHint: false,
46938
- destructiveHint: false,
46939
- // Same checks against the same code yield the same verdict.
46940
- idempotentHint: true,
46941
- // build/test/security invoke local toolchains and may reach the network.
46942
- openWorldHint: true
46943
- },
46944
- sideEffects: [
46945
- {
46946
- category: "implicit",
46947
- description: "Spawns local toolchain processes (tsc/eslint/vitest/build) in the target project dir"
46948
- },
46949
- {
46950
- category: "implicit",
46951
- description: "build/test checks may write build artifacts and coverage output to disk"
46952
- }
46953
- ]
46954
- },
46955
- issue_triage: {
46956
- annotations: {
46957
- title: "Issue Triage",
46958
- readOnlyHint: true,
46959
- destructiveHint: false,
46960
- idempotentHint: true,
46961
- openWorldHint: true
46962
- },
46963
- sideEffects: [
46964
- { category: "implicit", description: "Fetches issue data from GitHub API" },
46965
- { category: "implicit", description: "Consumes rate limit quota" }
46966
- ]
46967
- },
46968
- run_graph_workflow: {
46969
- annotations: {
46970
- title: "Run Graph Workflow",
46971
- readOnlyHint: false,
46972
- destructiveHint: false,
46973
- idempotentHint: false,
46974
- openWorldHint: true
46975
- },
46976
- sideEffects: [
46977
- { category: "explicit", description: "Executes graph-based workflow with checkpointing" },
46978
- { category: "implicit", description: "Writes checkpoint files to disk" },
46979
- { category: "coupling", description: "May trigger rate limiting on model adapters" }
46980
- ]
46981
- },
46982
- execute_spec: {
46983
- annotations: {
46984
- title: "Execute Spec",
46985
- readOnlyHint: false,
46986
- destructiveHint: false,
46987
- idempotentHint: false,
46988
- openWorldHint: true
46989
- },
46990
- sideEffects: [
46991
- { category: "explicit", description: "Parses and executes markdown specification" },
46992
- { category: "implicit", description: "Consumes API tokens from configured provider" },
46993
- { category: "implicit", description: "Writes execution trace to disk" }
46994
- ]
46995
- },
46996
- registry_import: {
46997
- annotations: {
46998
- title: "Registry Import",
46999
- readOnlyHint: false,
47000
- destructiveHint: false,
47001
- idempotentHint: true,
47002
- openWorldHint: false
47003
- },
47004
- sideEffects: [{ category: "explicit", description: "Generates draft model registry entry" }]
47005
- },
47006
- query_trace: {
47007
- annotations: {
47008
- title: "Query Trace",
47009
- readOnlyHint: true,
47010
- destructiveHint: false,
47011
- idempotentHint: true,
47012
- openWorldHint: false
47013
- },
47014
- sideEffects: [
47015
- { category: "implicit", description: "Reads execution trace JSONL files from disk" }
47016
- ]
47017
- },
47018
- repo_analyze: {
47019
- annotations: {
47020
- title: "Repo Analyze",
47021
- readOnlyHint: true,
47022
- destructiveHint: false,
47023
- idempotentHint: true,
47024
- openWorldHint: true
47025
- },
47026
- sideEffects: [
47027
- {
47028
- category: "implicit",
47029
- description: "Fetches repository metadata from GitHub API via gh CLI"
47030
- },
47031
- { category: "implicit", description: "Consumes rate limit quota" }
47032
- ]
47033
- },
47034
- repo_security_plan: {
47035
- annotations: {
47036
- title: "Repo Security Plan",
47037
- readOnlyHint: true,
47038
- destructiveHint: false,
47039
- idempotentHint: true,
47040
- openWorldHint: true
47041
- },
47042
- sideEffects: [
47043
- {
47044
- category: "implicit",
47045
- description: "Fetches repository metadata from GitHub API via gh CLI"
47046
- },
47047
- { category: "implicit", description: "Consumes rate limit quota" }
47048
- ]
47049
- },
47050
- research_add_source: {
47051
- annotations: {
47052
- title: "Research Add Source",
47053
- readOnlyHint: false,
47054
- destructiveHint: false,
47055
- idempotentHint: false,
47056
- openWorldHint: true
47057
- },
47058
- sideEffects: [
47059
- { category: "explicit", description: "Adds a non-paper source to the research registry" },
47060
- { category: "coupling", description: "New entries affect research_discover/research_query" }
47061
- ]
47062
- },
47063
- research_synthesize: {
47064
- annotations: {
47065
- title: "Research Synthesize",
47066
- readOnlyHint: true,
47067
- destructiveHint: false,
47068
- idempotentHint: true,
47069
- openWorldHint: false
47070
- },
47071
- sideEffects: [{ category: "implicit", description: "Reads research catalog + alignment map" }]
47072
- },
47073
- query_task_state: {
47074
- annotations: {
47075
- title: "Query Task State",
47076
- readOnlyHint: true,
47077
- destructiveHint: false,
47078
- idempotentHint: true,
47079
- openWorldHint: false
47080
- },
47081
- sideEffects: [
47082
- { category: "implicit", description: "Reads the structured task-state log (#2278)" }
47083
- ]
47084
- },
47085
- get_job_result: {
47086
- annotations: {
47087
- title: "Get Job Result",
47088
- readOnlyHint: true,
47089
- destructiveHint: false,
47090
- idempotentHint: true,
47091
- openWorldHint: false
47092
- },
47093
- sideEffects: [
47094
- {
47095
- category: "implicit",
47096
- description: "Reads the async-mode job-result sidecar (#3042 / epic #2631)"
47097
- }
47098
- ]
47099
- },
47100
- list_jobs: {
47101
- annotations: {
47102
- title: "List Jobs",
47103
- readOnlyHint: true,
47104
- destructiveHint: false,
47105
- idempotentHint: true,
47106
- openWorldHint: false
47107
- },
47108
- sideEffects: [
47109
- {
47110
- category: "implicit",
47111
- description: "Lists async-mode job summaries from the sidecar dir (#3046 / epic #2631 Stage 5)"
47112
- }
47113
- ]
47114
- },
47115
- cancel_job: {
47116
- annotations: {
47117
- title: "Cancel Job",
47118
- readOnlyHint: false,
47119
- destructiveHint: false,
47120
- idempotentHint: true,
47121
- openWorldHint: false
47122
- },
47123
- sideEffects: [
47124
- {
47125
- category: "explicit",
47126
- description: "Writes cancellation record to the async-mode sidecar (#3042 Stage 1b)"
47127
- },
47128
- {
47129
- category: "coupling",
47130
- description: "Triggers AbortSignal unwind in same-process dispatcher (cross-process workers must poll)"
47131
- }
47132
- ]
47133
- },
47134
- verify_audit_chain: {
47135
- annotations: {
47136
- title: "Verify Audit Chain",
47137
- readOnlyHint: true,
47138
- destructiveHint: false,
47139
- idempotentHint: true,
47140
- openWorldHint: false
47141
- },
47142
- sideEffects: [
47143
- {
47144
- category: "implicit",
47145
- description: "Reads the immutable audit log and verifies the hash chain"
47146
- }
47147
- ]
47148
- },
47149
- ci_health_check: {
47150
- annotations: {
47151
- title: "CI Health Check",
47152
- readOnlyHint: true,
47153
- destructiveHint: false,
47154
- idempotentHint: true,
47155
- // Outbound network to githubstatus.com + GitHub API.
47156
- openWorldHint: true
47157
- },
47158
- sideEffects: [
47159
- {
47160
- category: "implicit",
47161
- description: "Fetches GitHub status-page + repo actions/runs to assess CI infrastructure health (#3076)"
47162
- }
47163
- ]
47164
- },
47165
- extract_symbols: {
47166
- annotations: {
47167
- title: "Extract Symbols",
47168
- readOnlyHint: true,
47169
- destructiveHint: false,
47170
- idempotentHint: true,
47171
- openWorldHint: false
47172
- },
47173
- sideEffects: [{ category: "implicit", description: "Reads source files and walks their ASTs" }]
47174
- },
47175
- search_codebase: {
47176
- annotations: {
47177
- title: "Search Codebase",
47178
- readOnlyHint: true,
47179
- destructiveHint: false,
47180
- idempotentHint: true,
47181
- openWorldHint: false
47182
- },
47183
- sideEffects: [
47184
- {
47185
- category: "implicit",
47186
- description: "Reads source files and builds an in-memory symbol index"
47187
- }
47188
- ]
47189
- },
47190
- run_dev_pipeline: {
47191
- annotations: {
47192
- title: "Run Dev Pipeline",
47193
- readOnlyHint: false,
47194
- destructiveHint: false,
47195
- idempotentHint: false,
47196
- openWorldHint: true
47197
- },
47198
- sideEffects: [
47199
- {
47200
- category: "explicit",
47201
- description: "Executes the V2 dev pipeline (delegates to CLI adapters)"
47202
- },
47203
- {
47204
- category: "implicit",
47205
- description: "Consumes API tokens; persists outcomes and checkpoints"
47206
- },
47207
- {
47208
- category: "coupling",
47209
- description: "Writes routing/learning state consumed by future runs"
47210
- }
47211
- ]
47212
- },
47213
- run_pipeline: {
47214
- annotations: {
47215
- title: "Run Pipeline",
47216
- readOnlyHint: false,
47217
- destructiveHint: false,
47218
- idempotentHint: false,
47219
- openWorldHint: true
47220
- },
47221
- sideEffects: [
47222
- { category: "explicit", description: "Executes a generic V2 pipeline TaskContract" },
47223
- { category: "implicit", description: "Consumes API tokens; emits pipeline events" },
47224
- { category: "coupling", description: "Writes policy/audit state consumed by other tools" }
47225
- ]
47226
- },
47227
- pr_review: {
47228
- annotations: {
47229
- title: "PR Review",
47230
- readOnlyHint: false,
47231
- destructiveHint: false,
47232
- idempotentHint: false,
47233
- openWorldHint: true
47234
- },
47235
- sideEffects: [
47236
- {
47237
- category: "explicit",
47238
- description: "Runs multi-voter PR review with verification gate (#2233)"
47239
- },
47240
- { category: "implicit", description: "Consumes API tokens across voter CLIs" },
47241
- { category: "coupling", description: "Records voter outcomes for weather report" }
47242
- ]
47243
- },
47244
- supply_chain_tradeoff_panel: {
47245
- annotations: {
47246
- title: "Supply-chain Tradeoff Panel",
47247
- readOnlyHint: false,
47248
- destructiveHint: false,
47249
- idempotentHint: false,
47250
- openWorldHint: true
47251
- },
47252
- sideEffects: [
47253
- {
47254
- category: "explicit",
47255
- description: "Runs per-axis tradeoff vote (build_time_determinism / supply_chain_risk / update_cadence) (#2294)"
47256
- },
47257
- { category: "implicit", description: "Consumes API tokens across voter CLIs" },
47258
- { category: "coupling", description: "Records voter outcomes for weather report" }
47259
- ]
47260
- }
47261
- };
47262
- function getMcpAnnotations(toolName) {
47263
- return TOOL_ANNOTATIONS[toolName]?.annotations;
47264
- }
47265
-
47266
46674
  // src/mcp/tools/annotation-proxy.ts
47267
46675
  function createAnnotationsProxy(server) {
47268
46676
  return new Proxy(server, {
@@ -50438,7 +49846,7 @@ var GitHubTaskTracker = class {
50438
49846
  cachedProvider = null;
50439
49847
  async getProvider() {
50440
49848
  if (this.cachedProvider !== null) return this.cachedProvider;
50441
- const { createScmProvider } = await import("./factory-UCRIJY6Y.js");
49849
+ const { createScmProvider } = await import("./factory-CYUNYEMU.js");
50442
49850
  const result = await createScmProvider({ repo: this.config.repo ?? "" });
50443
49851
  if (!result.ok) throw new Error(`SCM provider error: ${result.error.message}`);
50444
49852
  this.cachedProvider = result.value;
@@ -51142,4 +50550,4 @@ export {
51142
50550
  detectBackend,
51143
50551
  createTaskTracker
51144
50552
  };
51145
- //# sourceMappingURL=chunk-VXNN3JKU.js.map
50553
+ //# sourceMappingURL=chunk-MUVRUSQD.js.map