obsidian-zk 0.2.9 → 0.2.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.
package/README.md CHANGED
@@ -114,7 +114,7 @@ Claude Code ←→ MCP Server (obsidian-zk serve) ←→ SQLite DB + Vault files
114
114
  **Analysis:**
115
115
 
116
116
  - `zk_list` — filter notes by type/status/folder
117
- - `zk_unprocessed` — notes needing processing with age and urgency tiers
117
+ - `zk_unprocessed` — notes needing processing with age tracking
118
118
  - `zk_orphans` — notes with no incoming links
119
119
  - `zk_finalize` — quality-check permanent notes (connections, claim, evidence, confidence)
120
120
  - `zk_next_id` — next Luhmann ID
@@ -127,7 +127,11 @@ Claude Code ←→ MCP Server (obsidian-zk serve) ←→ SQLite DB + Vault files
127
127
  - `zk_reindex` — full vault re-scan
128
128
  - `zk_status` — DB stats
129
129
 
130
- ### Database schema
130
+ ### Database & indexing
131
+
132
+ The vault is markdown files. Without a DB, every operation (find connections, list unprocessed, detect orphans) would scan and parse every `.md` file. The SQLite DB is a **read-optimized index** over the vault.
133
+
134
+ **Schema:**
131
135
 
132
136
  ```sql
133
137
  CREATE TABLE notes (
@@ -141,9 +145,39 @@ CREATE TABLE links (
141
145
  source TEXT, target TEXT, link_type TEXT,
142
146
  PRIMARY KEY (source, target)
143
147
  );
148
+
149
+ CREATE TABLE meta (key TEXT PRIMARY KEY, value TEXT);
144
150
  ```
145
151
 
146
- Links use **path-based resolution** — wikilink titles resolved to file paths during indexing. Incremental indexing via `content_hash`; single-note `indexNote()` for CRUD ops, full `reindex()` for vault scans.
152
+ **What it accelerates:**
153
+
154
+ | Operation | Without DB | With DB |
155
+ |-----------|-----------|---------|
156
+ | Find by zk_id | Scan all files, parse YAML | Single indexed query |
157
+ | List unprocessed | Scan + parse + filter | `WHERE status IN ('unprocessed','draft')` |
158
+ | Find orphans | Parse all files, build link graph | `LEFT JOIN links ... WHERE target IS NULL` |
159
+ | Find connections | Parse all, compare tags/keywords pairwise | Load pre-extracted tags/summary, score in-memory |
160
+ | Detect clusters | Same | Group pre-extracted tags |
161
+
162
+ **Incremental indexing via `content_hash`:**
163
+
164
+ 1. `scanVault()` walks all `.md` files
165
+ 2. Compute MD5 of each file's content
166
+ 3. Compare with stored `content_hash` — **only re-parse changed files**
167
+ 4. A 10K vault where 3 files changed → only 3 files re-parsed
168
+
169
+ **Staleness check (`ensureFresh()`):**
170
+
171
+ Read-only tools (list, tree, orphans) call `ensureFresh()` instead of full `reindex()`:
172
+ - Compares file `mtime` against `last_index` timestamp
173
+ - If nothing changed between tool calls → **zero work**
174
+ - If vault was edited in Obsidian → triggers incremental reindex
175
+
176
+ **Link validation:**
177
+
178
+ Wikilinks (`[[Note Title]]`) only create a DB link if the target note exists in the `notes` table. Unresolvable links are skipped — no phantom entries in orphan detection or backlinks.
179
+
180
+ **Write-path tools** (`zk_capture`, `zk_permanent`, etc.) call `indexNote()` on the affected file directly — no full vault scan needed.
147
181
 
148
182
  ## Zettelkasten method
149
183
 
package/dist/cli/index.js CHANGED
@@ -10,15 +10,18 @@ async function main() {
10
10
  case "init": {
11
11
  const { runWizard } = await import("../init/wizard.js");
12
12
  const { scaffold } = await import("../init/scaffold.js");
13
- const answers = await runWizard(process.cwd());
14
- scaffold(answers);
13
+ const vaultFlag = args.indexOf("--vault");
14
+ const defaultVault = vaultFlag >= 0 ? args[vaultFlag + 1] : process.cwd();
15
+ const answers = await runWizard(defaultVault);
16
+ await scaffold(answers);
15
17
  break;
16
18
  }
17
19
  case "update": {
18
20
  const { update } = await import("../init/updater.js");
19
21
  const vaultFlag = args.indexOf("--vault");
20
22
  const vaultPath = vaultFlag >= 0 ? args[vaultFlag + 1] : ".";
21
- update(vaultPath);
23
+ const yesFlag = args.includes("--yes");
24
+ await update(vaultPath, { yes: yesFlag });
22
25
  break;
23
26
  }
24
27
  case "serve": {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAExB,KAAK,UAAU,IAAI;IACjB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACxD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC/C,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClB,MAAM;QACR,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YACtD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7D,MAAM,CAAC,SAAS,CAAC,CAAC;YAClB,MAAM;QACR,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7D,MAAM,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YACtC,MAAM;QACR,CAAC;QAED;YACE,OAAO,CAAC,GAAG,CAAC;;;;;;;;;CASjB,CAAC,CAAC;YACG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAExB,KAAK,UAAU,IAAI;IACjB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACxD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;YACzD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1C,MAAM,YAAY,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YAC1E,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,CAAC;YAC9C,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;YACxB,MAAM;QACR,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YACtD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACvC,MAAM,MAAM,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;YAC1C,MAAM;QACR,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7D,MAAM,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YACtC,MAAM;QACR,CAAC;QAED;YACE,OAAO,CAAC,GAAG,CAAC;;;;;;;;;CASjB,CAAC,CAAC;YACG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Centralized configuration constants.
3
+ */
4
+ export declare const CONFIG: {
5
+ /** Max connection candidates returned by findConnections() */
6
+ readonly MAX_CONNECTIONS: 15;
7
+ /** Min word length for keyword matching */
8
+ readonly KEYWORD_MIN_LENGTH: 4;
9
+ /** Long keyword threshold — scores +2 instead of +1 */
10
+ readonly KEYWORD_LONG_LENGTH: 6;
11
+ /** Points per shared tag */
12
+ readonly TAG_SCORE: 2;
13
+ /** Min score to be included as connection candidate */
14
+ readonly MIN_CONNECTION_SCORE: 2;
15
+ /** Shared MOC bonus points */
16
+ readonly MOC_BONUS: 2;
17
+ /** Min notes per tag to form a cluster */
18
+ readonly MIN_CLUSTER_SIZE: 3;
19
+ /** Default tree render depth */
20
+ readonly DEFAULT_TREE_DEPTH: 5;
21
+ /** Max summary length in chars */
22
+ readonly MAX_SUMMARY_LENGTH: 500;
23
+ };
24
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,MAAM;IACjB,8DAA8D;;IAE9D,2CAA2C;;IAE3C,uDAAuD;;IAEvD,4BAA4B;;IAE5B,uDAAuD;;IAEvD,8BAA8B;;IAE9B,0CAA0C;;IAE1C,gCAAgC;;IAEhC,kCAAkC;;CAE1B,CAAC"}
package/dist/config.js ADDED
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Centralized configuration constants.
3
+ */
4
+ export const CONFIG = {
5
+ /** Max connection candidates returned by findConnections() */
6
+ MAX_CONNECTIONS: 15,
7
+ /** Min word length for keyword matching */
8
+ KEYWORD_MIN_LENGTH: 4,
9
+ /** Long keyword threshold — scores +2 instead of +1 */
10
+ KEYWORD_LONG_LENGTH: 6,
11
+ /** Points per shared tag */
12
+ TAG_SCORE: 2,
13
+ /** Min score to be included as connection candidate */
14
+ MIN_CONNECTION_SCORE: 2,
15
+ /** Shared MOC bonus points */
16
+ MOC_BONUS: 2,
17
+ /** Min notes per tag to form a cluster */
18
+ MIN_CLUSTER_SIZE: 3,
19
+ /** Default tree render depth */
20
+ DEFAULT_TREE_DEPTH: 5,
21
+ /** Max summary length in chars */
22
+ MAX_SUMMARY_LENGTH: 500,
23
+ };
24
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,8DAA8D;IAC9D,eAAe,EAAE,EAAE;IACnB,2CAA2C;IAC3C,kBAAkB,EAAE,CAAC;IACrB,uDAAuD;IACvD,mBAAmB,EAAE,CAAC;IACtB,4BAA4B;IAC5B,SAAS,EAAE,CAAC;IACZ,uDAAuD;IACvD,oBAAoB,EAAE,CAAC;IACvB,8BAA8B;IAC9B,SAAS,EAAE,CAAC;IACZ,0CAA0C;IAC1C,gBAAgB,EAAE,CAAC;IACnB,gCAAgC;IAChC,kBAAkB,EAAE,CAAC;IACrB,kCAAkC;IAClC,kBAAkB,EAAE,GAAG;CACf,CAAC"}
@@ -54,6 +54,13 @@ export declare class ZkDatabase {
54
54
  summary: string;
55
55
  type: string;
56
56
  }[];
57
+ /**
58
+ * Check if vault has changed since last reindex by comparing file mtimes.
59
+ * Returns true if reindex is needed.
60
+ */
61
+ needsReindex(): boolean;
62
+ /** Reindex only if vault changed since last index. */
63
+ ensureFresh(): void;
57
64
  getStats(): {
58
65
  total: any;
59
66
  byType: any[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAQtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAetD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ3E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA4B7G;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAsB9F;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAgB/E;AAED,qBAAa,UAAU;IACrB,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;gBAEN,SAAS,EAAE,MAAM;IAkB7B,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAK7C,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IA8ChC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMjC,OAAO,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAsF9D,aAAa,CAAC,OAAO,EAAE,MAAM,GACkD,GAAG;IAGlF,WAAW,CAAC,IAAI,EAAE,MAAM,GACqD,GAAG;IAGhF,cAAc,CAAC,IAAI,EAAE,MAAM,GACiD,GAAG,EAAE;IAGjF,gBAAgB,CAAC,MAAM,EAAE,MAAM,GACiD,GAAG,EAAE;IAGrF,gBAAgB,CAAC,MAAM,EAAE,MAAM,GACiD,GAAG,EAAE;IAGrF,SAAS,CAAC,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAOtB,GAAG,EAAE;IAGrD,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAO3D,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,GAKoB,GAAG,EAAE;IAGrD,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GASsB,GAAG,EAAE;IAGrD,YAAY,CAAC,OAAO,EAAE,MAAM,GACqD,GAAG,EAAE;IAGtF,UAAU,CAAC,IAAI,EAAE,MAAM,GACuD,GAAG,EAAE;IAGnF,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAU/C,eAAe,CAAC,QAAQ,EAAE,MAAM;cAOJ,MAAM;eAAS,MAAM;eAAS,MAAM;iBAAW,MAAM,EAAE;iBAAW,MAAM;cAAQ,MAAM;;IA4ClH,QAAQ;;;;;;;IASR,KAAK;CAGN"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAStC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAetD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ3E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA4B7G;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAsB9F;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAgB/E;AAED,qBAAa,UAAU;IACrB,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;gBAEN,SAAS,EAAE,MAAM;IAkB7B,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAK7C,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IA8ChC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMjC,OAAO,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAsF9D,aAAa,CAAC,OAAO,EAAE,MAAM,GACkD,GAAG;IAGlF,WAAW,CAAC,IAAI,EAAE,MAAM,GACqD,GAAG;IAGhF,cAAc,CAAC,IAAI,EAAE,MAAM,GACiD,GAAG,EAAE;IAGjF,gBAAgB,CAAC,MAAM,EAAE,MAAM,GACiD,GAAG,EAAE;IAGrF,gBAAgB,CAAC,MAAM,EAAE,MAAM,GACiD,GAAG,EAAE;IAGrF,SAAS,CAAC,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAOtB,GAAG,EAAE;IAGrD,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAO3D,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,GAKoB,GAAG,EAAE;IAGrD,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GASsB,GAAG,EAAE;IAGrD,YAAY,CAAC,OAAO,EAAE,MAAM,GACqD,GAAG,EAAE;IAGtF,UAAU,CAAC,IAAI,EAAE,MAAM,GACuD,GAAG,EAAE;IAGnF,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAU/C,eAAe,CAAC,QAAQ,EAAE,MAAM;cAOJ,MAAM;eAAS,MAAM;eAAS,MAAM;iBAAW,MAAM,EAAE;iBAAW,MAAM;cAAQ,MAAM;;IA6ClH;;;OAGG;IACH,YAAY,IAAI,OAAO;IAiBvB,sDAAsD;IACtD,WAAW,IAAI,IAAI;IAInB,QAAQ;;;;;;;IASR,KAAK;CAGN"}
package/dist/db/index.js CHANGED
@@ -3,12 +3,13 @@
3
3
  */
4
4
  import Database from "better-sqlite3";
5
5
  import { createHash } from "node:crypto";
6
- import { readFileSync, existsSync, mkdirSync } from "node:fs";
6
+ import { readFileSync, existsSync, mkdirSync, statSync } from "node:fs";
7
7
  import { join, dirname, basename } from "node:path";
8
8
  import { CREATE_TABLES, SCHEMA_VERSION } from "./schema.js";
9
9
  import { scanVault } from "../vault/scanner.js";
10
10
  import { parseFrontmatter, getBody, getTags, getWikilinks } from "../vault/parser.js";
11
11
  import { isParentChild } from "../luhmann.js";
12
+ import { CONFIG } from "../config.js";
12
13
  /** Heading texts per note type — source of truth for section detection. */
13
14
  const SECTION_HEADINGS = {
14
15
  permanent: {
@@ -80,20 +81,20 @@ export function extractSummary(fm, body, type) {
80
81
  const trimmed = line.trim();
81
82
  if (!trimmed || trimmed.startsWith("#")) {
82
83
  if (para)
83
- return para.slice(0, 500);
84
+ return para.slice(0, CONFIG.MAX_SUMMARY_LENGTH);
84
85
  continue;
85
86
  }
86
87
  para += (para ? " " : "") + trimmed;
87
88
  }
88
89
  if (para)
89
- return para.slice(0, 500);
90
+ return para.slice(0, CONFIG.MAX_SUMMARY_LENGTH);
90
91
  }
91
92
  if (type === "fleeting") {
92
93
  const match = body.match(/##\s+Thought[^\n]*\n([\s\S]*?)(?=\n##|$)/);
93
94
  if (match)
94
- return match[1].trim().slice(0, 500);
95
+ return match[1].trim().slice(0, CONFIG.MAX_SUMMARY_LENGTH);
95
96
  }
96
- return body.trim().slice(0, 500);
97
+ return body.trim().slice(0, CONFIG.MAX_SUMMARY_LENGTH);
97
98
  }
98
99
  export function luhmannProximity(idA, idB) {
99
100
  if (!idA || !idB)
@@ -163,13 +164,14 @@ export class ZkDatabase {
163
164
  INSERT OR REPLACE INTO notes (path, title, zk_id, type, status, folder, tags, summary, created, modified, content_hash, flags)
164
165
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
165
166
  `).run(relPath, title, fm.zk_id || null, type || null, fm.status || null, folder, JSON.stringify(tags), summary, fm.date || null, fm.last_modified || null, hash, JSON.stringify(flags));
166
- // Rebuild links for this note
167
+ // Rebuild links for this note — only insert if target resolves to a known note
167
168
  this.db.prepare("DELETE FROM links WHERE source = ?").run(relPath);
168
169
  const insertLink = this.db.prepare("INSERT OR REPLACE INTO links (source, target, link_type) VALUES (?, ?, ?)");
169
170
  const wikilinks = getWikilinks(fullPath);
170
171
  for (const target of wikilinks) {
171
- const targetPath = this.resolveWikilink(target) ?? target;
172
- insertLink.run(relPath, targetPath, null);
172
+ const targetPath = this.resolveWikilink(target);
173
+ if (targetPath)
174
+ insertLink.run(relPath, targetPath, null);
173
175
  }
174
176
  this.db.prepare("INSERT OR REPLACE INTO meta (key, value) VALUES (?, ?)").run("last_index", new Date().toISOString());
175
177
  }
@@ -238,8 +240,9 @@ export class ZkDatabase {
238
240
  const fullPath = join(this.vaultRoot, relPath);
239
241
  const wikilinks = getWikilinks(fullPath);
240
242
  for (const target of wikilinks) {
241
- const targetPath = this.resolveWikilink(target) ?? target;
242
- insertLink.run(relPath, targetPath, null);
243
+ const targetPath = this.resolveWikilink(target);
244
+ if (targetPath)
245
+ insertLink.run(relPath, targetPath, null);
243
246
  }
244
247
  }
245
248
  });
@@ -339,17 +342,18 @@ export class ZkDatabase {
339
342
  continue;
340
343
  let score = 0;
341
344
  const reasons = [];
342
- // Shared tags: 2pts each
345
+ // Shared tags
343
346
  const otherTags = JSON.parse(other.tags || "[]");
344
347
  const shared = noteTags.filter((t) => otherTags.includes(t));
345
- score += shared.length * 2;
348
+ score += shared.length * CONFIG.TAG_SCORE;
346
349
  reasons.push(...shared.map((t) => `tag:${t}`));
347
- // Keyword overlap: 6+ chars → +2, shorter → +1
348
- const noteWords = new Set((note.summary || "").toLowerCase().match(/[а-яієїґa-z]{4,}/g) ?? []);
349
- const otherWords = (other.summary || "").toLowerCase().match(/[а-яієїґa-z]{4,}/g) ?? [];
350
+ // Keyword overlap
351
+ const kwRegex = new RegExp(`[а-яієїґa-z]{${CONFIG.KEYWORD_MIN_LENGTH},}`, "g");
352
+ const noteWords = new Set((note.summary || "").toLowerCase().match(kwRegex) ?? []);
353
+ const otherWords = (other.summary || "").toLowerCase().match(kwRegex) ?? [];
350
354
  for (const w of otherWords) {
351
355
  if (noteWords.has(w)) {
352
- score += w.length >= 6 ? 2 : 1;
356
+ score += w.length >= CONFIG.KEYWORD_LONG_LENGTH ? 2 : 1;
353
357
  reasons.push(`kw:${w}`);
354
358
  }
355
359
  }
@@ -361,14 +365,45 @@ export class ZkDatabase {
361
365
  }
362
366
  // MOC boost: both notes referenced by same MOC
363
367
  if (score >= 1 && this.shareMoc(notePath, other.path)) {
364
- score += 2;
368
+ score += CONFIG.MOC_BONUS;
365
369
  reasons.push("shared-moc");
366
370
  }
367
- if (score >= 2) {
371
+ if (score >= CONFIG.MIN_CONNECTION_SCORE) {
368
372
  candidates.push({ path: other.path, title: other.title, score, reasons, summary: other.summary || "", type: other.type || "" });
369
373
  }
370
374
  }
371
- return candidates.sort((a, b) => b.score - a.score).slice(0, 15);
375
+ return candidates.sort((a, b) => b.score - a.score).slice(0, CONFIG.MAX_CONNECTIONS);
376
+ }
377
+ /**
378
+ * Check if vault has changed since last reindex by comparing file mtimes.
379
+ * Returns true if reindex is needed.
380
+ */
381
+ needsReindex() {
382
+ const lastIndexRow = this.db.prepare("SELECT value FROM meta WHERE key = 'last_index'").get();
383
+ if (!lastIndexRow)
384
+ return true;
385
+ const lastIndexMs = new Date(lastIndexRow.value).getTime();
386
+ const notes = scanVault(this.vaultRoot);
387
+ for (const note of notes) {
388
+ try {
389
+ const mtime = statSync(note.path).mtimeMs;
390
+ if (mtime > lastIndexMs)
391
+ return true;
392
+ }
393
+ catch {
394
+ continue;
395
+ }
396
+ }
397
+ // Check for deleted notes
398
+ const dbCount = this.db.prepare("SELECT COUNT(*) as c FROM notes").get().c;
399
+ if (dbCount !== notes.length)
400
+ return true;
401
+ return false;
402
+ }
403
+ /** Reindex only if vault changed since last index. */
404
+ ensureFresh() {
405
+ if (this.needsReindex())
406
+ this.reindex();
372
407
  }
373
408
  getStats() {
374
409
  const total = this.db.prepare("SELECT COUNT(*) as c FROM notes").get().c;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import type { WizardAnswers } from "./wizard.js";
2
- export declare function scaffold(answers: WizardAnswers): void;
2
+ export declare function scaffold(answers: WizardAnswers): Promise<void>;
3
3
  //# sourceMappingURL=scaffold.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/init/scaffold.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA4BjD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,aAAa,QA+F9C"}
1
+ {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/init/scaffold.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD,wBAAsB,QAAQ,CAAC,OAAO,EAAE,aAAa,iBA6DpD"}
@@ -1,37 +1,12 @@
1
1
  /**
2
- * Scaffold vault — copy templates, create folders, configure MCP.
2
+ * Scaffold vault — create folder structure, config, .gitignore, .mcp.json, then sync via update.
3
3
  */
4
- import { existsSync, mkdirSync, writeFileSync, readFileSync, copyFileSync, readdirSync } from "node:fs";
5
- import { join, resolve, dirname } from "node:path";
6
- import { fileURLToPath } from "node:url";
7
- const __dirname = dirname(fileURLToPath(import.meta.url));
8
- function getTemplatesDir() {
9
- // In dist: dist/init/scaffold.js → ../../templates
10
- // In src: src/init/scaffold.ts → ../../templates
11
- let dir = resolve(__dirname, "../../templates");
12
- if (!existsSync(dir)) {
13
- dir = resolve(__dirname, "../../../templates");
14
- }
15
- return dir;
16
- }
17
- function copyDirRecursive(src, dest) {
18
- if (!existsSync(src))
19
- return;
20
- mkdirSync(dest, { recursive: true });
21
- for (const entry of readdirSync(src, { withFileTypes: true })) {
22
- const srcPath = join(src, entry.name);
23
- const destPath = join(dest, entry.name);
24
- if (entry.isDirectory()) {
25
- copyDirRecursive(srcPath, destPath);
26
- }
27
- else {
28
- copyFileSync(srcPath, destPath);
29
- }
30
- }
31
- }
32
- export function scaffold(answers) {
4
+ import { existsSync, mkdirSync, writeFileSync, readFileSync } from "node:fs";
5
+ import { join, resolve } from "node:path";
6
+ import { writeConfig } from "./utils.js";
7
+ import { update } from "./updater.js";
8
+ export async function scaffold(answers) {
33
9
  const vault = resolve(answers.vaultPath);
34
- const templatesDir = getTemplatesDir();
35
10
  console.log(`\nScaffolding vault at: ${vault}\n`);
36
11
  // 1. Create vault folders
37
12
  const folders = ["1-Fleeting", "2-Literature", "3-Permanent", "4-MOC", "5-Projects", "Archive", "Templates", "Attachments"];
@@ -42,48 +17,15 @@ export function scaffold(answers) {
42
17
  console.log(` Created: ${f}/`);
43
18
  }
44
19
  }
45
- // 2. Copy note templates
46
- const noteTemplatesDir = join(templatesDir, "vault-folders", "Templates");
47
- if (existsSync(noteTemplatesDir)) {
48
- const destTemplates = join(vault, "Templates");
49
- copyDirRecursive(noteTemplatesDir, destTemplates);
50
- console.log(" Copied note templates");
51
- }
52
- // 3. Copy skills + agents
53
- if (answers.installSkills) {
54
- const skillsSrc = join(templatesDir, "claude", "skills");
55
- const agentsSrc = join(templatesDir, "claude", "agents");
56
- const claudeDir = join(vault, ".claude");
57
- if (existsSync(skillsSrc)) {
58
- copyDirRecursive(skillsSrc, join(claudeDir, "skills"));
59
- console.log(" Installed skills");
60
- }
61
- if (existsSync(agentsSrc)) {
62
- copyDirRecursive(agentsSrc, join(claudeDir, "agents"));
63
- console.log(" Installed agents");
64
- }
65
- }
66
- // 4. Create/update CLAUDE.md
67
- const claudeMdTemplate = join(templatesDir, "CLAUDE.md.template");
68
- const claudeMdDest = join(vault, "CLAUDE.md");
69
- if (existsSync(claudeMdTemplate)) {
70
- let content = readFileSync(claudeMdTemplate, "utf-8");
71
- content = content.replace(/\{\{language\}\}/g, answers.language);
72
- if (!existsSync(claudeMdDest)) {
73
- writeFileSync(claudeMdDest, content, "utf-8");
74
- console.log(" Created CLAUDE.md");
75
- }
76
- else {
77
- console.log(" CLAUDE.md exists — skipping (run 'obsidian-zk update' to sync)");
78
- }
79
- }
80
- // 5. Create .zk/ directory
20
+ // 2. Create .zk/ + save config
81
21
  const zkDir = join(vault, ".zk");
82
22
  if (!existsSync(zkDir)) {
83
23
  mkdirSync(zkDir, { recursive: true });
84
24
  console.log(" Created .zk/ (database directory)");
85
25
  }
86
- // 6. Update .gitignore
26
+ writeConfig(vault, { language: answers.language, installSkills: answers.installSkills });
27
+ console.log(" Saved config");
28
+ // 3. Update .gitignore
87
29
  const gitignorePath = join(vault, ".gitignore");
88
30
  const gitignoreEntries = [".zk/"];
89
31
  if (existsSync(gitignorePath)) {
@@ -98,7 +40,7 @@ export function scaffold(answers) {
98
40
  writeFileSync(gitignorePath, gitignoreEntries.join("\n") + "\n", "utf-8");
99
41
  console.log(" Created .gitignore");
100
42
  }
101
- // 7. Configure MCP server in .mcp.json
43
+ // 4. Configure MCP server in .mcp.json
102
44
  const mcpPath = join(vault, ".mcp.json");
103
45
  let mcpConfig = {};
104
46
  if (existsSync(mcpPath)) {
@@ -117,6 +59,8 @@ export function scaffold(answers) {
117
59
  };
118
60
  writeFileSync(mcpPath, JSON.stringify(mcpConfig, null, 2) + "\n", "utf-8");
119
61
  console.log(" Configured MCP server in .mcp.json");
120
- console.log("\n✅ Done! Run `/zk:capture` in Claude Code to start.\n");
62
+ // 5. Sync templates, skills, agents, CLAUDE.md, DB via update
63
+ await update(vault, { skipPrompt: true });
64
+ console.log("✅ Done! Run `/zk:capture` in Claude Code to start.\n");
121
65
  }
122
66
  //# sourceMappingURL=scaffold.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/init/scaffold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/init/scaffold.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,21 @@
1
- export declare function update(vaultPath: string): void;
1
+ export interface SyncEntry {
2
+ label: string;
3
+ srcContent: string;
4
+ destPath: string;
5
+ }
6
+ export interface FileChange {
7
+ file: string;
8
+ action: "add" | "update";
9
+ }
10
+ /** Diff a list of sync entries against what's on disk. */
11
+ export declare function diffEntries(entries: SyncEntry[]): FileChange[];
12
+ /** Write all entries to disk. */
13
+ export declare function applyEntries(entries: SyncEntry[]): void;
14
+ /** Build the full list of syncable entries. */
15
+ export declare function buildSyncEntries(templatesDir: string, vault: string, language: string, installSkills: boolean): SyncEntry[];
16
+ export interface UpdateOptions {
17
+ skipPrompt?: boolean;
18
+ yes?: boolean;
19
+ }
20
+ export declare function update(vaultPath: string, options?: UpdateOptions): Promise<void>;
2
21
  //# sourceMappingURL=updater.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../../src/init/updater.ts"],"names":[],"mappings":"AAgBA,wBAAgB,MAAM,CAAC,SAAS,EAAE,MAAM,QA4DvC"}
1
+ {"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../../src/init/updater.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,GAAG,QAAQ,CAAC;CAC1B;AAED,0DAA0D;AAC1D,wBAAgB,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,CAU9D;AAED,iCAAiC;AACjC,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,QAKhD;AAED,+CAA+C;AAC/C,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,SAAS,EAAE,CA2D3H;AAYD,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,iBA4C1E"}