@oomkapwn/enquire-mcp 3.6.3 → 3.7.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 (148) hide show
  1. package/CHANGELOG.md +206 -0
  2. package/README.md +5 -5
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +101 -22
  5. package/dist/cli.js.map +1 -1
  6. package/dist/embed-db.d.ts +20 -0
  7. package/dist/embed-db.d.ts.map +1 -1
  8. package/dist/embed-db.js +66 -0
  9. package/dist/embed-db.js.map +1 -1
  10. package/dist/fts5.d.ts +20 -4
  11. package/dist/fts5.d.ts.map +1 -1
  12. package/dist/fts5.js +20 -4
  13. package/dist/fts5.js.map +1 -1
  14. package/dist/index.d.ts +1 -1
  15. package/dist/index.js +1 -1
  16. package/dist/tools/search.d.ts.map +1 -1
  17. package/dist/tools/search.js +8 -2
  18. package/dist/tools/search.js.map +1 -1
  19. package/docs/COMPARISON.md +4 -4
  20. package/docs/QUICKSTART.md +3 -1
  21. package/docs/api.md +1 -1
  22. package/docs/benchmarks.md +2 -2
  23. package/package.json +5 -3
  24. package/dist/tools.d.ts +0 -980
  25. package/dist/tools.d.ts.map +0 -1
  26. package/dist/tools.js +0 -3132
  27. package/dist/tools.js.map +0 -1
  28. package/docs/api-reference/.nojekyll +0 -1
  29. package/docs/api-reference/assets/hierarchy.js +0 -1
  30. package/docs/api-reference/assets/highlight.css +0 -71
  31. package/docs/api-reference/assets/icons.js +0 -18
  32. package/docs/api-reference/assets/icons.svg +0 -1
  33. package/docs/api-reference/assets/main.js +0 -60
  34. package/docs/api-reference/assets/navigation.js +0 -1
  35. package/docs/api-reference/assets/search.js +0 -1
  36. package/docs/api-reference/assets/style.css +0 -1633
  37. package/docs/api-reference/functions/index.buildEmbedText.html +0 -15
  38. package/docs/api-reference/functions/index.buildMcpServer.html +0 -4
  39. package/docs/api-reference/functions/index.formatReadyBanner.html +0 -4
  40. package/docs/api-reference/functions/index.main.html +0 -1
  41. package/docs/api-reference/functions/index.parsePositiveInt.html +0 -1
  42. package/docs/api-reference/functions/index.parseQuantizationMode.html +0 -5
  43. package/docs/api-reference/functions/index.prepareServerDeps.html +0 -5
  44. package/docs/api-reference/functions/index.startServer.html +0 -1
  45. package/docs/api-reference/functions/tools.appendToNote.html +0 -17
  46. package/docs/api-reference/functions/tools.archiveNote.html +0 -15
  47. package/docs/api-reference/functions/tools.assertHnswModelMatchesEmbedder.html +0 -13
  48. package/docs/api-reference/functions/tools.chatThreadAppend.html +0 -22
  49. package/docs/api-reference/functions/tools.chatThreadRead.html +0 -16
  50. package/docs/api-reference/functions/tools.contextPack.html +0 -21
  51. package/docs/api-reference/functions/tools.createNote.html +0 -19
  52. package/docs/api-reference/functions/tools.dataviewQuery.html +0 -16
  53. package/docs/api-reference/functions/tools.embeddingsSearch.html +0 -40
  54. package/docs/api-reference/functions/tools.findPath.html +0 -23
  55. package/docs/api-reference/functions/tools.findSimilar.html +0 -21
  56. package/docs/api-reference/functions/tools.frontmatterGet.html +0 -15
  57. package/docs/api-reference/functions/tools.frontmatterSearch.html +0 -16
  58. package/docs/api-reference/functions/tools.frontmatterSet.html +0 -19
  59. package/docs/api-reference/functions/tools.getBacklinks.html +0 -15
  60. package/docs/api-reference/functions/tools.getNoteNeighbors.html +0 -16
  61. package/docs/api-reference/functions/tools.getOpenQuestions.html +0 -19
  62. package/docs/api-reference/functions/tools.getOutboundLinks.html +0 -16
  63. package/docs/api-reference/functions/tools.getRecentEdits.html +0 -14
  64. package/docs/api-reference/functions/tools.getUnresolvedWikilinks.html +0 -14
  65. package/docs/api-reference/functions/tools.getVaultStats.html +0 -13
  66. package/docs/api-reference/functions/tools.lintWiki.html +0 -20
  67. package/docs/api-reference/functions/tools.listCanvases.html +0 -16
  68. package/docs/api-reference/functions/tools.listNotes.html +0 -19
  69. package/docs/api-reference/functions/tools.listPdfs.html +0 -15
  70. package/docs/api-reference/functions/tools.listTags.html +0 -14
  71. package/docs/api-reference/functions/tools.ocrPdf.html +0 -18
  72. package/docs/api-reference/functions/tools.openInUi.html +0 -17
  73. package/docs/api-reference/functions/tools.paperAudit.html +0 -16
  74. package/docs/api-reference/functions/tools.pickEmbedTextForHyde.html +0 -8
  75. package/docs/api-reference/functions/tools.readCanvas.html +0 -19
  76. package/docs/api-reference/functions/tools.readNote.html +0 -20
  77. package/docs/api-reference/functions/tools.readPdf.html +0 -18
  78. package/docs/api-reference/functions/tools.renameNote.html +0 -24
  79. package/docs/api-reference/functions/tools.replaceInNotes.html +0 -20
  80. package/docs/api-reference/functions/tools.resolveTarget.html +0 -24
  81. package/docs/api-reference/functions/tools.resolveWikilink.html +0 -20
  82. package/docs/api-reference/functions/tools.searchHybrid.html +0 -62
  83. package/docs/api-reference/functions/tools.searchText.html +0 -19
  84. package/docs/api-reference/functions/tools.semanticSearch.html +0 -19
  85. package/docs/api-reference/functions/tools.validateNoteProposal.html +0 -19
  86. package/docs/api-reference/hierarchy.html +0 -1
  87. package/docs/api-reference/index.html +0 -1
  88. package/docs/api-reference/interfaces/index.ServeOptions.html +0 -74
  89. package/docs/api-reference/interfaces/index.ServerDeps.html +0 -27
  90. package/docs/api-reference/interfaces/tool-manifest.ToolManifestEntry.html +0 -33
  91. package/docs/api-reference/interfaces/tools.ArchiveNoteArgs.html +0 -12
  92. package/docs/api-reference/interfaces/tools.BacklinkHit.html +0 -15
  93. package/docs/api-reference/interfaces/tools.CanvasEdge.html +0 -19
  94. package/docs/api-reference/interfaces/tools.CanvasSummary.html +0 -16
  95. package/docs/api-reference/interfaces/tools.ChatThreadAppendArgs.html +0 -10
  96. package/docs/api-reference/interfaces/tools.ChatThreadMessage.html +0 -14
  97. package/docs/api-reference/interfaces/tools.ChatThreadReadResult.html +0 -10
  98. package/docs/api-reference/interfaces/tools.ContextPackArgs.html +0 -12
  99. package/docs/api-reference/interfaces/tools.ContextPackResult.html +0 -20
  100. package/docs/api-reference/interfaces/tools.EmbedHit.html +0 -21
  101. package/docs/api-reference/interfaces/tools.EmbedSearchResponse.html +0 -14
  102. package/docs/api-reference/interfaces/tools.FindPathResult.html +0 -17
  103. package/docs/api-reference/interfaces/tools.FrontmatterSearchArgs.html +0 -20
  104. package/docs/api-reference/interfaces/tools.FrontmatterSetArgs.html +0 -13
  105. package/docs/api-reference/interfaces/tools.HnswSearchContext.html +0 -21
  106. package/docs/api-reference/interfaces/tools.LintWikiArgs.html +0 -14
  107. package/docs/api-reference/interfaces/tools.LintWikiFinding.html +0 -14
  108. package/docs/api-reference/interfaces/tools.LintWikiResult.html +0 -9
  109. package/docs/api-reference/interfaces/tools.NoteNeighbors.html +0 -17
  110. package/docs/api-reference/interfaces/tools.NoteReadFull.html +0 -20
  111. package/docs/api-reference/interfaces/tools.NoteReadMap.html +0 -25
  112. package/docs/api-reference/interfaces/tools.NoteSummary.html +0 -14
  113. package/docs/api-reference/interfaces/tools.OcrPdfArgs.html +0 -16
  114. package/docs/api-reference/interfaces/tools.OcrPdfPage.html +0 -15
  115. package/docs/api-reference/interfaces/tools.OcrPdfResult.html +0 -18
  116. package/docs/api-reference/interfaces/tools.OpenInUiResult.html +0 -11
  117. package/docs/api-reference/interfaces/tools.OpenQuestion.html +0 -20
  118. package/docs/api-reference/interfaces/tools.OutboundLink.html +0 -20
  119. package/docs/api-reference/interfaces/tools.PaperAuditFinding.html +0 -17
  120. package/docs/api-reference/interfaces/tools.PathStep.html +0 -9
  121. package/docs/api-reference/interfaces/tools.PdfSummary.html +0 -9
  122. package/docs/api-reference/interfaces/tools.ReadCanvasResult.html +0 -15
  123. package/docs/api-reference/interfaces/tools.ReadPdfArgs.html +0 -8
  124. package/docs/api-reference/interfaces/tools.ReadPdfPage.html +0 -13
  125. package/docs/api-reference/interfaces/tools.ReadPdfResult.html +0 -18
  126. package/docs/api-reference/interfaces/tools.RenameNoteResult.html +0 -14
  127. package/docs/api-reference/interfaces/tools.RenameProposal.html +0 -13
  128. package/docs/api-reference/interfaces/tools.ReplaceInNotesArgs.html +0 -15
  129. package/docs/api-reference/interfaces/tools.ReplaceInNotesFileResult.html +0 -6
  130. package/docs/api-reference/interfaces/tools.ReplaceInNotesResult.html +0 -21
  131. package/docs/api-reference/interfaces/tools.SearchHit.html +0 -16
  132. package/docs/api-reference/interfaces/tools.SearchHybridHit.html +0 -30
  133. package/docs/api-reference/interfaces/tools.SearchHybridResponse.html +0 -23
  134. package/docs/api-reference/interfaces/tools.SearchResponse.html +0 -13
  135. package/docs/api-reference/interfaces/tools.SemanticHit.html +0 -15
  136. package/docs/api-reference/interfaces/tools.SimilarNote.html +0 -15
  137. package/docs/api-reference/interfaces/tools.TagSummary.html +0 -13
  138. package/docs/api-reference/interfaces/tools.UnresolvedWikilink.html +0 -22
  139. package/docs/api-reference/interfaces/tools.ValidateProposalArgs.html +0 -10
  140. package/docs/api-reference/interfaces/tools.ValidateProposalResult.html +0 -14
  141. package/docs/api-reference/interfaces/tools.VaultStats.html +0 -26
  142. package/docs/api-reference/modules/index.html +0 -1
  143. package/docs/api-reference/modules/tool-manifest.html +0 -1
  144. package/docs/api-reference/modules/tools.html +0 -1
  145. package/docs/api-reference/types/tools.CanvasNode.html +0 -7
  146. package/docs/api-reference/types/tools.SearchMode.html +0 -7
  147. package/docs/api-reference/variables/index.VERSION.html +0 -9
  148. package/docs/api-reference/variables/tool-manifest.TOOL_MANIFEST.html +0 -1
@@ -1,6 +1,6 @@
1
1
  # enquire-mcp vs. other Obsidian MCP servers
2
2
 
3
- There are several MCP servers for Obsidian vaults, and they make very different trade-offs. This document is a side-by-side feature matrix plus an honest "when to pick which" guide, written by the enquire-mcp maintainer. It is intentionally fair-not-sales: each alternative has scenarios where it is the better pick, and those scenarios are called out below. Numbers and feature claims for enquire-mcp are accurate as of v3.6.1 (2026-05-15); claims about the four alternatives are based on their public READMEs as of the same date — please verify against their current state before deciding.
3
+ **enquire-mcp positions itself as a long-term memory layer for AI agents, built on an Obsidian vault** — open-source, MCP-native, vendor-neutral, with the strongest retrieval stack in the open-source Obsidian-MCP space (BM25 + TF-IDF + ML embeddings, RRF-fused, BGE cross-encoder reranked, HNSW + int8 quantized). The alternatives below take different trade-offs — some are agent-first, some are Obsidian-plugin-first, some optimize for local-REST-API integration over hybrid retrieval. This document is a side-by-side feature matrix plus an honest "when to pick which" guide, written by the enquire-mcp maintainer. It is intentionally fair-not-sales: each alternative has scenarios where it is the better pick, and those scenarios are called out below. Numbers and feature claims for enquire-mcp are accurate as of v3.7.0 (2026-05-15); claims about the four alternatives are based on their public READMEs as of the same date — please verify against their current state before deciding.
4
4
 
5
5
  ## Servers compared
6
6
 
@@ -56,7 +56,7 @@ Notes on the matrix:
56
56
 
57
57
  - **"Limited" for markus on Obsidian-side operations:** it covers a smaller subset of REST endpoints than cyanheads.
58
58
 
59
- - **Tool counts for alternatives** are approximate from public READMEs and may have shifted. enquire-mcp's 44-tool count is exact for v3.6.1 and is verified by `tests/docs-consistency.test.ts` against `src/tool-manifest.ts` (machine-readable single source of truth, introduced v3.6.0-rc.2).
59
+ - **Tool counts for alternatives** are approximate from public READMEs and may have shifted. enquire-mcp's 44-tool count is exact for v3.7.0 and is verified by `tests/docs-consistency.test.ts` against `src/tool-manifest.ts` (machine-readable single source of truth, introduced v3.6.0-rc.2).
60
60
 
61
61
  - **License row** is informational, not a recommendation. MIT and Apache-2.0 are both permissive; pick what your org's policy requires.
62
62
 
@@ -239,7 +239,7 @@ As of v3.6.0-rc.4, **enquire-mcp ships public, reproducible end-to-end retrieval
239
239
 
240
240
  ## Disclaimer
241
241
 
242
- This is a snapshot as of **2026-05-15** (v3.6.1). All five servers are actively developed (or in some cases archived) and the feature matrix will drift. Before making a decision:
242
+ This is a snapshot as of **2026-05-15** (v3.7.0). All five servers are actively developed (or in some cases archived) and the feature matrix will drift. Before making a decision:
243
243
 
244
244
  1. Re-read each alternative's current `README.md` — features land between matrix updates.
245
245
  2. Run each candidate against a sample of your own vault for an hour. Retrieval quality, in particular, is vault-specific and unreliable to compare from feature lists alone.
@@ -247,4 +247,4 @@ This is a snapshot as of **2026-05-15** (v3.6.1). All five servers are actively
247
247
 
248
248
  Corrections to this document are welcome — open an issue or PR on [`oomkapwn/enquire-mcp`](https://github.com/oomkapwn/enquire-mcp). Specifically: if a row above understates an alternative's capabilities, that's a bug in this doc and we'd like to fix it.
249
249
 
250
- — enquire-mcp maintainer, v3.6.1
250
+ — enquire-mcp maintainer, v3.7.0
@@ -1,6 +1,8 @@
1
1
  # Quickstart — enquire-mcp in 5 minutes
2
2
 
3
- From `npm install` to a working semantic search across your Obsidian vault, inside Claude Desktop. One happy path. Concrete commands, expected output, troubleshooting at the bottom.
3
+ From `npm install` to a working **long-term memory layer for your AI agents**, backed by your Obsidian vault, inside Claude Desktop (or any MCP client). One happy path. Concrete commands, expected output, troubleshooting at the bottom.
4
+
5
+ > **What "memory layer" means here.** Unlike vendor-specific chat memory (Claude Memory, ChatGPT Memory, Cursor memory) that locks your knowledge into one provider's cloud, enquire-mcp turns any directory of `.md` files into queryable, semantically-searchable memory accessible from every MCP-compatible agent. The knowledge is yours, in plain markdown, portable forever.
4
6
 
5
7
  ## What you'll get
6
8
 
package/docs/api.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # enquire — API
2
2
 
3
- **enquire is an MCP server for Obsidian vaults.** 44 MCP tools (33 always-on read + 4 opt-in read + 7 opt-in write); the 4 opt-ins are: 1 via `--persistent-index` + `--diagnostic-search-tools` (`obsidian_full_text_search` — needs BOTH flags: persistent-index for the FTS5 index, diagnostic-search-tools to surface it as a single-ranker tool alongside the hybrid default `obsidian_search`) + 3 via `--diagnostic-search-tools` (the single-ranker `obsidian_search_text` / `obsidian_semantic_search` / `obsidian_embeddings_search` — gated by default in v2.0+ since `obsidian_search` auto-detects + fuses signals). 2 + 1 opt-in MCP resources, 19 MCP prompts. **v3.1.0+ adds `obsidian_hyde_search`** (HyDE-augmented retrieval, Gao et al 2023; agent supplies a synthetic answer, server embeds it for retrieval) plus the `vault_research` (sub-question decomposition) and `vault_synthesis_page` (Karpathy LLM-Wiki synthesis loop) prompts. v2.6.0+ also speaks Streamable HTTP via `serve-http` (bearer auth + rate-limit + CORS). v2.7.0+ indexes PDFs as a separate read tool surface; **v2.8.0+ blends PDF chunks into `obsidian_search` hybrid retrieval** with `--include-pdfs` — every hit carries a `kind: "md" | "pdf"` flag and PDF snippets include `[page: N]` markers for citation. **v2.9.0+ adds BGE cross-encoder reranking** on top of RRF with `--enable-reranker` — typical +5-10 NDCG@10 retrieval-quality boost. **v2.10.0+ adds Tesseract OCR for image-only / scanned PDFs** via `obsidian_ocr_pdf` — completes the PDF retrieval story.
3
+ **enquire is a long-term memory layer for AI agents, built on your Obsidian vault.** Open-source, MCP-native, vendor-neutral persistence: agents (Claude Code / Claude Desktop / Cursor / ChatGPT / Codex / any MCP client) get durable, queryable recall across sessions, models, and providers — your knowledge lives in plain markdown you own, not a vendor cloud. 44 MCP tools (33 always-on read + 4 opt-in read + 7 opt-in write); the 4 opt-ins are: 1 via `--persistent-index` + `--diagnostic-search-tools` (`obsidian_full_text_search` — needs BOTH flags: persistent-index for the FTS5 index, diagnostic-search-tools to surface it as a single-ranker tool alongside the hybrid default `obsidian_search`) + 3 via `--diagnostic-search-tools` (the single-ranker `obsidian_search_text` / `obsidian_semantic_search` / `obsidian_embeddings_search` — gated by default in v2.0+ since `obsidian_search` auto-detects + fuses signals). 2 + 1 opt-in MCP resources, 19 MCP prompts. **v3.1.0+ adds `obsidian_hyde_search`** (HyDE-augmented retrieval, Gao et al 2023; agent supplies a synthetic answer, server embeds it for retrieval) plus the `vault_research` (sub-question decomposition) and `vault_synthesis_page` (Karpathy LLM-Wiki synthesis loop) prompts. v2.6.0+ also speaks Streamable HTTP via `serve-http` (bearer auth + rate-limit + CORS). v2.7.0+ indexes PDFs as a separate read tool surface; **v2.8.0+ blends PDF chunks into `obsidian_search` hybrid retrieval** with `--include-pdfs` — every hit carries a `kind: "md" | "pdf"` flag and PDF snippets include `[page: N]` markers for citation. **v2.9.0+ adds BGE cross-encoder reranking** on top of RRF with `--enable-reranker` — typical +5-10 NDCG@10 retrieval-quality boost. **v2.10.0+ adds Tesseract OCR for image-only / scanned PDFs** via `obsidian_ocr_pdf` — completes the PDF retrieval story.
4
4
 
5
5
  > **Channels:** stable v3.6.x (`@latest` on npm) ships 44 tools including `obsidian_search` (hybrid BM25 + TF-IDF + ML embeddings, RRF-fused) with optional BGE cross-encoder reranking, `obsidian_embeddings_search`, `obsidian_hyde_search`, plus the `install-model` / `build-embeddings` / `clear-embeddings` / `setup` / `doctor` / `eval` / `bench` subcommands. The `@rc` dist-tag carries the most recent release candidate. This document covers the **v3.6.x stable** surface.
6
6
 
@@ -1,6 +1,6 @@
1
1
  # Benchmarks — enquire-mcp retrieval quality
2
2
 
3
- **Last updated:** 2026-05-15 (v3.6.0-rc.4) · **Generated by:** `npm run bench:retrieval`
3
+ **Last updated:** 2026-05-15 (v3.7.0) · **Generated by:** `npm run bench:retrieval`
4
4
 
5
5
  This page reports retrieval-quality numbers for every layer of the enquire-mcp
6
6
  hybrid stack against a deterministic synthetic vault. **Every metric below is
@@ -315,7 +315,7 @@ picks).
315
315
  ```bash
316
316
  git clone https://github.com/oomkapwn/enquire-mcp.git
317
317
  cd enquire-mcp
318
- git checkout v3.6.0-rc.4 # or main once v3.6.0 is shipped
318
+ git checkout v3.7.0 # or main
319
319
  npm install
320
320
  npm run build
321
321
  npm run bench:retrieval
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@oomkapwn/enquire-mcp",
4
- "version": "3.6.3",
5
- "description": "Memory layer for AI agents over your Obsidian vault. Hybrid retrieval (BM25 + TF-IDF + multilingual ML embeddings, RRF-fused) with BGE cross-encoder reranking, HNSW + int8 quantization, late-chunking, HyDE + sub-question decomposition, agentic RAG, PDFs (with OCR), standalone Bases (.base query execution — no Obsidian needed), GraphRAG-light (Louvain wikilink community detection), wikilinks, backlinks, Dataview, frontmatter, canvas. Open-source long-term memory / second brain for Claude Code, Claude Desktop, Cursor, ChatGPT custom GPT, Codex, and any MCP client. 44 tools, 19 MCP prompts, 5 cross-encoder reranker models, 753 tests, SLSA-3, semver-bound, MIT.",
4
+ "version": "3.7.0",
5
+ "description": "Memory layer for AI agents over your Obsidian vault. Hybrid retrieval (BM25 + TF-IDF + multilingual ML embeddings, RRF-fused) with BGE cross-encoder reranking, HNSW + int8 quantization, late-chunking, HyDE + sub-question decomposition, agentic RAG, PDFs (with OCR), standalone Bases (.base query execution — no Obsidian needed), GraphRAG-light (Louvain wikilink community detection), wikilinks, backlinks, Dataview, frontmatter, canvas. Open-source long-term memory / second brain for Claude Code, Claude Desktop, Cursor, ChatGPT custom GPT, Codex, and any MCP client. 44 tools, 19 MCP prompts, 5 cross-encoder reranker models, 775 tests, SLSA-3, semver-bound, MIT.",
6
6
  "type": "module",
7
7
  "bin": {
8
8
  "enquire-mcp": "dist/index.js"
@@ -61,6 +61,7 @@
61
61
  "test:watch": "vitest",
62
62
  "test:coverage": "vitest run --coverage",
63
63
  "check:changelog-coverage": "node scripts/check-changelog-coverage.mjs",
64
+ "check:per-file-coverage": "node scripts/check-per-file-coverage.mjs",
64
65
  "lint": "biome check",
65
66
  "lint:fix": "biome check --write",
66
67
  "format": "biome format --write",
@@ -68,9 +69,10 @@
68
69
  "bench": "npm run build && node scripts/bench.mjs",
69
70
  "bench:quick": "npm run build && node scripts/bench.mjs --quick",
70
71
  "bench:retrieval": "npm run build && node scripts/run-benchmarks.mjs",
72
+ "bench:peek-cache": "npm run build && node scripts/bench-peek-cache.mjs",
71
73
  "docs:api": "typedoc",
72
74
  "prepare": "tsc && chmod +x dist/index.js && (husky 2>/dev/null || true)",
73
- "prepublishOnly": "npm run lint && npm run build && npm test && node scripts/check-version-consistency.mjs && npm audit --audit-level=high && npm run test:coverage --silent && node scripts/check-changelog-coverage.mjs",
75
+ "prepublishOnly": "npm run lint && npm run build && npm test && node scripts/check-version-consistency.mjs && npm audit --audit-level=high && npm run test:coverage --silent && node scripts/check-changelog-coverage.mjs && node scripts/check-per-file-coverage.mjs",
74
76
  "version": "node scripts/sync-version.mjs && git add package.json package-lock.json src/index.ts CHANGELOG.md"
75
77
  },
76
78
  "keywords": [