@4da/mcp-server 4.3.0 → 4.6.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 (202) hide show
  1. package/README.md +61 -81
  2. package/dist/db.d.ts +12 -1
  3. package/dist/db.d.ts.map +1 -1
  4. package/dist/db.js +71 -8
  5. package/dist/db.js.map +1 -1
  6. package/dist/index.d.ts +9 -14
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +12 -17
  9. package/dist/index.js.map +1 -1
  10. package/dist/live/crates-registry.d.ts +18 -0
  11. package/dist/live/crates-registry.d.ts.map +1 -0
  12. package/dist/live/crates-registry.js +133 -0
  13. package/dist/live/crates-registry.js.map +1 -0
  14. package/dist/live/go-registry.d.ts +19 -0
  15. package/dist/live/go-registry.d.ts.map +1 -0
  16. package/dist/live/go-registry.js +127 -0
  17. package/dist/live/go-registry.js.map +1 -0
  18. package/dist/live/http-utils.d.ts +3 -0
  19. package/dist/live/http-utils.d.ts.map +1 -0
  20. package/dist/live/http-utils.js +20 -0
  21. package/dist/live/http-utils.js.map +1 -0
  22. package/dist/live/index.d.ts +7 -2
  23. package/dist/live/index.d.ts.map +1 -1
  24. package/dist/live/index.js +71 -0
  25. package/dist/live/index.js.map +1 -1
  26. package/dist/live/npm-registry.d.ts +19 -0
  27. package/dist/live/npm-registry.d.ts.map +1 -0
  28. package/dist/live/npm-registry.js +132 -0
  29. package/dist/live/npm-registry.js.map +1 -0
  30. package/dist/live/osv-scanner.d.ts.map +1 -1
  31. package/dist/live/osv-scanner.js +1 -10
  32. package/dist/live/osv-scanner.js.map +1 -1
  33. package/dist/live/pypi-registry.d.ts +18 -0
  34. package/dist/live/pypi-registry.d.ts.map +1 -0
  35. package/dist/live/pypi-registry.js +142 -0
  36. package/dist/live/pypi-registry.js.map +1 -0
  37. package/dist/live/rate-limiter.d.ts +12 -0
  38. package/dist/live/rate-limiter.d.ts.map +1 -1
  39. package/dist/live/rate-limiter.js +4 -0
  40. package/dist/live/rate-limiter.js.map +1 -1
  41. package/dist/live/semver-utils.d.ts +5 -0
  42. package/dist/live/semver-utils.d.ts.map +1 -0
  43. package/dist/live/semver-utils.js +28 -0
  44. package/dist/live/semver-utils.js.map +1 -0
  45. package/dist/live/types.d.ts +41 -0
  46. package/dist/live/types.d.ts.map +1 -1
  47. package/dist/schema-registry.d.ts +4 -2
  48. package/dist/schema-registry.d.ts.map +1 -1
  49. package/dist/schema-registry.js +55 -221
  50. package/dist/schema-registry.js.map +1 -1
  51. package/dist/schemas/dependency-health.json +27 -0
  52. package/dist/schemas/upgrade-planner.json +22 -0
  53. package/dist/tool-dispatch.d.ts +1 -7
  54. package/dist/tool-dispatch.d.ts.map +1 -1
  55. package/dist/tool-dispatch.js +14 -46
  56. package/dist/tool-dispatch.js.map +1 -1
  57. package/dist/tools/dependency-health.d.ts +45 -0
  58. package/dist/tools/dependency-health.d.ts.map +1 -0
  59. package/dist/tools/dependency-health.js +152 -0
  60. package/dist/tools/dependency-health.js.map +1 -0
  61. package/dist/tools/index.d.ts +13 -40
  62. package/dist/tools/index.d.ts.map +1 -1
  63. package/dist/tools/index.js +18 -52
  64. package/dist/tools/index.js.map +1 -1
  65. package/dist/tools/upgrade-planner.d.ts +59 -0
  66. package/dist/tools/upgrade-planner.d.ts.map +1 -0
  67. package/dist/tools/upgrade-planner.js +167 -0
  68. package/dist/tools/upgrade-planner.js.map +1 -0
  69. package/dist/tools/what-should-i-know.d.ts +4 -12
  70. package/dist/tools/what-should-i-know.d.ts.map +1 -1
  71. package/dist/tools/what-should-i-know.js +11 -102
  72. package/dist/tools/what-should-i-know.js.map +1 -1
  73. package/package.json +2 -2
  74. package/dist/schemas/agent-feedback-stats.json +0 -14
  75. package/dist/schemas/agent-session-brief.json +0 -25
  76. package/dist/schemas/attention-report.json +0 -13
  77. package/dist/schemas/autophagy-status.json +0 -13
  78. package/dist/schemas/compound-advantage.json +0 -14
  79. package/dist/schemas/config-validator.json +0 -18
  80. package/dist/schemas/context-analysis.json +0 -25
  81. package/dist/schemas/daily-briefing.json +0 -34
  82. package/dist/schemas/decision-windows.json +0 -22
  83. package/dist/schemas/delegation-score.json +0 -18
  84. package/dist/schemas/explain-relevance.json +0 -19
  85. package/dist/schemas/export-context.json +0 -17
  86. package/dist/schemas/llm-status.json +0 -13
  87. package/dist/schemas/preemption-feed.json +0 -18
  88. package/dist/schemas/project-health.json +0 -13
  89. package/dist/schemas/record-agent-feedback.json +0 -28
  90. package/dist/schemas/reverse-mentions.json +0 -13
  91. package/dist/schemas/score-autopsy.json +0 -30
  92. package/dist/schemas/semantic-shifts.json +0 -17
  93. package/dist/schemas/signal-chains.json +0 -19
  94. package/dist/schemas/source-health.json +0 -17
  95. package/dist/schemas/tech-radar.json +0 -23
  96. package/dist/schemas/topic-connections.json +0 -34
  97. package/dist/schemas/trend-analysis.json +0 -29
  98. package/dist/schemas/trust-summary.json +0 -13
  99. package/dist/tools/agent-feedback-stats.d.ts +0 -30
  100. package/dist/tools/agent-feedback-stats.d.ts.map +0 -1
  101. package/dist/tools/agent-feedback-stats.js +0 -41
  102. package/dist/tools/agent-feedback-stats.js.map +0 -1
  103. package/dist/tools/agent-session-brief.d.ts +0 -44
  104. package/dist/tools/agent-session-brief.d.ts.map +0 -1
  105. package/dist/tools/agent-session-brief.js +0 -179
  106. package/dist/tools/agent-session-brief.js.map +0 -1
  107. package/dist/tools/attention-report.d.ts +0 -40
  108. package/dist/tools/attention-report.d.ts.map +0 -1
  109. package/dist/tools/attention-report.js +0 -73
  110. package/dist/tools/attention-report.js.map +0 -1
  111. package/dist/tools/autophagy-status.d.ts +0 -25
  112. package/dist/tools/autophagy-status.d.ts.map +0 -1
  113. package/dist/tools/autophagy-status.js +0 -56
  114. package/dist/tools/autophagy-status.js.map +0 -1
  115. package/dist/tools/compound-advantage.d.ts +0 -30
  116. package/dist/tools/compound-advantage.d.ts.map +0 -1
  117. package/dist/tools/compound-advantage.js +0 -133
  118. package/dist/tools/compound-advantage.js.map +0 -1
  119. package/dist/tools/config-validator.d.ts +0 -59
  120. package/dist/tools/config-validator.d.ts.map +0 -1
  121. package/dist/tools/config-validator.js +0 -417
  122. package/dist/tools/config-validator.js.map +0 -1
  123. package/dist/tools/context-analysis.d.ts +0 -108
  124. package/dist/tools/context-analysis.d.ts.map +0 -1
  125. package/dist/tools/context-analysis.js +0 -301
  126. package/dist/tools/context-analysis.js.map +0 -1
  127. package/dist/tools/daily-briefing.d.ts +0 -103
  128. package/dist/tools/daily-briefing.d.ts.map +0 -1
  129. package/dist/tools/daily-briefing.js +0 -294
  130. package/dist/tools/daily-briefing.js.map +0 -1
  131. package/dist/tools/decision-windows.d.ts +0 -37
  132. package/dist/tools/decision-windows.d.ts.map +0 -1
  133. package/dist/tools/decision-windows.js +0 -67
  134. package/dist/tools/decision-windows.js.map +0 -1
  135. package/dist/tools/delegation-score.d.ts +0 -34
  136. package/dist/tools/delegation-score.d.ts.map +0 -1
  137. package/dist/tools/delegation-score.js +0 -260
  138. package/dist/tools/delegation-score.js.map +0 -1
  139. package/dist/tools/explain-relevance.d.ts +0 -36
  140. package/dist/tools/explain-relevance.d.ts.map +0 -1
  141. package/dist/tools/explain-relevance.js +0 -51
  142. package/dist/tools/explain-relevance.js.map +0 -1
  143. package/dist/tools/export-context.d.ts +0 -60
  144. package/dist/tools/export-context.d.ts.map +0 -1
  145. package/dist/tools/export-context.js +0 -179
  146. package/dist/tools/export-context.js.map +0 -1
  147. package/dist/tools/llm-status.d.ts +0 -45
  148. package/dist/tools/llm-status.d.ts.map +0 -1
  149. package/dist/tools/llm-status.js +0 -93
  150. package/dist/tools/llm-status.js.map +0 -1
  151. package/dist/tools/muse-context.d.ts +0 -195
  152. package/dist/tools/muse-context.d.ts.map +0 -1
  153. package/dist/tools/muse-context.js +0 -284
  154. package/dist/tools/muse-context.js.map +0 -1
  155. package/dist/tools/preemption-feed.d.ts +0 -55
  156. package/dist/tools/preemption-feed.d.ts.map +0 -1
  157. package/dist/tools/preemption-feed.js +0 -124
  158. package/dist/tools/preemption-feed.js.map +0 -1
  159. package/dist/tools/project-health.d.ts +0 -53
  160. package/dist/tools/project-health.d.ts.map +0 -1
  161. package/dist/tools/project-health.js +0 -122
  162. package/dist/tools/project-health.js.map +0 -1
  163. package/dist/tools/record-agent-feedback.d.ts +0 -46
  164. package/dist/tools/record-agent-feedback.d.ts.map +0 -1
  165. package/dist/tools/record-agent-feedback.js +0 -71
  166. package/dist/tools/record-agent-feedback.js.map +0 -1
  167. package/dist/tools/reverse-mentions.d.ts +0 -38
  168. package/dist/tools/reverse-mentions.d.ts.map +0 -1
  169. package/dist/tools/reverse-mentions.js +0 -75
  170. package/dist/tools/reverse-mentions.js.map +0 -1
  171. package/dist/tools/score-autopsy.d.ts +0 -93
  172. package/dist/tools/score-autopsy.d.ts.map +0 -1
  173. package/dist/tools/score-autopsy.js +0 -295
  174. package/dist/tools/score-autopsy.js.map +0 -1
  175. package/dist/tools/semantic-shifts.d.ts +0 -53
  176. package/dist/tools/semantic-shifts.d.ts.map +0 -1
  177. package/dist/tools/semantic-shifts.js +0 -74
  178. package/dist/tools/semantic-shifts.js.map +0 -1
  179. package/dist/tools/signal-chains.d.ts +0 -52
  180. package/dist/tools/signal-chains.d.ts.map +0 -1
  181. package/dist/tools/signal-chains.js +0 -63
  182. package/dist/tools/signal-chains.js.map +0 -1
  183. package/dist/tools/source-health.d.ts +0 -64
  184. package/dist/tools/source-health.d.ts.map +0 -1
  185. package/dist/tools/source-health.js +0 -205
  186. package/dist/tools/source-health.js.map +0 -1
  187. package/dist/tools/tech-radar.d.ts +0 -38
  188. package/dist/tools/tech-radar.d.ts.map +0 -1
  189. package/dist/tools/tech-radar.js +0 -249
  190. package/dist/tools/tech-radar.js.map +0 -1
  191. package/dist/tools/topic-connections.d.ts +0 -112
  192. package/dist/tools/topic-connections.d.ts.map +0 -1
  193. package/dist/tools/topic-connections.js +0 -319
  194. package/dist/tools/topic-connections.js.map +0 -1
  195. package/dist/tools/trend-analysis.d.ts +0 -105
  196. package/dist/tools/trend-analysis.d.ts.map +0 -1
  197. package/dist/tools/trend-analysis.js +0 -296
  198. package/dist/tools/trend-analysis.js.map +0 -1
  199. package/dist/tools/trust-summary.d.ts +0 -38
  200. package/dist/tools/trust-summary.d.ts.map +0 -1
  201. package/dist/tools/trust-summary.js +0 -89
  202. package/dist/tools/trust-summary.js.map +0 -1
@@ -1,301 +0,0 @@
1
- // SPDX-License-Identifier: FSL-1.1-Apache-2.0
2
- /**
3
- * Context Analysis Tool
4
- *
5
- * Analyze and optimize your local context for better relevance.
6
- * This is a SUPERPOWER - it tells you how to make 4DA smarter about you.
7
- *
8
- * With synthesize=true, uses LLM to give personalized optimization advice.
9
- */
10
- import { getLLMConfig, canSynthesize, synthesize, SYNTHESIS_PROMPTS } from "../llm.js";
11
- import { createContextAnalysisCompact } from "../output-manager.js";
12
- export const contextAnalysisTool = {
13
- name: "context_analysis",
14
- description: `Analyze your 4DA context and get optimization recommendations.
15
-
16
- With synthesize=true (recommended), uses AI for personalized optimization advice.
17
-
18
- Returns:
19
- - Current context summary (tech stack, interests, topics)
20
- - Context quality score
21
- - Coverage gaps (what you care about but isn't tracked)
22
- - AI-powered personalized recommendations (when enabled)
23
-
24
- Use this to tune 4DA for better personalization.`,
25
- inputSchema: {
26
- type: "object",
27
- properties: {
28
- include_recommendations: {
29
- type: "boolean",
30
- description: "Include optimization recommendations (default: true)",
31
- },
32
- analyze_gaps: {
33
- type: "boolean",
34
- description: "Analyze coverage gaps (default: true)",
35
- },
36
- synthesize: {
37
- type: "boolean",
38
- description: "Use AI for personalized advice (default: true if LLM configured)",
39
- },
40
- compact: {
41
- type: "boolean",
42
- description: "Return compact result with file reference (default: true for ~80% token reduction)",
43
- },
44
- },
45
- },
46
- };
47
- export async function executeContextAnalysis(db, params) {
48
- const { include_recommendations = true, analyze_gaps = true } = params;
49
- const useCompact = params.compact !== false; // Default to compact=true
50
- // Check LLM availability
51
- const dbInstance = db.db;
52
- const llmConfig = getLLMConfig(dbInstance);
53
- const shouldSynthesize = params.synthesize ?? canSynthesize(llmConfig);
54
- // Get full context
55
- const context = db.getUserContext(true, true);
56
- // Get recent items to analyze matching patterns
57
- const recentItems = db.getRelevantContent(0, undefined, 100, 168); // Last week
58
- // Calculate quality score
59
- const qualityScore = calculateQualityScore(context);
60
- // Analyze recent items breakdown
61
- const itemsBreakdown = analyzeItemsBreakdown(db, recentItems);
62
- // Find coverage gaps
63
- const coverageGaps = analyze_gaps ? findCoverageGaps(context, recentItems) : [];
64
- // Generate recommendations
65
- const recommendations = include_recommendations
66
- ? generateRecommendations(context, qualityScore, coverageGaps, itemsBreakdown)
67
- : [];
68
- const result = {
69
- context_summary: {
70
- role: context.role,
71
- tech_stack_count: context.tech_stack.length,
72
- interests_count: context.interests.length,
73
- domains_count: context.domains.length,
74
- exclusions_count: context.exclusions.length,
75
- detected_tech_count: context.ace?.detected_tech.length || 0,
76
- active_topics_count: context.ace?.active_topics.length || 0,
77
- learned_affinities_count: context.learned?.topic_affinities.length || 0,
78
- anti_topics_count: context.learned?.anti_topics.length || 0,
79
- },
80
- quality_score: qualityScore,
81
- tech_stack: context.tech_stack,
82
- interests: context.interests.map(i => ({ topic: i.topic, weight: i.weight })),
83
- top_detected_tech: (context.ace?.detected_tech || [])
84
- .slice(0, 10)
85
- .map(t => ({ name: t.name, confidence: t.confidence })),
86
- top_active_topics: (context.ace?.active_topics || [])
87
- .slice(0, 10)
88
- .map(t => ({ topic: t.topic, weight: t.weight })),
89
- top_affinities: (context.learned?.topic_affinities || [])
90
- .filter(a => a.affinity_score > 0)
91
- .slice(0, 10)
92
- .map(a => ({ topic: a.topic, score: a.affinity_score })),
93
- exclusions: context.exclusions,
94
- coverage_gaps: coverageGaps,
95
- recommendations,
96
- recent_items_breakdown: itemsBreakdown,
97
- };
98
- // AI Personalized Advice - the actual superpower
99
- if (shouldSynthesize && canSynthesize(llmConfig)) {
100
- try {
101
- const analysisData = {
102
- context_summary: result.context_summary,
103
- quality_score: result.quality_score,
104
- coverage_gaps: result.coverage_gaps,
105
- recommendations: result.recommendations,
106
- recent_items_breakdown: result.recent_items_breakdown,
107
- };
108
- const synthesis = await synthesize(llmConfig, {
109
- system: SYNTHESIS_PROMPTS.contextAnalysis.system,
110
- prompt: SYNTHESIS_PROMPTS.contextAnalysis.buildPrompt(analysisData),
111
- max_tokens: 350,
112
- complexity: SYNTHESIS_PROMPTS.contextAnalysis.complexity,
113
- });
114
- // Parse the synthesis
115
- const lines = synthesis.synthesis.split("\n").filter(l => l.trim());
116
- const highestImpact = lines.find(l => l.toLowerCase().includes("highest") ||
117
- l.toLowerCase().includes("most important") ||
118
- l.toLowerCase().includes("first")) || lines[0] || "";
119
- result.ai_advice = {
120
- personalized_recommendations: synthesis.synthesis,
121
- highest_impact_change: highestImpact,
122
- ideal_context_description: lines[lines.length - 1] || "",
123
- model_used: synthesis.model_used,
124
- };
125
- }
126
- catch (error) {
127
- console.error("AI advice failed:", error);
128
- }
129
- }
130
- // Return compact or full result based on parameter
131
- if (useCompact) {
132
- return createContextAnalysisCompact(result);
133
- }
134
- return result;
135
- }
136
- function calculateQualityScore(context) {
137
- const dimensions = [];
138
- // Explicit signals (tech stack + interests)
139
- const explicitScore = Math.min(1, (context.tech_stack.length + context.interests.length) / 10);
140
- dimensions.push({
141
- name: "Explicit Signals",
142
- score: Math.round(explicitScore * 100) / 100,
143
- explanation: explicitScore >= 0.7
144
- ? "Good coverage of explicit interests and tech"
145
- : "Consider adding more interests and tech stack items",
146
- });
147
- // ACE coverage
148
- const aceScore = context.ace
149
- ? Math.min(1, (context.ace.detected_tech.length + context.ace.active_topics.length) / 20)
150
- : 0;
151
- dimensions.push({
152
- name: "ACE Detection",
153
- score: Math.round(aceScore * 100) / 100,
154
- explanation: aceScore >= 0.5
155
- ? "ACE is detecting your work context well"
156
- : aceScore > 0
157
- ? "ACE has some detection - consider adding more watched directories"
158
- : "ACE not active - add directories to watch",
159
- });
160
- // Learned preferences
161
- const learnedScore = context.learned
162
- ? Math.min(1, context.learned.topic_affinities.filter(a => a.affinity_score > 0).length / 15)
163
- : 0;
164
- dimensions.push({
165
- name: "Learned Preferences",
166
- score: Math.round(learnedScore * 100) / 100,
167
- explanation: learnedScore >= 0.5
168
- ? "Good learning from your feedback"
169
- : "Give more feedback to help 4DA learn your preferences",
170
- });
171
- // Diversity
172
- const diversity = new Set([
173
- ...context.tech_stack,
174
- ...context.interests.map(i => i.topic),
175
- ...context.domains,
176
- ]).size;
177
- const diversityScore = Math.min(1, diversity / 15);
178
- dimensions.push({
179
- name: "Diversity",
180
- score: Math.round(diversityScore * 100) / 100,
181
- explanation: diversityScore >= 0.6
182
- ? "Good topic diversity"
183
- : "Consider broadening your declared interests",
184
- });
185
- const overall = dimensions.reduce((sum, d) => sum + d.score, 0) / dimensions.length;
186
- return {
187
- overall: Math.round(overall * 100) / 100,
188
- dimensions,
189
- };
190
- }
191
- function analyzeItemsBreakdown(db, items) {
192
- let interests = 0;
193
- let tech = 0;
194
- let ace = 0;
195
- let learned = 0;
196
- let unmatched = 0;
197
- // Sample up to 20 items for detailed analysis
198
- const sample = items.slice(0, 20);
199
- for (const item of sample) {
200
- const explanation = db.explainRelevance(item.id, item.source_type);
201
- if (!explanation) {
202
- unmatched++;
203
- continue;
204
- }
205
- const mc = explanation.matching_context;
206
- if (mc.matching_interests.length > 0)
207
- interests++;
208
- else if (mc.matching_tech.length > 0)
209
- tech++;
210
- else if (mc.matching_topics.length > 0)
211
- ace++;
212
- else if (mc.matching_affinities.length > 0)
213
- learned++;
214
- else
215
- unmatched++;
216
- }
217
- return {
218
- matched_by_interests: interests,
219
- matched_by_tech: tech,
220
- matched_by_ace: ace,
221
- matched_by_learned: learned,
222
- unmatched,
223
- };
224
- }
225
- function findCoverageGaps(context, items) {
226
- const gaps = [];
227
- // Find high-scoring items that don't match explicit context
228
- const unmatchedHighScorers = items
229
- .filter(i => i.relevance_score >= 0.6)
230
- .filter(i => {
231
- const text = (i.title + " " + i.content).toLowerCase();
232
- const matchesExplicit = context.tech_stack.some(t => text.includes(t.toLowerCase())) ||
233
- context.interests.some(int => text.includes(int.topic.toLowerCase()));
234
- return !matchesExplicit;
235
- })
236
- .slice(0, 5);
237
- for (const item of unmatchedHighScorers) {
238
- // Extract potential topic
239
- const words = item.title.toLowerCase().split(/\s+/).filter(w => w.length > 4);
240
- const potentialTopic = words[0] || "unidentified topic";
241
- gaps.push({
242
- area: potentialTopic,
243
- evidence: `Item "${item.title.substring(0, 50)}..." scored ${Math.round(item.relevance_score * 100)}% without explicit interest match`,
244
- recommendation: `Consider adding "${potentialTopic}" as an explicit interest`,
245
- });
246
- }
247
- // Check for ACE gaps
248
- if (!context.ace || context.ace.active_topics.length === 0) {
249
- gaps.push({
250
- area: "Local Context",
251
- evidence: "No active topics detected from local files",
252
- recommendation: "Ensure ACE is scanning your active project directories",
253
- });
254
- }
255
- return gaps.slice(0, 5);
256
- }
257
- function generateRecommendations(context, quality, gaps, breakdown) {
258
- const recommendations = [];
259
- // Low quality score
260
- if (quality.overall < 0.5) {
261
- recommendations.push({
262
- priority: "high",
263
- action: "Add more explicit interests and tech stack items",
264
- impact: "Will significantly improve relevance scoring",
265
- });
266
- }
267
- // No ACE
268
- if (!context.ace || context.ace.detected_tech.length === 0) {
269
- recommendations.push({
270
- priority: "high",
271
- action: "Configure watched directories for ACE scanning",
272
- impact: "Enables automatic context detection from your code",
273
- });
274
- }
275
- // Low learned preferences
276
- if (!context.learned || context.learned.topic_affinities.filter(a => a.affinity_score > 0).length < 5) {
277
- recommendations.push({
278
- priority: "medium",
279
- action: "Provide more feedback on items (click, save, dismiss)",
280
- impact: "Helps 4DA learn your preferences over time",
281
- });
282
- }
283
- // Coverage gaps
284
- for (const gap of gaps.slice(0, 2)) {
285
- recommendations.push({
286
- priority: "medium",
287
- action: gap.recommendation,
288
- impact: `Would improve matching for "${gap.area}" content`,
289
- });
290
- }
291
- // High unmatched rate
292
- if (breakdown.unmatched > 10) {
293
- recommendations.push({
294
- priority: "low",
295
- action: "Review your exclusions - may be too aggressive",
296
- impact: "Could be filtering out relevant content",
297
- });
298
- }
299
- return recommendations;
300
- }
301
- //# sourceMappingURL=context-analysis.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-analysis.js","sourceRoot":"","sources":["../../src/tools/context-analysis.ts"],"names":[],"mappings":"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"}
@@ -1,103 +0,0 @@
1
- /**
2
- * Daily Briefing Tool
3
- *
4
- * Generate an executive summary of 4DA's discoveries.
5
- * This is a SUPERPOWER - it synthesizes noise into actionable intelligence.
6
- *
7
- * With synthesize=true, uses LLM to generate genuine insights.
8
- */
9
- import type { FourDADatabase } from "../db.js";
10
- import { type CompactResult, type DailyBriefingKeyData } from "../output-manager.js";
11
- export declare const dailyBriefingTool: {
12
- name: string;
13
- description: string;
14
- inputSchema: {
15
- type: string;
16
- properties: {
17
- hours: {
18
- type: string;
19
- description: string;
20
- };
21
- min_score: {
22
- type: string;
23
- description: string;
24
- };
25
- max_items: {
26
- type: string;
27
- description: string;
28
- };
29
- format: {
30
- type: string;
31
- enum: string[];
32
- description: string;
33
- };
34
- synthesize: {
35
- type: string;
36
- description: string;
37
- };
38
- compact: {
39
- type: string;
40
- description: string;
41
- };
42
- };
43
- };
44
- };
45
- export interface DailyBriefingParams {
46
- hours?: number;
47
- min_score?: number;
48
- max_items?: number;
49
- format?: "full" | "brief" | "actionable";
50
- synthesize?: boolean;
51
- compact?: boolean;
52
- }
53
- interface Theme {
54
- name: string;
55
- item_count: number;
56
- avg_score: number;
57
- top_items: {
58
- title: string;
59
- score: number;
60
- url: string | null;
61
- }[];
62
- insight: string;
63
- }
64
- interface BriefingResult {
65
- period: {
66
- start: string;
67
- end: string;
68
- hours: number;
69
- };
70
- summary: {
71
- total_items_analyzed: number;
72
- high_relevance_count: number;
73
- avg_score: number;
74
- tldr: string;
75
- };
76
- themes: Theme[];
77
- notable_items: {
78
- id: number;
79
- title: string;
80
- url: string | null;
81
- source: string;
82
- score: number;
83
- why_notable: string;
84
- }[];
85
- recommendations: {
86
- priority: "high" | "medium" | "low";
87
- action: string;
88
- reasoning: string;
89
- }[];
90
- trends: {
91
- rising: string[];
92
- falling: string[];
93
- };
94
- ai_synthesis?: {
95
- executive_brief: string;
96
- key_insight: string;
97
- action_item: string;
98
- model_used: string;
99
- };
100
- }
101
- export declare function executeDailyBriefing(db: FourDADatabase, params: DailyBriefingParams): Promise<BriefingResult | CompactResult<DailyBriefingKeyData>>;
102
- export {};
103
- //# sourceMappingURL=daily-briefing.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"daily-briefing.d.ts","sourceRoot":"","sources":["../../src/tools/daily-briefing.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAA8B,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6C7B,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,CAAC;IACzC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,KAAK;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,CAAC;IAClE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,cAAc;IACtB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,OAAO,EAAE;QACP,oBAAoB,EAAE,MAAM,CAAC;QAC7B,oBAAoB,EAAE,MAAM,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,aAAa,EAAE;QACb,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;KACrB,EAAE,CAAC;IACJ,eAAe,EAAE;QACf,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;QACpC,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;IACJ,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IAEF,YAAY,CAAC,EAAE;QACb,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,cAAc,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAuH/D"}