brains-mcp 1.66.21 → 1.66.22
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/dist/search/snippet.d.ts
CHANGED
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
* Plain-text window around the first token match in `content`, matched terms
|
|
11
11
|
* wrapped in `**bold**`. Falls back to a lead-in slice when no token is found
|
|
12
12
|
* verbatim (e.g. the FTS match was via stemming) so the field is never empty
|
|
13
|
-
* for non-empty content.
|
|
13
|
+
* for non-empty content. Frontmatter is stripped before the window is chosen
|
|
14
|
+
* so a title/tag-only match never returns YAML (GH #634).
|
|
14
15
|
*/
|
|
15
16
|
export declare function buildSnippet(content: string, tokens: string[], windowSize?: number): string;
|
|
16
17
|
/** Relevance score exposed to callers: sum of weights for every field a query token matched on. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snippet.d.ts","sourceRoot":"","sources":["../../src/search/snippet.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"snippet.d.ts","sourceRoot":"","sources":["../../src/search/snippet.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAwBH;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,SAAiB,GAAG,MAAM,CAgCnG;AAYD,mGAAmG;AACnG,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAE1D"}
|
package/dist/search/snippet.js
CHANGED
|
@@ -7,17 +7,32 @@
|
|
|
7
7
|
* DB-computed `ts_headline` in use (deferred as a fast-follow, see PR #620).
|
|
8
8
|
*/
|
|
9
9
|
const DEFAULT_WINDOW = 160;
|
|
10
|
+
// Matches a leading YAML frontmatter block (`---\n...\n---`). Anchored to the
|
|
11
|
+
// start of the string, so a `---` horizontal rule later in the body is never
|
|
12
|
+
// touched.
|
|
13
|
+
const FRONTMATTER_RE = /^---\r?\n[\s\S]*?\r?\n---[ \t]*\r?\n?/;
|
|
10
14
|
function escapeRegExp(s) {
|
|
11
15
|
return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
12
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Strips a leading frontmatter block, if present. Callers may pass either
|
|
19
|
+
* raw file content (frontmatter + body) or an already-parsed body — this is
|
|
20
|
+
* a no-op when there's no leading `---` block, so it's safe either way
|
|
21
|
+
* (GH #634: some backends store raw content and were feeding YAML into the
|
|
22
|
+
* snippet window).
|
|
23
|
+
*/
|
|
24
|
+
function stripFrontmatter(content) {
|
|
25
|
+
return content.replace(FRONTMATTER_RE, "");
|
|
26
|
+
}
|
|
13
27
|
/**
|
|
14
28
|
* Plain-text window around the first token match in `content`, matched terms
|
|
15
29
|
* wrapped in `**bold**`. Falls back to a lead-in slice when no token is found
|
|
16
30
|
* verbatim (e.g. the FTS match was via stemming) so the field is never empty
|
|
17
|
-
* for non-empty content.
|
|
31
|
+
* for non-empty content. Frontmatter is stripped before the window is chosen
|
|
32
|
+
* so a title/tag-only match never returns YAML (GH #634).
|
|
18
33
|
*/
|
|
19
34
|
export function buildSnippet(content, tokens, windowSize = DEFAULT_WINDOW) {
|
|
20
|
-
const trimmed = (content ?? "").trim();
|
|
35
|
+
const trimmed = stripFrontmatter(content ?? "").trim();
|
|
21
36
|
if (!trimmed)
|
|
22
37
|
return "";
|
|
23
38
|
if (tokens.length === 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snippet.js","sourceRoot":"","sources":["../../src/search/snippet.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,SAAS,YAAY,CAAC,CAAS;IAC7B,OAAO,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"snippet.js","sourceRoot":"","sources":["../../src/search/snippet.ts"],"names":[],"mappings":"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"}
|