@oomkapwn/enquire-mcp 3.6.0-rc.1 → 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 +120 -0
- package/STABILITY.md +2 -1
- package/dist/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +498 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +11 -149
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +46 -2797
- package/dist/index.js.map +1 -1
- package/dist/prompts.d.ts +35 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +992 -0
- package/dist/prompts.js.map +1 -0
- package/dist/server.d.ts +190 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +701 -0
- package/dist/server.js.map +1 -0
- package/dist/tool-manifest.d.ts +34 -0
- package/dist/tool-manifest.d.ts.map +1 -0
- package/dist/tool-manifest.js +278 -0
- package/dist/tool-manifest.js.map +1 -0
- package/dist/tool-registry.d.ts +43 -0
- package/dist/tool-registry.d.ts.map +1 -0
- package/dist/tool-registry.js +940 -0
- package/dist/tool-registry.js.map +1 -0
- package/dist/tools/media.d.ts +209 -0
- package/dist/tools/media.d.ts.map +1 -1
- package/dist/tools/media.js +121 -0
- package/dist/tools/media.js.map +1 -1
- package/dist/tools/meta.d.ts +441 -0
- package/dist/tools/meta.d.ts.map +1 -1
- package/dist/tools/meta.js +341 -0
- package/dist/tools/meta.js.map +1 -1
- package/dist/tools/read.d.ts +535 -15
- package/dist/tools/read.d.ts.map +1 -1
- package/dist/tools/read.js +377 -6
- package/dist/tools/read.js.map +1 -1
- package/dist/tools/search.d.ts +341 -0
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +247 -0
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/write.d.ts +432 -20
- package/dist/tools/write.d.ts.map +1 -1
- package/dist/tools/write.js +376 -19
- package/dist/tools/write.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,126 @@
|
|
|
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
|
+
|
|
59
|
+
## [3.6.0-rc.2] — 2026-05-15
|
|
60
|
+
|
|
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`.
|
|
62
|
+
|
|
63
|
+
**Pre-release — v3.6.0 sprint Phase 2.**
|
|
64
|
+
|
|
65
|
+
### Changed — `src/index.ts` (3665 lines) → domain modules
|
|
66
|
+
|
|
67
|
+
Phase 1 (rc.1) split `tools.ts`. This RC does the same for `index.ts`. The pre-refactor file packed CLI definition, MCP server construction, tool registration, prompt definitions, sync routines, and utility helpers into a single 3665-line monolith. After rc.2:
|
|
68
|
+
|
|
69
|
+
| File | Lines | Purpose |
|
|
70
|
+
|---|---:|---|
|
|
71
|
+
| `src/index.ts` (slim) | 84 | `VERSION` literal (kept here so `scripts/check-version-consistency.mjs` regex still finds it) + CLI-entry guard + re-exports (`main`, `parsePositiveInt`, `parseQuantizationMode`, `startServer`, `buildMcpServer`, `buildEmbedText`, `formatReadyBanner`, `prepareServerDeps`, types `ServeOptions` / `ServerDeps`) |
|
|
72
|
+
| `src/cli.ts` | 702 | `main()` + commander program definition (all 12 subcommands) |
|
|
73
|
+
| `src/server.ts` | 877 | MCP server construction: `ServeOptions`, `ServerDeps`, `prepareServerDeps`, `buildMcpServer`, `startServer`, `formatReadyBanner`, `buildEmbedText`, `syncEmbedDb` / `syncFtsIndex` / `syncPdfFtsIndex` / `syncPdfEmbedDb` |
|
|
74
|
+
| `src/tool-registry.ts` | 1300 | `registerFtsTools` + `registerReadTools` + `registerWriteTools` + `registerResources` + `registerChunkResource` + helpers (`embedDbPath`, `parsePositiveInt`, `parseQuantizationMode`, `encodeNotePath`, `decodeNotePath`, `textResult`) |
|
|
75
|
+
| `src/prompts.ts` | 790 | `registerPrompts` with all 19 MCP prompt definitions |
|
|
76
|
+
|
|
77
|
+
The slim `index.ts` keeps the v3.5.x re-export surface so `src/http-transport.ts` + tests + external consumers don't need to know about the new layout. Module dependency graph is cycle-safe (the `cli.ts` ↔ `index.ts` VERSION cycle is a literal-value cycle, evaluated at module-init time; runtime-only, no TDZ surprises).
|
|
78
|
+
|
|
79
|
+
### Added — `src/tool-manifest.ts` (318 lines, 44 entries)
|
|
80
|
+
|
|
81
|
+
Machine-readable manifest of every MCP tool: `name`, `kind` (`read` | `fts` | `write` | `diagnostic`), `gating` (the `--persistent-index` / `--enable-write` / etc. clause), and a 1-line `summary`. Entries:
|
|
82
|
+
|
|
83
|
+
| Kind | Count | Gating |
|
|
84
|
+
|---|---:|---|
|
|
85
|
+
| `read` | 33 | always-on |
|
|
86
|
+
| `fts` | 1 | `--persistent-index + --diagnostic-search-tools` |
|
|
87
|
+
| `diagnostic` | 3 | `--diagnostic-search-tools` |
|
|
88
|
+
| `write` | 7 | `--enable-write` |
|
|
89
|
+
| **Total** | **44** | (matches the count math invariant in `tests/docs-consistency.test.ts`) |
|
|
90
|
+
|
|
91
|
+
The full `registerTool()` description argument stays at the registration site so MCP clients still see verbatim what they did pre-refactor. The manifest's `summary` is a 1-line distillation for docs / future auto-generation use cases.
|
|
92
|
+
|
|
93
|
+
### Changed — `tests/docs-consistency.test.ts` pivots to TOOL_MANIFEST
|
|
94
|
+
|
|
95
|
+
Pre-v3.6.0-rc.2, this file regex-parsed `src/index.ts` for `registerTool(` patterns + `function registerWriteTools(` markers + `if (diagnosticSearchTools) server.registerTool(` gating syntax. After the rc.2 monolith split, those patterns moved to `tool-registry.ts` — but rather than chase the regex paths, we **pivoted the entire tool-count invariants to read `TOOL_MANIFEST` directly**. Type-safe, no regex brittleness, single source of truth.
|
|
96
|
+
|
|
97
|
+
Surfaces still parsed by regex (no manifest yet):
|
|
98
|
+
- `src/prompts.ts` — registerPrompt() names (possible v3.6.0-rc.3: introduce `PROMPT_MANIFEST`)
|
|
99
|
+
- `src/cli.ts` — `.command()` subcommand names + the `serve` / `serve-http` flag blocks (for the shared-help-strings invariant)
|
|
100
|
+
|
|
101
|
+
### Validation
|
|
102
|
+
|
|
103
|
+
712 unit tests pass · 31 test files · branches 75.29% · lines 89.54% · statements 86.06% · functions 82.15% · lint clean (1 pre-existing info note about biome schema 2.4.15 vs locally-cached 2.4.14 CLI — resolves on CI which installs 2.4.15 fresh) · `tsc` strict + `noUncheckedIndexedAccess` clean · smoke pass · version-consistency green at `3.6.0-rc.2` (5 surfaces).
|
|
104
|
+
|
|
105
|
+
### Migration
|
|
106
|
+
|
|
107
|
+
**No-op for consumers.** Public npm package surface (44 tools, 19 prompts, CLI flags, `package.json` `exports` sub-paths) is identical. The refactor is internal file structure + new `tool-manifest.ts` as a documentation source-of-truth.
|
|
108
|
+
|
|
109
|
+
For contributors:
|
|
110
|
+
- `import { TOOL_MANIFEST } from "@oomkapwn/enquire-mcp/dist/tool-manifest.js"` — programmatically iterate tools by kind / gating / summary.
|
|
111
|
+
- `src/index.ts` re-exports the v3.5.x surface unchanged. Imports from `./index.js` continue to work.
|
|
112
|
+
|
|
113
|
+
### Method note
|
|
114
|
+
|
|
115
|
+
This RC removed an entire **class of brittleness** (regex-parsing source code to extract structured data). Replaced with type-safe, IDE-completable iteration over a typed const array. The methodology: when refactor causes drift in tests, don't chase the regex — pivot the test to a machine-readable structure that survives future refactors.
|
|
116
|
+
|
|
117
|
+
### npm dist-tag
|
|
118
|
+
|
|
119
|
+
Published under **`rc`** dist-tag. Users on `latest` stay on v3.5.14. To try: `npm install @oomkapwn/enquire-mcp@rc`.
|
|
120
|
+
|
|
121
|
+
### Next RC
|
|
122
|
+
|
|
123
|
+
`v3.6.0-rc.3`: Full TSDoc (`@param` / `@returns` / `@example`) on 44 tools + 19 prompts + 20 `src/` modules (~1300+ lines of doc-comments). Setup for `v3.6.0-rc.4` TypeDoc auto-generation.
|
|
124
|
+
|
|
5
125
|
## [3.6.0-rc.1] — 2026-05-15
|
|
6
126
|
|
|
7
127
|
> **TL;DR:** v3.6.0 Phase 1 of 4 — `src/tools.ts` (4252 lines) split into 5 domain modules under `src/tools/` with a barrel re-export. Pure refactor: same exported surface, same signatures, all 712 tests pass. Published to npm under dist-tag `rc` (NOT `latest`); install with `npm i @oomkapwn/enquire-mcp@rc` to try.
|
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/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAiCA,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA4pB1C"}
|