@4da/mcp-server 4.5.0 → 4.6.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 (257) hide show
  1. package/LICENSE +201 -21
  2. package/README.md +63 -83
  3. package/dist/auth.js +1 -1
  4. package/dist/auth.js.map +1 -1
  5. package/dist/db.d.ts +46 -1
  6. package/dist/db.d.ts.map +1 -1
  7. package/dist/db.js +156 -36
  8. package/dist/db.js.map +1 -1
  9. package/dist/doctor.js +1 -1
  10. package/dist/doctor.js.map +1 -1
  11. package/dist/http-transport.js +1 -1
  12. package/dist/http-transport.js.map +1 -1
  13. package/dist/index.d.ts +9 -14
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +49 -35
  16. package/dist/index.js.map +1 -1
  17. package/dist/live/cache.js +1 -1
  18. package/dist/live/cache.js.map +1 -1
  19. package/dist/live/crates-registry.js +1 -1
  20. package/dist/live/crates-registry.js.map +1 -1
  21. package/dist/live/go-registry.js +1 -1
  22. package/dist/live/go-registry.js.map +1 -1
  23. package/dist/live/hn-fetcher.js +1 -1
  24. package/dist/live/hn-fetcher.js.map +1 -1
  25. package/dist/live/http-utils.js +1 -1
  26. package/dist/live/http-utils.js.map +1 -1
  27. package/dist/live/index.d.ts +28 -0
  28. package/dist/live/index.d.ts.map +1 -1
  29. package/dist/live/index.js +63 -4
  30. package/dist/live/index.js.map +1 -1
  31. package/dist/live/npm-registry.js +1 -1
  32. package/dist/live/npm-registry.js.map +1 -1
  33. package/dist/live/osv-scanner.d.ts +4 -0
  34. package/dist/live/osv-scanner.d.ts.map +1 -1
  35. package/dist/live/osv-scanner.js +45 -40
  36. package/dist/live/osv-scanner.js.map +1 -1
  37. package/dist/live/pypi-registry.js +1 -1
  38. package/dist/live/pypi-registry.js.map +1 -1
  39. package/dist/live/rate-limiter.js +1 -1
  40. package/dist/live/rate-limiter.js.map +1 -1
  41. package/dist/live/semver-utils.js +1 -1
  42. package/dist/live/semver-utils.js.map +1 -1
  43. package/dist/live/types.d.ts +4 -0
  44. package/dist/live/types.d.ts.map +1 -1
  45. package/dist/live/types.js +1 -1
  46. package/dist/live/types.js.map +1 -1
  47. package/dist/live/version-resolver.d.ts +5 -0
  48. package/dist/live/version-resolver.d.ts.map +1 -1
  49. package/dist/live/version-resolver.js +64 -14
  50. package/dist/live/version-resolver.js.map +1 -1
  51. package/dist/live-singleton.js +1 -1
  52. package/dist/live-singleton.js.map +1 -1
  53. package/dist/llm.d.ts.map +1 -1
  54. package/dist/llm.js +13 -16
  55. package/dist/llm.js.map +1 -1
  56. package/dist/output-manager.js +1 -1
  57. package/dist/output-manager.js.map +1 -1
  58. package/dist/project-scanner.d.ts +5 -0
  59. package/dist/project-scanner.d.ts.map +1 -1
  60. package/dist/project-scanner.js +66 -10
  61. package/dist/project-scanner.js.map +1 -1
  62. package/dist/schema-registry.d.ts +4 -2
  63. package/dist/schema-registry.d.ts.map +1 -1
  64. package/dist/schema-registry.js +58 -238
  65. package/dist/schema-registry.js.map +1 -1
  66. package/dist/schemas/agent-memory.json +1 -1
  67. package/dist/schemas/decision-enforcement.json +1 -1
  68. package/dist/schemas/decision-memory.json +1 -1
  69. package/dist/schemas/dependency-health.json +1 -1
  70. package/dist/schemas/developer-dna.json +1 -1
  71. package/dist/schemas/ecosystem-pulse.json +1 -1
  72. package/dist/schemas/get-actionable-signals.json +1 -1
  73. package/dist/schemas/get-context.json +1 -1
  74. package/dist/schemas/get-relevant-content.json +1 -1
  75. package/dist/schemas/knowledge-gaps.json +1 -1
  76. package/dist/schemas/record-feedback.json +1 -1
  77. package/dist/schemas/upgrade-planner.json +1 -1
  78. package/dist/schemas/vulnerability-scan.json +2 -2
  79. package/dist/setup.js +1 -1
  80. package/dist/setup.js.map +1 -1
  81. package/dist/tool-dispatch.d.ts +1 -7
  82. package/dist/tool-dispatch.d.ts.map +1 -1
  83. package/dist/tool-dispatch.js +51 -50
  84. package/dist/tool-dispatch.js.map +1 -1
  85. package/dist/tools/agent-memory.js +1 -1
  86. package/dist/tools/agent-memory.js.map +1 -1
  87. package/dist/tools/decision-enforcement.js +1 -1
  88. package/dist/tools/decision-enforcement.js.map +1 -1
  89. package/dist/tools/decision-memory.d.ts +0 -2
  90. package/dist/tools/decision-memory.d.ts.map +1 -1
  91. package/dist/tools/decision-memory.js +1 -80
  92. package/dist/tools/decision-memory.js.map +1 -1
  93. package/dist/tools/dependency-health.js +1 -1
  94. package/dist/tools/dependency-health.js.map +1 -1
  95. package/dist/tools/developer-dna.js +1 -1
  96. package/dist/tools/developer-dna.js.map +1 -1
  97. package/dist/tools/ecosystem-pulse.js +1 -1
  98. package/dist/tools/ecosystem-pulse.js.map +1 -1
  99. package/dist/tools/get-actionable-signals.d.ts.map +1 -1
  100. package/dist/tools/get-actionable-signals.js +26 -1
  101. package/dist/tools/get-actionable-signals.js.map +1 -1
  102. package/dist/tools/get-context.js +1 -1
  103. package/dist/tools/get-context.js.map +1 -1
  104. package/dist/tools/get-relevant-content.js +1 -1
  105. package/dist/tools/get-relevant-content.js.map +1 -1
  106. package/dist/tools/index.d.ts +13 -42
  107. package/dist/tools/index.d.ts.map +1 -1
  108. package/dist/tools/index.js +19 -55
  109. package/dist/tools/index.js.map +1 -1
  110. package/dist/tools/knowledge-gaps.js +1 -1
  111. package/dist/tools/knowledge-gaps.js.map +1 -1
  112. package/dist/tools/record-feedback.js +1 -1
  113. package/dist/tools/record-feedback.js.map +1 -1
  114. package/dist/tools/upgrade-planner.js +1 -1
  115. package/dist/tools/upgrade-planner.js.map +1 -1
  116. package/dist/tools/vulnerability-scan.d.ts +7 -3
  117. package/dist/tools/vulnerability-scan.d.ts.map +1 -1
  118. package/dist/tools/vulnerability-scan.js +19 -6
  119. package/dist/tools/vulnerability-scan.js.map +1 -1
  120. package/dist/tools/what-should-i-know.d.ts +3 -12
  121. package/dist/tools/what-should-i-know.d.ts.map +1 -1
  122. package/dist/tools/what-should-i-know.js +11 -171
  123. package/dist/tools/what-should-i-know.js.map +1 -1
  124. package/dist/types.d.ts +4 -0
  125. package/dist/types.d.ts.map +1 -1
  126. package/dist/types.js +1 -1
  127. package/dist/types.js.map +1 -1
  128. package/package.json +12 -8
  129. package/dist/schemas/agent-feedback-stats.json +0 -14
  130. package/dist/schemas/agent-session-brief.json +0 -25
  131. package/dist/schemas/attention-report.json +0 -13
  132. package/dist/schemas/autophagy-status.json +0 -13
  133. package/dist/schemas/compound-advantage.json +0 -14
  134. package/dist/schemas/config-validator.json +0 -18
  135. package/dist/schemas/context-analysis.json +0 -25
  136. package/dist/schemas/daily-briefing.json +0 -34
  137. package/dist/schemas/decision-windows.json +0 -22
  138. package/dist/schemas/delegation-score.json +0 -18
  139. package/dist/schemas/explain-relevance.json +0 -19
  140. package/dist/schemas/export-context.json +0 -17
  141. package/dist/schemas/llm-status.json +0 -13
  142. package/dist/schemas/preemption-feed.json +0 -18
  143. package/dist/schemas/project-health.json +0 -13
  144. package/dist/schemas/record-agent-feedback.json +0 -28
  145. package/dist/schemas/reverse-mentions.json +0 -13
  146. package/dist/schemas/score-autopsy.json +0 -30
  147. package/dist/schemas/semantic-shifts.json +0 -17
  148. package/dist/schemas/signal-chains.json +0 -19
  149. package/dist/schemas/source-health.json +0 -17
  150. package/dist/schemas/tech-radar.json +0 -23
  151. package/dist/schemas/topic-connections.json +0 -34
  152. package/dist/schemas/trend-analysis.json +0 -29
  153. package/dist/schemas/trust-summary.json +0 -13
  154. package/dist/tools/agent-feedback-stats.d.ts +0 -30
  155. package/dist/tools/agent-feedback-stats.d.ts.map +0 -1
  156. package/dist/tools/agent-feedback-stats.js +0 -41
  157. package/dist/tools/agent-feedback-stats.js.map +0 -1
  158. package/dist/tools/agent-session-brief.d.ts +0 -44
  159. package/dist/tools/agent-session-brief.d.ts.map +0 -1
  160. package/dist/tools/agent-session-brief.js +0 -179
  161. package/dist/tools/agent-session-brief.js.map +0 -1
  162. package/dist/tools/attention-report.d.ts +0 -40
  163. package/dist/tools/attention-report.d.ts.map +0 -1
  164. package/dist/tools/attention-report.js +0 -73
  165. package/dist/tools/attention-report.js.map +0 -1
  166. package/dist/tools/autophagy-status.d.ts +0 -25
  167. package/dist/tools/autophagy-status.d.ts.map +0 -1
  168. package/dist/tools/autophagy-status.js +0 -56
  169. package/dist/tools/autophagy-status.js.map +0 -1
  170. package/dist/tools/compound-advantage.d.ts +0 -30
  171. package/dist/tools/compound-advantage.d.ts.map +0 -1
  172. package/dist/tools/compound-advantage.js +0 -133
  173. package/dist/tools/compound-advantage.js.map +0 -1
  174. package/dist/tools/config-validator.d.ts +0 -59
  175. package/dist/tools/config-validator.d.ts.map +0 -1
  176. package/dist/tools/config-validator.js +0 -417
  177. package/dist/tools/config-validator.js.map +0 -1
  178. package/dist/tools/context-analysis.d.ts +0 -108
  179. package/dist/tools/context-analysis.d.ts.map +0 -1
  180. package/dist/tools/context-analysis.js +0 -301
  181. package/dist/tools/context-analysis.js.map +0 -1
  182. package/dist/tools/daily-briefing.d.ts +0 -103
  183. package/dist/tools/daily-briefing.d.ts.map +0 -1
  184. package/dist/tools/daily-briefing.js +0 -294
  185. package/dist/tools/daily-briefing.js.map +0 -1
  186. package/dist/tools/decision-windows.d.ts +0 -37
  187. package/dist/tools/decision-windows.d.ts.map +0 -1
  188. package/dist/tools/decision-windows.js +0 -67
  189. package/dist/tools/decision-windows.js.map +0 -1
  190. package/dist/tools/delegation-score.d.ts +0 -34
  191. package/dist/tools/delegation-score.d.ts.map +0 -1
  192. package/dist/tools/delegation-score.js +0 -260
  193. package/dist/tools/delegation-score.js.map +0 -1
  194. package/dist/tools/explain-relevance.d.ts +0 -36
  195. package/dist/tools/explain-relevance.d.ts.map +0 -1
  196. package/dist/tools/explain-relevance.js +0 -51
  197. package/dist/tools/explain-relevance.js.map +0 -1
  198. package/dist/tools/export-context.d.ts +0 -60
  199. package/dist/tools/export-context.d.ts.map +0 -1
  200. package/dist/tools/export-context.js +0 -179
  201. package/dist/tools/export-context.js.map +0 -1
  202. package/dist/tools/llm-status.d.ts +0 -45
  203. package/dist/tools/llm-status.d.ts.map +0 -1
  204. package/dist/tools/llm-status.js +0 -93
  205. package/dist/tools/llm-status.js.map +0 -1
  206. package/dist/tools/muse-context.d.ts +0 -195
  207. package/dist/tools/muse-context.d.ts.map +0 -1
  208. package/dist/tools/muse-context.js +0 -284
  209. package/dist/tools/muse-context.js.map +0 -1
  210. package/dist/tools/preemption-feed.d.ts +0 -55
  211. package/dist/tools/preemption-feed.d.ts.map +0 -1
  212. package/dist/tools/preemption-feed.js +0 -124
  213. package/dist/tools/preemption-feed.js.map +0 -1
  214. package/dist/tools/project-health.d.ts +0 -53
  215. package/dist/tools/project-health.d.ts.map +0 -1
  216. package/dist/tools/project-health.js +0 -122
  217. package/dist/tools/project-health.js.map +0 -1
  218. package/dist/tools/record-agent-feedback.d.ts +0 -46
  219. package/dist/tools/record-agent-feedback.d.ts.map +0 -1
  220. package/dist/tools/record-agent-feedback.js +0 -71
  221. package/dist/tools/record-agent-feedback.js.map +0 -1
  222. package/dist/tools/reverse-mentions.d.ts +0 -38
  223. package/dist/tools/reverse-mentions.d.ts.map +0 -1
  224. package/dist/tools/reverse-mentions.js +0 -75
  225. package/dist/tools/reverse-mentions.js.map +0 -1
  226. package/dist/tools/score-autopsy.d.ts +0 -93
  227. package/dist/tools/score-autopsy.d.ts.map +0 -1
  228. package/dist/tools/score-autopsy.js +0 -295
  229. package/dist/tools/score-autopsy.js.map +0 -1
  230. package/dist/tools/semantic-shifts.d.ts +0 -53
  231. package/dist/tools/semantic-shifts.d.ts.map +0 -1
  232. package/dist/tools/semantic-shifts.js +0 -74
  233. package/dist/tools/semantic-shifts.js.map +0 -1
  234. package/dist/tools/signal-chains.d.ts +0 -52
  235. package/dist/tools/signal-chains.d.ts.map +0 -1
  236. package/dist/tools/signal-chains.js +0 -63
  237. package/dist/tools/signal-chains.js.map +0 -1
  238. package/dist/tools/source-health.d.ts +0 -64
  239. package/dist/tools/source-health.d.ts.map +0 -1
  240. package/dist/tools/source-health.js +0 -205
  241. package/dist/tools/source-health.js.map +0 -1
  242. package/dist/tools/tech-radar.d.ts +0 -38
  243. package/dist/tools/tech-radar.d.ts.map +0 -1
  244. package/dist/tools/tech-radar.js +0 -249
  245. package/dist/tools/tech-radar.js.map +0 -1
  246. package/dist/tools/topic-connections.d.ts +0 -112
  247. package/dist/tools/topic-connections.d.ts.map +0 -1
  248. package/dist/tools/topic-connections.js +0 -319
  249. package/dist/tools/topic-connections.js.map +0 -1
  250. package/dist/tools/trend-analysis.d.ts +0 -105
  251. package/dist/tools/trend-analysis.d.ts.map +0 -1
  252. package/dist/tools/trend-analysis.js +0 -296
  253. package/dist/tools/trend-analysis.js.map +0 -1
  254. package/dist/tools/trust-summary.d.ts +0 -38
  255. package/dist/tools/trust-summary.d.ts.map +0 -1
  256. package/dist/tools/trust-summary.js +0 -89
  257. package/dist/tools/trust-summary.js.map +0 -1
@@ -1,4 +1,4 @@
1
- // SPDX-License-Identifier: FSL-1.1-Apache-2.0
1
+ // SPDX-License-Identifier: Apache-2.0
2
2
  /**
3
3
  * Project Scanner for MCP Standalone Mode
4
4
  *
@@ -51,7 +51,6 @@ const NPM_DEVTOOL_MAP = {
51
51
  tailwindcss: "tailwind",
52
52
  "@tailwindcss/vite": "tailwind",
53
53
  prisma: "prisma",
54
- drizzle: "drizzle",
55
54
  };
56
55
  /** Rust crate name -> framework label */
57
56
  const RUST_FRAMEWORK_MAP = {
@@ -74,6 +73,28 @@ const RUST_FRAMEWORK_MAP = {
74
73
  dioxus: "dioxus",
75
74
  };
76
75
  // =============================================================================
76
+ // Node Built-in Modules (filtered from npm deps)
77
+ // =============================================================================
78
+ /** Node.js built-in modules — never belong in dependency lists. */
79
+ const NODE_BUILTINS = new Set([
80
+ "assert", "buffer", "child_process", "cluster", "console", "crypto",
81
+ "dgram", "dns", "domain", "events", "fs", "http", "http2", "https",
82
+ "inspector", "module", "net", "os", "path", "perf_hooks", "process",
83
+ "punycode", "querystring", "readline", "repl", "stream", "string_decoder",
84
+ "sys", "timers", "tls", "tty", "url", "util", "v8", "vm", "wasi",
85
+ "worker_threads", "zlib",
86
+ // node: prefixed variants
87
+ "node:assert", "node:buffer", "node:child_process", "node:cluster",
88
+ "node:console", "node:crypto", "node:dgram", "node:dns", "node:domain",
89
+ "node:events", "node:fs", "node:http", "node:http2", "node:https",
90
+ "node:inspector", "node:module", "node:net", "node:os", "node:path",
91
+ "node:perf_hooks", "node:process", "node:punycode", "node:querystring",
92
+ "node:readline", "node:repl", "node:stream", "node:string_decoder",
93
+ "node:sys", "node:timers", "node:tls", "node:tty", "node:url",
94
+ "node:util", "node:v8", "node:vm", "node:wasi", "node:worker_threads",
95
+ "node:zlib",
96
+ ]);
97
+ // =============================================================================
77
98
  // Scanner
78
99
  // =============================================================================
79
100
  /**
@@ -89,6 +110,7 @@ export function scanCurrentProject(cwd) {
89
110
  topics: [],
90
111
  projectName: path.basename(cwd),
91
112
  projectPath: cwd,
113
+ depsByEcosystem: {},
92
114
  };
93
115
  const langSet = new Set();
94
116
  const fwSet = new Set();
@@ -103,9 +125,9 @@ export function scanCurrentProject(cwd) {
103
125
  if (pkg.name) {
104
126
  result.projectName = pkg.name;
105
127
  }
106
- // Production dependencies
128
+ // Production dependencies (filter Node.js built-ins)
107
129
  if (pkg.dependencies && typeof pkg.dependencies === "object") {
108
- const depNames = Object.keys(pkg.dependencies);
130
+ const depNames = Object.keys(pkg.dependencies).filter(d => !NODE_BUILTINS.has(d));
109
131
  result.dependencies.push(...depNames);
110
132
  for (const dep of depNames) {
111
133
  if (dep in NPM_FRAMEWORK_MAP) {
@@ -113,9 +135,9 @@ export function scanCurrentProject(cwd) {
113
135
  }
114
136
  }
115
137
  }
116
- // Dev dependencies
138
+ // Dev dependencies (filter Node.js built-ins)
117
139
  if (pkg.devDependencies && typeof pkg.devDependencies === "object") {
118
- const devDepNames = Object.keys(pkg.devDependencies);
140
+ const devDepNames = Object.keys(pkg.devDependencies).filter(d => !NODE_BUILTINS.has(d));
119
141
  result.devDependencies.push(...devDepNames);
120
142
  for (const dep of devDepNames) {
121
143
  if (dep in NPM_DEVTOOL_MAP) {
@@ -133,6 +155,16 @@ export function scanCurrentProject(cwd) {
133
155
  }
134
156
  }
135
157
  }
158
+ // Populate per-ecosystem tracking for npm
159
+ const npmDeps = (pkg.dependencies && typeof pkg.dependencies === "object")
160
+ ? Object.keys(pkg.dependencies).filter(d => !NODE_BUILTINS.has(d))
161
+ : [];
162
+ const npmDevDeps = (pkg.devDependencies && typeof pkg.devDependencies === "object")
163
+ ? Object.keys(pkg.devDependencies).filter(d => !NODE_BUILTINS.has(d))
164
+ : [];
165
+ if (npmDeps.length > 0 || npmDevDeps.length > 0) {
166
+ result.depsByEcosystem["npm"] = { deps: npmDeps, devDeps: npmDevDeps };
167
+ }
136
168
  }
137
169
  catch {
138
170
  // Malformed package.json — skip
@@ -152,9 +184,18 @@ export function scanCurrentProject(cwd) {
152
184
  result.projectName = nameMatch[1];
153
185
  }
154
186
  // Parse [dependencies] and [dev-dependencies] sections
155
- parseTOMLDependencies(content, "[dependencies]", result.dependencies, fwSet, RUST_FRAMEWORK_MAP);
156
- parseTOMLDependencies(content, "[dev-dependencies]", result.devDependencies, fwSet, RUST_FRAMEWORK_MAP);
157
- parseTOMLDependencies(content, "[build-dependencies]", result.devDependencies, fwSet, RUST_FRAMEWORK_MAP);
187
+ const rustDeps = [];
188
+ const rustDevDeps = [];
189
+ parseTOMLDependencies(content, "[dependencies]", rustDeps, fwSet, RUST_FRAMEWORK_MAP);
190
+ parseTOMLDependencies(content, "[dev-dependencies]", rustDevDeps, fwSet, RUST_FRAMEWORK_MAP);
191
+ parseTOMLDependencies(content, "[build-dependencies]", rustDevDeps, fwSet, RUST_FRAMEWORK_MAP);
192
+ // Add to flat arrays for backward compat
193
+ result.dependencies.push(...rustDeps);
194
+ result.devDependencies.push(...rustDevDeps);
195
+ // Populate per-ecosystem tracking for rust
196
+ if (rustDeps.length > 0 || rustDevDeps.length > 0) {
197
+ result.depsByEcosystem["rust"] = { deps: rustDeps, devDeps: rustDevDeps };
198
+ }
158
199
  }
159
200
  catch {
160
201
  // Malformed Cargo.toml — skip
@@ -168,6 +209,7 @@ export function scanCurrentProject(cwd) {
168
209
  const setupPyPath = path.join(cwd, "setup.py");
169
210
  if (fs.existsSync(pyprojectPath)) {
170
211
  langSet.add("python");
212
+ const pyDeps = [];
171
213
  try {
172
214
  const content = fs.readFileSync(pyprojectPath, "utf-8");
173
215
  // Extract dependencies from pyproject.toml
@@ -178,6 +220,7 @@ export function scanCurrentProject(cwd) {
178
220
  for (const dep of deps) {
179
221
  const name = dep.replace(/^"/, "");
180
222
  result.dependencies.push(name);
223
+ pyDeps.push(name);
181
224
  detectPythonFramework(name, fwSet);
182
225
  }
183
226
  }
@@ -186,9 +229,13 @@ export function scanCurrentProject(cwd) {
186
229
  catch {
187
230
  // Skip
188
231
  }
232
+ if (pyDeps.length > 0) {
233
+ result.depsByEcosystem["python"] = { deps: pyDeps, devDeps: [] };
234
+ }
189
235
  }
190
236
  else if (fs.existsSync(requirementsPath)) {
191
237
  langSet.add("python");
238
+ const pyDeps = [];
192
239
  try {
193
240
  const content = fs.readFileSync(requirementsPath, "utf-8");
194
241
  for (const line of content.split("\n")) {
@@ -197,6 +244,7 @@ export function scanCurrentProject(cwd) {
197
244
  const name = trimmed.split(/[>=<!\[]/)[0].trim();
198
245
  if (name) {
199
246
  result.dependencies.push(name);
247
+ pyDeps.push(name);
200
248
  detectPythonFramework(name, fwSet);
201
249
  }
202
250
  }
@@ -205,6 +253,9 @@ export function scanCurrentProject(cwd) {
205
253
  catch {
206
254
  // Skip
207
255
  }
256
+ if (pyDeps.length > 0) {
257
+ result.depsByEcosystem["python"] = { deps: pyDeps, devDeps: [] };
258
+ }
208
259
  }
209
260
  else if (fs.existsSync(setupPyPath)) {
210
261
  langSet.add("python");
@@ -215,6 +266,7 @@ export function scanCurrentProject(cwd) {
215
266
  const goModPath = path.join(cwd, "go.mod");
216
267
  if (fs.existsSync(goModPath)) {
217
268
  langSet.add("go");
269
+ const goDeps = [];
218
270
  try {
219
271
  const content = fs.readFileSync(goModPath, "utf-8");
220
272
  // Extract module name
@@ -231,6 +283,7 @@ export function scanCurrentProject(cwd) {
231
283
  if (depMatch && !depMatch[1].startsWith("//")) {
232
284
  const dep = depMatch[1];
233
285
  result.dependencies.push(dep);
286
+ goDeps.push(dep);
234
287
  detectGoFramework(dep, fwSet);
235
288
  }
236
289
  }
@@ -239,6 +292,9 @@ export function scanCurrentProject(cwd) {
239
292
  catch {
240
293
  // Skip
241
294
  }
295
+ if (goDeps.length > 0) {
296
+ result.depsByEcosystem["go"] = { deps: goDeps, devDeps: [] };
297
+ }
242
298
  }
243
299
  // -------------------------------------------------------------------------
244
300
  // 5. tsconfig.json presence (confirms TypeScript even without package.json)
@@ -346,7 +402,7 @@ function isNotableTopic(name) {
346
402
  const notable = new Set([
347
403
  // Databases
348
404
  "sqlite3", "better-sqlite3", "pg", "mysql2", "mongodb", "mongoose", "redis",
349
- "prisma", "drizzle-orm", "typeorm", "sequelize", "knex",
405
+ "prisma", "typeorm", "sequelize", "knex",
350
406
  // Auth
351
407
  "passport", "next-auth", "lucia", "clerk",
352
408
  // APIs
@@ -1 +1 @@
1
- {"version":3,"file":"project-scanner.js","sourceRoot":"","sources":["../src/project-scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-scanner.js","sourceRoot":"","sources":["../src/project-scanner.ts"],"names":[],"mappings":"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"}
@@ -10,8 +10,8 @@
10
10
  * Full schemas available at: 4da://schema/{tool_name}
11
11
  * Category manifest at: 4da://categories
12
12
  */
13
- /** Tool categories — maps to the 8 functional groupings in the MCP server */
14
- export type ToolCategory = "core" | "intelligence" | "diagnostic" | "knowledge" | "decisions" | "agent" | "identity" | "metabolism";
13
+ /** Tool categories — maps to the functional groupings in the MCP server */
14
+ export type ToolCategory = "security" | "intelligence" | "decisions" | "agent" | "identity";
15
15
  /** Shape of each entry in the tool registry */
16
16
  export interface ToolRegistryEntry {
17
17
  summary: string;
@@ -23,6 +23,8 @@ export interface ToolRegistryEntry {
23
23
  /**
24
24
  * Slim tool registry — one-liner descriptions + category/tag metadata.
25
25
  * Full schemas are stored in schemas/*.json and exposed as MCP Resources.
26
+ *
27
+ * 14 tools total: 9 standalone + 5 full-mode.
26
28
  */
27
29
  export declare const TOOL_REGISTRY: Record<string, ToolRegistryEntry>;
28
30
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"schema-registry.d.ts","sourceRoot":"","sources":["../src/schema-registry.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;GAWG;AAEH,6EAA6E;AAC7E,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,cAAc,GACd,YAAY,GACZ,WAAW,GACX,WAAW,GACX,OAAO,GACP,UAAU,GACV,YAAY,CAAC;AAEjB,+CAA+C;AAC/C,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAyS3D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,CAAC;CACjC,CAAC,CAQD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,KAAK,CAAC;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAOD;AAED,6BAA6B;AAC7B,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,qCAAqC;AACrC,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEjE;AAED,yCAAyC;AACzC,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,CASnE;AAED,qEAAqE;AACrE,wBAAgB,mBAAmB,IAAI;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtE,CAaA;AAED,gDAAgD;AAChD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAKvD"}
1
+ {"version":3,"file":"schema-registry.d.ts","sourceRoot":"","sources":["../src/schema-registry.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;GAWG;AAEH,2EAA2E;AAC3E,MAAM,MAAM,YAAY,GACpB,UAAU,GACV,cAAc,GACd,WAAW,GACX,OAAO,GACP,UAAU,CAAC;AAEf,+CAA+C;AAC/C,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CA4G3D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,CAAC;CACjC,CAAC,CAQD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,KAAK,CAAC;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAOD;AAED,6BAA6B;AAC7B,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,qCAAqC;AACrC,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEjE;AAED,yCAAyC;AACzC,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,CASnE;AAED,qEAAqE;AACrE,wBAAgB,mBAAmB,IAAI;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtE,CAaA;AAED,gDAAgD;AAChD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAKvD"}
@@ -1,4 +1,4 @@
1
- // SPDX-License-Identifier: FSL-1.1-Apache-2.0
1
+ // SPDX-License-Identifier: Apache-2.0
2
2
  /**
3
3
  * Schema Registry for Dynamic Context Discovery
4
4
  *
@@ -14,293 +14,113 @@
14
14
  /**
15
15
  * Slim tool registry — one-liner descriptions + category/tag metadata.
16
16
  * Full schemas are stored in schemas/*.json and exposed as MCP Resources.
17
+ *
18
+ * 14 tools total: 9 standalone + 5 full-mode.
17
19
  */
18
20
  export const TOOL_REGISTRY = {
19
- // Core Tools
20
- get_relevant_content: {
21
- summary: "Query filtered content by relevance, source, time",
22
- schemaFile: "get-relevant-content.json",
23
- category: "core",
24
- tags: ["content", "feed", "relevance", "filter", "query"],
25
- standalone: false,
26
- },
27
- get_context: {
28
- summary: "Get user's interests, tech stack, learned affinities",
29
- schemaFile: "get-context.json",
30
- category: "core",
31
- tags: ["context", "interests", "tech-stack", "profile"],
21
+ // --- Dependency Security (standalone) ---
22
+ vulnerability_scan: {
23
+ summary: "Scan dependencies for known CVEs via OSV.dev across npm/Rust/Python/Go, zero config. Call when the user asks about security, vulnerabilities, or CVEs, or before you recommend a dependency.",
24
+ schemaFile: "vulnerability-scan.json",
25
+ category: "security",
26
+ tags: ["security", "vulnerabilities", "cve", "dependencies", "osv"],
32
27
  standalone: true,
33
28
  },
34
- explain_relevance: {
35
- summary: "Understand why an item scored the way it did",
36
- schemaFile: "explain-relevance.json",
37
- category: "core",
38
- tags: ["relevance", "scoring", "explanation", "debug"],
39
- standalone: false,
40
- },
41
- record_feedback: {
42
- summary: "Teach 4DA what you like/dislike (click, save, dismiss)",
43
- schemaFile: "record-feedback.json",
44
- category: "core",
45
- tags: ["feedback", "preference", "learning", "interaction"],
46
- standalone: false,
29
+ dependency_health: {
30
+ summary: "Dependency version freshness, deprecation, and CVE counts across npm/Rust/Python/Go. Call when the user asks whether their dependencies are outdated, stale, or need updating.",
31
+ schemaFile: "dependency-health.json",
32
+ category: "security",
33
+ tags: ["dependencies", "health", "outdated", "deprecated", "versions"],
34
+ standalone: true,
47
35
  },
48
- // Intelligence Tools
49
- score_autopsy: {
50
- summary: "Deep forensic analysis of relevance scores (AI-powered)",
51
- schemaFile: "score-autopsy.json",
52
- category: "intelligence",
53
- tags: ["scoring", "forensic", "analysis", "ai", "debug"],
54
- standalone: false,
36
+ upgrade_planner: {
37
+ summary: "Prioritized upgrade plan (CVE severity, deprecation, version distance), quick wins vs breaking changes. Call when the user asks what to upgrade, or after dependency_health surfaces problems.",
38
+ schemaFile: "upgrade-planner.json",
39
+ category: "security",
40
+ tags: ["upgrade", "dependencies", "recommendations", "versions"],
41
+ standalone: true,
55
42
  },
56
- trend_analysis: {
57
- summary: "Statistical patterns, anomalies, and predictions (AI-powered)",
58
- schemaFile: "trend-analysis.json",
43
+ // --- Intelligence (mixed) ---
44
+ what_should_i_know: {
45
+ summary: "Pre-task briefing: advisories, active decisions, signals, and ecosystem updates for a task. Call BEFORE starting any non-trivial task to get caught up first.",
46
+ schemaFile: "what-should-i-know.json",
59
47
  category: "intelligence",
60
- tags: ["trends", "patterns", "predictions", "ai", "statistics"],
61
- standalone: false,
48
+ tags: ["briefing", "advisories", "pre-task", "signals"],
49
+ standalone: true,
62
50
  },
63
- daily_briefing: {
64
- summary: "Executive summary of discoveries (AI-powered)",
65
- schemaFile: "daily-briefing.json",
51
+ ecosystem_pulse: {
52
+ summary: "Live Hacker News discussions filtered to the user's tech stack. Call when the user asks what is new or trending in their ecosystem.",
53
+ schemaFile: "ecosystem-pulse.json",
66
54
  category: "intelligence",
67
- tags: ["briefing", "summary", "daily", "ai", "digest"],
68
- standalone: false,
55
+ tags: ["ecosystem", "news", "hacker-news", "live"],
56
+ standalone: true,
69
57
  },
70
- context_analysis: {
71
- summary: "Optimize your context for better relevance (AI-powered)",
72
- schemaFile: "context-analysis.json",
58
+ get_context: {
59
+ summary: "What 4DA knows about the user: role, tech stack, interests, and learned affinities. Call FIRST when you need to know what the user works on before answering or recommending.",
60
+ schemaFile: "get-context.json",
73
61
  category: "intelligence",
74
- tags: ["context", "optimization", "relevance", "ai"],
75
- standalone: false,
62
+ tags: ["context", "interests", "tech-stack", "profile"],
63
+ standalone: true,
76
64
  },
77
- topic_connections: {
78
- summary: "Build knowledge graphs from content (AI-powered)",
79
- schemaFile: "topic-connections.json",
65
+ get_relevant_content: {
66
+ summary: "The user's personalized feed: articles, advisories, releases scored by relevance to their stack. Call when the user asks what to read, what is relevant to them, or for content on a topic.",
67
+ schemaFile: "get-relevant-content.json",
80
68
  category: "intelligence",
81
- tags: ["topics", "knowledge-graph", "connections", "ai"],
69
+ tags: ["content", "feed", "relevance", "filter"],
82
70
  standalone: false,
83
71
  },
84
72
  get_actionable_signals: {
85
- summary: "Classify content into actionable signals with priority levels",
73
+ summary: "Classify content into prioritized signals (security_alert, breaking_change, tool_discovery, tech_trend, learning, competitive_intel). Call when the user wants what is urgent or actionable, not just relevant.",
86
74
  schemaFile: "get-actionable-signals.json",
87
75
  category: "intelligence",
88
76
  tags: ["signals", "priority", "actionable", "classification"],
89
77
  standalone: false,
90
78
  },
91
- signal_chains: {
92
- summary: "Get causal signal chains connecting related events over time",
93
- schemaFile: "signal-chains.json",
94
- category: "intelligence",
95
- tags: ["signals", "causal", "chains", "temporal"],
96
- standalone: false,
97
- },
98
- semantic_shifts: {
99
- summary: "Detect narrative shifts in topics you follow",
100
- schemaFile: "semantic-shifts.json",
101
- category: "intelligence",
102
- tags: ["narrative", "shifts", "topics", "detection"],
103
- standalone: false,
104
- },
105
- attention_report: {
106
- summary: "Analyze attention allocation vs codebase needs",
107
- schemaFile: "attention-report.json",
108
- category: "intelligence",
109
- tags: ["attention", "allocation", "codebase", "analysis"],
110
- standalone: false,
111
- },
112
- // Diagnostic Tools
113
- source_health: {
114
- summary: "Diagnose source fetching and data quality issues",
115
- schemaFile: "source-health.json",
116
- category: "diagnostic",
117
- tags: ["sources", "health", "fetching", "quality"],
118
- standalone: false,
119
- },
120
- config_validator: {
121
- summary: "Validate configuration and detect issues",
122
- schemaFile: "config-validator.json",
123
- category: "diagnostic",
124
- tags: ["config", "validation", "settings", "health"],
125
- standalone: false,
126
- },
127
- llm_status: {
128
- summary: "Check LLM/Ollama configuration and availability",
129
- schemaFile: "llm-status.json",
130
- category: "diagnostic",
131
- tags: ["llm", "ollama", "status", "availability"],
132
- standalone: false,
133
- },
134
- // Knowledge & Health Tools
135
- export_context_packet: {
136
- summary: "Generate portable context packet for session handoff",
137
- schemaFile: "export-context.json",
138
- category: "knowledge",
139
- tags: ["export", "context", "handoff", "portable"],
140
- standalone: false,
141
- },
142
79
  knowledge_gaps: {
143
- summary: "Detect knowledge gaps in your project dependencies",
80
+ summary: "Dependencies the user relies on but never reads about, where a CVE or breaking change could surprise them. Call when the user asks what they are missing or where their blind spots are.",
144
81
  schemaFile: "knowledge-gaps.json",
145
- category: "knowledge",
146
- tags: ["gaps", "dependencies", "knowledge", "detection"],
147
- standalone: false,
148
- },
149
- reverse_mentions: {
150
- summary: "Find where your projects are mentioned in sources",
151
- schemaFile: "reverse-mentions.json",
152
- category: "knowledge",
153
- tags: ["mentions", "projects", "sources", "discovery"],
82
+ category: "intelligence",
83
+ tags: ["gaps", "dependencies", "knowledge", "blind-spots"],
154
84
  standalone: false,
155
85
  },
156
- project_health: {
157
- summary: "Project health radar for dependency freshness and security",
158
- schemaFile: "project-health.json",
159
- category: "knowledge",
160
- tags: ["project", "health", "dependencies", "security"],
86
+ record_feedback: {
87
+ summary: "Record click/save/dismiss on a content item to sharpen future scoring. Call AFTER the user reacts to a surfaced item (opens, saves, or dismisses it).",
88
+ schemaFile: "record-feedback.json",
89
+ category: "intelligence",
90
+ tags: ["feedback", "learning", "save", "dismiss"],
161
91
  standalone: false,
162
92
  },
163
- // Decision Intelligence Tools
93
+ // --- Decisions (standalone) ---
164
94
  decision_memory: {
165
- summary: "Manage developer decisions (record, list, check, update, supersede)",
95
+ summary: "Record, list, update, or supersede the developer's architectural and tech decisions. Call when the user makes, changes, or asks about a settled decision or convention.",
166
96
  schemaFile: "decision-memory.json",
167
97
  category: "decisions",
168
- tags: ["decisions", "memory", "record", "manage"],
98
+ tags: ["decisions", "memory", "record", "architecture"],
169
99
  standalone: true,
170
100
  },
171
- tech_radar: {
172
- summary: "Generate tech radar from decisions and content signals",
173
- schemaFile: "tech-radar.json",
174
- category: "decisions",
175
- tags: ["tech-radar", "decisions", "signals", "adopt"],
176
- standalone: false,
177
- },
178
101
  check_decision_alignment: {
179
- summary: "Check if a technology or pattern aligns with active decisions before suggesting changes",
102
+ summary: "Check whether a technology or pattern aligns with the developer's recorded decisions. Call BEFORE suggesting a major tech change, new library, or architecture shift.",
180
103
  schemaFile: "decision-enforcement.json",
181
104
  category: "decisions",
182
105
  tags: ["alignment", "decisions", "enforcement", "check"],
183
106
  standalone: true,
184
107
  },
185
- // Agent Autonomy Tools
108
+ // --- Agent (standalone) ---
186
109
  agent_memory: {
187
- summary: "Cross-agent persistent memory — store and recall across sessions and tools",
110
+ summary: "Cross-agent persistent memory: what one agent learns, any agent can recall. Call to store a discovery, decision, or warning, or to recall prior context before starting work.",
188
111
  schemaFile: "agent-memory.json",
189
112
  category: "agent",
190
113
  tags: ["agent", "memory", "persistent", "cross-session"],
191
114
  standalone: true,
192
115
  },
193
- agent_session_brief: {
194
- summary: "Tailored session startup context for AI agents — decisions, changes, memories",
195
- schemaFile: "agent-session-brief.json",
196
- category: "agent",
197
- tags: ["agent", "session", "brief", "startup"],
198
- standalone: false,
199
- },
200
- delegation_score: {
201
- summary: "AI-delegatability assessment — should the agent proceed or ask the human?",
202
- schemaFile: "delegation-score.json",
203
- category: "agent",
204
- tags: ["agent", "delegation", "autonomy", "assessment"],
205
- standalone: false,
206
- },
207
- // Developer DNA
116
+ // --- Identity (full-mode) ---
208
117
  developer_dna: {
209
- summary: "Export your Developer DNA — tech identity, dependencies, engagement, blind spots",
118
+ summary: "Export the user's Developer DNA: tech identity, primary/adjacent stack, top dependencies, blind spots, engagement stats. Call when the user asks for their developer profile or tech fingerprint.",
210
119
  schemaFile: "developer-dna.json",
211
120
  category: "identity",
212
121
  tags: ["identity", "dna", "profile", "tech-stack", "export"],
213
122
  standalone: false,
214
123
  },
215
- // Intelligence Metabolism Tools
216
- autophagy_status: {
217
- summary: "Get intelligence metabolism status — autophagy cycles, calibration accuracy, anti-patterns",
218
- schemaFile: "autophagy-status.json",
219
- category: "metabolism",
220
- tags: ["autophagy", "metabolism", "calibration", "health"],
221
- standalone: false,
222
- },
223
- decision_windows: {
224
- summary: "View and manage decision windows — time-bounded opportunities requiring attention",
225
- schemaFile: "decision-windows.json",
226
- category: "metabolism",
227
- tags: ["decisions", "windows", "time-bounded", "opportunities"],
228
- standalone: false,
229
- },
230
- compound_advantage: {
231
- summary: "Get compound advantage score — measures intelligence leverage for decisions",
232
- schemaFile: "compound-advantage.json",
233
- category: "metabolism",
234
- tags: ["compound", "advantage", "leverage", "score"],
235
- standalone: false,
236
- },
237
- // Agent Feedback Tools
238
- record_agent_feedback: {
239
- summary: "Record whether agent-recommended content was used, rejected, or partially used",
240
- schemaFile: "record-agent-feedback.json",
241
- category: "agent",
242
- tags: ["agent", "feedback", "learning", "pasifa", "scoring"],
243
- standalone: false,
244
- },
245
- get_agent_feedback_stats: {
246
- summary: "Get statistics on agent recommendation usage — source usefulness, top items, trends",
247
- schemaFile: "agent-feedback-stats.json",
248
- category: "agent",
249
- tags: ["agent", "feedback", "statistics", "analytics", "pasifa"],
250
- standalone: false,
251
- },
252
- // Synthesis Tools
253
- what_should_i_know: {
254
- summary: "Pre-task intelligence briefing — advisories, decisions, signals, delegation assessment",
255
- schemaFile: "what-should-i-know.json",
256
- category: "agent",
257
- tags: ["agent", "briefing", "synthesis", "pre-task", "delegation", "advisories"],
258
- standalone: true,
259
- },
260
- // Trust & Preemption Tools
261
- trust_summary: {
262
- summary: "Intelligence quality metrics — precision, action rate, false positives, preemption wins",
263
- schemaFile: "trust-summary.json",
264
- category: "intelligence",
265
- tags: ["trust", "precision", "quality", "metrics", "reliability"],
266
- standalone: false,
267
- },
268
- preemption_feed: {
269
- summary: "Forward-looking alerts — signal chains, dependency risks, knowledge gaps",
270
- schemaFile: "preemption-feed.json",
271
- category: "intelligence",
272
- tags: ["preemption", "alerts", "risks", "dependencies", "forward-looking"],
273
- standalone: false,
274
- },
275
- // Live Intelligence Tools
276
- vulnerability_scan: {
277
- summary: "Scan dependencies for known CVEs via OSV.dev — zero config, multi-ecosystem",
278
- schemaFile: "vulnerability-scan.json",
279
- category: "knowledge",
280
- tags: ["security", "vulnerabilities", "cve", "dependencies", "osv", "scanning"],
281
- standalone: true,
282
- },
283
- ecosystem_pulse: {
284
- summary: "Live ecosystem news relevant to your tech stack from Hacker News",
285
- schemaFile: "ecosystem-pulse.json",
286
- category: "intelligence",
287
- tags: ["ecosystem", "news", "hacker-news", "trends", "live"],
288
- standalone: true,
289
- },
290
- dependency_health: {
291
- summary: "Dependency health — version freshness, deprecation, CVEs across npm/Rust/Python/Go",
292
- schemaFile: "dependency-health.json",
293
- category: "knowledge",
294
- tags: ["dependencies", "health", "outdated", "deprecated", "registry", "versions"],
295
- standalone: true,
296
- },
297
- upgrade_planner: {
298
- summary: "Ranked upgrade recommendations — prioritized by CVE severity, deprecation, version distance",
299
- schemaFile: "upgrade-planner.json",
300
- category: "knowledge",
301
- tags: ["upgrade", "dependencies", "recommendations", "versions", "planning"],
302
- standalone: true,
303
- },
304
124
  };
305
125
  /**
306
126
  * Get slim tool list for list_tools response