@vheins/local-memory-mcp 0.9.3 → 0.9.4

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.
@@ -10,7 +10,7 @@ import {
10
10
  createFileSink,
11
11
  listResources,
12
12
  logger
13
- } from "../chunk-KQHMJLUV.js";
13
+ } from "../chunk-LFMZUZGW.js";
14
14
 
15
15
  // src/dashboard/server.ts
16
16
  import express from "express";
@@ -54,7 +54,7 @@ import {
54
54
  setLogLevel,
55
55
  updateSessionFromInitialize,
56
56
  updateSessionRoots
57
- } from "../chunk-KQHMJLUV.js";
57
+ } from "../chunk-LFMZUZGW.js";
58
58
 
59
59
  // src/mcp/server.ts
60
60
  import readline from "readline";
@@ -21,23 +21,25 @@ Goal:
21
21
  - If the path is a file:
22
22
  - Use the `read_file` tool to retrieve the content of the file.
23
23
  - Extract source-backed coding standards from the content.
24
- - Produce one atomic CSL entry per distinct rule, constraint, prohibition, or required workflow.
24
+ - For each extracted rule, use the `standard-search` tool to check if a similar rule already exists (match by name or core instruction).
25
+ - Produce one atomic CSL entry per distinct rule that DOES NOT already exist.
25
26
  - Each entry must be ready for the `standard-store` tool shape: name, content, parent_id, context, version, language, stack, tags, metadata, repo, is_global.
26
27
 
27
28
  Atomic entry rules:
28
29
  - One entry = one rule. Split bundled guidance into separate entries.
30
+ - DO NOT emit duplicates. If `standard-search` returns a high-confidence match, skip the entry or update it if the new source is more authoritative.
29
31
  - Use parent/child only for genuine hierarchy: parent = umbrella principle, child = narrower enforceable specialization.
30
32
  - Keep content concise, imperative, and implementation-relevant.
31
33
  - ALWAYS include relevant code examples or snippets from the source that illustrate or enforce the rule. Do NOT discard code blocks.
32
34
  - Preserve the source meaning without inventing requirements.
33
35
  - Ignore boilerplate, non-normative text, or metadata noise. Do NOT ignore code examples.
34
- - Do not emit duplicates or near-duplicates.
35
36
  - Do not infer version, language, stack, or scope unless the source makes them explicit.
36
37
  - Use metadata to preserve provenance, including the original file path and a short evidence_excerpt for each entry.
37
38
 
38
39
  Output contract:
39
40
  - If tool calls are available:
40
- - Emit `standard-store` calls for every accepted entry found across all processed files.
41
+ - First, emit `standard-search` calls to verify existing data.
42
+ - Then, emit `standard-store` calls for every unique/new accepted entry.
41
43
  - When parent/child hierarchy exists, emit the parent first, then emit children with `parent_id` referencing the created parent standard ID.
42
44
  - If tool calls are unavailable, return a JSON object with:
43
45
  - `standards`: Array of `standard-store`-compatible payloads.
@@ -15,25 +15,27 @@ Current repo: {{current_repo}}
15
15
  Goal:
16
16
  - Use the web_fetch tool (if available) to retrieve the content of the provided Source URL.
17
17
  - Extract only source-backed coding standards from the documentation.
18
- - Produce one atomic CSL entry per distinct rule, constraint, prohibition, or required workflow.
18
+ - For each extracted rule, use the `standard-search` tool to check if a similar rule already exists (match by name or core instruction).
19
+ - Produce one atomic CSL entry per distinct rule that DOES NOT already exist.
19
20
  - Each entry must be ready for the standard-store tool shape: name, content, parent_id, context, version, language, stack, tags, metadata, repo, is_global.
20
21
  - Identify documentation navigation menus (e.g., sidebars, index pages) containing links to related sub-pages. If present, create iterative scraping tasks for these sub-pages.
21
22
  - Detect documentation hierarchy when a page contains an umbrella rule with narrower sub-rules. In that case, emit one parent entry plus child entries linked with `parent_id`.
22
23
 
23
24
  Atomic entry rules:
24
25
  - One entry = one rule. Split bundled guidance into separate entries.
26
+ - DO NOT emit duplicates. If `standard-search` returns a high-confidence match, skip the entry or update it if the new source is more authoritative.
25
27
  - Use parent/child only for genuine hierarchy: parent = umbrella principle, child = narrower enforceable specialization.
26
28
  - Keep content concise, imperative, and implementation-relevant.
27
29
  - ALWAYS include relevant code examples or snippets from the source that illustrate or enforce the rule. Do NOT discard code blocks.
28
30
  - Preserve the source meaning without inventing requirements.
29
31
  - Ignore marketing copy, release notes, and changelog noise. Do NOT ignore code examples.
30
- - Do not emit duplicates or near-duplicates.
31
32
  - Do not infer version, language, stack, or scope unless the source makes them explicit.
32
33
  - Use metadata to preserve provenance, including the source_url and a short evidence_excerpt for each entry.
33
34
 
34
35
  Output contract:
35
36
  - If tool calls are available:
36
- - Emit one `standard-store` call per accepted entry.
37
+ - First, emit `standard-search` calls to verify existing data.
38
+ - Emit one `standard-store` call per unique/new accepted entry.
37
39
  - When parent/child hierarchy exists, emit the parent first, then emit children with `parent_id` referencing the created parent standard ID.
38
40
  - Emit one `task-create` call for each discovered documentation sub-page URL. The task title should be "Scrape: [URL]" and the description should instruct to use the `csl-scrapper` prompt for that URL.
39
41
  - If tool calls are unavailable, return a JSON object with:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vheins/local-memory-mcp",
3
- "version": "0.9.3",
3
+ "version": "0.9.4",
4
4
  "description": "MCP Local Memory Service for coding copilot agents",
5
5
  "mcpName": "io.github.vheins/local-memory-mcp",
6
6
  "type": "module",