obsidian-accomplishments-mcp 0.1.9 → 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 -271
  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 -293
  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 -26
  219. package/dist/tools/get-accomplishment.d.ts.map +0 -1
  220. package/dist/tools/get-accomplishment.js +0 -53
  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 -34
  243. package/dist/tools/list-accomplishments.d.ts.map +0 -1
  244. package/dist/tools/list-accomplishments.js +0 -34
  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
@@ -1,126 +0,0 @@
1
- import { z } from 'zod';
2
- import { MCPError } from '../models/types.js';
3
- import { addTask, updateTask, removeTask } from '../services/task-service.js';
4
- import { generateTaskId } from '../parsers/markdown-parser.js';
5
- // Schema for the tool
6
- export const manageTaskSchema = z.object({
7
- operation: z.enum(['add', 'update', 'remove']),
8
- accomplishment_id: z.string(),
9
- task_id: z.string().optional(),
10
- data: z.object({
11
- name: z.string().optional(),
12
- goal: z.string().optional(),
13
- description: z.string().optional(),
14
- technical_notes: z.string().optional(),
15
- estimate: z.number().optional(),
16
- status: z.enum(['Open', 'InProgress', 'Complete', 'OnHold']).optional(),
17
- notes: z.string().optional(),
18
- }).optional(),
19
- });
20
- export const manageTaskDefinition = {
21
- name: 'manage_task',
22
- description: `Add, update, or remove a SINGLE task within an accomplishment.
23
-
24
- NOTE: For creating MULTIPLE tasks, use batch_operations instead - it's more efficient.
25
-
26
- For add: provide accomplishment_id and data with name and goal.
27
- For update/remove: provide accomplishment_id and task_id.`,
28
- inputSchema: {
29
- type: 'object',
30
- properties: {
31
- operation: {
32
- type: 'string',
33
- enum: ['add', 'update', 'remove'],
34
- description: 'The operation to perform',
35
- },
36
- accomplishment_id: {
37
- type: 'string',
38
- description: 'ID of the parent accomplishment',
39
- },
40
- task_id: {
41
- type: 'string',
42
- description: 'Task ID (required for update/remove). Format: ACC-XXX:Task N:Name',
43
- },
44
- data: {
45
- type: 'object',
46
- description: 'Task data (required for add, optional for update)',
47
- properties: {
48
- name: { type: 'string', description: 'Task name' },
49
- goal: { type: 'string', description: 'What the task achieves' },
50
- description: { type: 'string', description: 'Task details' },
51
- technical_notes: { type: 'string', description: 'Implementation notes' },
52
- estimate: { type: 'number', description: 'Hours estimate' },
53
- status: {
54
- type: 'string',
55
- enum: ['Open', 'InProgress', 'Complete', 'OnHold'],
56
- description: 'Task status'
57
- },
58
- notes: { type: 'string', description: 'Additional notes' },
59
- },
60
- },
61
- },
62
- required: ['operation', 'accomplishment_id'],
63
- },
64
- };
65
- export async function handleManageTask(config, input) {
66
- const { operation, accomplishment_id, task_id, data } = input;
67
- switch (operation) {
68
- case 'add': {
69
- if (!data?.name || !data?.goal) {
70
- throw new MCPError('Add operation requires data with name and goal', 'VALIDATION_ERROR', 400);
71
- }
72
- const task = await addTask(config, accomplishment_id, {
73
- name: data.name,
74
- goal: data.goal,
75
- description: data.description,
76
- technical_notes: data.technical_notes,
77
- estimate: data.estimate,
78
- status: data.status,
79
- notes: data.notes,
80
- });
81
- return {
82
- success: true,
83
- operation: 'add',
84
- accomplishment_id,
85
- task: {
86
- task_id: generateTaskId(accomplishment_id, task),
87
- number: task.number,
88
- name: task.name,
89
- status: task.status,
90
- },
91
- };
92
- }
93
- case 'update': {
94
- if (!task_id) {
95
- throw new MCPError('Update operation requires task_id', 'VALIDATION_ERROR', 400);
96
- }
97
- const task = await updateTask(config, accomplishment_id, task_id, data || {});
98
- return {
99
- success: true,
100
- operation: 'update',
101
- accomplishment_id,
102
- task: {
103
- task_id: generateTaskId(accomplishment_id, task),
104
- number: task.number,
105
- name: task.name,
106
- status: task.status,
107
- },
108
- };
109
- }
110
- case 'remove': {
111
- if (!task_id) {
112
- throw new MCPError('Remove operation requires task_id', 'VALIDATION_ERROR', 400);
113
- }
114
- await removeTask(config, accomplishment_id, task_id);
115
- return {
116
- success: true,
117
- operation: 'remove',
118
- accomplishment_id,
119
- task_id,
120
- };
121
- }
122
- default:
123
- throw new MCPError(`Unknown operation: ${operation}`, 'VALIDATION_ERROR', 400);
124
- }
125
- }
126
- //# sourceMappingURL=manage-task.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manage-task.js","sourceRoot":"","sources":["../../src/tools/manage-task.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- import { z } from 'zod';
2
- import { Config } from '../models/types.js';
3
- export declare const reconcileCanvasSchema: z.ZodObject<{
4
- canvas_source: z.ZodOptional<z.ZodString>;
5
- }, "strip", z.ZodTypeAny, {
6
- canvas_source?: string | undefined;
7
- }, {
8
- canvas_source?: string | undefined;
9
- }>;
10
- export type ReconcileCanvasInput = z.infer<typeof reconcileCanvasSchema>;
11
- export declare const reconcileCanvasDefinition: {
12
- name: string;
13
- description: string;
14
- inputSchema: {
15
- type: string;
16
- properties: {
17
- canvas_source: {
18
- type: string;
19
- description: string;
20
- };
21
- };
22
- };
23
- };
24
- export interface ReconcileCanvasResult {
25
- success: boolean;
26
- created: number;
27
- updated: number;
28
- removed: number;
29
- total_accomplishments: number;
30
- message: string;
31
- }
32
- export declare function handleReconcileCanvas(config: Config, input: ReconcileCanvasInput): Promise<ReconcileCanvasResult>;
33
- //# sourceMappingURL=reconcile-canvas.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reconcile-canvas.d.ts","sourceRoot":"","sources":["../../src/tools/reconcile-canvas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAI5C,eAAO,MAAM,qBAAqB;;;;;;EAEhC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEzE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;CAsBrC,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,qBAAqB,CAAC,CAWhC"}
@@ -1,41 +0,0 @@
1
- import { z } from 'zod';
2
- import { reconcileAllStatusIndicators } from '../services/status-indicator-service.js';
3
- // Schema for the tool
4
- export const reconcileCanvasSchema = z.object({
5
- canvas_source: z.string().optional(),
6
- });
7
- export const reconcileCanvasDefinition = {
8
- name: 'reconcile_canvas',
9
- description: `Reconcile the canvas by syncing status indicators for all accomplishments.
10
-
11
- Creates missing status indicators, updates incorrect ones, and removes orphaned indicators.
12
-
13
- Status indicators are emoji badges shown next to each accomplishment:
14
- - 🚫 Blocked (red)
15
- - ✅ Completed (green)
16
- - 🔄 In Progress (cyan)
17
- - ⚪ Not Started (default)
18
-
19
- Use this tool to fix visual inconsistencies on the canvas.`,
20
- inputSchema: {
21
- type: 'object',
22
- properties: {
23
- canvas_source: {
24
- type: 'string',
25
- description: 'Canvas file path (optional, uses default if not specified)',
26
- },
27
- },
28
- },
29
- };
30
- export async function handleReconcileCanvas(config, input) {
31
- const result = await reconcileAllStatusIndicators(config, input.canvas_source);
32
- return {
33
- success: true,
34
- created: result.created,
35
- updated: result.updated,
36
- removed: result.removed,
37
- total_accomplishments: result.total_accomplishments,
38
- message: `Reconciled ${result.total_accomplishments} accomplishments: ${result.created} created, ${result.updated} updated, ${result.removed} removed`,
39
- };
40
- }
41
- //# sourceMappingURL=reconcile-canvas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reconcile-canvas.js","sourceRoot":"","sources":["../../src/tools/reconcile-canvas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,4BAA4B,EAAmB,MAAM,yCAAyC,CAAC;AAExG,sBAAsB;AACtB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE;;;;;;;;;;2DAU4C;IACzD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,aAAa,EAAE;gBACb,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,4DAA4D;aAC1E;SACF;KACF;CACF,CAAC;AAWF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAc,EACd,KAA2B;IAE3B,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAE/E,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,OAAO,EAAE,cAAc,MAAM,CAAC,qBAAqB,qBAAqB,MAAM,CAAC,OAAO,aAAa,MAAM,CAAC,OAAO,aAAa,MAAM,CAAC,OAAO,UAAU;KACvJ,CAAC;AACJ,CAAC"}
@@ -1,48 +0,0 @@
1
- import { z } from 'zod';
2
- import { Config } from '../models/types.js';
3
- export declare const setWorkFocusSchema: z.ZodObject<{
4
- accomplishment_id: z.ZodString;
5
- in_progress: z.ZodOptional<z.ZodBoolean>;
6
- task_id: z.ZodOptional<z.ZodString>;
7
- task_status: z.ZodOptional<z.ZodEnum<["Open", "InProgress", "Complete", "OnHold"]>>;
8
- }, "strip", z.ZodTypeAny, {
9
- accomplishment_id: string;
10
- task_id?: string | undefined;
11
- in_progress?: boolean | undefined;
12
- task_status?: "Open" | "InProgress" | "Complete" | "OnHold" | undefined;
13
- }, {
14
- accomplishment_id: string;
15
- task_id?: string | undefined;
16
- in_progress?: boolean | undefined;
17
- task_status?: "Open" | "InProgress" | "Complete" | "OnHold" | undefined;
18
- }>;
19
- export type SetWorkFocusInput = z.infer<typeof setWorkFocusSchema>;
20
- export declare const setWorkFocusDefinition: {
21
- name: string;
22
- description: string;
23
- inputSchema: {
24
- type: string;
25
- properties: {
26
- accomplishment_id: {
27
- type: string;
28
- description: string;
29
- };
30
- in_progress: {
31
- type: string;
32
- description: string;
33
- };
34
- task_id: {
35
- type: string;
36
- description: string;
37
- };
38
- task_status: {
39
- type: string;
40
- enum: string[];
41
- description: string;
42
- };
43
- };
44
- required: string[];
45
- };
46
- };
47
- export declare function handleSetWorkFocus(config: Config, input: SetWorkFocusInput): Promise<unknown>;
48
- //# sourceMappingURL=set-work-focus.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"set-work-focus.d.ts","sourceRoot":"","sources":["../../src/tools/set-work-focus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAY,MAAM,oBAAoB,CAAC;AAMtD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAK7B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEnE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BlC,CAAC;AAEF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,OAAO,CAAC,CAkDlB"}
@@ -1,78 +0,0 @@
1
- import { z } from 'zod';
2
- import { getAccomplishment, updateAccomplishment } from '../services/accomplishment-service.js';
3
- import { setTaskStatus } from '../services/task-service.js';
4
- import { updateStatusIndicator } from '../services/status-indicator-service.js';
5
- // Schema for the tool
6
- export const setWorkFocusSchema = z.object({
7
- accomplishment_id: z.string(),
8
- in_progress: z.boolean().optional(),
9
- task_id: z.string().optional(),
10
- task_status: z.enum(['Open', 'InProgress', 'Complete', 'OnHold']).optional(),
11
- });
12
- export const setWorkFocusDefinition = {
13
- name: 'set_work_focus',
14
- description: "Set an accomplishment's inProgress flag (red border in Obsidian) and/or update a task's status. Setting a task to InProgress automatically sets the accomplishment's inProgress to true.",
15
- inputSchema: {
16
- type: 'object',
17
- properties: {
18
- accomplishment_id: {
19
- type: 'string',
20
- description: 'ID of the accomplishment',
21
- },
22
- in_progress: {
23
- type: 'boolean',
24
- description: "Set the accomplishment's inProgress flag",
25
- },
26
- task_id: {
27
- type: 'string',
28
- description: 'Task ID to update (optional). Format: ACC-XXX:Task N:Name',
29
- },
30
- task_status: {
31
- type: 'string',
32
- enum: ['Open', 'InProgress', 'Complete', 'OnHold'],
33
- description: 'New status for the task (required if task_id provided)',
34
- },
35
- },
36
- required: ['accomplishment_id'],
37
- },
38
- };
39
- export async function handleSetWorkFocus(config, input) {
40
- const { accomplishment_id, in_progress, task_id, task_status } = input;
41
- let accomplishment = await getAccomplishment(config, accomplishment_id);
42
- let updatedTask = null;
43
- // Handle task status update
44
- if (task_id && task_status) {
45
- const result = await setTaskStatus(config, accomplishment_id, task_id, task_status);
46
- accomplishment = result.accomplishment;
47
- updatedTask = result.task;
48
- }
49
- // Handle accomplishment inProgress update (if explicitly set and not already handled by task)
50
- if (in_progress !== undefined) {
51
- // Only update if different from current or if task didn't already set it
52
- if (accomplishment.frontmatter.inProgress !== in_progress) {
53
- accomplishment = await updateAccomplishment(config, accomplishment_id, {
54
- inProgress: in_progress,
55
- });
56
- }
57
- }
58
- // Update status indicator on canvas
59
- await updateStatusIndicator(config, accomplishment.frontmatter.id, accomplishment.frontmatter.status, accomplishment.frontmatter.canvas_source);
60
- const response = {
61
- success: true,
62
- accomplishment: {
63
- id: accomplishment.frontmatter.id,
64
- title: accomplishment.frontmatter.title,
65
- inProgress: accomplishment.frontmatter.inProgress,
66
- status: accomplishment.frontmatter.status,
67
- },
68
- };
69
- if (updatedTask) {
70
- response.task = {
71
- task_id,
72
- name: updatedTask.name,
73
- status: updatedTask.status,
74
- };
75
- }
76
- return response;
77
- }
78
- //# sourceMappingURL=set-work-focus.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"set-work-focus.js","sourceRoot":"","sources":["../../src/tools/set-work-focus.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- import { Config } from '../models/types.js';
2
- export declare const syncDependenciesDefinition: {
3
- name: string;
4
- description: string;
5
- inputSchema: {
6
- type: "object";
7
- properties: {
8
- canvas_source: {
9
- type: string;
10
- description: string;
11
- };
12
- };
13
- required: never[];
14
- };
15
- };
16
- export interface SyncDependenciesInput {
17
- canvas_source?: string;
18
- }
19
- export interface SyncDependenciesResult {
20
- success: boolean;
21
- canvas_source: string;
22
- total_accomplishments: number;
23
- updated_count: number;
24
- updates: Array<{
25
- id: string;
26
- title: string;
27
- old_depends_on: string[];
28
- new_depends_on: string[];
29
- }>;
30
- errors: string[];
31
- }
32
- export declare function handleSyncDependencies(config: Config, input: SyncDependenciesInput): Promise<SyncDependenciesResult>;
33
- //# sourceMappingURL=sync-dependencies.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync-dependencies.d.ts","sourceRoot":"","sources":["../../src/tools/sync-dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAO5C,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;CAqBtC,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,cAAc,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC,CAAC;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AA+CD,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,sBAAsB,CAAC,CA+FjC"}
@@ -1,144 +0,0 @@
1
- import { loadCanvas } from '../services/canvas-service.js';
2
- import { readFile, writeFileAtomic, listFiles } from '../utils/file-utils.js';
3
- import { getAccomplishmentsPath } from '../utils/config.js';
4
- import { parseAccomplishment, serializeAccomplishment } from '../parsers/markdown-parser.js';
5
- import { getIncomingEdges } from '../parsers/canvas-parser.js';
6
- export const syncDependenciesDefinition = {
7
- name: 'sync_dependencies',
8
- description: `Sync all dependencies from canvas edges to accomplishment frontmatter.
9
-
10
- This reads all edges from the canvas file and updates the \`depends_on\` array in each
11
- accomplishment's frontmatter to match. Use this to:
12
- - Initialize dependencies after manually drawing arrows on canvas
13
- - Fix any sync issues between canvas edges and MD files
14
- - Batch update all accomplishments after importing a canvas
15
-
16
- Returns a summary of what was updated.`,
17
- inputSchema: {
18
- type: 'object',
19
- properties: {
20
- canvas_source: {
21
- type: 'string',
22
- description: 'Canvas file path (relative to vault). Defaults to DEFAULT_CANVAS.',
23
- },
24
- },
25
- required: [],
26
- },
27
- };
28
- /**
29
- * Build a map from file path to accomplishment ID
30
- */
31
- async function buildFileToIdMap(config) {
32
- const map = new Map();
33
- const accomplishmentsPath = getAccomplishmentsPath(config);
34
- const files = await listFiles(accomplishmentsPath);
35
- for (const file of files) {
36
- if (!file.endsWith('.md'))
37
- continue;
38
- const filePath = `${accomplishmentsPath}/${file}`;
39
- try {
40
- const content = await readFile(filePath);
41
- const idMatch = content.match(/^id:\s*(.+)$/m);
42
- if (idMatch) {
43
- // Store with relative path (as used in canvas)
44
- const relativePath = `${config.accomplishmentsFolder}/${file}`;
45
- map.set(relativePath, idMatch[1].trim());
46
- }
47
- }
48
- catch {
49
- // Skip unreadable files
50
- }
51
- }
52
- return map;
53
- }
54
- /**
55
- * Build a map from node ID to file path
56
- */
57
- function buildNodeToFileMap(canvas) {
58
- const map = new Map();
59
- for (const node of canvas.nodes) {
60
- if (node.type === 'file' && node.file) {
61
- map.set(node.id, node.file);
62
- }
63
- }
64
- return map;
65
- }
66
- export async function handleSyncDependencies(config, input) {
67
- const { canvas_source } = input;
68
- const canvasPath = canvas_source || config.defaultCanvas;
69
- const errors = [];
70
- const updates = [];
71
- // Load canvas
72
- const canvas = await loadCanvas(config, canvas_source);
73
- // Build lookup maps
74
- const fileToId = await buildFileToIdMap(config);
75
- const nodeToFile = buildNodeToFileMap(canvas);
76
- // For each file node, compute its dependencies from incoming edges
77
- const accomplishmentsPath = getAccomplishmentsPath(config);
78
- const files = await listFiles(accomplishmentsPath);
79
- let updatedCount = 0;
80
- for (const file of files) {
81
- if (!file.endsWith('.md'))
82
- continue;
83
- const relativePath = `${config.accomplishmentsFolder}/${file}`;
84
- const fullPath = `${accomplishmentsPath}/${file}`;
85
- try {
86
- // Find the node for this file
87
- const node = canvas.nodes.find((n) => n.type === 'file' && n.file === relativePath);
88
- if (!node) {
89
- // File not on canvas, skip
90
- continue;
91
- }
92
- // Get incoming edges (dependencies)
93
- const incomingEdges = getIncomingEdges(canvas, node.id);
94
- // Convert edge sources to accomplishment IDs
95
- const newDependsOn = [];
96
- for (const edge of incomingEdges) {
97
- const blockerFile = nodeToFile.get(edge.fromNode);
98
- if (blockerFile) {
99
- const blockerId = fileToId.get(blockerFile);
100
- if (blockerId) {
101
- newDependsOn.push(blockerId);
102
- }
103
- }
104
- }
105
- // Read and parse the accomplishment
106
- const content = await readFile(fullPath);
107
- const accomplishment = parseAccomplishment(content);
108
- // Check if depends_on needs updating
109
- const oldDependsOn = [...accomplishment.frontmatter.depends_on];
110
- const oldSet = new Set(oldDependsOn);
111
- const newSet = new Set(newDependsOn);
112
- const needsUpdate = oldDependsOn.length !== newDependsOn.length ||
113
- oldDependsOn.some((id) => !newSet.has(id)) ||
114
- newDependsOn.some((id) => !oldSet.has(id));
115
- if (needsUpdate) {
116
- // Update frontmatter
117
- accomplishment.frontmatter.depends_on = newDependsOn;
118
- accomplishment.frontmatter.updated = new Date().toISOString();
119
- // Write back
120
- const newContent = serializeAccomplishment(accomplishment);
121
- await writeFileAtomic(fullPath, newContent);
122
- updates.push({
123
- id: accomplishment.frontmatter.id,
124
- title: accomplishment.frontmatter.title,
125
- old_depends_on: oldDependsOn,
126
- new_depends_on: newDependsOn,
127
- });
128
- updatedCount++;
129
- }
130
- }
131
- catch (e) {
132
- errors.push(`Error processing ${file}: ${e}`);
133
- }
134
- }
135
- return {
136
- success: errors.length === 0,
137
- canvas_source: canvasPath,
138
- total_accomplishments: fileToId.size,
139
- updated_count: updatedCount,
140
- updates,
141
- errors,
142
- };
143
- }
144
- //# sourceMappingURL=sync-dependencies.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync-dependencies.js","sourceRoot":"","sources":["../../src/tools/sync-dependencies.ts"],"names":[],"mappings":"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"}