@get-technology-inc/jamf-docs-mcp-server 5.7.0 → 5.8.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.
@@ -38,7 +38,17 @@ export interface StaticDocSource {
38
38
  readonly baseUrl: string;
39
39
  /** Human name, for prose and error messages. */
40
40
  readonly name: string;
41
- /** How to read this source's HTML. */
41
+ /**
42
+ * How this source's pages are read.
43
+ *
44
+ * `html` parses the DOM with {@link StaticDocSource.selectors}. `intercom`
45
+ * ignores them entirely: an Intercom Help Center embeds its own data as
46
+ * JSON in `<script id="__NEXT_DATA__">`, and the content model is a block
47
+ * list rather than markup, so the rendered DOM is a view of the source of
48
+ * truth rather than the source itself.
49
+ */
50
+ readonly parser: 'html' | 'intercom';
51
+ /** How to read this source's HTML. Unused when `parser` is not `html`. */
42
52
  readonly selectors: SelectorSet;
43
53
  /**
44
54
  * Appended to every article served from this source.
@@ -58,8 +68,25 @@ export interface StaticDocSource {
58
68
  * a hard gap, `/th` and `/th-TH` both 404.
59
69
  */
60
70
  readonly locales: Readonly<Record<string, string>>;
61
- /** Browsable sections, exposed as publications. */
71
+ /**
72
+ * Browsable sections, exposed as publications.
73
+ *
74
+ * Empty for a source whose sections are not knowable without a request —
75
+ * an Intercom Help Center's collections are content, not configuration,
76
+ * and pinning their ids here would mean a registry edit whenever Jamf adds
77
+ * one. Those are discovered instead; see {@link StaticDocSource.dynamicSections}.
78
+ */
62
79
  readonly sections: readonly StaticSection[];
80
+ /**
81
+ * Set when sections come from the source at runtime rather than this table.
82
+ *
83
+ * The publication id is then `{prefix}-{slug}`, so a caller can still name
84
+ * one without knowing Intercom's numeric ids.
85
+ */
86
+ readonly dynamicSections?: {
87
+ readonly kind: 'intercom-collections';
88
+ readonly idPrefix: string;
89
+ };
63
90
  }
64
91
  export declare const STATIC_DOC_SOURCES: {
65
92
  readonly 'jamf-concepts': {
@@ -67,6 +94,7 @@ export declare const STATIC_DOC_SOURCES: {
67
94
  readonly hostname: "concepts.jamf.com";
68
95
  readonly baseUrl: "https://concepts.jamf.com";
69
96
  readonly name: "Jamf Concepts";
97
+ readonly parser: "html";
70
98
  readonly selectors: {
71
99
  readonly CONTENT: "article, [class*=\"prose\"]";
72
100
  readonly TITLE: "h1";
@@ -95,6 +123,34 @@ export declare const STATIC_DOC_SOURCES: {
95
123
  readonly title: "Jamf Concepts: Open Source Tools";
96
124
  }];
97
125
  };
126
+ readonly 'jamf-support': {
127
+ readonly id: "jamf-support";
128
+ readonly hostname: "support.jamf.com";
129
+ readonly baseUrl: "https://support.jamf.com";
130
+ readonly name: "Jamf Support Knowledge Base";
131
+ readonly parser: "intercom";
132
+ readonly selectors: {
133
+ readonly CONTENT: "article, main";
134
+ readonly TITLE: "h1";
135
+ readonly BREADCRUMB: "[class*=\"breadcrumb\"] a";
136
+ readonly RELATED: "[class*=\"related\"] a";
137
+ readonly REMOVE: string;
138
+ };
139
+ readonly provenance: string;
140
+ readonly locales: {
141
+ readonly 'en-US': "en";
142
+ readonly 'de-DE': "de";
143
+ readonly 'es-ES': "es";
144
+ readonly 'fr-FR': "fr";
145
+ readonly 'ja-JP': "ja";
146
+ readonly 'zh-TW': "zh-TW";
147
+ };
148
+ readonly sections: readonly [];
149
+ readonly dynamicSections: {
150
+ readonly kind: "intercom-collections";
151
+ readonly idPrefix: "jamf-support";
152
+ };
153
+ };
98
154
  };
99
155
  export type StaticSourceId = keyof typeof STATIC_DOC_SOURCES;
100
156
  /** Every non-Fluid-Topics hostname this server will fetch from. */
@@ -119,4 +175,14 @@ export declare function staticSectionById(id: string): {
119
175
  source: StaticDocSource;
120
176
  section: StaticSection;
121
177
  } | undefined;
178
+ /** Sources whose sections are discovered at runtime rather than declared here. */
179
+ export declare const DYNAMIC_SECTION_SOURCES: readonly StaticDocSource[];
180
+ /**
181
+ * Publication id for a runtime-discovered section.
182
+ *
183
+ * Built from the slug rather than Intercom's numeric id so a caller can name
184
+ * a collection from its URL, and so recreating a collection upstream does not
185
+ * change the id this server publishes.
186
+ */
187
+ export declare function dynamicSectionId(source: StaticDocSource, slug: string): string;
122
188
  //# sourceMappingURL=sources.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../../src/core/constants/sources.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1D;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,mDAAmD;IACnD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,gDAAgD;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;CAC7C;AAiBD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCqB,CAAC;AAErD,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,kBAAkB,CAAC;AAE7D,mEAAmE;AACnE,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EACa,CAAC;AAEnE,sEAAsE;AACtE,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAErF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAM9E;AAED,8EAA8E;AAC9E,eAAO,MAAM,eAAe,EAAE,SAAS;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,EAEhC,CAAC;AAE3D,sFAAsF;AACtF,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,MAAM,GACT;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,GAAG,SAAS,CAEjE"}
1
+ {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../../src/core/constants/sources.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1D;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,mDAAmD;IACnD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,gDAAgD;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;;;;OAQG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;IACrC,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CACjG;AAiBD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0EqB,CAAC;AAErD,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,kBAAkB,CAAC;AAE7D,mEAAmE;AACnE,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EACa,CAAC;AAEnE,sEAAsE;AACtE,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAErF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAM9E;AAED,8EAA8E;AAC9E,eAAO,MAAM,eAAe,EAAE,SAAS;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,EAEhC,CAAC;AAE3D,sFAAsF;AACtF,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,MAAM,GACT;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,GAAG,SAAS,CAEjE;AAED,kFAAkF;AAClF,eAAO,MAAM,uBAAuB,EAAE,SAAS,eAAe,EAEH,CAAC;AAE5D;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9E"}
@@ -31,6 +31,7 @@ export const STATIC_DOC_SOURCES = {
31
31
  hostname: 'concepts.jamf.com',
32
32
  baseUrl: 'https://concepts.jamf.com',
33
33
  name: 'Jamf Concepts',
34
+ parser: 'html',
34
35
  selectors: {
35
36
  // Every page type — guide, concept, about — wraps its body in exactly
36
37
  // one `<article class="prose">`. `main` is deliberately NOT listed:
@@ -62,6 +63,39 @@ export const STATIC_DOC_SOURCES = {
62
63
  { id: 'jamf-concepts-tools', path: 'concepts', title: 'Jamf Concepts: Open Source Tools' },
63
64
  ],
64
65
  },
66
+ 'jamf-support': {
67
+ id: 'jamf-support',
68
+ hostname: 'support.jamf.com',
69
+ baseUrl: 'https://support.jamf.com',
70
+ name: 'Jamf Support Knowledge Base',
71
+ parser: 'intercom',
72
+ // Unused: the Intercom parser reads __NEXT_DATA__, not the DOM. Present
73
+ // because the shape requires it and because a future HTML fallback would
74
+ // want somewhere sensible to start.
75
+ selectors: {
76
+ CONTENT: 'article, main',
77
+ TITLE: 'h1',
78
+ BREADCRUMB: '[class*="breadcrumb"] a',
79
+ RELATED: '[class*="related"] a',
80
+ REMOVE: STATIC_PAGE_REMOVE,
81
+ },
82
+ provenance: 'Source: Jamf Support Knowledge Base (support.jamf.com). Troubleshooting ' +
83
+ 'and known-issue articles, edited separately from the product ' +
84
+ 'documentation on learn.jamf.com.',
85
+ // Six locales route and carry content. `nl` and `th` route but return an
86
+ // empty collection list, so they are absent rather than listed and
87
+ // silently empty.
88
+ locales: {
89
+ 'en-US': 'en',
90
+ 'de-DE': 'de',
91
+ 'es-ES': 'es',
92
+ 'fr-FR': 'fr',
93
+ 'ja-JP': 'ja',
94
+ 'zh-TW': 'zh-TW',
95
+ },
96
+ sections: [],
97
+ dynamicSections: { kind: 'intercom-collections', idPrefix: 'jamf-support' },
98
+ },
65
99
  };
66
100
  /** Every non-Fluid-Topics hostname this server will fetch from. */
67
101
  export const STATIC_SOURCE_HOSTNAMES = Object.values(STATIC_DOC_SOURCES).map(source => source.hostname);
@@ -90,4 +124,17 @@ export const STATIC_SECTIONS = Object.values(STATIC_DOC_SOURCES).flatMap(source
90
124
  export function staticSectionById(id) {
91
125
  return STATIC_SECTIONS.find(row => row.section.id === id);
92
126
  }
127
+ /** Sources whose sections are discovered at runtime rather than declared here. */
128
+ export const DYNAMIC_SECTION_SOURCES = Object.values(STATIC_DOC_SOURCES)
129
+ .filter(source => source.dynamicSections !== undefined);
130
+ /**
131
+ * Publication id for a runtime-discovered section.
132
+ *
133
+ * Built from the slug rather than Intercom's numeric id so a caller can name
134
+ * a collection from its URL, and so recreating a collection upstream does not
135
+ * change the id this server publishes.
136
+ */
137
+ export function dynamicSectionId(source, slug) {
138
+ return `${source.dynamicSections?.idPrefix ?? source.id}-${slug}`;
139
+ }
93
140
  //# sourceMappingURL=sources.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../../src/core/constants/sources.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,SAAS,EAAoB,MAAM,aAAa,CAAC;AAqD1D;;;;;;;;;;;GAWG;AACH,MAAM,kBAAkB,GACtB,GAAG,SAAS,CAAC,MAAM,+DAA+D,CAAC;AAErF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,eAAe,EAAE;QACf,EAAE,EAAE,eAAe;QACnB,QAAQ,EAAE,mBAAmB;QAC7B,OAAO,EAAE,2BAA2B;QACpC,IAAI,EAAE,eAAe;QACrB,SAAS,EAAE;YACT,sEAAsE;YACtE,oEAAoE;YACpE,oEAAoE;YACpE,uEAAuE;YACvE,sEAAsE;YACtE,iCAAiC;YACjC,OAAO,EAAE,2BAA2B;YACpC,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,yBAAyB;YACrC,OAAO,EAAE,sBAAsB;YAC/B,MAAM,EAAE,kBAAkB;SAC3B;QACD,UAAU,EACR,qEAAqE;YACrE,qEAAqE;YACrE,2DAA2D;QAC7D,OAAO,EAAE;YACP,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,OAAO;SACjB;QACD,QAAQ,EAAE;YACR,EAAE,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,uBAAuB,EAAE;YAC9E,EAAE,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,kCAAkC,EAAE;SAC3F;KACF;CACiD,CAAC;AAIrD,mEAAmE;AACnE,MAAM,CAAC,MAAM,uBAAuB,GAClC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEnE,sEAAsE;AACtE,MAAM,UAAU,uBAAuB,CAAC,QAAgB;IACtD,OAAO,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AACxF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,IAAI,CAAC;QACH,OAAO,uBAAuB,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,MAAM,eAAe,GAC1B,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CACjD,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AAE3D,sFAAsF;AACtF,MAAM,UAAU,iBAAiB,CAC/B,EAAU;IAEV,OAAO,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../../src/core/constants/sources.ts"],"names":[],"mappings":"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"}
@@ -115,6 +115,16 @@ export interface CacheKeySpaces {
115
115
  'static-sitemap': {
116
116
  source: string;
117
117
  };
118
+ /** An Intercom Help Center's top-level collections, per locale. */
119
+ 'intercom-collections': {
120
+ source: string;
121
+ locale: string;
122
+ };
123
+ /** One Intercom collection's article tree. Keyed on the collection, which is locale-specific. */
124
+ 'intercom-collection-toc': {
125
+ source: string;
126
+ collection: string;
127
+ };
118
128
  'maps-registry-v2': null;
119
129
  'metadata-products-v2': null;
120
130
  'metadata-topics': null;
@@ -1 +1 @@
1
- {"version":3,"file":"cache-key.d.ts","sourceRoot":"","sources":["../../../src/core/services/cache-key.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,CAAC,MAAM,eAAe,EAAE,OAAO,MAAM,CAAC;AAE7C,8EAA8E;AAC9E,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAErE,KAAK,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAEvD;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,SAAS,aAAa,EAAE,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;AAEvF;;;;;;;;GAQG;AAMH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,OAAO,EAAE,sBAAsB,CAAC;KACjC,CAAC;IASF,eAAe,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAQ1E,QAAQ,EAAE;QAAE,MAAM,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,gBAAgB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,gBAAgB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IASpC,cAAc,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,kBAAkB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD;;;;;;;;;OASG;IACH,gBAAgB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,+EAA+E;IAC/E,gBAAgB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,kBAAkB,EAAE,IAAI,CAAC;IACzB,sBAAsB,EAAE,IAAI,CAAC;IAC7B,iBAAiB,EAAE,IAAI,CAAC;IACxB,+BAA+B,EAAE,IAAI,CAAC;CACvC;AAID,MAAM,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC;AAuDlD,qFAAqF;AACrF,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EACK,CAAC;AAE5D,sFAAsF;AACtF,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,cAAc,IAC/C,cAAc,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAqCnE;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,cAAc,EAC/C,SAAS,EAAE,CAAC,EACZ,GAAG,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GACvB,QAAQ,CAMV"}
1
+ {"version":3,"file":"cache-key.d.ts","sourceRoot":"","sources":["../../../src/core/services/cache-key.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,8 @@ const CACHE_NAMESPACE_REGISTRY = {
48
48
  'glossary-content': true,
49
49
  'static-article': true,
50
50
  'static-sitemap': true,
51
+ 'intercom-collections': true,
52
+ 'intercom-collection-toc': true,
51
53
  'maps-registry-v2': true,
52
54
  'metadata-products-v2': true,
53
55
  'metadata-topics': true,
@@ -1 +1 @@
1
- {"version":3,"file":"cache-key.js","sourceRoot":"","sources":["../../../src/core/services/cache-key.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAsIH;;;;;;GAMG;AACH,MAAM,wBAAwB,GAE1B;IACF,WAAW,EAAE,IAAI;IACjB,eAAe,EAAE,IAAI;IACrB,QAAQ,EAAE,IAAI;IACd,gBAAgB,EAAE,IAAI;IACtB,gBAAgB,EAAE,IAAI;IACtB,cAAc,EAAE,IAAI;IACpB,kBAAkB,EAAE,IAAI;IACxB,gBAAgB,EAAE,IAAI;IACtB,gBAAgB,EAAE,IAAI;IACtB,kBAAkB,EAAE,IAAI;IACxB,sBAAsB,EAAE,IAAI;IAC5B,iBAAiB,EAAE,IAAI;IACvB,+BAA+B,EAAE,IAAI;CACtC,CAAC;AAEF,qFAAqF;AACrF,MAAM,CAAC,MAAM,gBAAgB,GAC3B,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAqB,CAAC;AAM5D;;;;GAIG;AACH,SAAS,YAAY,CAAC,KAAuB;IAC3C,MAAM,SAAS,GAAkC,EAAE,CAAC;IACpD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC1B,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,KAAoB,EAAE,IAAY;IACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,SAAS,CACjB,mBAAmB,IAAI,QAAQ,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAC1F,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAAC,YAAY,CAAC,IAAqB,EAAE,IAAI,CAAC,CAAC;QAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CACtB,SAAY,EACZ,GAAG,IAAqB;IAExB,6EAA6E;IAC7E,yEAAyE;IACzE,MAAM,CAAC,KAAK,CAAC,GAAG,IAAoC,CAAC;IACrD,MAAM,OAAO,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;IACrF,OAAO,GAAG,SAAS,GAAG,OAAO,EAAc,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"cache-key.js","sourceRoot":"","sources":["../../../src/core/services/cache-key.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AA0IH;;;;;;GAMG;AACH,MAAM,wBAAwB,GAE1B;IACF,WAAW,EAAE,IAAI;IACjB,eAAe,EAAE,IAAI;IACrB,QAAQ,EAAE,IAAI;IACd,gBAAgB,EAAE,IAAI;IACtB,gBAAgB,EAAE,IAAI;IACtB,cAAc,EAAE,IAAI;IACpB,kBAAkB,EAAE,IAAI;IACxB,gBAAgB,EAAE,IAAI;IACtB,gBAAgB,EAAE,IAAI;IACtB,sBAAsB,EAAE,IAAI;IAC5B,yBAAyB,EAAE,IAAI;IAC/B,kBAAkB,EAAE,IAAI;IACxB,sBAAsB,EAAE,IAAI;IAC5B,iBAAiB,EAAE,IAAI;IACvB,+BAA+B,EAAE,IAAI;CACtC,CAAC;AAEF,qFAAqF;AACrF,MAAM,CAAC,MAAM,gBAAgB,GAC3B,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAqB,CAAC;AAM5D;;;;GAIG;AACH,SAAS,YAAY,CAAC,KAAuB;IAC3C,MAAM,SAAS,GAAkC,EAAE,CAAC;IACpD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC1B,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,KAAoB,EAAE,IAAY;IACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,SAAS,CACjB,mBAAmB,IAAI,QAAQ,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAC1F,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAAC,YAAY,CAAC,IAAqB,EAAE,IAAI,CAAC,CAAC;QAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CACtB,SAAY,EACZ,GAAG,IAAqB;IAExB,6EAA6E;IAC7E,yEAAyE;IACzE,MAAM,CAAC,KAAK,CAAC,GAAG,IAAoC,CAAC;IACrD,MAAM,OAAO,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;IACrF,OAAO,GAAG,SAAS,GAAG,OAAO,EAAc,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Reading an Intercom Help Center.
3
+ *
4
+ * support.jamf.com is a Next.js app whose every page embeds its own data as
5
+ * JSON in `<script id="__NEXT_DATA__">`. That is the source of truth: the
6
+ * rendered DOM is a view of it, and parsing the JSON avoids guessing at
7
+ * class names that change with any theme update.
8
+ *
9
+ * The content model is a block list, not HTML, so it is rendered to Markdown
10
+ * here rather than going through `content-parser`.
11
+ */
12
+ import type { StaticDocSource } from '../constants/sources.js';
13
+ import type { ServerContext } from '../types/context.js';
14
+ import type { FetchTocOptions, FetchTocResult, TocEntry } from '../types.js';
15
+ /**
16
+ * Pull the embedded page data out of an Intercom Help Center page.
17
+ *
18
+ * The opening tag carries a `nonce` attribute, so a regex anchored on
19
+ * `<script id="__NEXT_DATA__" type="application/json">` misses every page.
20
+ * Matching up to the first `>` is what makes it robust to attribute drift.
21
+ */
22
+ export declare function parseNextData(html: string): Record<string, unknown> | null;
23
+ interface IntercomBlock {
24
+ type?: string;
25
+ text?: string;
26
+ items?: IntercomBlock[];
27
+ content?: IntercomBlock[];
28
+ summary?: string;
29
+ url?: string;
30
+ style?: string;
31
+ }
32
+ /**
33
+ * Render one Intercom block.
34
+ *
35
+ * Ten types occur across the live corpus, not the four the integration notes
36
+ * listed. `callout` and `collapsibleSection` nest their body under `content`
37
+ * rather than `text`, and `subheading`, `unorderedNestedList`,
38
+ * `collapsibleSection`, `image`, `code` and `horizontalRule` would all be
39
+ * dropped by a renderer that only knew the four — silently, since a missing
40
+ * block leaves no trace in the output.
41
+ */
42
+ export declare function renderBlock(block: IntercomBlock, depth?: number): string;
43
+ export declare function renderBlocks(blocks: IntercomBlock[], depth?: number): string;
44
+ export interface IntercomArticle {
45
+ title: string;
46
+ content: string;
47
+ description?: string;
48
+ lastUpdated?: string;
49
+ breadcrumb: string[];
50
+ }
51
+ /**
52
+ * Parse one Help Center article page.
53
+ *
54
+ * `articleContent.markdown` exists on every article and is `null` on every
55
+ * one measured — the body is in `blocks`. Reading the field that is named
56
+ * for what you want is the trap here.
57
+ */
58
+ export declare function parseIntercomArticle(html: string): IntercomArticle | null;
59
+ export interface IntercomCollection {
60
+ id: string;
61
+ slug: string;
62
+ name: string;
63
+ description: string;
64
+ url: string;
65
+ articleCount: number;
66
+ }
67
+ /** The Help Center's top-level collections for one locale. */
68
+ export declare function listIntercomCollections(ctx: ServerContext, source: StaticDocSource, locale: string): Promise<IntercomCollection[]>;
69
+ /**
70
+ * The article tree of one collection.
71
+ *
72
+ * A collection page's `__NEXT_DATA__` carries the whole subtree —
73
+ * subcollections and every article summary — so one request answers what
74
+ * crawling 356 article pages would.
75
+ */
76
+ export declare function fetchIntercomCollectionToc(ctx: ServerContext, source: StaticDocSource, collection: IntercomCollection): Promise<TocEntry[]>;
77
+ /**
78
+ * A `FetchTocResult` for one Intercom collection.
79
+ *
80
+ * Pagination and truncation match the other TOC paths, so a caller cannot
81
+ * tell from the response shape which kind of source answered.
82
+ */
83
+ export declare function fetchIntercomToc(ctx: ServerContext, source: StaticDocSource, collection: IntercomCollection, options?: FetchTocOptions): Promise<FetchTocResult>;
84
+ export {};
85
+ //# sourceMappingURL=intercom-service.d.ts.map
@@ -0,0 +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;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA+ED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,SAAI,GAAG,MAAM,CAuBnE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,KAAK,SAAI,GAAG,MAAM,CAEvE;AAID,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAqBzE;AAID,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;CACtB;AAqBD,8DAA8D;AAC9D,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAwB/B;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,kBAAkB,GAC7B,OAAO,CAAC,QAAQ,EAAE,CAAC,CAiCrB;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,kBAAkB,EAC9B,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,cAAc,CAAC,CAgCzB"}
@@ -0,0 +1,312 @@
1
+ /**
2
+ * Reading an Intercom Help Center.
3
+ *
4
+ * support.jamf.com is a Next.js app whose every page embeds its own data as
5
+ * JSON in `<script id="__NEXT_DATA__">`. That is the source of truth: the
6
+ * rendered DOM is a view of it, and parsing the JSON avoids guessing at
7
+ * class names that change with any theme update.
8
+ *
9
+ * The content model is a block list, not HTML, so it is rendered to Markdown
10
+ * here rather than going through `content-parser`.
11
+ */
12
+ import * as cheerio from 'cheerio';
13
+ import { httpGetText } from '../http-client.js';
14
+ import { cacheKey } from './cache-key.js';
15
+ import { PAGINATION_CONFIG, TOKEN_CONFIG } from '../constants.js';
16
+ import { calculatePagination, truncateListByTokens, buildPaginationNote, } from './tokenizer.js';
17
+ // ─── __NEXT_DATA__ ──────────────────────────────────────────────
18
+ /**
19
+ * Pull the embedded page data out of an Intercom Help Center page.
20
+ *
21
+ * The opening tag carries a `nonce` attribute, so a regex anchored on
22
+ * `<script id="__NEXT_DATA__" type="application/json">` misses every page.
23
+ * Matching up to the first `>` is what makes it robust to attribute drift.
24
+ */
25
+ export function parseNextData(html) {
26
+ const match = /<script id="__NEXT_DATA__"[^>]*>([\s\S]*?)<\/script>/.exec(html);
27
+ if (match?.[1] === undefined) {
28
+ return null;
29
+ }
30
+ try {
31
+ return JSON.parse(match[1]);
32
+ }
33
+ catch {
34
+ return null;
35
+ }
36
+ }
37
+ /** `props.pageProps`, or null when the page is not shaped like one. */
38
+ function pageProps(html) {
39
+ const data = parseNextData(html);
40
+ const props = data?.props?.pageProps;
41
+ return typeof props === 'object' && props !== null
42
+ ? props
43
+ : null;
44
+ }
45
+ /**
46
+ * A JSON value read back as a string, or the fallback.
47
+ *
48
+ * `String(value)` on an `unknown` renders an object as "[object Object]" and
49
+ * puts it straight into a title. These payloads come off the wire, so the
50
+ * narrowing has to happen at the boundary rather than being asserted.
51
+ */
52
+ function asString(value, fallback = '') {
53
+ if (typeof value === 'string') {
54
+ return value;
55
+ }
56
+ if (typeof value === 'number') {
57
+ return String(value);
58
+ }
59
+ return fallback;
60
+ }
61
+ /** Inline HTML inside a block's `text`, flattened to Markdown-safe text. */
62
+ function inlineText(html) {
63
+ const $ = cheerio.load(`<div>${html}</div>`);
64
+ $('a[href]').each((_, el) => {
65
+ const href = $(el).attr('href') ?? '';
66
+ const label = $(el).text();
67
+ if (href !== '' && label !== '') {
68
+ $(el).replaceWith(`[${label}](${href})`);
69
+ }
70
+ });
71
+ $('code').each((_, el) => { $(el).replaceWith(`\`${$(el).text()}\``); });
72
+ $('strong, b').each((_, el) => { $(el).replaceWith(`**${$(el).text()}**`); });
73
+ $('em, i').each((_, el) => { $(el).replaceWith(`*${$(el).text()}*`); });
74
+ return $('div').text().replace(/\s+/g, ' ').trim();
75
+ }
76
+ /**
77
+ * Render a nested list.
78
+ *
79
+ * A list item carries its text as a `content` block array — usually a single
80
+ * `paragraph` — not as `text`. The block's own `text` is a pre-rendered
81
+ * string of the whole list ("1. …\n2. …"), which is why reading `item.text`
82
+ * produces empty bullets rather than an obvious error: every item has the
83
+ * field, and it is undefined on all of them.
84
+ *
85
+ * Nested lists arrive as further list blocks inside that same `content`, so
86
+ * they are rendered by recursing through {@link renderBlocks} with the depth
87
+ * carried in the indent.
88
+ */
89
+ function renderList(items, ordered, depth) {
90
+ const indent = ' '.repeat(depth);
91
+ return items
92
+ .map((item, index) => {
93
+ const bullet = ordered ? `${String(index + 1)}.` : '-';
94
+ const body = item.content !== undefined && item.content.length > 0
95
+ ? renderBlocks(item.content, depth + 1).trim()
96
+ : inlineText(item.text ?? '');
97
+ if (body === '') {
98
+ return '';
99
+ }
100
+ const [first = '', ...rest] = body.split('\n');
101
+ const continuation = rest.map(line => `${indent} ${line}`).join('\n');
102
+ return `${indent}${bullet} ${first}\n${continuation === '' ? '' : `${continuation}\n`}`;
103
+ })
104
+ .join('');
105
+ }
106
+ /**
107
+ * The blocks that map to one Markdown construct each.
108
+ *
109
+ * Split from {@link renderBlock} so the two nesting types — `callout` and
110
+ * `collapsibleSection`, which recurse — stay legible next to each other
111
+ * rather than at the bottom of one long switch. Returns null for anything it
112
+ * does not handle.
113
+ */
114
+ function renderSimpleBlock(block, depth) {
115
+ switch (block.type) {
116
+ case 'heading':
117
+ return `## ${inlineText(block.text ?? '')}\n\n`;
118
+ case 'subheading':
119
+ return `### ${inlineText(block.text ?? '')}\n\n`;
120
+ case 'paragraph': {
121
+ const text = inlineText(block.text ?? '');
122
+ return text === '' ? '' : `${text}\n\n`;
123
+ }
124
+ case 'orderedNestedList':
125
+ return `${renderList(block.items ?? [], true, depth)}\n`;
126
+ case 'unorderedNestedList':
127
+ return `${renderList(block.items ?? [], false, depth)}\n`;
128
+ case 'code':
129
+ return `\`\`\`\n${block.text ?? ''}\n\`\`\`\n\n`;
130
+ case 'horizontalRule':
131
+ return '---\n\n';
132
+ case 'image':
133
+ return block.url !== undefined ? `![](${block.url})\n\n` : '';
134
+ case undefined:
135
+ default:
136
+ return null;
137
+ }
138
+ }
139
+ /**
140
+ * Render one Intercom block.
141
+ *
142
+ * Ten types occur across the live corpus, not the four the integration notes
143
+ * listed. `callout` and `collapsibleSection` nest their body under `content`
144
+ * rather than `text`, and `subheading`, `unorderedNestedList`,
145
+ * `collapsibleSection`, `image`, `code` and `horizontalRule` would all be
146
+ * dropped by a renderer that only knew the four — silently, since a missing
147
+ * block leaves no trace in the output.
148
+ */
149
+ export function renderBlock(block, depth = 0) {
150
+ const simple = renderSimpleBlock(block, depth);
151
+ if (simple !== null) {
152
+ return simple;
153
+ }
154
+ switch (block.type) {
155
+ case 'callout':
156
+ // Rendered as a blockquote: a callout is emphasis, and losing it would
157
+ // turn "do not do this" into an ordinary sentence.
158
+ return `${renderBlocks(block.content ?? [])
159
+ .trimEnd()
160
+ .split('\n')
161
+ .map(line => `> ${line}`)
162
+ .join('\n')}\n\n`;
163
+ case 'collapsibleSection':
164
+ return `**${inlineText(block.summary ?? '')}**\n\n${renderBlocks(block.content ?? [])}`;
165
+ case undefined:
166
+ default:
167
+ // Unknown type: keep whatever text it has rather than dropping the
168
+ // block. Intercom adds types over time and silence is the worse
169
+ // failure — a reader cannot tell a missing paragraph from one that was
170
+ // never written.
171
+ return block.text !== undefined ? `${inlineText(block.text)}\n\n` : '';
172
+ }
173
+ }
174
+ export function renderBlocks(blocks, depth = 0) {
175
+ return blocks.map(block => renderBlock(block, depth)).join('');
176
+ }
177
+ /**
178
+ * Parse one Help Center article page.
179
+ *
180
+ * `articleContent.markdown` exists on every article and is `null` on every
181
+ * one measured — the body is in `blocks`. Reading the field that is named
182
+ * for what you want is the trap here.
183
+ */
184
+ export function parseIntercomArticle(html) {
185
+ const props = pageProps(html);
186
+ const article = props?.articleContent;
187
+ if (article === undefined) {
188
+ return null;
189
+ }
190
+ const blocks = (article.blocks ?? []);
191
+ // `breadcrumbs` is a sibling of `articleContent` under pageProps, not a key
192
+ // of it.
193
+ const crumbs = (props?.breadcrumbs ?? []);
194
+ return {
195
+ title: asString(article.title, 'Untitled'),
196
+ content: renderBlocks(blocks).trim(),
197
+ ...(typeof article.description === 'string' && article.description !== ''
198
+ ? { description: article.description } : {}),
199
+ ...(typeof article.lastUpdatedDate === 'string'
200
+ ? { lastUpdated: article.lastUpdatedDate.slice(0, 10) } : {}),
201
+ breadcrumb: crumbs
202
+ .map(crumb => crumb.label ?? crumb.name ?? '')
203
+ .filter(label => label !== ''),
204
+ };
205
+ }
206
+ function slugFromUrl(url) {
207
+ const last = url.replace(/\/$/, '').split('/').pop() ?? '';
208
+ // `/collections/12369024-jamf-pro` → `jamf-pro`. The numeric id is
209
+ // Intercom's and changes if a collection is recreated; the slug is what a
210
+ // reader recognises, so it is what publication ids are built from.
211
+ return last.replace(/^\d+-/, '');
212
+ }
213
+ /** The Help Center's top-level collections for one locale. */
214
+ export async function listIntercomCollections(ctx, source, locale) {
215
+ const key = cacheKey('intercom-collections', { source: source.id, locale });
216
+ const cached = await ctx.cache.get(key);
217
+ if (cached !== null) {
218
+ return cached;
219
+ }
220
+ const html = await httpGetText(`${source.baseUrl}/${locale}/`);
221
+ const props = pageProps(html);
222
+ const home = props?.home;
223
+ const collections = (home?.collections ?? []).map((collection) => {
224
+ const url = asString(collection.url);
225
+ return {
226
+ id: asString(collection.id),
227
+ slug: typeof collection.slug === 'string' && collection.slug !== ''
228
+ ? collection.slug
229
+ : slugFromUrl(url),
230
+ name: asString(collection.name),
231
+ description: asString(collection.description),
232
+ url,
233
+ articleCount: typeof collection.articleCount === 'number' ? collection.articleCount : 0,
234
+ };
235
+ });
236
+ await ctx.cache.set(key, collections, ctx.config.cacheTtl.products);
237
+ return collections;
238
+ }
239
+ /**
240
+ * The article tree of one collection.
241
+ *
242
+ * A collection page's `__NEXT_DATA__` carries the whole subtree —
243
+ * subcollections and every article summary — so one request answers what
244
+ * crawling 356 article pages would.
245
+ */
246
+ export async function fetchIntercomCollectionToc(ctx, source, collection) {
247
+ const key = cacheKey('intercom-collection-toc', { source: source.id, collection: collection.id });
248
+ const cached = await ctx.cache.get(key);
249
+ if (cached !== null) {
250
+ return cached;
251
+ }
252
+ const html = await httpGetText(collection.url);
253
+ const props = pageProps(html);
254
+ const raw = props?.collection;
255
+ const toEntries = (summaries) => (summaries ?? []).map(summary => ({
256
+ title: asString(summary.title, 'Untitled'),
257
+ url: asString(summary.url),
258
+ }));
259
+ const entries = [
260
+ // Articles that sit directly in the collection come first: they are the
261
+ // ones with no subcollection to file them under, and dropping them is
262
+ // the easy mistake — Jamf Pro has 11 of them beside 24 subcollections.
263
+ ...toEntries(raw?.articleSummaries),
264
+ ...(raw?.subcollections ?? []).map((sub) => {
265
+ const children = toEntries(sub.articleSummaries);
266
+ const entry = {
267
+ title: asString(sub.name, 'Untitled'),
268
+ url: asString(sub.url),
269
+ };
270
+ if (children.length > 0) {
271
+ entry.children = children;
272
+ }
273
+ return entry;
274
+ }),
275
+ ];
276
+ await ctx.cache.set(key, entries, ctx.config.cacheTtl.products);
277
+ return entries;
278
+ }
279
+ /**
280
+ * A `FetchTocResult` for one Intercom collection.
281
+ *
282
+ * Pagination and truncation match the other TOC paths, so a caller cannot
283
+ * tell from the response shape which kind of source answered.
284
+ */
285
+ export async function fetchIntercomToc(ctx, source, collection, options = {}) {
286
+ const page = options.page ?? PAGINATION_CONFIG.DEFAULT_PAGE;
287
+ const maxTokens = options.maxTokens ?? TOKEN_CONFIG.DEFAULT_MAX_TOKENS;
288
+ const allToc = await fetchIntercomCollectionToc(ctx, source, collection);
289
+ const count = (entries) => entries.reduce((total, entry) => total + 1 + (entry.children !== undefined ? count(entry.children) : 0), 0);
290
+ const serialise = (entry, depth = 0) => {
291
+ const indent = ' '.repeat(depth);
292
+ const children = entry.children?.map(child => serialise(child, depth + 1)).join('') ?? '';
293
+ return `${indent}- ${entry.title}\n${children}`;
294
+ };
295
+ const calc = calculatePagination(allToc.length, page, PAGINATION_CONFIG.DEFAULT_PAGE_SIZE);
296
+ const { items, tokenCount, truncated } = truncateListByTokens(allToc.slice(calc.startIndex, calc.endIndex), maxTokens, serialise);
297
+ const paginationNote = buildPaginationNote(calc);
298
+ return {
299
+ toc: items,
300
+ pagination: {
301
+ page: calc.page,
302
+ pageSize: calc.pageSize,
303
+ totalPages: calc.totalPages,
304
+ totalItems: count(allToc),
305
+ hasNext: calc.hasNext,
306
+ hasPrev: calc.hasPrev,
307
+ },
308
+ tokenInfo: { tokenCount, truncated, maxTokens },
309
+ ...(paginationNote !== undefined ? { paginationNote } : {}),
310
+ };
311
+ }
312
+ //# sourceMappingURL=intercom-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intercom-service.js","sourceRoot":"","sources":["../../../src/core/services/intercom-service.ts"],"names":[],"mappings":"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"}
@@ -1 +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"}
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;AAEzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAa3E;;;;;;;;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"}
@@ -14,6 +14,8 @@ import { buildArticleView } from './article-view.js';
14
14
  import { extractSections } from './tokenizer.js';
15
15
  import { cacheKey } from './cache-key.js';
16
16
  import { TOKEN_CONFIG } from '../constants.js';
17
+ import { JamfDocsError, JamfDocsErrorCode } from '../types.js';
18
+ import { parseIntercomArticle } from './intercom-service.js';
17
19
  /**
18
20
  * Canonicalise a URL for a static site.
19
21
  *
@@ -77,6 +79,28 @@ export async function fetchStaticArticle(ctx, source, url, options = {}) {
77
79
  let cached = await ctx.cache.get(key);
78
80
  if (cached === null) {
79
81
  const html = await httpGetText(displayUrl);
82
+ // An Intercom Help Center's body is a block list in `__NEXT_DATA__`, not
83
+ // markup — no selector set can read it, so the parser is chosen per
84
+ // source rather than per page.
85
+ if (source.parser === 'intercom') {
86
+ const article = parseIntercomArticle(html);
87
+ if (article === null) {
88
+ throw new JamfDocsError(`Could not read a ${source.name} article at ${displayUrl}`, JamfDocsErrorCode.PARSE_ERROR);
89
+ }
90
+ cached = {
91
+ title: article.title,
92
+ parsed: {
93
+ title: article.title,
94
+ content: article.content,
95
+ breadcrumb: article.breadcrumb,
96
+ relatedArticles: [],
97
+ },
98
+ displayUrl,
99
+ ...(article.lastUpdated !== undefined ? { lastUpdated: article.lastUpdated } : {}),
100
+ };
101
+ await ctx.cache.set(key, cached, ctx.config.cacheTtl.article);
102
+ return renderStaticArticle(cached, source, options, maxTokens);
103
+ }
80
104
  const documentTitle = extractDocumentTitle(html);
81
105
  const parsed = parseArticle(html, displayUrl, {
82
106
  // The source's own markup rules. Parsing a static page with Fluid
@@ -98,6 +122,10 @@ export async function fetchStaticArticle(ctx, source, url, options = {}) {
98
122
  cached = { title, parsed, displayUrl };
99
123
  await ctx.cache.set(key, cached, ctx.config.cacheTtl.article);
100
124
  }
125
+ return renderStaticArticle(cached, source, options, maxTokens);
126
+ }
127
+ /** Assemble the response from a parsed page, whichever parser produced it. */
128
+ function renderStaticArticle(cached, source, options, maxTokens) {
101
129
  const { title, parsed } = cached;
102
130
  // Provenance is part of the content, not metadata: it has to survive
103
131
  // section extraction and truncation, both of which slice `content`, and a
@@ -111,6 +139,7 @@ export async function fetchStaticArticle(ctx, source, url, options = {}) {
111
139
  title,
112
140
  url: cached.displayUrl,
113
141
  product: source.name,
142
+ ...(cached.lastUpdated !== undefined ? { lastUpdated: cached.lastUpdated } : {}),
114
143
  breadcrumb: parsed.breadcrumb.length > 0 ? parsed.breadcrumb : undefined,
115
144
  relatedArticles: options.includeRelated === true && parsed.relatedArticles.length > 0
116
145
  ? parsed.relatedArticles
@@ -1 +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
+ {"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":"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;AAobzD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,GAAG,IAAI,CAuJ9E"}
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;AA8gBzD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,GAAG,IAAI,CA4I9E"}
@@ -9,7 +9,8 @@ import { TocOutputSchema } from '../schemas/output.js';
9
9
  import { ResponseFormat, OutputMode, JAMF_PRODUCTS, PRODUCT_ID_LIST, TOKEN_CONFIG, PAGINATION_CONFIG, DEFAULT_LOCALE } from '../constants.js';
10
10
  import { fetchTableOfContents } from '../services/toc-service.js';
11
11
  import { fetchStaticToc } from '../services/sitemap-service.js';
12
- import { staticSectionById, } from '../constants/sources.js';
12
+ import { staticSectionById, dynamicSectionId, DYNAMIC_SECTION_SOURCES, } from '../constants/sources.js';
13
+ import { listIntercomCollections, fetchIntercomToc, } from '../services/intercom-service.js';
13
14
  import { getAvailableVersions } from '../services/metadata.js';
14
15
  import { sanitizeMarkdownText, sanitizeMarkdownUrl, getSafeErrorMessage } from '../utils/sanitize.js';
15
16
  /**
@@ -258,6 +259,50 @@ function renderTocNotices(notices) {
258
259
  }
259
260
  return rendered;
260
261
  }
262
+ /**
263
+ * Resolve a publication id that names a runtime-discovered section.
264
+ *
265
+ * An Intercom Help Center's collections are content, not configuration —
266
+ * pinning their ids in the registry would mean a code change whenever Jamf
267
+ * adds one — so they are looked up. Tried before the Fluid Topics registry
268
+ * for the same reason the declared static sections are: that registry would
269
+ * report them unknown and suggest a bundle family instead.
270
+ *
271
+ * Returns null when the id names no dynamic source, so the caller falls
272
+ * through to the Fluid Topics path.
273
+ */
274
+ async function resolveDynamicSection(ctx, publication, locale) {
275
+ for (const source of DYNAMIC_SECTION_SOURCES) {
276
+ const prefix = source.dynamicSections?.idPrefix ?? source.id;
277
+ if (!publication.startsWith(`${prefix}-`)) {
278
+ continue;
279
+ }
280
+ const sourceLocale = source.locales[locale];
281
+ if (sourceLocale === undefined) {
282
+ return {
283
+ error: `${source.name} does not publish in ${locale}. ` +
284
+ `Available: ${Object.keys(source.locales).join(', ')}.`,
285
+ };
286
+ }
287
+ const collections = await listIntercomCollections(ctx, source, sourceLocale);
288
+ const match = collections.find(c => dynamicSectionId(source, c.slug) === publication);
289
+ if (match === undefined) {
290
+ const available = collections.map(c => `- \`${dynamicSectionId(source, c.slug)}\``);
291
+ return {
292
+ error: available.length > 0
293
+ ? `Unknown ${source.name} collection: "${publication}".\n\nAvailable in ${locale}:\n${available.join('\n')}`
294
+ : `Unknown ${source.name} collection: "${publication}".\n\n${source.name} publishes nothing in ${locale}.`,
295
+ };
296
+ }
297
+ return {
298
+ source: publication,
299
+ sourceLabel: `${source.name}: ${match.name}`,
300
+ availableVersions: [],
301
+ intercomCollection: { source, collection: match, sourceLocale },
302
+ };
303
+ }
304
+ return null;
305
+ }
261
306
  /**
262
307
  * Turn `product` / `publication` into one addressable source, or say why not.
263
308
  *
@@ -313,6 +358,10 @@ async function resolveTocSource(ctx, params, version) {
313
358
  staticSection: { ...staticRow, sourceLocale },
314
359
  };
315
360
  }
361
+ const dynamic = await resolveDynamicSection(ctx, publication, params.language ?? DEFAULT_LOCALE);
362
+ if (dynamic !== null) {
363
+ return dynamic;
364
+ }
316
365
  // Not an enum: there are 97 families and the set is upstream's to change,
317
366
  // so the check is a registry lookup and a miss carries suggestions rather
318
367
  // than a wall of every id.
@@ -335,6 +384,24 @@ async function resolveTocSource(ctx, params, version) {
335
384
  availableVersions: await ctx.mapsRegistry.getVersions(publication),
336
385
  };
337
386
  }
387
+ /**
388
+ * Fetch the TOC from whichever kind of source the request resolved to.
389
+ *
390
+ * Three shapes of upstream — a Fluid Topics map, a sitemap tree, an Intercom
391
+ * collection — behind one return type, so nothing downstream has to know
392
+ * which answered. Each path applies the same pagination and truncation.
393
+ */
394
+ async function fetchTocFor(ctx, resolved, version, options) {
395
+ if (resolved.intercomCollection !== undefined) {
396
+ const { source, collection } = resolved.intercomCollection;
397
+ return await fetchIntercomToc(ctx, source, collection, options);
398
+ }
399
+ if (resolved.staticSection !== undefined) {
400
+ const { source, section, sourceLocale } = resolved.staticSection;
401
+ return await fetchStaticToc(ctx, source, section, sourceLocale, options);
402
+ }
403
+ return await fetchTableOfContents(ctx, resolved.source, version, options);
404
+ }
338
405
  export function registerGetTocTool(server, ctx) {
339
406
  server.registerTool(TOOL_NAME, {
340
407
  title: 'Get Documentation Table of Contents',
@@ -366,7 +433,7 @@ export function registerGetTocTool(server, ctx) {
366
433
  if ('error' in resolved) {
367
434
  return { isError: true, content: [{ type: 'text', text: resolved.error }] };
368
435
  }
369
- const { source, sourceLabel, availableVersions } = resolved;
436
+ const { sourceLabel, availableVersions } = resolved;
370
437
  // Validate version if specified
371
438
  if (params.version !== undefined && params.version !== '' && params.version !== 'current') {
372
439
  if (availableVersions.length > 0 && !availableVersions.includes(params.version)) {
@@ -385,12 +452,7 @@ export function registerGetTocTool(server, ctx) {
385
452
  maxTokens: params.maxTokens ?? TOKEN_CONFIG.DEFAULT_MAX_TOKENS,
386
453
  locale: params.language,
387
454
  };
388
- // A static source has no map and no TOC endpoint; its tree comes from
389
- // the sitemap. Pagination and truncation are shared so both kinds of
390
- // TOC behave the same once the entries exist.
391
- const tocResult = resolved.staticSection !== undefined
392
- ? await fetchStaticToc(ctx, resolved.staticSection.source, resolved.staticSection.section, resolved.staticSection.sourceLocale, tocOptions)
393
- : await fetchTableOfContents(ctx, source, version, tocOptions);
455
+ const tocResult = await fetchTocFor(ctx, resolved, version, tocOptions);
394
456
  await reportProgress(extra, { progress: 1, total: 4, message: 'Processing entries...' });
395
457
  const { toc, pagination, tokenInfo, paginationNote, mapId, resolvedLocale } = tocResult;
396
458
  // Build response
@@ -1 +1 @@
1
- {"version":3,"file":"get-toc.js","sourceRoot":"","sources":["../../../src/core/tools/get-toc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-toc.js","sourceRoot":"","sources":["../../../src/core/tools/get-toc.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list-products.d.ts","sourceRoot":"","sources":["../../../src/core/tools/list-products.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAwKzD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,GAAG,IAAI,CAqLpF"}
1
+ {"version":3,"file":"list-products.d.ts","sourceRoot":"","sources":["../../../src/core/tools/list-products.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAmMzD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,GAAG,IAAI,CAqLpF"}
@@ -4,10 +4,11 @@
4
4
  */
5
5
  import { ListProductsInputSchema } from '../schemas/index.js';
6
6
  import { ProductListOutputSchema } from '../schemas/output.js';
7
- import { JAMF_TOPICS, DOC_TYPES, ResponseFormat, OutputMode, TOKEN_CONFIG } from '../constants.js';
7
+ import { JAMF_TOPICS, DOC_TYPES, ResponseFormat, OutputMode, TOKEN_CONFIG, DEFAULT_LOCALE } from '../constants.js';
8
8
  import { estimateTokens, createTokenInfo, truncateToTokenLimit } from '../services/tokenizer.js';
9
9
  import { getProductAvailability, getProductsMetadata } from '../services/metadata.js';
10
- import { STATIC_SECTIONS } from '../constants/sources.js';
10
+ import { STATIC_SECTIONS, DYNAMIC_SECTION_SOURCES, dynamicSectionId, } from '../constants/sources.js';
11
+ import { listIntercomCollections } from '../services/intercom-service.js';
11
12
  import { getSafeErrorMessage } from '../utils/sanitize.js';
12
13
  import { reportProgress } from '../utils/progress.js';
13
14
  const TOOL_NAME = 'jamf_docs_list_products';
@@ -71,6 +72,28 @@ async function listPublicationsQuietly(ctx) {
71
72
  locales: Object.keys(source.locales).sort(),
72
73
  versions: [],
73
74
  }));
75
+ // Sources whose sections come from the source itself. Best-effort per
76
+ // source: an unreachable Help Center costs its own rows, not the list.
77
+ for (const source of DYNAMIC_SECTION_SOURCES) {
78
+ const locale = source.locales[DEFAULT_LOCALE];
79
+ if (locale === undefined) {
80
+ continue;
81
+ }
82
+ try {
83
+ for (const collection of await listIntercomCollections(ctx, source, locale)) {
84
+ staticRows.push({
85
+ id: dynamicSectionId(source, collection.slug),
86
+ title: `${source.name}: ${collection.name}`,
87
+ portal: source.name,
88
+ locales: Object.keys(source.locales).sort(),
89
+ versions: [],
90
+ });
91
+ }
92
+ }
93
+ catch (error) {
94
+ ctx.logger.createLogger('list-products').warning(`Could not list ${source.name} collections: ${String(error)}`);
95
+ }
96
+ }
74
97
  try {
75
98
  const pubs = await ctx.mapsRegistry.listPublications();
76
99
  return [...staticRows, ...pubs.map(pub => ({
@@ -1 +1 @@
1
- {"version":3,"file":"list-products.js","sourceRoot":"","sources":["../../../src/core/tools/list-products.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-products.js","sourceRoot":"","sources":["../../../src/core/tools/list-products.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@get-technology-inc/jamf-docs-mcp-server",
3
- "version": "5.7.0",
3
+ "version": "5.8.0",
4
4
  "description": "MCP Server for accessing Jamf Documentation (learn.jamf.com)",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",