@velvetmonkey/flywheel-memory 2.0.80 → 2.0.81

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 (2) hide show
  1. package/dist/index.js +37 -13
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -19336,8 +19336,7 @@ var ALL_CATEGORIES = [
19336
19336
  "tasks",
19337
19337
  "memory",
19338
19338
  "note-ops",
19339
- "diagnostics",
19340
- "automation"
19339
+ "diagnostics"
19341
19340
  ];
19342
19341
  var PRESETS = {
19343
19342
  // Presets
@@ -19352,8 +19351,7 @@ var PRESETS = {
19352
19351
  tasks: ["tasks"],
19353
19352
  memory: ["memory"],
19354
19353
  "note-ops": ["note-ops"],
19355
- diagnostics: ["diagnostics"],
19356
- automation: ["automation"]
19354
+ diagnostics: ["diagnostics"]
19357
19355
  };
19358
19356
  var DEFAULT_PRESET = "default";
19359
19357
  var DEPRECATED_ALIASES = {
@@ -19373,9 +19371,9 @@ var DEPRECATED_ALIASES = {
19373
19371
  paths: "graph",
19374
19372
  health: "diagnostics",
19375
19373
  analysis: "wikilinks",
19376
- git: "automation",
19377
- ops: "automation",
19378
- policy: "automation"
19374
+ git: "write",
19375
+ ops: "write",
19376
+ policy: "write"
19379
19377
  };
19380
19378
  function parseEnabledCategories() {
19381
19379
  const envValue = (process.env.FLYWHEEL_TOOLS ?? process.env.FLYWHEEL_PRESET)?.trim();
@@ -19427,12 +19425,14 @@ var TOOL_CATEGORY = {
19427
19425
  get_note_structure: "read",
19428
19426
  get_section_content: "read",
19429
19427
  find_sections: "read",
19430
- // write (5 tools) — content mutations + frontmatter + note creation
19428
+ // write (7 tools) — content mutations + frontmatter + note creation + undo + policy
19431
19429
  vault_add_to_section: "write",
19432
19430
  vault_remove_from_section: "write",
19433
19431
  vault_replace_in_section: "write",
19434
19432
  vault_update_frontmatter: "write",
19435
19433
  vault_create_note: "write",
19434
+ vault_undo_last_mutation: "write",
19435
+ policy: "write",
19436
19436
  // graph (9 tools) — structural analysis + link detail
19437
19437
  graph_analysis: "graph",
19438
19438
  get_backlinks: "graph",
@@ -19488,10 +19488,7 @@ var TOOL_CATEGORY = {
19488
19488
  server_log: "diagnostics",
19489
19489
  suggest_entity_merges: "diagnostics",
19490
19490
  dismiss_merge_suggestion: "diagnostics",
19491
- vault_init: "diagnostics",
19492
- // automation (2 tools) — git undo + policy engine
19493
- vault_undo_last_mutation: "automation",
19494
- policy: "automation"
19491
+ vault_init: "diagnostics"
19495
19492
  };
19496
19493
  function generateInstructions(categories) {
19497
19494
  const parts = [];
@@ -19518,7 +19515,34 @@ Escalation: "search" (enriched metadata + content preview) \u2192 "get_note_stru
19518
19515
  parts.push(`
19519
19516
  ## Write
19520
19517
 
19521
- Write to existing notes with "vault_add_to_section". Create new notes with "vault_create_note". Update metadata with "vault_update_frontmatter". All writes auto-link entities \u2014 no manual [[wikilinks]] needed.`);
19518
+ Write to existing notes with "vault_add_to_section". Create new notes with "vault_create_note".
19519
+ Update metadata with "vault_update_frontmatter". All writes auto-link entities \u2014 no manual [[wikilinks]] needed.
19520
+ Use "vault_undo_last_mutation" to reverse the last write.
19521
+
19522
+ **Frontmatter matters more than content** for Flywheel's intelligence. When creating or updating notes, always set:
19523
+ - \`type:\` \u2014 drives entity categorization (person, project, technology). Without it, the category is guessed from the name alone.
19524
+ - \`aliases:\` \u2014 alternative names so the entity is found when referred to differently.
19525
+ - \`description:\` \u2014 one-line summary shown in search results and used by recall.
19526
+ - Tags \u2014 used for filtering, suggestion scoring, and schema analysis.
19527
+ Good frontmatter is the highest-leverage action for improving suggestions, recall, and link quality.
19528
+
19529
+ ### Policies
19530
+
19531
+ Use "policy" to build deterministic, repeatable vault workflows. Policies are YAML files that chain
19532
+ vault tools (add/remove/replace sections, create notes, update frontmatter, toggle tasks) into
19533
+ atomic operations \u2014 all steps succeed or all roll back, committed as a single git commit.
19534
+
19535
+ Actions: "author" a policy from a description, "validate" the YAML, "preview" (dry-run),
19536
+ "execute" with variables, "list" saved policies, "revise" to modify.
19537
+
19538
+ Key capabilities:
19539
+ - **Variables** \u2014 parameterize policies (string, number, boolean, array, enum with defaults).
19540
+ - **Conditions** \u2014 branch on file/section/frontmatter state (skip steps, don't abort).
19541
+ - **Templates** \u2014 interpolate variables, builtins ({{today}}, {{now}}), and prior step outputs.
19542
+ - **Atomicity** \u2014 failure at any step rolls back all changes. One policy = one git commit.
19543
+
19544
+ Example: a "weekly-review" policy that creates a weekly note from template, pulls open tasks
19545
+ from daily notes, updates project frontmatter with hours logged, and links the review to active clients.`);
19522
19546
  }
19523
19547
  if (categories.has("memory")) {
19524
19548
  parts.push(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@velvetmonkey/flywheel-memory",
3
- "version": "2.0.80",
3
+ "version": "2.0.81",
4
4
  "description": "MCP server that gives Claude full read/write access to your Obsidian vault. Select from 51 tools for search, backlinks, graph queries, mutations, agent memory, and hybrid semantic search.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -52,7 +52,7 @@
52
52
  },
53
53
  "dependencies": {
54
54
  "@modelcontextprotocol/sdk": "^1.25.1",
55
- "@velvetmonkey/vault-core": "^2.0.80",
55
+ "@velvetmonkey/vault-core": "^2.0.81",
56
56
  "better-sqlite3": "^11.0.0",
57
57
  "chokidar": "^4.0.0",
58
58
  "gray-matter": "^4.0.3",