@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,64 @@
1
+ /**
2
+ * Section types for Apple documentation
3
+ */
4
+ /**
5
+ * Base section interface
6
+ */
7
+ interface BaseSection {
8
+ title: string;
9
+ identifiers: string[];
10
+ }
11
+ /**
12
+ * Topic section in documentation
13
+ */
14
+ export interface TopicSection extends BaseSection {
15
+ abstract?: unknown[];
16
+ }
17
+ /**
18
+ * See Also section
19
+ */
20
+ export interface SeeAlsoSection extends BaseSection {
21
+ generated?: boolean;
22
+ }
23
+ /**
24
+ * Relationship section
25
+ */
26
+ export interface RelationshipSection extends BaseSection {
27
+ type?: string;
28
+ kind?: string;
29
+ }
30
+ /**
31
+ * Documentation update section
32
+ */
33
+ export interface UpdateSection {
34
+ title: string;
35
+ items: UpdateItem[];
36
+ }
37
+ /**
38
+ * Documentation update item
39
+ */
40
+ export interface UpdateItem {
41
+ title: string;
42
+ href?: string;
43
+ eyebrow?: string;
44
+ abstract?: string;
45
+ }
46
+ /**
47
+ * Technology overview section
48
+ */
49
+ export interface TechnologyOverviewSection {
50
+ title: string;
51
+ href?: string;
52
+ eyebrow?: string;
53
+ items?: TechnologyOverviewItem[];
54
+ }
55
+ /**
56
+ * Technology overview item
57
+ */
58
+ export interface TechnologyOverviewItem {
59
+ title: string;
60
+ href?: string;
61
+ abstract?: string;
62
+ }
63
+ export {};
64
+ //# sourceMappingURL=sections.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sections.d.ts","sourceRoot":"","sources":["../../src/types/sections.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,sBAAsB,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Section types for Apple documentation
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=sections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sections.js","sourceRoot":"","sources":["../../src/types/sections.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Platform compatibility related types
3
+ */
4
+ /**
5
+ * Platform availability information
6
+ */
7
+ export interface PlatformAvailability {
8
+ platform: string;
9
+ introduced?: string;
10
+ deprecated?: string;
11
+ obsoleted?: string;
12
+ message?: string;
13
+ renamed?: string;
14
+ current?: string;
15
+ beta?: boolean;
16
+ }
17
+ /**
18
+ * Platform compatibility result
19
+ */
20
+ export interface PlatformCompatibilityResult {
21
+ api: {
22
+ title: string;
23
+ url: string;
24
+ type?: string;
25
+ };
26
+ platforms: PlatformAvailability[];
27
+ relatedApis?: Array<{
28
+ title: string;
29
+ url: string;
30
+ platforms: PlatformAvailability[];
31
+ }>;
32
+ }
33
+ //# sourceMappingURL=platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../src/types/tools/platform.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,GAAG,EAAE;QACH,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,SAAS,EAAE,oBAAoB,EAAE,CAAC;IAClC,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,oBAAoB,EAAE,CAAC;KACnC,CAAC,CAAC;CACJ"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Platform compatibility related types
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../src/types/tools/platform.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Sample code related types
3
+ */
4
+ /**
5
+ * Sample code entry
6
+ */
7
+ export interface SampleCode {
8
+ title: string;
9
+ href?: string;
10
+ eyebrow?: string;
11
+ abstract?: string;
12
+ framework?: string;
13
+ isBeta?: boolean;
14
+ isFeatured?: boolean;
15
+ }
16
+ /**
17
+ * Sample code section
18
+ */
19
+ export interface SampleCodeSection {
20
+ title: string;
21
+ items: SampleCode[];
22
+ }
23
+ //# sourceMappingURL=sample-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sample-code.d.ts","sourceRoot":"","sources":["../../../src/types/tools/sample-code.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Sample code related types
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=sample-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sample-code.js","sourceRoot":"","sources":["../../../src/types/tools/sample-code.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Technology overview related types
3
+ */
4
+ import type { TechnologyOverviewItem, TechnologyOverviewSection } from '../sections.js';
5
+ export type { TechnologyOverviewItem, TechnologyOverviewSection };
6
+ /**
7
+ * Technology overview entry
8
+ */
9
+ export interface TechnologyOverview {
10
+ title: string;
11
+ href?: string;
12
+ eyebrow?: string;
13
+ abstract?: string;
14
+ category?: string;
15
+ platform?: string;
16
+ items?: TechnologyOverviewItem[];
17
+ }
18
+ //# sourceMappingURL=technology.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"technology.d.ts","sourceRoot":"","sources":["../../../src/types/tools/technology.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAGxF,YAAY,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,sBAAsB,EAAE,CAAC;CAClC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Technology overview related types
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=technology.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"technology.js","sourceRoot":"","sources":["../../../src/types/tools/technology.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Documentation updates related types
3
+ */
4
+ /**
5
+ * Documentation update entry
6
+ */
7
+ export interface DocumentationUpdate {
8
+ title: string;
9
+ href?: string;
10
+ eyebrow?: string;
11
+ abstract?: string;
12
+ category?: 'wwdc' | 'technology' | 'release-notes';
13
+ year?: string;
14
+ isBeta?: boolean;
15
+ }
16
+ /**
17
+ * Updates index section
18
+ */
19
+ export interface UpdatesIndexSection {
20
+ title: string;
21
+ items: DocumentationUpdate[];
22
+ }
23
+ //# sourceMappingURL=updates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updates.d.ts","sourceRoot":"","sources":["../../../src/types/tools/updates.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,eAAe,CAAC;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,mBAAmB,EAAE,CAAC;CAC9B"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Documentation updates related types
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=updates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updates.js","sourceRoot":"","sources":["../../../src/types/tools/updates.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,200 @@
1
+ /**
2
+ * WWDC视频数据类型定义
3
+ */
4
+ /**
5
+ * Transcript段落
6
+ */
7
+ export interface TranscriptSegment {
8
+ timestamp: string;
9
+ text: string;
10
+ }
11
+ /**
12
+ * Transcript数据
13
+ */
14
+ export interface TranscriptData {
15
+ fullText: string;
16
+ segments: TranscriptSegment[];
17
+ }
18
+ /**
19
+ * 代码示例
20
+ */
21
+ export interface CodeExample {
22
+ timestamp?: string;
23
+ title?: string;
24
+ language: string;
25
+ code: string;
26
+ context?: string;
27
+ }
28
+ /**
29
+ * 资源链接
30
+ */
31
+ export interface ResourceLink {
32
+ title: string;
33
+ url: string;
34
+ }
35
+ /**
36
+ * 视频资源
37
+ */
38
+ export interface VideoResources {
39
+ hdVideo?: string;
40
+ sdVideo?: string;
41
+ sampleProject?: string;
42
+ slides?: string;
43
+ resourceLinks?: ResourceLink[];
44
+ }
45
+ /**
46
+ * 相关视频
47
+ */
48
+ export interface RelatedVideo {
49
+ id: string;
50
+ year: string;
51
+ title: string;
52
+ url: string;
53
+ }
54
+ /**
55
+ * WWDC视频数据
56
+ */
57
+ export interface WWDCVideo {
58
+ id: string;
59
+ year: string;
60
+ url: string;
61
+ title: string;
62
+ speakers?: string[];
63
+ duration: string;
64
+ topics: string[];
65
+ hasTranscript: boolean;
66
+ hasCode: boolean;
67
+ transcript?: TranscriptData;
68
+ codeExamples?: CodeExample[];
69
+ chapters?: Chapter[];
70
+ resources: VideoResources;
71
+ relatedVideos?: RelatedVideo[];
72
+ extractedAt?: string;
73
+ }
74
+ /**
75
+ * 视频章节
76
+ */
77
+ export interface Chapter {
78
+ title: string;
79
+ timestamp: string;
80
+ duration?: string;
81
+ }
82
+ /**
83
+ * 年份元数据
84
+ */
85
+ export interface YearMetadata {
86
+ year: string;
87
+ totalVideos: number;
88
+ hasCodeTab: boolean;
89
+ extractedAt: string;
90
+ lastUpdated?: string;
91
+ }
92
+ /**
93
+ * WWDC年份数据
94
+ */
95
+ export interface WWDCYearData {
96
+ metadata: YearMetadata;
97
+ videos: WWDCVideo[];
98
+ }
99
+ /**
100
+ * 全局元数据
101
+ */
102
+ export interface GlobalMetadata {
103
+ version: string;
104
+ lastUpdated: string;
105
+ totalVideos: number;
106
+ topics: Array<{
107
+ id: string;
108
+ name: string;
109
+ url: string;
110
+ }>;
111
+ years: string[];
112
+ statistics: {
113
+ byTopic: Record<string, number>;
114
+ byYear: Record<string, number>;
115
+ videosWithCode: number;
116
+ videosWithTranscript: number;
117
+ videosWithResources: number;
118
+ };
119
+ }
120
+ /**
121
+ * 主题索引
122
+ */
123
+ export interface TopicIndex {
124
+ id: string;
125
+ name: string;
126
+ videoCount: number;
127
+ years: string[];
128
+ videos: Array<{
129
+ id: string;
130
+ year: string;
131
+ title: string;
132
+ topics: string[];
133
+ duration: string;
134
+ hasCode: boolean;
135
+ hasTranscript: boolean;
136
+ url: string;
137
+ dataFile: string;
138
+ }>;
139
+ }
140
+ /**
141
+ * 年份索引
142
+ */
143
+ export interface YearIndex {
144
+ year: string;
145
+ videoCount: number;
146
+ topics: string[];
147
+ videos: Array<{
148
+ id: string;
149
+ year: string;
150
+ title: string;
151
+ topics: string[];
152
+ duration: string;
153
+ hasCode: boolean;
154
+ hasTranscript: boolean;
155
+ url: string;
156
+ dataFile: string;
157
+ }>;
158
+ }
159
+ /**
160
+ * 完整的WWDC数据集
161
+ */
162
+ export interface WWDCDataset {
163
+ wwdc: Record<string, WWDCYearData>;
164
+ globalMetadata: GlobalMetadata;
165
+ }
166
+ /**
167
+ * 视频列表项(用于列表页提取)
168
+ */
169
+ export interface VideoListItem {
170
+ id: string;
171
+ url: string;
172
+ title: string;
173
+ duration?: string;
174
+ thumbnail?: string;
175
+ }
176
+ /**
177
+ * 提取配置
178
+ */
179
+ export interface ExtractorConfig {
180
+ year: string;
181
+ concurrency?: number;
182
+ retryAttempts?: number;
183
+ timeout?: number;
184
+ skipExisting?: boolean;
185
+ }
186
+ /**
187
+ * 提取进度
188
+ */
189
+ export interface ExtractProgress {
190
+ total: number;
191
+ completed: number;
192
+ failed: number;
193
+ skipped: number;
194
+ currentVideo?: string;
195
+ errors: Array<{
196
+ videoId: string;
197
+ error: string;
198
+ }>;
199
+ }
200
+ //# sourceMappingURL=wwdc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wwdc.d.ts","sourceRoot":"","sources":["../../src/types/wwdc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * WWDC视频数据类型定义
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=wwdc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wwdc.js","sourceRoot":"","sources":["../../src/types/wwdc.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Cache warming strategies for improved performance
3
+ */
4
+ /**
5
+ * Warm up frequently accessed caches
6
+ */
7
+ export declare function warmUpCaches(): Promise<void>;
8
+ /**
9
+ * Get cache warm-up status
10
+ */
11
+ export declare function getCacheWarmUpStatus(): {
12
+ technologiesCacheSize: number;
13
+ updatesCacheSize: number;
14
+ overviewsCacheSize: number;
15
+ apiCacheSize: number;
16
+ totalCacheEntries: number;
17
+ };
18
+ /**
19
+ * Schedule periodic cache refresh
20
+ */
21
+ export declare function schedulePeriodicCacheRefresh(intervalMs?: number): void;
22
+ //# sourceMappingURL=cache-warmer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-warmer.d.ts","sourceRoot":"","sources":["../../src/utils/cache-warmer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAWlD;AA+ED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI;IACtC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;CACzB,CAaF;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,UAAU,GAAE,MAAuB,GAAG,IAAI,CAOtF"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Cache warming strategies for improved performance
3
+ */
4
+ import { handleListTechnologies } from '../tools/list-technologies.js';
5
+ import { handleGetDocumentationUpdates } from '../tools/get-documentation-updates.js';
6
+ import { handleGetTechnologyOverviews } from '../tools/get-technology-overviews.js';
7
+ import { apiCache, technologiesCache, updatesCache, technologyOverviewsCache } from './cache.js';
8
+ import { logger } from './logger.js';
9
+ /**
10
+ * Warm up frequently accessed caches
11
+ */
12
+ export async function warmUpCaches() {
13
+ logger.info('Starting cache warm-up...');
14
+ const warmUpTasks = [
15
+ warmUpTechnologiesCache(),
16
+ warmUpUpdatesCache(),
17
+ warmUpOverviewsCache(),
18
+ ];
19
+ await Promise.allSettled(warmUpTasks);
20
+ logger.info('Cache warm-up completed');
21
+ }
22
+ /**
23
+ * Warm up technologies list cache
24
+ */
25
+ async function warmUpTechnologiesCache() {
26
+ try {
27
+ logger.info('Warming up technologies cache...');
28
+ // Load all technologies
29
+ await handleListTechnologies(undefined, undefined, true);
30
+ // Load popular categories
31
+ const popularCategories = [
32
+ 'app-frameworks',
33
+ 'graphics-and-games',
34
+ 'app-services',
35
+ 'system',
36
+ ];
37
+ for (const category of popularCategories) {
38
+ await handleListTechnologies(category, undefined, true);
39
+ }
40
+ const stats = technologiesCache.getStats();
41
+ logger.info(`Technologies cache warmed up: ${stats.size} entries`);
42
+ }
43
+ catch (error) {
44
+ logger.error('Failed to warm up technologies cache:', error);
45
+ }
46
+ }
47
+ /**
48
+ * Warm up documentation updates cache
49
+ */
50
+ async function warmUpUpdatesCache() {
51
+ try {
52
+ logger.info('Warming up updates cache...');
53
+ // Load recent updates
54
+ await handleGetDocumentationUpdates('all', undefined, undefined, undefined, true, 50);
55
+ // Load WWDC updates
56
+ await handleGetDocumentationUpdates('wwdc', undefined, '2024', undefined, true, 20);
57
+ await handleGetDocumentationUpdates('wwdc', undefined, '2023', undefined, true, 20);
58
+ const stats = updatesCache.getStats();
59
+ logger.info(`Updates cache warmed up: ${stats.size} entries`);
60
+ }
61
+ catch (error) {
62
+ logger.error('Failed to warm up updates cache:', error);
63
+ }
64
+ }
65
+ /**
66
+ * Warm up technology overviews cache
67
+ */
68
+ async function warmUpOverviewsCache() {
69
+ try {
70
+ logger.info('Warming up technology overviews cache...');
71
+ // Load popular categories
72
+ const categories = [
73
+ 'swiftui',
74
+ 'uikit',
75
+ 'app-design-and-ui',
76
+ 'ai-machine-learning',
77
+ 'augmented-reality',
78
+ ];
79
+ for (const category of categories) {
80
+ await handleGetTechnologyOverviews(category, 'all', undefined, true, 20);
81
+ }
82
+ const stats = technologyOverviewsCache.getStats();
83
+ logger.info(`Technology overviews cache warmed up: ${stats.size} entries`);
84
+ }
85
+ catch (error) {
86
+ logger.error('Failed to warm up overviews cache:', error);
87
+ }
88
+ }
89
+ /**
90
+ * Get cache warm-up status
91
+ */
92
+ export function getCacheWarmUpStatus() {
93
+ const techStats = technologiesCache.getStats();
94
+ const updatesStats = updatesCache.getStats();
95
+ const overviewsStats = technologyOverviewsCache.getStats();
96
+ const apiStats = apiCache.getStats();
97
+ return {
98
+ technologiesCacheSize: techStats.size,
99
+ updatesCacheSize: updatesStats.size,
100
+ overviewsCacheSize: overviewsStats.size,
101
+ apiCacheSize: apiStats.size,
102
+ totalCacheEntries: techStats.size + updatesStats.size + overviewsStats.size + apiStats.size,
103
+ };
104
+ }
105
+ /**
106
+ * Schedule periodic cache refresh
107
+ */
108
+ export function schedulePeriodicCacheRefresh(intervalMs = 30 * 60 * 1000) {
109
+ logger.info(`Scheduling cache refresh every ${intervalMs / 1000 / 60} minutes`);
110
+ setInterval(() => {
111
+ logger.info('Running periodic cache refresh...');
112
+ void warmUpCaches();
113
+ }, intervalMs);
114
+ }
115
+ //# sourceMappingURL=cache-warmer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-warmer.js","sourceRoot":"","sources":["../../src/utils/cache-warmer.ts"],"names":[],"mappings":"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"}