@goondocks/myco 0.2.6 → 0.2.8

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 (290) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/CONTRIBUTING.md +1 -1
  3. package/commands/init.md +10 -26
  4. package/dist/chunk-4JML636J.js +52 -0
  5. package/dist/chunk-4JML636J.js.map +1 -0
  6. package/dist/chunk-AOMX45LH.js +8974 -0
  7. package/dist/chunk-AOMX45LH.js.map +1 -0
  8. package/dist/chunk-I7PMGO6S.js +58 -0
  9. package/dist/chunk-I7PMGO6S.js.map +1 -0
  10. package/dist/chunk-N33KUCFP.js +33 -0
  11. package/dist/chunk-N33KUCFP.js.map +1 -0
  12. package/dist/chunk-NYNEJ5QY.js +71 -0
  13. package/dist/chunk-NYNEJ5QY.js.map +1 -0
  14. package/dist/chunk-PA3VMINE.js +111 -0
  15. package/dist/chunk-PA3VMINE.js.map +1 -0
  16. package/dist/chunk-PZUWP5VK.js +44 -0
  17. package/dist/chunk-PZUWP5VK.js.map +1 -0
  18. package/dist/chunk-SVUINMDD.js +104 -0
  19. package/dist/chunk-SVUINMDD.js.map +1 -0
  20. package/dist/chunk-TH6GIBXG.js +91 -0
  21. package/dist/chunk-TH6GIBXG.js.map +1 -0
  22. package/dist/chunk-TWDS6MSU.js +354 -0
  23. package/dist/chunk-TWDS6MSU.js.map +1 -0
  24. package/dist/chunk-UIIZRTJU.js +21172 -0
  25. package/dist/chunk-UIIZRTJU.js.map +1 -0
  26. package/dist/chunk-YMYJ7FNH.js +19 -0
  27. package/dist/chunk-YMYJ7FNH.js.map +1 -0
  28. package/dist/chunk-ZJQ5G637.js +21 -0
  29. package/dist/chunk-ZJQ5G637.js.map +1 -0
  30. package/dist/chunk-ZTZVX5E6.js +421 -0
  31. package/dist/chunk-ZTZVX5E6.js.map +1 -0
  32. package/dist/cli-K5FSKLQC.js +625 -0
  33. package/dist/cli-K5FSKLQC.js.map +1 -0
  34. package/dist/client-4JMOYNKK.js +11 -0
  35. package/dist/client-4JMOYNKK.js.map +1 -0
  36. package/dist/main-5W4ADOBG.js +3224 -0
  37. package/dist/main-5W4ADOBG.js.map +1 -0
  38. package/dist/server-PIEPVUUH.js +14725 -0
  39. package/dist/server-PIEPVUUH.js.map +1 -0
  40. package/dist/session-start-2NNQHT5S.js +189 -0
  41. package/dist/session-start-2NNQHT5S.js.map +1 -0
  42. package/dist/src/cli.js +9 -582
  43. package/dist/src/cli.js.map +1 -1
  44. package/dist/src/daemon/main.js +9 -737
  45. package/dist/src/daemon/main.js.map +1 -1
  46. package/dist/src/hooks/post-tool-use.js +47 -35
  47. package/dist/src/hooks/post-tool-use.js.map +1 -1
  48. package/dist/src/hooks/session-end.js +29 -18
  49. package/dist/src/hooks/session-end.js.map +1 -1
  50. package/dist/src/hooks/session-start.js +9 -48
  51. package/dist/src/hooks/session-start.js.map +1 -1
  52. package/dist/src/hooks/stop.js +39 -30
  53. package/dist/src/hooks/stop.js.map +1 -1
  54. package/dist/src/hooks/user-prompt-submit.js +48 -40
  55. package/dist/src/hooks/user-prompt-submit.js.map +1 -1
  56. package/dist/src/mcp/server.js +9 -304
  57. package/dist/src/mcp/server.js.map +1 -1
  58. package/package.json +3 -2
  59. package/dist/src/agents/adapter.d.ts +0 -76
  60. package/dist/src/agents/adapter.d.ts.map +0 -1
  61. package/dist/src/agents/adapter.js +0 -124
  62. package/dist/src/agents/adapter.js.map +0 -1
  63. package/dist/src/agents/claude-code.d.ts +0 -3
  64. package/dist/src/agents/claude-code.d.ts.map +0 -1
  65. package/dist/src/agents/claude-code.js +0 -22
  66. package/dist/src/agents/claude-code.js.map +0 -1
  67. package/dist/src/agents/cursor.d.ts +0 -3
  68. package/dist/src/agents/cursor.d.ts.map +0 -1
  69. package/dist/src/agents/cursor.js +0 -154
  70. package/dist/src/agents/cursor.js.map +0 -1
  71. package/dist/src/agents/index.d.ts +0 -6
  72. package/dist/src/agents/index.d.ts.map +0 -1
  73. package/dist/src/agents/index.js +0 -5
  74. package/dist/src/agents/index.js.map +0 -1
  75. package/dist/src/agents/registry.d.ts +0 -34
  76. package/dist/src/agents/registry.d.ts.map +0 -1
  77. package/dist/src/agents/registry.js +0 -95
  78. package/dist/src/agents/registry.js.map +0 -1
  79. package/dist/src/artifacts/candidates.d.ts +0 -20
  80. package/dist/src/artifacts/candidates.d.ts.map +0 -1
  81. package/dist/src/artifacts/candidates.js +0 -84
  82. package/dist/src/artifacts/candidates.js.map +0 -1
  83. package/dist/src/artifacts/slugify.d.ts +0 -2
  84. package/dist/src/artifacts/slugify.d.ts.map +0 -1
  85. package/dist/src/artifacts/slugify.js +0 -22
  86. package/dist/src/artifacts/slugify.js.map +0 -1
  87. package/dist/src/capture/buffer.d.ts +0 -20
  88. package/dist/src/capture/buffer.d.ts.map +0 -1
  89. package/dist/src/capture/buffer.js +0 -55
  90. package/dist/src/capture/buffer.js.map +0 -1
  91. package/dist/src/capture/transcript-miner.d.ts +0 -31
  92. package/dist/src/capture/transcript-miner.d.ts.map +0 -1
  93. package/dist/src/capture/transcript-miner.js +0 -61
  94. package/dist/src/capture/transcript-miner.js.map +0 -1
  95. package/dist/src/cli.d.ts +0 -3
  96. package/dist/src/cli.d.ts.map +0 -1
  97. package/dist/src/config/loader.d.ts +0 -4
  98. package/dist/src/config/loader.d.ts.map +0 -1
  99. package/dist/src/config/loader.js +0 -32
  100. package/dist/src/config/loader.js.map +0 -1
  101. package/dist/src/config/schema.d.ts +0 -83
  102. package/dist/src/config/schema.d.ts.map +0 -1
  103. package/dist/src/config/schema.js +0 -55
  104. package/dist/src/config/schema.js.map +0 -1
  105. package/dist/src/constants.d.ts +0 -73
  106. package/dist/src/constants.d.ts.map +0 -1
  107. package/dist/src/constants.js +0 -86
  108. package/dist/src/constants.js.map +0 -1
  109. package/dist/src/context/injector.d.ts +0 -18
  110. package/dist/src/context/injector.d.ts.map +0 -1
  111. package/dist/src/context/injector.js +0 -71
  112. package/dist/src/context/injector.js.map +0 -1
  113. package/dist/src/context/relevance.d.ts +0 -13
  114. package/dist/src/context/relevance.d.ts.map +0 -1
  115. package/dist/src/context/relevance.js +0 -44
  116. package/dist/src/context/relevance.js.map +0 -1
  117. package/dist/src/daemon/batch.d.ts +0 -22
  118. package/dist/src/daemon/batch.d.ts.map +0 -1
  119. package/dist/src/daemon/batch.js +0 -38
  120. package/dist/src/daemon/batch.js.map +0 -1
  121. package/dist/src/daemon/lifecycle.d.ts +0 -27
  122. package/dist/src/daemon/lifecycle.d.ts.map +0 -1
  123. package/dist/src/daemon/lifecycle.js +0 -50
  124. package/dist/src/daemon/lifecycle.js.map +0 -1
  125. package/dist/src/daemon/lineage.d.ts +0 -42
  126. package/dist/src/daemon/lineage.d.ts.map +0 -1
  127. package/dist/src/daemon/lineage.js +0 -116
  128. package/dist/src/daemon/lineage.js.map +0 -1
  129. package/dist/src/daemon/logger.d.ts +0 -33
  130. package/dist/src/daemon/logger.d.ts.map +0 -1
  131. package/dist/src/daemon/logger.js +0 -88
  132. package/dist/src/daemon/logger.js.map +0 -1
  133. package/dist/src/daemon/main.d.ts +0 -2
  134. package/dist/src/daemon/main.d.ts.map +0 -1
  135. package/dist/src/daemon/processor.d.ts +0 -44
  136. package/dist/src/daemon/processor.d.ts.map +0 -1
  137. package/dist/src/daemon/processor.js +0 -142
  138. package/dist/src/daemon/processor.js.map +0 -1
  139. package/dist/src/daemon/server.d.ts +0 -24
  140. package/dist/src/daemon/server.d.ts.map +0 -1
  141. package/dist/src/daemon/server.js +0 -117
  142. package/dist/src/daemon/server.js.map +0 -1
  143. package/dist/src/daemon/watcher.d.ts +0 -29
  144. package/dist/src/daemon/watcher.d.ts.map +0 -1
  145. package/dist/src/daemon/watcher.js +0 -67
  146. package/dist/src/daemon/watcher.js.map +0 -1
  147. package/dist/src/hooks/client.d.ts +0 -20
  148. package/dist/src/hooks/client.d.ts.map +0 -1
  149. package/dist/src/hooks/client.js +0 -111
  150. package/dist/src/hooks/client.js.map +0 -1
  151. package/dist/src/hooks/post-tool-use.d.ts +0 -2
  152. package/dist/src/hooks/post-tool-use.d.ts.map +0 -1
  153. package/dist/src/hooks/read-stdin.d.ts +0 -2
  154. package/dist/src/hooks/read-stdin.d.ts.map +0 -1
  155. package/dist/src/hooks/read-stdin.js +0 -10
  156. package/dist/src/hooks/read-stdin.js.map +0 -1
  157. package/dist/src/hooks/session-end.d.ts +0 -2
  158. package/dist/src/hooks/session-end.d.ts.map +0 -1
  159. package/dist/src/hooks/session-start.d.ts +0 -2
  160. package/dist/src/hooks/session-start.d.ts.map +0 -1
  161. package/dist/src/hooks/stop.d.ts +0 -2
  162. package/dist/src/hooks/stop.d.ts.map +0 -1
  163. package/dist/src/hooks/user-prompt-submit.d.ts +0 -2
  164. package/dist/src/hooks/user-prompt-submit.d.ts.map +0 -1
  165. package/dist/src/index/fts.d.ts +0 -16
  166. package/dist/src/index/fts.d.ts.map +0 -1
  167. package/dist/src/index/fts.js +0 -53
  168. package/dist/src/index/fts.js.map +0 -1
  169. package/dist/src/index/rebuild.d.ts +0 -4
  170. package/dist/src/index/rebuild.d.ts.map +0 -1
  171. package/dist/src/index/rebuild.js +0 -40
  172. package/dist/src/index/rebuild.js.map +0 -1
  173. package/dist/src/index/sqlite.d.ts +0 -33
  174. package/dist/src/index/sqlite.d.ts.map +0 -1
  175. package/dist/src/index/sqlite.js +0 -99
  176. package/dist/src/index/sqlite.js.map +0 -1
  177. package/dist/src/index/vectors.d.ts +0 -24
  178. package/dist/src/index/vectors.d.ts.map +0 -1
  179. package/dist/src/index/vectors.js +0 -97
  180. package/dist/src/index/vectors.js.map +0 -1
  181. package/dist/src/intelligence/anthropic.d.ts +0 -17
  182. package/dist/src/intelligence/anthropic.d.ts.map +0 -1
  183. package/dist/src/intelligence/anthropic.js +0 -36
  184. package/dist/src/intelligence/anthropic.js.map +0 -1
  185. package/dist/src/intelligence/embeddings.d.ts +0 -3
  186. package/dist/src/intelligence/embeddings.d.ts.map +0 -1
  187. package/dist/src/intelligence/embeddings.js +0 -15
  188. package/dist/src/intelligence/embeddings.js.map +0 -1
  189. package/dist/src/intelligence/llm.d.ts +0 -33
  190. package/dist/src/intelligence/llm.d.ts.map +0 -1
  191. package/dist/src/intelligence/llm.js +0 -26
  192. package/dist/src/intelligence/llm.js.map +0 -1
  193. package/dist/src/intelligence/lm-studio.d.ts +0 -20
  194. package/dist/src/intelligence/lm-studio.d.ts.map +0 -1
  195. package/dist/src/intelligence/lm-studio.js +0 -59
  196. package/dist/src/intelligence/lm-studio.js.map +0 -1
  197. package/dist/src/intelligence/ollama.d.ts +0 -22
  198. package/dist/src/intelligence/ollama.d.ts.map +0 -1
  199. package/dist/src/intelligence/ollama.js +0 -64
  200. package/dist/src/intelligence/ollama.js.map +0 -1
  201. package/dist/src/intelligence/response.d.ts +0 -29
  202. package/dist/src/intelligence/response.d.ts.map +0 -1
  203. package/dist/src/intelligence/response.js +0 -71
  204. package/dist/src/intelligence/response.js.map +0 -1
  205. package/dist/src/logs/format.d.ts +0 -6
  206. package/dist/src/logs/format.d.ts.map +0 -1
  207. package/dist/src/logs/format.js +0 -46
  208. package/dist/src/logs/format.js.map +0 -1
  209. package/dist/src/logs/reader.d.ts +0 -28
  210. package/dist/src/logs/reader.d.ts.map +0 -1
  211. package/dist/src/logs/reader.js +0 -106
  212. package/dist/src/logs/reader.js.map +0 -1
  213. package/dist/src/mcp/server.d.ts +0 -16
  214. package/dist/src/mcp/server.d.ts.map +0 -1
  215. package/dist/src/mcp/tools/consolidate.d.ts +0 -15
  216. package/dist/src/mcp/tools/consolidate.d.ts.map +0 -1
  217. package/dist/src/mcp/tools/consolidate.js +0 -49
  218. package/dist/src/mcp/tools/consolidate.js.map +0 -1
  219. package/dist/src/mcp/tools/graph.d.ts +0 -30
  220. package/dist/src/mcp/tools/graph.d.ts.map +0 -1
  221. package/dist/src/mcp/tools/graph.js +0 -106
  222. package/dist/src/mcp/tools/graph.js.map +0 -1
  223. package/dist/src/mcp/tools/logs.d.ts +0 -3
  224. package/dist/src/mcp/tools/logs.d.ts.map +0 -1
  225. package/dist/src/mcp/tools/logs.js +0 -7
  226. package/dist/src/mcp/tools/logs.js.map +0 -1
  227. package/dist/src/mcp/tools/plans.d.ts +0 -23
  228. package/dist/src/mcp/tools/plans.d.ts.map +0 -1
  229. package/dist/src/mcp/tools/plans.js +0 -63
  230. package/dist/src/mcp/tools/plans.js.map +0 -1
  231. package/dist/src/mcp/tools/recall.d.ts +0 -30
  232. package/dist/src/mcp/tools/recall.d.ts.map +0 -1
  233. package/dist/src/mcp/tools/recall.js +0 -34
  234. package/dist/src/mcp/tools/recall.js.map +0 -1
  235. package/dist/src/mcp/tools/remember.d.ts +0 -15
  236. package/dist/src/mcp/tools/remember.d.ts.map +0 -1
  237. package/dist/src/mcp/tools/remember.js +0 -18
  238. package/dist/src/mcp/tools/remember.js.map +0 -1
  239. package/dist/src/mcp/tools/search.d.ts +0 -19
  240. package/dist/src/mcp/tools/search.d.ts.map +0 -1
  241. package/dist/src/mcp/tools/search.js +0 -59
  242. package/dist/src/mcp/tools/search.js.map +0 -1
  243. package/dist/src/mcp/tools/sessions.d.ts +0 -21
  244. package/dist/src/mcp/tools/sessions.d.ts.map +0 -1
  245. package/dist/src/mcp/tools/sessions.js +0 -36
  246. package/dist/src/mcp/tools/sessions.js.map +0 -1
  247. package/dist/src/mcp/tools/supersede.d.ts +0 -14
  248. package/dist/src/mcp/tools/supersede.d.ts.map +0 -1
  249. package/dist/src/mcp/tools/supersede.js +0 -30
  250. package/dist/src/mcp/tools/supersede.js.map +0 -1
  251. package/dist/src/mcp/tools/team.d.ts +0 -16
  252. package/dist/src/mcp/tools/team.d.ts.map +0 -1
  253. package/dist/src/mcp/tools/team.js +0 -32
  254. package/dist/src/mcp/tools/team.js.map +0 -1
  255. package/dist/src/obsidian/formatter.d.ts +0 -80
  256. package/dist/src/obsidian/formatter.d.ts.map +0 -1
  257. package/dist/src/obsidian/formatter.js +0 -227
  258. package/dist/src/obsidian/formatter.js.map +0 -1
  259. package/dist/src/prompts/index.d.ts +0 -13
  260. package/dist/src/prompts/index.d.ts.map +0 -1
  261. package/dist/src/prompts/index.js +0 -75
  262. package/dist/src/prompts/index.js.map +0 -1
  263. package/dist/src/vault/frontmatter.d.ts +0 -6
  264. package/dist/src/vault/frontmatter.d.ts.map +0 -1
  265. package/dist/src/vault/frontmatter.js +0 -10
  266. package/dist/src/vault/frontmatter.js.map +0 -1
  267. package/dist/src/vault/observations.d.ts +0 -10
  268. package/dist/src/vault/observations.d.ts.map +0 -1
  269. package/dist/src/vault/observations.js +0 -33
  270. package/dist/src/vault/observations.js.map +0 -1
  271. package/dist/src/vault/reader.d.ts +0 -10
  272. package/dist/src/vault/reader.d.ts.map +0 -1
  273. package/dist/src/vault/reader.js +0 -48
  274. package/dist/src/vault/reader.js.map +0 -1
  275. package/dist/src/vault/resolve.d.ts +0 -18
  276. package/dist/src/vault/resolve.d.ts.map +0 -1
  277. package/dist/src/vault/resolve.js +0 -51
  278. package/dist/src/vault/resolve.js.map +0 -1
  279. package/dist/src/vault/session-id.d.ts +0 -16
  280. package/dist/src/vault/session-id.d.ts.map +0 -1
  281. package/dist/src/vault/session-id.js +0 -29
  282. package/dist/src/vault/session-id.js.map +0 -1
  283. package/dist/src/vault/types.d.ts +0 -88
  284. package/dist/src/vault/types.d.ts.map +0 -1
  285. package/dist/src/vault/types.js +0 -94
  286. package/dist/src/vault/types.js.map +0 -1
  287. package/dist/src/vault/writer.d.ts +0 -66
  288. package/dist/src/vault/writer.d.ts.map +0 -1
  289. package/dist/src/vault/writer.js +0 -217
  290. package/dist/src/vault/writer.js.map +0 -1
@@ -1,29 +0,0 @@
1
- /**
2
- * Clean LLM response text before parsing.
3
- *
4
- * Reasoning models (DeepSeek, Qwen, GLM, etc.) embed chain-of-thought
5
- * in the response using special tags. These must be stripped before
6
- * JSON parsing or value extraction.
7
- */
8
- /**
9
- * Strip reasoning/chain-of-thought tokens from LLM response text.
10
- * Returns the final answer without the thinking process.
11
- */
12
- export declare function stripReasoningTokens(text: string): string;
13
- /**
14
- * Extract JSON from an LLM response that may contain markdown fences,
15
- * reasoning tokens, or other wrapper text.
16
- *
17
- * Tries in order:
18
- * 1. Strip reasoning tokens
19
- * 2. Extract from ```json ... ``` code fences
20
- * 3. Find bare {...} JSON object
21
- * 4. Parse the cleaned text directly
22
- */
23
- export declare function extractJson(text: string): unknown;
24
- /**
25
- * Extract a numeric value from an LLM response that may contain
26
- * reasoning tokens or extra text around the number.
27
- */
28
- export declare function extractNumber(text: string): number;
29
- //# sourceMappingURL=response.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../src/intelligence/response.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWzD;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAiBjD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKlD"}
@@ -1,71 +0,0 @@
1
- /**
2
- * Clean LLM response text before parsing.
3
- *
4
- * Reasoning models (DeepSeek, Qwen, GLM, etc.) embed chain-of-thought
5
- * in the response using special tags. These must be stripped before
6
- * JSON parsing or value extraction.
7
- */
8
- // Patterns for reasoning model chain-of-thought tokens.
9
- // Order matters: most specific patterns first.
10
- const REASONING_PATTERNS = [
11
- // <think>...</think>answer (DeepSeek, Qwen, GLM, many others)
12
- /<think>[\s\S]*?<\/think>\s*/gi,
13
- // Implicit opening: reasoning...</think>answer (GLM-4.7 observed)
14
- /^[\s\S]*?<\/think>\s*/i,
15
- // <reasoning>...</reasoning>answer
16
- /<reasoning>[\s\S]*?<\/reasoning>\s*/gi,
17
- // <|thinking|>...<|/thinking|>answer
18
- /<\|thinking\|>[\s\S]*?<\|\/thinking\|>\s*/gi,
19
- ];
20
- /**
21
- * Strip reasoning/chain-of-thought tokens from LLM response text.
22
- * Returns the final answer without the thinking process.
23
- */
24
- export function stripReasoningTokens(text) {
25
- if (!text)
26
- return text;
27
- for (const pattern of REASONING_PATTERNS) {
28
- const stripped = text.replace(pattern, '').trim();
29
- if (stripped && stripped !== text.trim()) {
30
- return stripped;
31
- }
32
- }
33
- return text;
34
- }
35
- /**
36
- * Extract JSON from an LLM response that may contain markdown fences,
37
- * reasoning tokens, or other wrapper text.
38
- *
39
- * Tries in order:
40
- * 1. Strip reasoning tokens
41
- * 2. Extract from ```json ... ``` code fences
42
- * 3. Find bare {...} JSON object
43
- * 4. Parse the cleaned text directly
44
- */
45
- export function extractJson(text) {
46
- const cleaned = stripReasoningTokens(text);
47
- // Try code fence extraction
48
- const fenceMatch = cleaned.match(/```(?:json)?\s*\n?([\s\S]*?)\n?```/);
49
- if (fenceMatch) {
50
- return JSON.parse(fenceMatch[1].trim());
51
- }
52
- // Try bare JSON object
53
- const objectMatch = cleaned.match(/\{[\s\S]*\}/);
54
- if (objectMatch) {
55
- return JSON.parse(objectMatch[0]);
56
- }
57
- // Try direct parse
58
- return JSON.parse(cleaned);
59
- }
60
- /**
61
- * Extract a numeric value from an LLM response that may contain
62
- * reasoning tokens or extra text around the number.
63
- */
64
- export function extractNumber(text) {
65
- const cleaned = stripReasoningTokens(text).trim();
66
- const match = cleaned.match(/(\d+\.?\d*)/);
67
- if (match)
68
- return parseFloat(match[1]);
69
- return parseFloat(cleaned);
70
- }
71
- //# sourceMappingURL=response.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/intelligence/response.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,wDAAwD;AACxD,+CAA+C;AAC/C,MAAM,kBAAkB,GAAG;IACzB,+DAA+D;IAC/D,+BAA+B;IAC/B,mEAAmE;IACnE,wBAAwB;IACxB,mCAAmC;IACnC,uCAAuC;IACvC,qCAAqC;IACrC,6CAA6C;CAC9C,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,IAAI,QAAQ,IAAI,QAAQ,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACzC,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAE3C,4BAA4B;IAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACvE,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,uBAAuB;IACvB,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACjD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,mBAAmB;IACnB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC3C,IAAI,KAAK;QAAE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { LogEntry } from '../daemon/logger.js';
2
- export declare function formatLogLine(entry: LogEntry): string;
3
- export declare function formatLocalTime(iso: string): string;
4
- export declare function parseIntFlag(args: string[], long: string, short?: string): number | undefined;
5
- export declare function parseStringFlag(args: string[], long: string, short?: string): string | undefined;
6
- //# sourceMappingURL=format.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/logs/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAQpD,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAiBrD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMnD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ7F;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOhG"}
@@ -1,46 +0,0 @@
1
- /** Max display length for extra field values in pretty-printed output. */
2
- const LOG_VALUE_MAX_DISPLAY = 80;
3
- /** Core fields that are handled positionally, not as extras. */
4
- const CORE_FIELDS = ['timestamp', 'level', 'component', 'message'];
5
- export function formatLogLine(entry) {
6
- const time = formatLocalTime(entry.timestamp);
7
- const lvl = entry.level.toUpperCase().padEnd(5);
8
- const comp = `[${entry.component}]`.padEnd(14);
9
- const extras = [];
10
- for (const [key, value] of Object.entries(entry)) {
11
- if (CORE_FIELDS.includes(key))
12
- continue;
13
- const str = String(value);
14
- const display = str.length > LOG_VALUE_MAX_DISPLAY
15
- ? str.slice(0, LOG_VALUE_MAX_DISPLAY) + '...'
16
- : str;
17
- extras.push(`${key}=${display}`);
18
- }
19
- const extraStr = extras.length > 0 ? ' ' + extras.join(' ') : '';
20
- return `${time} ${lvl} ${comp} ${entry.message}${extraStr}`;
21
- }
22
- export function formatLocalTime(iso) {
23
- const d = new Date(iso);
24
- const hh = String(d.getHours()).padStart(2, '0');
25
- const mm = String(d.getMinutes()).padStart(2, '0');
26
- const ss = String(d.getSeconds()).padStart(2, '0');
27
- return `${hh}:${mm}:${ss}`;
28
- }
29
- export function parseIntFlag(args, long, short) {
30
- for (let i = 0; i < args.length; i++) {
31
- if (args[i] === long || (short && args[i] === short)) {
32
- const val = parseInt(args[i + 1], 10);
33
- return isNaN(val) ? undefined : val;
34
- }
35
- }
36
- return undefined;
37
- }
38
- export function parseStringFlag(args, long, short) {
39
- for (let i = 0; i < args.length; i++) {
40
- if (args[i] === long || (short && args[i] === short)) {
41
- return args[i + 1];
42
- }
43
- }
44
- return undefined;
45
- }
46
- //# sourceMappingURL=format.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/logs/format.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- import type { LogEntry } from '../daemon/logger.js';
2
- import { LEVEL_ORDER } from '../daemon/logger.js';
3
- import type { LogLevel } from '../daemon/logger.js';
4
- export { LEVEL_ORDER };
5
- export type { LogEntry, LogLevel };
6
- export interface LogQuery {
7
- limit?: number;
8
- level?: LogLevel;
9
- component?: string;
10
- since?: string;
11
- until?: string;
12
- }
13
- export interface LogQueryResult {
14
- entries: LogEntry[];
15
- total: number;
16
- truncated: boolean;
17
- }
18
- /** Default number of entries returned when no limit is specified. */
19
- export declare const DEFAULT_LOG_TAIL = 50;
20
- /**
21
- * Query parsed log entries from all JSONL log files on disk.
22
- * Reads both daemon logs and MCP activity logs.
23
- * Returns the last N matching entries (tail behavior).
24
- */
25
- export declare function queryLogs(logDir: string, query?: LogQuery): LogQueryResult;
26
- /** Test whether a single entry matches the query filters. */
27
- export declare function matchesFilter(entry: LogEntry, query: LogQuery): boolean;
28
- //# sourceMappingURL=reader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../../src/logs/reader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAEnC,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,qEAAqE;AACrE,eAAO,MAAM,gBAAgB,KAAK,CAAC;AASnC;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,QAAa,GAAG,cAAc,CAmB9E;AAsDD,6DAA6D;AAC7D,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAUvE"}
@@ -1,106 +0,0 @@
1
- import fs from 'node:fs';
2
- import path from 'node:path';
3
- import { LEVEL_ORDER } from '../daemon/logger.js';
4
- export { LEVEL_ORDER };
5
- /** Default number of entries returned when no limit is specified. */
6
- export const DEFAULT_LOG_TAIL = 50;
7
- /** Hard ceiling on entries returned to prevent memory issues. */
8
- const MAX_LOG_QUERY_LIMIT = 10_000;
9
- /** Matches daemon.log, rotated daemon.N.log, and mcp.jsonl. */
10
- const DAEMON_LOG_PATTERN = /^daemon(?:\.(\d+))?\.log$/;
11
- const MCP_LOG_FILE = 'mcp.jsonl';
12
- /**
13
- * Query parsed log entries from all JSONL log files on disk.
14
- * Reads both daemon logs and MCP activity logs.
15
- * Returns the last N matching entries (tail behavior).
16
- */
17
- export function queryLogs(logDir, query = {}) {
18
- const limit = Math.min(query.limit ?? DEFAULT_LOG_TAIL, MAX_LOG_QUERY_LIMIT);
19
- const logFiles = discoverLogFiles(logDir);
20
- if (logFiles.length === 0) {
21
- return { entries: [], total: 0, truncated: false };
22
- }
23
- const allEntries = readAndParse(logFiles);
24
- // Sort all entries by timestamp so daemon + MCP logs interleave correctly
25
- allEntries.sort((a, b) => (a.timestamp ?? '').localeCompare(b.timestamp ?? ''));
26
- const filtered = applyFilters(allEntries, query);
27
- const total = filtered.length;
28
- const truncated = total > limit;
29
- const entries = truncated ? filtered.slice(total - limit) : filtered;
30
- return { entries, total, truncated };
31
- }
32
- /** Discover and sort log files: MCP first, then rotated daemon logs oldest-first, current daemon last. */
33
- function discoverLogFiles(logDir) {
34
- let files;
35
- try {
36
- files = fs.readdirSync(logDir);
37
- }
38
- catch {
39
- return [];
40
- }
41
- const matched = [];
42
- for (const file of files) {
43
- if (file === MCP_LOG_FILE) {
44
- matched.push({ path: path.join(logDir, file), order: -1 });
45
- continue;
46
- }
47
- const m = DAEMON_LOG_PATTERN.exec(file);
48
- if (!m)
49
- continue;
50
- const rotationNum = m[1] ? parseInt(m[1], 10) : 0;
51
- matched.push({ path: path.join(logDir, file), order: rotationNum });
52
- }
53
- matched.sort((a, b) => {
54
- if (a.order === 0)
55
- return 1;
56
- if (b.order === 0)
57
- return -1;
58
- return b.order - a.order;
59
- });
60
- return matched.map((m) => m.path);
61
- }
62
- /** Read all log files and parse each line as JSON. Malformed lines are skipped. */
63
- function readAndParse(filePaths) {
64
- const entries = [];
65
- for (const filePath of filePaths) {
66
- let content;
67
- try {
68
- content = fs.readFileSync(filePath, 'utf-8');
69
- }
70
- catch {
71
- continue;
72
- }
73
- for (const line of content.split('\n')) {
74
- if (!line.trim())
75
- continue;
76
- try {
77
- entries.push(JSON.parse(line));
78
- }
79
- catch {
80
- // Malformed line — skip
81
- }
82
- }
83
- }
84
- return entries;
85
- }
86
- /** Test whether a single entry matches the query filters. */
87
- export function matchesFilter(entry, query) {
88
- if (query.level) {
89
- const entryOrder = LEVEL_ORDER[entry.level] ?? 0;
90
- const minOrder = LEVEL_ORDER[query.level];
91
- if (entryOrder < minOrder)
92
- return false;
93
- }
94
- if (query.component && entry.component !== query.component)
95
- return false;
96
- if (query.since && entry.timestamp < query.since)
97
- return false;
98
- if (query.until && entry.timestamp > query.until)
99
- return false;
100
- return true;
101
- }
102
- /** Apply level, component, and time range filters. */
103
- function applyFilters(entries, query) {
104
- return entries.filter((entry) => matchesFilter(entry, query));
105
- }
106
- //# sourceMappingURL=reader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reader.js","sourceRoot":"","sources":["../../../src/logs/reader.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- import type { EmbeddingProvider } from '../intelligence/llm.js';
2
- import { VectorIndex } from '../index/vectors.js';
3
- interface ServerConfig {
4
- vaultDir: string;
5
- teamUser?: string;
6
- embeddingProvider?: EmbeddingProvider;
7
- vectorIndex?: VectorIndex;
8
- }
9
- export interface MycoServer {
10
- name: string;
11
- getRegisteredTools(): string[];
12
- start(): Promise<void>;
13
- }
14
- export declare function createMycoServer(config: ServerConfig): MycoServer;
15
- export {};
16
- //# sourceMappingURL=server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAQlD,UAAU,YAAY;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAkJD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,IAAI,MAAM,EAAE,CAAC;IAC/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,UAAU,CAqGjE"}
@@ -1,15 +0,0 @@
1
- import type { MycoIndex } from '../../index/sqlite.js';
2
- interface ConsolidateInput {
3
- source_memory_ids: string[];
4
- consolidated_content: string;
5
- observation_type: string;
6
- tags?: string[];
7
- }
8
- interface ConsolidateResult {
9
- wisdom_id: string;
10
- wisdom_path: string;
11
- sources_archived: number;
12
- }
13
- export declare function handleMycoConsolidate(vaultDir: string, index: MycoIndex, input: ConsolidateInput): Promise<ConsolidateResult>;
14
- export {};
15
- //# sourceMappingURL=consolidate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"consolidate.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/consolidate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAKvD,UAAU,gBAAgB;IACxB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,UAAU,iBAAiB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,iBAAiB,CAAC,CAmD5B"}
@@ -1,49 +0,0 @@
1
- import { VaultWriter } from '../../vault/writer.js';
2
- import { indexNote } from '../../index/rebuild.js';
3
- import { randomBytes } from 'node:crypto';
4
- import fs from 'node:fs';
5
- import path from 'node:path';
6
- export async function handleMycoConsolidate(vaultDir, index, input) {
7
- const writer = new VaultWriter(vaultDir);
8
- const wisdomId = `${input.observation_type}-wisdom-${randomBytes(4).toString('hex')}`;
9
- // Build the wisdom note content with source links for Obsidian graph
10
- const sourceLinks = input.source_memory_ids.map((id) => `- [[${id}]]`).join('\n');
11
- const fullContent = `${input.consolidated_content}\n\n## Sources\n\nConsolidated from:\n${sourceLinks}`;
12
- // Create the consolidated wisdom note
13
- const wisdomPath = writer.writeMemory({
14
- id: wisdomId,
15
- observation_type: input.observation_type,
16
- tags: [...(input.tags ?? []), 'wisdom', 'consolidated'],
17
- content: fullContent,
18
- });
19
- // Add consolidated_from to the new note's frontmatter
20
- writer.updateNoteFrontmatter(wisdomPath, {
21
- consolidated_from: input.source_memory_ids,
22
- }, true);
23
- // Mark each source memory as superseded by the wisdom note
24
- let archived = 0;
25
- for (const sourceId of input.source_memory_ids) {
26
- const notes = index.queryByIds([sourceId]);
27
- if (notes.length > 0) {
28
- const notePath = notes[0].path;
29
- // Update frontmatter
30
- writer.updateNoteFrontmatter(notePath, {
31
- status: 'superseded',
32
- superseded_by: wisdomId,
33
- }, true);
34
- // Append supersession notice with wikilink to body
35
- const fullPath = path.join(vaultDir, notePath);
36
- const content = fs.readFileSync(fullPath, 'utf-8');
37
- if (!content.includes('Superseded by::')) {
38
- const notice = `\n\n> [!warning] Consolidated\n> This observation has been consolidated into a wisdom note.\n\nSuperseded by:: [[${wisdomId}]]`;
39
- fs.writeFileSync(fullPath, content.trimEnd() + notice + '\n', 'utf-8');
40
- }
41
- indexNote(index, vaultDir, notePath);
42
- archived++;
43
- }
44
- }
45
- // Index the new wisdom note
46
- indexNote(index, vaultDir, wisdomPath);
47
- return { wisdom_id: wisdomId, wisdom_path: wisdomPath, sources_archived: archived };
48
- }
49
- //# sourceMappingURL=consolidate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"consolidate.js","sourceRoot":"","sources":["../../../../src/mcp/tools/consolidate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAe7B,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAgB,EAChB,KAAgB,EAChB,KAAuB;IAEvB,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,gBAAgB,WAAW,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IAEtF,qEAAqE;IACrE,MAAM,WAAW,GAAG,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClF,MAAM,WAAW,GAAG,GAAG,KAAK,CAAC,oBAAoB,yCAAyC,WAAW,EAAE,CAAC;IAExG,sCAAsC;IACtC,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;QACpC,EAAE,EAAE,QAAQ;QACZ,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC;QACvD,OAAO,EAAE,WAAW;KACrB,CAAC,CAAC;IAEH,sDAAsD;IACtD,MAAM,CAAC,qBAAqB,CAAC,UAAU,EAAE;QACvC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;KAC3C,EAAE,IAAI,CAAC,CAAC;IAET,2DAA2D;IAC3D,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAE/B,qBAAqB;YACrB,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE;gBACrC,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,QAAQ;aACxB,EAAE,IAAI,CAAC,CAAC;YAET,mDAAmD;YACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,oHAAoH,QAAQ,IAAI,CAAC;gBAChJ,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;YACzE,CAAC;YAED,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACrC,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAEvC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC;AACtF,CAAC"}
@@ -1,30 +0,0 @@
1
- import type { MycoIndex } from '../../index/sqlite.js';
2
- interface GraphInput {
3
- note_id: string;
4
- direction?: 'incoming' | 'outgoing' | 'both';
5
- depth?: number;
6
- }
7
- interface GraphLink {
8
- source: string;
9
- target: string;
10
- source_type: string;
11
- target_type: string;
12
- source_title: string;
13
- target_title: string;
14
- }
15
- interface GraphResult {
16
- note_id: string;
17
- links: GraphLink[];
18
- }
19
- export declare function handleMycoGraph(index: MycoIndex, input: GraphInput): Promise<GraphResult>;
20
- interface OrphansResult {
21
- orphans: Array<{
22
- id: string;
23
- type: string;
24
- title: string;
25
- path: string;
26
- }>;
27
- }
28
- export declare function handleMycoOrphans(index: MycoIndex): Promise<OrphansResult>;
29
- export {};
30
- //# sourceMappingURL=graph.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,uBAAuB,CAAC;AAIpE,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,SAAS;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAgBD,wBAAsB,eAAe,CACnC,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,WAAW,CAAC,CAiEtB;AAED,UAAU,aAAa;IACrB,OAAO,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3E;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,CAiChF"}
@@ -1,106 +0,0 @@
1
- const WIKILINK_RE = /\[\[([^\]|]+)(?:\|[^\]]+)?\]\]/g;
2
- function extractWikilinks(content) {
3
- const links = [];
4
- let match;
5
- while ((match = WIKILINK_RE.exec(content)) !== null) {
6
- links.push(match[1]);
7
- }
8
- return links;
9
- }
10
- function findNoteById(index, noteId) {
11
- const results = index.query({ id: noteId, limit: 1 });
12
- return results[0] ?? null;
13
- }
14
- export async function handleMycoGraph(index, input) {
15
- const direction = input.direction ?? 'both';
16
- const depth = Math.min(input.depth ?? 1, 3);
17
- const visited = new Set();
18
- const allLinks = [];
19
- function traverse(noteId, currentDepth) {
20
- if (currentDepth > depth || visited.has(noteId))
21
- return;
22
- visited.add(noteId);
23
- const note = findNoteById(index, noteId);
24
- // Outgoing: wikilinks in this note's content
25
- if (direction === 'outgoing' || direction === 'both') {
26
- if (note) {
27
- const targets = extractWikilinks(note.content);
28
- for (const target of targets) {
29
- const targetNote = findNoteById(index, target);
30
- allLinks.push({
31
- source: noteId,
32
- target,
33
- source_type: note.type,
34
- target_type: targetNote?.type ?? 'unknown',
35
- source_title: note.title,
36
- target_title: targetNote?.title ?? target,
37
- });
38
- if (currentDepth < depth)
39
- traverse(target, currentDepth + 1);
40
- }
41
- }
42
- }
43
- // Incoming: other notes whose content links to this note
44
- if (direction === 'incoming' || direction === 'both') {
45
- const allNotes = index.query({ limit: 500 });
46
- for (const n of allNotes) {
47
- if (n.id === noteId)
48
- continue;
49
- const links = extractWikilinks(n.content);
50
- if (links.includes(noteId)) {
51
- allLinks.push({
52
- source: n.id,
53
- target: noteId,
54
- source_type: n.type,
55
- target_type: note?.type ?? 'unknown',
56
- source_title: n.title,
57
- target_title: note?.title ?? noteId,
58
- });
59
- if (currentDepth < depth)
60
- traverse(n.id, currentDepth + 1);
61
- }
62
- }
63
- }
64
- }
65
- traverse(input.note_id, 1);
66
- // Deduplicate links
67
- const seen = new Set();
68
- const unique = allLinks.filter((link) => {
69
- const key = `${link.source}->${link.target}`;
70
- if (seen.has(key))
71
- return false;
72
- seen.add(key);
73
- return true;
74
- });
75
- return { note_id: input.note_id, links: unique };
76
- }
77
- export async function handleMycoOrphans(index) {
78
- const allNotes = index.query({ limit: 1000 });
79
- // Build maps of all links
80
- const hasOutgoing = new Set();
81
- const isLinkedTo = new Set();
82
- for (const note of allNotes) {
83
- const links = extractWikilinks(note.content);
84
- if (links.length > 0)
85
- hasOutgoing.add(note.id);
86
- for (const target of links) {
87
- isLinkedTo.add(target);
88
- }
89
- // Also check frontmatter session/plan refs
90
- const fm = note.frontmatter;
91
- if (fm.session && typeof fm.session === 'string') {
92
- isLinkedTo.add(fm.session);
93
- }
94
- if (fm.plan && typeof fm.plan === 'string') {
95
- isLinkedTo.add(fm.plan);
96
- }
97
- }
98
- const orphans = allNotes.filter((note) => !hasOutgoing.has(note.id) && !isLinkedTo.has(note.id)).map((note) => ({
99
- id: note.id,
100
- type: note.type,
101
- title: note.title,
102
- path: note.path,
103
- }));
104
- return { orphans };
105
- }
106
- //# sourceMappingURL=graph.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../../src/mcp/tools/graph.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { LogQuery, LogQueryResult } from '../../logs/reader.js';
2
- export declare function handleMycoLogs(vaultDir: string, input: LogQuery): Promise<LogQueryResult>;
3
- //# sourceMappingURL=logs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/logs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGrE,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,QAAQ,GACd,OAAO,CAAC,cAAc,CAAC,CAGzB"}
@@ -1,7 +0,0 @@
1
- import { queryLogs } from '../../logs/reader.js';
2
- import path from 'node:path';
3
- export async function handleMycoLogs(vaultDir, input) {
4
- const logDir = path.join(vaultDir, 'logs');
5
- return queryLogs(logDir, input);
6
- }
7
- //# sourceMappingURL=logs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../../src/mcp/tools/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAgB,EAChB,KAAe;IAEf,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC3C,OAAO,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAClC,CAAC"}
@@ -1,23 +0,0 @@
1
- import type { MycoIndex } from '../../index/sqlite.js';
2
- interface PlansInput {
3
- status?: 'active' | 'in_progress' | 'completed' | 'abandoned' | 'all';
4
- id?: string;
5
- }
6
- interface PlanSummary {
7
- id: string;
8
- title: string;
9
- status: string;
10
- progress: string;
11
- tags: string[];
12
- }
13
- interface PlanDetail extends PlanSummary {
14
- content: string;
15
- sessions: Array<{
16
- id: string;
17
- title: string;
18
- started: string;
19
- }>;
20
- }
21
- export declare function handleMycoPlans(index: MycoIndex, input: PlansInput): Promise<PlanSummary[] | PlanDetail>;
22
- export {};
23
- //# sourceMappingURL=plans.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plans.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/plans.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,UAAU,UAAU;IAClB,MAAM,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,WAAW,GAAG,WAAW,GAAG,KAAK,CAAC;IACtE,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,UAAU,UAAW,SAAQ,WAAW;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjE;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,CAsBrC"}