@hiveforge/hivemind-mcp 2.2.0 → 2.4.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 (77) hide show
  1. package/README.md +114 -25
  2. package/dist/cli.js +193 -2
  3. package/dist/cli.js.map +1 -1
  4. package/dist/graph/builder.d.ts +7 -3
  5. package/dist/graph/builder.d.ts.map +1 -1
  6. package/dist/graph/builder.js +51 -21
  7. package/dist/graph/builder.js.map +1 -1
  8. package/dist/mcp/index.d.ts +8 -0
  9. package/dist/mcp/index.d.ts.map +1 -0
  10. package/dist/mcp/index.js +8 -0
  11. package/dist/mcp/index.js.map +1 -0
  12. package/dist/mcp/tool-generator.d.ts +110 -0
  13. package/dist/mcp/tool-generator.d.ts.map +1 -0
  14. package/dist/mcp/tool-generator.js +281 -0
  15. package/dist/mcp/tool-generator.js.map +1 -0
  16. package/dist/parser/markdown.d.ts +9 -0
  17. package/dist/parser/markdown.d.ts.map +1 -1
  18. package/dist/parser/markdown.js +13 -2
  19. package/dist/parser/markdown.js.map +1 -1
  20. package/dist/search/engine.d.ts +9 -1
  21. package/dist/search/engine.d.ts.map +1 -1
  22. package/dist/search/engine.js +16 -4
  23. package/dist/search/engine.js.map +1 -1
  24. package/dist/server.d.ts +8 -4
  25. package/dist/server.d.ts.map +1 -1
  26. package/dist/server.js +66 -199
  27. package/dist/server.js.map +1 -1
  28. package/dist/templates/builtin/people-management.d.ts +18 -0
  29. package/dist/templates/builtin/people-management.d.ts.map +1 -0
  30. package/dist/templates/builtin/people-management.js +523 -0
  31. package/dist/templates/builtin/people-management.js.map +1 -0
  32. package/dist/templates/builtin/research.d.ts +18 -0
  33. package/dist/templates/builtin/research.d.ts.map +1 -0
  34. package/dist/templates/builtin/research.js +349 -0
  35. package/dist/templates/builtin/research.js.map +1 -0
  36. package/dist/templates/builtin/worldbuilding.d.ts +20 -0
  37. package/dist/templates/builtin/worldbuilding.d.ts.map +1 -0
  38. package/dist/templates/builtin/worldbuilding.js +602 -0
  39. package/dist/templates/builtin/worldbuilding.js.map +1 -0
  40. package/dist/templates/detector.d.ts +51 -0
  41. package/dist/templates/detector.d.ts.map +1 -0
  42. package/dist/templates/detector.js +71 -0
  43. package/dist/templates/detector.js.map +1 -0
  44. package/dist/templates/folder-mapper.d.ts +66 -0
  45. package/dist/templates/folder-mapper.d.ts.map +1 -0
  46. package/dist/templates/folder-mapper.js +148 -0
  47. package/dist/templates/folder-mapper.js.map +1 -0
  48. package/dist/templates/index.d.ts +15 -0
  49. package/dist/templates/index.d.ts.map +1 -0
  50. package/dist/templates/index.js +15 -0
  51. package/dist/templates/index.js.map +1 -0
  52. package/dist/templates/loader.d.ts +117 -0
  53. package/dist/templates/loader.d.ts.map +1 -0
  54. package/dist/templates/loader.js +208 -0
  55. package/dist/templates/loader.js.map +1 -0
  56. package/dist/templates/registry.d.ts +127 -0
  57. package/dist/templates/registry.d.ts.map +1 -0
  58. package/dist/templates/registry.js +205 -0
  59. package/dist/templates/registry.js.map +1 -0
  60. package/dist/templates/schema-factory.d.ts +76 -0
  61. package/dist/templates/schema-factory.d.ts.map +1 -0
  62. package/dist/templates/schema-factory.js +171 -0
  63. package/dist/templates/schema-factory.js.map +1 -0
  64. package/dist/templates/types.d.ts +40 -0
  65. package/dist/templates/types.d.ts.map +1 -1
  66. package/dist/templates/validator.d.ts +310 -0
  67. package/dist/templates/validator.d.ts.map +1 -0
  68. package/dist/templates/validator.js +169 -0
  69. package/dist/templates/validator.js.map +1 -0
  70. package/dist/types/index.d.ts +57 -21
  71. package/dist/types/index.d.ts.map +1 -1
  72. package/dist/types/index.js +39 -15
  73. package/dist/types/index.js.map +1 -1
  74. package/dist/vault/reader.d.ts.map +1 -1
  75. package/dist/vault/reader.js +15 -1
  76. package/dist/vault/reader.js.map +1 -1
  77. package/package.json +7 -4
package/README.md CHANGED
@@ -5,27 +5,35 @@
5
5
  # Hivemind MCP Server
6
6
 
7
7
  [![NPM Version](https://img.shields.io/npm/v/@hiveforge/hivemind-mcp.svg)](https://www.npmjs.com/package/@hiveforge/hivemind-mcp)
8
- [![Build Status](https://img.shields.io/github/actions/workflow/status/hiveforge-io/hivemind/test.yml?branch=master&label=tests)](https://github.com/hiveforge-io/hivemind/actions/workflows/test.yml)
9
- [![Release](https://img.shields.io/github/actions/workflow/status/hiveforge-io/hivemind/release.yml?branch=master&label=release)](https://github.com/hiveforge-io/hivemind/actions/workflows/release.yml)
10
- [![codecov](https://codecov.io/gh/hiveforge-io/hivemind/branch/master/graph/badge.svg)](https://codecov.io/gh/hiveforge-io/hivemind)
8
+ [![Build Status](https://img.shields.io/github/actions/workflow/status/hiveforge-sh/hivemind/test.yml?branch=master&label=tests)](https://github.com/hiveforge-sh/hivemind/actions/workflows/test.yml)
9
+ [![Release](https://img.shields.io/github/actions/workflow/status/hiveforge-sh/hivemind/release.yml?branch=master&label=release)](https://github.com/hiveforge-sh/hivemind/actions/workflows/release.yml)
10
+ [![codecov](https://codecov.io/gh/hiveforge-sh/hivemind/branch/master/graph/badge.svg)](https://codecov.io/gh/hiveforge-sh/hivemind)
11
11
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
12
- [![GitHub issues](https://img.shields.io/github/issues/hiveforge-io/hivemind)](https://github.com/hiveforge-io/hivemind/issues)
13
- [![GitHub stars](https://img.shields.io/github/stars/hiveforge-io/hivemind)](https://github.com/hiveforge-io/hivemind/stargazers)
12
+ [![GitHub issues](https://img.shields.io/github/issues/hiveforge-sh/hivemind)](https://github.com/hiveforge-sh/hivemind/issues)
13
+ [![GitHub stars](https://img.shields.io/github/stars/hiveforge-sh/hivemind)](https://github.com/hiveforge-sh/hivemind/stargazers)
14
14
 
15
- An MCP (Model Context Protocol) server for Obsidian worldbuilding vaults that provides AI tools with consistent, canonical context from your fictional worlds.
15
+ A domain-agnostic MCP (Model Context Protocol) server for Obsidian vaults that provides AI tools with consistent, structured context from your knowledge base.
16
16
 
17
17
  ## What is Hivemind?
18
18
 
19
- Hivemind bridges your Obsidian vault (where you maintain your worldbuilding canon) and AI tools (Claude, ComfyUI, etc.) via the Model Context Protocol. It ensures AI-generated content stays consistent with your established characters, locations, lore, and approved assets.
19
+ Hivemind bridges your Obsidian vault and AI tools (Claude, ComfyUI, etc.) via the Model Context Protocol. With pluggable templates, it supports multiple domains out of the box:
20
+
21
+ - **Worldbuilding** — Characters, Locations, Events, Factions, Lore, Assets
22
+ - **Research** — Papers, Citations, Concepts, Notes
23
+ - **People Management** — People, Goals, Teams, 1:1 Meetings
24
+
25
+ Or define your own custom entity types via `config.json` — no code required.
20
26
 
21
27
  ## Features
22
28
 
23
- - 🔍 **HybridRAG Search**: Combines vector, graph, and keyword search for accurate context retrieval
24
- - 📚 **Obsidian Native**: Works with standard markdown, YAML frontmatter, and wikilinks
25
- - 🎨 **Asset Provenance**: Track AI-generated images and their generation settings
26
- - 🔐 **Local-First**: Your data stays on your machine, with optional cloud deployment
27
- - **Canon Management**: Draft Pending Canon approval workflow
28
- - 🚀 **High Performance**: <300ms query latency, supports 1000+ note vaults
29
+ - **Pluggable Templates**: Built-in templates for worldbuilding, research, and people management or define your own
30
+ - **HybridRAG Search**: Combines vector, graph, and keyword search for accurate context retrieval
31
+ - **Obsidian Native**: Works with standard markdown, YAML frontmatter, and wikilinks
32
+ - **Custom Relationships**: Define relationship types per template with bidirectionality and validation
33
+ - **Asset Provenance**: Track AI-generated images and their generation settings
34
+ - **Local-First**: Your data stays on your machine, with optional cloud deployment
35
+ - **Canon Management**: Draft → Pending → Canon approval workflow
36
+ - **High Performance**: <300ms query latency, supports 1000+ note vaults
29
37
 
30
38
  ## Quick Start
31
39
 
@@ -110,6 +118,9 @@ If you prefer to configure manually, create a `config.json`:
110
118
  "server": {
111
119
  "transport": "stdio"
112
120
  },
121
+ "template": {
122
+ "activeTemplate": "worldbuilding"
123
+ },
113
124
  "indexing": {
114
125
  "strategy": "incremental",
115
126
  "batchSize": 100,
@@ -119,6 +130,53 @@ If you prefer to configure manually, create a `config.json`:
119
130
  }
120
131
  ```
121
132
 
133
+ ### Choosing a Template
134
+
135
+ Set `activeTemplate` to one of the built-in templates:
136
+
137
+ | Template | Use Case | Entity Types |
138
+ |----------|----------|--------------|
139
+ | `worldbuilding` | Fiction writers, game masters | Characters, Locations, Events, Factions, Lore, Assets, References |
140
+ | `research` | Academics, knowledge workers | Papers, Citations, Concepts, Notes |
141
+ | `people-management` | Managers, team leads | People, Goals, Teams, 1:1 Meetings |
142
+
143
+ ### Custom Templates
144
+
145
+ Define custom entity types directly in your `config.json`:
146
+
147
+ ```json
148
+ {
149
+ "template": {
150
+ "activeTemplate": "my-template",
151
+ "templates": [{
152
+ "id": "my-template",
153
+ "name": "My Custom Template",
154
+ "version": "1.0.0",
155
+ "entityTypes": [{
156
+ "name": "project",
157
+ "displayName": "Project",
158
+ "pluralName": "Projects",
159
+ "fields": [
160
+ { "name": "title", "type": "string", "required": true },
161
+ { "name": "deadline", "type": "date" },
162
+ { "name": "priority", "type": "enum", "enumValues": ["low", "medium", "high"] }
163
+ ]
164
+ }],
165
+ "relationshipTypes": [{
166
+ "id": "depends_on",
167
+ "displayName": "Depends On",
168
+ "sourceTypes": ["project"],
169
+ "targetTypes": ["project"],
170
+ "bidirectional": true,
171
+ "reverseId": "blocks"
172
+ }]
173
+ }]
174
+ }
175
+ }
176
+ ```
177
+
178
+ See [samples/](samples/) for complete example vaults for each template.
179
+
122
180
  ## Architecture
123
181
 
124
182
  ```
@@ -140,9 +198,21 @@ Obsidian Vault → File Watcher → Markdown Parser → Knowledge Graph
140
198
 
141
199
  ## Development Status
142
200
 
143
- **Current Phase**: Milestone 1.0 Complete ✅
201
+ **Current**: v2.0 Template System Complete ✅
202
+
203
+ ### v2.0 — Template System (Complete)
204
+
205
+ Hivemind is now domain-agnostic with pluggable templates:
206
+
207
+ - [x] Template registry with config-driven entity definitions
208
+ - [x] Dynamic Zod schema generation from config
209
+ - [x] Auto-generated MCP tools per entity type (`query_<type>`, `list_<type>`)
210
+ - [x] Worldbuilding template extraction (backwards compatible)
211
+ - [x] Custom relationship types per template with validation
212
+ - [x] Built-in templates: worldbuilding, research, people-management
213
+ - [x] Sample vaults for each template
144
214
 
145
- ### What's Included
215
+ ### v1.0 — MVP + Core Features (Shipped)
146
216
 
147
217
  - [x] MCP server with hybrid search (vector, graph, keyword)
148
218
  - [x] Vault templates for all entity types (Character, Location, Event, Faction, Lore, Asset)
@@ -152,18 +222,35 @@ Obsidian Vault → File Watcher → Markdown Parser → Knowledge Graph
152
222
  - [x] Obsidian plugin with image generation
153
223
  - [x] CI/CD with semantic-release and CodeQL scanning
154
224
 
155
- **Up Next:**
225
+ ### Coming Soon
226
+
156
227
  - [ ] Obsidian community plugin submission
157
- - [ ] Template System (make Hivemind domain-agnostic)
228
+ - [ ] Timeline queries with date range filtering
229
+ - [ ] First-run setup wizard
158
230
 
159
231
  ## MCP Tools
160
232
 
161
- ### Query Tools
233
+ ### Dynamic Entity Tools (Auto-Generated)
234
+
235
+ Tools are automatically generated for each entity type defined in the active template:
236
+
237
+ | Tool Pattern | Description |
238
+ |--------------|-------------|
239
+ | `query_<type>` | Get entity by ID/name with relationships and content |
240
+ | `list_<type>` | List all entities of type with optional filters |
241
+
242
+ **Built-in template tools:**
243
+
244
+ | Template | Generated Tools |
245
+ |----------|-----------------|
246
+ | `worldbuilding` | `query_character`, `query_location`, `query_event`, `query_faction`, `query_lore`, `query_asset`, `query_reference` + list variants |
247
+ | `research` | `query_paper`, `query_citation`, `query_concept`, `query_note` + list variants |
248
+ | `people-management` | `query_person`, `query_goal`, `query_team`, `query_one_on_one` + list variants |
249
+
250
+ ### Search
162
251
  | Tool | Description |
163
252
  |------|-------------|
164
- | `query_character` | Get character with relationships and content |
165
- | `query_location` | Get location with hierarchy and connected entities |
166
- | `search_vault` | Hybrid search across all content with filters |
253
+ | `search_vault` | Hybrid search across all content with type/status filters |
167
254
 
168
255
  ### Asset Management
169
256
  | Tool | Description |
@@ -195,10 +282,12 @@ Obsidian Vault → File Watcher → Markdown Parser → Knowledge Graph
195
282
 
196
283
  ## Documentation
197
284
 
198
- - [Setup Guide](docs/SETUP_GUIDE.md)
199
- - [ComfyUI Integration](docs/COMFYUI_INTEGRATION.md)
200
- - [Obsidian Plugin Workflow](docs/OBSIDIAN_PLUGIN_WORKFLOW.md)
201
- - [Vault Templates](sample-vault/Templates/README.md)
285
+ - [Setup Guide](docs/SETUP_GUIDE.md) — Getting started with Hivemind
286
+ - [Vault Migration Guide](docs/VAULT_MIGRATION_GUIDE.md) — Migrating existing vaults
287
+ - [MCP Compatibility](docs/MCP_COMPATIBILITY.md) — Supported AI clients
288
+ - [ComfyUI Integration](docs/COMFYUI_INTEGRATION.md) — AI image generation
289
+ - [Obsidian Plugin Workflow](docs/OBSIDIAN_PLUGIN_WORKFLOW.md) — Plugin development
290
+ - [Sample Vaults](samples/README.md) — Example vaults for each built-in template
202
291
 
203
292
  ## License
204
293
 
package/dist/cli.js CHANGED
@@ -1,8 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import { readFileSync, writeFileSync, existsSync } from 'fs';
3
- import { resolve, join } from 'path';
3
+ import { resolve, join, basename } from 'path';
4
4
  import * as readline from 'readline/promises';
5
5
  import { stdin as input, stdout as output } from 'process';
6
+ import { FolderMapper } from './templates/folder-mapper.js';
7
+ import { templateRegistry } from './templates/registry.js';
8
+ import { worldbuildingTemplate } from './templates/builtin/worldbuilding.js';
6
9
  const DEFAULT_CONFIG = {
7
10
  vault: {
8
11
  path: '',
@@ -95,13 +98,197 @@ async function start() {
95
98
  const { startServer } = await import('./index.js');
96
99
  await startServer();
97
100
  }
101
+ /**
102
+ * Fix command: helps add frontmatter to skipped files
103
+ */
104
+ async function fix() {
105
+ const vaultPath = getVaultPath();
106
+ if (!vaultPath) {
107
+ console.error('❌ Could not determine vault path. Use --vault flag or create config.json');
108
+ process.exit(1);
109
+ }
110
+ const skippedLogPath = join(vaultPath, '.hivemind', 'skipped-files.log');
111
+ if (!existsSync(skippedLogPath)) {
112
+ console.log('✅ No skipped files log found. Run "npx @hiveforge/hivemind-mcp start" first to scan vault.');
113
+ return;
114
+ }
115
+ console.log('🔧 Hivemind Fix - Add frontmatter to skipped files\n');
116
+ // Read and parse skipped files log
117
+ const logContent = readFileSync(skippedLogPath, 'utf-8');
118
+ const skippedFiles = parseSkippedFilesLog(logContent);
119
+ if (skippedFiles.length === 0) {
120
+ console.log('✅ No skipped files found!');
121
+ return;
122
+ }
123
+ console.log(`Found ${skippedFiles.length} file(s) needing frontmatter.\n`);
124
+ // Initialize folder mapper
125
+ const folderMapper = new FolderMapper();
126
+ // Initialize template registry for entity types
127
+ if (!templateRegistry.has('worldbuilding')) {
128
+ templateRegistry.register(worldbuildingTemplate, 'builtin');
129
+ templateRegistry.activate('worldbuilding');
130
+ }
131
+ const activeTemplate = templateRegistry.getActive();
132
+ const entityTypes = activeTemplate?.entityTypes.map(e => e.name) || ['character', 'location', 'event', 'faction', 'lore', 'asset', 'reference'];
133
+ const rl = readline.createInterface({ input, output });
134
+ try {
135
+ let fixed = 0;
136
+ let skipped = 0;
137
+ for (const filePath of skippedFiles) {
138
+ const fullPath = join(vaultPath, filePath);
139
+ if (!existsSync(fullPath)) {
140
+ console.log(`⚠️ File not found: ${filePath}`);
141
+ skipped++;
142
+ continue;
143
+ }
144
+ // Infer type from folder
145
+ const inferredType = folderMapper.inferType(filePath);
146
+ const fileName = basename(filePath, '.md');
147
+ console.log(`\n📄 ${filePath}`);
148
+ if (inferredType) {
149
+ console.log(` Inferred type: ${inferredType}`);
150
+ const confirm = await rl.question(` Use '${inferredType}'? (Y/n/skip): `);
151
+ if (confirm.toLowerCase() === 'skip' || confirm.toLowerCase() === 's') {
152
+ console.log(' Skipped.');
153
+ skipped++;
154
+ continue;
155
+ }
156
+ if (confirm.toLowerCase() === 'n' || confirm.toLowerCase() === 'no') {
157
+ // Let user choose type
158
+ const selectedType = await selectType(rl, entityTypes);
159
+ if (selectedType) {
160
+ await addFrontmatter(fullPath, selectedType, fileName);
161
+ fixed++;
162
+ }
163
+ else {
164
+ skipped++;
165
+ }
166
+ }
167
+ else {
168
+ // Use inferred type
169
+ await addFrontmatter(fullPath, inferredType, fileName);
170
+ fixed++;
171
+ }
172
+ }
173
+ else {
174
+ console.log(' Could not infer type from folder.');
175
+ const selectedType = await selectType(rl, entityTypes);
176
+ if (selectedType) {
177
+ await addFrontmatter(fullPath, selectedType, fileName);
178
+ fixed++;
179
+ }
180
+ else {
181
+ skipped++;
182
+ }
183
+ }
184
+ }
185
+ console.log(`\n✅ Done! Fixed: ${fixed}, Skipped: ${skipped}`);
186
+ console.log(' Run "npx @hiveforge/hivemind-mcp start" to re-index vault.');
187
+ }
188
+ finally {
189
+ rl.close();
190
+ }
191
+ }
192
+ /**
193
+ * Get vault path from config or args
194
+ */
195
+ function getVaultPath() {
196
+ // Check for --vault flag in args
197
+ const vaultIndex = process.argv.indexOf('--vault');
198
+ if (vaultIndex !== -1 && process.argv[vaultIndex + 1]) {
199
+ return resolve(process.argv[vaultIndex + 1]);
200
+ }
201
+ // Check for config.json
202
+ const configPath = resolve(process.cwd(), 'config.json');
203
+ if (existsSync(configPath)) {
204
+ try {
205
+ const config = JSON.parse(readFileSync(configPath, 'utf-8'));
206
+ if (config.vault?.path) {
207
+ return resolve(config.vault.path);
208
+ }
209
+ }
210
+ catch {
211
+ // Ignore config parse errors
212
+ }
213
+ }
214
+ // Fall back to current directory
215
+ return process.cwd();
216
+ }
217
+ /**
218
+ * Parse skipped files from log content
219
+ */
220
+ function parseSkippedFilesLog(content) {
221
+ const files = [];
222
+ const lines = content.split('\n');
223
+ for (const line of lines) {
224
+ // Match lines like " • path/to/file.md"
225
+ const match = line.match(/^\s+[•]\s+(.+\.md)$/);
226
+ if (match) {
227
+ files.push(match[1].trim());
228
+ }
229
+ }
230
+ return files;
231
+ }
232
+ /**
233
+ * Let user select an entity type
234
+ */
235
+ async function selectType(rl, types) {
236
+ console.log(' Available types:');
237
+ types.forEach((t, i) => console.log(` ${i + 1}. ${t}`));
238
+ console.log(` 0. Skip this file`);
239
+ const choice = await rl.question(' Enter number: ');
240
+ const num = parseInt(choice, 10);
241
+ if (num === 0 || isNaN(num) || num < 1 || num > types.length) {
242
+ return null;
243
+ }
244
+ return types[num - 1];
245
+ }
246
+ /**
247
+ * Add frontmatter to a file
248
+ */
249
+ async function addFrontmatter(filePath, entityType, name) {
250
+ const content = readFileSync(filePath, 'utf-8');
251
+ // Generate unique ID
252
+ const id = generateId(name, entityType);
253
+ // Create frontmatter
254
+ const frontmatter = [
255
+ '---',
256
+ `id: ${id}`,
257
+ `type: ${entityType}`,
258
+ `status: draft`,
259
+ `name: "${name}"`,
260
+ `tags: []`,
261
+ `aliases: []`,
262
+ '---',
263
+ '',
264
+ ].join('\n');
265
+ // Check if file already has frontmatter
266
+ if (content.trimStart().startsWith('---')) {
267
+ console.log(' ⚠️ File already has frontmatter block, skipping...');
268
+ return;
269
+ }
270
+ // Prepend frontmatter
271
+ const newContent = frontmatter + content;
272
+ writeFileSync(filePath, newContent, 'utf-8');
273
+ console.log(` ✅ Added frontmatter (id: ${id})`);
274
+ }
275
+ /**
276
+ * Generate a unique ID from name and type
277
+ */
278
+ function generateId(name, entityType) {
279
+ const slug = name
280
+ .toLowerCase()
281
+ .replace(/[^a-z0-9]+/g, '-')
282
+ .replace(/^-|-$/g, '');
283
+ return `${entityType}-${slug}`;
284
+ }
98
285
  async function validate() {
99
286
  const configPath = resolve(process.cwd(), 'config.json');
100
287
  console.log('🔍 Validating Hivemind configuration...\n');
101
288
  // Check config exists
102
289
  if (!existsSync(configPath)) {
103
290
  console.error('❌ config.json not found');
104
- console.log(' Run "npx hivemind init" to create one');
291
+ console.log(' Run "npx @hiveforge/hivemind-mcp init" to create one');
105
292
  process.exit(1);
106
293
  }
107
294
  // Load and validate config
@@ -174,12 +361,16 @@ else {
174
361
  case 'validate':
175
362
  validate();
176
363
  break;
364
+ case 'fix':
365
+ fix();
366
+ break;
177
367
  default:
178
368
  console.log('Hivemind MCP Server\n');
179
369
  console.log('Usage:');
180
370
  console.log(' npx @hiveforge/hivemind-mcp init - Interactive configuration setup');
181
371
  console.log(' npx @hiveforge/hivemind-mcp validate - Validate configuration');
182
372
  console.log(' npx @hiveforge/hivemind-mcp start - Start the MCP server');
373
+ console.log(' npx @hiveforge/hivemind-mcp fix - Add frontmatter to skipped files');
183
374
  console.log(' npx @hiveforge/hivemind-mcp --vault <path> - Start with specified vault path');
184
375
  console.log(' npx @hiveforge/hivemind-mcp --vault . - Start with current directory as vault');
185
376
  process.exit(command ? 1 : 0);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -12,15 +12,19 @@ export declare class GraphBuilder {
12
12
  */
13
13
  private buildRelationships;
14
14
  /**
15
- * Infer relationship type from note types
15
+ * Infer relationship type from note types using template configuration.
16
+ *
17
+ * Queries the template registry for valid relationships between the
18
+ * source and target entity types. Falls back to 'related' if no
19
+ * specific relationship is defined.
16
20
  */
17
21
  private inferRelationType;
18
22
  /**
19
- * Check if a relationship type should be bidirectional
23
+ * Check if a relationship type should be bidirectional using template config.
20
24
  */
21
25
  private isBidirectional;
22
26
  /**
23
- * Get reverse relationship type
27
+ * Get reverse relationship type using template config.
24
28
  */
25
29
  private getReverseRelationType;
26
30
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/graph/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAa,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,qBAAa,YAAY;IACvB,OAAO,CAAC,EAAE,CAAmB;gBAEjB,EAAE,EAAE,gBAAgB;IAIhC;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI;IAwBpC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsC1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA4BzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAY9B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwB1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;OAEG;IACH,QAAQ,IAAI,cAAc;IA8B1B;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI;IASxD;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGjC"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/graph/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAa,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjD,qBAAa,YAAY;IACvB,OAAO,CAAC,EAAE,CAAmB;gBAEjB,EAAE,EAAE,gBAAgB;IAIhC;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI;IAwBpC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsC1B;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAgCzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAsB9B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwB1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;OAEG;IACH,QAAQ,IAAI,cAAc;IA8B1B;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI;IASxD;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGjC"}
@@ -1,3 +1,4 @@
1
+ import { templateRegistry } from '../templates/registry.js';
1
2
  export class GraphBuilder {
2
3
  db;
3
4
  constructor(db) {
@@ -56,49 +57,78 @@ export class GraphBuilder {
56
57
  }
57
58
  }
58
59
  /**
59
- * Infer relationship type from note types
60
+ * Infer relationship type from note types using template configuration.
61
+ *
62
+ * Queries the template registry for valid relationships between the
63
+ * source and target entity types. Falls back to 'related' if no
64
+ * specific relationship is defined.
60
65
  */
61
66
  inferRelationType(source, target) {
62
67
  const sourceType = source.frontmatter.type;
63
68
  const targetType = target.frontmatter.type;
64
- // Character Character
65
- if (sourceType === 'character' && targetType === 'character') {
66
- return 'knows';
69
+ // If either type is undefined, use default
70
+ if (!sourceType || !targetType) {
71
+ return 'related';
67
72
  }
68
- // Character Location
69
- if (sourceType === 'character' && targetType === 'location') {
70
- return 'located_in';
71
- }
72
- // Location Character
73
- if (sourceType === 'location' && targetType === 'character') {
74
- return 'has_inhabitant';
73
+ // Try to get active template's valid relationships
74
+ try {
75
+ const validRels = templateRegistry.getValidRelationships(sourceType, targetType);
76
+ // Return first valid relationship that isn't the generic 'related'
77
+ // (prefer specific relationships over generic fallback)
78
+ const specificRel = validRels.find((rel) => rel.id !== 'related');
79
+ if (specificRel) {
80
+ return specificRel.id;
81
+ }
82
+ // If only 'related' is available, use it
83
+ if (validRels.length > 0) {
84
+ return validRels[0].id;
85
+ }
75
86
  }
76
- // Location → Location
77
- if (sourceType === 'location' && targetType === 'location') {
78
- return 'connected_to';
87
+ catch {
88
+ // No active template, fall through to default
79
89
  }
80
- // Default
90
+ // Default fallback
81
91
  return 'related';
82
92
  }
83
93
  /**
84
- * Check if a relationship type should be bidirectional
94
+ * Check if a relationship type should be bidirectional using template config.
85
95
  */
86
96
  isBidirectional(relType) {
87
- const bidirectionalTypes = ['knows', 'connected_to', 'related'];
88
- return bidirectionalTypes.includes(relType);
97
+ try {
98
+ const relConfig = templateRegistry.getRelationshipType(relType);
99
+ if (relConfig) {
100
+ return relConfig.bidirectional;
101
+ }
102
+ }
103
+ catch {
104
+ // No active template, fall through to defaults
105
+ }
106
+ // Default bidirectional types for backwards compatibility
107
+ const defaultBidirectional = ['knows', 'connected_to', 'related'];
108
+ return defaultBidirectional.includes(relType);
89
109
  }
90
110
  /**
91
- * Get reverse relationship type
111
+ * Get reverse relationship type using template config.
92
112
  */
93
113
  getReverseRelationType(relType) {
94
- const reverseMap = {
114
+ try {
115
+ const relConfig = templateRegistry.getRelationshipType(relType);
116
+ if (relConfig && relConfig.reverseId) {
117
+ return relConfig.reverseId;
118
+ }
119
+ }
120
+ catch {
121
+ // No active template, fall through to defaults
122
+ }
123
+ // Default reverse mappings for backwards compatibility
124
+ const defaultReverseMap = {
95
125
  'knows': 'knows',
96
126
  'connected_to': 'connected_to',
97
127
  'related': 'related',
98
128
  'located_in': 'has_inhabitant',
99
129
  'has_inhabitant': 'located_in',
100
130
  };
101
- return reverseMap[relType] || 'related';
131
+ return defaultReverseMap[relType] || 'related';
102
132
  }
103
133
  /**
104
134
  * Find note by name or ID
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/graph/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/graph/builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * MCP (Model Context Protocol) utilities.
3
+ *
4
+ * This module provides dynamic tool generation and related utilities
5
+ * for the Hivemind MCP server.
6
+ */
7
+ export * from './tool-generator.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,qBAAqB,CAAC"}