obsidian-accomplishments-mcp 0.1.10 → 0.1.11

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 (269) hide show
  1. package/README.md +154 -182
  2. package/dist/index.js +207 -38
  3. package/dist/index.js.map +1 -1
  4. package/dist/integration.test.d.ts +8 -0
  5. package/dist/integration.test.d.ts.map +1 -0
  6. package/dist/integration.test.js +979 -0
  7. package/dist/integration.test.js.map +1 -0
  8. package/dist/models/types.d.ts +1 -2
  9. package/dist/models/types.d.ts.map +1 -1
  10. package/dist/models/types.js.map +1 -1
  11. package/dist/models/v2-types.d.ts +460 -0
  12. package/dist/models/v2-types.d.ts.map +1 -0
  13. package/dist/models/v2-types.js +137 -0
  14. package/dist/models/v2-types.js.map +1 -0
  15. package/dist/models/v2-types.test.d.ts +5 -0
  16. package/dist/models/v2-types.test.d.ts.map +1 -0
  17. package/dist/models/v2-types.test.js +133 -0
  18. package/dist/models/v2-types.test.js.map +1 -0
  19. package/dist/parsers/canvas-parser.d.ts +1 -1
  20. package/dist/parsers/canvas-parser.d.ts.map +1 -1
  21. package/dist/parsers/canvas-parser.js +1 -1
  22. package/dist/parsers/canvas-parser.js.map +1 -1
  23. package/dist/parsers/markdown-parser.js +9 -9
  24. package/dist/parsers/markdown-parser.js.map +1 -1
  25. package/dist/services/v2/archive-manager.d.ts +96 -0
  26. package/dist/services/v2/archive-manager.d.ts.map +1 -0
  27. package/dist/services/v2/archive-manager.js +281 -0
  28. package/dist/services/v2/archive-manager.js.map +1 -0
  29. package/dist/services/v2/canvas-manager.d.ts +155 -0
  30. package/dist/services/v2/canvas-manager.d.ts.map +1 -0
  31. package/dist/services/v2/canvas-manager.js +540 -0
  32. package/dist/services/v2/canvas-manager.js.map +1 -0
  33. package/dist/services/v2/canvas-manager.test.d.ts +5 -0
  34. package/dist/services/v2/canvas-manager.test.d.ts.map +1 -0
  35. package/dist/services/v2/canvas-manager.test.js +327 -0
  36. package/dist/services/v2/canvas-manager.test.js.map +1 -0
  37. package/dist/services/v2/cascade-manager.d.ts +54 -0
  38. package/dist/services/v2/cascade-manager.d.ts.map +1 -0
  39. package/dist/services/v2/cascade-manager.js +220 -0
  40. package/dist/services/v2/cascade-manager.js.map +1 -0
  41. package/dist/services/v2/cycle-detector.d.ts +76 -0
  42. package/dist/services/v2/cycle-detector.d.ts.map +1 -0
  43. package/dist/services/v2/cycle-detector.js +183 -0
  44. package/dist/services/v2/cycle-detector.js.map +1 -0
  45. package/dist/services/v2/cycle-detector.test.d.ts +7 -0
  46. package/dist/services/v2/cycle-detector.test.d.ts.map +1 -0
  47. package/dist/services/v2/cycle-detector.test.js +125 -0
  48. package/dist/services/v2/cycle-detector.test.js.map +1 -0
  49. package/dist/services/v2/entity-parser.d.ts +54 -0
  50. package/dist/services/v2/entity-parser.d.ts.map +1 -0
  51. package/dist/services/v2/entity-parser.js +418 -0
  52. package/dist/services/v2/entity-parser.js.map +1 -0
  53. package/dist/services/v2/entity-parser.test.d.ts +5 -0
  54. package/dist/services/v2/entity-parser.test.d.ts.map +1 -0
  55. package/dist/services/v2/entity-parser.test.js +637 -0
  56. package/dist/services/v2/entity-parser.test.js.map +1 -0
  57. package/dist/services/v2/entity-serializer.d.ts +94 -0
  58. package/dist/services/v2/entity-serializer.d.ts.map +1 -0
  59. package/dist/services/v2/entity-serializer.js +583 -0
  60. package/dist/services/v2/entity-serializer.js.map +1 -0
  61. package/dist/services/v2/entity-serializer.test.d.ts +5 -0
  62. package/dist/services/v2/entity-serializer.test.d.ts.map +1 -0
  63. package/dist/services/v2/entity-serializer.test.js +241 -0
  64. package/dist/services/v2/entity-serializer.test.js.map +1 -0
  65. package/dist/services/v2/entity-validator.d.ts +65 -0
  66. package/dist/services/v2/entity-validator.d.ts.map +1 -0
  67. package/dist/services/v2/entity-validator.js +573 -0
  68. package/dist/services/v2/entity-validator.js.map +1 -0
  69. package/dist/services/v2/entity-validator.test.d.ts +5 -0
  70. package/dist/services/v2/entity-validator.test.d.ts.map +1 -0
  71. package/dist/services/v2/entity-validator.test.js +519 -0
  72. package/dist/services/v2/entity-validator.test.js.map +1 -0
  73. package/dist/services/v2/file-manager.d.ts +73 -0
  74. package/dist/services/v2/file-manager.d.ts.map +1 -0
  75. package/dist/services/v2/file-manager.js +310 -0
  76. package/dist/services/v2/file-manager.js.map +1 -0
  77. package/dist/services/v2/file-manager.test.d.ts +5 -0
  78. package/dist/services/v2/file-manager.test.d.ts.map +1 -0
  79. package/dist/services/v2/file-manager.test.js +339 -0
  80. package/dist/services/v2/file-manager.test.js.map +1 -0
  81. package/dist/services/v2/index-manager.d.ts +68 -0
  82. package/dist/services/v2/index-manager.d.ts.map +1 -0
  83. package/dist/services/v2/index-manager.js +228 -0
  84. package/dist/services/v2/index-manager.js.map +1 -0
  85. package/dist/services/v2/index-manager.test.d.ts +5 -0
  86. package/dist/services/v2/index-manager.test.d.ts.map +1 -0
  87. package/dist/services/v2/index-manager.test.js +386 -0
  88. package/dist/services/v2/index-manager.test.js.map +1 -0
  89. package/dist/services/v2/index-service.d.ts +82 -0
  90. package/dist/services/v2/index-service.d.ts.map +1 -0
  91. package/dist/services/v2/index-service.js +274 -0
  92. package/dist/services/v2/index-service.js.map +1 -0
  93. package/dist/services/v2/index-service.test.d.ts +5 -0
  94. package/dist/services/v2/index-service.test.d.ts.map +1 -0
  95. package/dist/services/v2/index-service.test.js +117 -0
  96. package/dist/services/v2/index-service.test.js.map +1 -0
  97. package/dist/services/v2/lifecycle-manager.d.ts +59 -0
  98. package/dist/services/v2/lifecycle-manager.d.ts.map +1 -0
  99. package/dist/services/v2/lifecycle-manager.js +310 -0
  100. package/dist/services/v2/lifecycle-manager.js.map +1 -0
  101. package/dist/services/v2/lifecycle-manager.test.d.ts +5 -0
  102. package/dist/services/v2/lifecycle-manager.test.d.ts.map +1 -0
  103. package/dist/services/v2/lifecycle-manager.test.js +141 -0
  104. package/dist/services/v2/lifecycle-manager.test.js.map +1 -0
  105. package/dist/services/v2/path-resolver.d.ts +64 -0
  106. package/dist/services/v2/path-resolver.d.ts.map +1 -0
  107. package/dist/services/v2/path-resolver.js +174 -0
  108. package/dist/services/v2/path-resolver.js.map +1 -0
  109. package/dist/services/v2/progress-computer.d.ts +46 -0
  110. package/dist/services/v2/progress-computer.d.ts.map +1 -0
  111. package/dist/services/v2/progress-computer.js +200 -0
  112. package/dist/services/v2/progress-computer.js.map +1 -0
  113. package/dist/services/v2/search-service.d.ts +68 -0
  114. package/dist/services/v2/search-service.d.ts.map +1 -0
  115. package/dist/services/v2/search-service.js +194 -0
  116. package/dist/services/v2/search-service.js.map +1 -0
  117. package/dist/services/v2/transitive-dependency-remover.d.ts +54 -0
  118. package/dist/services/v2/transitive-dependency-remover.d.ts.map +1 -0
  119. package/dist/services/v2/transitive-dependency-remover.js +156 -0
  120. package/dist/services/v2/transitive-dependency-remover.js.map +1 -0
  121. package/dist/services/v2/transitive-dependency-remover.test.d.ts +7 -0
  122. package/dist/services/v2/transitive-dependency-remover.test.d.ts.map +1 -0
  123. package/dist/services/v2/transitive-dependency-remover.test.js +119 -0
  124. package/dist/services/v2/transitive-dependency-remover.test.js.map +1 -0
  125. package/dist/services/v2/v2-runtime.d.ts +374 -0
  126. package/dist/services/v2/v2-runtime.d.ts.map +1 -0
  127. package/dist/services/v2/v2-runtime.js +1908 -0
  128. package/dist/services/v2/v2-runtime.js.map +1 -0
  129. package/dist/services/v2/v2-runtime.test.d.ts +5 -0
  130. package/dist/services/v2/v2-runtime.test.d.ts.map +1 -0
  131. package/dist/services/v2/v2-runtime.test.js +658 -0
  132. package/dist/services/v2/v2-runtime.test.js.map +1 -0
  133. package/dist/services/v2/workstream-normalizer.d.ts +59 -0
  134. package/dist/services/v2/workstream-normalizer.d.ts.map +1 -0
  135. package/dist/services/v2/workstream-normalizer.js +137 -0
  136. package/dist/services/v2/workstream-normalizer.js.map +1 -0
  137. package/dist/services/v2/workstream-normalizer.test.d.ts +7 -0
  138. package/dist/services/v2/workstream-normalizer.test.d.ts.map +1 -0
  139. package/dist/services/v2/workstream-normalizer.test.js +130 -0
  140. package/dist/services/v2/workstream-normalizer.test.js.map +1 -0
  141. package/dist/test-runner.d.ts +4 -1
  142. package/dist/test-runner.d.ts.map +1 -1
  143. package/dist/test-runner.js +44 -249
  144. package/dist/test-runner.js.map +1 -1
  145. package/dist/tools/batch-operations-tools.d.ts +54 -0
  146. package/dist/tools/batch-operations-tools.d.ts.map +1 -0
  147. package/dist/tools/batch-operations-tools.js +370 -0
  148. package/dist/tools/batch-operations-tools.js.map +1 -0
  149. package/dist/tools/decision-document-tools.d.ts +78 -0
  150. package/dist/tools/decision-document-tools.d.ts.map +1 -0
  151. package/dist/tools/decision-document-tools.js +260 -0
  152. package/dist/tools/decision-document-tools.js.map +1 -0
  153. package/dist/tools/entity-management-tools.d.ts +79 -0
  154. package/dist/tools/entity-management-tools.d.ts.map +1 -0
  155. package/dist/tools/entity-management-tools.js +851 -0
  156. package/dist/tools/entity-management-tools.js.map +1 -0
  157. package/dist/tools/entity-management-tools.test.d.ts +5 -0
  158. package/dist/tools/entity-management-tools.test.d.ts.map +1 -0
  159. package/dist/tools/entity-management-tools.test.js +530 -0
  160. package/dist/tools/entity-management-tools.test.js.map +1 -0
  161. package/dist/tools/index.d.ts +15 -331
  162. package/dist/tools/index.d.ts.map +1 -1
  163. package/dist/tools/index.js +510 -47
  164. package/dist/tools/index.js.map +1 -1
  165. package/dist/tools/index.test.d.ts +8 -0
  166. package/dist/tools/index.test.d.ts.map +1 -0
  167. package/dist/tools/index.test.js +429 -0
  168. package/dist/tools/index.test.js.map +1 -0
  169. package/dist/tools/project-understanding-tools.d.ts +75 -0
  170. package/dist/tools/project-understanding-tools.d.ts.map +1 -0
  171. package/dist/tools/project-understanding-tools.js +751 -0
  172. package/dist/tools/project-understanding-tools.js.map +1 -0
  173. package/dist/tools/search-navigation-tools.d.ts +77 -0
  174. package/dist/tools/search-navigation-tools.d.ts.map +1 -0
  175. package/dist/tools/search-navigation-tools.js +379 -0
  176. package/dist/tools/search-navigation-tools.js.map +1 -0
  177. package/dist/tools/tool-types.d.ts +703 -0
  178. package/dist/tools/tool-types.d.ts.map +1 -0
  179. package/dist/tools/tool-types.js +7 -0
  180. package/dist/tools/tool-types.js.map +1 -0
  181. package/dist/utils/config.d.ts +0 -4
  182. package/dist/utils/config.d.ts.map +1 -1
  183. package/dist/utils/config.js +2 -19
  184. package/dist/utils/config.js.map +1 -1
  185. package/package.json +16 -1
  186. package/dist/services/accomplishment-service.d.ts +0 -33
  187. package/dist/services/accomplishment-service.d.ts.map +0 -1
  188. package/dist/services/accomplishment-service.js +0 -296
  189. package/dist/services/accomplishment-service.js.map +0 -1
  190. package/dist/services/canvas-service.d.ts +0 -96
  191. package/dist/services/canvas-service.d.ts.map +0 -1
  192. package/dist/services/canvas-service.js +0 -231
  193. package/dist/services/canvas-service.js.map +0 -1
  194. package/dist/services/context-doc-service.d.ts +0 -70
  195. package/dist/services/context-doc-service.d.ts.map +0 -1
  196. package/dist/services/context-doc-service.js +0 -229
  197. package/dist/services/context-doc-service.js.map +0 -1
  198. package/dist/services/dependency-service.d.ts +0 -22
  199. package/dist/services/dependency-service.d.ts.map +0 -1
  200. package/dist/services/dependency-service.js +0 -99
  201. package/dist/services/dependency-service.js.map +0 -1
  202. package/dist/services/status-indicator-service.d.ts +0 -40
  203. package/dist/services/status-indicator-service.d.ts.map +0 -1
  204. package/dist/services/status-indicator-service.js +0 -173
  205. package/dist/services/status-indicator-service.js.map +0 -1
  206. package/dist/services/task-service.d.ts +0 -32
  207. package/dist/services/task-service.d.ts.map +0 -1
  208. package/dist/services/task-service.js +0 -152
  209. package/dist/services/task-service.js.map +0 -1
  210. package/dist/test-real-vault.d.ts +0 -6
  211. package/dist/test-real-vault.d.ts.map +0 -1
  212. package/dist/test-real-vault.js +0 -30
  213. package/dist/test-real-vault.js.map +0 -1
  214. package/dist/tools/batch-operations.d.ts +0 -246
  215. package/dist/tools/batch-operations.d.ts.map +0 -1
  216. package/dist/tools/batch-operations.js +0 -235
  217. package/dist/tools/batch-operations.js.map +0 -1
  218. package/dist/tools/get-accomplishment.d.ts +0 -42
  219. package/dist/tools/get-accomplishment.d.ts.map +0 -1
  220. package/dist/tools/get-accomplishment.js +0 -93
  221. package/dist/tools/get-accomplishment.js.map +0 -1
  222. package/dist/tools/get-accomplishments-graph.d.ts +0 -26
  223. package/dist/tools/get-accomplishments-graph.d.ts.map +0 -1
  224. package/dist/tools/get-accomplishments-graph.js +0 -137
  225. package/dist/tools/get-accomplishments-graph.js.map +0 -1
  226. package/dist/tools/get-blocked-items.d.ts +0 -15
  227. package/dist/tools/get-blocked-items.d.ts.map +0 -1
  228. package/dist/tools/get-blocked-items.js +0 -73
  229. package/dist/tools/get-blocked-items.js.map +0 -1
  230. package/dist/tools/get-current-work.d.ts +0 -15
  231. package/dist/tools/get-current-work.d.ts.map +0 -1
  232. package/dist/tools/get-current-work.js +0 -68
  233. package/dist/tools/get-current-work.js.map +0 -1
  234. package/dist/tools/get-project-status.d.ts +0 -26
  235. package/dist/tools/get-project-status.d.ts.map +0 -1
  236. package/dist/tools/get-project-status.js +0 -98
  237. package/dist/tools/get-project-status.js.map +0 -1
  238. package/dist/tools/get-ready-to-start.d.ts +0 -15
  239. package/dist/tools/get-ready-to-start.d.ts.map +0 -1
  240. package/dist/tools/get-ready-to-start.js +0 -47
  241. package/dist/tools/get-ready-to-start.js.map +0 -1
  242. package/dist/tools/list-accomplishments.d.ts +0 -42
  243. package/dist/tools/list-accomplishments.d.ts.map +0 -1
  244. package/dist/tools/list-accomplishments.js +0 -40
  245. package/dist/tools/list-accomplishments.js.map +0 -1
  246. package/dist/tools/manage-accomplishment.d.ts +0 -147
  247. package/dist/tools/manage-accomplishment.d.ts.map +0 -1
  248. package/dist/tools/manage-accomplishment.js +0 -153
  249. package/dist/tools/manage-accomplishment.js.map +0 -1
  250. package/dist/tools/manage-dependency.d.ts +0 -41
  251. package/dist/tools/manage-dependency.d.ts.map +0 -1
  252. package/dist/tools/manage-dependency.js +0 -66
  253. package/dist/tools/manage-dependency.js.map +0 -1
  254. package/dist/tools/manage-task.d.ts +0 -119
  255. package/dist/tools/manage-task.d.ts.map +0 -1
  256. package/dist/tools/manage-task.js +0 -126
  257. package/dist/tools/manage-task.js.map +0 -1
  258. package/dist/tools/reconcile-canvas.d.ts +0 -33
  259. package/dist/tools/reconcile-canvas.d.ts.map +0 -1
  260. package/dist/tools/reconcile-canvas.js +0 -41
  261. package/dist/tools/reconcile-canvas.js.map +0 -1
  262. package/dist/tools/set-work-focus.d.ts +0 -48
  263. package/dist/tools/set-work-focus.d.ts.map +0 -1
  264. package/dist/tools/set-work-focus.js +0 -78
  265. package/dist/tools/set-work-focus.js.map +0 -1
  266. package/dist/tools/sync-dependencies.d.ts +0 -33
  267. package/dist/tools/sync-dependencies.d.ts.map +0 -1
  268. package/dist/tools/sync-dependencies.js +0 -144
  269. package/dist/tools/sync-dependencies.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,10 +1,19 @@
1
1
  #!/usr/bin/env node
2
2
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
3
3
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
- import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
5
- import { getConfig } from './utils/config.js';
4
+ import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
5
+ import { getConfig, getAllWorkspaces, getWorkspacePath } from './utils/config.js';
6
+ import { listFilesRecursive, readFile } from './utils/file-utils.js';
6
7
  import { MCPError } from './models/types.js';
7
- import { allToolDefinitions, handleBatchOperations, handleManageAccomplishment, handleManageDependency, handleManageTask, handleSetWorkFocus, handleGetAccomplishment, handleListAccomplishments, handleGetCurrentWork, handleGetBlockedItems, handleGetReadyToStart, handleGetProjectStatus, handleGetAccomplishmentsGraph, handleReconcileCanvas, handleReadDocs, handleUpdateDoc, handleListWorkspaces, handleListFiles, } from './tools/index.js';
8
+ import { getV2Runtime } from './services/v2/v2-runtime.js';
9
+ // Tool definitions and handlers
10
+ import { allToolDefinitions, handleReadDocs, handleUpdateDoc, handleListWorkspaces, handleListFiles, } from './tools/index.js';
11
+ // Entity tool implementations
12
+ import { createEntity, updateEntity, } from './tools/entity-management-tools.js';
13
+ import { batchUpdate } from './tools/batch-operations-tools.js';
14
+ import { getProjectOverview, analyzeProjectState, getFeatureCoverage, getSchema, } from './tools/project-understanding-tools.js';
15
+ import { searchEntities, getEntity, getEntities, } from './tools/search-navigation-tools.js';
16
+ import { manageDocuments } from './tools/decision-document-tools.js';
8
17
  // Create server instance
9
18
  const server = new Server({
10
19
  name: 'obsidian-accomplishments',
@@ -12,6 +21,7 @@ const server = new Server({
12
21
  }, {
13
22
  capabilities: {
14
23
  tools: {},
24
+ resources: {},
15
25
  },
16
26
  });
17
27
  // Get configuration
@@ -23,10 +33,123 @@ catch (error) {
23
33
  console.error('Configuration error:', error);
24
34
  process.exit(1);
25
35
  }
36
+ // Helper to create V2 config
37
+ function createV2Config() {
38
+ // VAULT_PATH points directly to the project folder containing milestones/, stories/, etc.
39
+ return {
40
+ vaultPath: config.vaultPath,
41
+ entitiesFolder: '', // Entities are directly in vaultPath subfolders
42
+ archiveFolder: 'archive',
43
+ canvasFolder: '',
44
+ defaultCanvas: config.defaultCanvas,
45
+ workspaces: {},
46
+ };
47
+ }
48
+ // Cached V2 runtime
49
+ let v2RuntimePromise = null;
50
+ async function getOrCreateV2Runtime() {
51
+ if (!v2RuntimePromise) {
52
+ v2RuntimePromise = getV2Runtime(createV2Config());
53
+ }
54
+ return v2RuntimePromise;
55
+ }
56
+ // ============================================================================
57
+ // Resource Handlers
58
+ // ============================================================================
59
+ // Cache for indexed resources (populated on startup)
60
+ let resourceCache = [];
61
+ /**
62
+ * Parse a resource URI to extract workspace and file path
63
+ * URI format: obsidian://workspace-name/path/to/file.md
64
+ */
65
+ function parseResourceUri(uri) {
66
+ const match = uri.match(/^obsidian:\/\/([^/]+)\/(.+)$/);
67
+ if (!match)
68
+ return null;
69
+ return { workspace: match[1], filePath: match[2] };
70
+ }
71
+ /**
72
+ * Index all documents in all workspaces and populate the resource cache
73
+ */
74
+ async function indexAllResources() {
75
+ const resources = [];
76
+ const workspaces = getAllWorkspaces(config);
77
+ for (const [workspaceName, wsConfig] of Object.entries(workspaces)) {
78
+ try {
79
+ const allFiles = await listFilesRecursive(wsConfig.path);
80
+ const mdFiles = allFiles.filter(f => f.endsWith('.md'));
81
+ for (const file of mdFiles) {
82
+ const uri = `obsidian://${workspaceName}/${file}`;
83
+ const name = file.replace(/\.md$/, '').split('/').pop() || file;
84
+ resources.push({
85
+ uri,
86
+ name,
87
+ description: `${workspaceName}: ${file}`,
88
+ mimeType: 'text/markdown',
89
+ });
90
+ }
91
+ }
92
+ catch (error) {
93
+ console.error(`Failed to index workspace ${workspaceName}:`, error);
94
+ }
95
+ }
96
+ resourceCache = resources;
97
+ console.error(`Indexed ${resources.length} resources from ${Object.keys(workspaces).length} workspaces`);
98
+ }
99
+ // Register resources/list handler
100
+ server.setRequestHandler(ListResourcesRequestSchema, async () => {
101
+ return { resources: resourceCache };
102
+ });
103
+ // Register resources/read handler
104
+ server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
105
+ const { uri } = request.params;
106
+ const parsed = parseResourceUri(uri);
107
+ if (!parsed) {
108
+ throw new MCPError(`Invalid resource URI: ${uri}`, 'INVALID_URI', 400);
109
+ }
110
+ const workspacePath = getWorkspacePath(config, parsed.workspace);
111
+ if (!workspacePath) {
112
+ throw new MCPError(`Workspace not found: ${parsed.workspace}`, 'NOT_FOUND', 404);
113
+ }
114
+ const absolutePath = `${workspacePath}/${parsed.filePath}`;
115
+ try {
116
+ const content = await readFile(absolutePath);
117
+ return {
118
+ contents: [
119
+ {
120
+ uri,
121
+ mimeType: 'text/markdown',
122
+ text: content,
123
+ },
124
+ ],
125
+ };
126
+ }
127
+ catch (_error) {
128
+ throw new MCPError(`Failed to read resource: ${uri}`, 'READ_ERROR', 500);
129
+ }
130
+ });
131
+ // ============================================================================
132
+ // Tool Handlers
133
+ // ============================================================================
134
+ // Define get_resources_index tool (needs access to resourceCache)
135
+ const getResourcesIndexDefinition = {
136
+ name: 'get_resources_index',
137
+ description: 'Get a list of all indexed resource URIs. Use this to discover available documents that can be read via MCP resources. Optionally filter by workspace.',
138
+ inputSchema: {
139
+ type: 'object',
140
+ properties: {
141
+ workspace: {
142
+ type: 'string',
143
+ description: 'Optional workspace name to filter resources. If not provided, returns resources from all workspaces.',
144
+ },
145
+ },
146
+ required: [],
147
+ },
148
+ };
26
149
  // Register tool list handler
27
150
  server.setRequestHandler(ListToolsRequestSchema, async () => {
28
151
  return {
29
- tools: allToolDefinitions,
152
+ tools: [...allToolDefinitions, getResourcesIndexDefinition],
30
153
  };
31
154
  });
32
155
  // Register tool call handler
@@ -35,57 +158,101 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
35
158
  try {
36
159
  let result;
37
160
  switch (name) {
38
- case 'manage_accomplishment':
39
- result = await handleManageAccomplishment(config, args);
161
+ // Utility tools
162
+ case 'read_docs':
163
+ result = await handleReadDocs(config, args);
40
164
  break;
41
- case 'batch_operations':
42
- result = await handleBatchOperations(config, args);
165
+ case 'update_doc':
166
+ result = await handleUpdateDoc(config, args);
43
167
  break;
44
- case 'manage_dependency':
45
- result = await handleManageDependency(config, args);
168
+ case 'list_workspaces':
169
+ result = await handleListWorkspaces(config, args);
46
170
  break;
47
- case 'manage_task':
48
- result = await handleManageTask(config, args);
171
+ case 'list_files':
172
+ result = await handleListFiles(config, args);
49
173
  break;
50
- case 'set_work_focus':
51
- result = await handleSetWorkFocus(config, args);
174
+ case 'get_resources_index': {
175
+ const workspace = args?.workspace;
176
+ let filteredResources = resourceCache;
177
+ if (workspace) {
178
+ // Filter by workspace - URI format is obsidian://workspace/path
179
+ const prefix = `obsidian://${workspace}/`;
180
+ filteredResources = resourceCache.filter(r => r.uri.startsWith(prefix));
181
+ }
182
+ result = {
183
+ workspace: workspace || 'all',
184
+ count: filteredResources.length,
185
+ resources: filteredResources.map(r => r.uri),
186
+ };
52
187
  break;
53
- case 'get_accomplishment':
54
- result = await handleGetAccomplishment(config, args);
188
+ }
189
+ // Entity Management
190
+ case 'create_entity': {
191
+ const runtime = await getOrCreateV2Runtime();
192
+ result = await createEntity(args, runtime.getEntityManagementDeps());
55
193
  break;
56
- case 'list_accomplishments':
57
- result = await handleListAccomplishments(config, args);
194
+ }
195
+ case 'update_entity': {
196
+ const runtime = await getOrCreateV2Runtime();
197
+ result = await updateEntity(args, runtime.getEntityManagementDeps());
58
198
  break;
59
- case 'get_current_work':
60
- result = await handleGetCurrentWork(config, args);
199
+ }
200
+ // Batch Operations
201
+ case 'batch_update': {
202
+ const runtime = await getOrCreateV2Runtime();
203
+ result = await batchUpdate(args, runtime.getBatchOperationsDeps());
61
204
  break;
62
- case 'get_blocked_items':
63
- result = await handleGetBlockedItems(config, args);
205
+ }
206
+ // Project Understanding
207
+ case 'get_project_overview': {
208
+ const runtime = await getOrCreateV2Runtime();
209
+ result = await getProjectOverview(args, runtime.getProjectUnderstandingDeps());
64
210
  break;
65
- case 'get_ready_to_start':
66
- result = await handleGetReadyToStart(config, args);
211
+ }
212
+ case 'analyze_project_state': {
213
+ const runtime = await getOrCreateV2Runtime();
214
+ result = await analyzeProjectState(args, runtime.getProjectUnderstandingDeps());
67
215
  break;
68
- case 'get_project_status':
69
- result = await handleGetProjectStatus(config, args);
216
+ }
217
+ case 'get_feature_coverage': {
218
+ const runtime = await getOrCreateV2Runtime();
219
+ result = await getFeatureCoverage(args, runtime.getFeatureCoverageDeps());
70
220
  break;
71
- case 'get_accomplishments_graph':
72
- result = await handleGetAccomplishmentsGraph(config, args);
221
+ }
222
+ // Search & Navigation
223
+ case 'search_entities': {
224
+ const runtime = await getOrCreateV2Runtime();
225
+ result = await searchEntities(args, runtime.getSearchNavigationDeps());
73
226
  break;
74
- case 'reconcile_canvas':
75
- result = await handleReconcileCanvas(config, args);
227
+ }
228
+ case 'get_entity': {
229
+ const runtime = await getOrCreateV2Runtime();
230
+ result = await getEntity(args, runtime.getSearchNavigationDeps());
76
231
  break;
77
- case 'read_docs':
78
- result = await handleReadDocs(config, args);
232
+ }
233
+ case 'get_entities': {
234
+ const runtime = await getOrCreateV2Runtime();
235
+ result = await getEntities(args, runtime.getSearchNavigationDeps());
79
236
  break;
80
- case 'update_doc':
81
- result = await handleUpdateDoc(config, args);
237
+ }
238
+ // Decision & Document Management
239
+ case 'manage_documents': {
240
+ const runtime = await getOrCreateV2Runtime();
241
+ result = await manageDocuments(args, runtime.getDecisionDocumentDeps());
82
242
  break;
83
- case 'list_workspaces':
84
- result = await handleListWorkspaces(config, args);
243
+ }
244
+ // Maintenance Tools
245
+ case 'reconcile_relationships': {
246
+ const runtime = await getOrCreateV2Runtime();
247
+ const dryRun = args.dry_run === true;
248
+ result = await runtime.reconcileImplementsRelationships({ dry_run: dryRun });
85
249
  break;
86
- case 'list_files':
87
- result = await handleListFiles(config, args);
250
+ }
251
+ // Schema Introspection
252
+ case 'get_schema': {
253
+ result = getSchema(args);
88
254
  break;
255
+ }
89
256
  default:
90
257
  throw new MCPError(`Unknown tool: ${name}`, 'UNKNOWN_TOOL', 400);
91
258
  }
@@ -118,6 +285,8 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
118
285
  });
119
286
  // Start the server
120
287
  async function main() {
288
+ // Index all resources on startup
289
+ await indexAllResources();
121
290
  const transport = new StdioServerTransport();
122
291
  await server.connect(transport);
123
292
  console.error('Obsidian Accomplishments MCP Server running on stdio');
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Integration Tests for MCP Tools
3
+ *
4
+ * These tests exercise the full stack: tools → runtime → services
5
+ * Each scenario covers multiple components to maximize coverage efficiently.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration.test.d.ts","sourceRoot":"","sources":["../src/integration.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}