@mweinbach/apple-docs-mcp 1.0.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/LICENSE +21 -0
- package/README.md +560 -0
- package/dist/constants/browser-headers.d.ts +48 -0
- package/dist/constants/browser-headers.d.ts.map +1 -0
- package/dist/constants/browser-headers.js +166 -0
- package/dist/constants/browser-headers.js.map +1 -0
- package/dist/index.d.ts +83 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +215 -0
- package/dist/index.js.map +1 -0
- package/dist/schemas/analyze-api.schema.d.ts +42 -0
- package/dist/schemas/analyze-api.schema.d.ts.map +1 -0
- package/dist/schemas/analyze-api.schema.js +23 -0
- package/dist/schemas/analyze-api.schema.js.map +1 -0
- package/dist/schemas/apple-docs.schema.d.ts +18 -0
- package/dist/schemas/apple-docs.schema.d.ts.map +1 -0
- package/dist/schemas/apple-docs.schema.js +10 -0
- package/dist/schemas/apple-docs.schema.js.map +1 -0
- package/dist/schemas/doc-content.schema.d.ts +24 -0
- package/dist/schemas/doc-content.schema.d.ts.map +1 -0
- package/dist/schemas/doc-content.schema.js +10 -0
- package/dist/schemas/doc-content.schema.js.map +1 -0
- package/dist/schemas/documentation-updates.schema.d.ts +27 -0
- package/dist/schemas/documentation-updates.schema.d.ts.map +1 -0
- package/dist/schemas/documentation-updates.schema.js +12 -0
- package/dist/schemas/documentation-updates.schema.js.map +1 -0
- package/dist/schemas/framework-symbols.schema.d.ts +24 -0
- package/dist/schemas/framework-symbols.schema.d.ts.map +1 -0
- package/dist/schemas/framework-symbols.schema.js +11 -0
- package/dist/schemas/framework-symbols.schema.js.map +1 -0
- package/dist/schemas/index.d.ts +15 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +15 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/platform-compatibility.schema.d.ts +18 -0
- package/dist/schemas/platform-compatibility.schema.d.ts.map +1 -0
- package/dist/schemas/platform-compatibility.schema.js +8 -0
- package/dist/schemas/platform-compatibility.schema.js.map +1 -0
- package/dist/schemas/references.schema.d.ts +18 -0
- package/dist/schemas/references.schema.d.ts.map +1 -0
- package/dist/schemas/references.schema.js +9 -0
- package/dist/schemas/references.schema.js.map +1 -0
- package/dist/schemas/related-apis.schema.d.ts +21 -0
- package/dist/schemas/related-apis.schema.d.ts.map +1 -0
- package/dist/schemas/related-apis.schema.js +9 -0
- package/dist/schemas/related-apis.schema.js.map +1 -0
- package/dist/schemas/sample-code.schema.d.ts +21 -0
- package/dist/schemas/sample-code.schema.d.ts.map +1 -0
- package/dist/schemas/sample-code.schema.js +10 -0
- package/dist/schemas/sample-code.schema.js.map +1 -0
- package/dist/schemas/search.schema.d.ts +15 -0
- package/dist/schemas/search.schema.d.ts.map +1 -0
- package/dist/schemas/search.schema.js +8 -0
- package/dist/schemas/search.schema.js.map +1 -0
- package/dist/schemas/similar-apis.schema.d.ts +21 -0
- package/dist/schemas/similar-apis.schema.d.ts.map +1 -0
- package/dist/schemas/similar-apis.schema.js +9 -0
- package/dist/schemas/similar-apis.schema.js.map +1 -0
- package/dist/schemas/technologies.schema.d.ts +21 -0
- package/dist/schemas/technologies.schema.d.ts.map +1 -0
- package/dist/schemas/technologies.schema.js +10 -0
- package/dist/schemas/technologies.schema.js.map +1 -0
- package/dist/schemas/technology-overviews.schema.d.ts +24 -0
- package/dist/schemas/technology-overviews.schema.d.ts.map +1 -0
- package/dist/schemas/technology-overviews.schema.js +11 -0
- package/dist/schemas/technology-overviews.schema.js.map +1 -0
- package/dist/schemas/wwdc.schemas.d.ts +208 -0
- package/dist/schemas/wwdc.schemas.d.ts.map +1 -0
- package/dist/schemas/wwdc.schemas.js +97 -0
- package/dist/schemas/wwdc.schemas.js.map +1 -0
- package/dist/tools/definitions.d.ts +10 -0
- package/dist/tools/definitions.d.ts.map +1 -0
- package/dist/tools/definitions.js +690 -0
- package/dist/tools/definitions.js.map +1 -0
- package/dist/tools/doc-fetcher.d.ts +19 -0
- package/dist/tools/doc-fetcher.d.ts.map +1 -0
- package/dist/tools/doc-fetcher.js +487 -0
- package/dist/tools/doc-fetcher.js.map +1 -0
- package/dist/tools/doc-formatter.d.ts +69 -0
- package/dist/tools/doc-formatter.d.ts.map +1 -0
- package/dist/tools/doc-formatter.js +208 -0
- package/dist/tools/doc-formatter.js.map +1 -0
- package/dist/tools/find-similar-apis.d.ts +5 -0
- package/dist/tools/find-similar-apis.d.ts.map +1 -0
- package/dist/tools/find-similar-apis.js +275 -0
- package/dist/tools/find-similar-apis.js.map +1 -0
- package/dist/tools/get-documentation-updates.d.ts +5 -0
- package/dist/tools/get-documentation-updates.d.ts.map +1 -0
- package/dist/tools/get-documentation-updates.js +244 -0
- package/dist/tools/get-documentation-updates.js.map +1 -0
- package/dist/tools/get-platform-compatibility.d.ts +5 -0
- package/dist/tools/get-platform-compatibility.d.ts.map +1 -0
- package/dist/tools/get-platform-compatibility.js +205 -0
- package/dist/tools/get-platform-compatibility.js.map +1 -0
- package/dist/tools/get-related-apis.d.ts +5 -0
- package/dist/tools/get-related-apis.d.ts.map +1 -0
- package/dist/tools/get-related-apis.js +155 -0
- package/dist/tools/get-related-apis.js.map +1 -0
- package/dist/tools/get-sample-code.d.ts +5 -0
- package/dist/tools/get-sample-code.d.ts.map +1 -0
- package/dist/tools/get-sample-code.js +375 -0
- package/dist/tools/get-sample-code.js.map +1 -0
- package/dist/tools/get-technology-overviews.d.ts +5 -0
- package/dist/tools/get-technology-overviews.d.ts.map +1 -0
- package/dist/tools/get-technology-overviews.js +306 -0
- package/dist/tools/get-technology-overviews.js.map +1 -0
- package/dist/tools/handlers.d.ts +29 -0
- package/dist/tools/handlers.d.ts.map +1 -0
- package/dist/tools/handlers.js +350 -0
- package/dist/tools/handlers.js.map +1 -0
- package/dist/tools/list-technologies.d.ts +5 -0
- package/dist/tools/list-technologies.d.ts.map +1 -0
- package/dist/tools/list-technologies.js +165 -0
- package/dist/tools/list-technologies.js.map +1 -0
- package/dist/tools/resolve-references-batch.d.ts +5 -0
- package/dist/tools/resolve-references-batch.d.ts.map +1 -0
- package/dist/tools/resolve-references-batch.js +199 -0
- package/dist/tools/resolve-references-batch.js.map +1 -0
- package/dist/tools/search-framework-symbols.d.ts +7 -0
- package/dist/tools/search-framework-symbols.d.ts.map +1 -0
- package/dist/tools/search-framework-symbols.js +235 -0
- package/dist/tools/search-framework-symbols.js.map +1 -0
- package/dist/tools/search-parser.d.ts +15 -0
- package/dist/tools/search-parser.d.ts.map +1 -0
- package/dist/tools/search-parser.js +188 -0
- package/dist/tools/search-parser.js.map +1 -0
- package/dist/tools/search-result-parser.d.ts +52 -0
- package/dist/tools/search-result-parser.d.ts.map +1 -0
- package/dist/tools/search-result-parser.js +137 -0
- package/dist/tools/search-result-parser.js.map +1 -0
- package/dist/tools/tools-guide.d.ts +124 -0
- package/dist/tools/tools-guide.d.ts.map +1 -0
- package/dist/tools/tools-guide.js +389 -0
- package/dist/tools/tools-guide.js.map +1 -0
- package/dist/tools/wwdc/content-extractor.d.ts +9 -0
- package/dist/tools/wwdc/content-extractor.d.ts.map +1 -0
- package/dist/tools/wwdc/content-extractor.js +520 -0
- package/dist/tools/wwdc/content-extractor.js.map +1 -0
- package/dist/tools/wwdc/topics-extractor.d.ts +32 -0
- package/dist/tools/wwdc/topics-extractor.d.ts.map +1 -0
- package/dist/tools/wwdc/topics-extractor.js +146 -0
- package/dist/tools/wwdc/topics-extractor.js.map +1 -0
- package/dist/tools/wwdc/video-list-extractor.d.ts +13 -0
- package/dist/tools/wwdc/video-list-extractor.d.ts.map +1 -0
- package/dist/tools/wwdc/video-list-extractor.js +238 -0
- package/dist/tools/wwdc/video-list-extractor.js.map +1 -0
- package/dist/tools/wwdc/wwdc-handlers.d.ts +32 -0
- package/dist/tools/wwdc/wwdc-handlers.d.ts.map +1 -0
- package/dist/tools/wwdc/wwdc-handlers.js +791 -0
- package/dist/tools/wwdc/wwdc-handlers.js.map +1 -0
- package/dist/types/apple-docs.d.ts +112 -0
- package/dist/types/apple-docs.d.ts.map +1 -0
- package/dist/types/apple-docs.js +5 -0
- package/dist/types/apple-docs.js.map +1 -0
- package/dist/types/cache.d.ts +28 -0
- package/dist/types/cache.d.ts.map +1 -0
- package/dist/types/cache.js +5 -0
- package/dist/types/cache.js.map +1 -0
- package/dist/types/content-sections.d.ts +37 -0
- package/dist/types/content-sections.d.ts.map +1 -0
- package/dist/types/content-sections.js +5 -0
- package/dist/types/content-sections.js.map +1 -0
- package/dist/types/error.d.ts +39 -0
- package/dist/types/error.d.ts.map +1 -0
- package/dist/types/error.js +21 -0
- package/dist/types/error.js.map +1 -0
- package/dist/types/headers.d.ts +95 -0
- package/dist/types/headers.d.ts.map +1 -0
- package/dist/types/headers.js +5 -0
- package/dist/types/headers.js.map +1 -0
- package/dist/types/http.d.ts +31 -0
- package/dist/types/http.d.ts.map +1 -0
- package/dist/types/http.js +5 -0
- package/dist/types/http.js.map +1 -0
- package/dist/types/index.d.ts +11 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +12 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/search.d.ts +62 -0
- package/dist/types/search.d.ts.map +1 -0
- package/dist/types/search.js +5 -0
- package/dist/types/search.js.map +1 -0
- package/dist/types/sections.d.ts +64 -0
- package/dist/types/sections.d.ts.map +1 -0
- package/dist/types/sections.js +5 -0
- package/dist/types/sections.js.map +1 -0
- package/dist/types/tools/platform.d.ts +33 -0
- package/dist/types/tools/platform.d.ts.map +1 -0
- package/dist/types/tools/platform.js +5 -0
- package/dist/types/tools/platform.js.map +1 -0
- package/dist/types/tools/sample-code.d.ts +23 -0
- package/dist/types/tools/sample-code.d.ts.map +1 -0
- package/dist/types/tools/sample-code.js +5 -0
- package/dist/types/tools/sample-code.js.map +1 -0
- package/dist/types/tools/technology.d.ts +18 -0
- package/dist/types/tools/technology.d.ts.map +1 -0
- package/dist/types/tools/technology.js +5 -0
- package/dist/types/tools/technology.js.map +1 -0
- package/dist/types/tools/updates.d.ts +23 -0
- package/dist/types/tools/updates.d.ts.map +1 -0
- package/dist/types/tools/updates.js +5 -0
- package/dist/types/tools/updates.js.map +1 -0
- package/dist/types/wwdc.d.ts +200 -0
- package/dist/types/wwdc.d.ts.map +1 -0
- package/dist/types/wwdc.js +5 -0
- package/dist/types/wwdc.js.map +1 -0
- package/dist/utils/cache-warmer.d.ts +22 -0
- package/dist/utils/cache-warmer.d.ts.map +1 -0
- package/dist/utils/cache-warmer.js +115 -0
- package/dist/utils/cache-warmer.js.map +1 -0
- package/dist/utils/cache.d.ts +109 -0
- package/dist/utils/cache.d.ts.map +1 -0
- package/dist/utils/cache.js +302 -0
- package/dist/utils/cache.js.map +1 -0
- package/dist/utils/constants.d.ts +178 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/constants.js +266 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/error-handler.d.ts +80 -0
- package/dist/utils/error-handler.d.ts.map +1 -0
- package/dist/utils/error-handler.js +437 -0
- package/dist/utils/error-handler.js.map +1 -0
- package/dist/utils/framework-mapper.d.ts +84 -0
- package/dist/utils/framework-mapper.d.ts.map +1 -0
- package/dist/utils/framework-mapper.js +534 -0
- package/dist/utils/framework-mapper.js.map +1 -0
- package/dist/utils/http-client.d.ts +130 -0
- package/dist/utils/http-client.d.ts.map +1 -0
- package/dist/utils/http-client.js +464 -0
- package/dist/utils/http-client.js.map +1 -0
- package/dist/utils/http-headers-generator.d.ts +151 -0
- package/dist/utils/http-headers-generator.d.ts.map +1 -0
- package/dist/utils/http-headers-generator.js +407 -0
- package/dist/utils/http-headers-generator.js.map +1 -0
- package/dist/utils/logger.d.ts +44 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +73 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/preloader.d.ts +20 -0
- package/dist/utils/preloader.d.ts.map +1 -0
- package/dist/utils/preloader.js +82 -0
- package/dist/utils/preloader.js.map +1 -0
- package/dist/utils/rate-limiter.d.ts +28 -0
- package/dist/utils/rate-limiter.d.ts.map +1 -0
- package/dist/utils/rate-limiter.js +48 -0
- package/dist/utils/rate-limiter.js.map +1 -0
- package/dist/utils/topic-mapper.d.ts +18 -0
- package/dist/utils/topic-mapper.d.ts.map +1 -0
- package/dist/utils/topic-mapper.js +182 -0
- package/dist/utils/topic-mapper.js.map +1 -0
- package/dist/utils/url-converter.d.ts +22 -0
- package/dist/utils/url-converter.d.ts.map +1 -0
- package/dist/utils/url-converter.js +70 -0
- package/dist/utils/url-converter.js.map +1 -0
- package/dist/utils/user-agent-pool.d.ts +241 -0
- package/dist/utils/user-agent-pool.d.ts.map +1 -0
- package/dist/utils/user-agent-pool.js +557 -0
- package/dist/utils/user-agent-pool.js.map +1 -0
- package/dist/utils/wwdc-data-source-path.d.ts +9 -0
- package/dist/utils/wwdc-data-source-path.d.ts.map +1 -0
- package/dist/utils/wwdc-data-source-path.js +22 -0
- package/dist/utils/wwdc-data-source-path.js.map +1 -0
- package/dist/utils/wwdc-data-source.d.ts +36 -0
- package/dist/utils/wwdc-data-source.d.ts.map +1 -0
- package/dist/utils/wwdc-data-source.js +133 -0
- package/dist/utils/wwdc-data-source.js.map +1 -0
- package/package.json +83 -0
|
@@ -0,0 +1,389 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Selection Guide for Apple Docs MCP
|
|
3
|
+
*
|
|
4
|
+
* This guide helps AI assistants choose the right tool for each task
|
|
5
|
+
* and understand tool relationships and best practices.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Tool Categories and Primary Use Cases
|
|
9
|
+
*/
|
|
10
|
+
export const TOOL_CATEGORIES = {
|
|
11
|
+
/**
|
|
12
|
+
* Search and Discovery Tools
|
|
13
|
+
* Use these to find information
|
|
14
|
+
*/
|
|
15
|
+
SEARCH: {
|
|
16
|
+
tools: ['search_apple_docs', 'search_wwdc_content'],
|
|
17
|
+
description: 'Primary tools for finding APIs, documentation, and video content',
|
|
18
|
+
whenToUse: [
|
|
19
|
+
'User asks about a specific API or framework',
|
|
20
|
+
'User wants to find documentation on a topic',
|
|
21
|
+
'User is looking for code examples or implementations',
|
|
22
|
+
],
|
|
23
|
+
},
|
|
24
|
+
/**
|
|
25
|
+
* Browse and Explore Tools
|
|
26
|
+
* Use these to discover what's available
|
|
27
|
+
*/
|
|
28
|
+
BROWSE: {
|
|
29
|
+
tools: ['list_technologies', 'search_framework_symbols', 'get_sample_code', 'list_wwdc_videos', 'browse_wwdc_topics'],
|
|
30
|
+
description: 'Tools for exploring available frameworks, APIs, and content',
|
|
31
|
+
whenToUse: [
|
|
32
|
+
'User wants to know what frameworks are available',
|
|
33
|
+
'User wants to explore APIs in a specific framework',
|
|
34
|
+
'User is browsing for examples or learning materials',
|
|
35
|
+
],
|
|
36
|
+
},
|
|
37
|
+
/**
|
|
38
|
+
* Deep Dive Tools
|
|
39
|
+
* Use these to get detailed information
|
|
40
|
+
*/
|
|
41
|
+
DETAILS: {
|
|
42
|
+
tools: ['get_apple_doc_content', 'get_wwdc_video'],
|
|
43
|
+
description: 'Tools for reading full documentation or video content',
|
|
44
|
+
whenToUse: [
|
|
45
|
+
'After finding content with search tools',
|
|
46
|
+
'User wants complete API documentation',
|
|
47
|
+
'User wants to read WWDC session transcript',
|
|
48
|
+
],
|
|
49
|
+
},
|
|
50
|
+
/**
|
|
51
|
+
* Analysis Tools
|
|
52
|
+
* Use these to understand relationships and compatibility
|
|
53
|
+
*/
|
|
54
|
+
ANALYSIS: {
|
|
55
|
+
tools: ['get_related_apis', 'resolve_references_batch', 'get_platform_compatibility', 'find_similar_apis', 'find_related_wwdc_videos'],
|
|
56
|
+
description: 'Tools for analyzing API relationships, compatibility, and alternatives',
|
|
57
|
+
whenToUse: [
|
|
58
|
+
'User needs to understand API inheritance or protocols',
|
|
59
|
+
'User wants to check platform/version compatibility',
|
|
60
|
+
'User is looking for alternative or better APIs',
|
|
61
|
+
],
|
|
62
|
+
},
|
|
63
|
+
/**
|
|
64
|
+
* Stay Current Tools
|
|
65
|
+
* Use these to track updates and changes
|
|
66
|
+
*/
|
|
67
|
+
UPDATES: {
|
|
68
|
+
tools: ['get_documentation_updates', 'get_technology_overviews'],
|
|
69
|
+
description: 'Tools for staying up-to-date with Apple platform changes',
|
|
70
|
+
whenToUse: [
|
|
71
|
+
'User wants to know what\'s new',
|
|
72
|
+
'User is tracking API changes',
|
|
73
|
+
'User wants overview of technology areas',
|
|
74
|
+
],
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Recommended Tool Workflows
|
|
79
|
+
*/
|
|
80
|
+
export const TOOL_WORKFLOWS = {
|
|
81
|
+
/**
|
|
82
|
+
* Learning a New Framework
|
|
83
|
+
*/
|
|
84
|
+
LEARN_FRAMEWORK: {
|
|
85
|
+
steps: [
|
|
86
|
+
{ tool: 'list_technologies', purpose: 'Find the framework identifier' },
|
|
87
|
+
{ tool: 'search_framework_symbols', purpose: 'Explore available APIs' },
|
|
88
|
+
{ tool: 'get_technology_overviews', purpose: 'Read conceptual guides' },
|
|
89
|
+
{ tool: 'get_sample_code', purpose: 'Find example projects' },
|
|
90
|
+
{ tool: 'list_wwdc_videos', purpose: 'Find relevant sessions' },
|
|
91
|
+
],
|
|
92
|
+
},
|
|
93
|
+
/**
|
|
94
|
+
* Understanding an API
|
|
95
|
+
*/
|
|
96
|
+
UNDERSTAND_API: {
|
|
97
|
+
steps: [
|
|
98
|
+
{ tool: 'search_apple_docs', purpose: 'Find the API' },
|
|
99
|
+
{ tool: 'get_apple_doc_content', purpose: 'Read full documentation' },
|
|
100
|
+
{ tool: 'get_related_apis', purpose: 'Understand relationships' },
|
|
101
|
+
{ tool: 'get_platform_compatibility', purpose: 'Check availability' },
|
|
102
|
+
{ tool: 'find_similar_apis', purpose: 'Find alternatives' },
|
|
103
|
+
],
|
|
104
|
+
},
|
|
105
|
+
/**
|
|
106
|
+
* Finding Code Examples
|
|
107
|
+
*/
|
|
108
|
+
FIND_EXAMPLES: {
|
|
109
|
+
steps: [
|
|
110
|
+
{ tool: 'search_apple_docs', purpose: 'Find code snippets in docs' },
|
|
111
|
+
{ tool: 'get_sample_code', purpose: 'Find complete sample projects' },
|
|
112
|
+
{ tool: 'search_wwdc_content', purpose: 'Search WWDC code examples' },
|
|
113
|
+
{ tool: 'get_wwdc_code_examples', purpose: 'Browse all WWDC code' },
|
|
114
|
+
],
|
|
115
|
+
},
|
|
116
|
+
/**
|
|
117
|
+
* WWDC Content Discovery
|
|
118
|
+
*/
|
|
119
|
+
WWDC_DISCOVERY: {
|
|
120
|
+
steps: [
|
|
121
|
+
{ tool: 'list_wwdc_videos', purpose: 'Browse available sessions' },
|
|
122
|
+
{ tool: 'browse_wwdc_topics', purpose: 'Explore by topic' },
|
|
123
|
+
{ tool: 'search_wwdc_content', purpose: 'Search specific content' },
|
|
124
|
+
{ tool: 'get_wwdc_video', purpose: 'Read full transcript' },
|
|
125
|
+
{ tool: 'find_related_wwdc_videos', purpose: 'Find related sessions' },
|
|
126
|
+
],
|
|
127
|
+
},
|
|
128
|
+
};
|
|
129
|
+
/**
|
|
130
|
+
* Tool Selection Decision Tree
|
|
131
|
+
*/
|
|
132
|
+
export function selectToolForQuery(query) {
|
|
133
|
+
const queryLower = query.toLowerCase();
|
|
134
|
+
const recommendedTools = [];
|
|
135
|
+
// Search queries
|
|
136
|
+
if (queryLower.includes('search') || queryLower.includes('find')) {
|
|
137
|
+
if (queryLower.includes('video') || queryLower.includes('wwdc')) {
|
|
138
|
+
recommendedTools.push('search_wwdc_content');
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
recommendedTools.push('search_apple_docs');
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
// Browse/list queries
|
|
145
|
+
if (queryLower.includes('list') || queryLower.includes('browse') || queryLower.includes('show all')) {
|
|
146
|
+
if (queryLower.includes('framework') || queryLower.includes('technolog')) {
|
|
147
|
+
recommendedTools.push('list_technologies');
|
|
148
|
+
}
|
|
149
|
+
else if (queryLower.includes('video') || queryLower.includes('wwdc')) {
|
|
150
|
+
recommendedTools.push('list_wwdc_videos');
|
|
151
|
+
}
|
|
152
|
+
else if (queryLower.includes('sample') || queryLower.includes('example')) {
|
|
153
|
+
recommendedTools.push('get_sample_code');
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
// API analysis queries
|
|
157
|
+
if (queryLower.includes('inherit') || queryLower.includes('protocol') || queryLower.includes('conform')) {
|
|
158
|
+
recommendedTools.push('get_related_apis');
|
|
159
|
+
}
|
|
160
|
+
if (queryLower.includes('platform') || queryLower.includes('compatibility') || queryLower.includes('available')) {
|
|
161
|
+
recommendedTools.push('get_platform_compatibility');
|
|
162
|
+
}
|
|
163
|
+
if (queryLower.includes('alternative') || queryLower.includes('similar') || queryLower.includes('instead')) {
|
|
164
|
+
recommendedTools.push('find_similar_apis');
|
|
165
|
+
}
|
|
166
|
+
// Update queries
|
|
167
|
+
if (queryLower.includes('new') || queryLower.includes('update') || queryLower.includes('change')) {
|
|
168
|
+
recommendedTools.push('get_documentation_updates');
|
|
169
|
+
}
|
|
170
|
+
return recommendedTools;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Common Tool Combinations
|
|
174
|
+
*/
|
|
175
|
+
export const TOOL_COMBINATIONS = {
|
|
176
|
+
// Search then read pattern
|
|
177
|
+
SEARCH_AND_READ: ['search_apple_docs', 'get_apple_doc_content'],
|
|
178
|
+
// Framework exploration pattern
|
|
179
|
+
FRAMEWORK_EXPLORE: ['list_technologies', 'search_framework_symbols'],
|
|
180
|
+
// WWDC discovery pattern
|
|
181
|
+
WWDC_EXPLORE: ['list_wwdc_videos', 'get_wwdc_video'],
|
|
182
|
+
// API analysis pattern
|
|
183
|
+
API_ANALYSIS: ['get_related_apis', 'get_platform_compatibility', 'find_similar_apis'],
|
|
184
|
+
// Code example pattern
|
|
185
|
+
CODE_EXAMPLES: ['search_apple_docs', 'get_sample_code', 'get_wwdc_code_examples'],
|
|
186
|
+
};
|
|
187
|
+
/**
|
|
188
|
+
* Tool Usage Tips
|
|
189
|
+
*/
|
|
190
|
+
export const USAGE_TIPS = {
|
|
191
|
+
// Performance tips
|
|
192
|
+
PERFORMANCE: [
|
|
193
|
+
'Use specific search queries to get better results',
|
|
194
|
+
'Set appropriate limits to avoid overwhelming output',
|
|
195
|
+
'Use type filters when searching for specific kinds of APIs',
|
|
196
|
+
'Use compact: true for discovery (reduces token usage by ~80%)',
|
|
197
|
+
],
|
|
198
|
+
// Accuracy tips
|
|
199
|
+
ACCURACY: [
|
|
200
|
+
'Framework names are case-sensitive in some tools',
|
|
201
|
+
'Use list_technologies to get exact framework identifiers',
|
|
202
|
+
'WWDC tools have offline data from 2020-2025',
|
|
203
|
+
],
|
|
204
|
+
// Efficiency tips
|
|
205
|
+
EFFICIENCY: [
|
|
206
|
+
'Start with search/browse tools before detailed reads',
|
|
207
|
+
'Use boolean flags to include only needed information',
|
|
208
|
+
'Combine related tools in sequence for comprehensive results',
|
|
209
|
+
'Use unified tools (apple_docs, wwdc, analyze_api) for simpler workflows',
|
|
210
|
+
],
|
|
211
|
+
};
|
|
212
|
+
const workflows = [
|
|
213
|
+
{
|
|
214
|
+
name: 'Learning a Framework',
|
|
215
|
+
pattern: /learn|getting started|tutorial|beginner|introduction|basics/i,
|
|
216
|
+
description: 'Start with overview content, then dive into specific APIs',
|
|
217
|
+
tools: [
|
|
218
|
+
{ tool: 'get_technology_overviews', purpose: 'Get high-level guides and best practices' },
|
|
219
|
+
{ tool: 'list_technologies', purpose: 'Discover framework structure' },
|
|
220
|
+
{ tool: 'get_sample_code', purpose: 'Find working examples' },
|
|
221
|
+
{ tool: 'wwdc', purpose: 'Watch educational sessions (action: search)' },
|
|
222
|
+
],
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
name: 'Finding WWDC Content',
|
|
226
|
+
pattern: /wwdc|video|session|keynote|watch|presentation/i,
|
|
227
|
+
description: 'Use the unified wwdc tool for all WWDC content',
|
|
228
|
+
tools: [
|
|
229
|
+
{ tool: 'wwdc', purpose: 'Unified access to all WWDC content' },
|
|
230
|
+
],
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
name: 'API Reference Lookup',
|
|
234
|
+
pattern: /api|class|struct|protocol|method|property|function|documentation|docs/i,
|
|
235
|
+
description: 'Search then get detailed documentation',
|
|
236
|
+
tools: [
|
|
237
|
+
{ tool: 'search_apple_docs', purpose: 'Find API documentation' },
|
|
238
|
+
{ tool: 'get_apple_doc_content', purpose: 'Get full documentation details' },
|
|
239
|
+
{ tool: 'analyze_api', purpose: 'Understand relationships and alternatives' },
|
|
240
|
+
],
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
name: 'Platform Compatibility',
|
|
244
|
+
pattern: /ios \d+|macos \d+|platform|availability|deprecated|version|minimum|requirement/i,
|
|
245
|
+
description: 'Check API availability across platforms',
|
|
246
|
+
tools: [
|
|
247
|
+
{ tool: 'get_platform_compatibility', purpose: 'Check version requirements' },
|
|
248
|
+
{ tool: 'get_apple_doc_content', purpose: 'With includePlatformAnalysis: true' },
|
|
249
|
+
],
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
name: 'Code Examples',
|
|
253
|
+
pattern: /code|example|sample|implementation|how to|snippet/i,
|
|
254
|
+
description: 'Find code examples from samples and WWDC',
|
|
255
|
+
tools: [
|
|
256
|
+
{ tool: 'get_sample_code', purpose: 'Complete sample projects from Apple' },
|
|
257
|
+
{ tool: 'wwdc', purpose: 'Code examples from sessions (action: code)' },
|
|
258
|
+
{ tool: 'search_apple_docs', purpose: 'Search with type: "sample"' },
|
|
259
|
+
],
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
name: 'Finding Alternatives',
|
|
263
|
+
pattern: /alternative|similar|replace|deprecated|modern|equivalent|instead/i,
|
|
264
|
+
description: 'Find alternative or modern APIs',
|
|
265
|
+
tools: [
|
|
266
|
+
{ tool: 'analyze_api', purpose: 'With analysis: "similar"' },
|
|
267
|
+
{ tool: 'get_related_apis', purpose: 'Find See Also recommendations' },
|
|
268
|
+
],
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
name: 'Framework Exploration',
|
|
272
|
+
pattern: /explore|browse|discover|list|what|available/i,
|
|
273
|
+
description: 'Browse available frameworks and symbols',
|
|
274
|
+
tools: [
|
|
275
|
+
{ tool: 'list_technologies', purpose: 'Browse all frameworks' },
|
|
276
|
+
{ tool: 'search_framework_symbols', purpose: 'Explore symbols in a framework' },
|
|
277
|
+
],
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
name: 'Updates and News',
|
|
281
|
+
pattern: /new|update|latest|release|announcement|change/i,
|
|
282
|
+
description: 'Find recent updates and changes',
|
|
283
|
+
tools: [
|
|
284
|
+
{ tool: 'get_documentation_updates', purpose: 'Track API updates and announcements' },
|
|
285
|
+
{ tool: 'wwdc', purpose: 'Latest WWDC sessions (action: list, year: "2025")' },
|
|
286
|
+
],
|
|
287
|
+
},
|
|
288
|
+
];
|
|
289
|
+
/**
|
|
290
|
+
* Get tool description for guide
|
|
291
|
+
*/
|
|
292
|
+
function getToolDescriptionForGuide(tool) {
|
|
293
|
+
const descriptions = {
|
|
294
|
+
'apple_docs': 'Universal entry point - routes to appropriate tool automatically',
|
|
295
|
+
'wwdc': 'Unified WWDC access - list, search, get details, code examples',
|
|
296
|
+
'analyze_api': 'API analysis - related APIs, alternatives, references',
|
|
297
|
+
'get_tool_guide': 'This tool - get recommendations',
|
|
298
|
+
'search_apple_docs': 'Search documentation by keywords',
|
|
299
|
+
'get_apple_doc_content': 'Get full documentation from URL',
|
|
300
|
+
'list_technologies': 'Browse all Apple frameworks',
|
|
301
|
+
'search_framework_symbols': 'Explore symbols within a framework',
|
|
302
|
+
'get_sample_code': 'Browse complete sample projects',
|
|
303
|
+
'get_documentation_updates': 'Track API updates and announcements',
|
|
304
|
+
'get_technology_overviews': 'High-level guides and tutorials',
|
|
305
|
+
'get_platform_compatibility': 'Check API availability across platforms',
|
|
306
|
+
'get_related_apis': 'Find inheritance and protocol relationships',
|
|
307
|
+
'find_similar_apis': 'Discover alternative APIs',
|
|
308
|
+
'resolve_references_batch': 'Resolve all referenced types',
|
|
309
|
+
};
|
|
310
|
+
return descriptions[tool] || 'Documentation tool';
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Find matching workflows for a task
|
|
314
|
+
*/
|
|
315
|
+
function findMatchingWorkflows(task) {
|
|
316
|
+
return workflows.filter(w => w.pattern.test(task));
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* Select recommended tools based on query
|
|
320
|
+
*/
|
|
321
|
+
function selectToolsForTask(task) {
|
|
322
|
+
const taskLower = task.toLowerCase();
|
|
323
|
+
const tools = [];
|
|
324
|
+
// Check for URL - direct to get_apple_doc_content
|
|
325
|
+
if (taskLower.includes('developer.apple.com')) {
|
|
326
|
+
tools.push('get_apple_doc_content');
|
|
327
|
+
return tools;
|
|
328
|
+
}
|
|
329
|
+
// Check patterns
|
|
330
|
+
if (/wwdc|video|session/.test(taskLower)) {
|
|
331
|
+
tools.push('wwdc');
|
|
332
|
+
}
|
|
333
|
+
if (/search|find|look/.test(taskLower) && !/wwdc|video/.test(taskLower)) {
|
|
334
|
+
tools.push('search_apple_docs');
|
|
335
|
+
}
|
|
336
|
+
if (/api|class|struct|protocol/.test(taskLower)) {
|
|
337
|
+
tools.push('get_apple_doc_content', 'analyze_api');
|
|
338
|
+
}
|
|
339
|
+
if (/sample|example|code/.test(taskLower)) {
|
|
340
|
+
tools.push('get_sample_code');
|
|
341
|
+
}
|
|
342
|
+
if (/learn|tutorial|getting started/.test(taskLower)) {
|
|
343
|
+
tools.push('get_technology_overviews');
|
|
344
|
+
}
|
|
345
|
+
if (/platform|availability|ios|macos/.test(taskLower)) {
|
|
346
|
+
tools.push('get_platform_compatibility');
|
|
347
|
+
}
|
|
348
|
+
if (/framework|list|browse/.test(taskLower)) {
|
|
349
|
+
tools.push('list_technologies');
|
|
350
|
+
}
|
|
351
|
+
// Default recommendation
|
|
352
|
+
if (tools.length === 0) {
|
|
353
|
+
tools.push('apple_docs');
|
|
354
|
+
}
|
|
355
|
+
return [...new Set(tools)];
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
358
|
+
* Handle get_tool_guide request
|
|
359
|
+
*/
|
|
360
|
+
export function handleGetToolGuide(task) {
|
|
361
|
+
const recommendedTools = selectToolsForTask(task);
|
|
362
|
+
const matchingWorkflows = findMatchingWorkflows(task);
|
|
363
|
+
let guide = '# Tool Recommendation\n\n';
|
|
364
|
+
guide += `**Task:** ${task}\n\n`;
|
|
365
|
+
// Recommended tools
|
|
366
|
+
guide += '## Recommended Tools\n\n';
|
|
367
|
+
if (recommendedTools.length > 0) {
|
|
368
|
+
recommendedTools.forEach(tool => {
|
|
369
|
+
guide += `- **${tool}**: ${getToolDescriptionForGuide(tool)}\n`;
|
|
370
|
+
});
|
|
371
|
+
}
|
|
372
|
+
// Matching workflows
|
|
373
|
+
if (matchingWorkflows.length > 0) {
|
|
374
|
+
guide += '\n## Suggested Workflow\n\n';
|
|
375
|
+
const workflow = matchingWorkflows[0];
|
|
376
|
+
guide += `**${workflow.name}**: ${workflow.description}\n\n`;
|
|
377
|
+
workflow.tools.forEach((step, i) => {
|
|
378
|
+
guide += `${i + 1}. \`${step.tool}\` - ${step.purpose}\n`;
|
|
379
|
+
});
|
|
380
|
+
}
|
|
381
|
+
// Quick tips
|
|
382
|
+
guide += '\n## Quick Tips\n\n';
|
|
383
|
+
guide += '- Use `compact: true` for discovery (returns titles + URLs only)\n';
|
|
384
|
+
guide += '- Use `apple_docs` if unsure - it auto-routes your query\n';
|
|
385
|
+
guide += '- Use `wwdc` for all WWDC content (replaces 7 individual tools)\n';
|
|
386
|
+
guide += '- Use `analyze_api` for deep API analysis (replaces 3 tools)\n';
|
|
387
|
+
return guide;
|
|
388
|
+
}
|
|
389
|
+
//# sourceMappingURL=tools-guide.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools-guide.js","sourceRoot":"","sources":["../../src/tools/tools-guide.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WWDC video content extractor
|
|
3
|
+
*/
|
|
4
|
+
import type { WWDCVideo } from '../../types/wwdc.js';
|
|
5
|
+
/**
|
|
6
|
+
* Extract complete content for a single WWDC video
|
|
7
|
+
*/
|
|
8
|
+
export declare function extractVideoContent(videoUrl: string, videoId: string, year: string, knownTopics?: string[]): Promise<WWDCVideo>;
|
|
9
|
+
//# sourceMappingURL=content-extractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-extractor.d.ts","sourceRoot":"","sources":["../../../src/tools/wwdc/content-extractor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EACV,SAAS,EAOV,MAAM,qBAAqB,CAAC;AAG7B;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,SAAS,CAAC,CAsEpB"}
|