@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.
Files changed (267) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +560 -0
  3. package/dist/constants/browser-headers.d.ts +48 -0
  4. package/dist/constants/browser-headers.d.ts.map +1 -0
  5. package/dist/constants/browser-headers.js +166 -0
  6. package/dist/constants/browser-headers.js.map +1 -0
  7. package/dist/index.d.ts +83 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +215 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/schemas/analyze-api.schema.d.ts +42 -0
  12. package/dist/schemas/analyze-api.schema.d.ts.map +1 -0
  13. package/dist/schemas/analyze-api.schema.js +23 -0
  14. package/dist/schemas/analyze-api.schema.js.map +1 -0
  15. package/dist/schemas/apple-docs.schema.d.ts +18 -0
  16. package/dist/schemas/apple-docs.schema.d.ts.map +1 -0
  17. package/dist/schemas/apple-docs.schema.js +10 -0
  18. package/dist/schemas/apple-docs.schema.js.map +1 -0
  19. package/dist/schemas/doc-content.schema.d.ts +24 -0
  20. package/dist/schemas/doc-content.schema.d.ts.map +1 -0
  21. package/dist/schemas/doc-content.schema.js +10 -0
  22. package/dist/schemas/doc-content.schema.js.map +1 -0
  23. package/dist/schemas/documentation-updates.schema.d.ts +27 -0
  24. package/dist/schemas/documentation-updates.schema.d.ts.map +1 -0
  25. package/dist/schemas/documentation-updates.schema.js +12 -0
  26. package/dist/schemas/documentation-updates.schema.js.map +1 -0
  27. package/dist/schemas/framework-symbols.schema.d.ts +24 -0
  28. package/dist/schemas/framework-symbols.schema.d.ts.map +1 -0
  29. package/dist/schemas/framework-symbols.schema.js +11 -0
  30. package/dist/schemas/framework-symbols.schema.js.map +1 -0
  31. package/dist/schemas/index.d.ts +15 -0
  32. package/dist/schemas/index.d.ts.map +1 -0
  33. package/dist/schemas/index.js +15 -0
  34. package/dist/schemas/index.js.map +1 -0
  35. package/dist/schemas/platform-compatibility.schema.d.ts +18 -0
  36. package/dist/schemas/platform-compatibility.schema.d.ts.map +1 -0
  37. package/dist/schemas/platform-compatibility.schema.js +8 -0
  38. package/dist/schemas/platform-compatibility.schema.js.map +1 -0
  39. package/dist/schemas/references.schema.d.ts +18 -0
  40. package/dist/schemas/references.schema.d.ts.map +1 -0
  41. package/dist/schemas/references.schema.js +9 -0
  42. package/dist/schemas/references.schema.js.map +1 -0
  43. package/dist/schemas/related-apis.schema.d.ts +21 -0
  44. package/dist/schemas/related-apis.schema.d.ts.map +1 -0
  45. package/dist/schemas/related-apis.schema.js +9 -0
  46. package/dist/schemas/related-apis.schema.js.map +1 -0
  47. package/dist/schemas/sample-code.schema.d.ts +21 -0
  48. package/dist/schemas/sample-code.schema.d.ts.map +1 -0
  49. package/dist/schemas/sample-code.schema.js +10 -0
  50. package/dist/schemas/sample-code.schema.js.map +1 -0
  51. package/dist/schemas/search.schema.d.ts +15 -0
  52. package/dist/schemas/search.schema.d.ts.map +1 -0
  53. package/dist/schemas/search.schema.js +8 -0
  54. package/dist/schemas/search.schema.js.map +1 -0
  55. package/dist/schemas/similar-apis.schema.d.ts +21 -0
  56. package/dist/schemas/similar-apis.schema.d.ts.map +1 -0
  57. package/dist/schemas/similar-apis.schema.js +9 -0
  58. package/dist/schemas/similar-apis.schema.js.map +1 -0
  59. package/dist/schemas/technologies.schema.d.ts +21 -0
  60. package/dist/schemas/technologies.schema.d.ts.map +1 -0
  61. package/dist/schemas/technologies.schema.js +10 -0
  62. package/dist/schemas/technologies.schema.js.map +1 -0
  63. package/dist/schemas/technology-overviews.schema.d.ts +24 -0
  64. package/dist/schemas/technology-overviews.schema.d.ts.map +1 -0
  65. package/dist/schemas/technology-overviews.schema.js +11 -0
  66. package/dist/schemas/technology-overviews.schema.js.map +1 -0
  67. package/dist/schemas/wwdc.schemas.d.ts +208 -0
  68. package/dist/schemas/wwdc.schemas.d.ts.map +1 -0
  69. package/dist/schemas/wwdc.schemas.js +97 -0
  70. package/dist/schemas/wwdc.schemas.js.map +1 -0
  71. package/dist/tools/definitions.d.ts +10 -0
  72. package/dist/tools/definitions.d.ts.map +1 -0
  73. package/dist/tools/definitions.js +690 -0
  74. package/dist/tools/definitions.js.map +1 -0
  75. package/dist/tools/doc-fetcher.d.ts +19 -0
  76. package/dist/tools/doc-fetcher.d.ts.map +1 -0
  77. package/dist/tools/doc-fetcher.js +487 -0
  78. package/dist/tools/doc-fetcher.js.map +1 -0
  79. package/dist/tools/doc-formatter.d.ts +69 -0
  80. package/dist/tools/doc-formatter.d.ts.map +1 -0
  81. package/dist/tools/doc-formatter.js +208 -0
  82. package/dist/tools/doc-formatter.js.map +1 -0
  83. package/dist/tools/find-similar-apis.d.ts +5 -0
  84. package/dist/tools/find-similar-apis.d.ts.map +1 -0
  85. package/dist/tools/find-similar-apis.js +275 -0
  86. package/dist/tools/find-similar-apis.js.map +1 -0
  87. package/dist/tools/get-documentation-updates.d.ts +5 -0
  88. package/dist/tools/get-documentation-updates.d.ts.map +1 -0
  89. package/dist/tools/get-documentation-updates.js +244 -0
  90. package/dist/tools/get-documentation-updates.js.map +1 -0
  91. package/dist/tools/get-platform-compatibility.d.ts +5 -0
  92. package/dist/tools/get-platform-compatibility.d.ts.map +1 -0
  93. package/dist/tools/get-platform-compatibility.js +205 -0
  94. package/dist/tools/get-platform-compatibility.js.map +1 -0
  95. package/dist/tools/get-related-apis.d.ts +5 -0
  96. package/dist/tools/get-related-apis.d.ts.map +1 -0
  97. package/dist/tools/get-related-apis.js +155 -0
  98. package/dist/tools/get-related-apis.js.map +1 -0
  99. package/dist/tools/get-sample-code.d.ts +5 -0
  100. package/dist/tools/get-sample-code.d.ts.map +1 -0
  101. package/dist/tools/get-sample-code.js +375 -0
  102. package/dist/tools/get-sample-code.js.map +1 -0
  103. package/dist/tools/get-technology-overviews.d.ts +5 -0
  104. package/dist/tools/get-technology-overviews.d.ts.map +1 -0
  105. package/dist/tools/get-technology-overviews.js +306 -0
  106. package/dist/tools/get-technology-overviews.js.map +1 -0
  107. package/dist/tools/handlers.d.ts +29 -0
  108. package/dist/tools/handlers.d.ts.map +1 -0
  109. package/dist/tools/handlers.js +350 -0
  110. package/dist/tools/handlers.js.map +1 -0
  111. package/dist/tools/list-technologies.d.ts +5 -0
  112. package/dist/tools/list-technologies.d.ts.map +1 -0
  113. package/dist/tools/list-technologies.js +165 -0
  114. package/dist/tools/list-technologies.js.map +1 -0
  115. package/dist/tools/resolve-references-batch.d.ts +5 -0
  116. package/dist/tools/resolve-references-batch.d.ts.map +1 -0
  117. package/dist/tools/resolve-references-batch.js +199 -0
  118. package/dist/tools/resolve-references-batch.js.map +1 -0
  119. package/dist/tools/search-framework-symbols.d.ts +7 -0
  120. package/dist/tools/search-framework-symbols.d.ts.map +1 -0
  121. package/dist/tools/search-framework-symbols.js +235 -0
  122. package/dist/tools/search-framework-symbols.js.map +1 -0
  123. package/dist/tools/search-parser.d.ts +15 -0
  124. package/dist/tools/search-parser.d.ts.map +1 -0
  125. package/dist/tools/search-parser.js +188 -0
  126. package/dist/tools/search-parser.js.map +1 -0
  127. package/dist/tools/search-result-parser.d.ts +52 -0
  128. package/dist/tools/search-result-parser.d.ts.map +1 -0
  129. package/dist/tools/search-result-parser.js +137 -0
  130. package/dist/tools/search-result-parser.js.map +1 -0
  131. package/dist/tools/tools-guide.d.ts +124 -0
  132. package/dist/tools/tools-guide.d.ts.map +1 -0
  133. package/dist/tools/tools-guide.js +389 -0
  134. package/dist/tools/tools-guide.js.map +1 -0
  135. package/dist/tools/wwdc/content-extractor.d.ts +9 -0
  136. package/dist/tools/wwdc/content-extractor.d.ts.map +1 -0
  137. package/dist/tools/wwdc/content-extractor.js +520 -0
  138. package/dist/tools/wwdc/content-extractor.js.map +1 -0
  139. package/dist/tools/wwdc/topics-extractor.d.ts +32 -0
  140. package/dist/tools/wwdc/topics-extractor.d.ts.map +1 -0
  141. package/dist/tools/wwdc/topics-extractor.js +146 -0
  142. package/dist/tools/wwdc/topics-extractor.js.map +1 -0
  143. package/dist/tools/wwdc/video-list-extractor.d.ts +13 -0
  144. package/dist/tools/wwdc/video-list-extractor.d.ts.map +1 -0
  145. package/dist/tools/wwdc/video-list-extractor.js +238 -0
  146. package/dist/tools/wwdc/video-list-extractor.js.map +1 -0
  147. package/dist/tools/wwdc/wwdc-handlers.d.ts +32 -0
  148. package/dist/tools/wwdc/wwdc-handlers.d.ts.map +1 -0
  149. package/dist/tools/wwdc/wwdc-handlers.js +791 -0
  150. package/dist/tools/wwdc/wwdc-handlers.js.map +1 -0
  151. package/dist/types/apple-docs.d.ts +112 -0
  152. package/dist/types/apple-docs.d.ts.map +1 -0
  153. package/dist/types/apple-docs.js +5 -0
  154. package/dist/types/apple-docs.js.map +1 -0
  155. package/dist/types/cache.d.ts +28 -0
  156. package/dist/types/cache.d.ts.map +1 -0
  157. package/dist/types/cache.js +5 -0
  158. package/dist/types/cache.js.map +1 -0
  159. package/dist/types/content-sections.d.ts +37 -0
  160. package/dist/types/content-sections.d.ts.map +1 -0
  161. package/dist/types/content-sections.js +5 -0
  162. package/dist/types/content-sections.js.map +1 -0
  163. package/dist/types/error.d.ts +39 -0
  164. package/dist/types/error.d.ts.map +1 -0
  165. package/dist/types/error.js +21 -0
  166. package/dist/types/error.js.map +1 -0
  167. package/dist/types/headers.d.ts +95 -0
  168. package/dist/types/headers.d.ts.map +1 -0
  169. package/dist/types/headers.js +5 -0
  170. package/dist/types/headers.js.map +1 -0
  171. package/dist/types/http.d.ts +31 -0
  172. package/dist/types/http.d.ts.map +1 -0
  173. package/dist/types/http.js +5 -0
  174. package/dist/types/http.js.map +1 -0
  175. package/dist/types/index.d.ts +11 -0
  176. package/dist/types/index.d.ts.map +1 -0
  177. package/dist/types/index.js +12 -0
  178. package/dist/types/index.js.map +1 -0
  179. package/dist/types/search.d.ts +62 -0
  180. package/dist/types/search.d.ts.map +1 -0
  181. package/dist/types/search.js +5 -0
  182. package/dist/types/search.js.map +1 -0
  183. package/dist/types/sections.d.ts +64 -0
  184. package/dist/types/sections.d.ts.map +1 -0
  185. package/dist/types/sections.js +5 -0
  186. package/dist/types/sections.js.map +1 -0
  187. package/dist/types/tools/platform.d.ts +33 -0
  188. package/dist/types/tools/platform.d.ts.map +1 -0
  189. package/dist/types/tools/platform.js +5 -0
  190. package/dist/types/tools/platform.js.map +1 -0
  191. package/dist/types/tools/sample-code.d.ts +23 -0
  192. package/dist/types/tools/sample-code.d.ts.map +1 -0
  193. package/dist/types/tools/sample-code.js +5 -0
  194. package/dist/types/tools/sample-code.js.map +1 -0
  195. package/dist/types/tools/technology.d.ts +18 -0
  196. package/dist/types/tools/technology.d.ts.map +1 -0
  197. package/dist/types/tools/technology.js +5 -0
  198. package/dist/types/tools/technology.js.map +1 -0
  199. package/dist/types/tools/updates.d.ts +23 -0
  200. package/dist/types/tools/updates.d.ts.map +1 -0
  201. package/dist/types/tools/updates.js +5 -0
  202. package/dist/types/tools/updates.js.map +1 -0
  203. package/dist/types/wwdc.d.ts +200 -0
  204. package/dist/types/wwdc.d.ts.map +1 -0
  205. package/dist/types/wwdc.js +5 -0
  206. package/dist/types/wwdc.js.map +1 -0
  207. package/dist/utils/cache-warmer.d.ts +22 -0
  208. package/dist/utils/cache-warmer.d.ts.map +1 -0
  209. package/dist/utils/cache-warmer.js +115 -0
  210. package/dist/utils/cache-warmer.js.map +1 -0
  211. package/dist/utils/cache.d.ts +109 -0
  212. package/dist/utils/cache.d.ts.map +1 -0
  213. package/dist/utils/cache.js +302 -0
  214. package/dist/utils/cache.js.map +1 -0
  215. package/dist/utils/constants.d.ts +178 -0
  216. package/dist/utils/constants.d.ts.map +1 -0
  217. package/dist/utils/constants.js +266 -0
  218. package/dist/utils/constants.js.map +1 -0
  219. package/dist/utils/error-handler.d.ts +80 -0
  220. package/dist/utils/error-handler.d.ts.map +1 -0
  221. package/dist/utils/error-handler.js +437 -0
  222. package/dist/utils/error-handler.js.map +1 -0
  223. package/dist/utils/framework-mapper.d.ts +84 -0
  224. package/dist/utils/framework-mapper.d.ts.map +1 -0
  225. package/dist/utils/framework-mapper.js +534 -0
  226. package/dist/utils/framework-mapper.js.map +1 -0
  227. package/dist/utils/http-client.d.ts +130 -0
  228. package/dist/utils/http-client.d.ts.map +1 -0
  229. package/dist/utils/http-client.js +464 -0
  230. package/dist/utils/http-client.js.map +1 -0
  231. package/dist/utils/http-headers-generator.d.ts +151 -0
  232. package/dist/utils/http-headers-generator.d.ts.map +1 -0
  233. package/dist/utils/http-headers-generator.js +407 -0
  234. package/dist/utils/http-headers-generator.js.map +1 -0
  235. package/dist/utils/logger.d.ts +44 -0
  236. package/dist/utils/logger.d.ts.map +1 -0
  237. package/dist/utils/logger.js +73 -0
  238. package/dist/utils/logger.js.map +1 -0
  239. package/dist/utils/preloader.d.ts +20 -0
  240. package/dist/utils/preloader.d.ts.map +1 -0
  241. package/dist/utils/preloader.js +82 -0
  242. package/dist/utils/preloader.js.map +1 -0
  243. package/dist/utils/rate-limiter.d.ts +28 -0
  244. package/dist/utils/rate-limiter.d.ts.map +1 -0
  245. package/dist/utils/rate-limiter.js +48 -0
  246. package/dist/utils/rate-limiter.js.map +1 -0
  247. package/dist/utils/topic-mapper.d.ts +18 -0
  248. package/dist/utils/topic-mapper.d.ts.map +1 -0
  249. package/dist/utils/topic-mapper.js +182 -0
  250. package/dist/utils/topic-mapper.js.map +1 -0
  251. package/dist/utils/url-converter.d.ts +22 -0
  252. package/dist/utils/url-converter.d.ts.map +1 -0
  253. package/dist/utils/url-converter.js +70 -0
  254. package/dist/utils/url-converter.js.map +1 -0
  255. package/dist/utils/user-agent-pool.d.ts +241 -0
  256. package/dist/utils/user-agent-pool.d.ts.map +1 -0
  257. package/dist/utils/user-agent-pool.js +557 -0
  258. package/dist/utils/user-agent-pool.js.map +1 -0
  259. package/dist/utils/wwdc-data-source-path.d.ts +9 -0
  260. package/dist/utils/wwdc-data-source-path.d.ts.map +1 -0
  261. package/dist/utils/wwdc-data-source-path.js +22 -0
  262. package/dist/utils/wwdc-data-source-path.js.map +1 -0
  263. package/dist/utils/wwdc-data-source.d.ts +36 -0
  264. package/dist/utils/wwdc-data-source.d.ts.map +1 -0
  265. package/dist/utils/wwdc-data-source.js +133 -0
  266. package/dist/utils/wwdc-data-source.js.map +1 -0
  267. package/package.json +83 -0
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Simple in-memory cache with TTL (Time To Live) support
3
+ */
4
+ export declare class MemoryCache {
5
+ private cache;
6
+ private maxSize;
7
+ private defaultTTL;
8
+ private hits;
9
+ private misses;
10
+ constructor(maxSize?: number, defaultTTL?: number);
11
+ /**
12
+ * Get the current size of the cache
13
+ */
14
+ size(): number;
15
+ /**
16
+ * Get all entries as array of [key, value] pairs
17
+ */
18
+ entries(): [string, unknown][];
19
+ /**
20
+ * Get value from cache
21
+ */
22
+ get<T>(key: string): T | undefined;
23
+ /**
24
+ * Set value in cache
25
+ */
26
+ set<T>(key: string, value: T, ttl?: number): void;
27
+ /**
28
+ * Check if key exists and is not expired
29
+ */
30
+ has(key: string): boolean;
31
+ /**
32
+ * Delete entry from cache
33
+ */
34
+ delete(key: string): boolean;
35
+ /**
36
+ * Clear all cache entries
37
+ */
38
+ clear(): void;
39
+ /**
40
+ * Clean up expired entries
41
+ */
42
+ private cleanup;
43
+ /**
44
+ * Get cache statistics
45
+ */
46
+ getStats(): {
47
+ size: number;
48
+ maxSize: number;
49
+ hitRate: string;
50
+ hits: number;
51
+ misses: number;
52
+ };
53
+ /**
54
+ * Get or set with async function
55
+ */
56
+ getOrSet<T>(key: string, fetchFn: () => Promise<T>, ttl?: number): Promise<T>;
57
+ }
58
+ export declare const apiCache: MemoryCache;
59
+ export declare const searchCache: MemoryCache;
60
+ export declare const indexCache: MemoryCache;
61
+ export declare const technologiesCache: MemoryCache;
62
+ export declare const updatesCache: MemoryCache;
63
+ export declare const sampleCodeCache: MemoryCache;
64
+ export declare const technologyOverviewsCache: MemoryCache;
65
+ export declare const wwdcDataCache: MemoryCache;
66
+ /**
67
+ * Generate cache key for URL-based requests
68
+ */
69
+ export declare function generateUrlCacheKey(url: string, params?: Record<string, unknown>): string;
70
+ /**
71
+ * Generate cache key for enhanced analysis
72
+ */
73
+ export declare function generateEnhancedCacheKey(url: string, options: {
74
+ includeRelatedApis?: boolean;
75
+ includeReferences?: boolean;
76
+ includeSimilarApis?: boolean;
77
+ includePlatformAnalysis?: boolean;
78
+ }): string;
79
+ /**
80
+ * Cache decorator for async functions
81
+ */
82
+ export declare function cached<T>(cache: MemoryCache, keyGenerator: (...args: unknown[]) => string, ttl?: number): (_target: unknown, _propertyName: string, descriptor: PropertyDescriptor) => void;
83
+ /**
84
+ * Cache decorator (alias for compatibility)
85
+ */
86
+ export declare function withCache<T = any>(cache: MemoryCache, keyGenerator?: (...args: any[]) => string, ttl?: number): (_target: any, _propertyName: string, descriptor?: PropertyDescriptor) => PropertyDescriptor;
87
+ export declare function getCacheInstance(name: string, maxSize?: number, defaultTTL?: number): MemoryCache;
88
+ /**
89
+ * Cache info for response metadata
90
+ */
91
+ export interface CacheInfo {
92
+ cached: boolean;
93
+ cachedAt?: string;
94
+ expiresIn?: string;
95
+ source: 'api' | 'search' | 'index' | 'technologies' | 'updates' | 'samples' | 'overviews' | 'wwdc';
96
+ }
97
+ /**
98
+ * Get cache info for a key
99
+ */
100
+ export declare function getCacheInfo(cache: MemoryCache, key: string): CacheInfo | null;
101
+ /**
102
+ * Format response with cache hints
103
+ */
104
+ export declare function formatWithCacheHint(content: string, cacheInfo: CacheInfo | null): string;
105
+ /**
106
+ * Get all cache statistics for performance reporting
107
+ */
108
+ export declare function getAllCacheStats(): Record<string, ReturnType<MemoryCache['getStats']>>;
109
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/utils/cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,302 @@
1
+ /**
2
+ * Simple in-memory cache with TTL (Time To Live) support
3
+ */
4
+ export class MemoryCache {
5
+ cache = new Map();
6
+ maxSize;
7
+ defaultTTL;
8
+ hits = 0;
9
+ misses = 0;
10
+ constructor(maxSize = 1000, defaultTTL = 30 * 60 * 1000) {
11
+ this.maxSize = maxSize;
12
+ this.defaultTTL = defaultTTL;
13
+ // Clean up expired entries every 5 minutes
14
+ setInterval(() => this.cleanup(), 5 * 60 * 1000);
15
+ }
16
+ /**
17
+ * Get the current size of the cache
18
+ */
19
+ size() {
20
+ return this.cache.size;
21
+ }
22
+ /**
23
+ * Get all entries as array of [key, value] pairs
24
+ */
25
+ entries() {
26
+ const result = [];
27
+ const now = Date.now();
28
+ for (const [key, entry] of this.cache.entries()) {
29
+ if (now - entry.timestamp <= entry.ttl) {
30
+ result.push([key, entry.data]);
31
+ }
32
+ }
33
+ return result;
34
+ }
35
+ /**
36
+ * Get value from cache
37
+ */
38
+ get(key) {
39
+ const entry = this.cache.get(key);
40
+ if (!entry) {
41
+ this.misses++;
42
+ return undefined;
43
+ }
44
+ // Check if expired
45
+ if (Date.now() - entry.timestamp > entry.ttl) {
46
+ this.cache.delete(key);
47
+ this.misses++;
48
+ return undefined;
49
+ }
50
+ this.hits++;
51
+ return entry.data;
52
+ }
53
+ /**
54
+ * Set value in cache
55
+ */
56
+ set(key, value, ttl) {
57
+ // If cache is full, remove oldest entry
58
+ if (this.cache.size >= this.maxSize) {
59
+ const firstKey = this.cache.keys().next().value;
60
+ if (firstKey) {
61
+ this.cache.delete(firstKey);
62
+ }
63
+ }
64
+ this.cache.set(key, {
65
+ data: value,
66
+ timestamp: Date.now(),
67
+ ttl: ttl ?? this.defaultTTL,
68
+ });
69
+ }
70
+ /**
71
+ * Check if key exists and is not expired
72
+ */
73
+ has(key) {
74
+ return this.get(key) !== undefined;
75
+ }
76
+ /**
77
+ * Delete entry from cache
78
+ */
79
+ delete(key) {
80
+ return this.cache.delete(key);
81
+ }
82
+ /**
83
+ * Clear all cache entries
84
+ */
85
+ clear() {
86
+ this.cache.clear();
87
+ }
88
+ /**
89
+ * Clean up expired entries
90
+ */
91
+ cleanup() {
92
+ const now = Date.now();
93
+ for (const [key, entry] of this.cache.entries()) {
94
+ if (now - entry.timestamp > entry.ttl) {
95
+ this.cache.delete(key);
96
+ }
97
+ }
98
+ }
99
+ /**
100
+ * Get cache statistics
101
+ */
102
+ getStats() {
103
+ const total = this.hits + this.misses;
104
+ const hitRate = total > 0 ? (this.hits / total * 100).toFixed(2) + '%' : '0.00%';
105
+ return {
106
+ size: this.cache.size,
107
+ maxSize: this.maxSize,
108
+ hitRate,
109
+ hits: this.hits,
110
+ misses: this.misses,
111
+ };
112
+ }
113
+ /**
114
+ * Get or set with async function
115
+ */
116
+ async getOrSet(key, fetchFn, ttl) {
117
+ // Try to get from cache first
118
+ const cached = this.get(key);
119
+ if (cached !== undefined) {
120
+ return cached;
121
+ }
122
+ // Fetch new data
123
+ const data = await fetchFn();
124
+ // Store in cache
125
+ this.set(key, data, ttl);
126
+ return data;
127
+ }
128
+ }
129
+ import { CACHE_SIZE, CACHE_TTL } from './constants.js';
130
+ // Create different cache instances for different types of data
131
+ export const apiCache = new MemoryCache(CACHE_SIZE.API_DOCS, CACHE_TTL.API_DOCS);
132
+ export const searchCache = new MemoryCache(CACHE_SIZE.SEARCH_RESULTS, CACHE_TTL.SEARCH_RESULTS);
133
+ export const indexCache = new MemoryCache(CACHE_SIZE.FRAMEWORK_INDEX, CACHE_TTL.FRAMEWORK_INDEX);
134
+ export const technologiesCache = new MemoryCache(CACHE_SIZE.TECHNOLOGIES, CACHE_TTL.TECHNOLOGIES);
135
+ export const updatesCache = new MemoryCache(CACHE_SIZE.UPDATES, CACHE_TTL.UPDATES);
136
+ export const sampleCodeCache = new MemoryCache(CACHE_SIZE.SAMPLE_CODE, CACHE_TTL.SAMPLE_CODE);
137
+ export const technologyOverviewsCache = new MemoryCache(CACHE_SIZE.TECHNOLOGY_OVERVIEWS, CACHE_TTL.TECHNOLOGY_OVERVIEWS);
138
+ export const wwdcDataCache = new MemoryCache(100, 30 * 60 * 1000); // 30 minutes TTL
139
+ /**
140
+ * Generate cache key for URL-based requests
141
+ */
142
+ export function generateUrlCacheKey(url, params) {
143
+ let key = url;
144
+ if (params) {
145
+ const sortedParams = Object.keys(params)
146
+ .sort()
147
+ .map(k => `${k}=${JSON.stringify(params[k])}`)
148
+ .join('&');
149
+ key += `?${sortedParams}`;
150
+ }
151
+ return key;
152
+ }
153
+ /**
154
+ * Generate cache key for enhanced analysis
155
+ */
156
+ export function generateEnhancedCacheKey(url, options) {
157
+ return generateUrlCacheKey(url, options);
158
+ }
159
+ /**
160
+ * Cache decorator for async functions
161
+ */
162
+ export function cached(cache, keyGenerator, ttl) {
163
+ return function (_target, _propertyName, descriptor) {
164
+ const method = descriptor.value;
165
+ descriptor.value = async function (...args) {
166
+ const key = keyGenerator(...args);
167
+ return cache.getOrSet(key, () => method.apply(this, args), ttl);
168
+ };
169
+ };
170
+ }
171
+ /**
172
+ * Cache decorator (alias for compatibility)
173
+ */
174
+ export function withCache(cache, keyGenerator, ttl) {
175
+ return function (_target, _propertyName, descriptor) {
176
+ // Handle the case where descriptor might be undefined (TypeScript decorators)
177
+ if (!descriptor) {
178
+ throw new Error('withCache decorator requires a method descriptor');
179
+ }
180
+ const method = descriptor.value;
181
+ if (!method) {
182
+ throw new Error('withCache decorator can only be applied to methods');
183
+ }
184
+ const isAsync = method.constructor.name === 'AsyncFunction';
185
+ descriptor.value = function (...args) {
186
+ const key = keyGenerator ? keyGenerator(...args) : JSON.stringify(args);
187
+ // Try to get from cache first
188
+ const cached = cache.get(key);
189
+ if (cached !== undefined) {
190
+ return cached;
191
+ }
192
+ // Execute the method
193
+ const result = method.apply(this, args);
194
+ // Handle both sync and async methods
195
+ if (isAsync || result instanceof Promise) {
196
+ return Promise.resolve(result).then((data) => {
197
+ cache.set(key, data, ttl);
198
+ return data;
199
+ }).catch((error) => {
200
+ // Don't cache errors
201
+ throw error;
202
+ });
203
+ }
204
+ else {
205
+ // Sync method
206
+ cache.set(key, result, ttl);
207
+ return result;
208
+ }
209
+ };
210
+ return descriptor;
211
+ };
212
+ }
213
+ /**
214
+ * Get cache instance by name (singleton pattern)
215
+ */
216
+ const cacheInstances = new Map();
217
+ export function getCacheInstance(name, maxSize, defaultTTL) {
218
+ if (!cacheInstances.has(name)) {
219
+ cacheInstances.set(name, new MemoryCache(maxSize, defaultTTL));
220
+ }
221
+ return cacheInstances.get(name);
222
+ }
223
+ /**
224
+ * Get cache info for a key
225
+ */
226
+ export function getCacheInfo(cache, key) {
227
+ const entry = cache.cache?.get(key);
228
+ if (!entry) {
229
+ return null;
230
+ }
231
+ const now = Date.now();
232
+ const age = now - entry.timestamp;
233
+ const remaining = entry.ttl - age;
234
+ if (remaining <= 0) {
235
+ return null; // Expired
236
+ }
237
+ return {
238
+ cached: true,
239
+ cachedAt: new Date(entry.timestamp).toISOString(),
240
+ expiresIn: formatDuration(remaining),
241
+ source: getCacheSource(cache),
242
+ };
243
+ }
244
+ /**
245
+ * Get cache source name
246
+ */
247
+ function getCacheSource(cache) {
248
+ if (cache === apiCache)
249
+ return 'api';
250
+ if (cache === searchCache)
251
+ return 'search';
252
+ if (cache === indexCache)
253
+ return 'index';
254
+ if (cache === technologiesCache)
255
+ return 'technologies';
256
+ if (cache === updatesCache)
257
+ return 'updates';
258
+ if (cache === sampleCodeCache)
259
+ return 'samples';
260
+ if (cache === technologyOverviewsCache)
261
+ return 'overviews';
262
+ if (cache === wwdcDataCache)
263
+ return 'wwdc';
264
+ return 'api';
265
+ }
266
+ /**
267
+ * Format duration in human-readable format
268
+ */
269
+ function formatDuration(ms) {
270
+ if (ms < 60000) {
271
+ return `${Math.floor(ms / 1000)}s`;
272
+ }
273
+ if (ms < 3600000) {
274
+ return `${Math.floor(ms / 60000)}m`;
275
+ }
276
+ return `${Math.floor(ms / 3600000)}h ${Math.floor((ms % 3600000) / 60000)}m`;
277
+ }
278
+ /**
279
+ * Format response with cache hints
280
+ */
281
+ export function formatWithCacheHint(content, cacheInfo) {
282
+ if (!cacheInfo || !cacheInfo.cached) {
283
+ return content + '\n\n---\n*Data: Fresh from Apple Developer Documentation*';
284
+ }
285
+ return content + `\n\n---\n*Data: Cached (${cacheInfo.expiresIn} until refresh)*`;
286
+ }
287
+ /**
288
+ * Get all cache statistics for performance reporting
289
+ */
290
+ export function getAllCacheStats() {
291
+ return {
292
+ apiCache: apiCache.getStats(),
293
+ searchCache: searchCache.getStats(),
294
+ indexCache: indexCache.getStats(),
295
+ technologiesCache: technologiesCache.getStats(),
296
+ updatesCache: updatesCache.getStats(),
297
+ sampleCodeCache: sampleCodeCache.getStats(),
298
+ technologyOverviewsCache: technologyOverviewsCache.getStats(),
299
+ wwdcDataCache: wwdcDataCache.getStats(),
300
+ };
301
+ }
302
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/utils/cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,178 @@
1
+ /**
2
+ * Configuration constants for Apple Docs MCP
3
+ */
4
+ export declare const API_LIMITS: {
5
+ readonly MAX_SEARCH_RESULTS: 15;
6
+ readonly MAX_RELATED_APIS: 10;
7
+ readonly MAX_REFERENCES: 50;
8
+ readonly MAX_SIMILAR_APIS: 15;
9
+ readonly MAX_FRAMEWORK_DEPTH: 10;
10
+ readonly DEFAULT_FRAMEWORK_DEPTH: 3;
11
+ readonly DEFAULT_FRAMEWORK_SYMBOLS_LIMIT: 15;
12
+ readonly DEFAULT_DOCUMENTATION_UPDATES_LIMIT: 15;
13
+ readonly DEFAULT_TECHNOLOGY_OVERVIEWS_LIMIT: 15;
14
+ readonly DEFAULT_SAMPLE_CODE_LIMIT: 15;
15
+ readonly DEFAULT_TECHNOLOGIES_LIMIT: 25;
16
+ readonly DEFAULT_REFERENCES_LIMIT: 10;
17
+ readonly MAX_FRAMEWORK_SYMBOLS_LIMIT: 200;
18
+ readonly MAX_DOCUMENTATION_UPDATES_LIMIT: 200;
19
+ readonly MAX_TECHNOLOGY_OVERVIEWS_LIMIT: 200;
20
+ readonly MAX_SAMPLE_CODE_LIMIT: 200;
21
+ readonly MAX_TECHNOLOGIES_LIMIT: 500;
22
+ readonly MAX_REFERENCES_LIMIT: 50;
23
+ };
24
+ export declare const SEARCH_DEPTH_LIMITS: {
25
+ readonly shallow: 5;
26
+ readonly medium: 10;
27
+ readonly deep: 15;
28
+ };
29
+ export declare const CACHE_TTL: {
30
+ readonly API_DOCS: number;
31
+ readonly SEARCH_RESULTS: number;
32
+ readonly FRAMEWORK_INDEX: number;
33
+ readonly TECHNOLOGIES: number;
34
+ readonly UPDATES: number;
35
+ readonly SAMPLE_CODE: number;
36
+ readonly TECHNOLOGY_OVERVIEWS: number;
37
+ };
38
+ export declare const CACHE_SIZE: {
39
+ readonly API_DOCS: 500;
40
+ readonly SEARCH_RESULTS: 200;
41
+ readonly FRAMEWORK_INDEX: 100;
42
+ readonly TECHNOLOGIES: 50;
43
+ readonly UPDATES: 100;
44
+ readonly SAMPLE_CODE: 100;
45
+ readonly TECHNOLOGY_OVERVIEWS: 100;
46
+ readonly DEFAULT_CACHE_SIZE: 1000;
47
+ readonly DEFAULT_CACHE_TTL: number;
48
+ };
49
+ export declare const SAFARI_USER_AGENTS: readonly ["Mozilla/5.0 (Macintosh; Intel Mac OS X 12_7_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15", "Mozilla/5.0 (Macintosh; arm64 Mac OS X 12_7_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15", "Mozilla/5.0 (Macintosh; Intel Mac OS X 12_7_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15", "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_7_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15", "Mozilla/5.0 (Macintosh; arm64 Mac OS X 13_7_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15", "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_6_9) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15", "Mozilla/5.0 (Macintosh; arm64 Mac OS X 13_6_8) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15", "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_6_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15", "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6.1 Safari/605.1.15", "Mozilla/5.0 (Macintosh; arm64 Mac OS X 14_7_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6.1 Safari/605.1.15", "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_6_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6.1 Safari/605.1.15", "Mozilla/5.0 (Macintosh; arm64 Mac OS X 14_6_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6.1 Safari/605.1.15", "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15", "Mozilla/5.0 (Macintosh; arm64 Mac OS X 14_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15", "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_4_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Safari/605.1.15", "Mozilla/5.0 (Macintosh; arm64 Mac OS X 14_4_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Safari/605.1.15", "Mozilla/5.0 (Macintosh; Intel Mac OS X 15_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1 Safari/605.1.15", "Mozilla/5.0 (Macintosh; arm64 Mac OS X 15_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1 Safari/605.1.15", "Mozilla/5.0 (Macintosh; Intel Mac OS X 15_0_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0.1 Safari/605.1.15", "Mozilla/5.0 (Macintosh; arm64 Mac OS X 15_0_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0.1 Safari/605.1.15", "Mozilla/5.0 (Macintosh; Intel Mac OS X 15_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Safari/605.1.15", "Mozilla/5.0 (Macintosh; arm64 Mac OS X 15_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Safari/605.1.15", "Mozilla/5.0 (Macintosh; arm64 Mac OS X 26_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/19.0 Safari/605.1.15", "Mozilla/5.0 (Macintosh; Intel Mac OS X 26_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/19.0 Safari/605.1.15", "Mozilla/5.0 (Macintosh; arm64 Mac OS X 26_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/19.1 Safari/605.1.15"];
50
+ export declare const SAFARI_USER_AGENT_CATEGORIES: {
51
+ readonly monterey: ("Mozilla/5.0 (Macintosh; Intel Mac OS X 12_7_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 12_7_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 12_7_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_7_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 13_7_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_6_9) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 13_6_8) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_6_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 14_7_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_6_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 14_6_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 14_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_4_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 14_4_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 15_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 15_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 15_0_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 15_0_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 15_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 15_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 26_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/19.0 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 26_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/19.0 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 26_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/19.1 Safari/605.1.15")[];
52
+ readonly ventura: ("Mozilla/5.0 (Macintosh; Intel Mac OS X 12_7_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 12_7_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 12_7_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_7_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 13_7_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_6_9) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 13_6_8) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_6_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 14_7_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_6_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 14_6_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 14_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_4_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 14_4_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 15_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 15_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 15_0_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 15_0_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 15_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 15_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 26_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/19.0 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 26_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/19.0 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 26_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/19.1 Safari/605.1.15")[];
53
+ readonly sonoma: ("Mozilla/5.0 (Macintosh; Intel Mac OS X 12_7_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 12_7_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 12_7_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_7_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 13_7_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_6_9) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 13_6_8) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_6_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 14_7_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_6_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 14_6_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 14_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_4_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 14_4_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 15_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 15_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 15_0_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 15_0_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 15_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 15_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 26_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/19.0 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 26_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/19.0 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 26_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/19.1 Safari/605.1.15")[];
54
+ readonly sequoia: ("Mozilla/5.0 (Macintosh; Intel Mac OS X 12_7_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 12_7_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 12_7_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_7_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 13_7_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_6_9) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 13_6_8) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_6_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 14_7_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_6_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 14_6_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 14_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_4_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 14_4_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 15_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 15_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 15_0_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 15_0_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 15_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 15_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 26_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/19.0 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 26_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/19.0 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 26_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/19.1 Safari/605.1.15")[];
55
+ readonly beta: ("Mozilla/5.0 (Macintosh; Intel Mac OS X 12_7_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 12_7_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 12_7_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_7_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 13_7_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_6_9) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 13_6_8) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_6_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 14_7_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_6_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 14_6_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 14_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_4_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 14_4_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 15_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 15_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 15_0_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 15_0_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0.1 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 15_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 15_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 26_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/19.0 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; Intel Mac OS X 26_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/19.0 Safari/605.1.15" | "Mozilla/5.0 (Macintosh; arm64 Mac OS X 26_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/19.1 Safari/605.1.15")[];
56
+ };
57
+ export declare const SAFARI_USER_AGENT_UTILS: {
58
+ readonly SAFARI_UA_REGEX: RegExp;
59
+ /**
60
+ * Validates if a User-Agent string is a valid Safari format
61
+ * @param userAgent - The User-Agent string to validate
62
+ * @returns boolean indicating if the format is valid
63
+ */
64
+ readonly isValidSafariUserAgent: (userAgent: string) => boolean;
65
+ /**
66
+ * Extracts architecture from User-Agent string
67
+ * @param userAgent - The User-Agent string
68
+ * @returns 'Intel' | 'Apple Silicon' | null
69
+ */
70
+ readonly getArchitecture: (userAgent: string) => "Intel" | "Apple Silicon" | null;
71
+ /**
72
+ * Extracts macOS version from User-Agent string
73
+ * @param userAgent - The User-Agent string
74
+ * @returns string representation of macOS version (e.g., "14.7.1")
75
+ */
76
+ readonly getMacOSVersion: (userAgent: string) => string | null;
77
+ /**
78
+ * Extracts Safari version from User-Agent string
79
+ * @param userAgent - The User-Agent string
80
+ * @returns string representation of Safari version (e.g., "17.6.1")
81
+ */
82
+ readonly getSafariVersion: (userAgent: string) => string | null;
83
+ /**
84
+ * Gets a random Safari User-Agent from all available options
85
+ * @returns A random Safari User-Agent string
86
+ */
87
+ readonly getRandomUserAgent: () => string;
88
+ /**
89
+ * Gets a random Safari User-Agent from a specific category
90
+ * @param category - The category to select from
91
+ * @returns A random Safari User-Agent string from the specified category
92
+ */
93
+ readonly getRandomUserAgentFromCategory: (category: keyof typeof SAFARI_USER_AGENT_CATEGORIES) => string;
94
+ };
95
+ export declare const REQUEST_CONFIG: {
96
+ readonly TIMEOUT: 30000;
97
+ readonly MAX_RETRIES: 3;
98
+ readonly RETRY_DELAY: 1000;
99
+ readonly MAX_CONCURRENT_REQUESTS: 5;
100
+ readonly USER_AGENT: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36";
101
+ readonly DEFAULT_SAFARI_USER_AGENT: "Mozilla/5.0 (Macintosh; arm64 Mac OS X 15_0_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0.1 Safari/605.1.15";
102
+ };
103
+ export declare const RATE_LIMIT: {
104
+ readonly MAX_REQUESTS_PER_MINUTE: 100;
105
+ readonly WINDOW_MS: 60000;
106
+ };
107
+ export declare const PROCESSING_LIMITS: {
108
+ readonly MAX_COLLECTIONS_TO_SHOW: 5;
109
+ readonly MAX_RELATED_APIS_PER_SECTION: 3;
110
+ readonly MAX_PLATFORM_COMPATIBILITY_ITEMS: 2;
111
+ readonly MAX_SIMILAR_APIS_FOR_DEEP_SEARCH: 3;
112
+ readonly MAX_TOPIC_IDENTIFIERS: 4;
113
+ readonly MAX_DOC_FETCHER_RELATED_APIS: 10;
114
+ readonly MAX_DOC_FETCHER_REFERENCES: 15;
115
+ readonly MAX_DOC_FETCHER_SIMILAR_APIS: 8;
116
+ readonly MAX_DOC_FETCHER_REFS_PER_TYPE: 5;
117
+ readonly RESPONSE_TIME_GOOD_THRESHOLD: 1000;
118
+ readonly RESPONSE_TIME_MODERATE_THRESHOLD: 3000;
119
+ };
120
+ export declare const APPLE_URLS: {
121
+ readonly BASE: "https://developer.apple.com";
122
+ readonly SEARCH: "https://developer.apple.com/search/";
123
+ readonly DOCUMENTATION: "https://developer.apple.com/documentation/";
124
+ readonly TUTORIALS_DATA: "https://developer.apple.com/tutorials/data/";
125
+ readonly TECHNOLOGIES_JSON: "https://developer.apple.com/tutorials/data/documentation/technologies.json";
126
+ readonly UPDATES_JSON: "https://developer.apple.com/tutorials/data/documentation/Updates.json";
127
+ readonly UPDATES_INDEX_JSON: "https://developer.apple.com/tutorials/data/index/updates";
128
+ readonly TECHNOLOGY_OVERVIEWS_JSON: "https://developer.apple.com/tutorials/data/documentation/TechnologyOverviews.json";
129
+ readonly TECHNOLOGY_OVERVIEWS_INDEX_JSON: "https://developer.apple.com/tutorials/data/index/technologyoverviews";
130
+ readonly SAMPLE_CODE_JSON: "https://developer.apple.com/tutorials/data/documentation/SampleCode.json";
131
+ readonly SAMPLE_CODE_INDEX_JSON: "https://developer.apple.com/tutorials/data/index/samplecode";
132
+ };
133
+ export declare const WWDC_URLS: {
134
+ readonly BASE: "https://developer.apple.com/videos";
135
+ readonly TOPICS: "https://developer.apple.com/videos/topics/";
136
+ readonly YEAR_BASE: "https://developer.apple.com/videos/wwdc";
137
+ readonly PLAY_BASE: "https://developer.apple.com/videos/play/wwdc";
138
+ readonly getYearUrl: (year: string) => string;
139
+ readonly getVideoUrl: (year: string, videoId: string) => string;
140
+ readonly getCodeUrl: (year: string, videoId: string) => string;
141
+ readonly getTranscriptUrl: (year: string, videoId: string) => string;
142
+ readonly getResourcesUrl: (year: string, videoId: string) => string;
143
+ readonly getTopicUrl: (topicId: string) => string;
144
+ };
145
+ export declare const WWDC_CONFIG: {
146
+ readonly EARLIEST_YEAR: 2014;
147
+ readonly LATEST_YEAR: 2025;
148
+ readonly CODE_TAB_INTRODUCED_YEAR: 2022;
149
+ readonly AVAILABLE_YEARS: readonly ["2014", "2015", "2016", "2017", "2018", "2019", "2020", "2021", "2022", "2023", "2024", "2025"];
150
+ readonly DEFAULT_VIDEO_LIMIT: 15;
151
+ readonly DEFAULT_CODE_EXAMPLES_LIMIT: 10;
152
+ readonly DEFAULT_SEARCH_LIMIT: 10;
153
+ readonly DEFAULT_RELATED_VIDEOS_LIMIT: 10;
154
+ readonly DEFAULT_TOPIC_VIDEOS_LIMIT: 10;
155
+ readonly MAX_VIDEO_LIMIT: 200;
156
+ readonly MAX_CODE_EXAMPLES_LIMIT: 100;
157
+ readonly MAX_SEARCH_LIMIT: 100;
158
+ readonly MAX_RELATED_VIDEOS_LIMIT: 50;
159
+ readonly MAX_TOPIC_VIDEOS_LIMIT: 100;
160
+ readonly MIN_CODE_LENGTH: 10;
161
+ readonly MAX_CONTEXT_MATCHES: 3;
162
+ readonly MAX_TOPIC_VIDEOS_FOR_SCORING: 10;
163
+ readonly CACHE_TTL: number;
164
+ };
165
+ export declare const ERROR_MESSAGES: {
166
+ readonly INVALID_URL: "URL must be from developer.apple.com";
167
+ readonly FETCH_FAILED: "Failed to fetch data from Apple Developer Documentation";
168
+ readonly PARSE_FAILED: "Failed to parse response data";
169
+ readonly NOT_FOUND: "Documentation not found (404). This URL may have been moved or removed.";
170
+ readonly TIMEOUT: "Request timed out. Please try again later.";
171
+ readonly NETWORK_ERROR: "Network error occurred. Please check your connection.";
172
+ readonly RATE_LIMITED: "Request rate limit exceeded. Please wait before trying again.";
173
+ readonly API_ERROR: "API error occurred while processing the request.";
174
+ readonly CACHE_ERROR: "Cache operation failed, but the request will continue.";
175
+ readonly VALIDATION_ERROR: "Input validation failed. Please check your parameters.";
176
+ readonly SERVICE_UNAVAILABLE: "Apple Developer Documentation service is temporarily unavailable.";
177
+ };
178
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;CAuBb,CAAC;AAGX,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAGX,eAAO,MAAM,SAAS;;;;;;;;CAQZ,CAAC;AAGX,eAAO,MAAM,UAAU;;;;;;;;;;CAYb,CAAC;AAIX,eAAO,MAAM,kBAAkB,i9FAmCrB,CAAC;AAGX,eAAO,MAAM,4BAA4B;;;;;;CAM/B,CAAC;AAGX,eAAO,MAAM,uBAAuB;;IAIlC;;;;OAIG;iDACiC,MAAM,KAAG,OAAO;IAIpD;;;;OAIG;0CAC0B,MAAM,KAAG,OAAO,GAAG,eAAe,GAAG,IAAI;IAQtE;;;;OAIG;0CAC0B,MAAM,KAAG,MAAM,GAAG,IAAI;IASnD;;;;OAIG;2CAC2B,MAAM,KAAG,MAAM,GAAG,IAAI;IAQpD;;;OAGG;uCACqB,MAAM;IAK9B;;;;OAIG;wDACwC,MAAM,OAAO,4BAA4B,KAAG,MAAM;CAKrF,CAAC;AAGX,eAAO,MAAM,cAAc;;;;;;;CASjB,CAAC;AAGX,eAAO,MAAM,UAAU;;;CAGb,CAAC;AAGX,eAAO,MAAM,iBAAiB;;;;;;;;;;;;CAepB,CAAC;AAGX,eAAO,MAAM,UAAU;;;;;;;;;;;;CAYb,CAAC;AAGX,eAAO,MAAM,SAAS;;;;;gCAOD,MAAM;iCACL,MAAM,WAAW,MAAM;gCACxB,MAAM,WAAW,MAAM;sCACjB,MAAM,WAAW,MAAM;qCACxB,MAAM,WAAW,MAAM;oCACxB,MAAM;CACrB,CAAC;AAGX,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;CA8Bd,CAAC;AAGX,eAAO,MAAM,cAAc;;;;;;;;;;;;CAYjB,CAAC"}