fastrmemory 0.4.0 → 0.6.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 (149) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +2 -2
  3. package/.cursor/mcp.json +1 -1
  4. package/.cursor/skills/fastr-setup/SKILL.md +4 -4
  5. package/.cursor/skills/skills.json +1 -1
  6. package/README.md +87 -36
  7. package/dist/bin/fastr.js +131 -17
  8. package/dist/bin/fastr.js.map +1 -1
  9. package/dist/src/bench/harness.d.ts.map +1 -1
  10. package/dist/src/bench/harness.js +4 -0
  11. package/dist/src/bench/harness.js.map +1 -1
  12. package/dist/src/bench/marker-corpus.d.ts +98 -0
  13. package/dist/src/bench/marker-corpus.d.ts.map +1 -0
  14. package/dist/src/bench/marker-corpus.js +306 -0
  15. package/dist/src/bench/marker-corpus.js.map +1 -0
  16. package/dist/src/bench/mcp-stdio.d.ts +55 -0
  17. package/dist/src/bench/mcp-stdio.d.ts.map +1 -0
  18. package/dist/src/bench/mcp-stdio.js +146 -0
  19. package/dist/src/bench/mcp-stdio.js.map +1 -0
  20. package/dist/src/bench/public-datasets.d.ts +2 -0
  21. package/dist/src/bench/public-datasets.d.ts.map +1 -1
  22. package/dist/src/bench/public-datasets.js +2 -1
  23. package/dist/src/bench/public-datasets.js.map +1 -1
  24. package/dist/src/bench/public-harness.d.ts +14 -0
  25. package/dist/src/bench/public-harness.d.ts.map +1 -1
  26. package/dist/src/bench/public-harness.js +83 -8
  27. package/dist/src/bench/public-harness.js.map +1 -1
  28. package/dist/src/bench/public-pins.js +5 -5
  29. package/dist/src/bench/public-pins.js.map +1 -1
  30. package/dist/src/bench/split.d.ts +33 -0
  31. package/dist/src/bench/split.d.ts.map +1 -0
  32. package/dist/src/bench/split.js +56 -0
  33. package/dist/src/bench/split.js.map +1 -0
  34. package/dist/src/bench/stats.d.ts +40 -0
  35. package/dist/src/bench/stats.d.ts.map +1 -0
  36. package/dist/src/bench/stats.js +99 -0
  37. package/dist/src/bench/stats.js.map +1 -0
  38. package/dist/src/bench/vs-engines.d.ts +51 -0
  39. package/dist/src/bench/vs-engines.d.ts.map +1 -0
  40. package/dist/src/bench/vs-engines.js +121 -0
  41. package/dist/src/bench/vs-engines.js.map +1 -0
  42. package/dist/src/config.d.ts +33 -0
  43. package/dist/src/config.d.ts.map +1 -1
  44. package/dist/src/config.js +84 -1
  45. package/dist/src/config.js.map +1 -1
  46. package/dist/src/db/doctor.d.ts +8 -0
  47. package/dist/src/db/doctor.d.ts.map +1 -1
  48. package/dist/src/db/doctor.js +65 -1
  49. package/dist/src/db/doctor.js.map +1 -1
  50. package/dist/src/db/fts-queue.d.ts +35 -0
  51. package/dist/src/db/fts-queue.d.ts.map +1 -0
  52. package/dist/src/db/fts-queue.js +78 -0
  53. package/dist/src/db/fts-queue.js.map +1 -0
  54. package/dist/src/db/repository.d.ts +63 -1
  55. package/dist/src/db/repository.d.ts.map +1 -1
  56. package/dist/src/db/repository.js +244 -50
  57. package/dist/src/db/repository.js.map +1 -1
  58. package/dist/src/db/schema.d.ts +1 -1
  59. package/dist/src/db/schema.d.ts.map +1 -1
  60. package/dist/src/db/schema.js +63 -2
  61. package/dist/src/db/schema.js.map +1 -1
  62. package/dist/src/installer/copilot.d.ts +21 -0
  63. package/dist/src/installer/copilot.d.ts.map +1 -1
  64. package/dist/src/installer/copilot.js +72 -1
  65. package/dist/src/installer/copilot.js.map +1 -1
  66. package/dist/src/installer/gemini.d.ts +13 -0
  67. package/dist/src/installer/gemini.d.ts.map +1 -1
  68. package/dist/src/installer/gemini.js +64 -1
  69. package/dist/src/installer/gemini.js.map +1 -1
  70. package/dist/src/installer/hooks.d.ts +42 -5
  71. package/dist/src/installer/hooks.d.ts.map +1 -1
  72. package/dist/src/installer/hooks.js +270 -62
  73. package/dist/src/installer/hooks.js.map +1 -1
  74. package/dist/src/installer/json-config.d.ts +25 -1
  75. package/dist/src/installer/json-config.d.ts.map +1 -1
  76. package/dist/src/installer/json-config.js +95 -2
  77. package/dist/src/installer/json-config.js.map +1 -1
  78. package/dist/src/installer/mcp-command.d.ts +19 -0
  79. package/dist/src/installer/mcp-command.d.ts.map +1 -0
  80. package/dist/src/installer/mcp-command.js +57 -0
  81. package/dist/src/installer/mcp-command.js.map +1 -0
  82. package/dist/src/installer/mcp-init.d.ts +16 -0
  83. package/dist/src/installer/mcp-init.d.ts.map +1 -1
  84. package/dist/src/installer/mcp-init.js +34 -13
  85. package/dist/src/installer/mcp-init.js.map +1 -1
  86. package/dist/src/installer/opencode.d.ts +18 -0
  87. package/dist/src/installer/opencode.d.ts.map +1 -1
  88. package/dist/src/installer/opencode.js +81 -1
  89. package/dist/src/installer/opencode.js.map +1 -1
  90. package/dist/src/installer/setup.d.ts +7 -11
  91. package/dist/src/installer/setup.d.ts.map +1 -1
  92. package/dist/src/installer/setup.js +34 -31
  93. package/dist/src/installer/setup.js.map +1 -1
  94. package/dist/src/mcp/profiles.d.ts +9 -6
  95. package/dist/src/mcp/profiles.d.ts.map +1 -1
  96. package/dist/src/mcp/profiles.js +12 -9
  97. package/dist/src/mcp/profiles.js.map +1 -1
  98. package/dist/src/mcp/server.d.ts +1 -1
  99. package/dist/src/mcp/server.d.ts.map +1 -1
  100. package/dist/src/mcp/server.js +80 -0
  101. package/dist/src/mcp/server.js.map +1 -1
  102. package/dist/src/search/aggregate.d.ts +24 -0
  103. package/dist/src/search/aggregate.d.ts.map +1 -0
  104. package/dist/src/search/aggregate.js +59 -0
  105. package/dist/src/search/aggregate.js.map +1 -0
  106. package/dist/src/search/backfill.d.ts.map +1 -1
  107. package/dist/src/search/backfill.js +7 -2
  108. package/dist/src/search/backfill.js.map +1 -1
  109. package/dist/src/search/budget.d.ts +2 -0
  110. package/dist/src/search/budget.d.ts.map +1 -1
  111. package/dist/src/search/budget.js.map +1 -1
  112. package/dist/src/search/embeddings.d.ts +35 -2
  113. package/dist/src/search/embeddings.d.ts.map +1 -1
  114. package/dist/src/search/embeddings.js +128 -5
  115. package/dist/src/search/embeddings.js.map +1 -1
  116. package/dist/src/search/hybrid-rrf.d.ts +45 -0
  117. package/dist/src/search/hybrid-rrf.d.ts.map +1 -1
  118. package/dist/src/search/hybrid-rrf.js +212 -56
  119. package/dist/src/search/hybrid-rrf.js.map +1 -1
  120. package/dist/src/search/static-model-install.d.ts +43 -0
  121. package/dist/src/search/static-model-install.d.ts.map +1 -0
  122. package/dist/src/search/static-model-install.js +112 -0
  123. package/dist/src/search/static-model-install.js.map +1 -0
  124. package/dist/src/search/static-model.d.ts +63 -0
  125. package/dist/src/search/static-model.d.ts.map +1 -0
  126. package/dist/src/search/static-model.js +244 -0
  127. package/dist/src/search/static-model.js.map +1 -0
  128. package/dist/src/search/temporal.d.ts +32 -0
  129. package/dist/src/search/temporal.d.ts.map +1 -0
  130. package/dist/src/search/temporal.js +164 -0
  131. package/dist/src/search/temporal.js.map +1 -0
  132. package/dist/src/ui/server.d.ts.map +1 -1
  133. package/dist/src/ui/server.js +10 -0
  134. package/dist/src/ui/server.js.map +1 -1
  135. package/dist-ui/assets/{ActionsPage-B3quzFNF.js → ActionsPage-CI-IRMeS.js} +1 -1
  136. package/dist-ui/assets/{GraphPage-DetiATmC.js → GraphPage-BdYMF7yz.js} +1 -1
  137. package/dist-ui/assets/{ObservatoryPage-QIGMwENf.js → ObservatoryPage-BG_vg8B9.js} +1 -1
  138. package/dist-ui/assets/{TreemapPage-C7uLZd37.js → TreemapPage-CZreyyLA.js} +1 -1
  139. package/dist-ui/assets/index-Ca9pma3Q.css +1 -0
  140. package/dist-ui/assets/{index-DWAH--Fu.js → index-MlNuiu0T.js} +17 -17
  141. package/dist-ui/assets/{maximize-2-BebkGbZA.js → maximize-2-_nvSvCC7.js} +1 -1
  142. package/dist-ui/build-manifest.json +11 -11
  143. package/dist-ui/index.html +2 -2
  144. package/llms-install.md +3 -3
  145. package/package.json +5 -1
  146. package/server.json +1 -1
  147. package/skills/fastr-setup/SKILL.md +4 -4
  148. package/skills/skills.json +1 -1
  149. package/dist-ui/assets/index-BJnPINTu.css +0 -1
@@ -1,4 +1,4 @@
1
- import { McpServerEntry } from './json-config.js';
1
+ export { findOwnCliPath, resolveMcpCommand, withProjectRoot } from './mcp-command.js';
2
2
  export interface SetupOptions {
3
3
  autoInstall?: boolean;
4
4
  /** Overrides the home directory (tests, sandboxes). Defaults to `os.homedir()`. */
@@ -9,18 +9,14 @@ export interface SetupOptions {
9
9
  export declare const AGENTS_DISCIPLINE_BLOCK = "\n<!-- fastrmemory:start -->\n## \u26A1 FastrMemory Autonomous Agent Discipline\n\nEvery AI coding agent operating in this repository MUST follow these 3 cognitive rules:\n1. **Pre-Edit Error Check**: Before editing or creating files, call `fastr_trap_recall` with your target file paths to check for active `[TRAP]` warnings.\n2. **Immediate Trap Logging**: The moment you diagnose a test failure, syntax bug, or library incompatibility, call `fastr_trap_log` to save the lesson with a 2.0x recall boost.\n3. **Session Verification**: When milestones are completed, call `fastr_handoff` with `verifyStaging: true` to graduate staging memories into verified rules.\n<!-- fastrmemory:end -->\n";
10
10
  export declare function getAntigravityConfigPath(homeDir?: string): string;
11
11
  export declare function getClaudeDesktopConfigPath(homeDir?: string): string;
12
- /** Absolute path of this package's own CLI entry, whether running compiled (dist/src/installer) or from source. */
13
- export declare function findOwnCliPath(): string | null;
12
+ export declare function ensureAgentsDiscipline(projectRoot: string): 'added' | 'present';
14
13
  /**
15
- * The command MCP clients should spawn. MCP clients launch servers without a shell, so on Windows
16
- * the `fastrmemory.cmd` npm shim cannot be executed directly. Pointing `node` at the package's own
17
- * CLI works on every platform; `npx` (wrapped in `cmd /c` on Windows) is the fallback when this
18
- * copy lives in a throwaway npx cache.
14
+ * Removes the discipline block this installer appended, leaving every other line of AGENTS.md
15
+ * exactly as the user wrote it. Deletes the file when the block was its only content.
16
+ *
17
+ * Returns true when a block was found and removed.
19
18
  */
20
- export declare function resolveMcpCommand(platform?: NodeJS.Platform, cliPath?: string | null): McpServerEntry;
21
- /** Pin a user-scoped MCP entry to a project root so the client's launch directory cannot change the database. */
22
- export declare function withProjectRoot(entry: McpServerEntry, projectRoot: string): McpServerEntry;
23
- export declare function ensureAgentsDiscipline(projectRoot: string): 'added' | 'present';
19
+ export declare function removeAgentsDiscipline(projectRoot: string): boolean;
24
20
  export declare function runInteractiveSetup(options?: SetupOptions): void;
25
21
  export declare function findSkillsDir(): string | null;
26
22
  export interface SkillInstallOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/installer/setup.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAqC,MAAM,kBAAkB,CAAC;AAKrF,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6GAA6G;IAC7G,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,uBAAuB,yrBASnC,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,OAAO,GAAE,MAAqB,GAAG,MAAM,CAE/E;AAED,wBAAgB,0BAA0B,CAAC,OAAO,GAAE,MAAqB,GAAG,MAAM,CAWjF;AAED,mHAAmH;AACnH,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAM9C;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,OAAO,GAAE,MAAM,GAAG,IAAuB,GACxC,cAAc,CAWhB;AAED,iHAAiH;AACjH,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,GAAG,cAAc,CAE1F;AAuBD,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAM/E;AAED,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,YAAiB,GAAG,IAAI,CAuEpE;AAED,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAY7C;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,gFAAgF;AAChF,eAAO,MAAM,cAAc,UAI1B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAUzD;AAED,wBAAgB,aAAa,CAAC,OAAO,GAAE,mBAAwB,GAAG;IAChE,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CA8CA"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/installer/setup.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAKtF,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6GAA6G;IAC7G,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,uBAAuB,yrBASnC,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,OAAO,GAAE,MAAqB,GAAG,MAAM,CAE/E;AAED,wBAAgB,0BAA0B,CAAC,OAAO,GAAE,MAAqB,GAAG,MAAM,CAWjF;AAuBD,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAM/E;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAuBnE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,YAAiB,GAAG,IAAI,CAuEpE;AAED,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAY7C;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,gFAAgF;AAChF,eAAO,MAAM,cAAc,UAI1B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAUzD;AAED,wBAAgB,aAAa,CAAC,OAAO,GAAE,mBAAwB,GAAG;IAChE,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CA8CA"}
@@ -3,8 +3,9 @@ import * as path from 'node:path';
3
3
  import * as os from 'node:os';
4
4
  import { fileURLToPath } from 'node:url';
5
5
  import { createFastrServerContext } from '../mcp/server.js';
6
- import { PACKAGE_VERSION } from '../version.js';
7
6
  import { updateJsonConfig, upsertMcpServer } from './json-config.js';
7
+ import { resolveMcpCommand, withProjectRoot } from './mcp-command.js';
8
+ export { findOwnCliPath, resolveMcpCommand, withProjectRoot } from './mcp-command.js';
8
9
  const __filename = fileURLToPath(import.meta.url);
9
10
  const __dirname = path.dirname(__filename);
10
11
  export const AGENTS_DISCIPLINE_BLOCK = `
@@ -34,36 +35,6 @@ export function getClaudeDesktopConfigPath(homeDir = os.homedir()) {
34
35
  return path.join(homeDir, '.config', 'Claude', 'claude_desktop_config.json');
35
36
  }
36
37
  }
37
- /** Absolute path of this package's own CLI entry, whether running compiled (dist/src/installer) or from source. */
38
- export function findOwnCliPath() {
39
- const candidates = [
40
- path.resolve(__dirname, '..', '..', 'bin', 'fastr.js'), // dist/src/installer -> dist/bin/fastr.js
41
- path.resolve(__dirname, '..', '..', 'dist', 'bin', 'fastr.js'), // src/installer -> dist/bin/fastr.js
42
- ];
43
- return candidates.find((c) => fs.existsSync(c)) ?? null;
44
- }
45
- /**
46
- * The command MCP clients should spawn. MCP clients launch servers without a shell, so on Windows
47
- * the `fastrmemory.cmd` npm shim cannot be executed directly. Pointing `node` at the package's own
48
- * CLI works on every platform; `npx` (wrapped in `cmd /c` on Windows) is the fallback when this
49
- * copy lives in a throwaway npx cache.
50
- */
51
- export function resolveMcpCommand(platform = process.platform, cliPath = findOwnCliPath()) {
52
- const isEphemeral = cliPath !== null && /[\\/]_npx[\\/]/.test(cliPath);
53
- if (cliPath && !isEphemeral) {
54
- return { command: 'node', args: [cliPath, 'mcp'] };
55
- }
56
- // Pin the registry package and version: npx cache paths are throwaway, and a GitHub
57
- // default-branch reference would silently change the server under existing configs.
58
- const npxArgs = ['-y', `fastrmemory@${PACKAGE_VERSION}`, 'mcp'];
59
- return platform === 'win32'
60
- ? { command: 'cmd', args: ['/c', 'npx', ...npxArgs] }
61
- : { command: 'npx', args: npxArgs };
62
- }
63
- /** Pin a user-scoped MCP entry to a project root so the client's launch directory cannot change the database. */
64
- export function withProjectRoot(entry, projectRoot) {
65
- return { ...entry, args: [...entry.args, '--project', path.resolve(projectRoot)] };
66
- }
67
38
  function wireMcpClient(target, entry) {
68
39
  if (target.requireDir && !fs.existsSync(target.requireDir)) {
69
40
  return 'Skipped (not installed)';
@@ -87,6 +58,38 @@ export function ensureAgentsDiscipline(projectRoot) {
87
58
  fs.writeFileSync(agentsPath, (current ? current.trimEnd() + '\n' : '') + AGENTS_DISCIPLINE_BLOCK, 'utf-8');
88
59
  return 'added';
89
60
  }
61
+ /**
62
+ * Removes the discipline block this installer appended, leaving every other line of AGENTS.md
63
+ * exactly as the user wrote it. Deletes the file when the block was its only content.
64
+ *
65
+ * Returns true when a block was found and removed.
66
+ */
67
+ export function removeAgentsDiscipline(projectRoot) {
68
+ const agentsPath = path.join(projectRoot, 'AGENTS.md');
69
+ if (!fs.existsSync(agentsPath))
70
+ return false;
71
+ const current = fs.readFileSync(agentsPath, 'utf-8');
72
+ const startMarker = '<!-- fastrmemory:start -->';
73
+ const endMarker = '<!-- fastrmemory:end -->';
74
+ const start = current.indexOf(startMarker);
75
+ if (start < 0)
76
+ return false;
77
+ const end = current.indexOf(endMarker, start);
78
+ if (end < 0)
79
+ return false;
80
+ let before = current.slice(0, start);
81
+ const after = current.slice(end + endMarker.length);
82
+ // install() writes `content.trimEnd() + '\n'` before a block that starts with '\n'.
83
+ if (before.endsWith('\n\n'))
84
+ before = before.slice(0, -1);
85
+ const remainder = (before + after.replace(/^\r?\n/, '')).replace(/\s+$/, '');
86
+ if (!remainder) {
87
+ fs.unlinkSync(agentsPath);
88
+ return true;
89
+ }
90
+ fs.writeFileSync(agentsPath, `${remainder}\n`, 'utf-8');
91
+ return true;
92
+ }
90
93
  export function runInteractiveSetup(options = {}) {
91
94
  const homeDir = options.homeDir ?? os.homedir();
92
95
  const projectRoot = path.resolve(options.projectRoot ?? process.cwd());
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/installer/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/installer/setup.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,19 @@
1
1
  /**
2
- * MCP tool profiles keep the default surface complete while offering a smaller
3
- * schema for clients that only need the daily memory loop.
2
+ * MCP tool profiles. `core` is the default surface: the daily memory loop plus two
3
+ * meta-tools that can discover and run anything in the `full` profile.
4
4
  */
5
5
  export declare const MCP_TOOL_PROFILE_NAMES: readonly ["full", "core"];
6
6
  export type McpToolProfile = (typeof MCP_TOOL_PROFILE_NAMES)[number];
7
7
  export declare const DEFAULT_MCP_TOOL_PROFILE: McpToolProfile;
8
8
  /**
9
- * The core profile is the 12-tool daily loop:
10
- * read (recall/get/timeline/status), write (remember/traps/handoff),
11
- * recover (diff/replay), compress, and diagnose.
9
+ * The core profile is 10 daily tools plus discovery/dispatch:
10
+ * read (recall/get/status), write (remember/traps/handoff),
11
+ * recover (replay), compress, diagnose, fastr_tools, and fastr_call.
12
+ *
13
+ * `fastr_timeline` and `fastr_diff` stay in the full profile and remain reachable
14
+ * through `fastr_call`, which keeps the core `tools/list` payload small.
12
15
  */
13
- export declare const CORE_MCP_TOOL_NAMES: readonly ["fastr_recall", "fastr_remember", "fastr_handoff", "fastr_trap_recall", "fastr_trap_log", "fastr_status", "fastr_get", "fastr_timeline", "fastr_diff", "fastr_replay", "fastr_compress", "fastr_diagnose"];
16
+ export declare const CORE_MCP_TOOL_NAMES: readonly ["fastr_recall", "fastr_remember", "fastr_handoff", "fastr_trap_recall", "fastr_trap_log", "fastr_status", "fastr_get", "fastr_replay", "fastr_compress", "fastr_diagnose", "fastr_tools", "fastr_call"];
14
17
  export declare function parseMcpToolProfile(value?: string): McpToolProfile;
15
18
  export declare function isMcpToolEnabled(profile: McpToolProfile, toolName: string): boolean;
16
19
  //# sourceMappingURL=profiles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../../src/mcp/profiles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,sBAAsB,2BAA4B,CAAC;AAEhE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAErE,eAAO,MAAM,wBAAwB,EAAE,cAAuB,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,sNAatB,CAAC;AAIX,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,cAAc,CAKlE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEnF"}
1
+ {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../../src/mcp/profiles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,sBAAsB,2BAA4B,CAAC;AAEhE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAErE,eAAO,MAAM,wBAAwB,EAAE,cAAuB,CAAC;AAE/D;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,mNAatB,CAAC;AAIX,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,cAAc,CAKlE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEnF"}
@@ -1,13 +1,16 @@
1
1
  /**
2
- * MCP tool profiles keep the default surface complete while offering a smaller
3
- * schema for clients that only need the daily memory loop.
2
+ * MCP tool profiles. `core` is the default surface: the daily memory loop plus two
3
+ * meta-tools that can discover and run anything in the `full` profile.
4
4
  */
5
5
  export const MCP_TOOL_PROFILE_NAMES = ['full', 'core'];
6
- export const DEFAULT_MCP_TOOL_PROFILE = 'full';
6
+ export const DEFAULT_MCP_TOOL_PROFILE = 'core';
7
7
  /**
8
- * The core profile is the 12-tool daily loop:
9
- * read (recall/get/timeline/status), write (remember/traps/handoff),
10
- * recover (diff/replay), compress, and diagnose.
8
+ * The core profile is 10 daily tools plus discovery/dispatch:
9
+ * read (recall/get/status), write (remember/traps/handoff),
10
+ * recover (replay), compress, diagnose, fastr_tools, and fastr_call.
11
+ *
12
+ * `fastr_timeline` and `fastr_diff` stay in the full profile and remain reachable
13
+ * through `fastr_call`, which keeps the core `tools/list` payload small.
11
14
  */
12
15
  export const CORE_MCP_TOOL_NAMES = [
13
16
  'fastr_recall',
@@ -17,11 +20,11 @@ export const CORE_MCP_TOOL_NAMES = [
17
20
  'fastr_trap_log',
18
21
  'fastr_status',
19
22
  'fastr_get',
20
- 'fastr_timeline',
21
- 'fastr_diff',
22
23
  'fastr_replay',
23
24
  'fastr_compress',
24
- 'fastr_diagnose'
25
+ 'fastr_diagnose',
26
+ 'fastr_tools',
27
+ 'fastr_call'
25
28
  ];
26
29
  const CORE_MCP_TOOL_SET = new Set(CORE_MCP_TOOL_NAMES);
27
30
  export function parseMcpToolProfile(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../../src/mcp/profiles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAU,CAAC;AAIhE,MAAM,CAAC,MAAM,wBAAwB,GAAmB,MAAM,CAAC;AAE/D;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,cAAc;IACd,gBAAgB;IAChB,eAAe;IACf,mBAAmB;IACnB,gBAAgB;IAChB,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,YAAY;IACZ,cAAc;IACd,gBAAgB;IAChB,gBAAgB;CACR,CAAC;AAEX,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAE5E,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,MAAM,UAAU,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtD,IAAI,CAAC,UAAU;QAAE,OAAO,wBAAwB,CAAC;IACjD,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,UAAU,CAAC;IACtE,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,0BAA0B,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAuB,EAAE,QAAgB;IACxE,OAAO,OAAO,KAAK,MAAM,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../../src/mcp/profiles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAU,CAAC;AAIhE,MAAM,CAAC,MAAM,wBAAwB,GAAmB,MAAM,CAAC;AAE/D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,cAAc;IACd,gBAAgB;IAChB,eAAe;IACf,mBAAmB;IACnB,gBAAgB;IAChB,cAAc;IACd,WAAW;IACX,cAAc;IACd,gBAAgB;IAChB,gBAAgB;IAChB,aAAa;IACb,YAAY;CACJ,CAAC;AAEX,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAE5E,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,MAAM,UAAU,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtD,IAAI,CAAC,UAAU;QAAE,OAAO,wBAAwB,CAAC;IACjD,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,UAAU,CAAC;IACtE,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,0BAA0B,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAuB,EAAE,QAAgB;IACxE,OAAO,OAAO,KAAK,MAAM,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/D,CAAC"}
@@ -18,7 +18,7 @@ export interface ServerContext {
18
18
  }
19
19
  export declare function createFastrServerContext(customRoot?: string, homeDir?: string): ServerContext;
20
20
  export interface FastrMcpServerOptions {
21
- /** Tool surface to expose. Defaults to the complete 41-tool surface. */
21
+ /** Tool surface to expose. Defaults to the 12-tool core profile. */
22
22
  profile?: McpToolProfile;
23
23
  }
24
24
  export declare function createFastrMcpServer(context?: ServerContext, options?: FastrMcpServerOptions): McpServer;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAoB,MAAM,8BAA8B,CAAC;AAG3E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAK9C,OAAO,EAAE,WAAW,EAAc,MAAM,cAAc,CAAC;AAQvD,OAAO,EAGL,cAAc,EACf,MAAM,eAAe,CAAC;AAmCvB,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CASzF;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,YAAY,CAAC;IACjB,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,wBAAgB,wBAAwB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAuB7F;AAED,MAAM,WAAW,qBAAqB;IACpC,wEAAwE;IACxE,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED,wBAAgB,oBAAoB,CAClC,OAAO,CAAC,EAAE,aAAa,EACvB,OAAO,GAAE,qBAA0B,GAClC,SAAS,CAo7DX"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAoB,MAAM,8BAA8B,CAAC;AAG3E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAM9C,OAAO,EAAE,WAAW,EAAc,MAAM,cAAc,CAAC;AAQvD,OAAO,EAGL,cAAc,EACf,MAAM,eAAe,CAAC;AAmCvB,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CASzF;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,YAAY,CAAC;IACjB,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,wBAAgB,wBAAwB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CA2B7F;AAED,MAAM,WAAW,qBAAqB;IACpC,oEAAoE;IACpE,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED,wBAAgB,oBAAoB,CAClC,OAAO,CAAC,EAAE,aAAa,EACvB,OAAO,GAAE,qBAA0B,GAClC,SAAS,CA+gEX"}
@@ -5,6 +5,7 @@ import { FastrRepository } from '../db/repository.js';
5
5
  import { SpoolManager } from '../db/spool.js';
6
6
  import { initDatabase } from '../db/schema.js';
7
7
  import { searchMemories } from '../search/hybrid-rrf.js';
8
+ import { ensureInstalledStaticModel } from '../search/embeddings.js';
8
9
  import { scrubSecrets } from '../privacy/scrubber.js';
9
10
  import { syncModulePage, syncAllModulePages } from '../mirror/markdown-pages.js';
10
11
  import { loadConfig } from '../config.js';
@@ -71,6 +72,9 @@ export function createFastrServerContext(customRoot, homeDir) {
71
72
  }
72
73
  catch { }
73
74
  }
75
+ // Load the optional static semantic model once when it is installed. It never
76
+ // downloads and adds ~65 ms of startup cost only when the asset is present.
77
+ ensureInstalledStaticModel(homeDir);
74
78
  // Auto-drain any pending spool events on startup
75
79
  if (spool.hasPending()) {
76
80
  try {
@@ -90,9 +94,13 @@ export function createFastrMcpServer(context, options = {}) {
90
94
  name: MCP_SERVER_NAME,
91
95
  version: PACKAGE_VERSION
92
96
  });
97
+ // Every tool is recorded in the registry even when the active profile hides it, so
98
+ // fastr_tools/fastr_call can reach the full surface from the 12-tool core profile.
93
99
  // Register only the tools selected by the profile. Resources and prompts stay
94
100
  // available in both profiles because their schema cost is small.
101
+ const toolRegistry = new Map();
95
102
  const registerTool = ((name, toolConfig, handler) => {
103
+ toolRegistry.set(name, { config: toolConfig, handler });
96
104
  if (isMcpToolEnabled(profile, name)) {
97
105
  server.registerTool(name, toolConfig, handler);
98
106
  }
@@ -586,6 +594,12 @@ export function createFastrMcpServer(context, options = {}) {
586
594
  }),
587
595
  annotations: { readOnlyHint: true, openWorldHint: false }
588
596
  }, async ({ status }) => {
597
+ // Conflicts are analysed off the write path, so a read of the open registry first
598
+ // drains any pending checks. This keeps the answer complete without slowing inserts.
599
+ if (status === 'open') {
600
+ let guard = 0;
601
+ while (guard++ < 50 && repo.drainConflicts(20).drained > 0) { /* bounded catch-up */ }
602
+ }
589
603
  const conflicts = repo.listConflicts(config.projectId, status);
590
604
  if (conflicts.length === 0) {
591
605
  return {
@@ -1583,6 +1597,72 @@ export function createFastrMcpServer(context, options = {}) {
1583
1597
  }
1584
1598
  });
1585
1599
  // ==========================================
1600
+ // TOOL 42: fastr_tools
1601
+ // ==========================================
1602
+ const META_TOOL_NAMES = new Set(['fastr_tools', 'fastr_call']);
1603
+ registerTool('fastr_tools', {
1604
+ description: 'Lists the memory tools this server can run, with their input schemas. Use fastr_call to execute any listed tool.',
1605
+ inputSchema: z.object({
1606
+ query: z.string().max(200).optional().describe('Filter by tool name or description'),
1607
+ limit: z.number().int().min(1).max(50).default(20).describe('Maximum tools to return')
1608
+ }),
1609
+ annotations: { readOnlyHint: true, openWorldHint: false }
1610
+ }, async ({ query, limit }) => {
1611
+ const needle = (query ?? '').trim().toLowerCase();
1612
+ const entries = [...toolRegistry.entries()]
1613
+ .filter(([name]) => !META_TOOL_NAMES.has(name))
1614
+ .filter(([name, entry]) => {
1615
+ if (!needle)
1616
+ return true;
1617
+ return (name.toLowerCase().includes(needle) ||
1618
+ String(entry.config?.description ?? '').toLowerCase().includes(needle));
1619
+ })
1620
+ .map(([name, entry]) => {
1621
+ let inputSchema;
1622
+ try {
1623
+ inputSchema = z.toJSONSchema(entry.config.inputSchema);
1624
+ }
1625
+ catch {
1626
+ inputSchema = undefined;
1627
+ }
1628
+ return { name, description: entry.config?.description ?? '', inputSchema };
1629
+ });
1630
+ const tools = entries.slice(0, limit);
1631
+ return ok(JSON.stringify({ total: entries.length, returned: tools.length, tools }, null, 2));
1632
+ });
1633
+ // ==========================================
1634
+ // TOOL 43: fastr_call
1635
+ // ==========================================
1636
+ registerTool('fastr_call', {
1637
+ description: 'Runs any tool from fastr_tools by name. Arguments are validated against that tool\'s input schema before dispatch.',
1638
+ inputSchema: z.object({
1639
+ tool: z.string().min(1).max(80).describe('Tool name from fastr_tools, e.g. fastr_list or fastr_export'),
1640
+ args: z.record(z.string(), z.unknown()).default({}).describe('Arguments object for the target tool')
1641
+ }),
1642
+ annotations: { openWorldHint: true }
1643
+ }, async ({ tool, args }) => {
1644
+ if (META_TOOL_NAMES.has(tool)) {
1645
+ return fail(`fastr_call cannot invoke ${tool}.`);
1646
+ }
1647
+ const entry = toolRegistry.get(tool);
1648
+ if (!entry) {
1649
+ return fail(`Unknown tool "${tool}". Use fastr_tools to list available tools.`);
1650
+ }
1651
+ const schema = entry.config?.inputSchema;
1652
+ const parsed = schema && typeof schema.safeParse === 'function'
1653
+ ? schema.safeParse(args ?? {})
1654
+ : { success: true, data: args ?? {} };
1655
+ if (!parsed.success) {
1656
+ return fail(`Invalid arguments for ${tool}: ${parsed.error.message}`);
1657
+ }
1658
+ try {
1659
+ return await entry.handler(parsed.data);
1660
+ }
1661
+ catch (err) {
1662
+ return fail(`${tool} failed: ${errMessage(err)}`);
1663
+ }
1664
+ });
1665
+ // ==========================================
1586
1666
  // PROMPT 1: pre-edit-check
1587
1667
  // ==========================================
1588
1668
  server.registerPrompt('pre-edit-check', {