@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.
- package/README.md +61 -139
- package/dist/completions.d.ts +13 -0
- package/dist/completions.d.ts.map +1 -0
- package/dist/completions.js +31 -0
- package/dist/completions.js.map +1 -0
- package/dist/constants.d.ts +123 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +187 -17
- package/dist/constants.js.map +1 -1
- package/dist/index.js +46 -6
- package/dist/index.js.map +1 -1
- package/dist/prompts/compare-versions.d.ts +7 -0
- package/dist/prompts/compare-versions.d.ts.map +1 -0
- package/dist/prompts/compare-versions.js +56 -0
- package/dist/prompts/compare-versions.js.map +1 -0
- package/dist/prompts/index.d.ts +6 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +12 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/setup-guide.d.ts +7 -0
- package/dist/prompts/setup-guide.d.ts.map +1 -0
- package/dist/prompts/setup-guide.js +53 -0
- package/dist/prompts/setup-guide.js.map +1 -0
- package/dist/prompts/troubleshoot.d.ts +7 -0
- package/dist/prompts/troubleshoot.d.ts.map +1 -0
- package/dist/prompts/troubleshoot.js +52 -0
- package/dist/prompts/troubleshoot.js.map +1 -0
- package/dist/resources/index.d.ts +13 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +121 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/schemas/index.d.ts +29 -63
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +35 -16
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/output.d.ts +63 -0
- package/dist/schemas/output.d.ts.map +1 -0
- package/dist/schemas/output.js +63 -0
- package/dist/schemas/output.js.map +1 -0
- package/dist/services/cache.d.ts +37 -12
- package/dist/services/cache.d.ts.map +1 -1
- package/dist/services/cache.js +141 -41
- package/dist/services/cache.js.map +1 -1
- package/dist/services/metadata.d.ts +78 -0
- package/dist/services/metadata.d.ts.map +1 -0
- package/dist/services/metadata.js +362 -0
- package/dist/services/metadata.js.map +1 -0
- package/dist/services/scraper.d.ts +3 -2
- package/dist/services/scraper.d.ts.map +1 -1
- package/dist/services/scraper.js +170 -145
- package/dist/services/scraper.js.map +1 -1
- package/dist/services/search-suggestions.d.ts +27 -0
- package/dist/services/search-suggestions.d.ts.map +1 -0
- package/dist/services/search-suggestions.js +193 -0
- package/dist/services/search-suggestions.js.map +1 -0
- package/dist/services/tokenizer.d.ts +17 -1
- package/dist/services/tokenizer.d.ts.map +1 -1
- package/dist/services/tokenizer.js +122 -66
- package/dist/services/tokenizer.js.map +1 -1
- package/dist/tools/get-article.d.ts +1 -1
- package/dist/tools/get-article.d.ts.map +1 -1
- package/dist/tools/get-article.js +145 -70
- package/dist/tools/get-article.js.map +1 -1
- package/dist/tools/get-toc.d.ts +1 -1
- package/dist/tools/get-toc.d.ts.map +1 -1
- package/dist/tools/get-toc.js +107 -47
- package/dist/tools/get-toc.js.map +1 -1
- package/dist/tools/list-products.d.ts +1 -1
- package/dist/tools/list-products.d.ts.map +1 -1
- package/dist/tools/list-products.js +42 -13
- package/dist/tools/list-products.js.map +1 -1
- package/dist/tools/search.d.ts +1 -1
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +142 -69
- package/dist/tools/search.js.map +1 -1
- package/dist/transport/http.d.ts +12 -0
- package/dist/transport/http.d.ts.map +1 -0
- package/dist/transport/http.js +297 -0
- package/dist/transport/http.js.map +1 -0
- package/dist/transport/index.d.ts +13 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/transport/index.js +40 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/types.d.ts +12 -18
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/doc-type.d.ts +9 -0
- package/dist/utils/doc-type.d.ts.map +1 -0
- package/dist/utils/doc-type.js +16 -0
- package/dist/utils/doc-type.js.map +1 -0
- package/dist/utils/progress.d.ts +13 -0
- package/dist/utils/progress.d.ts.map +1 -0
- package/dist/utils/progress.js +18 -0
- package/dist/utils/progress.js.map +1 -0
- package/dist/utils/sanitize.d.ts +30 -0
- package/dist/utils/sanitize.d.ts.map +1 -0
- package/dist/utils/sanitize.js +57 -0
- package/dist/utils/sanitize.js.map +1 -0
- package/dist/utils/url.d.ts +11 -0
- package/dist/utils/url.d.ts.map +1 -0
- package/dist/utils/url.js +23 -0
- package/dist/utils/url.js.map +1 -0
- package/package.json +8 -5
package/README.md
CHANGED
|
@@ -4,202 +4,124 @@
|
|
|
4
4
|
[](https://www.npmjs.com/package/@get-technology-inc/jamf-docs-mcp-server)
|
|
5
5
|
[](https://opensource.org/licenses/MIT)
|
|
6
6
|
|
|
7
|
-
An MCP
|
|
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
|
-
|
|
9
|
+
**Supported Products**: Jamf Pro, Jamf School, Jamf Connect, Jamf Protect
|
|
10
10
|
|
|
11
|
-
-
|
|
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
|
-
##
|
|
13
|
+
## Quick Start
|
|
18
14
|
|
|
19
|
-
|
|
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
|
-
|
|
17
|
+
Edit `claude_desktop_config.json`:
|
|
27
18
|
|
|
28
|
-
-
|
|
19
|
+
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
20
|
+
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
29
21
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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
|
-
|
|
33
|
+
Restart Claude Desktop to apply.
|
|
45
34
|
|
|
46
|
-
###
|
|
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
|
-
###
|
|
41
|
+
### Cursor
|
|
53
42
|
|
|
54
|
-
|
|
43
|
+
Edit `~/.cursor/mcp.json`:
|
|
55
44
|
|
|
56
45
|
```json
|
|
57
46
|
{
|
|
58
47
|
"mcpServers": {
|
|
59
48
|
"jamf-docs": {
|
|
60
|
-
"command": "
|
|
61
|
-
"args": ["/
|
|
49
|
+
"command": "npx",
|
|
50
|
+
"args": ["-y", "@get-technology-inc/jamf-docs-mcp-server"]
|
|
62
51
|
}
|
|
63
52
|
}
|
|
64
53
|
}
|
|
65
54
|
```
|
|
66
55
|
|
|
67
|
-
###
|
|
56
|
+
### Verify Installation
|
|
68
57
|
|
|
69
|
-
|
|
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
|
|
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
|
-
|
|
92
|
-
|
|
93
|
-
```
|
|
94
|
-
"Search for SSO configuration in Jamf Pro"
|
|
95
|
-
"Find articles about MDM enrollment"
|
|
96
|
-
```
|
|
64
|
+
## Usage Examples
|
|
97
65
|
|
|
98
|
-
|
|
66
|
+
Once configured, just ask your AI assistant:
|
|
99
67
|
|
|
100
|
-
|
|
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
|
-
|
|
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
|
-
|
|
117
|
-
# Install dependencies
|
|
118
|
-
npm install
|
|
81
|
+
## MCP Resources
|
|
119
82
|
|
|
120
|
-
|
|
121
|
-
npm run dev
|
|
122
|
-
|
|
123
|
-
# Build for production
|
|
124
|
-
npm run build
|
|
83
|
+
Static reference data accessible without tool calls:
|
|
125
84
|
|
|
126
|
-
|
|
127
|
-
|
|
85
|
+
| Resource | Description |
|
|
86
|
+
|----------|-------------|
|
|
87
|
+
| `jamf://products` | List of products with version info |
|
|
88
|
+
| `jamf://topics` | Topic categories for filtering |
|
|
128
89
|
|
|
129
|
-
|
|
130
|
-
npm run typecheck
|
|
131
|
-
```
|
|
90
|
+
## Key Features
|
|
132
91
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
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
|
-
|
|
99
|
+
Optional environment variables:
|
|
160
100
|
|
|
161
101
|
| Variable | Description | Default |
|
|
162
102
|
|----------|-------------|---------|
|
|
163
103
|
| `CACHE_DIR` | Cache directory | `.cache` |
|
|
164
|
-
| `REQUEST_TIMEOUT` |
|
|
165
|
-
| `
|
|
166
|
-
|
|
167
|
-
|
|
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
|
-
|
|
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
|
|
122
|
+
This is an unofficial tool and is not affiliated with Jamf.
|
|
199
123
|
|
|
200
|
-
##
|
|
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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -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";
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
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"}
|