@sfdxy/sf-documentation-knowledge 1.2.0 → 1.3.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.
package/README.md CHANGED
@@ -114,9 +114,9 @@ npm run mcp:start
114
114
 
115
115
  ## MCP Server
116
116
 
117
- The MCP server loads the full 53k-node knowledge graph into memory on startup (~3s) and serves all queries instantly.
117
+ The MCP server loads the full 53k-node knowledge graph and 18,000+ code snippets into memory on startup (~5s) and serves all queries instantly.
118
118
 
119
- ### Tools
119
+ ### Tools (9)
120
120
 
121
121
  | Tool | Purpose | Example Usage |
122
122
  |---|---|---|
@@ -125,14 +125,30 @@ The MCP server loads the full 53k-node knowledge graph into memory on startup (~
125
125
  | `sf_graph_query` | Navigate the knowledge graph — related docs, namespaces, services | *"Show all docs in the System namespace"* |
126
126
  | `sf_list_domains` | List all available domains, filter by service category | *"List analytics domains"* |
127
127
  | `sf_apex_lookup` | Look up an Apex class with full documentation | *"Look up the String class"* |
128
+ | `sf_code_examples` | Find working code snippets by topic, language, or domain | *"Show batch apex code examples"* |
129
+ | `sf_object_reference` | Look up Salesforce objects and fields (6,500+ ref pages) | *"Look up Account.Industry field"* |
130
+ | `sf_explain_error` | Decode error messages with context and resolution steps | *"Explain UNABLE_TO_LOCK_ROW"* |
131
+ | `sf_limits` | Governor limits lookup — exact numbers for 15 categories | *"What are SOQL limits?"* |
128
132
 
129
- ### Prompt Templates
133
+ ### Prompt Templates (4)
130
134
 
131
135
  | Prompt | What It Does | Arguments |
132
136
  |---|---|---|
133
137
  | `explore_api` | Walk through a Salesforce API — endpoints, auth, best practices | `api`: API name (e.g., "REST API") |
134
138
  | `debug_apex` | Debug an Apex issue — class lookup, error patterns, examples | `topic`: class/error (e.g., "System.QueryException") |
135
139
  | `compare_services` | Compare Salesforce products by documentation coverage | `services`: categories (e.g., "analytics vs commerce") |
140
+ | `write_apex` | Write production-ready Apex — gathers limits, patterns, examples first | `task`: what to build (e.g., "batch job to update Accounts") |
141
+
142
+ ### Resources (4)
143
+
144
+ Agents can read these without making a tool call:
145
+
146
+ | Resource URI | Content |
147
+ |---|---|
148
+ | `sf://overview` | System stats, available tools, quick start guide |
149
+ | `sf://domains` | All 121 documentation domains |
150
+ | `sf://namespaces` | All 143 Apex namespaces with doc counts |
151
+ | `sf://services` | All 16 service categories with domain counts |
136
152
 
137
153
  ---
138
154
 
@@ -65,7 +65,11 @@ program
65
65
  priority: "P2",
66
66
  atlas: atlasKey,
67
67
  description: entry.shortdesc.slice(0, 100),
68
- tags: [entry.service.toLowerCase().replace(/\s+/g, "-")].filter(Boolean),
68
+ tags: [
69
+ typeof entry.service === "string"
70
+ ? entry.service.toLowerCase().replace(/\s+/g, "-")
71
+ : "",
72
+ ].filter(Boolean),
69
73
  };
70
74
  try {
71
75
  log.info({ id: dynamicDomain.id, name: dynamicDomain.name }, "Collecting discovered deliverable");
@@ -1 +1 @@
1
- {"version":3,"file":"collect.js","sourceRoot":"","sources":["../../src/cli/collect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collect.js","sourceRoot":"","sources":["../../src/cli/collect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=data-quality.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-quality.d.ts","sourceRoot":"","sources":["../../src/cli/data-quality.ts"],"names":[],"mappings":""}
@@ -0,0 +1,213 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * CLI: data-quality — Audit knowledge files for quality issues.
4
+ *
5
+ * Usage:
6
+ * npm run quality # Run full audit
7
+ * npm run quality -- -d apex-guide # Audit a specific domain
8
+ */
9
+ import { Command } from "commander";
10
+ import fs from "fs-extra";
11
+ import path from "node:path";
12
+ import { createChildLogger } from "../utils/logger.js";
13
+ const log = createChildLogger("cli:data-quality");
14
+ const program = new Command();
15
+ const KNOWLEDGE_DIR = path.resolve(process.env.SF_KNOWLEDGE_DIR || "knowledge/current");
16
+ async function auditDomain(domainId) {
17
+ const domainPath = path.join(KNOWLEDGE_DIR, domainId);
18
+ const result = { domain: domainId, totalFiles: 0, issues: [] };
19
+ if (!(await fs.pathExists(domainPath))) {
20
+ log.warn({ domainId }, "Domain directory not found");
21
+ return result;
22
+ }
23
+ const files = (await fs.readdir(domainPath)).filter((f) => f.endsWith(".md") && f !== "_index.md");
24
+ result.totalFiles = files.length;
25
+ // Track titles for duplicate detection
26
+ const titleMap = new Map();
27
+ for (const file of files) {
28
+ const filePath = path.join(domainPath, file);
29
+ let content;
30
+ try {
31
+ content = await fs.readFile(filePath, "utf-8");
32
+ }
33
+ catch {
34
+ continue;
35
+ }
36
+ const lines = content.split("\n");
37
+ // Check 1: Missing or malformed frontmatter
38
+ if (!content.startsWith("---")) {
39
+ result.issues.push({
40
+ file,
41
+ type: "missing-frontmatter",
42
+ detail: "File does not start with YAML frontmatter",
43
+ });
44
+ }
45
+ // Check 2: Stub files (very little content after frontmatter)
46
+ const fmEnd = content.indexOf("---", 4);
47
+ if (fmEnd > 0) {
48
+ const body = content.slice(fmEnd + 3).trim();
49
+ if (body.length < 100) {
50
+ result.issues.push({
51
+ file,
52
+ type: "stub-file",
53
+ detail: `Only ${body.length} chars of content after frontmatter`,
54
+ });
55
+ }
56
+ }
57
+ // Check 3: Duplicate H1 heading (title repeated as H1 and blockquote)
58
+ const h1Lines = lines.filter((l) => l.startsWith("# "));
59
+ if (h1Lines.length > 1) {
60
+ const titles = h1Lines.map((l) => l.replace(/^#+\s*/, "").trim());
61
+ const unique = new Set(titles);
62
+ if (unique.size < titles.length) {
63
+ result.issues.push({
64
+ file,
65
+ type: "duplicate-heading",
66
+ detail: `H1 heading "${titles[0]}" appears ${titles.length} times`,
67
+ });
68
+ }
69
+ }
70
+ // Check 4: Broken cross-references (raw atlas URIs)
71
+ const atlasRefs = content.match(/atlas\.en-us\.\w+\.meta\/\w+\/[\w.-]+\.htm/g);
72
+ if (atlasRefs && atlasRefs.length > 0) {
73
+ result.issues.push({
74
+ file,
75
+ type: "broken-xref",
76
+ detail: `${atlasRefs.length} raw atlas URI(s) — not resolvable by agents`,
77
+ });
78
+ }
79
+ // Check 5: Token-heavy files (estimated > 8000 tokens)
80
+ const fmMatch = content.match(/estimatedTokens:\s*(\d+)/);
81
+ if (fmMatch) {
82
+ const tokens = parseInt(fmMatch[1], 10);
83
+ if (tokens > 8000) {
84
+ result.issues.push({
85
+ file,
86
+ type: "token-heavy",
87
+ detail: `~${tokens} tokens — may overwhelm agent context`,
88
+ });
89
+ }
90
+ }
91
+ // Check 6: Weak keywords (just first few words of title)
92
+ const kwMatch = content.match(/keywords:\s*\[([^\]]*)\]/);
93
+ if (kwMatch) {
94
+ const keywords = kwMatch[1]
95
+ .split(",")
96
+ .map((k) => k.trim().replace(/"/g, ""));
97
+ if (keywords.length <= 3 ||
98
+ keywords.every((k) => k.length < 5)) {
99
+ result.issues.push({
100
+ file,
101
+ type: "weak-keywords",
102
+ detail: `Only ${keywords.length} keywords: [${keywords.join(", ")}]`,
103
+ });
104
+ }
105
+ }
106
+ // Track titles for duplicate detection across files
107
+ const titleMatch = content.match(/title:\s*"?([^"\n]+)"?/);
108
+ if (titleMatch) {
109
+ const title = titleMatch[1].trim();
110
+ if (!titleMap.has(title))
111
+ titleMap.set(title, []);
112
+ titleMap.get(title).push(file);
113
+ }
114
+ }
115
+ // Check cross-domain title duplicates
116
+ for (const [title, fileList] of titleMap) {
117
+ if (fileList.length > 1) {
118
+ result.issues.push({
119
+ file: fileList.join(", "),
120
+ type: "duplicate-title",
121
+ detail: `Title "${title}" appears in ${fileList.length} files`,
122
+ });
123
+ }
124
+ }
125
+ return result;
126
+ }
127
+ program
128
+ .name("data-quality")
129
+ .description("Audit knowledge files for quality issues")
130
+ .option("-d, --domain <id>", "Audit a specific domain")
131
+ .option("-j, --json", "Output as JSON")
132
+ .action(async (options) => {
133
+ const domains = [];
134
+ if (options.domain) {
135
+ domains.push(options.domain);
136
+ }
137
+ else {
138
+ const entries = await fs.readdir(KNOWLEDGE_DIR);
139
+ for (const entry of entries) {
140
+ const stat = await fs.stat(path.join(KNOWLEDGE_DIR, entry));
141
+ if (stat.isDirectory())
142
+ domains.push(entry);
143
+ }
144
+ }
145
+ log.info({ domainCount: domains.length }, "Starting quality audit");
146
+ const results = [];
147
+ for (const domain of domains) {
148
+ results.push(await auditDomain(domain));
149
+ }
150
+ if (options.json) {
151
+ console.log(JSON.stringify(results, null, 2));
152
+ return;
153
+ }
154
+ // Summary report
155
+ const totalFiles = results.reduce((s, r) => s + r.totalFiles, 0);
156
+ const totalIssues = results.reduce((s, r) => s + r.issues.length, 0);
157
+ // Group by issue type
158
+ const byType = new Map();
159
+ for (const r of results) {
160
+ for (const issue of r.issues) {
161
+ byType.set(issue.type, (byType.get(issue.type) || 0) + 1);
162
+ }
163
+ }
164
+ console.log("\n╔═══════════════════════════════════════╗");
165
+ console.log("║ Knowledge Data Quality Report ║");
166
+ console.log("╚═══════════════════════════════════════╝\n");
167
+ console.log(`📁 Domains audited: ${results.length}`);
168
+ console.log(`📄 Files audited: ${totalFiles}`);
169
+ console.log(`⚠️ Total issues: ${totalIssues}\n`);
170
+ console.log("--- Issues by Type ---\n");
171
+ for (const [type, count] of [...byType.entries()].sort((a, b) => b[1] - a[1])) {
172
+ const icon = type === "broken-xref"
173
+ ? "🔗"
174
+ : type === "stub-file"
175
+ ? "📋"
176
+ : type === "duplicate-heading"
177
+ ? "🔄"
178
+ : type === "token-heavy"
179
+ ? "📏"
180
+ : type === "weak-keywords"
181
+ ? "🏷️"
182
+ : type === "duplicate-title"
183
+ ? "👯"
184
+ : "❓";
185
+ console.log(` ${icon} ${type}: ${count}`);
186
+ }
187
+ // Top offenders (domains with most issues)
188
+ const topDomains = results
189
+ .filter((r) => r.issues.length > 0)
190
+ .sort((a, b) => b.issues.length - a.issues.length)
191
+ .slice(0, 10);
192
+ if (topDomains.length > 0) {
193
+ console.log("\n--- Top 10 Domains by Issue Count ---\n");
194
+ for (const r of topDomains) {
195
+ console.log(` ${r.domain}: ${r.issues.length} issues (${r.totalFiles} files)`);
196
+ }
197
+ }
198
+ // Detailed issues for specific domain audit
199
+ if (options.domain) {
200
+ const r = results[0];
201
+ if (r.issues.length > 0) {
202
+ console.log(`\n--- Detailed Issues for ${r.domain} ---\n`);
203
+ for (const issue of r.issues.slice(0, 50)) {
204
+ console.log(` [${issue.type}] ${issue.file}: ${issue.detail}`);
205
+ }
206
+ if (r.issues.length > 50) {
207
+ console.log(` ... and ${r.issues.length - 50} more issues`);
208
+ }
209
+ }
210
+ }
211
+ });
212
+ program.parse();
213
+ //# sourceMappingURL=data-quality.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-quality.js","sourceRoot":"","sources":["../../src/cli/data-quality.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,GAAG,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;AAClD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAqB9B,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAChC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,mBAAmB,CACpD,CAAC;AAEF,KAAK,UAAU,WAAW,CAAC,QAAgB;IACzC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACtD,MAAM,MAAM,GAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAE5E,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,4BAA4B,CAAC,CAAC;QACrD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CACjD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,CAC9C,CAAC;IACF,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;IAEjC,uCAAuC;IACvC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC7C,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElC,4CAA4C;QAC5C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACjB,IAAI;gBACJ,IAAI,EAAE,qBAAqB;gBAC3B,MAAM,EAAE,2CAA2C;aACpD,CAAC,CAAC;QACL,CAAC;QAED,8DAA8D;QAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACxC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;gBACtB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;oBACjB,IAAI;oBACJ,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE,QAAQ,IAAI,CAAC,MAAM,qCAAqC;iBACjE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAClE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;oBACjB,IAAI;oBACJ,IAAI,EAAE,mBAAmB;oBACzB,MAAM,EAAE,eAAe,MAAM,CAAC,CAAC,CAAC,aAAa,MAAM,CAAC,MAAM,QAAQ;iBACnE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,oDAAoD;QACpD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAC7B,6CAA6C,CAC9C,CAAC;QACF,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACjB,IAAI;gBACJ,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,8CAA8C;aAC1E,CAAC,CAAC;QACL,CAAC;QAED,uDAAuD;QACvD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1D,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxC,IAAI,MAAM,GAAG,IAAI,EAAE,CAAC;gBAClB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;oBACjB,IAAI;oBACJ,IAAI,EAAE,aAAa;oBACnB,MAAM,EAAE,IAAI,MAAM,uCAAuC;iBAC1D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,yDAAyD;QACzD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1D,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;iBACxB,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAC1C,IACE,QAAQ,CAAC,MAAM,IAAI,CAAC;gBACpB,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EACnC,CAAC;gBACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;oBACjB,IAAI;oBACJ,IAAI,EAAE,eAAe;oBACrB,MAAM,EAAE,QAAQ,QAAQ,CAAC,MAAM,eAAe,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;iBACrE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,oDAAoD;QACpD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC3D,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAClD,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;gBACzB,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,UAAU,KAAK,gBAAgB,QAAQ,CAAC,MAAM,QAAQ;aAC/D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,OAAO;KACJ,IAAI,CAAC,cAAc,CAAC;KACpB,WAAW,CAAC,0CAA0C,CAAC;KACvD,MAAM,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;KACtD,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;KACtC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAChD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC;YAC5D,IAAI,IAAI,CAAC,WAAW,EAAE;gBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,wBAAwB,CAAC,CAAC;IAEpE,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,iBAAiB;IACjB,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAErE,sBAAsB;IACtB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,uBAAuB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,uBAAuB,UAAU,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,wBAAwB,WAAW,IAAI,CAAC,CAAC;IAErD,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CACpD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACtB,EAAE,CAAC;QACF,MAAM,IAAI,GACR,IAAI,KAAK,aAAa;YACpB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,KAAK,WAAW;gBACpB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,IAAI,KAAK,mBAAmB;oBAC5B,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,IAAI,KAAK,aAAa;wBACtB,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC,IAAI,KAAK,eAAe;4BACxB,CAAC,CAAC,KAAK;4BACP,CAAC,CAAC,IAAI,KAAK,iBAAiB;gCAC1B,CAAC,CAAC,IAAI;gCACN,CAAC,CAAC,GAAG,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,2CAA2C;IAC3C,MAAM,UAAU,GAAG,OAAO;SACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;SAClC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;SACjD,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEhB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACzD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,YAAY,CAAC,CAAC,UAAU,SAAS,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAC;YAC3D,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAClE,CAAC;YACD,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,cAAc,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -80,7 +80,11 @@ function printEntries(entries) {
80
80
  }
81
81
  function printDomainConfig(entry) {
82
82
  const id = deliverableToId(entry.deliverable);
83
- const tags = [entry.service.toLowerCase().replace(/\s+/g, "-")].filter(Boolean);
83
+ const tags = [
84
+ typeof entry.service === "string"
85
+ ? entry.service.toLowerCase().replace(/\s+/g, "-")
86
+ : "",
87
+ ].filter(Boolean);
84
88
  console.log(` {
85
89
  id: "${id}",
86
90
  name: "${entry.title}",
@@ -1 +1 @@
1
- {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../src/cli/discover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../src/cli/discover.ts"],"names":[],"mappings":"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"}
@@ -46,14 +46,14 @@ server.tool("sf_search", "Search across all 121 Salesforce documentation domains
46
46
  docType: z.string().optional().describe("Optional docType filter (e.g. 'api-reference', 'developer-guide', 'concept')"),
47
47
  limit: z.number().optional().default(15).describe("Max results to return (default 15)"),
48
48
  }, async ({ query, domain, docType, limit }) => {
49
- const results = gq.searchNodes(query, { type: "document", limit: limit || 15 });
49
+ // Pre-filter via SearchOptions avoids scoring irrelevant nodes
50
+ const results = gq.searchNodes(query, {
51
+ type: "document",
52
+ limit: limit || 15,
53
+ domain: domain || undefined,
54
+ docType: docType || undefined,
55
+ });
50
56
  let filtered = results;
51
- if (domain) {
52
- filtered = filtered.filter((r) => r.nodeId.startsWith(`doc:${domain}:`));
53
- }
54
- if (docType) {
55
- filtered = filtered.filter((r) => r.docType === docType);
56
- }
57
57
  if (filtered.length === 0) {
58
58
  // Fallback: try keyword-based search
59
59
  const kwResults = gq.findDocsByKeyword(query, limit || 15);
@@ -84,10 +84,11 @@ server.tool("sf_search", "Search across all 121 Salesforce documentation domains
84
84
  };
85
85
  });
86
86
  // ─── Tool 2: sf_read_topic ──────────────────────────────────────
87
- server.tool("sf_read_topic", "Read a specific Salesforce documentation topic file. Use sf_search first to find the domain and topic ID.", {
87
+ server.tool("sf_read_topic", "Read a specific Salesforce documentation topic file. Use sf_search first to find the domain and topic ID. Optionally request a specific section by heading.", {
88
88
  domain: z.string().describe("Domain ID (e.g. 'apex-reference', 'rest-api', 'metadata-api')"),
89
89
  topic: z.string().describe("Topic ID (e.g. 'apex_methods_system_string', 'intro_rest_resources')"),
90
- }, async ({ domain, topic }) => {
90
+ section: z.string().optional().describe("Optional heading to extract a specific section (e.g. 'Parameters', 'Example', 'Return Value')"),
91
+ }, async ({ domain, topic, section }) => {
91
92
  const filePath = path.join(KNOWLEDGE_DIR, domain, `${topic}.md`);
92
93
  if (!(await fs.pathExists(filePath))) {
93
94
  // Try reading the _index if topic is "_index"
@@ -107,7 +108,39 @@ server.tool("sf_read_topic", "Read a specific Salesforce documentation topic fil
107
108
  ],
108
109
  };
109
110
  }
110
- const content = await fs.readFile(filePath, "utf-8");
111
+ let content = await fs.readFile(filePath, "utf-8");
112
+ // Section extraction: return only the matching ## or ### section
113
+ if (section) {
114
+ const sectionLower = section.toLowerCase();
115
+ const lines = content.split("\n");
116
+ let startIdx = -1;
117
+ let startLevel = 0;
118
+ for (let i = 0; i < lines.length; i++) {
119
+ const match = lines[i].match(/^(#{1,4})\s+(.*)/);
120
+ if (match && match[2].toLowerCase().includes(sectionLower)) {
121
+ startIdx = i;
122
+ startLevel = match[1].length;
123
+ break;
124
+ }
125
+ }
126
+ if (startIdx >= 0) {
127
+ // Find the end of this section (next heading at same or higher level)
128
+ let endIdx = lines.length;
129
+ for (let i = startIdx + 1; i < lines.length; i++) {
130
+ const match = lines[i].match(/^(#{1,4})\s+/);
131
+ if (match && match[1].length <= startLevel) {
132
+ endIdx = i;
133
+ break;
134
+ }
135
+ }
136
+ content = lines.slice(startIdx, endIdx).join("\n").trim();
137
+ }
138
+ else {
139
+ content = `Section "${section}" not found in ${domain}/${topic}. Available headings:\n\n` +
140
+ lines.filter(l => l.match(/^#{1,4}\s+/)).map(l => `- ${l.trim()}`).join("\n") +
141
+ `\n\nUse sf_read_topic("${domain}", "${topic}") without section to read the full document.`;
142
+ }
143
+ }
111
144
  return { content: [{ type: "text", text: `${content}\n\n${suggestNext('sf_read_topic', { topic })}` }] };
112
145
  });
113
146
  // ─── Tool 3: sf_graph_query ─────────────────────────────────────
@@ -425,18 +458,41 @@ server.tool("sf_explain_error", "Explain a Salesforce error message or exception
425
458
  let explanation = '';
426
459
  if (await fs.pathExists(filePath)) {
427
460
  const content = await fs.readFile(filePath, 'utf-8');
428
- // Try to extract a relevant section (up to 2000 chars around the error mention)
429
461
  const errorLower = error.toLowerCase();
430
462
  const contentLower = content.toLowerCase();
431
463
  const idx = contentLower.indexOf(errorLower);
432
464
  if (idx >= 0) {
433
- const start = Math.max(0, content.lastIndexOf('\n#', idx) + 1);
434
- const end = Math.min(content.length, idx + 2000);
435
- explanation = content.slice(start, end).trim();
465
+ // Extract the full section containing the error mention
466
+ const sectionStart = Math.max(0, content.lastIndexOf('\n#', idx) + 1);
467
+ // Find the next heading after the error mention (section boundary)
468
+ const nextHeading = content.indexOf('\n#', idx + errorLower.length);
469
+ const sectionEnd = nextHeading > 0 ? nextHeading : Math.min(content.length, idx + 3000);
470
+ explanation = content.slice(sectionStart, sectionEnd).trim();
471
+ // If still too long, truncate at the last paragraph boundary
472
+ if (explanation.length > 3000) {
473
+ const lastParagraph = explanation.lastIndexOf('\n\n', 3000);
474
+ if (lastParagraph > 500) {
475
+ explanation = explanation.slice(0, lastParagraph).trim() + '\n\n*(truncated — use sf_read_topic for full content)*';
476
+ }
477
+ }
436
478
  }
437
479
  else {
438
- // Return first 2000 chars if exact error not found in text
439
- explanation = content.slice(0, 2000).trim();
480
+ // Error not found verbatim return first meaningful section
481
+ const lines = content.split('\n');
482
+ const firstHeadingIdx = lines.findIndex((l, i) => i > 0 && l.startsWith('#'));
483
+ const endIdx = firstHeadingIdx > 0
484
+ ? content.indexOf('\n#', content.indexOf(lines[firstHeadingIdx]) + 1)
485
+ : -1;
486
+ explanation = endIdx > 0
487
+ ? content.slice(0, endIdx).trim()
488
+ : content.slice(0, 2500).trim();
489
+ // Clean truncation at paragraph boundary
490
+ if (explanation.length > 2500) {
491
+ const lastParagraph = explanation.lastIndexOf('\n\n', 2500);
492
+ if (lastParagraph > 500) {
493
+ explanation = explanation.slice(0, lastParagraph).trim() + '\n\n*(truncated — use sf_read_topic for full content)*';
494
+ }
495
+ }
440
496
  }
441
497
  }
442
498
  const relatedDocs = allResults.slice(1, 6).map(r => `- **${r.label}** (${r.nodeId})`).join('\n');
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=retrieval-quality.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retrieval-quality.test.d.ts","sourceRoot":"","sources":["../../src/tests/retrieval-quality.test.ts"],"names":[],"mappings":""}