@mweinbach/apple-docs-mcp 1.2.0 → 1.3.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.
@@ -3,67 +3,195 @@ import { convertToJsonApiUrl } from '../utils/url-converter.js';
3
3
  import { httpClient } from '../utils/http-client.js';
4
4
  import { logger } from '../utils/logger.js';
5
5
  import { PROCESSING_LIMITS } from '../utils/constants.js';
6
- import { formatDocumentHeader, formatDocumentAbstract, formatPlatformAvailability, formatSeeAlsoSection, isSpecificAPIDocument, } from './doc-formatter.js';
6
+ // Unused after structured JSON conversion, but kept for potential future use
7
+ // import { isSpecificAPIDocument } from './doc-formatter.js';
8
+ import { createDocResponse, toMcpResponse } from '../utils/response-formatter.js';
7
9
  /**
8
- * Format JSON documentation content with enhanced analysis
10
+ * Extract title from JSON data
9
11
  */
10
- function formatJsonDocumentation(jsonData, originalUrl, options = {}) {
11
- let content = '';
12
- // Add header with title and status
13
- content += formatDocumentHeader(jsonData);
14
- // Add abstract
15
- content += formatDocumentAbstract(jsonData);
16
- // Check if this is a specific API/symbol or an API collection
17
- if (isSpecificAPIDocument(jsonData)) {
18
- content += formatSpecificAPIContent(jsonData);
12
+ function extractTitle(jsonData) {
13
+ const title = jsonData.metadata?.title ?? 'Unknown';
14
+ const roleHeading = jsonData.metadata?.roleHeading;
15
+ return roleHeading ? `${title} (${roleHeading})` : title;
16
+ }
17
+ /**
18
+ * Extract abstract text from JSON data
19
+ */
20
+ function extractAbstract(jsonData) {
21
+ if (!jsonData.abstract)
22
+ return undefined;
23
+ return jsonData.abstract
24
+ .map((item) => item.text ?? '')
25
+ .join('')
26
+ .trim() || undefined;
27
+ }
28
+ /**
29
+ * Extract declaration from JSON data
30
+ */
31
+ function extractDeclaration(jsonData) {
32
+ if (!jsonData.primaryContentSections)
33
+ return undefined;
34
+ for (const section of jsonData.primaryContentSections) {
35
+ const typedSection = section;
36
+ if (typedSection.kind === 'declarations' && typedSection.declarations?.[0]?.tokens) {
37
+ return typedSection.declarations[0].tokens
38
+ .map((token) => token.text ?? '')
39
+ .join('');
40
+ }
19
41
  }
20
- else {
21
- content += formatAPICollectionContent(jsonData);
42
+ return undefined;
43
+ }
44
+ /**
45
+ * Extract parameters from JSON data
46
+ */
47
+ function extractParameters(jsonData) {
48
+ if (!jsonData.primaryContentSections)
49
+ return undefined;
50
+ for (const section of jsonData.primaryContentSections) {
51
+ const typedSection = section;
52
+ if (typedSection.kind === 'parameters' && typedSection.parameters) {
53
+ return typedSection.parameters.map((param) => ({
54
+ name: param.name,
55
+ description: param.content?.[0]?.inlineContent
56
+ ?.map((inline) => inline.text ?? '')
57
+ .join('') ?? '',
58
+ }));
59
+ }
22
60
  }
23
- // Add platform availability
24
- content += formatPlatformAvailability(jsonData);
25
- // Add See Also section
26
- content += formatSeeAlsoSection(jsonData);
27
- // Add enhanced analysis sections
28
- if (options.includeRelatedApis) {
29
- const relatedApis = extractRelatedApis(jsonData);
30
- if (relatedApis.length > 0) {
31
- content += formatRelatedApisSection(relatedApis);
61
+ return undefined;
62
+ }
63
+ /**
64
+ * Extract platforms from JSON data
65
+ */
66
+ function extractPlatforms(jsonData) {
67
+ if (!jsonData.metadata?.platforms)
68
+ return undefined;
69
+ return jsonData.metadata.platforms.map((platform) => ({
70
+ name: platform.name,
71
+ version: platform.introducedAt ?? 'Unknown',
72
+ status: platform.beta ? 'Beta' : platform.deprecated ? 'Deprecated' : undefined,
73
+ }));
74
+ }
75
+ /**
76
+ * Extract see also items from JSON data
77
+ */
78
+ function extractSeeAlsoItems(jsonData) {
79
+ if (!jsonData.seeAlsoSections)
80
+ return undefined;
81
+ const items = [];
82
+ for (const section of jsonData.seeAlsoSections) {
83
+ if (section.identifiers) {
84
+ for (const identifier of section.identifiers) {
85
+ const ref = jsonData.references?.[identifier];
86
+ if (ref) {
87
+ items.push({
88
+ title: ref.title ?? identifier.split('/').pop() ?? identifier,
89
+ url: ref.url ? `https://developer.apple.com${ref.url}` : undefined,
90
+ type: ref.kind ?? ref.role,
91
+ });
92
+ }
93
+ }
32
94
  }
33
95
  }
34
- if (options.includeReferences) {
35
- const references = extractReferences(jsonData);
36
- if (references.length > 0) {
37
- content += formatReferencesSection(references);
96
+ return items.length > 0 ? items : undefined;
97
+ }
98
+ /**
99
+ * Extract topic sections as structured items
100
+ */
101
+ function extractTopicItems(jsonData) {
102
+ if (!jsonData.topicSections)
103
+ return undefined;
104
+ const items = [];
105
+ for (const section of jsonData.topicSections) {
106
+ if (section.identifiers) {
107
+ for (const identifier of section.identifiers) {
108
+ const ref = jsonData.references?.[identifier];
109
+ if (ref) {
110
+ items.push({
111
+ title: ref.title ?? identifier.split('/').pop() ?? identifier,
112
+ url: ref.url ? `https://developer.apple.com${ref.url}` : undefined,
113
+ type: ref.kind ?? ref.role,
114
+ description: ref.abstract?.[0]?.text,
115
+ metadata: {
116
+ section: section.title,
117
+ deprecated: ref.deprecated,
118
+ beta: ref.beta,
119
+ },
120
+ });
121
+ }
122
+ }
38
123
  }
39
124
  }
40
- if (options.includeSimilarApis) {
41
- const similarApis = extractSimilarApis(jsonData);
42
- if (similarApis.length > 0) {
43
- content += formatSimilarApisSection(similarApis);
125
+ return items.length > 0 ? items : undefined;
126
+ }
127
+ /**
128
+ * Format JSON documentation content with enhanced analysis - returns structured JSON
129
+ */
130
+ function formatJsonDocumentation(jsonData, originalUrl, options = {}) {
131
+ // Extract structured data
132
+ const title = extractTitle(jsonData);
133
+ const abstract = extractAbstract(jsonData);
134
+ const declaration = extractDeclaration(jsonData);
135
+ const parameters = extractParameters(jsonData);
136
+ const platforms = extractPlatforms(jsonData);
137
+ const seeAlso = extractSeeAlsoItems(jsonData);
138
+ const topicItems = extractTopicItems(jsonData);
139
+ // Build related APIs if requested
140
+ let relatedApis;
141
+ if (options.includeRelatedApis) {
142
+ const related = extractRelatedApis(jsonData);
143
+ if (related.length > 0) {
144
+ relatedApis = related.map(api => ({
145
+ title: api.title,
146
+ url: api.url,
147
+ type: api.type,
148
+ description: api.abstract,
149
+ metadata: { relationship: api.relationship },
150
+ }));
44
151
  }
45
152
  }
46
- if (options.includePlatformAnalysis) {
47
- const platformAnalysis = analyzePlatformCompatibility(jsonData);
48
- if (platformAnalysis) {
49
- content += formatPlatformAnalysisSection(platformAnalysis);
153
+ // Build references if requested
154
+ let references;
155
+ if (options.includeReferences) {
156
+ const refs = extractReferences(jsonData);
157
+ if (refs.length > 0) {
158
+ references = refs.map(ref => ({
159
+ title: ref.title,
160
+ url: ref.url,
161
+ type: ref.type,
162
+ }));
50
163
  }
51
164
  }
52
- // Add link to original documentation
53
- content += `---\n\n[View full documentation on Apple Developer](${originalUrl})`;
54
- return {
55
- content: [
56
- {
57
- type: 'text',
58
- text: content,
59
- },
60
- ],
61
- };
165
+ // Combine all related items
166
+ const allRelatedItems = [
167
+ ...(relatedApis || []),
168
+ ...(references || []),
169
+ ...(topicItems || []),
170
+ ];
171
+ // Create structured response
172
+ const response = createDocResponse({
173
+ title,
174
+ url: originalUrl,
175
+ abstract,
176
+ declaration,
177
+ type: jsonData.metadata?.role ?? jsonData.metadata?.roleHeading,
178
+ parameters,
179
+ platforms,
180
+ seeAlso,
181
+ relatedApis: allRelatedItems.length > 0 ? allRelatedItems : undefined,
182
+ metadata: {
183
+ module: jsonData.metadata?.modules?.[0]?.name,
184
+ symbolKind: jsonData.metadata?.symbolKind,
185
+ beta: jsonData.metadata?.platforms?.some((p) => p.beta),
186
+ deprecated: jsonData.metadata?.platforms?.some((p) => p.deprecated),
187
+ },
188
+ });
189
+ return toMcpResponse(response);
62
190
  }
63
191
  /**
64
192
  * Format specific API content (methods, properties, etc.)
65
193
  */
66
- function formatSpecificAPIContent(jsonData) {
194
+ export function _formatSpecificAPIContent(jsonData) {
67
195
  let content = '';
68
196
  if (jsonData.primaryContentSections) {
69
197
  jsonData.primaryContentSections.forEach((section) => {
@@ -133,7 +261,7 @@ function formatSpecificAPIContent(jsonData) {
133
261
  /**
134
262
  * Format API collection content (overview + API lists)
135
263
  */
136
- function formatAPICollectionContent(jsonData) {
264
+ export function _formatAPICollectionContent(jsonData) {
137
265
  let content = '';
138
266
  // Add primary content sections (Overview)
139
267
  if (jsonData.primaryContentSections && Array.isArray(jsonData.primaryContentSections)) {
@@ -357,7 +485,7 @@ function extractReferences(jsonData) {
357
485
  /**
358
486
  * Extract similar APIs from JSON data
359
487
  */
360
- function extractSimilarApis(jsonData) {
488
+ export function _extractSimilarApis(jsonData) {
361
489
  const similarApis = [];
362
490
  // From topicSections
363
491
  if (jsonData.topicSections) {
@@ -381,7 +509,7 @@ function extractSimilarApis(jsonData) {
381
509
  /**
382
510
  * Analyze platform compatibility
383
511
  */
384
- function analyzePlatformCompatibility(jsonData) {
512
+ export function _analyzePlatformCompatibility(jsonData) {
385
513
  if (!jsonData.metadata?.platforms) {
386
514
  return null;
387
515
  }
@@ -400,7 +528,7 @@ function analyzePlatformCompatibility(jsonData) {
400
528
  /**
401
529
  * Format related APIs section
402
530
  */
403
- function formatRelatedApisSection(relatedApis) {
531
+ export function _formatRelatedApisSection(relatedApis) {
404
532
  let content = '\n## Related APIs\n\n';
405
533
  for (const api of relatedApis) {
406
534
  content += `- [**${api.title}**](${api.url}) - *${api.relationship}*\n`;
@@ -410,7 +538,7 @@ function formatRelatedApisSection(relatedApis) {
410
538
  /**
411
539
  * Format references section
412
540
  */
413
- function formatReferencesSection(references) {
541
+ export function _formatReferencesSection(references) {
414
542
  let content = '\n## Key References\n\n';
415
543
  // Group by type
416
544
  const groupedRefs = {};
@@ -436,7 +564,7 @@ function formatReferencesSection(references) {
436
564
  /**
437
565
  * Format similar APIs section
438
566
  */
439
- function formatSimilarApisSection(similarApis) {
567
+ export function _formatSimilarApisSection(similarApis) {
440
568
  let content = '\n## Similar APIs\n\n';
441
569
  // Group by category
442
570
  const groupedApis = {};
@@ -458,7 +586,7 @@ function formatSimilarApisSection(similarApis) {
458
586
  /**
459
587
  * Format platform analysis section
460
588
  */
461
- function formatPlatformAnalysisSection(analysis) {
589
+ export function _formatPlatformAnalysisSection(analysis) {
462
590
  let content = '\n## Platform Compatibility Analysis\n\n';
463
591
  content += `**Supported Platforms:** ${analysis.supportedPlatforms}\n`;
464
592
  content += `**Cross-Platform Support:** ${analysis.crossPlatform ? 'Yes' : 'No'}\n`;
@@ -1 +1 @@
1
- {"version":3,"file":"doc-fetcher.js","sourceRoot":"","sources":["../../src/tools/doc-fetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doc-fetcher.js","sourceRoot":"","sources":["../../src/tools/doc-fetcher.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import type { SearchResult } from './search-result-parser.js';
5
5
  export declare function formatSearchResults(results: SearchResult[], query: string, filterType: string, searchUrl: string): string;
6
6
  /**
7
7
  * Parse search results with reduced complexity
8
+ * Returns structured JSON response for MCP clients
8
9
  */
9
10
  export declare function parseSearchResults(html: string, query: string, searchUrl: string, filterType?: string): {
10
11
  content: Array<{
@@ -12,4 +13,14 @@ export declare function parseSearchResults(html: string, query: string, searchUr
12
13
  text: string;
13
14
  }>;
14
15
  };
16
+ /**
17
+ * Parse search results and return markdown format (legacy)
18
+ * @deprecated Use parseSearchResults for structured JSON output
19
+ */
20
+ export declare function parseSearchResultsMarkdown(html: string, query: string, searchUrl: string, filterType?: string): {
21
+ content: Array<{
22
+ type: string;
23
+ text: string;
24
+ }>;
25
+ };
15
26
  //# sourceMappingURL=search-parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-parser.d.ts","sourceRoot":"","sources":["../../src/tools/search-parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAK9D;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,YAAY,EAAE,EACvB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,MAAM,CAgCR;AA+ID;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,UAAU,GAAE,MAAc,GACzB;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAmCpD"}
1
+ {"version":3,"file":"search-parser.d.ts","sourceRoot":"","sources":["../../src/tools/search-parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAM9D;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,YAAY,EAAE,EACvB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,MAAM,CAgCR;AA+JD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,UAAU,GAAE,MAAc,GACzB;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAkDpD;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,UAAU,GAAE,MAAc,GACzB;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAmCpD"}
@@ -2,6 +2,7 @@ import * as cheerio from 'cheerio';
2
2
  import { parseSearchResult } from './search-result-parser.js';
3
3
  import { API_LIMITS } from '../utils/constants.js';
4
4
  import { logger } from '../utils/logger.js';
5
+ import { createSearchResponse, toMcpResponse } from '../utils/response-formatter.js';
5
6
  /**
6
7
  * Formats search results for display
7
8
  */
@@ -148,8 +149,24 @@ This search covers documentation and samples, but not WWDC videos. For WWDC cont
148
149
  }
149
150
  return null;
150
151
  }
152
+ /**
153
+ * Convert SearchResult to StructuredItem
154
+ */
155
+ function toStructuredItem(result) {
156
+ return {
157
+ title: result.title,
158
+ url: result.url,
159
+ type: result.type,
160
+ description: result.description,
161
+ metadata: {
162
+ framework: result.framework,
163
+ beta: result.beta,
164
+ },
165
+ };
166
+ }
151
167
  /**
152
168
  * Parse search results with reduced complexity
169
+ * Returns structured JSON response for MCP clients
153
170
  */
154
171
  export function parseSearchResults(html, query, searchUrl, filterType = 'all') {
155
172
  try {
@@ -166,7 +183,58 @@ export function parseSearchResults(html, query, searchUrl, filterType = 'all') {
166
183
  }
167
184
  return true; // Continue parsing
168
185
  });
169
- // Format results
186
+ // Convert to structured items
187
+ const structuredItems = results.map(toStructuredItem);
188
+ // Create structured response
189
+ const response = createSearchResponse({
190
+ query,
191
+ results: structuredItems,
192
+ totalCount: results.length,
193
+ filter: filterType,
194
+ });
195
+ // Add search URL to metadata
196
+ response.metadata = {
197
+ ...response.metadata,
198
+ searchUrl,
199
+ };
200
+ return toMcpResponse(response);
201
+ }
202
+ catch (error) {
203
+ logger.error('Error parsing search results:', error);
204
+ return {
205
+ content: [{
206
+ type: 'text',
207
+ text: JSON.stringify({
208
+ summary: 'Error parsing search results',
209
+ type: 'error',
210
+ metadata: {
211
+ message: error instanceof Error ? error.message : 'Unknown error',
212
+ },
213
+ }, null, 2),
214
+ }],
215
+ };
216
+ }
217
+ }
218
+ /**
219
+ * Parse search results and return markdown format (legacy)
220
+ * @deprecated Use parseSearchResults for structured JSON output
221
+ */
222
+ export function parseSearchResultsMarkdown(html, query, searchUrl, filterType = 'all') {
223
+ try {
224
+ const $ = cheerio.load(html);
225
+ const results = [];
226
+ // Parse each search result (with limit)
227
+ $('.search-result').each((_, element) => {
228
+ if (results.length >= API_LIMITS.MAX_SEARCH_RESULTS) {
229
+ return false;
230
+ }
231
+ const result = parseSearchResult($(element), filterType);
232
+ if (result) {
233
+ results.push(result);
234
+ }
235
+ return true;
236
+ });
237
+ // Format results as markdown
170
238
  const formattedContent = formatSearchResults(results, query, filterType, searchUrl);
171
239
  return {
172
240
  content: [{
@@ -1 +1 @@
1
- {"version":3,"file":"search-parser.js","sourceRoot":"","sources":["../../src/tools/search-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-parser.js","sourceRoot":"","sources":["../../src/tools/search-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Structured response formatter for MCP tool responses
3
+ * Returns JSON-structured data that AI clients can parse programmatically
4
+ */
5
+ export interface StructuredItem {
6
+ title: string;
7
+ url?: string;
8
+ type?: string;
9
+ description?: string;
10
+ metadata?: Record<string, unknown>;
11
+ }
12
+ export interface StructuredResponse {
13
+ summary: string;
14
+ type: 'documentation' | 'search_results' | 'list' | 'video' | 'error';
15
+ count?: number;
16
+ items?: StructuredItem[];
17
+ content?: {
18
+ title?: string;
19
+ abstract?: string;
20
+ declaration?: string;
21
+ parameters?: Array<{
22
+ name: string;
23
+ type?: string;
24
+ description: string;
25
+ }>;
26
+ returns?: string;
27
+ discussion?: string;
28
+ seeAlso?: StructuredItem[];
29
+ };
30
+ metadata?: Record<string, unknown>;
31
+ url?: string;
32
+ }
33
+ /**
34
+ * Format a structured response as JSON string for MCP
35
+ */
36
+ export declare function formatStructuredResponse(response: StructuredResponse): string;
37
+ /**
38
+ * Create a documentation response
39
+ */
40
+ export declare function createDocResponse(opts: {
41
+ title: string;
42
+ url: string;
43
+ abstract?: string;
44
+ declaration?: string;
45
+ type?: string;
46
+ parameters?: Array<{
47
+ name: string;
48
+ type?: string;
49
+ description: string;
50
+ }>;
51
+ returns?: string;
52
+ discussion?: string;
53
+ platforms?: Array<{
54
+ name: string;
55
+ version: string;
56
+ status?: string;
57
+ }>;
58
+ seeAlso?: StructuredItem[];
59
+ relatedApis?: StructuredItem[];
60
+ metadata?: Record<string, unknown>;
61
+ }): StructuredResponse;
62
+ /**
63
+ * Create a search results response
64
+ */
65
+ export declare function createSearchResponse(opts: {
66
+ query: string;
67
+ results: StructuredItem[];
68
+ totalCount?: number;
69
+ filter?: string;
70
+ }): StructuredResponse;
71
+ /**
72
+ * Create a list response (technologies, samples, etc.)
73
+ */
74
+ export declare function createListResponse(opts: {
75
+ title: string;
76
+ items: StructuredItem[];
77
+ totalCount?: number;
78
+ category?: string;
79
+ metadata?: Record<string, unknown>;
80
+ }): StructuredResponse;
81
+ /**
82
+ * Create a video response
83
+ */
84
+ export declare function createVideoResponse(opts: {
85
+ title: string;
86
+ url: string;
87
+ year: string;
88
+ videoId: string;
89
+ description?: string;
90
+ transcript?: string;
91
+ codeExamples?: Array<{
92
+ language: string;
93
+ code: string;
94
+ context?: string;
95
+ }>;
96
+ relatedVideos?: StructuredItem[];
97
+ metadata?: Record<string, unknown>;
98
+ }): StructuredResponse;
99
+ /**
100
+ * Create an error response
101
+ */
102
+ export declare function createErrorResponse(opts: {
103
+ message: string;
104
+ code?: string;
105
+ suggestion?: string;
106
+ }): StructuredResponse;
107
+ /**
108
+ * Wrap structured response in MCP format
109
+ */
110
+ export declare function toMcpResponse(response: StructuredResponse): {
111
+ content: Array<{
112
+ type: 'text';
113
+ text: string;
114
+ }>;
115
+ isError?: boolean;
116
+ };
117
+ //# sourceMappingURL=response-formatter.d.ts.map