@4da/mcp-server 4.5.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 (155) 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/schema-registry.d.ts +4 -2
  11. package/dist/schema-registry.d.ts.map +1 -1
  12. package/dist/schema-registry.js +55 -235
  13. package/dist/schema-registry.js.map +1 -1
  14. package/dist/tool-dispatch.d.ts +1 -7
  15. package/dist/tool-dispatch.d.ts.map +1 -1
  16. package/dist/tool-dispatch.js +14 -48
  17. package/dist/tool-dispatch.js.map +1 -1
  18. package/dist/tools/index.d.ts +13 -42
  19. package/dist/tools/index.d.ts.map +1 -1
  20. package/dist/tools/index.js +18 -54
  21. package/dist/tools/index.js.map +1 -1
  22. package/dist/tools/what-should-i-know.d.ts +4 -12
  23. package/dist/tools/what-should-i-know.d.ts.map +1 -1
  24. package/dist/tools/what-should-i-know.js +11 -102
  25. package/dist/tools/what-should-i-know.js.map +1 -1
  26. package/package.json +2 -2
  27. package/dist/schemas/agent-feedback-stats.json +0 -14
  28. package/dist/schemas/agent-session-brief.json +0 -25
  29. package/dist/schemas/attention-report.json +0 -13
  30. package/dist/schemas/autophagy-status.json +0 -13
  31. package/dist/schemas/compound-advantage.json +0 -14
  32. package/dist/schemas/config-validator.json +0 -18
  33. package/dist/schemas/context-analysis.json +0 -25
  34. package/dist/schemas/daily-briefing.json +0 -34
  35. package/dist/schemas/decision-windows.json +0 -22
  36. package/dist/schemas/delegation-score.json +0 -18
  37. package/dist/schemas/explain-relevance.json +0 -19
  38. package/dist/schemas/export-context.json +0 -17
  39. package/dist/schemas/llm-status.json +0 -13
  40. package/dist/schemas/preemption-feed.json +0 -18
  41. package/dist/schemas/project-health.json +0 -13
  42. package/dist/schemas/record-agent-feedback.json +0 -28
  43. package/dist/schemas/reverse-mentions.json +0 -13
  44. package/dist/schemas/score-autopsy.json +0 -30
  45. package/dist/schemas/semantic-shifts.json +0 -17
  46. package/dist/schemas/signal-chains.json +0 -19
  47. package/dist/schemas/source-health.json +0 -17
  48. package/dist/schemas/tech-radar.json +0 -23
  49. package/dist/schemas/topic-connections.json +0 -34
  50. package/dist/schemas/trend-analysis.json +0 -29
  51. package/dist/schemas/trust-summary.json +0 -13
  52. package/dist/tools/agent-feedback-stats.d.ts +0 -30
  53. package/dist/tools/agent-feedback-stats.d.ts.map +0 -1
  54. package/dist/tools/agent-feedback-stats.js +0 -41
  55. package/dist/tools/agent-feedback-stats.js.map +0 -1
  56. package/dist/tools/agent-session-brief.d.ts +0 -44
  57. package/dist/tools/agent-session-brief.d.ts.map +0 -1
  58. package/dist/tools/agent-session-brief.js +0 -179
  59. package/dist/tools/agent-session-brief.js.map +0 -1
  60. package/dist/tools/attention-report.d.ts +0 -40
  61. package/dist/tools/attention-report.d.ts.map +0 -1
  62. package/dist/tools/attention-report.js +0 -73
  63. package/dist/tools/attention-report.js.map +0 -1
  64. package/dist/tools/autophagy-status.d.ts +0 -25
  65. package/dist/tools/autophagy-status.d.ts.map +0 -1
  66. package/dist/tools/autophagy-status.js +0 -56
  67. package/dist/tools/autophagy-status.js.map +0 -1
  68. package/dist/tools/compound-advantage.d.ts +0 -30
  69. package/dist/tools/compound-advantage.d.ts.map +0 -1
  70. package/dist/tools/compound-advantage.js +0 -133
  71. package/dist/tools/compound-advantage.js.map +0 -1
  72. package/dist/tools/config-validator.d.ts +0 -59
  73. package/dist/tools/config-validator.d.ts.map +0 -1
  74. package/dist/tools/config-validator.js +0 -417
  75. package/dist/tools/config-validator.js.map +0 -1
  76. package/dist/tools/context-analysis.d.ts +0 -108
  77. package/dist/tools/context-analysis.d.ts.map +0 -1
  78. package/dist/tools/context-analysis.js +0 -301
  79. package/dist/tools/context-analysis.js.map +0 -1
  80. package/dist/tools/daily-briefing.d.ts +0 -103
  81. package/dist/tools/daily-briefing.d.ts.map +0 -1
  82. package/dist/tools/daily-briefing.js +0 -294
  83. package/dist/tools/daily-briefing.js.map +0 -1
  84. package/dist/tools/decision-windows.d.ts +0 -37
  85. package/dist/tools/decision-windows.d.ts.map +0 -1
  86. package/dist/tools/decision-windows.js +0 -67
  87. package/dist/tools/decision-windows.js.map +0 -1
  88. package/dist/tools/delegation-score.d.ts +0 -34
  89. package/dist/tools/delegation-score.d.ts.map +0 -1
  90. package/dist/tools/delegation-score.js +0 -260
  91. package/dist/tools/delegation-score.js.map +0 -1
  92. package/dist/tools/explain-relevance.d.ts +0 -36
  93. package/dist/tools/explain-relevance.d.ts.map +0 -1
  94. package/dist/tools/explain-relevance.js +0 -51
  95. package/dist/tools/explain-relevance.js.map +0 -1
  96. package/dist/tools/export-context.d.ts +0 -60
  97. package/dist/tools/export-context.d.ts.map +0 -1
  98. package/dist/tools/export-context.js +0 -179
  99. package/dist/tools/export-context.js.map +0 -1
  100. package/dist/tools/llm-status.d.ts +0 -45
  101. package/dist/tools/llm-status.d.ts.map +0 -1
  102. package/dist/tools/llm-status.js +0 -93
  103. package/dist/tools/llm-status.js.map +0 -1
  104. package/dist/tools/muse-context.d.ts +0 -195
  105. package/dist/tools/muse-context.d.ts.map +0 -1
  106. package/dist/tools/muse-context.js +0 -284
  107. package/dist/tools/muse-context.js.map +0 -1
  108. package/dist/tools/preemption-feed.d.ts +0 -55
  109. package/dist/tools/preemption-feed.d.ts.map +0 -1
  110. package/dist/tools/preemption-feed.js +0 -124
  111. package/dist/tools/preemption-feed.js.map +0 -1
  112. package/dist/tools/project-health.d.ts +0 -53
  113. package/dist/tools/project-health.d.ts.map +0 -1
  114. package/dist/tools/project-health.js +0 -122
  115. package/dist/tools/project-health.js.map +0 -1
  116. package/dist/tools/record-agent-feedback.d.ts +0 -46
  117. package/dist/tools/record-agent-feedback.d.ts.map +0 -1
  118. package/dist/tools/record-agent-feedback.js +0 -71
  119. package/dist/tools/record-agent-feedback.js.map +0 -1
  120. package/dist/tools/reverse-mentions.d.ts +0 -38
  121. package/dist/tools/reverse-mentions.d.ts.map +0 -1
  122. package/dist/tools/reverse-mentions.js +0 -75
  123. package/dist/tools/reverse-mentions.js.map +0 -1
  124. package/dist/tools/score-autopsy.d.ts +0 -93
  125. package/dist/tools/score-autopsy.d.ts.map +0 -1
  126. package/dist/tools/score-autopsy.js +0 -295
  127. package/dist/tools/score-autopsy.js.map +0 -1
  128. package/dist/tools/semantic-shifts.d.ts +0 -53
  129. package/dist/tools/semantic-shifts.d.ts.map +0 -1
  130. package/dist/tools/semantic-shifts.js +0 -74
  131. package/dist/tools/semantic-shifts.js.map +0 -1
  132. package/dist/tools/signal-chains.d.ts +0 -52
  133. package/dist/tools/signal-chains.d.ts.map +0 -1
  134. package/dist/tools/signal-chains.js +0 -63
  135. package/dist/tools/signal-chains.js.map +0 -1
  136. package/dist/tools/source-health.d.ts +0 -64
  137. package/dist/tools/source-health.d.ts.map +0 -1
  138. package/dist/tools/source-health.js +0 -205
  139. package/dist/tools/source-health.js.map +0 -1
  140. package/dist/tools/tech-radar.d.ts +0 -38
  141. package/dist/tools/tech-radar.d.ts.map +0 -1
  142. package/dist/tools/tech-radar.js +0 -249
  143. package/dist/tools/tech-radar.js.map +0 -1
  144. package/dist/tools/topic-connections.d.ts +0 -112
  145. package/dist/tools/topic-connections.d.ts.map +0 -1
  146. package/dist/tools/topic-connections.js +0 -319
  147. package/dist/tools/topic-connections.js.map +0 -1
  148. package/dist/tools/trend-analysis.d.ts +0 -105
  149. package/dist/tools/trend-analysis.d.ts.map +0 -1
  150. package/dist/tools/trend-analysis.js +0 -296
  151. package/dist/tools/trend-analysis.js.map +0 -1
  152. package/dist/tools/trust-summary.d.ts +0 -38
  153. package/dist/tools/trust-summary.d.ts.map +0 -1
  154. package/dist/tools/trust-summary.js +0 -89
  155. package/dist/tools/trust-summary.js.map +0 -1
@@ -1,179 +0,0 @@
1
- // SPDX-License-Identifier: FSL-1.1-Apache-2.0
2
- /**
3
- * agent_session_brief tool
4
- *
5
- * Tailored session startup context for AI agents.
6
- * Call at the START of every agent session to get caught up on:
7
- * - Active developer decisions
8
- * - Ecosystem changes (security, breaking, releases)
9
- * - Recent agent memories from all agents
10
- * - Latest briefing text
11
- */
12
- // ============================================================================
13
- // Tool Definition
14
- // ============================================================================
15
- export const agentSessionBriefTool = {
16
- name: "agent_session_brief",
17
- description: "Tailored session startup context for AI agents. Returns active decisions, ecosystem changes, recent agent memories, and latest briefing. Call at START of every agent session.",
18
- inputSchema: {
19
- type: "object",
20
- properties: {
21
- agent_type: {
22
- type: "string",
23
- description: "Agent identifier (e.g. claude_code, cursor). Filters memories to this agent if provided.",
24
- },
25
- since: {
26
- type: "string",
27
- description: "ISO datetime to look back from. Default: 24 hours ago.",
28
- },
29
- include_decisions: {
30
- type: "boolean",
31
- description: "Include active developer decisions. Default: true.",
32
- },
33
- include_memories: {
34
- type: "boolean",
35
- description: "Include recent agent memories. Default: true.",
36
- },
37
- },
38
- },
39
- };
40
- // ============================================================================
41
- // Execute
42
- // ============================================================================
43
- export function executeAgentSessionBrief(db, params) {
44
- const rawDb = db.getRawDb();
45
- const agentType = params.agent_type || "unknown";
46
- const since = params.since ||
47
- new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString();
48
- const includeDecisions = params.include_decisions !== false;
49
- const includeMemories = params.include_memories !== false;
50
- // 1. Active decisions
51
- let activeDecisions = [];
52
- if (includeDecisions) {
53
- try {
54
- const rows = rawDb
55
- .prepare(`SELECT id, subject, decision, decision_type, confidence
56
- FROM developer_decisions
57
- WHERE status = 'active'
58
- ORDER BY confidence DESC
59
- LIMIT 20`)
60
- .all();
61
- activeDecisions = rows.map((r) => ({
62
- id: r.id,
63
- subject: r.subject,
64
- decision: r.decision,
65
- type: r.decision_type,
66
- confidence: r.confidence,
67
- }));
68
- }
69
- catch {
70
- // developer_decisions table may not exist yet
71
- }
72
- }
73
- // 2. Ecosystem changes (security, breaking, releases, updates)
74
- let ecosystemChanges = [];
75
- try {
76
- const rows = rawDb
77
- .prepare(`SELECT id, title, source_type, created_at
78
- FROM source_items
79
- WHERE created_at > ?
80
- AND (
81
- LOWER(title) LIKE '%security%'
82
- OR LOWER(title) LIKE '%breaking%'
83
- OR LOWER(title) LIKE '%release%'
84
- OR LOWER(title) LIKE '%update%'
85
- )
86
- ORDER BY created_at DESC
87
- LIMIT 20`)
88
- .all(since);
89
- ecosystemChanges = rows.map((r) => {
90
- const titleLower = r.title.toLowerCase();
91
- let changeType = "update";
92
- if (titleLower.includes("security"))
93
- changeType = "security";
94
- else if (titleLower.includes("breaking"))
95
- changeType = "breaking_change";
96
- else if (titleLower.includes("release"))
97
- changeType = "release";
98
- return {
99
- change_type: changeType,
100
- subject: r.title,
101
- summary: `[${r.source_type}] ${r.title}`,
102
- };
103
- });
104
- }
105
- catch {
106
- // source_items table may not exist yet
107
- }
108
- // 3. Recent agent memories
109
- let agentMemories = [];
110
- if (includeMemories) {
111
- try {
112
- let memorySql = `SELECT id, agent_type, memory_type, subject, content, created_at
113
- FROM agent_memory
114
- WHERE created_at > ?`;
115
- const memoryParams = [since];
116
- if (params.agent_type) {
117
- memorySql += ` AND agent_type = ?`;
118
- memoryParams.push(params.agent_type);
119
- }
120
- memorySql += ` ORDER BY created_at DESC LIMIT 30`;
121
- const rows = rawDb
122
- .prepare(memorySql)
123
- .all(...memoryParams);
124
- agentMemories = rows.map((r) => ({
125
- id: r.id,
126
- agent_type: r.agent_type,
127
- memory_type: r.memory_type,
128
- subject: r.subject,
129
- content: r.content.length > 200
130
- ? r.content.substring(0, 200) + "..."
131
- : r.content,
132
- created_at: r.created_at,
133
- }));
134
- }
135
- catch {
136
- // agent_memory table may not exist yet
137
- }
138
- }
139
- // 4. Latest briefing
140
- let recentBriefing = null;
141
- try {
142
- const row = rawDb
143
- .prepare(`SELECT content, created_at FROM briefings ORDER BY created_at DESC LIMIT 1`)
144
- .get();
145
- if (row) {
146
- recentBriefing = row.content;
147
- }
148
- }
149
- catch {
150
- // briefings table may not exist yet
151
- }
152
- // 5. Build summary
153
- const summaryParts = [];
154
- if (activeDecisions.length > 0) {
155
- summaryParts.push(`${activeDecisions.length} active decisions`);
156
- }
157
- if (ecosystemChanges.length > 0) {
158
- summaryParts.push(`${ecosystemChanges.length} ecosystem changes`);
159
- }
160
- if (agentMemories.length > 0) {
161
- summaryParts.push(`${agentMemories.length} recent memories`);
162
- }
163
- if (recentBriefing) {
164
- summaryParts.push("briefing available");
165
- }
166
- const summary = summaryParts.length > 0
167
- ? `Session brief for ${agentType}: ${summaryParts.join(", ")}`
168
- : `No recent activity found since ${since}`;
169
- return {
170
- generated_at: new Date().toISOString(),
171
- agent_type: agentType,
172
- active_decisions: activeDecisions,
173
- ecosystem_changes: ecosystemChanges,
174
- agent_memories: agentMemories,
175
- recent_briefing: recentBriefing,
176
- summary,
177
- };
178
- }
179
- //# sourceMappingURL=agent-session-brief.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-session-brief.js","sourceRoot":"","sources":["../../src/tools/agent-session-brief.ts"],"names":[],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- /**
2
- * attention_report tool
3
- *
4
- * Analyze where your attention goes vs. where your code needs it.
5
- */
6
- import type { FourDADatabase } from "../db.js";
7
- import type { EngagementRow, TopicAffinityRow, CodebaseTopicRow } from "../types.js";
8
- export interface AttentionReportParams {
9
- period_days?: number;
10
- }
11
- export declare const attentionReportTool: {
12
- name: string;
13
- description: string;
14
- inputSchema: {
15
- type: "object";
16
- properties: {
17
- period_days: {
18
- type: string;
19
- description: string;
20
- default: number;
21
- };
22
- };
23
- };
24
- };
25
- export declare function executeAttentionReport(db: FourDADatabase, params: AttentionReportParams): {
26
- period_days: number;
27
- total_interactions: number;
28
- engagement_by_source: EngagementRow[];
29
- topic_affinities: TopicAffinityRow[];
30
- codebase_topics: CodebaseTopicRow[];
31
- blind_spots: {
32
- topic: string;
33
- in_codebase: boolean;
34
- engagement_level: number;
35
- risk_level: string;
36
- gap_description: string;
37
- }[];
38
- summary: string;
39
- };
40
- //# sourceMappingURL=attention-report.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"attention-report.d.ts","sourceRoot":"","sources":["../../src/tools/attention-report.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAErF,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;CAa/B,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,qBAAqB;;;;;;;;;;;;;;EAsE9B"}
@@ -1,73 +0,0 @@
1
- // SPDX-License-Identifier: FSL-1.1-Apache-2.0
2
- /**
3
- * attention_report tool
4
- *
5
- * Analyze where your attention goes vs. where your code needs it.
6
- */
7
- export const attentionReportTool = {
8
- name: "attention_report",
9
- description: `Analyze your attention allocation - where you focus vs. where your codebase needs attention. Identifies blind spots and engagement patterns.`,
10
- inputSchema: {
11
- type: "object",
12
- properties: {
13
- period_days: {
14
- type: "number",
15
- description: "Analysis period in days. Default: 7",
16
- default: 7,
17
- },
18
- },
19
- },
20
- };
21
- export function executeAttentionReport(db, params) {
22
- const rawDb = db.getRawDb();
23
- const days = params.period_days || 7;
24
- // Get engagement by topic from interactions + source items
25
- const engagementRows = rawDb
26
- .prepare(`SELECT si.source_type, COUNT(*) as interactions
27
- FROM interactions i
28
- JOIN source_items si ON i.source_item_id = si.id
29
- WHERE i.timestamp >= datetime('now', '-' || ? || ' days')
30
- GROUP BY si.source_type
31
- ORDER BY interactions DESC`)
32
- .all(days);
33
- // Get topic affinities (learned attention)
34
- const topicAffinities = rawDb
35
- .prepare(`SELECT topic, positive_signals, negative_signals,
36
- (positive_signals - negative_signals * 0.5) as attention_score
37
- FROM topic_affinities
38
- WHERE total_exposures > 0
39
- ORDER BY attention_score DESC
40
- LIMIT 15`)
41
- .all();
42
- // Get codebase topics from detected tech
43
- const codebaseTopics = rawDb
44
- .prepare(`SELECT name as topic, category, confidence
45
- FROM detected_tech
46
- ORDER BY confidence DESC
47
- LIMIT 15`)
48
- .all();
49
- // Identify blind spots: in codebase but low engagement
50
- const engagedTopics = new Set(topicAffinities
51
- .filter((t) => t.attention_score > 0)
52
- .map((t) => t.topic.toLowerCase()));
53
- const blindSpots = codebaseTopics
54
- .filter((ct) => !engagedTopics.has(ct.topic.toLowerCase()))
55
- .map((ct) => ({
56
- topic: ct.topic,
57
- in_codebase: true,
58
- engagement_level: 0,
59
- risk_level: ct.confidence > 0.8 ? "high" : "medium",
60
- gap_description: `${ct.topic} is in your codebase (${ct.category}) but has low engagement`,
61
- }));
62
- const totalInteractions = engagementRows.reduce((sum, r) => sum + r.interactions, 0);
63
- return {
64
- period_days: days,
65
- total_interactions: totalInteractions,
66
- engagement_by_source: engagementRows,
67
- topic_affinities: topicAffinities.slice(0, 10),
68
- codebase_topics: codebaseTopics,
69
- blind_spots: blindSpots,
70
- summary: `${totalInteractions} interactions over ${days} days, ${blindSpots.length} blind spot${blindSpots.length !== 1 ? "s" : ""} detected`,
71
- };
72
- }
73
- //# sourceMappingURL=attention-report.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"attention-report.js","sourceRoot":"","sources":["../../src/tools/attention-report.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C;;;;GAIG;AASH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,8IAA8I;IAC3J,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qCAAqC;gBAClD,OAAO,EAAE,CAAC;aACX;SACF;KACF;CACF,CAAC;AAEF,MAAM,UAAU,sBAAsB,CACpC,EAAkB,EAClB,MAA6B;IAE7B,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;IAErC,2DAA2D;IAC3D,MAAM,cAAc,GAAG,KAAK;SACzB,OAAO,CACN;;;;;kCAK4B,CAC7B;SACA,GAAG,CAAC,IAAI,CAAoB,CAAC;IAEhC,2CAA2C;IAC3C,MAAM,eAAe,GAAG,KAAK;SAC1B,OAAO,CACN;;;;;gBAKU,CACX;SACA,GAAG,EAAwB,CAAC;IAE/B,yCAAyC;IACzC,MAAM,cAAc,GAAG,KAAK;SACzB,OAAO,CACN;;;gBAGU,CACX;SACA,GAAG,EAAwB,CAAC;IAE/B,uDAAuD;IACvD,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,eAAe;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC;SACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CACrC,CAAC;IAEF,MAAM,UAAU,GAAG,cAAc;SAC9B,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;SAC1D,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACZ,KAAK,EAAE,EAAE,CAAC,KAAK;QACf,WAAW,EAAE,IAAI;QACjB,gBAAgB,EAAE,CAAC;QACnB,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;QACnD,eAAe,EAAE,GAAG,EAAE,CAAC,KAAK,yBAAyB,EAAE,CAAC,QAAQ,0BAA0B;KAC3F,CAAC,CAAC,CAAC;IAEN,MAAM,iBAAiB,GAAG,cAAc,CAAC,MAAM,CAC7C,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,YAAY,EAChC,CAAC,CACF,CAAC;IAEF,OAAO;QACL,WAAW,EAAE,IAAI;QACjB,kBAAkB,EAAE,iBAAiB;QACrC,oBAAoB,EAAE,cAAc;QACpC,gBAAgB,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAC9C,eAAe,EAAE,cAAc;QAC/B,WAAW,EAAE,UAAU;QACvB,OAAO,EAAE,GAAG,iBAAiB,sBAAsB,IAAI,UAAU,UAAU,CAAC,MAAM,cAAc,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW;KAC9I,CAAC;AACJ,CAAC"}
@@ -1,25 +0,0 @@
1
- /**
2
- * autophagy_status tool
3
- *
4
- * Intelligence metabolism status — autophagy cycles, calibrations, anti-patterns.
5
- */
6
- import type { FourDADatabase } from "../db.js";
7
- export interface AutophagyStatusParams {
8
- limit?: number;
9
- }
10
- export declare const autophagyStatusTool: {
11
- name: string;
12
- description: string;
13
- inputSchema: {
14
- type: "object";
15
- properties: {
16
- limit: {
17
- type: string;
18
- description: string;
19
- default: number;
20
- };
21
- };
22
- };
23
- };
24
- export declare function executeAutophagyStatus(db: FourDADatabase, params: AutophagyStatusParams): object;
25
- //# sourceMappingURL=autophagy-status.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"autophagy-status.d.ts","sourceRoot":"","sources":["../../src/tools/autophagy-status.ts"],"names":[],"mappings":"AACA;;;;GAIG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAmBD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;CAc/B,CAAC;AAOF,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,qBAAqB,GAAG,MAAM,CAwChG"}
@@ -1,56 +0,0 @@
1
- export const autophagyStatusTool = {
2
- name: "autophagy_status",
3
- description: "Get intelligence metabolism status — autophagy cycle history, calibration accuracy, anti-patterns detected, and scoring corrections applied",
4
- inputSchema: {
5
- type: "object",
6
- properties: {
7
- limit: {
8
- type: "number",
9
- description: "Maximum autophagy cycles to return. Default: 5",
10
- default: 5,
11
- },
12
- },
13
- },
14
- };
15
- function safeAll(rawDb, sql, ...args) {
16
- try {
17
- return rawDb.prepare(sql).all(...args);
18
- }
19
- catch {
20
- return [];
21
- } // Table may not exist yet
22
- }
23
- export function executeAutophagyStatus(db, params) {
24
- const rawDb = db.getRawDb();
25
- const limit = params.limit ?? 5;
26
- const cycles = safeAll(rawDb, `SELECT id, items_analyzed, calibrations_produced,
27
- anti_patterns_detected, duration_ms, created_at
28
- FROM autophagy_cycles ORDER BY created_at DESC LIMIT ?`, limit);
29
- const calibrations = safeAll(rawDb, `SELECT id, digest_type, content, confidence, created_at
30
- FROM digested_intelligence
31
- WHERE digest_type = 'calibration' AND superseded_by IS NULL
32
- ORDER BY created_at DESC`);
33
- const antiPatterns = safeAll(rawDb, `SELECT id, digest_type, content, confidence, created_at
34
- FROM digested_intelligence
35
- WHERE digest_type = 'anti_pattern' AND superseded_by IS NULL
36
- ORDER BY created_at DESC`);
37
- let totalCycles = 0;
38
- if (cycles.length > 0) {
39
- const row = rawDb.prepare("SELECT COUNT(*) as cnt FROM autophagy_cycles").get();
40
- totalCycles = row?.cnt ?? 0;
41
- }
42
- return {
43
- cycles,
44
- active_calibrations: calibrations,
45
- active_anti_patterns: antiPatterns,
46
- totals: {
47
- cycles_run: totalCycles,
48
- active_calibrations: calibrations.length,
49
- active_anti_patterns: antiPatterns.length,
50
- },
51
- summary: totalCycles === 0
52
- ? "No autophagy cycles have run yet. The metabolism system will activate as content accumulates."
53
- : `${totalCycles} cycles completed — ${calibrations.length} active calibrations, ${antiPatterns.length} active anti-patterns`,
54
- };
55
- }
56
- //# sourceMappingURL=autophagy-status.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"autophagy-status.js","sourceRoot":"","sources":["../../src/tools/autophagy-status.ts"],"names":[],"mappings":"AA6BA,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EACT,6IAA6I;IAC/I,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gDAAgD;gBAC7D,OAAO,EAAE,CAAC;aACX;SACF;KACF;CACF,CAAC;AAEF,SAAS,OAAO,CAAI,KAA6C,EAAE,GAAW,EAAE,GAAG,IAAe;IAChG,IAAI,CAAC;QAAC,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ,CAAC;IAAC,CAAC;IACtD,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC,CAAC,0BAA0B;AACjD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EAAkB,EAAE,MAA6B;IACtF,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;IAEhC,MAAM,MAAM,GAAG,OAAO,CAAW,KAAK,EACpC;;4DAEwD,EAAE,KAAK,CAAC,CAAC;IAEnE,MAAM,YAAY,GAAG,OAAO,CAAY,KAAK,EAC3C;;;8BAG0B,CAAC,CAAC;IAE9B,MAAM,YAAY,GAAG,OAAO,CAAY,KAAK,EAC3C;;;8BAG0B,CAAC,CAAC;IAE9B,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC,GAAG,EAAiC,CAAC;QAC/G,WAAW,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO;QACL,MAAM;QACN,mBAAmB,EAAE,YAAY;QACjC,oBAAoB,EAAE,YAAY;QAClC,MAAM,EAAE;YACN,UAAU,EAAE,WAAW;YACvB,mBAAmB,EAAE,YAAY,CAAC,MAAM;YACxC,oBAAoB,EAAE,YAAY,CAAC,MAAM;SAC1C;QACD,OAAO,EAAE,WAAW,KAAK,CAAC;YACxB,CAAC,CAAC,+FAA+F;YACjG,CAAC,CAAC,GAAG,WAAW,uBAAuB,YAAY,CAAC,MAAM,yBAAyB,YAAY,CAAC,MAAM,uBAAuB;KAChI,CAAC;AACJ,CAAC"}
@@ -1,30 +0,0 @@
1
- /**
2
- * compound_advantage tool
3
- *
4
- * Compound advantage score — measures how effectively you leverage
5
- * 4DA intelligence for time-sensitive decisions.
6
- *
7
- * Now integrates with AWE Wisdom Graph — derives a compound score from
8
- * decision volume, feedback coverage, principle density, and validation ratio.
9
- */
10
- import type { FourDADatabase } from "../db.js";
11
- export interface CompoundAdvantageParams {
12
- period?: string;
13
- }
14
- export declare const compoundAdvantageTool: {
15
- name: string;
16
- description: string;
17
- inputSchema: {
18
- type: "object";
19
- properties: {
20
- period: {
21
- type: string;
22
- enum: string[];
23
- description: string;
24
- default: string;
25
- };
26
- };
27
- };
28
- };
29
- export declare function executeCompoundAdvantage(db: FourDADatabase, params: CompoundAdvantageParams): object;
30
- //# sourceMappingURL=compound-advantage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compound-advantage.d.ts","sourceRoot":"","sources":["../../src/tools/compound-advantage.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAkD/C,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAYD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;CAejC,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAuFpG"}
@@ -1,133 +0,0 @@
1
- import { existsSync } from "node:fs";
2
- import { join } from "node:path";
3
- import { homedir } from "node:os";
4
- import Database from "better-sqlite3";
5
- function getAweWisdomStats() {
6
- try {
7
- const dbPath = process.platform === "win32"
8
- ? join(homedir(), "AppData", "Roaming", "awe", "wisdom.db")
9
- : join(homedir(), ".local", "share", "awe", "wisdom.db");
10
- if (!existsSync(dbPath))
11
- return null;
12
- const db = new Database(dbPath, { readonly: true });
13
- const count = (type) => db.prepare("SELECT COUNT(*) as cnt FROM wisdom_elements WHERE element_type = ?").get(type)?.cnt ?? 0;
14
- // Count validated decisions (HumanConfirmed or HumanEnriched in JSON data)
15
- let validated = 0;
16
- try {
17
- validated = db.prepare(`SELECT COUNT(*) as cnt FROM wisdom_elements
18
- WHERE element_type = 'decision'
19
- AND (data LIKE '%HumanConfirmed%' OR data LIKE '%HumanEnriched%')`).get()?.cnt ?? 0;
20
- }
21
- catch { /* validation_status may not exist in old data */ }
22
- const stats = {
23
- decisions: count("decision"),
24
- feedback: count("feedback"),
25
- principles: count("principle"),
26
- anti_patterns: count("anti_pattern"),
27
- validated,
28
- };
29
- db.close();
30
- return stats;
31
- }
32
- catch {
33
- return null;
34
- }
35
- }
36
- export const compoundAdvantageTool = {
37
- name: "compound_advantage",
38
- description: "Get compound advantage score — measures how effectively you leverage 4DA intelligence for time-sensitive decisions. Tracks response rate, lead time, calibration accuracy.",
39
- inputSchema: {
40
- type: "object",
41
- properties: {
42
- period: {
43
- type: "string",
44
- enum: ["weekly", "monthly"],
45
- description: "Scoring period. Default: weekly",
46
- default: "weekly",
47
- },
48
- },
49
- },
50
- };
51
- export function executeCompoundAdvantage(db, params) {
52
- const rawDb = db.getRawDb();
53
- const period = params.period ?? "weekly";
54
- // Latest two scores for trend computation
55
- let latestScore = null;
56
- let previousScore = null;
57
- try {
58
- const scores = rawDb.prepare(`SELECT id, period, score, response_rate, avg_lead_time_hours,
59
- calibration_accuracy, computed_at
60
- FROM advantage_score WHERE period = ?
61
- ORDER BY computed_at DESC LIMIT 2`).all(period);
62
- latestScore = scores[0] ?? null;
63
- previousScore = scores[1] ?? null;
64
- }
65
- catch { /* Table may not exist yet */ }
66
- // Decision window stats
67
- let total = 0, acted = 0, expired = 0;
68
- try {
69
- const s = rawDb.prepare(`SELECT COUNT(*) as total,
70
- SUM(CASE WHEN status = 'acted' THEN 1 ELSE 0 END) as acted,
71
- SUM(CASE WHEN status = 'expired' THEN 1 ELSE 0 END) as expired
72
- FROM decision_windows`).get();
73
- if (s) {
74
- total = s.total;
75
- acted = s.acted;
76
- expired = s.expired;
77
- }
78
- }
79
- catch { /* Table may not exist yet */ }
80
- // Trend
81
- let trend = "no_data";
82
- let trendDelta = null;
83
- if (latestScore && previousScore) {
84
- trendDelta = latestScore.score - previousScore.score;
85
- trend = trendDelta > 2 ? "improving" : trendDelta < -2 ? "declining" : "stable";
86
- }
87
- else if (latestScore) {
88
- trend = "baseline";
89
- }
90
- // AWE Wisdom Graph integration — derive compound score from decision quality data
91
- const aweStats = getAweWisdomStats();
92
- const aweComponents = aweStats ? {
93
- decision_volume: Math.min((aweStats.decisions || 0) / 100, 1.0),
94
- feedback_coverage: aweStats.decisions > 0
95
- ? (aweStats.feedback || 0) / aweStats.decisions
96
- : 0,
97
- principle_density: Math.min((aweStats.principles || 0) / 10, 1.0),
98
- validated_ratio: aweStats.decisions > 0
99
- ? Math.min((aweStats.validated || 0) / Math.max(aweStats.decisions, 1), 1.0)
100
- : 0,
101
- } : null;
102
- // Compute AWE-derived score (0-100) if no native score exists
103
- const aweScore = aweComponents
104
- ? Math.round(((aweComponents.decision_volume * 0.20) +
105
- (aweComponents.feedback_coverage * 0.30) +
106
- (aweComponents.principle_density * 0.25) +
107
- (aweComponents.validated_ratio * 0.25)) * 100)
108
- : null;
109
- const effectiveScore = latestScore?.score ?? aweScore;
110
- const effectiveComponents = latestScore ? {
111
- response_rate: latestScore.response_rate,
112
- avg_lead_time_hours: latestScore.avg_lead_time_hours,
113
- calibration_accuracy: latestScore.calibration_accuracy,
114
- } : aweComponents;
115
- return {
116
- score: effectiveScore,
117
- period,
118
- components: effectiveComponents,
119
- trend: { direction: trend, delta: trendDelta, previous_score: previousScore?.score ?? null },
120
- decision_windows: {
121
- total_opened: total,
122
- total_acted: acted,
123
- total_expired: expired,
124
- action_rate: total > 0 ? Math.round((acted / total) * 100) : null,
125
- },
126
- awe_stats: aweStats,
127
- computed_at: latestScore?.computed_at ?? (aweStats ? new Date().toISOString() : null),
128
- summary: effectiveScore != null
129
- ? `Compound advantage: ${effectiveScore}/100 (${trend}). ${aweStats ? `${aweStats.decisions} decisions, ${aweStats.principles} principles, ${aweStats.validated} validated.` : `${acted}/${total} windows acted on.`}`
130
- : "No compound advantage data yet. Record decisions and provide feedback to build your score.",
131
- };
132
- }
133
- //# sourceMappingURL=compound-advantage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compound-advantage.js","sourceRoot":"","sources":["../../src/tools/compound-advantage.ts"],"names":[],"mappings":"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"}
@@ -1,59 +0,0 @@
1
- /**
2
- * Config Validator Tool
3
- *
4
- * Validate and diagnose 4DA configuration issues.
5
- * This is a SUPERPOWER - it catches config errors before they cause problems.
6
- */
7
- import type { FourDADatabase } from "../db.js";
8
- export declare const configValidatorTool: {
9
- name: string;
10
- description: string;
11
- inputSchema: {
12
- type: string;
13
- properties: {
14
- section: {
15
- type: string;
16
- enum: string[];
17
- description: string;
18
- };
19
- fix_suggestions: {
20
- type: string;
21
- description: string;
22
- };
23
- };
24
- };
25
- };
26
- export interface ConfigValidatorParams {
27
- section?: "all" | "sources" | "embedding" | "llm" | "ace" | "digest" | "ui";
28
- fix_suggestions?: boolean;
29
- }
30
- interface ValidationIssue {
31
- section: string;
32
- field: string;
33
- severity: "error" | "warning" | "info";
34
- message: string;
35
- current_value: unknown;
36
- expected: string;
37
- fix?: string;
38
- }
39
- interface SectionValidation {
40
- section: string;
41
- status: "valid" | "warnings" | "errors";
42
- issue_count: number;
43
- issues: ValidationIssue[];
44
- }
45
- interface ConfigValidationResult {
46
- overall_status: "valid" | "warnings" | "errors";
47
- sections: SectionValidation[];
48
- summary: {
49
- total_issues: number;
50
- errors: number;
51
- warnings: number;
52
- info: number;
53
- };
54
- quick_fixes: string[];
55
- config_score: number;
56
- }
57
- export declare function executeConfigValidator(db: FourDADatabase, params: ConfigValidatorParams): ConfigValidationResult;
58
- export {};
59
- //# sourceMappingURL=config-validator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-validator.d.ts","sourceRoot":"","sources":["../../src/tools/config-validator.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;CAyB/B,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC;IAC5E,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,iBAAiB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,UAAU,sBAAsB;IAC9B,cAAc,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;IAChD,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AA+BD,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,qBAAqB,GAC5B,sBAAsB,CAyFxB"}