@get-technology-inc/jamf-docs-mcp-server 1.0.0 → 1.2.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.
Files changed (103) hide show
  1. package/README.md +61 -139
  2. package/dist/completions.d.ts +13 -0
  3. package/dist/completions.d.ts.map +1 -0
  4. package/dist/completions.js +31 -0
  5. package/dist/completions.js.map +1 -0
  6. package/dist/constants.d.ts +123 -1
  7. package/dist/constants.d.ts.map +1 -1
  8. package/dist/constants.js +187 -17
  9. package/dist/constants.js.map +1 -1
  10. package/dist/index.js +46 -6
  11. package/dist/index.js.map +1 -1
  12. package/dist/prompts/compare-versions.d.ts +7 -0
  13. package/dist/prompts/compare-versions.d.ts.map +1 -0
  14. package/dist/prompts/compare-versions.js +56 -0
  15. package/dist/prompts/compare-versions.js.map +1 -0
  16. package/dist/prompts/index.d.ts +6 -0
  17. package/dist/prompts/index.d.ts.map +1 -0
  18. package/dist/prompts/index.js +12 -0
  19. package/dist/prompts/index.js.map +1 -0
  20. package/dist/prompts/setup-guide.d.ts +7 -0
  21. package/dist/prompts/setup-guide.d.ts.map +1 -0
  22. package/dist/prompts/setup-guide.js +53 -0
  23. package/dist/prompts/setup-guide.js.map +1 -0
  24. package/dist/prompts/troubleshoot.d.ts +7 -0
  25. package/dist/prompts/troubleshoot.d.ts.map +1 -0
  26. package/dist/prompts/troubleshoot.js +52 -0
  27. package/dist/prompts/troubleshoot.js.map +1 -0
  28. package/dist/resources/index.d.ts +13 -0
  29. package/dist/resources/index.d.ts.map +1 -0
  30. package/dist/resources/index.js +121 -0
  31. package/dist/resources/index.js.map +1 -0
  32. package/dist/schemas/index.d.ts +29 -63
  33. package/dist/schemas/index.d.ts.map +1 -1
  34. package/dist/schemas/index.js +35 -16
  35. package/dist/schemas/index.js.map +1 -1
  36. package/dist/schemas/output.d.ts +63 -0
  37. package/dist/schemas/output.d.ts.map +1 -0
  38. package/dist/schemas/output.js +63 -0
  39. package/dist/schemas/output.js.map +1 -0
  40. package/dist/services/cache.d.ts +37 -12
  41. package/dist/services/cache.d.ts.map +1 -1
  42. package/dist/services/cache.js +141 -41
  43. package/dist/services/cache.js.map +1 -1
  44. package/dist/services/metadata.d.ts +78 -0
  45. package/dist/services/metadata.d.ts.map +1 -0
  46. package/dist/services/metadata.js +362 -0
  47. package/dist/services/metadata.js.map +1 -0
  48. package/dist/services/scraper.d.ts +3 -2
  49. package/dist/services/scraper.d.ts.map +1 -1
  50. package/dist/services/scraper.js +170 -145
  51. package/dist/services/scraper.js.map +1 -1
  52. package/dist/services/search-suggestions.d.ts +27 -0
  53. package/dist/services/search-suggestions.d.ts.map +1 -0
  54. package/dist/services/search-suggestions.js +193 -0
  55. package/dist/services/search-suggestions.js.map +1 -0
  56. package/dist/services/tokenizer.d.ts +17 -1
  57. package/dist/services/tokenizer.d.ts.map +1 -1
  58. package/dist/services/tokenizer.js +122 -66
  59. package/dist/services/tokenizer.js.map +1 -1
  60. package/dist/tools/get-article.d.ts +1 -1
  61. package/dist/tools/get-article.d.ts.map +1 -1
  62. package/dist/tools/get-article.js +145 -70
  63. package/dist/tools/get-article.js.map +1 -1
  64. package/dist/tools/get-toc.d.ts +1 -1
  65. package/dist/tools/get-toc.d.ts.map +1 -1
  66. package/dist/tools/get-toc.js +107 -47
  67. package/dist/tools/get-toc.js.map +1 -1
  68. package/dist/tools/list-products.d.ts +1 -1
  69. package/dist/tools/list-products.d.ts.map +1 -1
  70. package/dist/tools/list-products.js +42 -13
  71. package/dist/tools/list-products.js.map +1 -1
  72. package/dist/tools/search.d.ts +1 -1
  73. package/dist/tools/search.d.ts.map +1 -1
  74. package/dist/tools/search.js +142 -69
  75. package/dist/tools/search.js.map +1 -1
  76. package/dist/transport/http.d.ts +12 -0
  77. package/dist/transport/http.d.ts.map +1 -0
  78. package/dist/transport/http.js +297 -0
  79. package/dist/transport/http.js.map +1 -0
  80. package/dist/transport/index.d.ts +13 -0
  81. package/dist/transport/index.d.ts.map +1 -0
  82. package/dist/transport/index.js +40 -0
  83. package/dist/transport/index.js.map +1 -0
  84. package/dist/types.d.ts +12 -18
  85. package/dist/types.d.ts.map +1 -1
  86. package/dist/types.js.map +1 -1
  87. package/dist/utils/doc-type.d.ts +9 -0
  88. package/dist/utils/doc-type.d.ts.map +1 -0
  89. package/dist/utils/doc-type.js +16 -0
  90. package/dist/utils/doc-type.js.map +1 -0
  91. package/dist/utils/progress.d.ts +13 -0
  92. package/dist/utils/progress.d.ts.map +1 -0
  93. package/dist/utils/progress.js +18 -0
  94. package/dist/utils/progress.js.map +1 -0
  95. package/dist/utils/sanitize.d.ts +30 -0
  96. package/dist/utils/sanitize.d.ts.map +1 -0
  97. package/dist/utils/sanitize.js +57 -0
  98. package/dist/utils/sanitize.js.map +1 -0
  99. package/dist/utils/url.d.ts +11 -0
  100. package/dist/utils/url.d.ts.map +1 -0
  101. package/dist/utils/url.js +23 -0
  102. package/dist/utils/url.js.map +1 -0
  103. package/package.json +8 -5
package/README.md CHANGED
@@ -4,202 +4,124 @@
4
4
  [![npm version](https://img.shields.io/npm/v/@get-technology-inc/jamf-docs-mcp-server.svg)](https://www.npmjs.com/package/@get-technology-inc/jamf-docs-mcp-server)
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
6
 
7
- An MCP (Model Context Protocol) server that provides AI assistants with direct access to Jamf documentation from learn.jamf.com.
7
+ An MCP server that gives AI assistants (Claude, Cursor, etc.) direct access to Jamf official documentation. Ask Jamf-related questions and get answers based on the latest docs from learn.jamf.com.
8
8
 
9
- ## Features
9
+ **Supported Products**: Jamf Pro, Jamf School, Jamf Connect, Jamf Protect
10
10
 
11
- - 🔍 **Search**: Search across all Jamf product documentation
12
- - 📖 **Read Articles**: Fetch full article content in Markdown format
13
- - 📚 **Browse TOC**: Explore documentation structure by product
14
- - 🏷️ **Product Filtering**: Filter by Jamf Pro, School, Connect, or Protect
15
- - 💾 **Caching**: Built-in caching for faster responses
11
+ [中文文件](docs/README.zh-TW.md)
16
12
 
17
- ## Supported Products
13
+ ## Quick Start
18
14
 
19
- | Product | Description |
20
- |---------|-------------|
21
- | Jamf Pro | Enterprise Apple device management |
22
- | Jamf School | Education-focused device management |
23
- | Jamf Connect | Identity and access management |
24
- | Jamf Protect | Endpoint security for Apple |
15
+ ### Claude Desktop
25
16
 
26
- ## Requirements
17
+ Edit `claude_desktop_config.json`:
27
18
 
28
- - Node.js 20.0.0 or higher
19
+ - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
20
+ - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
29
21
 
30
- ## Installation
31
-
32
- ```bash
33
- # Clone the repository
34
- git clone https://github.com/GET-Technology-Inc/jamf-docs-mcp-server.git
35
- cd jamf-docs-mcp-server
36
-
37
- # Install dependencies
38
- npm install
39
-
40
- # Build
41
- npm run build
22
+ ```json
23
+ {
24
+ "mcpServers": {
25
+ "jamf-docs": {
26
+ "command": "npx",
27
+ "args": ["-y", "@get-technology-inc/jamf-docs-mcp-server"]
28
+ }
29
+ }
30
+ }
42
31
  ```
43
32
 
44
- ## Usage
33
+ Restart Claude Desktop to apply.
45
34
 
46
- ### Quick Start with npx
35
+ ### Claude Code (CLI)
47
36
 
48
37
  ```bash
49
- npx @get-technology-inc/jamf-docs-mcp-server
38
+ claude mcp add jamf-docs -- npx -y @get-technology-inc/jamf-docs-mcp-server
50
39
  ```
51
40
 
52
- ### With Claude Desktop
41
+ ### Cursor
53
42
 
54
- Add to your `claude_desktop_config.json`:
43
+ Edit `~/.cursor/mcp.json`:
55
44
 
56
45
  ```json
57
46
  {
58
47
  "mcpServers": {
59
48
  "jamf-docs": {
60
- "command": "node",
61
- "args": ["/path/to/jamf-docs-mcp-server/dist/index.js"]
49
+ "command": "npx",
50
+ "args": ["-y", "@get-technology-inc/jamf-docs-mcp-server"]
62
51
  }
63
52
  }
64
53
  }
65
54
  ```
66
55
 
67
- ### With Claude Code
56
+ ### Verify Installation
68
57
 
69
- ```bash
70
- claude mcp add jamf-docs -- node /path/to/jamf-docs-mcp-server/dist/index.js
71
- ```
72
-
73
- ### Testing with MCP Inspector
58
+ Test with MCP Inspector:
74
59
 
75
60
  ```bash
76
- npx @modelcontextprotocol/inspector node dist/index.js
77
- ```
78
-
79
- ## Available Tools
80
-
81
- ### `jamf_docs_list_products`
82
-
83
- List all available Jamf products and their documentation versions.
84
-
61
+ npx @modelcontextprotocol/inspector npx -y @get-technology-inc/jamf-docs-mcp-server
85
62
  ```
86
- "What Jamf products have documentation?"
87
- ```
88
-
89
- ### `jamf_docs_search`
90
63
 
91
- Search Jamf documentation for articles matching your query.
92
-
93
- ```
94
- "Search for SSO configuration in Jamf Pro"
95
- "Find articles about MDM enrollment"
96
- ```
64
+ ## Usage Examples
97
65
 
98
- ### `jamf_docs_get_article`
66
+ Once configured, just ask your AI assistant:
99
67
 
100
- Retrieve the full content of a specific documentation article.
68
+ - "How do I configure SSO in Jamf Pro?"
69
+ - "What are the system requirements for Jamf Protect?"
70
+ - "Explain the MDM enrollment process"
101
71
 
102
- ```
103
- "Get the article at https://docs.jamf.com/..."
104
- ```
105
-
106
- ### `jamf_docs_get_toc`
107
-
108
- Get the table of contents for a product's documentation.
109
-
110
- ```
111
- "Show me the Jamf Pro documentation structure"
112
- ```
72
+ ## Available Tools
113
73
 
114
- ## Development
74
+ | Tool | Description |
75
+ |------|-------------|
76
+ | `jamf_docs_search` | Search documentation |
77
+ | `jamf_docs_get_article` | Get article content |
78
+ | `jamf_docs_get_toc` | Get table of contents |
79
+ | `jamf_docs_list_products` | List supported products |
115
80
 
116
- ```bash
117
- # Install dependencies
118
- npm install
81
+ ## MCP Resources
119
82
 
120
- # Run in development mode
121
- npm run dev
122
-
123
- # Build for production
124
- npm run build
83
+ Static reference data accessible without tool calls:
125
84
 
126
- # Run tests
127
- npm test
85
+ | Resource | Description |
86
+ |----------|-------------|
87
+ | `jamf://products` | List of products with version info |
88
+ | `jamf://topics` | Topic categories for filtering |
128
89
 
129
- # Type check
130
- npm run typecheck
131
- ```
90
+ ## Key Features
132
91
 
133
- ## Project Structure
134
-
135
- ```
136
- jamf-docs-mcp-server/
137
- ├── src/
138
- │ ├── index.ts # Entry point
139
- │ ├── types.ts # Type definitions
140
- │ ├── constants.ts # Configuration
141
- │ ├── tools/ # MCP tool implementations
142
- │ │ ├── list-products.ts
143
- │ │ ├── search.ts
144
- │ │ ├── get-article.ts
145
- │ │ └── get-toc.ts
146
- │ ├── services/ # Core services
147
- │ │ ├── scraper.ts # Web scraping
148
- │ │ └── cache.ts # Caching
149
- │ └── schemas/ # Zod validation schemas
150
- ├── .cache/ # Local cache (gitignored)
151
- ├── dist/ # Build output
152
- ├── package.json
153
- ├── tsconfig.json
154
- └── CLAUDE.md # Development guide
155
- ```
92
+ - **Compact Mode**: Use `outputMode: "compact"` for token-efficient responses
93
+ - **Summary Only**: Use `summaryOnly: true` to preview articles before fetching full content
94
+ - **Version Query**: Use `version` parameter to query specific product versions
95
+ - **Search Suggestions**: Get helpful suggestions when no results found
156
96
 
157
97
  ## Configuration
158
98
 
159
- The server uses sensible defaults but can be configured via environment variables:
99
+ Optional environment variables:
160
100
 
161
101
  | Variable | Description | Default |
162
102
  |----------|-------------|---------|
163
103
  | `CACHE_DIR` | Cache directory | `.cache` |
164
- | `REQUEST_TIMEOUT` | HTTP timeout (ms) | `15000` |
165
- | `RATE_LIMIT_DELAY` | Delay between requests (ms) | `500` |
166
- | `MAX_RETRIES` | Maximum retry attempts | `3` |
167
- | `RETRY_DELAY` | Delay between retries (ms) | `1000` |
168
- | `USER_AGENT` | Custom User-Agent string | `JamfDocsMCP/1.0` |
169
- | `CACHE_TTL_SEARCH` | Search results cache TTL (ms) | `1800000` (30 min) |
170
- | `CACHE_TTL_ARTICLE` | Article content cache TTL (ms) | `86400000` (24 hr) |
171
- | `CACHE_TTL_TOC` | TOC cache TTL (ms) | `86400000` (24 hr) |
172
- | `CACHE_TTL_PRODUCTS` | Products list cache TTL (ms) | `604800000` (7 days) |
173
-
174
- Example:
104
+ | `REQUEST_TIMEOUT` | Request timeout (ms) | `15000` |
105
+ | `CACHE_TTL_ARTICLE` | Article cache TTL (ms) | `86400000` (24hr) |
106
+
107
+ ## Development
175
108
 
176
109
  ```bash
177
- CACHE_DIR=/tmp/jamf-cache REQUEST_TIMEOUT=30000 node dist/index.js
110
+ git clone https://github.com/GET-Technology-Inc/jamf-docs-mcp-server.git
111
+ cd jamf-docs-mcp-server
112
+ npm install
113
+ npm run dev
178
114
  ```
179
115
 
180
- ## Contributing
181
-
182
- 1. Fork the repository
183
- 2. Create a feature branch
184
- 3. Make your changes
185
- 4. Run tests and type checks
186
- 5. Submit a pull request
187
-
188
116
  ## License
189
117
 
190
118
  MIT - Copyright (c) 2025 GET Technology Inc.
191
119
 
192
- ## Maintainer
193
-
194
- Developed and maintained by [GET Technology Inc.](https://github.com/GET-Technology-Inc)
195
-
196
120
  ## Disclaimer
197
121
 
198
- This is an unofficial tool for accessing Jamf documentation. It is not affiliated with or endorsed by Jamf. Use responsibly and respect Jamf's terms of service.
122
+ This is an unofficial tool and is not affiliated with Jamf.
199
123
 
200
- ## Related Resources
124
+ ## Links
201
125
 
202
126
  - [Jamf Documentation](https://learn.jamf.com)
203
- - [Jamf Developer Portal](https://developer.jamf.com)
204
127
  - [MCP Specification](https://spec.modelcontextprotocol.io/)
205
- - [MCP TypeScript SDK](https://github.com/modelcontextprotocol/typescript-sdk)
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Completion utilities for argument autocompletion
3
+ */
4
+ /**
5
+ * Two-tier matching: prefix matches first, then substring matches.
6
+ */
7
+ export declare function filterMatches(values: string[], input: string): string[];
8
+ export declare function completeProduct(value: string | undefined): string[];
9
+ export declare function completeTopic(value: string | undefined): string[];
10
+ export declare function completeVersion(value: string | undefined, context?: {
11
+ arguments?: Record<string, string>;
12
+ }): Promise<string[]>;
13
+ //# sourceMappingURL=completions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completions.d.ts","sourceRoot":"","sources":["../src/completions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAOvE;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,MAAM,EAAE,CAEV;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,MAAM,EAAE,CAEV;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAC/C,OAAO,CAAC,MAAM,EAAE,CAAC,CAOnB"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Completion utilities for argument autocompletion
3
+ */
4
+ import { JAMF_PRODUCTS, PRODUCT_IDS, TOPIC_IDS } from './constants.js';
5
+ import { getAvailableVersions } from './services/metadata.js';
6
+ /**
7
+ * Two-tier matching: prefix matches first, then substring matches.
8
+ */
9
+ export function filterMatches(values, input) {
10
+ if (input === '') {
11
+ return values;
12
+ }
13
+ const prefix = values.filter(v => v.startsWith(input));
14
+ const substring = values.filter(v => !v.startsWith(input) && v.includes(input));
15
+ return [...prefix, ...substring];
16
+ }
17
+ export function completeProduct(value) {
18
+ return filterMatches(PRODUCT_IDS, value ?? '');
19
+ }
20
+ export function completeTopic(value) {
21
+ return filterMatches(TOPIC_IDS, value ?? '');
22
+ }
23
+ export async function completeVersion(value, context) {
24
+ const product = context?.arguments?.product;
25
+ if (product === undefined || !(product in JAMF_PRODUCTS)) {
26
+ return [];
27
+ }
28
+ const versions = await getAvailableVersions(product);
29
+ return filterMatches(versions, value ?? '');
30
+ }
31
+ //# sourceMappingURL=completions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completions.js","sourceRoot":"","sources":["../src/completions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAkB,MAAM,gBAAgB,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAgB,EAAE,KAAa;IAC3D,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACjB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,KAAyB;IAEzB,OAAO,aAAa,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,KAAyB;IAEzB,OAAO,aAAa,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAyB,EACzB,OAAgD;IAEhD,MAAM,OAAO,GAAG,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC;IAC5C,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,IAAI,aAAa,CAAC,EAAE,CAAC;QACzD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,OAAoB,CAAC,CAAC;IAClE,OAAO,aAAa,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;AAC9C,CAAC"}
@@ -4,8 +4,10 @@
4
4
  * Note: Jamf documentation has moved from docs.jamf.com to learn.jamf.com
5
5
  * The new URL structure is: learn.jamf.com/en-US/bundle/{product}-documentation/page/{page}.html
6
6
  */
7
+ export declare function getEnvNumber(key: string, defaultValue: number, min?: number, max?: number): number;
8
+ export declare const SERVER_ICON = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAiUlEQVR4nGNgGAU4QEpKxX9qYpItpwSA9N+58wyOSXYENR0AYw+IA9AdQr4DehgQmEgHYIsGujuA7IRIqQNwOYp8B1ABUOQAOat4svDwcQA1wNB2ACVBPzwcQA0wtB0w4NlwwB1ADTC0HUBu1hs+DqAGGNoOAAbxCVLx8HIANQBZvaMB65qNKAAA5fafYXNsHh0AAAAASUVORK5CYII=";
9
+ export declare const SERVER_VERSION = "1.2.0";
7
10
  export declare const DOCS_BASE_URL = "https://learn.jamf.com";
8
- export declare const LEARN_BASE_URL = "https://learn.jamf.com";
9
11
  export declare const DOCS_API_URL = "https://learn-be.jamf.com";
10
12
  export declare const JAMF_PRODUCTS: {
11
13
  readonly 'jamf-pro': {
@@ -48,18 +50,103 @@ export declare const JAMF_PRODUCTS: {
48
50
  readonly latestVersion: "current";
49
51
  readonly versions: readonly ["current"];
50
52
  };
53
+ readonly 'jamf-now': {
54
+ readonly id: "jamf-now";
55
+ readonly name: "Jamf Now";
56
+ readonly description: "Simple Apple device management for small businesses";
57
+ readonly urlPattern: "en-US/bundle/jamf-now-documentation/page";
58
+ readonly bundleId: "jamf-now-documentation";
59
+ readonly searchLabel: "product-now";
60
+ readonly latestVersion: "current";
61
+ readonly versions: readonly ["current"];
62
+ };
63
+ readonly 'jamf-safe-internet': {
64
+ readonly id: "jamf-safe-internet";
65
+ readonly name: "Jamf Safe Internet";
66
+ readonly description: "Content filtering and web security for education and business";
67
+ readonly urlPattern: "en-US/bundle/jamf-safe-internet-documentation/page";
68
+ readonly bundleId: "jamf-safe-internet-documentation";
69
+ readonly searchLabel: "product-safeinternet";
70
+ readonly latestVersion: "current";
71
+ readonly versions: readonly ["current"];
72
+ };
73
+ readonly 'jamf-insights': {
74
+ readonly id: "jamf-insights";
75
+ readonly name: "Jamf Insights";
76
+ readonly description: "Analytics and reporting platform for Apple fleet";
77
+ readonly urlPattern: "en-US/bundle/jamf-insights-documentation/page";
78
+ readonly bundleId: "jamf-insights-documentation";
79
+ readonly searchLabel: "product-insights";
80
+ readonly latestVersion: "current";
81
+ readonly versions: readonly ["current"];
82
+ };
83
+ readonly 'jamf-rapididentity': {
84
+ readonly id: "jamf-rapididentity";
85
+ readonly name: "RapidIdentity";
86
+ readonly description: "Identity and access management platform";
87
+ readonly urlPattern: "en-US/bundle/jamf-rapididentity-documentation/page";
88
+ readonly bundleId: "jamf-rapididentity-documentation";
89
+ readonly searchLabel: "product-rapididentity";
90
+ readonly latestVersion: "current";
91
+ readonly versions: readonly ["current"];
92
+ };
93
+ readonly 'jamf-trust': {
94
+ readonly id: "jamf-trust";
95
+ readonly name: "Jamf Trust";
96
+ readonly description: "Zero-trust network access for Apple devices";
97
+ readonly urlPattern: "en-US/bundle/jamf-trust-documentation/page";
98
+ readonly bundleId: "jamf-trust-documentation";
99
+ readonly searchLabel: "product-trust";
100
+ readonly latestVersion: "current";
101
+ readonly versions: readonly ["current"];
102
+ };
103
+ readonly 'jamf-routines': {
104
+ readonly id: "jamf-routines";
105
+ readonly name: "Jamf Routines";
106
+ readonly description: "Automated workflow orchestration for device management";
107
+ readonly urlPattern: "en-US/bundle/jamf-routines-documentation/page";
108
+ readonly bundleId: "jamf-routines-documentation";
109
+ readonly searchLabel: "product-routines";
110
+ readonly latestVersion: "current";
111
+ readonly versions: readonly ["current"];
112
+ };
113
+ readonly 'self-service-plus': {
114
+ readonly id: "self-service-plus";
115
+ readonly name: "Self Service+";
116
+ readonly description: "Next-generation self-service portal for macOS";
117
+ readonly urlPattern: "en-US/bundle/self-service-plus-documentation/page";
118
+ readonly bundleId: "self-service-plus-documentation";
119
+ readonly searchLabel: "product-self-service";
120
+ readonly latestVersion: "current";
121
+ readonly versions: readonly ["current"];
122
+ };
123
+ readonly 'jamf-app-catalog': {
124
+ readonly id: "jamf-app-catalog";
125
+ readonly name: "Jamf App Catalog";
126
+ readonly description: "Curated application catalog for managed deployments";
127
+ readonly urlPattern: "en-US/bundle/jamf-app-catalog/page";
128
+ readonly bundleId: "jamf-app-catalog";
129
+ readonly searchLabel: "product-appcatalog";
130
+ readonly latestVersion: "current";
131
+ readonly versions: readonly ["current"];
132
+ };
51
133
  };
52
134
  export type ProductId = keyof typeof JAMF_PRODUCTS;
53
135
  export declare enum ResponseFormat {
54
136
  MARKDOWN = "markdown",
55
137
  JSON = "json"
56
138
  }
139
+ export declare enum OutputMode {
140
+ FULL = "full",
141
+ COMPACT = "compact"
142
+ }
57
143
  export declare const CACHE_TTL: {
58
144
  readonly SEARCH_RESULTS: number;
59
145
  readonly ARTICLE_CONTENT: number;
60
146
  readonly PRODUCT_LIST: number;
61
147
  readonly TOC: number;
62
148
  };
149
+ export declare const CACHE_MAX_ENTRIES: number;
63
150
  export declare const CACHE_DIR: string;
64
151
  export declare const REQUEST_CONFIG: {
65
152
  readonly TIMEOUT: number;
@@ -249,6 +336,41 @@ export declare const JAMF_TOPICS: {
249
336
  };
250
337
  };
251
338
  export type TopicId = keyof typeof JAMF_TOPICS;
339
+ export declare const DOC_TYPES: {
340
+ readonly documentation: {
341
+ readonly name: "Documentation";
342
+ readonly description: "Main product documentation";
343
+ };
344
+ readonly 'release-notes': {
345
+ readonly name: "Release Notes";
346
+ readonly description: "Version release notes and changelogs";
347
+ readonly bundlePattern: RegExp;
348
+ };
349
+ readonly 'install-guide': {
350
+ readonly name: "Installation Guide";
351
+ readonly description: "Installation and configuration guides";
352
+ readonly bundlePattern: RegExp;
353
+ };
354
+ readonly 'technical-paper': {
355
+ readonly name: "Technical Paper";
356
+ readonly description: "Technical white papers and integration guides";
357
+ readonly bundlePattern: RegExp;
358
+ };
359
+ readonly 'configuration-guide': {
360
+ readonly name: "Configuration Guide";
361
+ readonly description: "Setup and configuration guides";
362
+ readonly bundlePattern: RegExp;
363
+ };
364
+ readonly training: {
365
+ readonly name: "Training";
366
+ readonly description: "Training materials and video guides";
367
+ readonly bundlePattern: RegExp;
368
+ };
369
+ };
370
+ export type DocTypeId = keyof typeof DOC_TYPES;
371
+ export declare const PRODUCT_IDS: [string, ...string[]];
372
+ export declare const TOPIC_IDS: [string, ...string[]];
373
+ export declare const DOC_TYPE_IDS: [string, ...string[]];
252
374
  export declare const SELECTORS: {
253
375
  readonly CONTENT: "article, .article-content, main article, #content";
254
376
  readonly TITLE: "h1";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiBH,eAAO,MAAM,aAAa,2BAA2B,CAAC;AACtD,eAAO,MAAM,cAAc,2BAA2B,CAAC;AACvD,eAAO,MAAM,YAAY,8BAA8B,CAAC;AAGxD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyChB,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,aAAa,CAAC;AAGnD,oBAAY,cAAc;IACxB,QAAQ,aAAa;IACrB,IAAI,SAAS;CACd;AAGD,eAAO,MAAM,SAAS;;;;;CAKZ,CAAC;AAGX,eAAO,MAAM,SAAS,QAAsC,CAAC;AAG7D,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AAGX,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC;AAGX,eAAO,MAAM,YAAY;;;;;;CAMf,CAAC;AAGX,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAGX,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkMd,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,WAAW,CAAC;AAG/C,eAAO,MAAM,SAAS;;;;;;;CAcZ,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,GAAG,CAAC,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,GACX,MAAM,CAkBR;AASD,eAAO,MAAM,WAAW,+RAA+R,CAAC;AAGxT,eAAO,MAAM,cAAc,UAAU,CAAC;AAGtC,eAAO,MAAM,aAAa,2BAA2B,CAAC;AACtD,eAAO,MAAM,YAAY,8BAA8B,CAAC;AAGxD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyHhB,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,aAAa,CAAC;AAGnD,oBAAY,cAAc;IACxB,QAAQ,aAAa;IACrB,IAAI,SAAS;CACd;AAGD,oBAAY,UAAU;IACpB,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAOD,eAAO,MAAM,SAAS;;;;;CAKZ,CAAC;AAGX,eAAO,MAAM,iBAAiB,QAAoD,CAAC;AAiCnF,eAAO,MAAM,SAAS,QAAyB,CAAC;AAGhD,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AAGX,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC;AAGX,eAAO,MAAM,YAAY;;;;;;CAMf,CAAC;AAGX,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAGX,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkMd,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,WAAW,CAAC;AAG/C,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BZ,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,SAAS,CAAC;AAG/C,eAAO,MAAM,WAAW,EAAiC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;AAC/E,eAAO,MAAM,SAAS,EAA+B,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;AAC3E,eAAO,MAAM,YAAY,EAA6B,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;AAG5E,eAAO,MAAM,SAAS;;;;;;;CAcZ,CAAC"}