@4da/mcp-server 3.2.0 → 4.0.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.
- package/LICENSE +21 -0
- package/README.md +160 -63
- package/dist/db.d.ts +27 -2
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +104 -1
- package/dist/db.js.map +1 -1
- package/dist/doctor.d.ts +15 -0
- package/dist/doctor.d.ts.map +1 -0
- package/dist/doctor.js +98 -0
- package/dist/doctor.js.map +1 -0
- package/dist/http-transport.d.ts +25 -0
- package/dist/http-transport.d.ts.map +1 -0
- package/dist/http-transport.js +126 -0
- package/dist/http-transport.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +130 -10
- package/dist/index.js.map +1 -1
- package/dist/llm.d.ts +20 -2
- package/dist/llm.d.ts.map +1 -1
- package/dist/llm.js +77 -20
- package/dist/llm.js.map +1 -1
- package/dist/schema-registry.d.ts.map +1 -1
- package/dist/schema-registry.js +44 -0
- package/dist/schema-registry.js.map +1 -1
- package/dist/schemas/agent-memory.json +49 -0
- package/dist/schemas/agent-session-brief.json +25 -0
- package/dist/schemas/attention-report.json +13 -0
- package/dist/schemas/autophagy-status.json +13 -0
- package/dist/schemas/compound-advantage.json +14 -0
- package/dist/schemas/decision-enforcement.json +22 -0
- package/dist/schemas/decision-memory.json +54 -0
- package/dist/schemas/decision-windows.json +22 -0
- package/dist/schemas/delegation-score.json +18 -0
- package/dist/schemas/developer-dna.json +219 -0
- package/dist/schemas/export-context.json +17 -0
- package/dist/schemas/knowledge-gaps.json +14 -0
- package/dist/schemas/project-health.json +13 -0
- package/dist/schemas/reverse-mentions.json +13 -0
- package/dist/schemas/semantic-shifts.json +17 -0
- package/dist/schemas/signal-chains.json +19 -0
- package/dist/schemas/tech-radar.json +23 -0
- package/dist/setup.d.ts +17 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +137 -0
- package/dist/setup.js.map +1 -0
- package/dist/tools/agent-memory.d.ts +94 -0
- package/dist/tools/agent-memory.d.ts.map +1 -0
- package/dist/tools/agent-memory.js +229 -0
- package/dist/tools/agent-memory.js.map +1 -0
- package/dist/tools/agent-session-brief.d.ts +44 -0
- package/dist/tools/agent-session-brief.d.ts.map +1 -0
- package/dist/tools/agent-session-brief.js +178 -0
- package/dist/tools/agent-session-brief.js.map +1 -0
- package/dist/tools/attention-report.d.ts +6 -5
- package/dist/tools/attention-report.d.ts.map +1 -1
- package/dist/tools/attention-report.js.map +1 -1
- package/dist/tools/autophagy-status.d.ts +25 -0
- package/dist/tools/autophagy-status.d.ts.map +1 -0
- package/dist/tools/autophagy-status.js +56 -0
- package/dist/tools/autophagy-status.js.map +1 -0
- package/dist/tools/compound-advantage.d.ts +27 -0
- package/dist/tools/compound-advantage.d.ts.map +1 -0
- package/dist/tools/compound-advantage.js +76 -0
- package/dist/tools/compound-advantage.js.map +1 -0
- package/dist/tools/decision-enforcement.d.ts +59 -0
- package/dist/tools/decision-enforcement.d.ts.map +1 -0
- package/dist/tools/decision-enforcement.js +184 -0
- package/dist/tools/decision-enforcement.js.map +1 -0
- package/dist/tools/decision-memory.d.ts +130 -0
- package/dist/tools/decision-memory.d.ts.map +1 -0
- package/dist/tools/decision-memory.js +265 -0
- package/dist/tools/decision-memory.js.map +1 -0
- package/dist/tools/decision-windows.d.ts +37 -0
- package/dist/tools/decision-windows.d.ts.map +1 -0
- package/dist/tools/decision-windows.js +67 -0
- package/dist/tools/decision-windows.js.map +1 -0
- package/dist/tools/delegation-score.d.ts +34 -0
- package/dist/tools/delegation-score.d.ts.map +1 -0
- package/dist/tools/delegation-score.js +250 -0
- package/dist/tools/delegation-score.js.map +1 -0
- package/dist/tools/developer-dna.d.ts +79 -0
- package/dist/tools/developer-dna.d.ts.map +1 -0
- package/dist/tools/developer-dna.js +377 -0
- package/dist/tools/developer-dna.js.map +1 -0
- package/dist/tools/export-context.d.ts +14 -6
- package/dist/tools/export-context.d.ts.map +1 -1
- package/dist/tools/export-context.js +13 -13
- package/dist/tools/export-context.js.map +1 -1
- package/dist/tools/index.d.ts +10 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +14 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/knowledge-gaps.d.ts +11 -1
- package/dist/tools/knowledge-gaps.d.ts.map +1 -1
- package/dist/tools/knowledge-gaps.js.map +1 -1
- package/dist/tools/project-health.d.ts +6 -6
- package/dist/tools/project-health.d.ts.map +1 -1
- package/dist/tools/project-health.js +1 -1
- package/dist/tools/project-health.js.map +1 -1
- package/dist/tools/reverse-mentions.d.ts +8 -8
- package/dist/tools/reverse-mentions.d.ts.map +1 -1
- package/dist/tools/reverse-mentions.js.map +1 -1
- package/dist/tools/semantic-shifts.d.ts +17 -1
- package/dist/tools/semantic-shifts.d.ts.map +1 -1
- package/dist/tools/semantic-shifts.js.map +1 -1
- package/dist/tools/signal-chains.d.ts +14 -7
- package/dist/tools/signal-chains.d.ts.map +1 -1
- package/dist/tools/signal-chains.js.map +1 -1
- package/dist/tools/tech-radar.d.ts +38 -0
- package/dist/tools/tech-radar.d.ts.map +1 -0
- package/dist/tools/tech-radar.js +248 -0
- package/dist/tools/tech-radar.js.map +1 -0
- package/dist/types.d.ts +109 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +26 -14
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025-2026 Antony Lawrence Kiddie Pasifa
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,104 +1,212 @@
|
|
|
1
1
|
# @4da/mcp-server
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Your AI coding assistant doesn't know what you're working on. It doesn't know your tech stack, your dependencies, or that the library you're debating has a critical CVE from yesterday. It writes code in a vacuum.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
This MCP server fixes that. It connects your AI tools to a local intelligence engine that scans your actual codebase — your `Cargo.toml`, `package.json`, `go.mod` — and continuously scores content from 11 sources (Hacker News, arXiv, Reddit, GitHub, and more) against what you actually build with. 30 tools. Everything stays on your machine.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
```
|
|
8
|
+
You: "Are there any security issues in my dependencies?"
|
|
9
|
+
Claude: [calls knowledge_gaps, project_health, get_actionable_signals]
|
|
10
|
+
"Yes — the `serde` crate you use in 3 projects has a new advisory
|
|
11
|
+
(RUSTSEC-2026-0012). Here's the migration path..."
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## How It Works
|
|
15
|
+
|
|
16
|
+
[4DA](https://4da.ai) is a desktop app that runs quietly in the background. It scans your projects, watches your Git activity, and scores every piece of incoming content across 5 independent axes:
|
|
17
|
+
|
|
18
|
+
| Axis | Signal |
|
|
19
|
+
|------|--------|
|
|
20
|
+
| **Context** | Semantic similarity to your active codebase |
|
|
21
|
+
| **Interest** | Alignment with your declared and learned topics |
|
|
22
|
+
| **ACE** | Real-time signals from your Git commits and file edits |
|
|
23
|
+
| **Dependency** | Direct matches against your installed packages |
|
|
24
|
+
| **Learned** | Behavioral patterns from your save/dismiss feedback |
|
|
25
|
+
|
|
26
|
+
An item needs 2+ independent signals to pass the confirmation gate. Typical rejection rate: **99%+**. What survives is genuinely relevant to you.
|
|
27
|
+
|
|
28
|
+
This MCP server exposes that intelligence to any AI tool that speaks MCP.
|
|
29
|
+
|
|
30
|
+
## Setup
|
|
31
|
+
|
|
32
|
+
### 1. Install the intelligence engine
|
|
33
|
+
|
|
34
|
+
Download [4DA](https://4da.ai) for your platform (Windows, macOS, Linux). Open it, point it at your project directories, and let it run its first scan. Takes about 3 minutes.
|
|
35
|
+
|
|
36
|
+
### 2. Add the MCP server to your editor
|
|
37
|
+
|
|
38
|
+
**One command** (auto-detects Claude Code, Cursor, VS Code):
|
|
39
|
+
```bash
|
|
40
|
+
npx @4da/mcp-server --setup
|
|
41
|
+
```
|
|
8
42
|
|
|
9
|
-
|
|
43
|
+
Or manually:
|
|
10
44
|
|
|
11
|
-
|
|
45
|
+
<details>
|
|
46
|
+
<summary>Claude Code</summary>
|
|
12
47
|
|
|
13
48
|
```bash
|
|
14
|
-
|
|
15
|
-
claude mcp add 4da node /path/to/mcp-4da-server/dist/index.js
|
|
49
|
+
claude mcp add 4da -- npx @4da/mcp-server
|
|
16
50
|
```
|
|
51
|
+
</details>
|
|
52
|
+
|
|
53
|
+
<details>
|
|
54
|
+
<summary>Cursor / Windsurf</summary>
|
|
17
55
|
|
|
18
|
-
|
|
56
|
+
Add to `~/.cursor/mcp.json`:
|
|
19
57
|
```json
|
|
20
58
|
{
|
|
21
59
|
"mcpServers": {
|
|
22
60
|
"4da": {
|
|
23
|
-
"command": "
|
|
24
|
-
"args": ["/
|
|
25
|
-
"env": {
|
|
26
|
-
"FOURDA_DB_PATH": "/path/to/4da-v3/data/4da.db"
|
|
27
|
-
}
|
|
61
|
+
"command": "npx",
|
|
62
|
+
"args": ["@4da/mcp-server"]
|
|
28
63
|
}
|
|
29
64
|
}
|
|
30
65
|
}
|
|
31
66
|
```
|
|
67
|
+
</details>
|
|
32
68
|
|
|
33
|
-
|
|
69
|
+
<details>
|
|
70
|
+
<summary>VS Code (Copilot)</summary>
|
|
34
71
|
|
|
35
|
-
Add to
|
|
72
|
+
Add to `~/.vscode/mcp.json`:
|
|
36
73
|
```json
|
|
37
74
|
{
|
|
38
|
-
"
|
|
75
|
+
"servers": {
|
|
39
76
|
"4da": {
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"FOURDA_DB_PATH": "/path/to/4da-v3/data/4da.db"
|
|
44
|
-
}
|
|
77
|
+
"type": "stdio",
|
|
78
|
+
"command": "npx",
|
|
79
|
+
"args": ["@4da/mcp-server"]
|
|
45
80
|
}
|
|
46
81
|
}
|
|
47
82
|
}
|
|
48
83
|
```
|
|
84
|
+
</details>
|
|
49
85
|
|
|
50
|
-
|
|
86
|
+
<details>
|
|
87
|
+
<summary>Claude Desktop</summary>
|
|
51
88
|
|
|
52
|
-
Add to
|
|
89
|
+
Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
|
|
53
90
|
```json
|
|
54
91
|
{
|
|
55
92
|
"mcpServers": {
|
|
56
93
|
"4da": {
|
|
57
|
-
"command": "
|
|
58
|
-
"args": ["/
|
|
59
|
-
"env": {
|
|
60
|
-
"FOURDA_DB_PATH": "/path/to/4da-v3/data/4da.db"
|
|
61
|
-
}
|
|
94
|
+
"command": "npx",
|
|
95
|
+
"args": ["@4da/mcp-server"]
|
|
62
96
|
}
|
|
63
97
|
}
|
|
64
98
|
}
|
|
65
99
|
```
|
|
100
|
+
</details>
|
|
101
|
+
|
|
102
|
+
### 3. Ask your AI anything
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
"What's relevant to my current project?"
|
|
106
|
+
"Any breaking changes in my dependencies?"
|
|
107
|
+
"Give me today's briefing"
|
|
108
|
+
"Why was this Rust async article scored so high for me?"
|
|
109
|
+
"What knowledge gaps do I have?"
|
|
110
|
+
"Export my Developer DNA"
|
|
111
|
+
```
|
|
66
112
|
|
|
67
|
-
|
|
113
|
+
Your AI calls the right tools automatically. No configuration needed — 4DA already knows your stack.
|
|
114
|
+
|
|
115
|
+
## Tools (30)
|
|
68
116
|
|
|
69
117
|
### Core
|
|
70
118
|
|
|
71
|
-
| Tool |
|
|
119
|
+
| Tool | What it does |
|
|
72
120
|
|------|-------------|
|
|
73
|
-
| `get_relevant_content` |
|
|
74
|
-
| `get_context` |
|
|
75
|
-
| `explain_relevance` | Why a specific item
|
|
76
|
-
| `record_feedback` | Teach 4DA — save, dismiss, or mark items irrelevant |
|
|
121
|
+
| `get_relevant_content` | Your filtered feed — only items that passed the 5-axis scoring gate |
|
|
122
|
+
| `get_context` | What 4DA knows about you: stack, interests, learned affinities, ACE-detected topics |
|
|
123
|
+
| `explain_relevance` | Why a specific item scored the way it did — full axis breakdown |
|
|
124
|
+
| `record_feedback` | Teach 4DA what matters — save, dismiss, or mark items irrelevant |
|
|
77
125
|
|
|
78
126
|
### Intelligence
|
|
79
127
|
|
|
80
|
-
| Tool |
|
|
128
|
+
| Tool | What it does |
|
|
81
129
|
|------|-------------|
|
|
82
|
-
| `
|
|
83
|
-
| `
|
|
84
|
-
| `score_autopsy` |
|
|
85
|
-
| `trend_analysis` | Statistical patterns and
|
|
86
|
-
| `context_analysis` | Recommendations to
|
|
87
|
-
| `topic_connections` | Knowledge graph
|
|
130
|
+
| `daily_briefing` | AI-generated executive summary of your discoveries |
|
|
131
|
+
| `get_actionable_signals` | Classified alerts: security advisories, breaking changes, new tools, trending repos |
|
|
132
|
+
| `score_autopsy` | Deep forensic analysis of how any item's score was computed |
|
|
133
|
+
| `trend_analysis` | Statistical patterns, anomalies, and predictions across your feed |
|
|
134
|
+
| `context_analysis` | Recommendations to sharpen your context for better scoring |
|
|
135
|
+
| `topic_connections` | Knowledge graph showing how your content topics relate |
|
|
136
|
+
| `signal_chains` | Causal chains connecting related events across sources over time |
|
|
137
|
+
| `semantic_shifts` | Detects when topics you follow are changing in meaning or sentiment |
|
|
138
|
+
| `attention_report` | Where you spend attention vs. where your codebase needs it |
|
|
88
139
|
|
|
89
140
|
### Diagnostic
|
|
90
141
|
|
|
91
|
-
| Tool |
|
|
142
|
+
| Tool | What it does |
|
|
143
|
+
|------|-------------|
|
|
144
|
+
| `source_health` | Diagnose source fetching and data quality issues |
|
|
145
|
+
| `config_validator` | Validate configuration and detect issues |
|
|
146
|
+
| `llm_status` | Check LLM/Ollama configuration and availability |
|
|
147
|
+
|
|
148
|
+
### Knowledge & Health
|
|
149
|
+
|
|
150
|
+
| Tool | What it does |
|
|
92
151
|
|------|-------------|
|
|
93
|
-
| `
|
|
94
|
-
| `
|
|
95
|
-
| `
|
|
152
|
+
| `knowledge_gaps` | Blind spots — dependencies you use but never read about |
|
|
153
|
+
| `project_health` | Dependency freshness, security advisories, update urgency |
|
|
154
|
+
| `reverse_mentions` | Where your projects are being discussed across monitored sources |
|
|
155
|
+
| `export_context_packet` | Portable snapshot of your context for session handoff |
|
|
156
|
+
|
|
157
|
+
### Decision Intelligence
|
|
158
|
+
|
|
159
|
+
| Tool | What it does |
|
|
160
|
+
|------|-------------|
|
|
161
|
+
| `decision_memory` | Record, query, and enforce architectural decisions across sessions |
|
|
162
|
+
| `tech_radar` | Technology adoption signals derived from your decisions + content trends |
|
|
163
|
+
| `check_decision_alignment` | Check if a proposed change aligns with your recorded decisions |
|
|
164
|
+
|
|
165
|
+
### Agent Autonomy
|
|
166
|
+
|
|
167
|
+
| Tool | What it does |
|
|
168
|
+
|------|-------------|
|
|
169
|
+
| `agent_memory` | Persistent memory that survives across sessions and agents |
|
|
170
|
+
| `agent_session_brief` | Tailored startup context so agents don't start cold |
|
|
171
|
+
| `delegation_score` | Should the agent proceed autonomously or ask you? |
|
|
172
|
+
|
|
173
|
+
### Developer DNA
|
|
174
|
+
|
|
175
|
+
| Tool | What it does |
|
|
176
|
+
|------|-------------|
|
|
177
|
+
| `developer_dna` | Your tech identity — primary stack, dependencies, engagement patterns, blind spots |
|
|
178
|
+
|
|
179
|
+
### Intelligence Metabolism
|
|
180
|
+
|
|
181
|
+
| Tool | What it does |
|
|
182
|
+
|------|-------------|
|
|
183
|
+
| `autophagy_status` | Intelligence metabolism status — autophagy cycles, calibration accuracy, anti-patterns |
|
|
184
|
+
| `decision_windows` | Time-bounded decision opportunities requiring your attention |
|
|
185
|
+
| `compound_advantage` | Compound advantage score — measures intelligence leverage for decisions |
|
|
186
|
+
|
|
187
|
+
## Transports
|
|
188
|
+
|
|
189
|
+
**stdio** (default) — works with all MCP hosts:
|
|
190
|
+
```bash
|
|
191
|
+
npx @4da/mcp-server
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
**Streamable HTTP** — for remote or multi-client setups:
|
|
195
|
+
```bash
|
|
196
|
+
npx @4da/mcp-server --http --port 4840
|
|
197
|
+
```
|
|
96
198
|
|
|
97
199
|
## Environment Variables
|
|
98
200
|
|
|
99
201
|
| Variable | Description | Default |
|
|
100
202
|
|----------|-------------|---------|
|
|
101
|
-
| `FOURDA_DB_PATH` | Path to 4DA's SQLite database | Auto-detected from
|
|
203
|
+
| `FOURDA_DB_PATH` | Path to 4DA's SQLite database | Auto-detected from standard install locations |
|
|
204
|
+
|
|
205
|
+
## What Makes This Different
|
|
206
|
+
|
|
207
|
+
Most MCP servers connect your AI to a cloud API. This one connects it to **you** — your local codebase, your dependencies, your Git history, your architectural decisions. Nothing leaves your machine. The AI gets smarter about your work without any data going anywhere.
|
|
208
|
+
|
|
209
|
+
30 tools is not typical. Most MCP servers expose 1-5 endpoints. This is a full intelligence layer — from raw content scoring to decision enforcement to knowledge gap detection. It's not a wrapper around someone else's API. It's a read layer on top of a scoring engine that rejects 99% of everything it sees, so what your AI gets is what actually matters to you.
|
|
102
210
|
|
|
103
211
|
## Build from Source
|
|
104
212
|
|
|
@@ -111,25 +219,14 @@ pnpm build
|
|
|
111
219
|
## Test
|
|
112
220
|
|
|
113
221
|
```bash
|
|
114
|
-
#
|
|
115
|
-
pnpm run inspect
|
|
116
|
-
|
|
117
|
-
# Direct JSON-RPC
|
|
118
|
-
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node dist/index.js
|
|
222
|
+
pnpm test # Contract tests (71 tests)
|
|
223
|
+
pnpm run inspect # MCP Inspector (interactive browser UI)
|
|
119
224
|
```
|
|
120
225
|
|
|
121
|
-
##
|
|
122
|
-
|
|
123
|
-
Once configured, you can ask Claude:
|
|
124
|
-
|
|
125
|
-
- "What did 4DA find for me today?"
|
|
126
|
-
- "Are there any security alerts in my feed?"
|
|
127
|
-
- "Give me a briefing on what's relevant to my current project"
|
|
128
|
-
- "Why was this item scored highly?"
|
|
129
|
-
- "What are the trending topics in my domain?"
|
|
226
|
+
## License
|
|
130
227
|
|
|
131
|
-
|
|
228
|
+
MIT — use it anywhere, integrate it with anything.
|
|
132
229
|
|
|
133
|
-
|
|
230
|
+
---
|
|
134
231
|
|
|
135
|
-
|
|
232
|
+
Built by [4DA](https://4da.ai) — privacy-first developer intelligence. All signal. No feed.
|
package/dist/db.d.ts
CHANGED
|
@@ -4,22 +4,47 @@
|
|
|
4
4
|
* Read-only access to the 4DA SQLite database.
|
|
5
5
|
* Only the record_feedback function performs writes.
|
|
6
6
|
*/
|
|
7
|
-
import
|
|
7
|
+
import type BetterSqlite3 from "better-sqlite3";
|
|
8
8
|
import type { SourceItem, RelevantItem, UserContext, RelevanceExplanation, FeedbackAction, FeedbackResult } from "./types.js";
|
|
9
|
+
export interface DatabaseValidationResult {
|
|
10
|
+
valid: boolean;
|
|
11
|
+
error?: string;
|
|
12
|
+
tables?: string[];
|
|
13
|
+
}
|
|
9
14
|
/**
|
|
10
15
|
* 4DA Database accessor
|
|
11
16
|
*/
|
|
12
17
|
export declare class FourDADatabase {
|
|
13
18
|
private db;
|
|
14
19
|
constructor(dbPath?: string);
|
|
20
|
+
/**
|
|
21
|
+
* Validate that a database file exists, is readable, and passes integrity checks.
|
|
22
|
+
*
|
|
23
|
+
* Use this before accepting tool calls to ensure the database is in a good state.
|
|
24
|
+
*
|
|
25
|
+
* @param dbPath - Path to the database file. If omitted, uses the default resolution.
|
|
26
|
+
* @returns Validation result with table list on success, or error details on failure.
|
|
27
|
+
*/
|
|
28
|
+
static validateDatabase(dbPath?: string): DatabaseValidationResult;
|
|
15
29
|
/**
|
|
16
30
|
* Get the raw better-sqlite3 database instance for custom queries
|
|
17
31
|
*/
|
|
18
|
-
getRawDb():
|
|
32
|
+
getRawDb(): BetterSqlite3.Database;
|
|
19
33
|
/**
|
|
20
34
|
* Close the database connection
|
|
21
35
|
*/
|
|
22
36
|
close(): void;
|
|
37
|
+
/**
|
|
38
|
+
* Execute a database operation with retry logic for SQLITE_BUSY / SQLITE_LOCKED.
|
|
39
|
+
*
|
|
40
|
+
* better-sqlite3 is synchronous, so contention with the Tauri backend (which
|
|
41
|
+
* also writes to the same WAL database) can occasionally surface as BUSY/LOCKED.
|
|
42
|
+
* A single retry after a short pause is sufficient in practice.
|
|
43
|
+
*
|
|
44
|
+
* @param fn - The synchronous database operation to execute.
|
|
45
|
+
* @param maxRetries - Maximum number of retries (default: 1).
|
|
46
|
+
*/
|
|
47
|
+
queryWithRetry<T>(fn: () => T, maxRetries?: number): T;
|
|
23
48
|
/**
|
|
24
49
|
* Get relevant content items with computed relevance scores
|
|
25
50
|
*/
|
package/dist/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAC;AAsBhD,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EAMZ,WAAW,EAGX,oBAAoB,EACpB,cAAc,EACd,cAAc,EACf,MAAM,YAAY,CAAC;AAqEpB,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,EAAE,CAAyB;gBAEvB,MAAM,CAAC,EAAE,MAAM;IAkB3B;;;;;;;OAOG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,wBAAwB;IAyDlE;;OAEG;IACH,QAAQ,IAAI,aAAa,CAAC,QAAQ;IAIlC;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;;;;;;;;OASG;IACH,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,UAAU,GAAE,MAAU,GAAG,CAAC;IAqBzD;;OAEG;IACH,kBAAkB,CAChB,QAAQ,GAAE,MAAa,EACvB,UAAU,CAAC,EAAE,MAAM,EACnB,KAAK,GAAE,MAAW,EAClB,UAAU,GAAE,MAAW,GACtB,YAAY,EAAE;IAiEjB;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAapE;;OAEG;IACH,cAAc,CAAC,UAAU,GAAE,OAAc,EAAE,cAAc,GAAE,OAAc,GAAG,WAAW;IA0GvF;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAsIjF;;OAEG;IACH,cAAc,CACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,cAAc,GACrB,cAAc;IA2CjB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAoE7B;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAQpB;;OAEG;IACH,OAAO,CAAC,UAAU;CA8FnB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAE9D"}
|
package/dist/db.js
CHANGED
|
@@ -4,12 +4,27 @@
|
|
|
4
4
|
* Read-only access to the 4DA SQLite database.
|
|
5
5
|
* Only the record_feedback function performs writes.
|
|
6
6
|
*/
|
|
7
|
-
import Database from "better-sqlite3";
|
|
8
7
|
import path from "path";
|
|
9
8
|
import * as fs from "fs";
|
|
10
9
|
import * as os from "os";
|
|
11
10
|
import { fileURLToPath } from "node:url";
|
|
12
11
|
import { dirname } from "node:path";
|
|
12
|
+
let Database;
|
|
13
|
+
try {
|
|
14
|
+
Database = (await import("better-sqlite3")).default;
|
|
15
|
+
}
|
|
16
|
+
catch (err) {
|
|
17
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
18
|
+
console.error("\n [4DA] Failed to load better-sqlite3 native bindings.\n\n" +
|
|
19
|
+
" This usually means your system is missing C++ build tools.\n" +
|
|
20
|
+
" Install the appropriate tools for your platform:\n\n" +
|
|
21
|
+
" macOS: xcode-select --install\n" +
|
|
22
|
+
" Ubuntu: sudo apt install build-essential python3\n" +
|
|
23
|
+
" Windows: npm install -g windows-build-tools\n\n" +
|
|
24
|
+
` Error: ${msg}\n\n` +
|
|
25
|
+
" After installing build tools, run: npm rebuild better-sqlite3\n");
|
|
26
|
+
process.exit(1);
|
|
27
|
+
}
|
|
13
28
|
const __filename = fileURLToPath(import.meta.url);
|
|
14
29
|
const __dirname = dirname(__filename);
|
|
15
30
|
/**
|
|
@@ -72,6 +87,67 @@ export class FourDADatabase {
|
|
|
72
87
|
throw new Error(`Failed to open 4DA database at ${absolutePath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
73
88
|
}
|
|
74
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* Validate that a database file exists, is readable, and passes integrity checks.
|
|
92
|
+
*
|
|
93
|
+
* Use this before accepting tool calls to ensure the database is in a good state.
|
|
94
|
+
*
|
|
95
|
+
* @param dbPath - Path to the database file. If omitted, uses the default resolution.
|
|
96
|
+
* @returns Validation result with table list on success, or error details on failure.
|
|
97
|
+
*/
|
|
98
|
+
static validateDatabase(dbPath) {
|
|
99
|
+
const resolvedPath = dbPath || getDefaultDbPath();
|
|
100
|
+
const absolutePath = path.isAbsolute(resolvedPath)
|
|
101
|
+
? resolvedPath
|
|
102
|
+
: path.resolve(process.cwd(), resolvedPath);
|
|
103
|
+
// Check if file exists and is readable
|
|
104
|
+
if (!fs.existsSync(absolutePath)) {
|
|
105
|
+
return {
|
|
106
|
+
valid: false,
|
|
107
|
+
error: `Database file not found at ${absolutePath}. `
|
|
108
|
+
+ "Run 4DA at least once to create the database, or set FOURDA_DB_PATH "
|
|
109
|
+
+ "to the correct location.",
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
// Try to open and run integrity check
|
|
113
|
+
let testDb = null;
|
|
114
|
+
try {
|
|
115
|
+
testDb = new Database(absolutePath, { readonly: true });
|
|
116
|
+
// Run integrity check
|
|
117
|
+
const integrityResult = testDb.pragma("integrity_check");
|
|
118
|
+
const integrityStatus = integrityResult[0]?.integrity_check;
|
|
119
|
+
if (integrityStatus !== "ok") {
|
|
120
|
+
return {
|
|
121
|
+
valid: false,
|
|
122
|
+
error: `Database integrity check failed: ${integrityStatus}. `
|
|
123
|
+
+ "The database file may be corrupt. Try deleting data/4da.db and restarting 4DA.",
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
// List tables
|
|
127
|
+
const tables = testDb
|
|
128
|
+
.prepare("SELECT name FROM sqlite_master WHERE type='table' ORDER BY name")
|
|
129
|
+
.all();
|
|
130
|
+
return {
|
|
131
|
+
valid: true,
|
|
132
|
+
tables: tables.map((t) => t.name),
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
return {
|
|
137
|
+
valid: false,
|
|
138
|
+
error: `Failed to open database at ${absolutePath}: `
|
|
139
|
+
+ (error instanceof Error ? error.message : String(error)),
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
finally {
|
|
143
|
+
try {
|
|
144
|
+
testDb?.close();
|
|
145
|
+
}
|
|
146
|
+
catch {
|
|
147
|
+
// Ignore close errors during validation
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
75
151
|
/**
|
|
76
152
|
* Get the raw better-sqlite3 database instance for custom queries
|
|
77
153
|
*/
|
|
@@ -84,6 +160,33 @@ export class FourDADatabase {
|
|
|
84
160
|
close() {
|
|
85
161
|
this.db.close();
|
|
86
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* Execute a database operation with retry logic for SQLITE_BUSY / SQLITE_LOCKED.
|
|
165
|
+
*
|
|
166
|
+
* better-sqlite3 is synchronous, so contention with the Tauri backend (which
|
|
167
|
+
* also writes to the same WAL database) can occasionally surface as BUSY/LOCKED.
|
|
168
|
+
* A single retry after a short pause is sufficient in practice.
|
|
169
|
+
*
|
|
170
|
+
* @param fn - The synchronous database operation to execute.
|
|
171
|
+
* @param maxRetries - Maximum number of retries (default: 1).
|
|
172
|
+
*/
|
|
173
|
+
queryWithRetry(fn, maxRetries = 1) {
|
|
174
|
+
try {
|
|
175
|
+
return fn();
|
|
176
|
+
}
|
|
177
|
+
catch (error) {
|
|
178
|
+
const code = error.code;
|
|
179
|
+
if (maxRetries > 0 && (code === "SQLITE_BUSY" || code === "SQLITE_LOCKED")) {
|
|
180
|
+
// Busy-wait for 100ms then retry
|
|
181
|
+
const start = Date.now();
|
|
182
|
+
while (Date.now() - start < 100) {
|
|
183
|
+
/* busy wait */
|
|
184
|
+
}
|
|
185
|
+
return this.queryWithRetry(fn, maxRetries - 1);
|
|
186
|
+
}
|
|
187
|
+
throw error;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
87
190
|
// ===========================================================================
|
|
88
191
|
// Source Items
|
|
89
192
|
// ===========================================================================
|
package/dist/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
|
package/dist/doctor.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 4DA MCP Doctor — Installation health checker
|
|
3
|
+
*
|
|
4
|
+
* Validates that the MCP server can run correctly:
|
|
5
|
+
* 1. Node.js version is sufficient
|
|
6
|
+
* 2. Native bindings (better-sqlite3) load successfully
|
|
7
|
+
* 3. Database is found and readable
|
|
8
|
+
* 4. LLM providers are configured (optional)
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* npx @4da/mcp-server --doctor
|
|
12
|
+
* 4da-mcp --doctor
|
|
13
|
+
*/
|
|
14
|
+
export declare function runDoctor(): void;
|
|
15
|
+
//# sourceMappingURL=doctor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAWH,wBAAgB,SAAS,IAAI,IAAI,CAyFhC"}
|