@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.
- package/README.md +37 -2
- package/dist/core/constants/doc-types.d.ts +48 -0
- package/dist/core/constants/doc-types.d.ts.map +1 -0
- package/dist/core/constants/doc-types.js +58 -0
- package/dist/core/constants/doc-types.js.map +1 -0
- package/dist/core/constants/index.d.ts +16 -0
- package/dist/core/constants/index.d.ts.map +1 -0
- package/dist/core/constants/index.js +12 -0
- package/dist/core/constants/index.js.map +1 -0
- package/dist/core/constants/limits.d.ts +39 -0
- package/dist/core/constants/limits.d.ts.map +1 -0
- package/dist/core/constants/limits.js +51 -0
- package/dist/core/constants/limits.js.map +1 -0
- package/dist/core/constants/locales.d.ts +34 -0
- package/dist/core/constants/locales.d.ts.map +1 -0
- package/dist/core/constants/locales.js +20 -0
- package/dist/core/constants/locales.js.map +1 -0
- package/dist/core/constants/products.d.ts +127 -0
- package/dist/core/constants/products.d.ts.map +1 -0
- package/dist/core/constants/products.js +135 -0
- package/dist/core/constants/products.js.map +1 -0
- package/dist/core/constants/topics.d.ts +168 -0
- package/dist/core/constants/topics.d.ts.map +1 -0
- package/dist/core/constants/topics.js +186 -0
- package/dist/core/constants/topics.js.map +1 -0
- package/dist/core/constants.d.ts +7 -404
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +16 -427
- package/dist/core/constants.js.map +1 -1
- package/dist/core/http-client.d.ts +14 -2
- package/dist/core/http-client.d.ts.map +1 -1
- package/dist/core/http-client.js +148 -17
- package/dist/core/http-client.js.map +1 -1
- package/dist/core/index.d.ts +12 -12
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +12 -13
- package/dist/core/index.js.map +1 -1
- package/dist/core/resources/index.js +1 -1
- package/dist/core/resources/index.js.map +1 -1
- package/dist/core/schemas/index.d.ts +3 -1
- package/dist/core/schemas/index.d.ts.map +1 -1
- package/dist/core/schemas/index.js +13 -3
- package/dist/core/schemas/index.js.map +1 -1
- package/dist/core/schemas/output.d.ts +7 -0
- package/dist/core/schemas/output.d.ts.map +1 -1
- package/dist/core/schemas/output.js +7 -0
- package/dist/core/schemas/output.js.map +1 -1
- package/dist/core/services/article-service.d.ts +24 -0
- package/dist/core/services/article-service.d.ts.map +1 -0
- package/dist/core/services/article-service.js +140 -0
- package/dist/core/services/article-service.js.map +1 -0
- package/dist/core/services/content-parser.d.ts +38 -0
- package/dist/core/services/content-parser.d.ts.map +1 -0
- package/dist/core/services/content-parser.js +148 -0
- package/dist/core/services/content-parser.js.map +1 -0
- package/dist/core/services/ft-client.d.ts +52 -0
- package/dist/core/services/ft-client.d.ts.map +1 -0
- package/dist/core/services/ft-client.js +87 -0
- package/dist/core/services/ft-client.js.map +1 -0
- package/dist/core/services/glossary.d.ts +9 -5
- package/dist/core/services/glossary.d.ts.map +1 -1
- package/dist/core/services/glossary.js +175 -108
- package/dist/core/services/glossary.js.map +1 -1
- package/dist/core/services/interfaces/cache.d.ts +6 -6
- package/dist/core/services/interfaces/cache.d.ts.map +1 -1
- package/dist/core/services/interfaces/index.d.ts +3 -3
- package/dist/core/services/interfaces/index.d.ts.map +1 -1
- package/dist/core/services/interfaces/logger.d.ts +17 -10
- package/dist/core/services/interfaces/logger.d.ts.map +1 -1
- package/dist/core/services/interfaces/metadata.d.ts +0 -10
- package/dist/core/services/interfaces/metadata.d.ts.map +1 -1
- package/dist/core/services/interfaces/providers.d.ts +23 -10
- package/dist/core/services/interfaces/providers.d.ts.map +1 -1
- package/dist/core/services/logging.d.ts +38 -18
- package/dist/core/services/logging.d.ts.map +1 -1
- package/dist/core/services/logging.js +78 -29
- package/dist/core/services/logging.js.map +1 -1
- package/dist/core/services/maps-registry.d.ts +82 -0
- package/dist/core/services/maps-registry.d.ts.map +1 -0
- package/dist/core/services/maps-registry.js +232 -0
- package/dist/core/services/maps-registry.js.map +1 -0
- package/dist/core/services/metadata.d.ts +18 -9
- package/dist/core/services/metadata.d.ts.map +1 -1
- package/dist/core/services/metadata.js +113 -254
- package/dist/core/services/metadata.js.map +1 -1
- package/dist/core/services/search-service.d.ts +31 -0
- package/dist/core/services/search-service.d.ts.map +1 -0
- package/dist/core/services/search-service.js +462 -0
- package/dist/core/services/search-service.js.map +1 -0
- package/dist/core/services/toc-service.d.ts +30 -0
- package/dist/core/services/toc-service.d.ts.map +1 -0
- package/dist/core/services/toc-service.js +107 -0
- package/dist/core/services/toc-service.js.map +1 -0
- package/dist/core/services/tokenizer.d.ts +20 -1
- package/dist/core/services/tokenizer.d.ts.map +1 -1
- package/dist/core/services/tokenizer.js +32 -4
- package/dist/core/services/tokenizer.js.map +1 -1
- package/dist/core/services/topic-resolver.d.ts +74 -0
- package/dist/core/services/topic-resolver.d.ts.map +1 -0
- package/dist/core/services/topic-resolver.js +191 -0
- package/dist/core/services/topic-resolver.js.map +1 -0
- package/dist/core/tools/batch-get-articles.d.ts +0 -2
- package/dist/core/tools/batch-get-articles.d.ts.map +1 -1
- package/dist/core/tools/batch-get-articles.js +18 -46
- package/dist/core/tools/batch-get-articles.js.map +1 -1
- package/dist/core/tools/get-article.d.ts.map +1 -1
- package/dist/core/tools/get-article.js +29 -112
- package/dist/core/tools/get-article.js.map +1 -1
- package/dist/core/tools/get-toc.js +1 -1
- package/dist/core/tools/get-toc.js.map +1 -1
- package/dist/core/tools/glossary-lookup.d.ts.map +1 -1
- package/dist/core/tools/glossary-lookup.js +26 -7
- package/dist/core/tools/glossary-lookup.js.map +1 -1
- package/dist/core/tools/list-products.d.ts.map +1 -1
- package/dist/core/tools/list-products.js +5 -3
- package/dist/core/tools/list-products.js.map +1 -1
- package/dist/core/tools/search.js +5 -5
- package/dist/core/tools/search.js.map +1 -1
- package/dist/core/types/context.d.ts +5 -2
- package/dist/core/types/context.d.ts.map +1 -1
- package/dist/core/types.d.ts +141 -31
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/utils/bundle.d.ts +14 -1
- package/dist/core/utils/bundle.d.ts.map +1 -1
- package/dist/core/utils/bundle.js +19 -2
- package/dist/core/utils/bundle.js.map +1 -1
- package/dist/core/utils/format-article.d.ts +49 -0
- package/dist/core/utils/format-article.d.ts.map +1 -0
- package/dist/core/utils/format-article.js +188 -0
- package/dist/core/utils/format-article.js.map +1 -0
- package/dist/core/utils/ft-metadata.d.ts +22 -0
- package/dist/core/utils/ft-metadata.d.ts.map +1 -0
- package/dist/core/utils/ft-metadata.js +30 -0
- package/dist/core/utils/ft-metadata.js.map +1 -0
- package/dist/core/utils/sanitize.d.ts.map +1 -1
- package/dist/core/utils/sanitize.js +0 -2
- package/dist/core/utils/sanitize.js.map +1 -1
- package/dist/core/utils/url.d.ts.map +1 -1
- package/dist/core/utils/url.js +0 -1
- package/dist/core/utils/url.js.map +1 -1
- package/dist/index.js +10 -6
- package/dist/index.js.map +1 -1
- package/dist/platforms/node/http-server.d.ts +13 -0
- package/dist/platforms/node/http-server.d.ts.map +1 -0
- package/dist/platforms/node/http-server.js +231 -0
- package/dist/platforms/node/http-server.js.map +1 -0
- package/dist/platforms/node/index.d.ts +1 -1
- package/dist/platforms/node/index.d.ts.map +1 -1
- package/dist/platforms/node/index.js +1 -1
- package/dist/platforms/node/index.js.map +1 -1
- package/dist/platforms/node/logger.d.ts +13 -2
- package/dist/platforms/node/logger.d.ts.map +1 -1
- package/dist/platforms/node/logger.js +17 -4
- package/dist/platforms/node/logger.js.map +1 -1
- package/dist/transport/http-handler.d.ts +25 -0
- package/dist/transport/http-handler.d.ts.map +1 -0
- package/dist/transport/http-handler.js +193 -0
- package/dist/transport/http-handler.js.map +1 -0
- package/dist/transport/http-types.d.ts +22 -0
- package/dist/transport/http-types.d.ts.map +1 -0
- package/dist/transport/http-types.js +65 -0
- package/dist/transport/http-types.js.map +1 -0
- package/dist/transport/http.d.ts +4 -8
- package/dist/transport/http.d.ts.map +1 -1
- package/dist/transport/http.js +4 -376
- package/dist/transport/http.js.map +1 -1
- package/dist/transport/index.js +2 -2
- package/dist/transport/index.js.map +1 -1
- package/dist/transport/rate-limiter.d.ts +16 -0
- package/dist/transport/rate-limiter.d.ts.map +1 -0
- package/dist/transport/rate-limiter.js +55 -0
- package/dist/transport/rate-limiter.js.map +1 -0
- package/package.json +3 -3
- package/dist/core/services/interfaces.d.ts +0 -94
- package/dist/core/services/interfaces.d.ts.map +0 -1
- package/dist/core/services/interfaces.js +0 -8
- package/dist/core/services/interfaces.js.map +0 -1
- package/dist/core/services/scraper.d.ts +0 -90
- package/dist/core/services/scraper.d.ts.map +0 -1
- package/dist/core/services/scraper.js +0 -990
- package/dist/core/services/scraper.js.map +0 -1
- package/dist/core/utils/doc-type.d.ts +0 -12
- package/dist/core/utils/doc-type.d.ts.map +0 -1
- package/dist/core/utils/doc-type.js +0 -24
- package/dist/core/utils/doc-type.js.map +0 -1
- package/dist/platforms/node/metadata.d.ts +0 -18
- package/dist/platforms/node/metadata.d.ts.map +0 -1
- package/dist/platforms/node/metadata.js +0 -35
- 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
|
|
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"}
|