@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.
- package/LICENSE +201 -21
- package/README.md +63 -83
- package/dist/auth.js +1 -1
- package/dist/auth.js.map +1 -1
- package/dist/db.d.ts +46 -1
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +156 -36
- package/dist/db.js.map +1 -1
- package/dist/doctor.js +1 -1
- package/dist/doctor.js.map +1 -1
- package/dist/http-transport.js +1 -1
- package/dist/http-transport.js.map +1 -1
- package/dist/index.d.ts +9 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +49 -35
- package/dist/index.js.map +1 -1
- package/dist/live/cache.js +1 -1
- package/dist/live/cache.js.map +1 -1
- package/dist/live/crates-registry.js +1 -1
- package/dist/live/crates-registry.js.map +1 -1
- package/dist/live/go-registry.js +1 -1
- package/dist/live/go-registry.js.map +1 -1
- package/dist/live/hn-fetcher.js +1 -1
- package/dist/live/hn-fetcher.js.map +1 -1
- package/dist/live/http-utils.js +1 -1
- package/dist/live/http-utils.js.map +1 -1
- package/dist/live/index.d.ts +28 -0
- package/dist/live/index.d.ts.map +1 -1
- package/dist/live/index.js +63 -4
- package/dist/live/index.js.map +1 -1
- package/dist/live/npm-registry.js +1 -1
- package/dist/live/npm-registry.js.map +1 -1
- package/dist/live/osv-scanner.d.ts +4 -0
- package/dist/live/osv-scanner.d.ts.map +1 -1
- package/dist/live/osv-scanner.js +45 -40
- package/dist/live/osv-scanner.js.map +1 -1
- package/dist/live/pypi-registry.js +1 -1
- package/dist/live/pypi-registry.js.map +1 -1
- package/dist/live/rate-limiter.js +1 -1
- package/dist/live/rate-limiter.js.map +1 -1
- package/dist/live/semver-utils.js +1 -1
- package/dist/live/semver-utils.js.map +1 -1
- package/dist/live/types.d.ts +4 -0
- package/dist/live/types.d.ts.map +1 -1
- package/dist/live/types.js +1 -1
- package/dist/live/types.js.map +1 -1
- package/dist/live/version-resolver.d.ts +5 -0
- package/dist/live/version-resolver.d.ts.map +1 -1
- package/dist/live/version-resolver.js +64 -14
- package/dist/live/version-resolver.js.map +1 -1
- package/dist/live-singleton.js +1 -1
- package/dist/live-singleton.js.map +1 -1
- package/dist/llm.d.ts.map +1 -1
- package/dist/llm.js +13 -16
- package/dist/llm.js.map +1 -1
- package/dist/output-manager.js +1 -1
- package/dist/output-manager.js.map +1 -1
- package/dist/project-scanner.d.ts +5 -0
- package/dist/project-scanner.d.ts.map +1 -1
- package/dist/project-scanner.js +66 -10
- package/dist/project-scanner.js.map +1 -1
- package/dist/schema-registry.d.ts +4 -2
- package/dist/schema-registry.d.ts.map +1 -1
- package/dist/schema-registry.js +58 -238
- package/dist/schema-registry.js.map +1 -1
- package/dist/schemas/agent-memory.json +1 -1
- package/dist/schemas/decision-enforcement.json +1 -1
- package/dist/schemas/decision-memory.json +1 -1
- package/dist/schemas/dependency-health.json +1 -1
- package/dist/schemas/developer-dna.json +1 -1
- package/dist/schemas/ecosystem-pulse.json +1 -1
- package/dist/schemas/get-actionable-signals.json +1 -1
- package/dist/schemas/get-context.json +1 -1
- package/dist/schemas/get-relevant-content.json +1 -1
- package/dist/schemas/knowledge-gaps.json +1 -1
- package/dist/schemas/record-feedback.json +1 -1
- package/dist/schemas/upgrade-planner.json +1 -1
- package/dist/schemas/vulnerability-scan.json +2 -2
- package/dist/setup.js +1 -1
- package/dist/setup.js.map +1 -1
- package/dist/tool-dispatch.d.ts +1 -7
- package/dist/tool-dispatch.d.ts.map +1 -1
- package/dist/tool-dispatch.js +51 -50
- package/dist/tool-dispatch.js.map +1 -1
- package/dist/tools/agent-memory.js +1 -1
- package/dist/tools/agent-memory.js.map +1 -1
- package/dist/tools/decision-enforcement.js +1 -1
- package/dist/tools/decision-enforcement.js.map +1 -1
- package/dist/tools/decision-memory.d.ts +0 -2
- package/dist/tools/decision-memory.d.ts.map +1 -1
- package/dist/tools/decision-memory.js +1 -80
- package/dist/tools/decision-memory.js.map +1 -1
- package/dist/tools/dependency-health.js +1 -1
- package/dist/tools/dependency-health.js.map +1 -1
- package/dist/tools/developer-dna.js +1 -1
- package/dist/tools/developer-dna.js.map +1 -1
- package/dist/tools/ecosystem-pulse.js +1 -1
- package/dist/tools/ecosystem-pulse.js.map +1 -1
- package/dist/tools/get-actionable-signals.d.ts.map +1 -1
- package/dist/tools/get-actionable-signals.js +26 -1
- package/dist/tools/get-actionable-signals.js.map +1 -1
- package/dist/tools/get-context.js +1 -1
- package/dist/tools/get-context.js.map +1 -1
- package/dist/tools/get-relevant-content.js +1 -1
- package/dist/tools/get-relevant-content.js.map +1 -1
- package/dist/tools/index.d.ts +13 -42
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +19 -55
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/knowledge-gaps.js +1 -1
- package/dist/tools/knowledge-gaps.js.map +1 -1
- package/dist/tools/record-feedback.js +1 -1
- package/dist/tools/record-feedback.js.map +1 -1
- package/dist/tools/upgrade-planner.js +1 -1
- package/dist/tools/upgrade-planner.js.map +1 -1
- package/dist/tools/vulnerability-scan.d.ts +7 -3
- package/dist/tools/vulnerability-scan.d.ts.map +1 -1
- package/dist/tools/vulnerability-scan.js +19 -6
- package/dist/tools/vulnerability-scan.js.map +1 -1
- package/dist/tools/what-should-i-know.d.ts +3 -12
- package/dist/tools/what-should-i-know.d.ts.map +1 -1
- package/dist/tools/what-should-i-know.js +11 -171
- package/dist/tools/what-should-i-know.js.map +1 -1
- package/dist/types.d.ts +4 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +12 -8
- package/dist/schemas/agent-feedback-stats.json +0 -14
- package/dist/schemas/agent-session-brief.json +0 -25
- package/dist/schemas/attention-report.json +0 -13
- package/dist/schemas/autophagy-status.json +0 -13
- package/dist/schemas/compound-advantage.json +0 -14
- package/dist/schemas/config-validator.json +0 -18
- package/dist/schemas/context-analysis.json +0 -25
- package/dist/schemas/daily-briefing.json +0 -34
- package/dist/schemas/decision-windows.json +0 -22
- package/dist/schemas/delegation-score.json +0 -18
- package/dist/schemas/explain-relevance.json +0 -19
- package/dist/schemas/export-context.json +0 -17
- package/dist/schemas/llm-status.json +0 -13
- package/dist/schemas/preemption-feed.json +0 -18
- package/dist/schemas/project-health.json +0 -13
- package/dist/schemas/record-agent-feedback.json +0 -28
- package/dist/schemas/reverse-mentions.json +0 -13
- package/dist/schemas/score-autopsy.json +0 -30
- package/dist/schemas/semantic-shifts.json +0 -17
- package/dist/schemas/signal-chains.json +0 -19
- package/dist/schemas/source-health.json +0 -17
- package/dist/schemas/tech-radar.json +0 -23
- package/dist/schemas/topic-connections.json +0 -34
- package/dist/schemas/trend-analysis.json +0 -29
- package/dist/schemas/trust-summary.json +0 -13
- package/dist/tools/agent-feedback-stats.d.ts +0 -30
- package/dist/tools/agent-feedback-stats.d.ts.map +0 -1
- package/dist/tools/agent-feedback-stats.js +0 -41
- package/dist/tools/agent-feedback-stats.js.map +0 -1
- package/dist/tools/agent-session-brief.d.ts +0 -44
- package/dist/tools/agent-session-brief.d.ts.map +0 -1
- package/dist/tools/agent-session-brief.js +0 -179
- package/dist/tools/agent-session-brief.js.map +0 -1
- package/dist/tools/attention-report.d.ts +0 -40
- package/dist/tools/attention-report.d.ts.map +0 -1
- package/dist/tools/attention-report.js +0 -73
- package/dist/tools/attention-report.js.map +0 -1
- package/dist/tools/autophagy-status.d.ts +0 -25
- package/dist/tools/autophagy-status.d.ts.map +0 -1
- package/dist/tools/autophagy-status.js +0 -56
- package/dist/tools/autophagy-status.js.map +0 -1
- package/dist/tools/compound-advantage.d.ts +0 -30
- package/dist/tools/compound-advantage.d.ts.map +0 -1
- package/dist/tools/compound-advantage.js +0 -133
- package/dist/tools/compound-advantage.js.map +0 -1
- package/dist/tools/config-validator.d.ts +0 -59
- package/dist/tools/config-validator.d.ts.map +0 -1
- package/dist/tools/config-validator.js +0 -417
- package/dist/tools/config-validator.js.map +0 -1
- package/dist/tools/context-analysis.d.ts +0 -108
- package/dist/tools/context-analysis.d.ts.map +0 -1
- package/dist/tools/context-analysis.js +0 -301
- package/dist/tools/context-analysis.js.map +0 -1
- package/dist/tools/daily-briefing.d.ts +0 -103
- package/dist/tools/daily-briefing.d.ts.map +0 -1
- package/dist/tools/daily-briefing.js +0 -294
- package/dist/tools/daily-briefing.js.map +0 -1
- package/dist/tools/decision-windows.d.ts +0 -37
- package/dist/tools/decision-windows.d.ts.map +0 -1
- package/dist/tools/decision-windows.js +0 -67
- package/dist/tools/decision-windows.js.map +0 -1
- package/dist/tools/delegation-score.d.ts +0 -34
- package/dist/tools/delegation-score.d.ts.map +0 -1
- package/dist/tools/delegation-score.js +0 -260
- package/dist/tools/delegation-score.js.map +0 -1
- package/dist/tools/explain-relevance.d.ts +0 -36
- package/dist/tools/explain-relevance.d.ts.map +0 -1
- package/dist/tools/explain-relevance.js +0 -51
- package/dist/tools/explain-relevance.js.map +0 -1
- package/dist/tools/export-context.d.ts +0 -60
- package/dist/tools/export-context.d.ts.map +0 -1
- package/dist/tools/export-context.js +0 -179
- package/dist/tools/export-context.js.map +0 -1
- package/dist/tools/llm-status.d.ts +0 -45
- package/dist/tools/llm-status.d.ts.map +0 -1
- package/dist/tools/llm-status.js +0 -93
- package/dist/tools/llm-status.js.map +0 -1
- package/dist/tools/muse-context.d.ts +0 -195
- package/dist/tools/muse-context.d.ts.map +0 -1
- package/dist/tools/muse-context.js +0 -284
- package/dist/tools/muse-context.js.map +0 -1
- package/dist/tools/preemption-feed.d.ts +0 -55
- package/dist/tools/preemption-feed.d.ts.map +0 -1
- package/dist/tools/preemption-feed.js +0 -124
- package/dist/tools/preemption-feed.js.map +0 -1
- package/dist/tools/project-health.d.ts +0 -53
- package/dist/tools/project-health.d.ts.map +0 -1
- package/dist/tools/project-health.js +0 -122
- package/dist/tools/project-health.js.map +0 -1
- package/dist/tools/record-agent-feedback.d.ts +0 -46
- package/dist/tools/record-agent-feedback.d.ts.map +0 -1
- package/dist/tools/record-agent-feedback.js +0 -71
- package/dist/tools/record-agent-feedback.js.map +0 -1
- package/dist/tools/reverse-mentions.d.ts +0 -38
- package/dist/tools/reverse-mentions.d.ts.map +0 -1
- package/dist/tools/reverse-mentions.js +0 -75
- package/dist/tools/reverse-mentions.js.map +0 -1
- package/dist/tools/score-autopsy.d.ts +0 -93
- package/dist/tools/score-autopsy.d.ts.map +0 -1
- package/dist/tools/score-autopsy.js +0 -295
- package/dist/tools/score-autopsy.js.map +0 -1
- package/dist/tools/semantic-shifts.d.ts +0 -53
- package/dist/tools/semantic-shifts.d.ts.map +0 -1
- package/dist/tools/semantic-shifts.js +0 -74
- package/dist/tools/semantic-shifts.js.map +0 -1
- package/dist/tools/signal-chains.d.ts +0 -52
- package/dist/tools/signal-chains.d.ts.map +0 -1
- package/dist/tools/signal-chains.js +0 -63
- package/dist/tools/signal-chains.js.map +0 -1
- package/dist/tools/source-health.d.ts +0 -64
- package/dist/tools/source-health.d.ts.map +0 -1
- package/dist/tools/source-health.js +0 -205
- package/dist/tools/source-health.js.map +0 -1
- package/dist/tools/tech-radar.d.ts +0 -38
- package/dist/tools/tech-radar.d.ts.map +0 -1
- package/dist/tools/tech-radar.js +0 -249
- package/dist/tools/tech-radar.js.map +0 -1
- package/dist/tools/topic-connections.d.ts +0 -112
- package/dist/tools/topic-connections.d.ts.map +0 -1
- package/dist/tools/topic-connections.js +0 -319
- package/dist/tools/topic-connections.js.map +0 -1
- package/dist/tools/trend-analysis.d.ts +0 -105
- package/dist/tools/trend-analysis.d.ts.map +0 -1
- package/dist/tools/trend-analysis.js +0 -296
- package/dist/tools/trend-analysis.js.map +0 -1
- package/dist/tools/trust-summary.d.ts +0 -38
- package/dist/tools/trust-summary.d.ts.map +0 -1
- package/dist/tools/trust-summary.js +0 -89
- 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"}
|