@get-technology-inc/jamf-docs-mcp-server 5.4.2 → 5.6.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/dist/core/constants/limits.d.ts +21 -0
- package/dist/core/constants/limits.d.ts.map +1 -1
- package/dist/core/constants/limits.js +0 -1
- package/dist/core/constants/limits.js.map +1 -1
- package/dist/core/constants/sources.d.ts +65 -0
- package/dist/core/constants/sources.d.ts.map +1 -0
- package/dist/core/constants/sources.js +73 -0
- package/dist/core/constants/sources.js.map +1 -0
- package/dist/core/schemas/output.d.ts +1 -0
- package/dist/core/schemas/output.d.ts.map +1 -1
- package/dist/core/schemas/output.js +11 -0
- package/dist/core/schemas/output.js.map +1 -1
- package/dist/core/services/article-service.d.ts.map +1 -1
- package/dist/core/services/article-service.js +18 -27
- package/dist/core/services/article-service.js.map +1 -1
- package/dist/core/services/article-view.d.ts +21 -0
- package/dist/core/services/article-view.d.ts.map +1 -0
- package/dist/core/services/article-view.js +48 -0
- package/dist/core/services/article-view.js.map +1 -0
- package/dist/core/services/cache-key.d.ts +14 -0
- package/dist/core/services/cache-key.d.ts.map +1 -1
- package/dist/core/services/cache-key.js +1 -0
- package/dist/core/services/cache-key.js.map +1 -1
- package/dist/core/services/content-parser.d.ts +24 -1
- package/dist/core/services/content-parser.d.ts.map +1 -1
- package/dist/core/services/content-parser.js +24 -10
- package/dist/core/services/content-parser.js.map +1 -1
- package/dist/core/services/maps-registry.d.ts +16 -0
- package/dist/core/services/maps-registry.d.ts.map +1 -1
- package/dist/core/services/maps-registry.js +20 -8
- package/dist/core/services/maps-registry.js.map +1 -1
- package/dist/core/services/static-article-service.d.ts +38 -0
- package/dist/core/services/static-article-service.d.ts.map +1 -0
- package/dist/core/services/static-article-service.js +121 -0
- package/dist/core/services/static-article-service.js.map +1 -0
- package/dist/core/services/toc-service.d.ts.map +1 -1
- package/dist/core/services/toc-service.js +15 -7
- package/dist/core/services/toc-service.js.map +1 -1
- package/dist/core/tools/get-toc.d.ts.map +1 -1
- package/dist/core/tools/get-toc.js +26 -1
- package/dist/core/tools/get-toc.js.map +1 -1
- package/dist/core/types.d.ts +10 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/utils/url.d.ts +9 -1
- package/dist/core/utils/url.d.ts.map +1 -1
- package/dist/core/utils/url.js +11 -1
- package/dist/core/utils/url.js.map +1 -1
- package/package.json +1 -1
|
@@ -32,22 +32,32 @@ turndown.addRule('stripScripts', {
|
|
|
32
32
|
filter: ['script', 'style', 'noscript'],
|
|
33
33
|
replacement: () => '',
|
|
34
34
|
});
|
|
35
|
-
// ─── HTML cleaning ──────────────────────────────────────────────
|
|
36
35
|
/**
|
|
37
36
|
* Clean HTML content: remove unwanted elements, fix relative URLs.
|
|
37
|
+
*
|
|
38
|
+
* Both the selector set and the link base are parameters with learn.jamf.com
|
|
39
|
+
* defaults rather than module constants, so a caller reading a different site
|
|
40
|
+
* gets that site's markup rules. Existing single-argument callers — the
|
|
41
|
+
* glossary path among them — are unaffected.
|
|
38
42
|
*/
|
|
39
|
-
export function cleanHtml(
|
|
40
|
-
|
|
43
|
+
export function cleanHtml($, options) {
|
|
44
|
+
const selectors = options?.selectors ?? SELECTORS;
|
|
45
|
+
// Root-relative links resolve against the site they came from. Hard-coding
|
|
46
|
+
// learn.jamf.com here is what would point every internal link and image of
|
|
47
|
+
// a second source at the wrong host — silently, since both produce a valid
|
|
48
|
+
// absolute URL.
|
|
49
|
+
const linkBase = options?.linkBase ?? DOCS_BASE_URL;
|
|
50
|
+
$(selectors.REMOVE).remove();
|
|
41
51
|
$('a[href^="/"]').each((_, el) => {
|
|
42
52
|
const href = $(el).attr('href');
|
|
43
53
|
if (href !== undefined && href !== '') {
|
|
44
|
-
$(el).attr('href', `${
|
|
54
|
+
$(el).attr('href', `${linkBase}${href}`);
|
|
45
55
|
}
|
|
46
56
|
});
|
|
47
57
|
$('img[src^="/"]').each((_, el) => {
|
|
48
58
|
const src = $(el).attr('src');
|
|
49
59
|
if (src !== undefined && src !== '') {
|
|
50
|
-
$(el).attr('src', `${
|
|
60
|
+
$(el).attr('src', `${linkBase}${src}`);
|
|
51
61
|
}
|
|
52
62
|
});
|
|
53
63
|
}
|
|
@@ -85,7 +95,11 @@ export function linkInternalSpans($, resolve) {
|
|
|
85
95
|
*/
|
|
86
96
|
export function parseArticle(html, displayUrl, options) {
|
|
87
97
|
const $ = cheerio.load(html);
|
|
88
|
-
|
|
98
|
+
const selectors = options?.selectors ?? SELECTORS;
|
|
99
|
+
cleanHtml($, {
|
|
100
|
+
selectors,
|
|
101
|
+
...(options?.linkBase !== undefined ? { linkBase: options.linkBase } : {}),
|
|
102
|
+
});
|
|
89
103
|
// Before anything reads anchors: internal links are spans until this runs.
|
|
90
104
|
const resolveInternalLink = options?.resolveInternalLink;
|
|
91
105
|
if (resolveInternalLink !== undefined) {
|
|
@@ -99,7 +113,7 @@ export function parseArticle(html, displayUrl, options) {
|
|
|
99
113
|
// Checked before body wrappers because <article> is semantically broader
|
|
100
114
|
// and should take priority when both exist as siblings.
|
|
101
115
|
if (contentHtml === '') {
|
|
102
|
-
contentHtml = $(
|
|
116
|
+
contentHtml = $(selectors.CONTENT).html() ?? '';
|
|
103
117
|
}
|
|
104
118
|
// 3. Common FT body wrappers (taskbody, conbody, refbody, etc.)
|
|
105
119
|
if (contentHtml === '') {
|
|
@@ -113,19 +127,19 @@ export function parseArticle(html, displayUrl, options) {
|
|
|
113
127
|
if (contentHtml === '') {
|
|
114
128
|
contentHtml = html;
|
|
115
129
|
}
|
|
116
|
-
const extractedTitle = $(
|
|
130
|
+
const extractedTitle = $(selectors.TITLE).first().text().trim();
|
|
117
131
|
const title = extractedTitle !== '' ? extractedTitle : 'Untitled';
|
|
118
132
|
// Convert to Markdown and strip Turndown anchor artifacts from headings
|
|
119
133
|
const content = turndown.turndown(contentHtml)
|
|
120
134
|
.replace(/^(#{1,6}\s+)\[([^\]]*)\]\(#[^)]*\)/gm, '$1$2');
|
|
121
135
|
// Extract breadcrumb
|
|
122
|
-
const breadcrumb = $(
|
|
136
|
+
const breadcrumb = $(selectors.BREADCRUMB)
|
|
123
137
|
.map((_, el) => $(el).text().trim())
|
|
124
138
|
.get()
|
|
125
139
|
.filter(Boolean);
|
|
126
140
|
// Extract related articles
|
|
127
141
|
const relatedArticles = options?.includeRelated === true
|
|
128
|
-
? $(
|
|
142
|
+
? $(selectors.RELATED).map((_, el) => {
|
|
129
143
|
const rawHref = $(el).attr('href') ?? '';
|
|
130
144
|
if (rawHref === '' || rawHref.startsWith('#')) {
|
|
131
145
|
return { title: '', url: '' };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-parser.js","sourceRoot":"","sources":["../../../src/core/services/content-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,eAAe,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"content-parser.js","sourceRoot":"","sources":["../../../src/core/services/content-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,eAAe,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,sBAAsB,EAA6B,MAAM,uBAAuB,CAAC;AAE1F,mEAAmE;AAEnE,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC;IACnC,YAAY,EAAE,KAAK;IACnB,cAAc,EAAE,QAAQ;IACxB,gBAAgB,EAAE,GAAG;IACrB,WAAW,EAAE,GAAG;IAChB,eAAe,EAAE,IAAI;CACtB,CAAC,CAAC;AAEH,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE;IAC7B,MAAM,EAAE,KAAK;IACb,WAAW,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;QAC7B,MAAM,WAAW,GAAG,IAEnB,CAAC;QACF,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QACxE,OAAO,WAAW,QAAQ,KAAK,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5D,CAAC;CACF,CAAC,CAAC;AAEH,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE;IAC/B,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC;IACvC,WAAW,EAAE,GAAW,EAAE,CAAC,EAAE;CAC9B,CAAC,CAAC;AAYH;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,CAAqB,EAAE,OAA0B;IACzE,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,SAAS,CAAC;IAClD,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,gBAAgB;IAChB,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,aAAa,CAAC;IAEpD,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;IAE7B,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YACtC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;QAChC,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YACpC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iBAAiB,CAC/B,CAAqB,EACrB,OAA6B;IAE7B,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;QACvC,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC;AA+BD;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,IAAY,EACZ,UAAkB,EAClB,OAA6B;IAE7B,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,SAAS,CAAC;IAClD,SAAS,CAAC,CAAC,EAAE;QACX,SAAS;QACT,GAAG,CAAC,OAAO,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3E,CAAC,CAAC;IAEH,2EAA2E;IAC3E,MAAM,mBAAmB,GAAG,OAAO,EAAE,mBAAmB,CAAC;IACzD,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;QACtC,iBAAiB,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;IAC5C,CAAC;IAED,mEAAmE;IACnE,4CAA4C;IAE5C,+EAA+E;IAC/E,IAAI,WAAW,GAAG,CAAC,CAAC,8BAA8B,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IAEzE,8EAA8E;IAC9E,4EAA4E;IAC5E,2DAA2D;IAC3D,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;QACvB,WAAW,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IAClD,CAAC;IAED,gEAAgE;IAChE,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;QACvB,WAAW,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IAC1D,CAAC;IAED,8EAA8E;IAC9E,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;QACvB,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IACvC,CAAC;IAED,qCAAqC;IACrC,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;QACvB,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,MAAM,cAAc,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;IAChE,MAAM,KAAK,GAAG,cAAc,KAAK,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC;IAElE,wEAAwE;IACxE,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;SAC3C,OAAO,CAAC,sCAAsC,EAAE,MAAM,CAAC,CAAC;IAE3D,qBAAqB;IACrB,MAAM,UAAU,GAAG,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC;SACvC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;SACnC,GAAG,EAAE;SACL,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnB,2BAA2B;IAC3B,MAAM,eAAe,GAAG,OAAO,EAAE,cAAc,KAAK,IAAI;QACtD,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;YACjC,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACzC,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9C,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;YAChC,CAAC;YACD,IAAI,WAAmB,CAAC;YACxB,IAAI,CAAC;gBACH,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;YACxD,CAAC;YAAC,MAAM,CAAC;gBACP,WAAW,GAAG,OAAO,CAAC;YACxB,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE;gBAC1B,GAAG,EAAE,WAAW;aACjB,CAAC;QACJ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC;QACtD,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;AACzD,CAAC;AAED,mEAAmE;AAEnE,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,YAAY,GAAG;IACnB,YAAY;IACZ,gCAAgC;CACjC,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAe,EACf,KAAa,EACb,OAAsB;IAEtB,2EAA2E;IAC3E,IAAI,OAAO,GAAG,OAAO,CAAC;IACtB,IAAI,IAAY,CAAC;IACjB,GAAG,CAAC;QACF,IAAI,GAAG,OAAO,CAAC;QACf,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,CAAC,QAAQ,OAAO,KAAK,IAAI,EAAE;IAE3B,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACnC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,uEAAuE;IACvE,oEAAoE;IACpE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAE9C,IAAI,OAAO,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;QACxC,MAAM,aAAa,GACjB,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,OAAO,GAAG,KAAK,GAAG,aAAa,EAAE,CAAC;IACpC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -88,6 +88,22 @@ export declare class MapsRegistry {
|
|
|
88
88
|
* Returns null if not found.
|
|
89
89
|
*/
|
|
90
90
|
resolveMapId(bundleStem: string, version?: string, locale?: LocaleId): Promise<string | null>;
|
|
91
|
+
/**
|
|
92
|
+
* Resolve to the map itself, saying which locale actually answered.
|
|
93
|
+
*
|
|
94
|
+
* The fallback to en-US has always been here; what was missing is any way
|
|
95
|
+
* for a caller to know it happened. Jamf does not publish every family in
|
|
96
|
+
* every locale — 42 of the 97 are en-US only, `jamf-school-documentation`
|
|
97
|
+
* has no zh-TW map at all (de/en/es/fr/ja/nl), and nl-NL covers 10 families
|
|
98
|
+
* against en-US's 97 — so a zh-TW request silently returning English is a
|
|
99
|
+
* routine outcome, not an edge case. Returning `resolvedLocale` lets the
|
|
100
|
+
* tool say so instead of implying the content is translated.
|
|
101
|
+
*/
|
|
102
|
+
resolveMap(bundleStem: string, version?: string, locale?: LocaleId): Promise<{
|
|
103
|
+
mapId: string;
|
|
104
|
+
title: string;
|
|
105
|
+
resolvedLocale: string;
|
|
106
|
+
} | null>;
|
|
91
107
|
private findMap;
|
|
92
108
|
/**
|
|
93
109
|
* Resolve a legacy bundleId (e.g., "jamf-pro-documentation-11.12.0")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maps-registry.d.ts","sourceRoot":"","sources":["../../../src/core/services/maps-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAYzE,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAC;IACf,8EAA8E;IAC9E,GAAG,EAAE,MAAM,CAAC;IACZ,+EAA+E;IAC/E,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,8EAA8E;IAC9E,EAAE,EAAE,MAAM,CAAC;IACX,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAC;IACZ,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,kEAAkE;IAClE,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AA+DD,qBAAa,YAAY;IASrB,OAAO,CAAC,QAAQ,CAAC,KAAK;IARxB,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmB;IAC/C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2B;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAGf,KAAK,EAAE,aAAa,EACrC,WAAW,CAAC,EAAE,OAAO,SAAS,EAC9B,YAAY,CAAC,EAAE,YAAY,EAC3B,QAAQ,CAAC,EAAE,MAAM;IAOnB;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAKb;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAclC;;OAEG;YACW,OAAO;IAiBrB;;;OAGG;IACG,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,QAAQ,GAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"maps-registry.d.ts","sourceRoot":"","sources":["../../../src/core/services/maps-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -133,6 +133,20 @@ export class MapsRegistry {
|
|
|
133
133
|
* Returns null if not found.
|
|
134
134
|
*/
|
|
135
135
|
async resolveMapId(bundleStem, version, locale) {
|
|
136
|
+
return (await this.resolveMap(bundleStem, version, locale))?.mapId ?? null;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Resolve to the map itself, saying which locale actually answered.
|
|
140
|
+
*
|
|
141
|
+
* The fallback to en-US has always been here; what was missing is any way
|
|
142
|
+
* for a caller to know it happened. Jamf does not publish every family in
|
|
143
|
+
* every locale — 42 of the 97 are en-US only, `jamf-school-documentation`
|
|
144
|
+
* has no zh-TW map at all (de/en/es/fr/ja/nl), and nl-NL covers 10 families
|
|
145
|
+
* against en-US's 97 — so a zh-TW request silently returning English is a
|
|
146
|
+
* routine outcome, not an edge case. Returning `resolvedLocale` lets the
|
|
147
|
+
* tool say so instead of implying the content is translated.
|
|
148
|
+
*/
|
|
149
|
+
async resolveMap(bundleStem, version, locale) {
|
|
136
150
|
await this.ensureBuilt();
|
|
137
151
|
const loc = locale ?? DEFAULT_LOCALE;
|
|
138
152
|
// Normalize: strip -current suffix if present
|
|
@@ -141,8 +155,11 @@ export class MapsRegistry {
|
|
|
141
155
|
const match = this.findMap(normalizedStem, version, loc)
|
|
142
156
|
?? (loc !== DEFAULT_LOCALE
|
|
143
157
|
? this.findMap(normalizedStem, version, DEFAULT_LOCALE)
|
|
144
|
-
:
|
|
145
|
-
|
|
158
|
+
: undefined);
|
|
159
|
+
if (match === undefined) {
|
|
160
|
+
return null;
|
|
161
|
+
}
|
|
162
|
+
return { mapId: match.mapId, title: match.title, resolvedLocale: match.locale };
|
|
146
163
|
}
|
|
147
164
|
findMap(bundleStem, version, locale) {
|
|
148
165
|
const candidates = this.entries.filter(e => e.bundleStem === bundleStem && e.locale === locale);
|
|
@@ -318,12 +335,7 @@ export class MapsRegistry {
|
|
|
318
335
|
* uses, locale fallback included.
|
|
319
336
|
*/
|
|
320
337
|
async resolveTitle(bundleStem, version, locale) {
|
|
321
|
-
await this.
|
|
322
|
-
const loc = locale ?? DEFAULT_LOCALE;
|
|
323
|
-
const normalized = stripCurrentSuffix(bundleStem);
|
|
324
|
-
const match = this.findMap(normalized, version, loc)
|
|
325
|
-
?? (loc !== DEFAULT_LOCALE ? this.findMap(normalized, version, DEFAULT_LOCALE) : null);
|
|
326
|
-
return match?.title ?? null;
|
|
338
|
+
return (await this.resolveMap(bundleStem, version, locale))?.title ?? null;
|
|
327
339
|
}
|
|
328
340
|
/**
|
|
329
341
|
* Whether a bundle family exists at all, in any locale.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maps-registry.js","sourceRoot":"","sources":["../../../src/core/services/maps-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"maps-registry.js","sourceRoot":"","sources":["../../../src/core/services/maps-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Article retrieval for documentation sources outside Fluid Topics.
|
|
3
|
+
*
|
|
4
|
+
* The Fluid Topics path addresses a topic by `mapId` + `contentId` and gets
|
|
5
|
+
* an HTML fragment back. A static site has neither: the address is the URL,
|
|
6
|
+
* and the response is a whole page whose navigation has to be stripped before
|
|
7
|
+
* anything else. Everything downstream of that — sections, summaries,
|
|
8
|
+
* truncation — is shared with the FT path through
|
|
9
|
+
* {@link buildArticleView}, so the two cannot drift on what a caller sees.
|
|
10
|
+
*/
|
|
11
|
+
import type { StaticDocSource } from '../constants/sources.js';
|
|
12
|
+
import type { ServerContext } from '../types/context.js';
|
|
13
|
+
import type { FetchArticleOptions, FetchArticleResult } from '../types.js';
|
|
14
|
+
/**
|
|
15
|
+
* Canonicalise a URL for a static site.
|
|
16
|
+
*
|
|
17
|
+
* concepts.jamf.com's sitemap emits paths without a trailing slash while the
|
|
18
|
+
* site itself redirects to the slashed form — all 990 entries, so fetching
|
|
19
|
+
* them as listed is 990 redirects. Adding the slash up front is one line here
|
|
20
|
+
* and saves a round trip per article. Paths that look like a file (`.html`,
|
|
21
|
+
* `.json`) are left alone, as is anything with a query or fragment.
|
|
22
|
+
*/
|
|
23
|
+
export declare function canonicalStaticUrl(urlStr: string): string;
|
|
24
|
+
/**
|
|
25
|
+
* The page's own title, preferring Open Graph over `<title>`.
|
|
26
|
+
*
|
|
27
|
+
* `<title>` on these sites carries a site-name suffix ("API Utility | Jamf
|
|
28
|
+
* Concepts"); `og:title` is the same string without it, so it is tried first
|
|
29
|
+
* and the suffix trimmed only as a fallback.
|
|
30
|
+
*/
|
|
31
|
+
export declare function extractDocumentTitle(html: string): string | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Fetch and parse one article from a static documentation source.
|
|
34
|
+
*
|
|
35
|
+
* @param source the registry row for the hostname in `url`
|
|
36
|
+
*/
|
|
37
|
+
export declare function fetchStaticArticle(ctx: ServerContext, source: StaticDocSource, url: string, options?: FetchArticleOptions): Promise<FetchArticleResult>;
|
|
38
|
+
//# sourceMappingURL=static-article-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static-article-service.d.ts","sourceRoot":"","sources":["../../../src/core/services/static-article-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAU3E;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAWzD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASrE;AAYD;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,eAAe,EACvB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC,CA2D7B"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Article retrieval for documentation sources outside Fluid Topics.
|
|
3
|
+
*
|
|
4
|
+
* The Fluid Topics path addresses a topic by `mapId` + `contentId` and gets
|
|
5
|
+
* an HTML fragment back. A static site has neither: the address is the URL,
|
|
6
|
+
* and the response is a whole page whose navigation has to be stripped before
|
|
7
|
+
* anything else. Everything downstream of that — sections, summaries,
|
|
8
|
+
* truncation — is shared with the FT path through
|
|
9
|
+
* {@link buildArticleView}, so the two cannot drift on what a caller sees.
|
|
10
|
+
*/
|
|
11
|
+
import { httpGetText } from '../http-client.js';
|
|
12
|
+
import { parseArticle } from './content-parser.js';
|
|
13
|
+
import { buildArticleView } from './article-view.js';
|
|
14
|
+
import { extractSections } from './tokenizer.js';
|
|
15
|
+
import { cacheKey } from './cache-key.js';
|
|
16
|
+
import { TOKEN_CONFIG } from '../constants.js';
|
|
17
|
+
/**
|
|
18
|
+
* Canonicalise a URL for a static site.
|
|
19
|
+
*
|
|
20
|
+
* concepts.jamf.com's sitemap emits paths without a trailing slash while the
|
|
21
|
+
* site itself redirects to the slashed form — all 990 entries, so fetching
|
|
22
|
+
* them as listed is 990 redirects. Adding the slash up front is one line here
|
|
23
|
+
* and saves a round trip per article. Paths that look like a file (`.html`,
|
|
24
|
+
* `.json`) are left alone, as is anything with a query or fragment.
|
|
25
|
+
*/
|
|
26
|
+
export function canonicalStaticUrl(urlStr) {
|
|
27
|
+
try {
|
|
28
|
+
const url = new URL(urlStr);
|
|
29
|
+
const last = url.pathname.split('/').pop() ?? '';
|
|
30
|
+
if (!url.pathname.endsWith('/') && !last.includes('.')) {
|
|
31
|
+
url.pathname = `${url.pathname}/`;
|
|
32
|
+
}
|
|
33
|
+
return url.toString();
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
return urlStr;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The page's own title, preferring Open Graph over `<title>`.
|
|
41
|
+
*
|
|
42
|
+
* `<title>` on these sites carries a site-name suffix ("API Utility | Jamf
|
|
43
|
+
* Concepts"); `og:title` is the same string without it, so it is tried first
|
|
44
|
+
* and the suffix trimmed only as a fallback.
|
|
45
|
+
*/
|
|
46
|
+
export function extractDocumentTitle(html) {
|
|
47
|
+
const og = /<meta[^>]+property=["']og:title["'][^>]+content=["']([^"']+)["']/i.exec(html)
|
|
48
|
+
?? /<meta[^>]+content=["']([^"']+)["'][^>]+property=["']og:title["']/i.exec(html);
|
|
49
|
+
if (og?.[1] !== undefined && og[1].trim() !== '') {
|
|
50
|
+
return decodeEntities(og[1].trim());
|
|
51
|
+
}
|
|
52
|
+
const title = /<title[^>]*>([^<]*)<\/title>/i.exec(html);
|
|
53
|
+
if (title?.[1] === undefined) {
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
const trimmed = title[1].split('|')[0]?.trim() ?? '';
|
|
57
|
+
return trimmed !== '' ? decodeEntities(trimmed) : undefined;
|
|
58
|
+
}
|
|
59
|
+
/** The handful of entities that survive into a title attribute. */
|
|
60
|
+
function decodeEntities(text) {
|
|
61
|
+
return text
|
|
62
|
+
.replace(/&/g, '&')
|
|
63
|
+
.replace(/</g, '<')
|
|
64
|
+
.replace(/>/g, '>')
|
|
65
|
+
.replace(/"/g, '"')
|
|
66
|
+
.replace(/&#(?:39|x27);/g, "'");
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Fetch and parse one article from a static documentation source.
|
|
70
|
+
*
|
|
71
|
+
* @param source the registry row for the hostname in `url`
|
|
72
|
+
*/
|
|
73
|
+
export async function fetchStaticArticle(ctx, source, url, options = {}) {
|
|
74
|
+
const maxTokens = options.maxTokens ?? TOKEN_CONFIG.DEFAULT_MAX_TOKENS;
|
|
75
|
+
const displayUrl = canonicalStaticUrl(url);
|
|
76
|
+
const key = cacheKey('static-article', { source: source.id, url: displayUrl });
|
|
77
|
+
let cached = await ctx.cache.get(key);
|
|
78
|
+
if (cached === null) {
|
|
79
|
+
const html = await httpGetText(displayUrl);
|
|
80
|
+
const documentTitle = extractDocumentTitle(html);
|
|
81
|
+
const parsed = parseArticle(html, displayUrl, {
|
|
82
|
+
// The source's own markup rules. Parsing a static page with Fluid
|
|
83
|
+
// Topics' selectors finds no content wrapper and falls through to
|
|
84
|
+
// <body>, which is the whole site chrome.
|
|
85
|
+
selectors: source.selectors,
|
|
86
|
+
// Root-relative links belong to this source, not learn.jamf.com.
|
|
87
|
+
linkBase: source.baseUrl,
|
|
88
|
+
...(options.includeRelated !== undefined ? { includeRelated: options.includeRelated } : {}),
|
|
89
|
+
});
|
|
90
|
+
// `parseArticle` reads the first surviving <h1>. On a static site the
|
|
91
|
+
// page heading often lives in a hero section outside the content wrapper,
|
|
92
|
+
// and stripping the chrome takes it with it — concepts.jamf.com's tool
|
|
93
|
+
// pages put their only <h1> there, so every one of the 37 came back
|
|
94
|
+
// "Untitled". The document's own title is the reliable answer when the
|
|
95
|
+
// body has none of its own; Fluid Topics never needs this because its
|
|
96
|
+
// titles arrive as metadata.
|
|
97
|
+
const title = parsed.title !== 'Untitled' ? parsed.title : documentTitle ?? parsed.title;
|
|
98
|
+
cached = { title, parsed, displayUrl };
|
|
99
|
+
await ctx.cache.set(key, cached, ctx.config.cacheTtl.article);
|
|
100
|
+
}
|
|
101
|
+
const { title, parsed } = cached;
|
|
102
|
+
// Provenance is part of the content, not metadata: it has to survive
|
|
103
|
+
// section extraction and truncation, both of which slice `content`, and a
|
|
104
|
+
// reader who asked for one section still needs to know what they are
|
|
105
|
+
// reading.
|
|
106
|
+
const content = source.provenance !== undefined
|
|
107
|
+
? `${parsed.content}\n\n---\n\n*${source.provenance}*\n`
|
|
108
|
+
: parsed.content;
|
|
109
|
+
const allSections = extractSections(content);
|
|
110
|
+
return buildArticleView({
|
|
111
|
+
title,
|
|
112
|
+
url: cached.displayUrl,
|
|
113
|
+
product: source.name,
|
|
114
|
+
breadcrumb: parsed.breadcrumb.length > 0 ? parsed.breadcrumb : undefined,
|
|
115
|
+
relatedArticles: options.includeRelated === true && parsed.relatedArticles.length > 0
|
|
116
|
+
? parsed.relatedArticles
|
|
117
|
+
: undefined,
|
|
118
|
+
sections: allSections,
|
|
119
|
+
}, content, options, maxTokens, allSections);
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=static-article-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static-article-service.js","sourceRoot":"","sources":["../../../src/core/services/static-article-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toc-service.d.ts","sourceRoot":"","sources":["../../../src/core/services/toc-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,OAAO,KAAK,EAAE,SAAS,EAAY,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAkB,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKxG;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,CAmBzE;AAyDD;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAgBlD;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,SAAS,EACjB,OAAO,SAAY,EACnB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"toc-service.d.ts","sourceRoot":"","sources":["../../../src/core/services/toc-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,OAAO,KAAK,EAAE,SAAS,EAAY,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAkB,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKxG;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,CAmBzE;AAyDD;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAgBlD;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,SAAS,EACjB,OAAO,SAAY,EACnB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,cAAc,CAAC,CAkFzB"}
|
|
@@ -54,7 +54,7 @@ function tocEntryToString(entry, depth = 0) {
|
|
|
54
54
|
}
|
|
55
55
|
// ─── Map id resolution ─────────────────────────────────────────
|
|
56
56
|
/**
|
|
57
|
-
* Resolve the map
|
|
57
|
+
* Resolve the map for a product without letting the registry take the
|
|
58
58
|
* request down with it.
|
|
59
59
|
*
|
|
60
60
|
* Used on the cache-hit path, where the TOC is already in hand: the cached
|
|
@@ -62,9 +62,9 @@ function tocEntryToString(entry, depth = 0) {
|
|
|
62
62
|
* re-resolved, and a registry that cannot answer should cost the caller the
|
|
63
63
|
* `mapId` field only — not the table of contents it already has.
|
|
64
64
|
*/
|
|
65
|
-
async function
|
|
65
|
+
async function resolveMapQuietly(ctx, bundleId, version, locale) {
|
|
66
66
|
try {
|
|
67
|
-
return await ctx.mapsRegistry.
|
|
67
|
+
return await ctx.mapsRegistry.resolveMap(bundleId, version !== 'current' ? version : undefined, locale);
|
|
68
68
|
}
|
|
69
69
|
catch (error) {
|
|
70
70
|
ctx.logger.createLogger('toc-service').warning(`Could not resolve mapId for a cached TOC (${bundleId}/${version}/${locale}): ${String(error)}`);
|
|
@@ -109,11 +109,14 @@ export async function fetchTableOfContents(ctx, source, version = 'current', opt
|
|
|
109
109
|
const bundleId = bundleStemFor(source);
|
|
110
110
|
let allToc = await ctx.cache.get(key);
|
|
111
111
|
let mapId;
|
|
112
|
+
let resolvedLocale;
|
|
112
113
|
if (allToc === null) {
|
|
113
|
-
|
|
114
|
-
if (
|
|
114
|
+
const resolved = await ctx.mapsRegistry.resolveMap(bundleId, version !== 'current' ? version : undefined, locale);
|
|
115
|
+
if (resolved === null) {
|
|
115
116
|
throw new JamfDocsError(`Could not resolve map for ${source} version ${version} locale ${locale}`, JamfDocsErrorCode.NOT_FOUND);
|
|
116
117
|
}
|
|
118
|
+
mapId = resolved.mapId;
|
|
119
|
+
resolvedLocale = resolved.resolvedLocale;
|
|
117
120
|
const ftNodes = await fetchMapToc(mapId);
|
|
118
121
|
allToc = transformFtTocToTocEntries(ftNodes);
|
|
119
122
|
await ctx.cache.set(key, allToc, ctx.config.cacheTtl.article);
|
|
@@ -121,8 +124,12 @@ export async function fetchTableOfContents(ctx, source, version = 'current', opt
|
|
|
121
124
|
else {
|
|
122
125
|
// The cache stores the tree, not the id it came from. Re-resolve so a
|
|
123
126
|
// caller reading a cached TOC gets the same `mapId` a cold one would —
|
|
124
|
-
// it is half of the pair `jamf_docs_get_article` documents.
|
|
125
|
-
|
|
127
|
+
// it is half of the pair `jamf_docs_get_article` documents. The locale
|
|
128
|
+
// that answered is re-resolved with it: a cached English tree served to a
|
|
129
|
+
// zh-TW request must still say it is English.
|
|
130
|
+
const resolved = await resolveMapQuietly(ctx, bundleId, version, locale);
|
|
131
|
+
mapId = resolved?.mapId ?? null;
|
|
132
|
+
resolvedLocale = resolved?.resolvedLocale ?? null;
|
|
126
133
|
}
|
|
127
134
|
// ─── Pagination & token truncation ───────────────────────────
|
|
128
135
|
const totalItems = countTocEntries(allToc);
|
|
@@ -146,6 +153,7 @@ export async function fetchTableOfContents(ctx, source, version = 'current', opt
|
|
|
146
153
|
pagination,
|
|
147
154
|
tokenInfo,
|
|
148
155
|
...(mapId !== null ? { mapId } : {}),
|
|
156
|
+
...(resolvedLocale !== null ? { resolvedLocale } : {}),
|
|
149
157
|
...(paginationNote !== undefined ? { paginationNote } : {}),
|
|
150
158
|
};
|
|
151
159
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toc-service.js","sourceRoot":"","sources":["../../../src/core/services/toc-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,YAAY,GACb,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE/D,kEAAkE;AAElE;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAkB;IAC3D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAY,EAAE;QAClC,MAAM,KAAK,GAAa;YACtB,sEAAsE;YACtE,sDAAsD;YACtD,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,UAAU;YAC/B,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;YACpC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;QAEF,6DAA6D;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;QACrC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,KAAK,CAAC,QAAQ,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kEAAkE;AAElE;;GAEG;AACH,SAAS,eAAe,CAAC,OAAmB;IAC1C,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CACf,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAClF,CAAC,CACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,KAAe,EAAE,KAAK,GAAG,CAAC;IAClD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IAC5F,OAAO,GAAG,MAAM,KAAK,KAAK,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;AACrD,CAAC;AAED,kEAAkE;AAElE;;;;;;;;GAQG;AACH,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"toc-service.js","sourceRoot":"","sources":["../../../src/core/services/toc-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-toc.d.ts","sourceRoot":"","sources":["../../../src/core/tools/get-toc.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"get-toc.d.ts","sourceRoot":"","sources":["../../../src/core/tools/get-toc.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AA8YzD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,GAAG,IAAI,CA0I9E"}
|
|
@@ -209,6 +209,26 @@ function getVersionNote(requestedVersion, availableVersions) {
|
|
|
209
209
|
}
|
|
210
210
|
return `Version "${requestedVersion}" is not among the versions Jamf publishes as its own documentation map, so these results may come from a different version.`;
|
|
211
211
|
}
|
|
212
|
+
/**
|
|
213
|
+
* Say so when the answer is not in the language that was asked for.
|
|
214
|
+
*
|
|
215
|
+
* The registry has always fallen back to en-US, and Jamf genuinely does not
|
|
216
|
+
* translate everything: 42 of the 97 publication families are en-US only, and
|
|
217
|
+
* `jamf-school-documentation` has no zh-TW map at all (de/en/es/fr/ja/nl). A
|
|
218
|
+
* silent fallback presents English as though it were the translation, and the
|
|
219
|
+
* reader has no way to tell that from a document that simply happens to have
|
|
220
|
+
* English headings.
|
|
221
|
+
*/
|
|
222
|
+
function getLocaleNote(requested, resolved) {
|
|
223
|
+
if (requested === undefined || resolved === undefined) {
|
|
224
|
+
return undefined;
|
|
225
|
+
}
|
|
226
|
+
if (requested === resolved) {
|
|
227
|
+
return undefined;
|
|
228
|
+
}
|
|
229
|
+
return `Jamf does not publish this document in ${requested}. Showing the ` +
|
|
230
|
+
`${resolved} edition instead.`;
|
|
231
|
+
}
|
|
212
232
|
/**
|
|
213
233
|
* The notices that are actually set, as a plain bag ready to spread into
|
|
214
234
|
* either the JSON response or `structuredContent`.
|
|
@@ -216,6 +236,7 @@ function getVersionNote(requestedVersion, availableVersions) {
|
|
|
216
236
|
function noticeFields(notices) {
|
|
217
237
|
return {
|
|
218
238
|
...(notices.versionNote !== undefined ? { versionNote: notices.versionNote } : {}),
|
|
239
|
+
...(notices.localeNote !== undefined ? { localeNote: notices.localeNote } : {}),
|
|
219
240
|
...(notices.paginationNote !== undefined ? { paginationNote: notices.paginationNote } : {}),
|
|
220
241
|
};
|
|
221
242
|
}
|
|
@@ -227,6 +248,9 @@ function renderTocNotices(notices) {
|
|
|
227
248
|
if (notices.versionNote !== undefined) {
|
|
228
249
|
rendered += `\n> **Version Note:** ${notices.versionNote}\n`;
|
|
229
250
|
}
|
|
251
|
+
if (notices.localeNote !== undefined) {
|
|
252
|
+
rendered += `\n> **Language Note:** ${notices.localeNote}\n`;
|
|
253
|
+
}
|
|
230
254
|
if (notices.paginationNote !== undefined) {
|
|
231
255
|
rendered += `\n> **Pagination Note:** ${notices.paginationNote}\n`;
|
|
232
256
|
}
|
|
@@ -340,7 +364,7 @@ export function registerGetTocTool(server, ctx) {
|
|
|
340
364
|
locale: params.language
|
|
341
365
|
});
|
|
342
366
|
await reportProgress(extra, { progress: 1, total: 4, message: 'Processing entries...' });
|
|
343
|
-
const { toc, pagination, tokenInfo, paginationNote, mapId } = tocResult;
|
|
367
|
+
const { toc, pagination, tokenInfo, paginationNote, mapId, resolvedLocale } = tocResult;
|
|
344
368
|
// Build response
|
|
345
369
|
const response = {
|
|
346
370
|
product: sourceLabel,
|
|
@@ -373,6 +397,7 @@ export function registerGetTocTool(server, ctx) {
|
|
|
373
397
|
// Two arguments, not one: the note is only truthful when the version
|
|
374
398
|
// asked for is absent from the maps Jamf actually publishes.
|
|
375
399
|
versionNote: getVersionNote(params.version, availableVersions),
|
|
400
|
+
localeNote: getLocaleNote(params.language, resolvedLocale),
|
|
376
401
|
paginationNote
|
|
377
402
|
};
|
|
378
403
|
await reportProgress(extra, { progress: 3, total: 4, message: 'Formatting output...' });
|