@get-technology-inc/jamf-docs-mcp-server 5.10.4 → 5.10.5
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/locales.d.ts +14 -8
- package/dist/core/constants/locales.d.ts.map +1 -1
- package/dist/core/constants/locales.js +14 -8
- package/dist/core/constants/locales.js.map +1 -1
- package/dist/core/services/ft-client.d.ts +3 -3
- package/dist/core/services/ft-client.js +3 -3
- package/dist/core/services/intercom-service.d.ts +65 -7
- package/dist/core/services/intercom-service.d.ts.map +1 -1
- package/dist/core/services/intercom-service.js +195 -17
- package/dist/core/services/intercom-service.js.map +1 -1
- package/dist/core/services/maps-registry.d.ts +2 -2
- package/dist/core/services/maps-registry.js +2 -2
- package/dist/core/utils/ft-metadata.d.ts +17 -9
- package/dist/core/utils/ft-metadata.d.ts.map +1 -1
- package/dist/core/utils/ft-metadata.js +17 -9
- package/dist/core/utils/ft-metadata.js.map +1 -1
- package/package.json +2 -2
|
@@ -5,15 +5,20 @@ export declare const DEFAULT_LOCALE = "en-US";
|
|
|
5
5
|
/**
|
|
6
6
|
* Every locale Jamf actually publishes documentation in.
|
|
7
7
|
*
|
|
8
|
-
* Measured against all
|
|
8
|
+
* Measured against all 676 maps of `/api/khub/maps` on 2026-09-14, ordered by
|
|
9
9
|
* how much content each carries:
|
|
10
10
|
*
|
|
11
|
-
* en-US
|
|
12
|
-
* fr-FR
|
|
13
|
-
* de-DE
|
|
14
|
-
* es-ES
|
|
15
|
-
* ja-JP
|
|
16
|
-
* zh-TW
|
|
11
|
+
* en-US 198 maps / 97 families nl-NL 10 / 10
|
|
12
|
+
* fr-FR 94 / 55 pt-BR 2 / 2
|
|
13
|
+
* de-DE 93 / 54 th-TH 2 / 2
|
|
14
|
+
* es-ES 93 / 54 zh-CN 2 / 2
|
|
15
|
+
* ja-JP 93 / 54 it-IT 2 / 2
|
|
16
|
+
* zh-TW 87 / 48
|
|
17
|
+
*
|
|
18
|
+
* The map column moves with every Jamf release — 11.32.0 alone added 14 maps
|
|
19
|
+
* between the 2026-09-02 and 2026-09-14 measurements — while the family column
|
|
20
|
+
* did not move at all. Only the ordering is load-bearing here, so a later
|
|
21
|
+
* mismatch in the map counts is Jamf publishing, not drift.
|
|
17
22
|
*
|
|
18
23
|
* `it-IT`, `pt-BR` and `zh-CN` were previously left undeclared on the reading
|
|
19
24
|
* that Fluid Topics listed them in `availableContentLocales` without shipping
|
|
@@ -22,7 +27,8 @@ export declare const DEFAULT_LOCALE = "en-US";
|
|
|
22
27
|
* language ("Introduzione a Jamf Parent", "Introdução ao Jamf Parent",
|
|
23
28
|
* "开始使用Jamf Parent"). They sit at the bottom of the list for the same
|
|
24
29
|
* reason th-TH does — those two guides are published in 11 locales, the
|
|
25
|
-
* widest in the library, while everything else tops out at
|
|
30
|
+
* widest in the library, while everything else tops out at seven (the Jamf
|
|
31
|
+
* Parent, Jamf Teacher and Jamf School Blueprints configuration guides).
|
|
26
32
|
*/
|
|
27
33
|
export declare const SUPPORTED_LOCALES: {
|
|
28
34
|
readonly 'en-US': {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../src/core/constants/locales.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC
|
|
1
|
+
{"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../src/core/constants/locales.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYpB,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,iBAAiB,CAAC;AACtD,eAAO,MAAM,oBAAoB,EAAqC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;AAE5F,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAEzD"}
|
|
@@ -6,15 +6,20 @@ export const DEFAULT_LOCALE = 'en-US';
|
|
|
6
6
|
/**
|
|
7
7
|
* Every locale Jamf actually publishes documentation in.
|
|
8
8
|
*
|
|
9
|
-
* Measured against all
|
|
9
|
+
* Measured against all 676 maps of `/api/khub/maps` on 2026-09-14, ordered by
|
|
10
10
|
* how much content each carries:
|
|
11
11
|
*
|
|
12
|
-
* en-US
|
|
13
|
-
* fr-FR
|
|
14
|
-
* de-DE
|
|
15
|
-
* es-ES
|
|
16
|
-
* ja-JP
|
|
17
|
-
* zh-TW
|
|
12
|
+
* en-US 198 maps / 97 families nl-NL 10 / 10
|
|
13
|
+
* fr-FR 94 / 55 pt-BR 2 / 2
|
|
14
|
+
* de-DE 93 / 54 th-TH 2 / 2
|
|
15
|
+
* es-ES 93 / 54 zh-CN 2 / 2
|
|
16
|
+
* ja-JP 93 / 54 it-IT 2 / 2
|
|
17
|
+
* zh-TW 87 / 48
|
|
18
|
+
*
|
|
19
|
+
* The map column moves with every Jamf release — 11.32.0 alone added 14 maps
|
|
20
|
+
* between the 2026-09-02 and 2026-09-14 measurements — while the family column
|
|
21
|
+
* did not move at all. Only the ordering is load-bearing here, so a later
|
|
22
|
+
* mismatch in the map counts is Jamf publishing, not drift.
|
|
18
23
|
*
|
|
19
24
|
* `it-IT`, `pt-BR` and `zh-CN` were previously left undeclared on the reading
|
|
20
25
|
* that Fluid Topics listed them in `availableContentLocales` without shipping
|
|
@@ -23,7 +28,8 @@ export const DEFAULT_LOCALE = 'en-US';
|
|
|
23
28
|
* language ("Introduzione a Jamf Parent", "Introdução ao Jamf Parent",
|
|
24
29
|
* "开始使用Jamf Parent"). They sit at the bottom of the list for the same
|
|
25
30
|
* reason th-TH does — those two guides are published in 11 locales, the
|
|
26
|
-
* widest in the library, while everything else tops out at
|
|
31
|
+
* widest in the library, while everything else tops out at seven (the Jamf
|
|
32
|
+
* Parent, Jamf Teacher and Jamf School Blueprints configuration guides).
|
|
27
33
|
*/
|
|
28
34
|
export const SUPPORTED_LOCALES = {
|
|
29
35
|
'en-US': { name: 'English' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locales.js","sourceRoot":"","sources":["../../../src/core/constants/locales.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AAEtC
|
|
1
|
+
{"version":3,"file":"locales.js","sourceRoot":"","sources":["../../../src/core/constants/locales.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC5B,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IACxB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACzB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC5B,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC5B,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;IAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;IAC/B,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IACxB,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;IAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE;IACvC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;CACjB,CAAC;AAGX,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAA0B,CAAC;AAE5F,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC7C,OAAO,SAAS,IAAI,iBAAiB,CAAC,CAAC,CAAC,SAAqB,CAAC,CAAC,CAAC,cAAc,CAAC;AACjF,CAAC"}
|
|
@@ -16,10 +16,10 @@ export declare function search(request: FtSearchRequest): Promise<FtClusteredSea
|
|
|
16
16
|
/**
|
|
17
17
|
* GET /api/khub/maps
|
|
18
18
|
*
|
|
19
|
-
* Returns all publications:
|
|
19
|
+
* Returns all publications: 676 maps across all locales and versions,
|
|
20
20
|
* which collapse to 97 bundle families once the version suffix is
|
|
21
|
-
* stripped. Measured against the live endpoint on 2026-09-
|
|
22
|
-
* (2,
|
|
21
|
+
* stripped. Measured against the live endpoint on 2026-09-14
|
|
22
|
+
* (2,968,856 bytes); the previous "~577" in this comment predated
|
|
23
23
|
* several publication families and was never a hard contract — the
|
|
24
24
|
* scheduled upstream-contract job is what pins the real shape.
|
|
25
25
|
*
|
|
@@ -34,10 +34,10 @@ export async function search(request) {
|
|
|
34
34
|
/**
|
|
35
35
|
* GET /api/khub/maps
|
|
36
36
|
*
|
|
37
|
-
* Returns all publications:
|
|
37
|
+
* Returns all publications: 676 maps across all locales and versions,
|
|
38
38
|
* which collapse to 97 bundle families once the version suffix is
|
|
39
|
-
* stripped. Measured against the live endpoint on 2026-09-
|
|
40
|
-
* (2,
|
|
39
|
+
* stripped. Measured against the live endpoint on 2026-09-14
|
|
40
|
+
* (2,968,856 bytes); the previous "~577" in this comment predated
|
|
41
41
|
* several publication families and was never a hard contract — the
|
|
42
42
|
* scheduled upstream-contract job is what pins the real shape.
|
|
43
43
|
*
|
|
@@ -25,19 +25,77 @@ interface IntercomBlock {
|
|
|
25
25
|
text?: string;
|
|
26
26
|
items?: IntercomBlock[];
|
|
27
27
|
content?: IntercomBlock[];
|
|
28
|
-
|
|
28
|
+
/**
|
|
29
|
+
* `collapsibleSection` — its label. Typed as a string here until 2026-09-14
|
|
30
|
+
* and an object on all 42 live sections: a `subheading` or `subheading3`
|
|
31
|
+
* block carrying the label in `text`.
|
|
32
|
+
*/
|
|
33
|
+
summary?: string | IntercomBlock;
|
|
29
34
|
url?: string;
|
|
30
35
|
style?: string;
|
|
36
|
+
/** `table` — one entry per row, each holding its own cells. */
|
|
37
|
+
rows?: IntercomTableRow[];
|
|
38
|
+
/**
|
|
39
|
+
* `table` — presentation flags, declared because they are on the payload
|
|
40
|
+
* and not read because Markdown has no equivalent. Every one of the 36 live
|
|
41
|
+
* tables sends `container: false, responsive: false, stacked: true`.
|
|
42
|
+
*/
|
|
43
|
+
container?: boolean;
|
|
44
|
+
responsive?: boolean;
|
|
45
|
+
stacked?: boolean;
|
|
46
|
+
/** `code` — a fence hint. Present on 1 of the 149 live code blocks. */
|
|
47
|
+
language?: string;
|
|
48
|
+
/** `video` — the hosting service and its id. No text, no url. */
|
|
49
|
+
provider?: string;
|
|
50
|
+
id?: string;
|
|
51
|
+
}
|
|
52
|
+
/** One row of a `table` block. */
|
|
53
|
+
interface IntercomTableRow {
|
|
54
|
+
cells?: IntercomTableCell[];
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* One cell of a `table` row.
|
|
58
|
+
*
|
|
59
|
+
* `content` is a block array, not a string — the same shape a list item uses.
|
|
60
|
+
* `style` carries presentation only (a background colour on header rows) and
|
|
61
|
+
* is deliberately not read here.
|
|
62
|
+
*/
|
|
63
|
+
interface IntercomTableCell {
|
|
64
|
+
content?: IntercomBlock[];
|
|
65
|
+
style?: Record<string, string>;
|
|
31
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* Every block type {@link renderBlock} has a case for.
|
|
69
|
+
*
|
|
70
|
+
* Exported so `test/integration/support-kb-contracts.test.ts` can hold the
|
|
71
|
+
* live corpus to it once a week. Reviewing the switch by hand is what failed
|
|
72
|
+
* twice — the docstring on renderBlock claimed a complete list while `table`,
|
|
73
|
+
* `subheading3` and `video` were all live and unhandled — and the two
|
|
74
|
+
* failures looked nothing alike: a table rendered to nothing, while a
|
|
75
|
+
* subheading3 rendered to a perfectly ordinary paragraph. Only an inventory
|
|
76
|
+
* check catches the second kind.
|
|
77
|
+
*
|
|
78
|
+
* Keep this in step with the switches below; a live type in neither is the
|
|
79
|
+
* failure it exists to produce.
|
|
80
|
+
*/
|
|
81
|
+
export declare const HANDLED_BLOCK_TYPES: ReadonlySet<string>;
|
|
32
82
|
/**
|
|
33
83
|
* Render one Intercom block.
|
|
34
84
|
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
85
|
+
* Thirteen types reach this function, measured over all 817 live articles on
|
|
86
|
+
* 2026-09-14 and counting every path that arrives here: the article's own
|
|
87
|
+
* block list, `callout` and `collapsibleSection` bodies, list item bodies,
|
|
88
|
+
* and table cells. `callout` and `collapsibleSection` nest their body under
|
|
89
|
+
* `content` rather than `text`.
|
|
90
|
+
*
|
|
91
|
+
* That count has been wrong twice, in the same direction both times, because
|
|
92
|
+
* an unhandled type leaves no trace to notice: this comment claimed four,
|
|
93
|
+
* then ten, while `table` (36 blocks), `subheading3` (34) and `video` (2)
|
|
94
|
+
* were being dropped or flattened into body text. Counting by hand is what
|
|
95
|
+
* failed, so it is no longer the mechanism —
|
|
96
|
+
* `test/integration/support-kb-contracts.test.ts` asserts the inventory
|
|
97
|
+
* against the live corpus, and a fourteenth type fails a check instead of
|
|
98
|
+
* quietly costing content.
|
|
41
99
|
*/
|
|
42
100
|
export declare function renderBlock(block: IntercomBlock, depth?: number): string;
|
|
43
101
|
export declare function renderBlocks(blocks: IntercomBlock[], depth?: number): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intercom-service.d.ts","sourceRoot":"","sources":["../../../src/core/services/intercom-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAU7E;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAQ1E;AA0BD,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"intercom-service.d.ts","sourceRoot":"","sources":["../../../src/core/services/intercom-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,7 +58,14 @@ function asString(value, fallback = '') {
|
|
|
58
58
|
}
|
|
59
59
|
return fallback;
|
|
60
60
|
}
|
|
61
|
-
/**
|
|
61
|
+
/**
|
|
62
|
+
* Inline HTML inside a block's `text`, flattened to Markdown-safe text.
|
|
63
|
+
*
|
|
64
|
+
* Anything not converted here is stripped by the closing `.text()`, so a tag
|
|
65
|
+
* this does not know about is content lost without a trace. That is what
|
|
66
|
+
* happened to inline images: 221 of them across 15 live articles, and for 212
|
|
67
|
+
* the image was the entire paragraph, so the whole block rendered to nothing.
|
|
68
|
+
*/
|
|
62
69
|
function inlineText(html) {
|
|
63
70
|
const $ = cheerio.load(`<div>${html}</div>`);
|
|
64
71
|
$('a[href]').each((_, el) => {
|
|
@@ -68,11 +75,128 @@ function inlineText(html) {
|
|
|
68
75
|
$(el).replaceWith(`[${label}](${href})`);
|
|
69
76
|
}
|
|
70
77
|
});
|
|
78
|
+
$('img[src]').each((_, el) => {
|
|
79
|
+
const src = $(el).attr('src') ?? '';
|
|
80
|
+
if (src !== '') {
|
|
81
|
+
$(el).replaceWith(``);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
71
84
|
$('code').each((_, el) => { $(el).replaceWith(`\`${$(el).text()}\``); });
|
|
72
85
|
$('strong, b').each((_, el) => { $(el).replaceWith(`**${$(el).text()}**`); });
|
|
73
86
|
$('em, i').each((_, el) => { $(el).replaceWith(`*${$(el).text()}*`); });
|
|
74
87
|
return $('div').text().replace(/\s+/g, ' ').trim();
|
|
75
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* The label of a `collapsibleSection`.
|
|
91
|
+
*
|
|
92
|
+
* Every live section carries `summary` as a block, not a string, so handing
|
|
93
|
+
* it to {@link inlineText} interpolated it as "[object Object]" — and it is
|
|
94
|
+
* the section's title, the one line telling a reader what is folded away.
|
|
95
|
+
* 18 articles rendered that. The narrowing belongs here, at the boundary,
|
|
96
|
+
* for exactly the reason {@link asString} gives further down.
|
|
97
|
+
*/
|
|
98
|
+
function summaryText(summary) {
|
|
99
|
+
if (typeof summary === 'string') {
|
|
100
|
+
return inlineText(summary);
|
|
101
|
+
}
|
|
102
|
+
return inlineText(summary?.text ?? '');
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Render a `video` block as a link.
|
|
106
|
+
*
|
|
107
|
+
* `{provider, id}` — no `text` and no `url`, so this fell through to the
|
|
108
|
+
* default arm, which returns '' for a block with no text. The video left no
|
|
109
|
+
* trace at all. Only youtube occurs live (2 blocks); an unknown provider
|
|
110
|
+
* keeps the identifiers rather than inventing a URL scheme for it.
|
|
111
|
+
*/
|
|
112
|
+
function renderVideo(block) {
|
|
113
|
+
const { provider, id } = block;
|
|
114
|
+
if (id === undefined || id === '') {
|
|
115
|
+
return '';
|
|
116
|
+
}
|
|
117
|
+
return provider === 'youtube'
|
|
118
|
+
? `[Video](https://www.youtube.com/watch?v=${id})\n\n`
|
|
119
|
+
: `Video (${provider ?? 'unknown source'}): ${id}\n\n`;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* The literal text of a `code` block.
|
|
123
|
+
*
|
|
124
|
+
* Upstream puts HTML in this field, so copying it into a fence verbatim
|
|
125
|
+
* emitted one unusable line — `fdesetup list -extended<br>sysadminctl …` —
|
|
126
|
+
* for exactly the content a reader means to copy. Measured across all 149
|
|
127
|
+
* code blocks in the live corpus on 2026-09-14: 826 `<br>` tags, no other
|
|
128
|
+
* tag, and `<` / `>` / `&` as the only entities.
|
|
129
|
+
*
|
|
130
|
+
* `<br>` becomes a newline BEFORE the entities are decoded. The other order
|
|
131
|
+
* would give a line break to a sample that legitimately contains the text
|
|
132
|
+
* `<br>`, which plist and XML samples do.
|
|
133
|
+
*/
|
|
134
|
+
function codeText(html) {
|
|
135
|
+
const withBreaks = html.replace(/<\s*br\s*\/?\s*>/gi, '\n');
|
|
136
|
+
return cheerio.load(`<div>${withBreaks}</div>`)('div').text();
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Wrap code in a fence long enough to survive its own content.
|
|
140
|
+
*
|
|
141
|
+
* No live sample carries a backtick run today. One that did would not just
|
|
142
|
+
* break its own block — it would end the fence early and leave the rest of
|
|
143
|
+
* the article inside code formatting, so the cheap guard is worth it.
|
|
144
|
+
*/
|
|
145
|
+
function fencedCode(text, language) {
|
|
146
|
+
const longest = [...text.matchAll(/`+/g)]
|
|
147
|
+
.reduce((n, match) => Math.max(n, match[0].length), 0);
|
|
148
|
+
const fence = '`'.repeat(Math.max(3, longest + 1));
|
|
149
|
+
return `${fence}${language ?? ''}\n${text}\n${fence}\n\n`;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* One table cell, flattened to something a Markdown row can hold.
|
|
153
|
+
*
|
|
154
|
+
* A cell holds a block array, and 254 of the 1,118 live cells hold more than
|
|
155
|
+
* one block — 45 contain a list, 17 an image. Markdown has nowhere to put
|
|
156
|
+
* that, so the cell is rendered normally and then collapsed onto one line:
|
|
157
|
+
* every word survives, the bullets do not.
|
|
158
|
+
*
|
|
159
|
+
* Escaping runs last, after the rendering that could introduce a pipe, and
|
|
160
|
+
* backslashes go first: escaping only the pipe turns `a\|b` into `a\\|b`,
|
|
161
|
+
* which renders as a literal backslash followed by a column break — the
|
|
162
|
+
* escape defeated by the very character it is made of.
|
|
163
|
+
*/
|
|
164
|
+
function cellText(cell) {
|
|
165
|
+
return renderBlocks(cell?.content ?? [])
|
|
166
|
+
.replace(/\s+/g, ' ')
|
|
167
|
+
.trim()
|
|
168
|
+
.replace(/\\/g, '\\\\')
|
|
169
|
+
.replace(/\|/g, '\\|');
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Render a `table` block as a Markdown table.
|
|
173
|
+
*
|
|
174
|
+
* This type was dropped entirely until 2026-09-14: it carries no `text`, so
|
|
175
|
+
* it fell through to the default arm and returned the empty string, and a
|
|
176
|
+
* whole table left no trace in the output.
|
|
177
|
+
*
|
|
178
|
+
* Markdown demands a header row and Intercom marks none. Of the 36 live
|
|
179
|
+
* tables, 21 style their first row and 9 more bold it; the remaining 6 give
|
|
180
|
+
* no signal either way. The first row becomes the header regardless — it is
|
|
181
|
+
* the header wherever there is one, and for those 6 it costs presentation
|
|
182
|
+
* rather than data, since the row is still rendered.
|
|
183
|
+
*
|
|
184
|
+
* Rows are uniform in every live table, but a ragged one is padded to the
|
|
185
|
+
* widest rather than producing a table that renderers disagree about.
|
|
186
|
+
*/
|
|
187
|
+
function renderTable(block) {
|
|
188
|
+
const rows = (block.rows ?? []).filter(row => (row.cells ?? []).length > 0);
|
|
189
|
+
const [header, ...body] = rows;
|
|
190
|
+
if (header === undefined) {
|
|
191
|
+
return '';
|
|
192
|
+
}
|
|
193
|
+
const width = rows.reduce((n, row) => Math.max(n, (row.cells ?? []).length), 0);
|
|
194
|
+
const line = (row) => {
|
|
195
|
+
const cells = row.cells ?? [];
|
|
196
|
+
return `| ${Array.from({ length: width }, (_, i) => cellText(cells[i])).join(' | ')} |\n`;
|
|
197
|
+
};
|
|
198
|
+
return `${line(header)}|${' --- |'.repeat(width)}\n${body.map(line).join('')}\n`;
|
|
199
|
+
}
|
|
76
200
|
/**
|
|
77
201
|
* Render a nested list.
|
|
78
202
|
*
|
|
@@ -103,20 +227,62 @@ function renderList(items, ordered, depth) {
|
|
|
103
227
|
})
|
|
104
228
|
.join('');
|
|
105
229
|
}
|
|
230
|
+
/**
|
|
231
|
+
* Every block type {@link renderBlock} has a case for.
|
|
232
|
+
*
|
|
233
|
+
* Exported so `test/integration/support-kb-contracts.test.ts` can hold the
|
|
234
|
+
* live corpus to it once a week. Reviewing the switch by hand is what failed
|
|
235
|
+
* twice — the docstring on renderBlock claimed a complete list while `table`,
|
|
236
|
+
* `subheading3` and `video` were all live and unhandled — and the two
|
|
237
|
+
* failures looked nothing alike: a table rendered to nothing, while a
|
|
238
|
+
* subheading3 rendered to a perfectly ordinary paragraph. Only an inventory
|
|
239
|
+
* check catches the second kind.
|
|
240
|
+
*
|
|
241
|
+
* Keep this in step with the switches below; a live type in neither is the
|
|
242
|
+
* failure it exists to produce.
|
|
243
|
+
*/
|
|
244
|
+
export const HANDLED_BLOCK_TYPES = new Set([
|
|
245
|
+
'callout',
|
|
246
|
+
'code',
|
|
247
|
+
'collapsibleSection',
|
|
248
|
+
'heading',
|
|
249
|
+
'horizontalRule',
|
|
250
|
+
'image',
|
|
251
|
+
'orderedNestedList',
|
|
252
|
+
'paragraph',
|
|
253
|
+
'subheading',
|
|
254
|
+
'subheading3',
|
|
255
|
+
'table',
|
|
256
|
+
'unorderedNestedList',
|
|
257
|
+
'video',
|
|
258
|
+
]);
|
|
259
|
+
/**
|
|
260
|
+
* One construct at three depths.
|
|
261
|
+
*
|
|
262
|
+
* Kept as a table rather than three switch arms because that is what the
|
|
263
|
+
* upstream vocabulary is: `subheading3` was added after `subheading`, and was
|
|
264
|
+
* rendered as a plain paragraph for as long as this was a list of cases. A
|
|
265
|
+
* fourth level is now one line.
|
|
266
|
+
*/
|
|
267
|
+
const HEADING_PREFIX = {
|
|
268
|
+
heading: '##',
|
|
269
|
+
subheading: '###',
|
|
270
|
+
subheading3: '####',
|
|
271
|
+
};
|
|
106
272
|
/**
|
|
107
273
|
* The blocks that map to one Markdown construct each.
|
|
108
274
|
*
|
|
109
|
-
* Split from {@link renderBlock} so the
|
|
110
|
-
* `collapsibleSection`, which recurse — stay legible next to
|
|
111
|
-
* rather than at the bottom of one long switch. Returns null for
|
|
112
|
-
* does not handle.
|
|
275
|
+
* Split from {@link renderBlock} so the types that need a helper — `callout`
|
|
276
|
+
* and `collapsibleSection`, which recurse, and `table` — stay legible next to
|
|
277
|
+
* each other rather than at the bottom of one long switch. Returns null for
|
|
278
|
+
* anything it does not handle.
|
|
113
279
|
*/
|
|
114
280
|
function renderSimpleBlock(block, depth) {
|
|
281
|
+
const prefix = HEADING_PREFIX[block.type ?? ''];
|
|
282
|
+
if (prefix !== undefined) {
|
|
283
|
+
return `${prefix} ${inlineText(block.text ?? '')}\n\n`;
|
|
284
|
+
}
|
|
115
285
|
switch (block.type) {
|
|
116
|
-
case 'heading':
|
|
117
|
-
return `## ${inlineText(block.text ?? '')}\n\n`;
|
|
118
|
-
case 'subheading':
|
|
119
|
-
return `### ${inlineText(block.text ?? '')}\n\n`;
|
|
120
286
|
case 'paragraph': {
|
|
121
287
|
const text = inlineText(block.text ?? '');
|
|
122
288
|
return text === '' ? '' : `${text}\n\n`;
|
|
@@ -126,11 +292,13 @@ function renderSimpleBlock(block, depth) {
|
|
|
126
292
|
case 'unorderedNestedList':
|
|
127
293
|
return `${renderList(block.items ?? [], false, depth)}\n`;
|
|
128
294
|
case 'code':
|
|
129
|
-
return
|
|
295
|
+
return fencedCode(codeText(block.text ?? ''), block.language);
|
|
130
296
|
case 'horizontalRule':
|
|
131
297
|
return '---\n\n';
|
|
132
298
|
case 'image':
|
|
133
299
|
return block.url !== undefined ? `\n\n` : '';
|
|
300
|
+
case 'video':
|
|
301
|
+
return renderVideo(block);
|
|
134
302
|
case undefined:
|
|
135
303
|
default:
|
|
136
304
|
return null;
|
|
@@ -139,12 +307,20 @@ function renderSimpleBlock(block, depth) {
|
|
|
139
307
|
/**
|
|
140
308
|
* Render one Intercom block.
|
|
141
309
|
*
|
|
142
|
-
*
|
|
143
|
-
*
|
|
144
|
-
*
|
|
145
|
-
*
|
|
146
|
-
*
|
|
147
|
-
*
|
|
310
|
+
* Thirteen types reach this function, measured over all 817 live articles on
|
|
311
|
+
* 2026-09-14 and counting every path that arrives here: the article's own
|
|
312
|
+
* block list, `callout` and `collapsibleSection` bodies, list item bodies,
|
|
313
|
+
* and table cells. `callout` and `collapsibleSection` nest their body under
|
|
314
|
+
* `content` rather than `text`.
|
|
315
|
+
*
|
|
316
|
+
* That count has been wrong twice, in the same direction both times, because
|
|
317
|
+
* an unhandled type leaves no trace to notice: this comment claimed four,
|
|
318
|
+
* then ten, while `table` (36 blocks), `subheading3` (34) and `video` (2)
|
|
319
|
+
* were being dropped or flattened into body text. Counting by hand is what
|
|
320
|
+
* failed, so it is no longer the mechanism —
|
|
321
|
+
* `test/integration/support-kb-contracts.test.ts` asserts the inventory
|
|
322
|
+
* against the live corpus, and a fourteenth type fails a check instead of
|
|
323
|
+
* quietly costing content.
|
|
148
324
|
*/
|
|
149
325
|
export function renderBlock(block, depth = 0) {
|
|
150
326
|
const simple = renderSimpleBlock(block, depth);
|
|
@@ -161,7 +337,9 @@ export function renderBlock(block, depth = 0) {
|
|
|
161
337
|
.map(line => `> ${line}`)
|
|
162
338
|
.join('\n')}\n\n`;
|
|
163
339
|
case 'collapsibleSection':
|
|
164
|
-
return `**${
|
|
340
|
+
return `**${summaryText(block.summary)}**\n\n${renderBlocks(block.content ?? [])}`;
|
|
341
|
+
case 'table':
|
|
342
|
+
return renderTable(block);
|
|
165
343
|
case undefined:
|
|
166
344
|
default:
|
|
167
345
|
// Unknown type: keep whatever text it has rather than dropping the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intercom-service.js","sourceRoot":"","sources":["../../../src/core/services/intercom-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"intercom-service.js","sourceRoot":"","sources":["../../../src/core/services/intercom-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -125,12 +125,12 @@ export declare class MapsRegistry {
|
|
|
125
125
|
*
|
|
126
126
|
* Sourced from the same `/api/khub/maps` payload the registry already
|
|
127
127
|
* builds from, so it needs no extra request and cannot drift from what
|
|
128
|
-
* `resolveMapId` can actually reach: 97 families as of 2026-09-
|
|
128
|
+
* `resolveMapId` can actually reach: 97 families as of 2026-09-14, against
|
|
129
129
|
* the 12 reachable through {@link JAMF_PRODUCTS}.
|
|
130
130
|
*
|
|
131
131
|
* `locale` selects which locale's title to report and nothing else — the
|
|
132
132
|
* list is not filtered by it, because a caller asking in zh-TW still needs
|
|
133
|
-
* to see the en-US-only families (
|
|
133
|
+
* to see the en-US-only families (42 of them) rather than have them
|
|
134
134
|
* silently vanish. Each entry's `locales` says what it actually has.
|
|
135
135
|
*/
|
|
136
136
|
listPublications(locale?: LocaleId): Promise<PublicationInfo[]>;
|
|
@@ -255,12 +255,12 @@ export class MapsRegistry {
|
|
|
255
255
|
*
|
|
256
256
|
* Sourced from the same `/api/khub/maps` payload the registry already
|
|
257
257
|
* builds from, so it needs no extra request and cannot drift from what
|
|
258
|
-
* `resolveMapId` can actually reach: 97 families as of 2026-09-
|
|
258
|
+
* `resolveMapId` can actually reach: 97 families as of 2026-09-14, against
|
|
259
259
|
* the 12 reachable through {@link JAMF_PRODUCTS}.
|
|
260
260
|
*
|
|
261
261
|
* `locale` selects which locale's title to report and nothing else — the
|
|
262
262
|
* list is not filtered by it, because a caller asking in zh-TW still needs
|
|
263
|
-
* to see the en-US-only families (
|
|
263
|
+
* to see the en-US-only families (42 of them) rather than have them
|
|
264
264
|
* silently vanish. Each entry's `locales` says what it actually has.
|
|
265
265
|
*/
|
|
266
266
|
async listPublications(locale) {
|
|
@@ -24,20 +24,28 @@ export declare const FT_META: {
|
|
|
24
24
|
readonly PUBLICATION_ID: "ft:publicationId";
|
|
25
25
|
readonly PRODNAME: "prodname";
|
|
26
26
|
/**
|
|
27
|
-
* Jamf's own publication classification,
|
|
27
|
+
* Jamf's own publication classification, carried by 629 of the 676 maps.
|
|
28
28
|
*
|
|
29
29
|
* Unlike the `product-*` values inside `zoominmetadata` — a legacy Zoomin
|
|
30
30
|
* vocabulary where one label covers many publications (`product-pro` alone
|
|
31
31
|
* spans 38 bundle families) — these three name the platform, client app or
|
|
32
|
-
* utility a publication documents
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
* (see DOC_TYPE_CONTENT_TYPE_MAP).
|
|
32
|
+
* utility a publication documents. Measured across all 97 bundle families
|
|
33
|
+
* and 11 locales, every family reports the same value in every locale: 0
|
|
34
|
+
* disagreements. That is what makes them usable as a stable classification
|
|
35
|
+
* rather than display text, and it is the opposite of `jamf:contentType`,
|
|
36
|
+
* whose values ARE translated (see DOC_TYPE_CONTENT_TYPE_MAP).
|
|
38
37
|
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
38
|
+
* Two things this comment used to assert are false. A map may carry none of
|
|
39
|
+
* the three — 17 of the 97 families never do — and it may carry several:
|
|
40
|
+
* 29 maps list two or three `jamf:portal` values and 12 list two `jamf:app`
|
|
41
|
+
* values, so Jamf files "Jamf 170 Course" under Jamf Pro and Jamf Protect
|
|
42
|
+
* alike. `jamf:utility` is the only genuinely single-valued one. The
|
|
43
|
+
* registry reads all three through {@link getMetaValue}, which keeps
|
|
44
|
+
* `values[0]` and discards the rest — a known defect tracked in #282, not
|
|
45
|
+
* the intent.
|
|
46
|
+
*
|
|
47
|
+
* Live distribution, measured 2026-09-14: portal 12 distinct values over
|
|
48
|
+
* 564 maps, app 9 over 92, utility 9 over 25.
|
|
41
49
|
*/
|
|
42
50
|
readonly PORTAL: "jamf:portal";
|
|
43
51
|
readonly APP: "jamf:app";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ft-metadata.d.ts","sourceRoot":"","sources":["../../../src/core/utils/ft-metadata.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,eAAO,MAAM,OAAO;;;;;;;;;;;IAWlB;;;;;OAKG;;;;;IAMH
|
|
1
|
+
{"version":3,"file":"ft-metadata.d.ts","sourceRoot":"","sources":["../../../src/core/utils/ft-metadata.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,eAAO,MAAM,OAAO;;;;;;;;;;;IAWlB;;;;;OAKG;;;;;IAMH;;;;;;;;;;;;;;;;;;;;;;;OAuBG;;;;CAIK,CAAC;AAEX;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGzF;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAG5F;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK5D"}
|
|
@@ -21,20 +21,28 @@ export const FT_META = {
|
|
|
21
21
|
PUBLICATION_ID: 'ft:publicationId',
|
|
22
22
|
PRODNAME: 'prodname',
|
|
23
23
|
/**
|
|
24
|
-
* Jamf's own publication classification,
|
|
24
|
+
* Jamf's own publication classification, carried by 629 of the 676 maps.
|
|
25
25
|
*
|
|
26
26
|
* Unlike the `product-*` values inside `zoominmetadata` — a legacy Zoomin
|
|
27
27
|
* vocabulary where one label covers many publications (`product-pro` alone
|
|
28
28
|
* spans 38 bundle families) — these three name the platform, client app or
|
|
29
|
-
* utility a publication documents
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* (see DOC_TYPE_CONTENT_TYPE_MAP).
|
|
29
|
+
* utility a publication documents. Measured across all 97 bundle families
|
|
30
|
+
* and 11 locales, every family reports the same value in every locale: 0
|
|
31
|
+
* disagreements. That is what makes them usable as a stable classification
|
|
32
|
+
* rather than display text, and it is the opposite of `jamf:contentType`,
|
|
33
|
+
* whose values ARE translated (see DOC_TYPE_CONTENT_TYPE_MAP).
|
|
35
34
|
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
35
|
+
* Two things this comment used to assert are false. A map may carry none of
|
|
36
|
+
* the three — 17 of the 97 families never do — and it may carry several:
|
|
37
|
+
* 29 maps list two or three `jamf:portal` values and 12 list two `jamf:app`
|
|
38
|
+
* values, so Jamf files "Jamf 170 Course" under Jamf Pro and Jamf Protect
|
|
39
|
+
* alike. `jamf:utility` is the only genuinely single-valued one. The
|
|
40
|
+
* registry reads all three through {@link getMetaValue}, which keeps
|
|
41
|
+
* `values[0]` and discards the rest — a known defect tracked in #282, not
|
|
42
|
+
* the intent.
|
|
43
|
+
*
|
|
44
|
+
* Live distribution, measured 2026-09-14: portal 12 distinct values over
|
|
45
|
+
* 564 maps, app 9 over 92, utility 9 over 25.
|
|
38
46
|
*/
|
|
39
47
|
PORTAL: 'jamf:portal',
|
|
40
48
|
APP: 'jamf:app',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ft-metadata.js","sourceRoot":"","sources":["../../../src/core/utils/ft-metadata.ts"],"names":[],"mappings":"AAKA,uDAAuD;AACvD,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,mBAAmB,EAAE,qBAAqB;IAC1C,OAAO,EAAE,SAAS;IAClB,cAAc,EAAE,eAAe;IAC/B,MAAM,EAAE,WAAW;IACnB,UAAU,EAAE,cAAc;IAC1B,MAAM,EAAE,QAAQ;IAChB,gBAAgB,EAAE,kBAAkB;IACpC,UAAU,EAAE,YAAY;IACxB,eAAe,EAAE,gBAAgB;IACjC,YAAY,EAAE,kBAAkB;IAChC;;;;;OAKG;IACH,YAAY,EAAE,gBAAgB;IAC9B,UAAU,EAAE,cAAc;IAC1B,cAAc,EAAE,kBAAkB;IAClC,QAAQ,EAAE,UAAU;IAEpB
|
|
1
|
+
{"version":3,"file":"ft-metadata.js","sourceRoot":"","sources":["../../../src/core/utils/ft-metadata.ts"],"names":[],"mappings":"AAKA,uDAAuD;AACvD,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,mBAAmB,EAAE,qBAAqB;IAC1C,OAAO,EAAE,SAAS;IAClB,cAAc,EAAE,eAAe;IAC/B,MAAM,EAAE,WAAW;IACnB,UAAU,EAAE,cAAc;IAC1B,MAAM,EAAE,QAAQ;IAChB,gBAAgB,EAAE,kBAAkB;IACpC,UAAU,EAAE,YAAY;IACxB,eAAe,EAAE,gBAAgB;IACjC,YAAY,EAAE,kBAAkB;IAChC;;;;;OAKG;IACH,YAAY,EAAE,gBAAgB;IAC9B,UAAU,EAAE,cAAc;IAC1B,cAAc,EAAE,kBAAkB;IAClC,QAAQ,EAAE,UAAU;IAEpB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,EAAE,aAAa;IACrB,GAAG,EAAE,UAAU;IACf,OAAO,EAAE,cAAc;CACf,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,QAAuC,EAAE,GAAW;IAC/E,MAAM,KAAK,GAAG,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IACjD,OAAO,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAuC,EAAE,GAAW;IAChF,MAAM,KAAK,GAAG,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IACjD,OAAO,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,OAAO,IAAI;SACR,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;SAC9B,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;SAClB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAC5C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@get-technology-inc/jamf-docs-mcp-server",
|
|
3
|
-
"version": "5.10.
|
|
3
|
+
"version": "5.10.5",
|
|
4
4
|
"description": "MCP Server for accessing Jamf Documentation (learn.jamf.com)",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"test:watch": "vitest",
|
|
19
19
|
"test:unit": "vitest run test/unit",
|
|
20
20
|
"test:integration": "ALLOW_LIVE_REQUESTS=1 vitest run test/integration",
|
|
21
|
-
"test:contract": "ALLOW_LIVE_REQUESTS=1 vitest run test/integration/data-contracts.test.ts",
|
|
21
|
+
"test:contract": "ALLOW_LIVE_REQUESTS=1 vitest run test/integration/data-contracts.test.ts test/integration/support-kb-contracts.test.ts",
|
|
22
22
|
"test:e2e": "ALLOW_LIVE_REQUESTS=1 vitest run test/e2e",
|
|
23
23
|
"test:all": "vitest run test/unit && ALLOW_LIVE_REQUESTS=1 vitest run test/integration && ALLOW_LIVE_REQUESTS=1 vitest run test/e2e",
|
|
24
24
|
"test:coverage": "ALLOW_LIVE_REQUESTS=1 vitest run --coverage",
|