@oomkapwn/enquire-mcp 3.6.0-rc.2 → 3.6.0-rc.3

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/CHANGELOG.md CHANGED
@@ -2,6 +2,60 @@
2
2
 
3
3
  All notable changes to this project will be documented here. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
4
4
 
5
+ ## [3.6.0-rc.3] — 2026-05-15
6
+
7
+ > **TL;DR:** v3.6.0 Phase 3 of 4 — **+2238 lines of Full TSDoc** added across 44 MCP tool functions, 19 prompt definitions, and ~50 exported helpers/types. Every exported function now ships with one-sentence summary + detailed description + `@param` / `@returns` / `@throws` / `@example`. Internal cross-domain helpers marked `@internal` so v3.6.0-rc.4's TypeDoc auto-generation keeps them out of the public surface. Pure documentation addition: 712 tests pass, zero behavior change. Published under npm dist-tag `rc`.
8
+
9
+ **Pre-release — v3.6.0 sprint Phase 3.**
10
+
11
+ ### Added — Full TSDoc on the public API surface
12
+
13
+ Every exported function in `src/tools/*` and every prompt in `src/prompts.ts` now has comprehensive TSDoc. Per-file expansion:
14
+
15
+ | File | Before | After | TSDoc blocks |
16
+ |---|---:|---:|---:|
17
+ | `src/tools/search.ts` | 1224 | 1565 (+341) | 62 |
18
+ | `src/tools/read.ts` | 864 | 1384 (+520) | 111 |
19
+ | `src/tools/write.ts` | 682 | 1094 (+412) | 47 |
20
+ | `src/tools/media.ts` | 516 | 725 (+209) | 53 |
21
+ | `src/tools/meta.ts` | 984 | 1425 (+441) | 76 |
22
+ | `src/prompts.ts` | 790 | 1105 (+315) | 20 |
23
+ | **Total** | **5060** | **7298** | **369 TSDoc blocks** |
24
+
25
+ The 369 TSDoc blocks include:
26
+ - **44 MCP tool functions** (the public API surface) — each with summary, description distinguishing it from alternatives, `@param` per parameter with type-aware description, `@returns`, `@throws` where applicable, and ` ```ts ``` ` `@example` showing realistic usage.
27
+ - **19 prompt registrations** in `src/prompts.ts` — each with a `// === prompt_name ============` banner header above the registration call + a TSDoc block above the banner describing purpose, expected args (read from `argsSchema`), and intended use case.
28
+ - **~30 exported types/interfaces** (e.g., `SearchHit`, `SearchHybridResponse`, `RenameNoteResult`, `ContextPackResult`) — each with description and field-level docs where the field-doc convention was already in place.
29
+ - **~15 cross-domain helpers** (e.g., `tokenizeForTfidf`, `findBestMatch`, `resolveTarget`, `rewriteRawTarget`, `jaccard`) — marked `@internal` so the v3.6.0-rc.4 TypeDoc pass keeps them out of the public API reference.
30
+
31
+ Distinct-from cross-references are present where two functions could be confused:
32
+ - `searchText` / `semanticSearch` / `embeddingsSearch` / `searchHybrid` — each TSDoc explicitly contrasts the variant and points readers at `{@link searchHybrid}` as the recommended umbrella entry.
33
+ - `vault_synth` / `vault_synthesis_page` / `vault_research` / `search_with_query_expansion` — prompt-to-prompt cross-references explaining when each is the right pick.
34
+
35
+ ### Validation
36
+
37
+ 712 unit tests pass · branches 75.29% · lines 89.54% · statements 86.07% · functions 82.15% · lint clean · `tsc` strict + `noUncheckedIndexedAccess` clean · smoke pass · version-consistency green at `3.6.0-rc.3` (5 surfaces).
38
+
39
+ ### Migration
40
+
41
+ **No-op for consumers.** No function signatures changed, no behavior changed, no exports added or removed. Pure documentation addition.
42
+
43
+ For contributors:
44
+ - IDE hovers now display full descriptions + examples for every tool function.
45
+ - VS Code, Cursor, IntelliJ, Vim+lsp all surface the TSDoc instantly.
46
+
47
+ ### npm dist-tag
48
+
49
+ Published under **`rc`** dist-tag. Users on `latest` stay on v3.5.14. Try: `npm install @oomkapwn/enquire-mcp@rc`.
50
+
51
+ ### Next RC
52
+
53
+ `v3.6.0-rc.4`: TypeDoc auto-generation of API reference docs + publish to GitHub Pages. Plus public benchmarks (MRR / NDCG@10 / Recall@K on a BEIR/TREC subset, with comparison vs main competitors).
54
+
55
+ ### Method note
56
+
57
+ This is the second phase that ships **without any logic change** — pure structural/documentation work that compounds value: the TSDoc written here becomes the source for rc.4's auto-generated API docs site. The maintenance burden going forward is low because the TSDoc lives next to the code (drift requires actively writing wrong docs vs. doing nothing).
58
+
5
59
  ## [3.6.0-rc.2] — 2026-05-15
6
60
 
7
61
  > **TL;DR:** v3.6.0 Phase 2 of 4 — `src/index.ts` (3665 lines) split into 5 domain modules (`cli.ts` 702 + `server.ts` 877 + `tool-registry.ts` 1300 + `prompts.ts` 790) plus a slim 84-line entry point. NEW `src/tool-manifest.ts` (318 lines, 44 machine-readable tool entries) becomes the single source of truth — `tests/docs-consistency.test.ts` pivoted off regex-parsing source code and reads the manifest directly. Pure refactor: same CLI surface, same registered tools, same 712 tests pass. Published under npm dist-tag `rc`.
package/STABILITY.md CHANGED
@@ -50,8 +50,9 @@ The package exports a few symbols for advanced embedding / programmatic use. The
50
50
  - `EmbedDb` / `EmbedDbOptions` / `EmbedQuantization` / `encodeInt8Vector` / `decodeInt8Vector` (`src/embed-db.ts`)
51
51
  - `FtsIndex` / `chunkContent` / `defaultIndexFile` (`src/fts5.ts`)
52
52
  - `Vault` (`src/vault.ts`)
53
- - `ServeOptions` / `parsePositiveInt` / `parseQuantizationMode` / `startServer` / `main` / `buildMcpServer` / `prepareServerDeps` / `formatReadyBanner` / `buildEmbedText` (`src/index.ts`)
53
+ - `ServeOptions` / `parsePositiveInt` / `parseQuantizationMode` / `startServer` / `main` / `buildMcpServer` / `prepareServerDeps` / `formatReadyBanner` / `buildEmbedText` — re-exported from `src/index.ts` (since v3.6.0-rc.2 they live in `src/server.ts` / `src/cli.ts` / `src/tool-registry.ts`, with `src/index.ts` keeping the re-export surface for v3.5.x BC).
54
54
  - `HnswIndex` / `loadHnswFromDisk` / `HnswPersistedMeta` (`src/hnsw.ts`)
55
+ - `TOOL_MANIFEST` / `ToolManifestEntry` (`src/tool-manifest.ts`) — machine-readable manifest of all MCP tools (added in v3.6.0-rc.2). New stable surface — guaranteed to retain `name`, `kind`, `gating`, `summary` fields per entry across all v3.x.
55
56
 
56
57
  Anything not listed here (private fields, internal helpers, test fixtures) is **not** semver-bound.
57
58
 
package/dist/index.d.ts CHANGED
@@ -7,7 +7,7 @@
7
7
  * + `McpServer({version})`) and `src/tool-registry.ts` (used in the
8
8
  * `vault-info` resource payload).
9
9
  */
10
- export declare const VERSION = "3.6.0-rc.2";
10
+ export declare const VERSION = "3.6.0-rc.3";
11
11
  export { main } from "./cli.js";
12
12
  export { buildEmbedText, buildMcpServer, formatReadyBanner, prepareServerDeps, type ServeOptions, type ServerDeps, startServer } from "./server.js";
13
13
  export { parsePositiveInt, parseQuantizationMode } from "./tool-registry.js";
package/dist/index.js CHANGED
@@ -32,7 +32,7 @@ import { main } from "./cli.js";
32
32
  * + `McpServer({version})`) and `src/tool-registry.ts` (used in the
33
33
  * `vault-info` resource payload).
34
34
  */
35
- export const VERSION = "3.6.0-rc.2";
35
+ export const VERSION = "3.6.0-rc.3";
36
36
  // Re-exports — preserve the v3.5.x public surface so http-transport.ts and
37
37
  // tests don't need to know about the new module layout. The set below
38
38
  // exactly matches the v3.5.x `export` declarations: `main`,
package/dist/prompts.d.ts CHANGED
@@ -1,3 +1,35 @@
1
1
  import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ /**
3
+ * Register all enquire-mcp prompt templates on the given MCP server.
4
+ *
5
+ * Prompts are agent-side orchestration recipes — each one expands into a
6
+ * structured `user`-role message that tells the LLM how to chain
7
+ * `obsidian_*` tools to accomplish a higher-level workflow (weekly review,
8
+ * Karpathy-style wiki maintenance, captcha-style ingest, sub-question
9
+ * decomposition, etc.). No server-side LLM calls happen here; the prompts
10
+ * are pure prompt engineering that the calling client surfaces to its own
11
+ * model.
12
+ *
13
+ * Total: 19 prompts grouped roughly into:
14
+ * - Day-to-day vault hygiene (`summarize_recent_edits`, `weekly_review`,
15
+ * `monthly_review`, `extract_todos`, `process_inbox`, `consolidate_tags`,
16
+ * `find_orphans`, `find_duplicates`)
17
+ * - Wiki maintenance (`lint_wiki`, `vault_synth`, `vault_wiki_compile`,
18
+ * `vault_lint_extended`, `vault_synthesis_page`)
19
+ * - Retrieval orchestration (`search_with_query_expansion`, `vault_research`,
20
+ * `vault_persona_search`)
21
+ * - Knowledge capture / automation (`vault_capture`, `vault_automation_setup`)
22
+ * - Reading-list helpers (`review_tag`)
23
+ *
24
+ * Called once at server startup by `tool-registry.ts`.
25
+ *
26
+ * @param server - The MCP server to register prompts on. Mutated in place.
27
+ * @example
28
+ * ```ts
29
+ * const server = new McpServer({ name: "enquire-mcp", version: "3.6.0" });
30
+ * registerPrompts(server);
31
+ * registerTools(server, vault, ctx);
32
+ * ```
33
+ */
2
34
  export declare function registerPrompts(server: McpServer): void;
3
35
  //# sourceMappingURL=prompts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAkxBvD"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA6iCvD"}
package/dist/prompts.js CHANGED
@@ -1,5 +1,52 @@
1
1
  import { z } from "zod";
2
+ /**
3
+ * Register all enquire-mcp prompt templates on the given MCP server.
4
+ *
5
+ * Prompts are agent-side orchestration recipes — each one expands into a
6
+ * structured `user`-role message that tells the LLM how to chain
7
+ * `obsidian_*` tools to accomplish a higher-level workflow (weekly review,
8
+ * Karpathy-style wiki maintenance, captcha-style ingest, sub-question
9
+ * decomposition, etc.). No server-side LLM calls happen here; the prompts
10
+ * are pure prompt engineering that the calling client surfaces to its own
11
+ * model.
12
+ *
13
+ * Total: 19 prompts grouped roughly into:
14
+ * - Day-to-day vault hygiene (`summarize_recent_edits`, `weekly_review`,
15
+ * `monthly_review`, `extract_todos`, `process_inbox`, `consolidate_tags`,
16
+ * `find_orphans`, `find_duplicates`)
17
+ * - Wiki maintenance (`lint_wiki`, `vault_synth`, `vault_wiki_compile`,
18
+ * `vault_lint_extended`, `vault_synthesis_page`)
19
+ * - Retrieval orchestration (`search_with_query_expansion`, `vault_research`,
20
+ * `vault_persona_search`)
21
+ * - Knowledge capture / automation (`vault_capture`, `vault_automation_setup`)
22
+ * - Reading-list helpers (`review_tag`)
23
+ *
24
+ * Called once at server startup by `tool-registry.ts`.
25
+ *
26
+ * @param server - The MCP server to register prompts on. Mutated in place.
27
+ * @example
28
+ * ```ts
29
+ * const server = new McpServer({ name: "enquire-mcp", version: "3.6.0" });
30
+ * registerPrompts(server);
31
+ * registerTools(server, vault, ctx);
32
+ * ```
33
+ */
2
34
  export function registerPrompts(server) {
35
+ /**
36
+ * Summarize recent vault activity for the user.
37
+ *
38
+ * Use case: "What was I working on this morning?" / "Catch me up after I
39
+ * step away for a day". Chains `obsidian_get_recent_edits` (window-
40
+ * filtered list) → `obsidian_read_note` on the top-3 results → produces
41
+ * one paragraph per note with TODOs quoted verbatim, plus a one-sentence
42
+ * "what to pick up next" suggestion.
43
+ *
44
+ * Args: `since_minutes` (string, optional, default `"720"` = last 12 hours).
45
+ *
46
+ * @example
47
+ * The client invokes this with `since_minutes="60"` to get a one-hour catch-up.
48
+ */
49
+ // === summarize_recent_edits ==========================================
3
50
  server.registerPrompt("summarize_recent_edits", {
4
51
  title: "Summarize recent edits",
5
52
  description: "Use obsidian_get_recent_edits + obsidian_read_note to summarize what was worked on recently.",
@@ -22,6 +69,20 @@ export function registerPrompts(server) {
22
69
  }
23
70
  ]
24
71
  }));
72
+ /**
73
+ * Review every note carrying a specific tag and surface unresolved threads.
74
+ *
75
+ * Use case: "What's the state of #project-foo?" / "All the open questions
76
+ * across my #reading list". Pulls notes via `obsidian_list_notes` with the
77
+ * tag filter, reads each, extracts open questions / blocking decisions /
78
+ * TODOs, and groups recurring themes across the set.
79
+ *
80
+ * Args: `tag` (string, required, leading `#` optional).
81
+ *
82
+ * @example
83
+ * Invoke with `tag="project-foo"` to summarize state of a project.
84
+ */
85
+ // === review_tag ======================================================
25
86
  server.registerPrompt("review_tag", {
26
87
  title: "Review notes by tag",
27
88
  description: "Pull every note with a given tag and surface the open questions / unresolved threads.",
@@ -44,6 +105,19 @@ export function registerPrompts(server) {
44
105
  }
45
106
  ]
46
107
  }));
108
+ /**
109
+ * Identify orphan notes — notes with no inbound links, candidates for
110
+ * archiving or wiring up to a hub note.
111
+ *
112
+ * Use case: vault hygiene pass. Enumerates with `obsidian_list_notes`,
113
+ * checks `obsidian_get_backlinks` per note, and surfaces the zero-inbound
114
+ * set sorted by mtime ascending (oldest stale orphans first). For each
115
+ * orphan, proposes archive / hub-link / delete based on frontmatter +
116
+ * a skim of the body.
117
+ *
118
+ * Args: `folder` (string, optional — scope the scan to a subfolder).
119
+ */
120
+ // === find_orphans ====================================================
47
121
  server.registerPrompt("find_orphans", {
48
122
  title: "Find orphan notes",
49
123
  description: "Identify notes with no inbound links — candidates for archiving or wiring up.",
@@ -66,6 +140,17 @@ export function registerPrompts(server) {
66
140
  }
67
141
  ]
68
142
  }));
143
+ /**
144
+ * Weekly review of vault activity — what shipped, what's open, what's stuck.
145
+ *
146
+ * Use case: end-of-week reflection. Aggregates the past 7 days
147
+ * (`since_minutes=10080`), groups by frontmatter `tags`, reads top-2
148
+ * notes per tag-group, and produces "Shipped / Open / Stuck" bullets
149
+ * plus a 2-sentence reflection on the actual-vs-intended focus.
150
+ *
151
+ * Args: `folder` (string, optional — restrict the review to a subfolder).
152
+ */
153
+ // === weekly_review ===================================================
69
154
  server.registerPrompt("weekly_review", {
70
155
  title: "Weekly review",
71
156
  description: "Aggregate the last 7 days of vault edits and surface what shipped, what's open, what's stuck.",
@@ -91,6 +176,18 @@ export function registerPrompts(server) {
91
176
  }
92
177
  ]
93
178
  }));
179
+ /**
180
+ * Extract every TODO / FIXME / QUESTION marker across the vault, grouped
181
+ * by note.
182
+ *
183
+ * Use case: "show me everything I've punted on". Runs three
184
+ * `obsidian_search_text` passes (one per marker), optionally cross-filters
185
+ * by tag, reads each unique source note, pulls the literal marker lines,
186
+ * and ends with a highest-leverage next-action pick.
187
+ *
188
+ * Args: `folder` (string, optional), `tag` (string, optional).
189
+ */
190
+ // === extract_todos ===================================================
94
191
  server.registerPrompt("extract_todos", {
95
192
  title: "Extract TODOs",
96
193
  description: "Surface every TODO / FIXME / QUESTION across the vault, grouped by note.",
@@ -114,6 +211,18 @@ ${tag ? "5" : "4"}. End with a one-line "highest-leverage next action" pick —
114
211
  }
115
212
  ]
116
213
  }));
214
+ /**
215
+ * Process an inbox folder — for each note propose where it should live
216
+ * and which existing notes link to it.
217
+ *
218
+ * Use case: GTD-style inbox triage. Lists every note in the inbox,
219
+ * checks inbound + outbound links per note, and proposes one of: move /
220
+ * merge into existing / promote to hub / archive. Read-only by design —
221
+ * proposes only, the user runs the actual write tools.
222
+ *
223
+ * Args: `folder` (string, required — the inbox folder, e.g. `"00_Inbox"`).
224
+ */
225
+ // === process_inbox ===================================================
117
226
  server.registerPrompt("process_inbox", {
118
227
  title: "Process inbox",
119
228
  description: "For every note in an inbox folder, propose where it should live and which existing notes link to it.",
@@ -143,6 +252,21 @@ ${tag ? "5" : "4"}. End with a one-line "highest-leverage next action" pick —
143
252
  }
144
253
  ]
145
254
  }));
255
+ /**
256
+ * Audit the tag forest and propose consolidations for near-duplicate
257
+ * variants.
258
+ *
259
+ * Use case: tag drift cleanup. Finds clusters like
260
+ * `#productivity` / `#productive` / `#Productivity` (case drift),
261
+ * `book-notes` / `booknotes` / `book_notes` (separator drift),
262
+ * `project` / `projects` (pluralization drift), or
263
+ * `work/clients` / `clients` (hierarchy drift). Proposes a single
264
+ * canonical tag per cluster. Read-only — no notes modified.
265
+ *
266
+ * Args: `min_count` (string, optional — minimum tag usage threshold,
267
+ * default `"2"`).
268
+ */
269
+ // === consolidate_tags ================================================
146
270
  server.registerPrompt("consolidate_tags", {
147
271
  title: "Consolidate tags",
148
272
  description: "Surface near-duplicate or inconsistently-cased tags (#productivity vs #productive vs #Productivity) and propose unifications.",
@@ -171,6 +295,19 @@ DO NOT modify any notes. This is read-only analysis.`
171
295
  }
172
296
  ]
173
297
  }));
298
+ /**
299
+ * Find clusters of near-duplicate notes — merge candidates.
300
+ *
301
+ * Use case: vault consolidation. Walks notes via `obsidian_list_notes`,
302
+ * runs `obsidian_find_similar` per candidate, builds mutual-top-5
303
+ * clusters, then verifies content overlap on the top-2 of each cluster
304
+ * (don't trust the structural signal alone). Proposes merge / split /
305
+ * leave per cluster. Read-only.
306
+ *
307
+ * Args: `folder` (string, optional), `min_score` (string, optional,
308
+ * default `"1.5"` — moderately tight similarity threshold).
309
+ */
310
+ // === find_duplicates =================================================
174
311
  server.registerPrompt("find_duplicates", {
175
312
  title: "Find near-duplicate notes",
176
313
  description: "Walk the vault for clusters of structurally similar notes (same tags, overlapping titles, shared backlinks) — candidates for merge.",
@@ -197,6 +334,21 @@ DO NOT modify any notes. Read-only.`
197
334
  }
198
335
  ]
199
336
  }));
337
+ /**
338
+ * Karpathy LLM-Wiki lint workflow — comprehensive wiki health audit.
339
+ *
340
+ * Use case: Karpathy-style PKM maintenance pass. Orchestrates
341
+ * `obsidian_lint_wiki` (orphans + broken links + stubs + stale + concept
342
+ * candidates) + `obsidian_open_questions` (deferred threads) +
343
+ * `obsidian_paper_audit` (missing citations). Synthesizes the top 5
344
+ * highest-leverage fixes across all three reports with concrete
345
+ * `obsidian_*` calls. Read-only — proposes only.
346
+ *
347
+ * Reference: {@link https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f}.
348
+ *
349
+ * Args: `folder` (string, optional — restrict the lint to a subfolder).
350
+ */
351
+ // === lint_wiki =======================================================
200
352
  server.registerPrompt("lint_wiki", {
201
353
  title: "Lint the wiki (Karpathy LLM-Wiki workflow)",
202
354
  description: "Run Karpathy's lint workflow over the vault — orchestrate obsidian_lint_wiki + obsidian_open_questions + obsidian_paper_audit, surface every actionable issue, propose fixes the agent can apply via the existing write tools after validate_note_proposal. Read-only — proposes only, never modifies.",
@@ -234,6 +386,18 @@ DO NOT actually modify any notes. This is a proposal pass — the user runs the
234
386
  }
235
387
  ]
236
388
  }));
389
+ /**
390
+ * 30-day vault review — themes, what shipped, what stalled.
391
+ *
392
+ * Use case: end-of-month reflection. Calls `obsidian_stats` for vault
393
+ * health, then `obsidian_get_recent_edits` over a 30-day window
394
+ * (`since_minutes=43200`). Groups by tags, identifies through-lines,
395
+ * surfaces notes that look stalled (touched once early in the month),
396
+ * and compares against the previous month if possible.
397
+ *
398
+ * Args: `folder` (string, optional).
399
+ */
400
+ // === monthly_review ==================================================
237
401
  server.registerPrompt("monthly_review", {
238
402
  title: "Monthly review",
239
403
  description: "30-day version of `weekly_review` — aggregates a month of vault activity, identifies themes, and surfaces what stalled.",
@@ -266,6 +430,21 @@ DO NOT actually modify any notes. This is a proposal pass — the user runs the
266
430
  // the user's question N ways, calls obsidian_search per paraphrase, then
267
431
  // RRF-fuses the results client-side. Boosts recall on terse / ambiguous
268
432
  // queries by 5-15 NDCG@10 vs single-pass search. Pure prompt eng.
433
+ /**
434
+ * High-recall retrieval via multi-query expansion + client-side RRF
435
+ * fusion.
436
+ *
437
+ * Use case: terse or ambiguous queries where single-pass search misses
438
+ * the right answer. The agent paraphrases the query 3-5 ways (mix of
439
+ * keyword-focused, semantic-focused, step-back, optionally bilingual),
440
+ * calls `obsidian_search` per paraphrase, then reciprocal-rank-fuses the
441
+ * results client-side (no server-side LLM call — violates the MCP
442
+ * boundary). Boosts recall by 5-15 NDCG@10 on ambiguous queries.
443
+ *
444
+ * Args: `query` (string, required), `n_paraphrases` (string, optional,
445
+ * default `"4"`), `limit` (string, optional, default `"10"`).
446
+ */
447
+ // === search_with_query_expansion =====================================
269
448
  server.registerPrompt("search_with_query_expansion", {
270
449
  title: "Search with multi-query expansion",
271
450
  description: "Higher-recall retrieval: paraphrase the query 3-5 ways, call obsidian_search per paraphrase, fuse results. Boosts recall on terse / ambiguous queries by 5-15 NDCG@10 over a single-pass search. Pure agent-side orchestration — no server-side LLM calls.",
@@ -307,6 +486,24 @@ The goal is recall + observability: the user sees not just the answer but WHY ea
307
486
  // `lint` since v1.5. v2.4.0 adds `ingest`-style workflows + `compile`/
308
487
  // `synth` patterns that close the loop. Position: enquire-mcp = the
309
488
  // open-source backend for Karpathy-style LLM Wikis on top of Obsidian.
489
+ /**
490
+ * Karpathy LLM-Wiki **ingest** workflow — synthesize wiki page(s) from
491
+ * an external source.
492
+ *
493
+ * Use case: paste a paragraph / arXiv abstract / URL transcript and have
494
+ * the agent extract 3-7 concepts, reconcile each against existing vault
495
+ * notes (EXISTS → append / PARTIAL → new note with wikilink / NEW →
496
+ * fresh wiki page), validate each draft via `obsidian_validate_note_proposal`,
497
+ * then output a transactional plan for user approval before writing.
498
+ * Every claim is cited with the source quote.
499
+ *
500
+ * Distinct from `vault_synthesis_page` which synthesizes from existing
501
+ * vault content rather than external input.
502
+ *
503
+ * Args: `source` (string, required — the content to ingest),
504
+ * `target_folder` (string, optional — default `"Wiki/"`).
505
+ */
506
+ // === vault_synth =====================================================
310
507
  server.registerPrompt("vault_synth", {
311
508
  title: "Synthesize a vault wiki page from sources (Karpathy-style ingest)",
312
509
  description: "Karpathy LLM-Wiki ingest workflow: take raw source(s), extract entities/concepts/claims, decide which existing notes to update vs which new wiki pages to create, then propose drafts. The agent decides; this prompt sequences the calls. Cites every claim with the source location for trust.",
@@ -358,6 +555,20 @@ This is the Karpathy LLM-Wiki ingest loop applied to Obsidian. Goal: knowledge t
358
555
  }
359
556
  ]
360
557
  }));
558
+ /**
559
+ * Karpathy LLM-Wiki **compile** workflow — regenerate `index.md` +
560
+ * append to `log.md`.
561
+ *
562
+ * Use case: weekly maintenance run, or post-batch-ingest. Scans
563
+ * recently-changed wiki notes, groups by tags/folder into clusters,
564
+ * regenerates the top-level index with table of contents + concept
565
+ * clusters + "Recent" section, then appends a chronological compile-log
566
+ * entry. Idempotent — safe to re-run.
567
+ *
568
+ * Args: `since_minutes` (string, optional, default `"10080"` = 7 days),
569
+ * `wiki_folder` (string, optional, default `"Wiki/"`).
570
+ */
571
+ // === vault_wiki_compile ==============================================
361
572
  server.registerPrompt("vault_wiki_compile", {
362
573
  title: "Compile vault index + log (Karpathy-style maintenance)",
363
574
  description: "The LLM-Wiki maintenance step: scan the vault for new/updated notes since last compile, regenerate the top-level `index.md` (table of contents + concept clusters) and append to `log.md` (a chronological compile-log). Run weekly or after a batch ingest. Idempotent.",
@@ -397,6 +608,26 @@ Idempotent. Re-run weekly.`
397
608
  }
398
609
  ]
399
610
  }));
611
+ /**
612
+ * Deeper-than-structural vault lint — contradictions, stale claims,
613
+ * missing cross-references.
614
+ *
615
+ * Use case: monthly deep audit on top of `lint_wiki`'s structural pass.
616
+ * Four phases:
617
+ * 1. Structural lint via `obsidian_lint_wiki`.
618
+ * 2. Semantic contradictions: paraphrase claims to their negation,
619
+ * search for multi-ranker consensus on the opposite (`min_signals=2`).
620
+ * 3. Stale claims: scan body for date patterns + present-tense markers
621
+ * ("current" / "latest" / "now"), flag if > 6 months old.
622
+ * 4. Missing cross-references: titles mentioned in plain text without
623
+ * `[[brackets]]`.
624
+ *
625
+ * Output is a single markdown report with sections per phase + top 5
626
+ * highest-leverage fixes.
627
+ *
628
+ * Args: `folder` (string, optional).
629
+ */
630
+ // === vault_lint_extended =============================================
400
631
  server.registerPrompt("vault_lint_extended", {
401
632
  title: "Extended vault lint (orphans + contradictions + stale claims + missing cross-refs)",
402
633
  description: "Beyond the structural lint of `obsidian_lint_wiki`: this prompt sequences a deeper inspection — contradictions across notes (semantic search for opposing claims), stale claims (notes with date references > 6mo old), missing cross-references (notes that mention an entity by name without `[[wikilinking]]` to its wiki page).",
@@ -433,6 +664,25 @@ Output: a single markdown report with sections per phase. End with the top 5 hig
433
664
  }
434
665
  ]
435
666
  }));
667
+ /**
668
+ * Mem.ai-style "write don't organize" capture — file a quick thought
669
+ * intelligently with user approval.
670
+ *
671
+ * Use case: pasting a transient thought without manually filing it.
672
+ * Decision tree:
673
+ * 1. Daily? (conversational / time-bound) → append to today's daily note.
674
+ * 2. Continues an existing note? (top hit score > 0.05) → propose
675
+ * append.
676
+ * 3. New wiki page? (1-3 distinct concepts) → run `vault_synth`.
677
+ * 4. Inbox catch-all → `Inbox/<timestamp>-<3-word-slug>.md`.
678
+ *
679
+ * Always validates via `obsidian_validate_note_proposal`, shows the diff,
680
+ * asks for user approval before writing.
681
+ *
682
+ * Args: `text` (string, required), `target_hint` (string, optional —
683
+ * `"daily"` / `"new-note"` / a path/topic).
684
+ */
685
+ // === vault_capture ===================================================
436
686
  server.registerPrompt("vault_capture", {
437
687
  title: "Capture a quick thought into the vault (write don't organize)",
438
688
  description: "Mem.ai-style 'write don't organize' UX: the user pastes a thought; we file it intelligently. Auto-detect destination (today's daily note vs new wiki page vs append to most-relevant existing note via hybrid search) and propose a diff for user approval before writing.",
@@ -479,6 +729,20 @@ Goal: zero filing burden on the user. The AI does the indexing.`
479
729
  // Agent personas + scheduled automations as prompts that orchestrate
480
730
  // existing tools. Pure agent-side: no server-side state, no LLM calls.
481
731
  // HTTP transport is a separate larger-scope sprint (planned post v2.5).
732
+ /**
733
+ * Khoj-style persona-scoped vault search — folder-scoped retrieval with
734
+ * persona-tuned response framing.
735
+ *
736
+ * Use case: distinct "agents" over distinct vault zones — "research-
737
+ * assistant" over `Research/` (cites sources, ignores drafts) vs.
738
+ * "editor" over `Drafts/` (flags contradictions, surfaces structure).
739
+ * Pure prompt template — orchestrates existing search tools with a
740
+ * fixed scope and persona-specific instructions.
741
+ *
742
+ * Args: `persona` (string, required — persona name + traits),
743
+ * `folder` (string, required), `query` (string, required).
744
+ */
745
+ // === vault_persona_search ============================================
482
746
  server.registerPrompt("vault_persona_search", {
483
747
  title: "Search the vault as a named persona (folder-scoped + tuned)",
484
748
  description: "Khoj-style agent persona pattern: scope retrieval to a folder + apply a persona-specific lens to the response. Useful when you want 'research-assistant' behavior over `Research/` distinct from 'editor' over `Drafts/`. Pure prompt template — orchestrates existing search tools with a fixed scope/instructions.",
@@ -511,6 +775,21 @@ Stay in the persona for the entire response. If asked something out-of-scope (e.
511
775
  }
512
776
  ]
513
777
  }));
778
+ /**
779
+ * Khoj-style automation setup — wire up a cron'd vault query that lands
780
+ * in a daily note or digest.
781
+ *
782
+ * Use case: "every Monday at 9am, surface last week's edits and
783
+ * unresolved questions". Bridges enquire-mcp tools + the host's
784
+ * `scheduled-tasks` MCP (or any cron tool the agent has access to).
785
+ * Five steps: parse intent → propose JSON spec → user confirms →
786
+ * register via `mcp__scheduled-tasks__create_scheduled_task` →
787
+ * smoke-run once to verify output shape.
788
+ *
789
+ * Args: `intent` (string, required — natural-language description of
790
+ * the automation, including cadence + source + sink).
791
+ */
792
+ // === vault_automation_setup ==========================================
514
793
  server.registerPrompt("vault_automation_setup", {
515
794
  title: "Set up a scheduled vault query (Khoj-style automations)",
516
795
  description: "Walks you through creating a cron'd vault query whose results land as a daily note or get appended to a digest. Bridges enquire-mcp tools + the host's `scheduled-tasks` MCP (or any cron tool the agent has access to). Pure orchestration — no server-side state.",
@@ -561,6 +840,24 @@ This is the Khoj automation pattern translated to MCP: research that comes to yo
561
840
  // v3.1.0 — sub-question decomposition / agentic retrieval. Closes the
562
841
  // "agentic decomposition" gap vs Copilot Plus's autonomous agent —
563
842
  // pure prompt-side, no new tools required, agent does the recursion.
843
+ /**
844
+ * Multi-hop research via sub-question decomposition — agentic-RAG
845
+ * pattern translated to vault search.
846
+ *
847
+ * Use case: complex questions that hide multiple lookups (e.g. "what
848
+ * are the trade-offs between BM25 and embeddings for my use case?").
849
+ * Single-shot RRF retrieves the most plausible chunk but misses the
850
+ * chunks that answer the sub-parts. Decomposition surfaces them all
851
+ * and forces evidence-grounded synthesis.
852
+ *
853
+ * Workflow: decompose → per-sub `obsidian_search` (or `obsidian_hyde_search`
854
+ * if available) → extract atomic evidence → compose answer with citations
855
+ * → flag any sub-question the vault didn't answer as an "open question".
856
+ *
857
+ * Args: `question` (string, required — the complex / multi-hop question),
858
+ * `max_sub_questions` (string, optional, default `"3-5"`).
859
+ */
860
+ // === vault_research ==================================================
564
861
  server.registerPrompt("vault_research", {
565
862
  title: "Research a complex vault question via sub-question decomposition",
566
863
  description: "Multi-hop research workflow: break a complex question into 3-5 atomic sub-questions, retrieve per sub-question, synthesize a final answer with cited claims. Closes the gap to agentic-RAG patterns (sub-question decomposition + ReAct) without forcing the server to make LLM calls — the agent handles the decomposition.",
@@ -612,6 +909,24 @@ Why this beats single-shot search: complex questions hide multiple lookups. Sing
612
909
  // v3.1.0 — synthesis-page workflow (consolidate existing knowledge into
613
910
  // a topic page). Distinct from `vault_synth` (which ingests an external
614
911
  // source); this one operates over what's already in the vault.
912
+ /**
913
+ * Karpathy LLM-Wiki **synthesis** workflow — consolidate scattered
914
+ * existing notes into a single topic page.
915
+ *
916
+ * Use case: when the vault has enough scattered notes about a topic
917
+ * that a consolidated overview would help. Surveys via
918
+ * `obsidian_search`, extracts per-source bullets (definition,
919
+ * comparison, examples, caveats, see-also), reconciles across sources
920
+ * (deduplicate, flag contradictions), composes a structured wiki page
921
+ * with citations, validates, asks user, writes via `obsidian_create_note`.
922
+ *
923
+ * Distinct from `vault_synth` (which ingests external sources rather
924
+ * than synthesizing existing vault content).
925
+ *
926
+ * Args: `topic` (string, required), `target_path` (string, optional,
927
+ * default `"Wiki/<Topic>.md"`).
928
+ */
929
+ // === vault_synthesis_page ============================================
615
930
  server.registerPrompt("vault_synthesis_page", {
616
931
  title: "Synthesize an existing-knowledge topic page from vault content",
617
932
  description: "Takes a topic the user already has scattered notes about and produces a single consolidated wiki page that cites every contributing note. Karpathy LLM-Wiki **synthesis** loop (vs `vault_synth` which is the *ingest* loop).",
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}