@noesis-brain/mcp-server 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +93 -5
  2. package/dist/agent/runner.d.ts +25 -0
  3. package/dist/agent/runner.d.ts.map +1 -0
  4. package/dist/agent/runner.js +218 -0
  5. package/dist/agent/runner.js.map +1 -0
  6. package/dist/api/NoesisClient.d.ts +119 -0
  7. package/dist/api/NoesisClient.d.ts.map +1 -1
  8. package/dist/api/NoesisClient.js +130 -6
  9. package/dist/api/NoesisClient.js.map +1 -1
  10. package/dist/cli/setup.d.ts.map +1 -1
  11. package/dist/cli/setup.js +409 -35
  12. package/dist/cli/setup.js.map +1 -1
  13. package/dist/database/PostgresAdapter.js +216 -216
  14. package/dist/index.js +31 -1
  15. package/dist/index.js.map +1 -1
  16. package/dist/resolve/noteRef.d.ts +101 -0
  17. package/dist/resolve/noteRef.d.ts.map +1 -0
  18. package/dist/resolve/noteRef.js +186 -0
  19. package/dist/resolve/noteRef.js.map +1 -0
  20. package/dist/resolve/rootsFormat.d.ts +12 -0
  21. package/dist/resolve/rootsFormat.d.ts.map +1 -0
  22. package/dist/resolve/rootsFormat.js +63 -0
  23. package/dist/resolve/rootsFormat.js.map +1 -0
  24. package/dist/services/embedding.js +19 -19
  25. package/dist/tools/backlog.d.ts +4 -0
  26. package/dist/tools/backlog.d.ts.map +1 -0
  27. package/dist/tools/backlog.js +157 -0
  28. package/dist/tools/backlog.js.map +1 -0
  29. package/dist/tools/index.d.ts +52 -1
  30. package/dist/tools/index.d.ts.map +1 -1
  31. package/dist/tools/index.js +438 -142
  32. package/dist/tools/index.js.map +1 -1
  33. package/dist/tools/navis.d.ts.map +1 -1
  34. package/dist/tools/navis.js +4 -0
  35. package/dist/tools/navis.js.map +1 -1
  36. package/package.json +9 -4
  37. package/scripts/agent-e2e.mjs +69 -0
  38. package/scripts/noesis-capture-session-end.mjs +94 -0
  39. package/scripts/noesis-capture-watcher.mjs +907 -0
  40. package/scripts/noesis-sync.mjs +469 -469
  41. package/skill-templates/noesis-capture.md +166 -0
  42. package/skill-templates/noesis-create-study-note.md +149 -0
  43. package/skill-templates/noesis-find-related.md +89 -0
  44. package/skill-templates/noesis-investigate.md +90 -0
  45. package/skill-templates/noesis-manage-news.md +80 -0
  46. package/skill-templates/noesis-refine-note.md +92 -92
  47. package/skill-templates/noesis-skim-read.md +72 -0
  48. package/skill-templates/noesis-sync.md +110 -110
  49. package/templates/claude-md-block.md +26 -22
  50. package/templates/claude-md-restructure-on-sync.md +10 -0
@@ -2,7 +2,27 @@
2
2
  * Tool registry for md-manager MCP server
3
3
  */
4
4
  import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
- import { NoesisClient } from '../api/NoesisClient.js';
5
+ import { NoesisClient, type Note } from '../api/NoesisClient.js';
6
+ /**
7
+ * Resolve a user-supplied file path to a registered root + relative path,
8
+ * mirroring the sync resolver (see sync_notes): expand `~` / `%USERPROFILE%`
9
+ * against this machine's home, resolve to absolute, then prefix-match the input
10
+ * against each root's active path, preferring the longest (most specific) match.
11
+ * Returns null if the path isn't inside any known root.
12
+ *
13
+ * This is what lets get_note resolve an absolute clipboard path
14
+ * (e.g. C:\Users\me\Noesis\foo.md) against a tilde-stored cloud root (~/Noesis):
15
+ * the backend /notes/by-path route does a literal prefix compare and never
16
+ * expands `~`, so absolute paths can't match cloud roots there — resolving
17
+ * client-side and calling /notes/by-relative instead sidesteps that.
18
+ */
19
+ export declare function resolvePathToRoot(filePath: string, roots: Array<{
20
+ id: number;
21
+ path?: string;
22
+ }>): {
23
+ rootId: number;
24
+ relativePath: string;
25
+ } | null;
6
26
  export interface ToolServices {
7
27
  client: NoesisClient;
8
28
  geminiApiKey?: string;
@@ -11,4 +31,35 @@ export interface ToolServices {
11
31
  * Register all MCP tools with the server
12
32
  */
13
33
  export declare function registerTools(server: McpServer, services: ToolServices): void;
34
+ /**
35
+ * A cloud note in the exact shape the sync branches consume (matching the old
36
+ * getNotesForSync element). Built by adaptCloudNote from a single-note fetch
37
+ * (content + metadata) plus the authoritative hash from the root hash map.
38
+ */
39
+ type CloudNoteRow = {
40
+ id: number;
41
+ relative_path: string;
42
+ hash: string;
43
+ modified_at: string;
44
+ content: string;
45
+ title: string | null;
46
+ description: string | null;
47
+ keywords: string | string[] | null;
48
+ edited_online_at: string | null;
49
+ };
50
+ /** Adapt a by-relative Note (+ its hash from the root hash map) into CloudNoteRow. */
51
+ export declare function adaptCloudNote(n: Note, relativePath: string, hash: string): CloudNoteRow;
52
+ /**
53
+ * Sync specific files by path (single-file or multi-file sync mode)
54
+ * @param force - If true, bypass hash check and always re-sync (useful for metadata regeneration)
55
+ * @param regenerateMetadata - If true, backend AI regenerates all metadata fields, overwriting existing values
56
+ */
57
+ export declare function syncSpecificFiles(filePaths: string[], dryRun: boolean, client: NoesisClient, force?: boolean, regenerateMetadata?: boolean): Promise<{
58
+ content: Array<{
59
+ type: 'text';
60
+ text: string;
61
+ }>;
62
+ isError?: boolean;
63
+ }>;
64
+ export {};
14
65
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAkG,MAAM,wBAAwB,CAAC;AAqJtJ,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAwpF7E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAyC,KAAK,IAAI,EAA2D,MAAM,wBAAwB,CAAC;AAqIjK;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAC1C;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAejD;AAqBD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAs4F7E;AA0DD;;;;GAIG;AACH,KAAK,YAAY,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IACnC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,sFAAsF;AACtF,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,CAYxF;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EAAE,EACnB,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,YAAY,EACpB,KAAK,GAAE,OAAe,EACtB,kBAAkB,GAAE,OAAe,GAClC,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAyfhF"}