@get-technology-inc/jamf-docs-mcp-server 3.0.6 → 3.0.8

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.
Files changed (190) hide show
  1. package/README.md +37 -2
  2. package/dist/core/constants/doc-types.d.ts +48 -0
  3. package/dist/core/constants/doc-types.d.ts.map +1 -0
  4. package/dist/core/constants/doc-types.js +58 -0
  5. package/dist/core/constants/doc-types.js.map +1 -0
  6. package/dist/core/constants/index.d.ts +16 -0
  7. package/dist/core/constants/index.d.ts.map +1 -0
  8. package/dist/core/constants/index.js +12 -0
  9. package/dist/core/constants/index.js.map +1 -0
  10. package/dist/core/constants/limits.d.ts +39 -0
  11. package/dist/core/constants/limits.d.ts.map +1 -0
  12. package/dist/core/constants/limits.js +51 -0
  13. package/dist/core/constants/limits.js.map +1 -0
  14. package/dist/core/constants/locales.d.ts +34 -0
  15. package/dist/core/constants/locales.d.ts.map +1 -0
  16. package/dist/core/constants/locales.js +20 -0
  17. package/dist/core/constants/locales.js.map +1 -0
  18. package/dist/core/constants/products.d.ts +127 -0
  19. package/dist/core/constants/products.d.ts.map +1 -0
  20. package/dist/core/constants/products.js +135 -0
  21. package/dist/core/constants/products.js.map +1 -0
  22. package/dist/core/constants/topics.d.ts +168 -0
  23. package/dist/core/constants/topics.d.ts.map +1 -0
  24. package/dist/core/constants/topics.js +186 -0
  25. package/dist/core/constants/topics.js.map +1 -0
  26. package/dist/core/constants.d.ts +7 -404
  27. package/dist/core/constants.d.ts.map +1 -1
  28. package/dist/core/constants.js +16 -427
  29. package/dist/core/constants.js.map +1 -1
  30. package/dist/core/http-client.d.ts +14 -2
  31. package/dist/core/http-client.d.ts.map +1 -1
  32. package/dist/core/http-client.js +148 -17
  33. package/dist/core/http-client.js.map +1 -1
  34. package/dist/core/index.d.ts +12 -12
  35. package/dist/core/index.d.ts.map +1 -1
  36. package/dist/core/index.js +12 -13
  37. package/dist/core/index.js.map +1 -1
  38. package/dist/core/resources/index.js +1 -1
  39. package/dist/core/resources/index.js.map +1 -1
  40. package/dist/core/schemas/index.d.ts +3 -1
  41. package/dist/core/schemas/index.d.ts.map +1 -1
  42. package/dist/core/schemas/index.js +13 -3
  43. package/dist/core/schemas/index.js.map +1 -1
  44. package/dist/core/schemas/output.d.ts +7 -0
  45. package/dist/core/schemas/output.d.ts.map +1 -1
  46. package/dist/core/schemas/output.js +7 -0
  47. package/dist/core/schemas/output.js.map +1 -1
  48. package/dist/core/services/article-service.d.ts +24 -0
  49. package/dist/core/services/article-service.d.ts.map +1 -0
  50. package/dist/core/services/article-service.js +140 -0
  51. package/dist/core/services/article-service.js.map +1 -0
  52. package/dist/core/services/content-parser.d.ts +38 -0
  53. package/dist/core/services/content-parser.d.ts.map +1 -0
  54. package/dist/core/services/content-parser.js +148 -0
  55. package/dist/core/services/content-parser.js.map +1 -0
  56. package/dist/core/services/ft-client.d.ts +52 -0
  57. package/dist/core/services/ft-client.d.ts.map +1 -0
  58. package/dist/core/services/ft-client.js +87 -0
  59. package/dist/core/services/ft-client.js.map +1 -0
  60. package/dist/core/services/glossary.d.ts +9 -5
  61. package/dist/core/services/glossary.d.ts.map +1 -1
  62. package/dist/core/services/glossary.js +175 -108
  63. package/dist/core/services/glossary.js.map +1 -1
  64. package/dist/core/services/interfaces/cache.d.ts +6 -6
  65. package/dist/core/services/interfaces/cache.d.ts.map +1 -1
  66. package/dist/core/services/interfaces/index.d.ts +3 -3
  67. package/dist/core/services/interfaces/index.d.ts.map +1 -1
  68. package/dist/core/services/interfaces/logger.d.ts +17 -10
  69. package/dist/core/services/interfaces/logger.d.ts.map +1 -1
  70. package/dist/core/services/interfaces/metadata.d.ts +0 -10
  71. package/dist/core/services/interfaces/metadata.d.ts.map +1 -1
  72. package/dist/core/services/interfaces/providers.d.ts +23 -10
  73. package/dist/core/services/interfaces/providers.d.ts.map +1 -1
  74. package/dist/core/services/logging.d.ts +38 -18
  75. package/dist/core/services/logging.d.ts.map +1 -1
  76. package/dist/core/services/logging.js +78 -29
  77. package/dist/core/services/logging.js.map +1 -1
  78. package/dist/core/services/maps-registry.d.ts +82 -0
  79. package/dist/core/services/maps-registry.d.ts.map +1 -0
  80. package/dist/core/services/maps-registry.js +232 -0
  81. package/dist/core/services/maps-registry.js.map +1 -0
  82. package/dist/core/services/metadata.d.ts +18 -9
  83. package/dist/core/services/metadata.d.ts.map +1 -1
  84. package/dist/core/services/metadata.js +113 -254
  85. package/dist/core/services/metadata.js.map +1 -1
  86. package/dist/core/services/search-service.d.ts +31 -0
  87. package/dist/core/services/search-service.d.ts.map +1 -0
  88. package/dist/core/services/search-service.js +462 -0
  89. package/dist/core/services/search-service.js.map +1 -0
  90. package/dist/core/services/toc-service.d.ts +30 -0
  91. package/dist/core/services/toc-service.d.ts.map +1 -0
  92. package/dist/core/services/toc-service.js +107 -0
  93. package/dist/core/services/toc-service.js.map +1 -0
  94. package/dist/core/services/tokenizer.d.ts +20 -1
  95. package/dist/core/services/tokenizer.d.ts.map +1 -1
  96. package/dist/core/services/tokenizer.js +32 -4
  97. package/dist/core/services/tokenizer.js.map +1 -1
  98. package/dist/core/services/topic-resolver.d.ts +74 -0
  99. package/dist/core/services/topic-resolver.d.ts.map +1 -0
  100. package/dist/core/services/topic-resolver.js +191 -0
  101. package/dist/core/services/topic-resolver.js.map +1 -0
  102. package/dist/core/tools/batch-get-articles.d.ts +0 -2
  103. package/dist/core/tools/batch-get-articles.d.ts.map +1 -1
  104. package/dist/core/tools/batch-get-articles.js +18 -46
  105. package/dist/core/tools/batch-get-articles.js.map +1 -1
  106. package/dist/core/tools/get-article.d.ts.map +1 -1
  107. package/dist/core/tools/get-article.js +29 -112
  108. package/dist/core/tools/get-article.js.map +1 -1
  109. package/dist/core/tools/get-toc.js +1 -1
  110. package/dist/core/tools/get-toc.js.map +1 -1
  111. package/dist/core/tools/glossary-lookup.d.ts.map +1 -1
  112. package/dist/core/tools/glossary-lookup.js +26 -7
  113. package/dist/core/tools/glossary-lookup.js.map +1 -1
  114. package/dist/core/tools/list-products.d.ts.map +1 -1
  115. package/dist/core/tools/list-products.js +5 -3
  116. package/dist/core/tools/list-products.js.map +1 -1
  117. package/dist/core/tools/search.js +5 -5
  118. package/dist/core/tools/search.js.map +1 -1
  119. package/dist/core/types/context.d.ts +5 -2
  120. package/dist/core/types/context.d.ts.map +1 -1
  121. package/dist/core/types.d.ts +141 -31
  122. package/dist/core/types.d.ts.map +1 -1
  123. package/dist/core/types.js.map +1 -1
  124. package/dist/core/utils/bundle.d.ts +14 -1
  125. package/dist/core/utils/bundle.d.ts.map +1 -1
  126. package/dist/core/utils/bundle.js +19 -2
  127. package/dist/core/utils/bundle.js.map +1 -1
  128. package/dist/core/utils/format-article.d.ts +49 -0
  129. package/dist/core/utils/format-article.d.ts.map +1 -0
  130. package/dist/core/utils/format-article.js +188 -0
  131. package/dist/core/utils/format-article.js.map +1 -0
  132. package/dist/core/utils/ft-metadata.d.ts +22 -0
  133. package/dist/core/utils/ft-metadata.d.ts.map +1 -0
  134. package/dist/core/utils/ft-metadata.js +30 -0
  135. package/dist/core/utils/ft-metadata.js.map +1 -0
  136. package/dist/core/utils/sanitize.d.ts.map +1 -1
  137. package/dist/core/utils/sanitize.js +0 -2
  138. package/dist/core/utils/sanitize.js.map +1 -1
  139. package/dist/core/utils/url.d.ts.map +1 -1
  140. package/dist/core/utils/url.js +0 -1
  141. package/dist/core/utils/url.js.map +1 -1
  142. package/dist/index.js +10 -6
  143. package/dist/index.js.map +1 -1
  144. package/dist/platforms/node/http-server.d.ts +13 -0
  145. package/dist/platforms/node/http-server.d.ts.map +1 -0
  146. package/dist/platforms/node/http-server.js +231 -0
  147. package/dist/platforms/node/http-server.js.map +1 -0
  148. package/dist/platforms/node/index.d.ts +1 -1
  149. package/dist/platforms/node/index.d.ts.map +1 -1
  150. package/dist/platforms/node/index.js +1 -1
  151. package/dist/platforms/node/index.js.map +1 -1
  152. package/dist/platforms/node/logger.d.ts +13 -2
  153. package/dist/platforms/node/logger.d.ts.map +1 -1
  154. package/dist/platforms/node/logger.js +17 -4
  155. package/dist/platforms/node/logger.js.map +1 -1
  156. package/dist/transport/http-handler.d.ts +25 -0
  157. package/dist/transport/http-handler.d.ts.map +1 -0
  158. package/dist/transport/http-handler.js +193 -0
  159. package/dist/transport/http-handler.js.map +1 -0
  160. package/dist/transport/http-types.d.ts +22 -0
  161. package/dist/transport/http-types.d.ts.map +1 -0
  162. package/dist/transport/http-types.js +65 -0
  163. package/dist/transport/http-types.js.map +1 -0
  164. package/dist/transport/http.d.ts +4 -8
  165. package/dist/transport/http.d.ts.map +1 -1
  166. package/dist/transport/http.js +4 -376
  167. package/dist/transport/http.js.map +1 -1
  168. package/dist/transport/index.js +2 -2
  169. package/dist/transport/index.js.map +1 -1
  170. package/dist/transport/rate-limiter.d.ts +16 -0
  171. package/dist/transport/rate-limiter.d.ts.map +1 -0
  172. package/dist/transport/rate-limiter.js +55 -0
  173. package/dist/transport/rate-limiter.js.map +1 -0
  174. package/package.json +3 -3
  175. package/dist/core/services/interfaces.d.ts +0 -94
  176. package/dist/core/services/interfaces.d.ts.map +0 -1
  177. package/dist/core/services/interfaces.js +0 -8
  178. package/dist/core/services/interfaces.js.map +0 -1
  179. package/dist/core/services/scraper.d.ts +0 -90
  180. package/dist/core/services/scraper.d.ts.map +0 -1
  181. package/dist/core/services/scraper.js +0 -990
  182. package/dist/core/services/scraper.js.map +0 -1
  183. package/dist/core/utils/doc-type.d.ts +0 -12
  184. package/dist/core/utils/doc-type.d.ts.map +0 -1
  185. package/dist/core/utils/doc-type.js +0 -24
  186. package/dist/core/utils/doc-type.js.map +0 -1
  187. package/dist/platforms/node/metadata.d.ts +0 -18
  188. package/dist/platforms/node/metadata.d.ts.map +0 -1
  189. package/dist/platforms/node/metadata.js +0 -35
  190. package/dist/platforms/node/metadata.js.map +0 -1
package/README.md CHANGED
@@ -78,6 +78,8 @@ Once configured, just ask your AI assistant:
78
78
  | `jamf_docs_search` | Search documentation by keyword with filtering and pagination |
79
79
  | `jamf_docs_get_article` | Retrieve full content of a specific documentation article |
80
80
  | `jamf_docs_get_toc` | Browse the table of contents for a product |
81
+ | `jamf_docs_batch_get_articles` | Fetch multiple articles in one call (up to 10 URLs) |
82
+ | `jamf_docs_glossary_lookup` | Look up Jamf terminology and definitions (fuzzy matching) |
81
83
 
82
84
  ### jamf_docs_list_products
83
85
 
@@ -85,6 +87,7 @@ Returns all available Jamf products and their IDs, available topic filters, and
85
87
 
86
88
  | Parameter | Type | Default | Description |
87
89
  |-----------|------|---------|-------------|
90
+ | `language` | string | `en-US` | Documentation language/locale |
88
91
  | `outputMode` | `"full"` \| `"compact"` | `"full"` | Detail level of the response |
89
92
  | `responseFormat` | `"markdown"` \| `"json"` | `"markdown"` | Output format |
90
93
  | `maxTokens` | number (100–20000) | `5000` | Maximum tokens in response |
@@ -100,6 +103,7 @@ Searches across all Jamf product documentation.
100
103
  | `topic` | string | — | Filter by topic category (e.g., `enrollment`, `security`) |
101
104
  | `docType` | string | — | Filter by document type: `documentation`, `release-notes`, `install-guide`, `technical-paper`, `configuration-guide`, `training` |
102
105
  | `version` | string | — | Filter by version (e.g., `"11.5.0"`) |
106
+ | `language` | string | `en-US` | Documentation language/locale |
103
107
  | `limit` | number (1–50) | `10` | Results per page |
104
108
  | `page` | number (1–100) | `1` | Page number for pagination |
105
109
  | `maxTokens` | number (100–20000) | `5000` | Maximum tokens in response |
@@ -116,8 +120,9 @@ Fetches and converts a documentation article to clean markdown or JSON.
116
120
  | `section` | string | — | Extract only a named section (e.g., `"Prerequisites"`) |
117
121
  | `summaryOnly` | boolean | `false` | Return only article outline — token-efficient way to preview before fetching full content |
118
122
  | `includeRelated` | boolean | `false` | Include links to related articles |
123
+ | `language` | string | `en-US` | Documentation language/locale |
119
124
  | `maxTokens` | number (100–20000) | `5000` | Maximum tokens in response |
120
- | `outputMode` | `"full"` \| `"compact"` | `"full"` | Detail level |
125
+ | `outputMode` | `"full"` \| `"compact"` | `"full"` | Detail level; `"compact"` shows a ~500-token preview with available sections list |
121
126
  | `responseFormat` | `"markdown"` \| `"json"` | `"markdown"` | Output format |
122
127
 
123
128
  When content exceeds `maxTokens`, the tool truncates the response and lists all available sections with their token counts. Use the `section` parameter on a follow-up call to retrieve a specific part.
@@ -130,11 +135,38 @@ Retrieves the navigation structure (table of contents) for a product.
130
135
  |-----------|------|---------|-------------|
131
136
  | `product` | string | required | Product ID (see supported products below) |
132
137
  | `version` | string | latest | Specific version to fetch |
138
+ | `language` | string | `en-US` | Documentation language/locale |
133
139
  | `page` | number (1–100) | `1` | Page number for paginated TOC |
134
140
  | `maxTokens` | number (100–20000) | `5000` | Maximum tokens in response |
135
141
  | `outputMode` | `"full"` \| `"compact"` | `"full"` | Use `"compact"` for a flat list without nested children |
136
142
  | `responseFormat` | `"markdown"` \| `"json"` | `"markdown"` | Output format |
137
143
 
144
+ ### jamf_docs_batch_get_articles
145
+
146
+ Fetches multiple documentation articles in a single call. Each URL is fetched concurrently, and invalid domains are reported as per-article errors without failing the entire batch.
147
+
148
+ | Parameter | Type | Default | Description |
149
+ |-----------|------|---------|-------------|
150
+ | `urls` | string[] (1–10) | required | Array of Jamf documentation URLs |
151
+ | `concurrency` | number (1–5) | `3` | Maximum parallel requests |
152
+ | `language` | string | `en-US` | Documentation language/locale |
153
+ | `maxTokens` | number (100–20000) | `5000` | Total token budget across all articles |
154
+ | `outputMode` | `"full"` \| `"compact"` | `"full"` | Detail level per article |
155
+ | `responseFormat` | `"markdown"` \| `"json"` | `"markdown"` | Output format |
156
+
157
+ ### jamf_docs_glossary_lookup
158
+
159
+ Looks up a term in the Jamf official glossary and returns matching definitions using fuzzy matching. Glossary content is currently English-only; non-English `language` values are accepted but results will be in English.
160
+
161
+ | Parameter | Type | Default | Description |
162
+ |-----------|------|---------|-------------|
163
+ | `term` | string (2–100 chars) | required | Glossary term to look up |
164
+ | `product` | string | — | Filter by product ID |
165
+ | `language` | string | `en-US` | Documentation language/locale (glossary is English-only) |
166
+ | `maxTokens` | number (100–50000) | `5000` | Maximum tokens in response |
167
+ | `outputMode` | `"full"` \| `"compact"` | `"full"` | Detail level |
168
+ | `responseFormat` | `"markdown"` \| `"json"` | `"markdown"` | Output format |
169
+
138
170
  ## MCP Resources
139
171
 
140
172
  Static and dynamic reference data accessible without tool calls:
@@ -199,9 +231,12 @@ Instructs the AI to compare table-of-contents structures and key articles betwee
199
231
 
200
232
  ## Key Features
201
233
 
202
- - **Compact Mode**: Use `outputMode: "compact"` for token-efficient responses when browsing or listing
234
+ - **Compact Mode**: Use `outputMode: "compact"` for token-efficient responses; articles show a ~500-token preview with an available sections list
203
235
  - **Summary Only**: Use `summaryOnly: true` on `jamf_docs_get_article` to preview an article outline before fetching full content
204
236
  - **Section Extraction**: Use `section: "Prerequisites"` to retrieve only the part of an article you need
237
+ - **Batch Fetching**: Use `jamf_docs_batch_get_articles` to fetch up to 10 articles in one call with concurrent requests
238
+ - **Glossary Lookup**: Use `jamf_docs_glossary_lookup` to look up Jamf terminology with fuzzy matching
239
+ - **Multi-language**: All tools accept a `language` parameter for localized documentation (e.g., `ja-JP`, `de-DE`)
205
240
  - **Document Type Filter**: Use `docType` on `jamf_docs_search` to narrow results to `release-notes`, `install-guide`, `technical-paper`, `configuration-guide`, or `training`
206
241
  - **Version Query**: Use the `version` parameter to query documentation for a specific product version
207
242
  - **Pagination**: Search results support `page` and `limit`; table of contents supports `page`; product lists are not paginated
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Document type constants for filtering search results by content category
3
+ */
4
+ export declare const DOC_TYPES: {
5
+ readonly documentation: {
6
+ readonly name: "Documentation";
7
+ readonly description: "Main product documentation";
8
+ readonly labelKey: "content-techdocs";
9
+ };
10
+ readonly 'release-notes': {
11
+ readonly name: "Release Notes";
12
+ readonly description: "Version release notes and changelogs";
13
+ readonly labelKey: "content-releasenotes";
14
+ };
15
+ readonly training: {
16
+ readonly name: "Training";
17
+ readonly description: "Training materials and video guides";
18
+ readonly labelKey: "content-training";
19
+ };
20
+ readonly 'solution-guide': {
21
+ readonly name: "Solution Guide";
22
+ readonly description: "Solution guides and best practices";
23
+ readonly labelKey: "content-solutionguide";
24
+ };
25
+ readonly glossary: {
26
+ readonly name: "Glossary";
27
+ readonly description: "Technical glossary and terminology";
28
+ readonly labelKey: "content-glossary";
29
+ };
30
+ readonly 'getting-started': {
31
+ readonly name: "Getting Started";
32
+ readonly description: "Getting started guides and quickstart content";
33
+ readonly labelKey: "content-gettingstarted";
34
+ };
35
+ };
36
+ export type DocTypeId = keyof typeof DOC_TYPES;
37
+ export declare const DOC_TYPE_LABEL_MAP: Record<DocTypeId, string>;
38
+ /**
39
+ * Forward mapping: docType -> Fluid Topics `jamf:contentType` metadata value.
40
+ *
41
+ * Note: The FT API uses 'Technical Documentation' for multiple doc types
42
+ * (documentation, training, solution-guide, getting-started), so reverse
43
+ * lookup (contentType -> docType) will always return 'documentation' for
44
+ * these entries. This is a known FT API limitation.
45
+ */
46
+ export declare const DOC_TYPE_CONTENT_TYPE_MAP: Record<string, string>;
47
+ export declare const DOC_TYPE_IDS: [string, ...string[]];
48
+ //# sourceMappingURL=doc-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc-types.d.ts","sourceRoot":"","sources":["../../../src/core/constants/doc-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BZ,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,SAAS,CAAC;AAG/C,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAE3B,CAAC;AAE/B;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAO5D,CAAC;AAGF,eAAO,MAAM,YAAY,EAA6B,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Document type constants for filtering search results by content category
3
+ */
4
+ // Document types for filtering search results by content category
5
+ // Each type maps to a legacy `content-*` label key used by the FT search filter
6
+ export const DOC_TYPES = {
7
+ 'documentation': {
8
+ name: 'Documentation',
9
+ description: 'Main product documentation',
10
+ labelKey: 'content-techdocs',
11
+ },
12
+ 'release-notes': {
13
+ name: 'Release Notes',
14
+ description: 'Version release notes and changelogs',
15
+ labelKey: 'content-releasenotes',
16
+ },
17
+ 'training': {
18
+ name: 'Training',
19
+ description: 'Training materials and video guides',
20
+ labelKey: 'content-training',
21
+ },
22
+ 'solution-guide': {
23
+ name: 'Solution Guide',
24
+ description: 'Solution guides and best practices',
25
+ labelKey: 'content-solutionguide',
26
+ },
27
+ 'glossary': {
28
+ name: 'Glossary',
29
+ description: 'Technical glossary and terminology',
30
+ labelKey: 'content-glossary',
31
+ },
32
+ 'getting-started': {
33
+ name: 'Getting Started',
34
+ description: 'Getting started guides and quickstart content',
35
+ labelKey: 'content-gettingstarted',
36
+ },
37
+ };
38
+ // Forward mapping: docType enum value -> API label key
39
+ export const DOC_TYPE_LABEL_MAP = Object.fromEntries(Object.entries(DOC_TYPES).map(([id, dt]) => [id, dt.labelKey]));
40
+ /**
41
+ * Forward mapping: docType -> Fluid Topics `jamf:contentType` metadata value.
42
+ *
43
+ * Note: The FT API uses 'Technical Documentation' for multiple doc types
44
+ * (documentation, training, solution-guide, getting-started), so reverse
45
+ * lookup (contentType -> docType) will always return 'documentation' for
46
+ * these entries. This is a known FT API limitation.
47
+ */
48
+ export const DOC_TYPE_CONTENT_TYPE_MAP = {
49
+ 'documentation': 'Technical Documentation',
50
+ 'release-notes': 'Release Notes',
51
+ 'glossary': 'Glossary',
52
+ 'training': 'Technical Documentation',
53
+ 'solution-guide': 'Technical Documentation',
54
+ 'getting-started': 'Technical Documentation',
55
+ };
56
+ // Derived ID array (shared by schemas, completions, etc.)
57
+ export const DOC_TYPE_IDS = Object.keys(DOC_TYPES);
58
+ //# sourceMappingURL=doc-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc-types.js","sourceRoot":"","sources":["../../../src/core/constants/doc-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,kEAAkE;AAClE,gFAAgF;AAChF,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,eAAe,EAAE;QACf,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,4BAA4B;QACzC,QAAQ,EAAE,kBAAkB;KAC7B;IACD,eAAe,EAAE;QACf,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,sCAAsC;QACnD,QAAQ,EAAE,sBAAsB;KACjC;IACD,UAAU,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,qCAAqC;QAClD,QAAQ,EAAE,kBAAkB;KAC7B;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,oCAAoC;QACjD,QAAQ,EAAE,uBAAuB;KAClC;IACD,UAAU,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,oCAAoC;QACjD,QAAQ,EAAE,kBAAkB;KAC7B;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,+CAA+C;QAC5D,QAAQ,EAAE,wBAAwB;KACnC;CACO,CAAC;AAIX,uDAAuD;AACvD,MAAM,CAAC,MAAM,kBAAkB,GAA8B,MAAM,CAAC,WAAW,CAC7E,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAClC,CAAC;AAE/B;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAA2B;IAC/D,eAAe,EAAE,yBAAyB;IAC1C,eAAe,EAAE,eAAe;IAChC,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE,yBAAyB;IACrC,gBAAgB,EAAE,yBAAyB;IAC3C,iBAAiB,EAAE,yBAAyB;CAC7C,CAAC;AAEF,0DAA0D;AAC1D,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAA0B,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Constants barrel — re-exports everything for backward compatibility.
3
+ *
4
+ * Consumers can import from '../constants.js' (which resolves to this barrel)
5
+ * or directly from the sub-modules (e.g. '../constants/products.js').
6
+ */
7
+ export { SERVER_ICON, DOCS_BASE_URL, FT_API_BASE, buildDocUrl, buildUrlPattern, JAMF_PRODUCTS, PRODUCT_IDS, } from './products.js';
8
+ export type { ProductId } from './products.js';
9
+ export { DEFAULT_LOCALE, SUPPORTED_LOCALES, SUPPORTED_LOCALE_IDS, toValidLocale, } from './locales.js';
10
+ export type { LocaleId } from './locales.js';
11
+ export { JAMF_TOPICS, TOPIC_IDS, } from './topics.js';
12
+ export type { TopicId } from './topics.js';
13
+ export { DOC_TYPES, DOC_TYPE_LABEL_MAP, DOC_TYPE_CONTENT_TYPE_MAP, DOC_TYPE_IDS, } from './doc-types.js';
14
+ export type { DocTypeId } from './doc-types.js';
15
+ export { ResponseFormat, OutputMode, CONTENT_LIMITS, TOKEN_CONFIG, PAGINATION_CONFIG, SELECTORS, } from './limits.js';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/constants/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACX,eAAe,EACf,aAAa,EACb,WAAW,GACZ,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EACL,WAAW,EACX,SAAS,GACV,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,yBAAyB,EACzB,YAAY,GACb,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EACL,cAAc,EACd,UAAU,EACV,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,SAAS,GACV,MAAM,aAAa,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Constants barrel — re-exports everything for backward compatibility.
3
+ *
4
+ * Consumers can import from '../constants.js' (which resolves to this barrel)
5
+ * or directly from the sub-modules (e.g. '../constants/products.js').
6
+ */
7
+ export { SERVER_ICON, DOCS_BASE_URL, FT_API_BASE, buildDocUrl, buildUrlPattern, JAMF_PRODUCTS, PRODUCT_IDS, } from './products.js';
8
+ export { DEFAULT_LOCALE, SUPPORTED_LOCALES, SUPPORTED_LOCALE_IDS, toValidLocale, } from './locales.js';
9
+ export { JAMF_TOPICS, TOPIC_IDS, } from './topics.js';
10
+ export { DOC_TYPES, DOC_TYPE_LABEL_MAP, DOC_TYPE_CONTENT_TYPE_MAP, DOC_TYPE_IDS, } from './doc-types.js';
11
+ export { ResponseFormat, OutputMode, CONTENT_LIMITS, TOKEN_CONFIG, PAGINATION_CONFIG, SELECTORS, } from './limits.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/constants/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACX,eAAe,EACf,aAAa,EACb,WAAW,GACZ,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,GACd,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,WAAW,EACX,SAAS,GACV,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,yBAAyB,EACzB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,cAAc,EACd,UAAU,EACV,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,SAAS,GACV,MAAM,aAAa,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Operational limits, token config, pagination, response formats, and HTML selectors
3
+ */
4
+ export declare enum ResponseFormat {
5
+ MARKDOWN = "markdown",
6
+ JSON = "json"
7
+ }
8
+ export declare enum OutputMode {
9
+ FULL = "full",
10
+ COMPACT = "compact"
11
+ }
12
+ export declare const CONTENT_LIMITS: {
13
+ readonly MAX_SEARCH_RESULTS: 50;
14
+ readonly DEFAULT_SEARCH_RESULTS: 10;
15
+ readonly FILTER_OVERFETCH_MULTIPLIER: 3;
16
+ readonly FILTER_OVERFETCH_CAP: 150;
17
+ readonly MAX_CONTENT_LENGTH: 100000;
18
+ readonly MAX_SNIPPET_LENGTH: 500;
19
+ };
20
+ export declare const TOKEN_CONFIG: {
21
+ readonly DEFAULT_MAX_TOKENS: 5000;
22
+ readonly MAX_TOKENS_LIMIT: 50000;
23
+ readonly MIN_TOKENS: 100;
24
+ readonly CHARS_PER_TOKEN: 4;
25
+ readonly CODE_CHARS_PER_TOKEN: 3;
26
+ };
27
+ export declare const PAGINATION_CONFIG: {
28
+ readonly DEFAULT_PAGE: 1;
29
+ readonly DEFAULT_PAGE_SIZE: 10;
30
+ readonly MAX_PAGE: 100;
31
+ };
32
+ export declare const SELECTORS: {
33
+ readonly CONTENT: "article, .article-content, main article, #content";
34
+ readonly TITLE: "h1";
35
+ readonly BREADCRUMB: "[class*=\"breadcrumb\"] a, nav[aria-label=\"breadcrumb\"] a";
36
+ readonly RELATED: "nav.related-links a, .related-topics a, [class*=\"related\"] a";
37
+ readonly REMOVE: "script, style, noscript, footer, [id=\"initial-data\"], [class*=\"cookie\"], [class*=\"tracking\"], [class*=\"analytics\"]";
38
+ };
39
+ //# sourceMappingURL=limits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"limits.d.ts","sourceRoot":"","sources":["../../../src/core/constants/limits.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,oBAAY,cAAc;IACxB,QAAQ,aAAa;IACrB,IAAI,SAAS;CACd;AAGD,oBAAY,UAAU;IACpB,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAGD,eAAO,MAAM,cAAc;;;;;;;CAOjB,CAAC;AAGX,eAAO,MAAM,YAAY;;;;;;CAMf,CAAC;AAGX,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAGX,eAAO,MAAM,SAAS;;;;;;CAaZ,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Operational limits, token config, pagination, response formats, and HTML selectors
3
+ */
4
+ // Response format
5
+ export var ResponseFormat;
6
+ (function (ResponseFormat) {
7
+ ResponseFormat["MARKDOWN"] = "markdown";
8
+ ResponseFormat["JSON"] = "json";
9
+ })(ResponseFormat || (ResponseFormat = {}));
10
+ // Output mode (detail level)
11
+ export var OutputMode;
12
+ (function (OutputMode) {
13
+ OutputMode["FULL"] = "full";
14
+ OutputMode["COMPACT"] = "compact";
15
+ })(OutputMode || (OutputMode = {}));
16
+ // Content limits
17
+ export const CONTENT_LIMITS = {
18
+ MAX_SEARCH_RESULTS: 50,
19
+ DEFAULT_SEARCH_RESULTS: 10,
20
+ FILTER_OVERFETCH_MULTIPLIER: 3, // fetch 3x when client-side filters need post-filtering
21
+ FILTER_OVERFETCH_CAP: 150, // absolute cap on over-fetched results
22
+ MAX_CONTENT_LENGTH: 100000, // 100KB
23
+ MAX_SNIPPET_LENGTH: 500
24
+ };
25
+ // Token configuration (Context7 style)
26
+ export const TOKEN_CONFIG = {
27
+ DEFAULT_MAX_TOKENS: 5000,
28
+ MAX_TOKENS_LIMIT: 50000,
29
+ MIN_TOKENS: 100,
30
+ CHARS_PER_TOKEN: 4, // Estimation ratio
31
+ CODE_CHARS_PER_TOKEN: 3 // Code blocks have higher token density
32
+ };
33
+ // Pagination configuration
34
+ export const PAGINATION_CONFIG = {
35
+ DEFAULT_PAGE: 1,
36
+ DEFAULT_PAGE_SIZE: 10,
37
+ MAX_PAGE: 100
38
+ };
39
+ // HTML selectors for learn.jamf.com (React-based site)
40
+ export const SELECTORS = {
41
+ // Main content - learn.jamf.com uses semantic article tag
42
+ CONTENT: 'article, .article-content, main article, #content',
43
+ TITLE: 'h1',
44
+ // Navigation - learn.jamf.com structure
45
+ BREADCRUMB: '[class*="breadcrumb"] a, nav[aria-label="breadcrumb"] a',
46
+ // Related content
47
+ RELATED: 'nav.related-links a, .related-topics a, [class*="related"] a',
48
+ // Elements to remove (scripts, tracking, etc.)
49
+ REMOVE: 'script, style, noscript, footer, [id="initial-data"], [class*="cookie"], [class*="tracking"], [class*="analytics"]'
50
+ };
51
+ //# sourceMappingURL=limits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"limits.js","sourceRoot":"","sources":["../../../src/core/constants/limits.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,kBAAkB;AAClB,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,+BAAa,CAAA;AACf,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED,6BAA6B;AAC7B,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,iCAAmB,CAAA;AACrB,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAED,iBAAiB;AACjB,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,kBAAkB,EAAE,EAAE;IACtB,sBAAsB,EAAE,EAAE;IAC1B,2BAA2B,EAAE,CAAC,EAAQ,wDAAwD;IAC9F,oBAAoB,EAAE,GAAG,EAAa,uCAAuC;IAC7E,kBAAkB,EAAE,MAAM,EAAY,QAAQ;IAC9C,kBAAkB,EAAE,GAAG;CACf,CAAC;AAEX,uCAAuC;AACvC,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,kBAAkB,EAAE,IAAI;IACxB,gBAAgB,EAAE,KAAK;IACvB,UAAU,EAAE,GAAG;IACf,eAAe,EAAE,CAAC,EAAG,mBAAmB;IACxC,oBAAoB,EAAE,CAAC,CAAE,wCAAwC;CACzD,CAAC;AAEX,2BAA2B;AAC3B,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,YAAY,EAAE,CAAC;IACf,iBAAiB,EAAE,EAAE;IACrB,QAAQ,EAAE,GAAG;CACL,CAAC;AAEX,uDAAuD;AACvD,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,0DAA0D;IAC1D,OAAO,EAAE,mDAAmD;IAC5D,KAAK,EAAE,IAAI;IAEX,wCAAwC;IACxC,UAAU,EAAE,yDAAyD;IAErE,kBAAkB;IAClB,OAAO,EAAE,8DAA8D;IAEvE,+CAA+C;IAC/C,MAAM,EAAE,oHAAoH;CACpH,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Locale constants for Jamf documentation
3
+ */
4
+ export declare const DEFAULT_LOCALE = "en-US";
5
+ export declare const SUPPORTED_LOCALES: {
6
+ readonly 'en-US': {
7
+ readonly name: "English";
8
+ };
9
+ readonly 'ja-JP': {
10
+ readonly name: "日本語";
11
+ };
12
+ readonly 'zh-TW': {
13
+ readonly name: "繁體中文";
14
+ };
15
+ readonly 'de-DE': {
16
+ readonly name: "Deutsch";
17
+ };
18
+ readonly 'es-ES': {
19
+ readonly name: "Español";
20
+ };
21
+ readonly 'fr-FR': {
22
+ readonly name: "Français";
23
+ };
24
+ readonly 'nl-NL': {
25
+ readonly name: "Nederlands";
26
+ };
27
+ readonly 'th-TH': {
28
+ readonly name: "ไทย";
29
+ };
30
+ };
31
+ export type LocaleId = keyof typeof SUPPORTED_LOCALES;
32
+ export declare const SUPPORTED_LOCALE_IDS: [string, ...string[]];
33
+ export declare function toValidLocale(candidate: string): LocaleId;
34
+ //# sourceMappingURL=locales.d.ts.map
@@ -0,0 +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,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;CASpB,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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Locale constants for Jamf documentation
3
+ */
4
+ // Supported locales for Jamf documentation (learn.jamf.com)
5
+ export const DEFAULT_LOCALE = 'en-US';
6
+ export const SUPPORTED_LOCALES = {
7
+ 'en-US': { name: 'English' },
8
+ 'ja-JP': { name: '日本語' },
9
+ 'zh-TW': { name: '繁體中文' },
10
+ 'de-DE': { name: 'Deutsch' },
11
+ 'es-ES': { name: 'Español' },
12
+ 'fr-FR': { name: 'Français' },
13
+ 'nl-NL': { name: 'Nederlands' },
14
+ 'th-TH': { name: 'ไทย' },
15
+ };
16
+ export const SUPPORTED_LOCALE_IDS = Object.keys(SUPPORTED_LOCALES);
17
+ export function toValidLocale(candidate) {
18
+ return candidate in SUPPORTED_LOCALES ? candidate : DEFAULT_LOCALE;
19
+ }
20
+ //# sourceMappingURL=locales.js.map
@@ -0,0 +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,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;CAChB,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"}
@@ -0,0 +1,127 @@
1
+ /**
2
+ * Product constants, base URLs, and URL helpers for Jamf documentation
3
+ */
4
+ export declare const SERVER_ICON = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAiUlEQVR4nGNgGAU4QEpKxX9qYpItpwSA9N+58wyOSXYENR0AYw+IA9AdQr4DehgQmEgHYIsGujuA7IRIqQNwOYp8B1ABUOQAOat4svDwcQA1wNB2ACVBPzwcQA0wtB0w4NlwwB1ADTC0HUBu1hs+DqAGGNoOAAbxCVLx8HIANQBZvaMB65qNKAAA5fafYXNsHh0AAAAASUVORK5CYII=";
5
+ export declare const DOCS_BASE_URL = "https://learn.jamf.com";
6
+ export declare const FT_API_BASE = "https://learn.jamf.com";
7
+ /**
8
+ * Build a full documentation URL with locale
9
+ */
10
+ export declare function buildDocUrl(locale: string, bundleId: string, page: string): string;
11
+ /**
12
+ * Build a URL pattern path (without base URL) for a given locale and bundleId
13
+ */
14
+ export declare function buildUrlPattern(locale: string, bundleId: string): string;
15
+ export declare const JAMF_PRODUCTS: {
16
+ readonly 'jamf-pro': {
17
+ readonly id: "jamf-pro";
18
+ readonly name: "Jamf Pro";
19
+ readonly description: "Apple device management for enterprise";
20
+ readonly bundleId: "jamf-pro-documentation";
21
+ readonly searchLabel: "product-pro";
22
+ readonly latestVersion: "current";
23
+ readonly versions: readonly ["current"];
24
+ };
25
+ readonly 'jamf-school': {
26
+ readonly id: "jamf-school";
27
+ readonly name: "Jamf School";
28
+ readonly description: "Apple device management for education";
29
+ readonly bundleId: "jamf-school-documentation";
30
+ readonly searchLabel: "product-school";
31
+ readonly latestVersion: "current";
32
+ readonly versions: readonly ["current"];
33
+ };
34
+ readonly 'jamf-connect': {
35
+ readonly id: "jamf-connect";
36
+ readonly name: "Jamf Connect";
37
+ readonly description: "Identity and access management";
38
+ readonly bundleId: "jamf-connect-documentation";
39
+ readonly searchLabel: "product-connect";
40
+ readonly latestVersion: "current";
41
+ readonly versions: readonly ["current"];
42
+ };
43
+ readonly 'jamf-protect': {
44
+ readonly id: "jamf-protect";
45
+ readonly name: "Jamf Protect";
46
+ readonly description: "Endpoint security for Apple";
47
+ readonly bundleId: "jamf-protect-documentation";
48
+ readonly searchLabel: "product-protect";
49
+ readonly latestVersion: "current";
50
+ readonly versions: readonly ["current"];
51
+ };
52
+ readonly 'jamf-now': {
53
+ readonly id: "jamf-now";
54
+ readonly name: "Jamf Now";
55
+ readonly description: "Simple Apple device management for small businesses";
56
+ readonly bundleId: "jamf-now-documentation";
57
+ readonly searchLabel: "product-now";
58
+ readonly latestVersion: "current";
59
+ readonly versions: readonly ["current"];
60
+ };
61
+ readonly 'jamf-safe-internet': {
62
+ readonly id: "jamf-safe-internet";
63
+ readonly name: "Jamf Safe Internet";
64
+ readonly description: "Content filtering and web security for education and business";
65
+ readonly bundleId: "jamf-safe-internet-documentation";
66
+ readonly searchLabel: "product-safeinternet";
67
+ readonly latestVersion: "current";
68
+ readonly versions: readonly ["current"];
69
+ };
70
+ readonly 'jamf-insights': {
71
+ readonly id: "jamf-insights";
72
+ readonly name: "Jamf Insights";
73
+ readonly description: "Analytics and reporting platform for Apple fleet";
74
+ readonly bundleId: "jamf-insights-documentation";
75
+ readonly searchLabel: "product-insights";
76
+ readonly latestVersion: "current";
77
+ readonly versions: readonly ["current"];
78
+ };
79
+ readonly 'jamf-rapididentity': {
80
+ readonly id: "jamf-rapididentity";
81
+ readonly name: "RapidIdentity";
82
+ readonly description: "Identity and access management platform";
83
+ readonly bundleId: "jamf-rapididentity-documentation";
84
+ readonly searchLabel: "product-rapididentity";
85
+ readonly latestVersion: "current";
86
+ readonly versions: readonly ["current"];
87
+ };
88
+ readonly 'jamf-trust': {
89
+ readonly id: "jamf-trust";
90
+ readonly name: "Jamf Trust";
91
+ readonly description: "Zero-trust network access for Apple devices";
92
+ readonly bundleId: "jamf-trust-documentation";
93
+ readonly searchLabel: "product-trust";
94
+ readonly latestVersion: "current";
95
+ readonly versions: readonly ["current"];
96
+ };
97
+ readonly 'jamf-routines': {
98
+ readonly id: "jamf-routines";
99
+ readonly name: "Jamf Routines";
100
+ readonly description: "Automated workflow orchestration for device management";
101
+ readonly bundleId: "jamf-routines-documentation";
102
+ readonly searchLabel: "product-routines";
103
+ readonly latestVersion: "current";
104
+ readonly versions: readonly ["current"];
105
+ };
106
+ readonly 'self-service-plus': {
107
+ readonly id: "self-service-plus";
108
+ readonly name: "Self Service+";
109
+ readonly description: "Next-generation self-service portal for macOS";
110
+ readonly bundleId: "self-service-plus-documentation";
111
+ readonly searchLabel: "product-self-service";
112
+ readonly latestVersion: "current";
113
+ readonly versions: readonly ["current"];
114
+ };
115
+ readonly 'jamf-app-catalog': {
116
+ readonly id: "jamf-app-catalog";
117
+ readonly name: "Jamf App Catalog";
118
+ readonly description: "Curated application catalog for managed deployments";
119
+ readonly bundleId: "jamf-app-catalog";
120
+ readonly searchLabel: "product-appcatalog";
121
+ readonly latestVersion: "current";
122
+ readonly versions: readonly ["current"];
123
+ };
124
+ };
125
+ export type ProductId = keyof typeof JAMF_PRODUCTS;
126
+ export declare const PRODUCT_IDS: [string, ...string[]];
127
+ //# sourceMappingURL=products.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../../src/core/constants/products.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,WAAW,+RAA+R,CAAC;AAGxT,eAAO,MAAM,aAAa,2BAA2B,CAAC;AAEtD,eAAO,MAAM,WAAW,2BAAgB,CAAC;AAEzC;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAElF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExE;AAGD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6GhB,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,aAAa,CAAC;AAGnD,eAAO,MAAM,WAAW,EAAiC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC"}