m8-mcp-server 1.0.1 → 1.0.2

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 (266) hide show
  1. package/README.md +153 -30
  2. package/dist/cli.d.ts +9 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +14 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/docs/apis.d.ts +38 -0
  7. package/dist/docs/apis.d.ts.map +1 -0
  8. package/dist/docs/apis.js +326 -0
  9. package/dist/docs/apis.js.map +1 -0
  10. package/dist/docs/components.d.ts +45 -0
  11. package/dist/docs/components.d.ts.map +1 -0
  12. package/dist/docs/components.js +186 -0
  13. package/dist/docs/components.js.map +1 -0
  14. package/dist/docs/index.d.ts +94 -0
  15. package/dist/docs/index.d.ts.map +1 -0
  16. package/dist/docs/index.js +182 -0
  17. package/dist/docs/index.js.map +1 -0
  18. package/dist/docs/loader.d.ts +51 -0
  19. package/dist/docs/loader.d.ts.map +1 -0
  20. package/dist/docs/loader.js +165 -0
  21. package/dist/docs/loader.js.map +1 -0
  22. package/dist/docs/search.d.ts +28 -0
  23. package/dist/docs/search.d.ts.map +1 -0
  24. package/dist/docs/search.js +196 -0
  25. package/dist/docs/search.js.map +1 -0
  26. package/dist/docs/standards.d.ts +41 -0
  27. package/dist/docs/standards.d.ts.map +1 -0
  28. package/dist/docs/standards.js +134 -0
  29. package/dist/docs/standards.js.map +1 -0
  30. package/dist/docs/utils.d.ts +46 -0
  31. package/dist/docs/utils.d.ts.map +1 -0
  32. package/dist/docs/utils.js +129 -0
  33. package/dist/docs/utils.js.map +1 -0
  34. package/dist/generator/header.d.ts +32 -0
  35. package/dist/generator/header.d.ts.map +1 -0
  36. package/dist/generator/header.js +83 -0
  37. package/dist/generator/header.js.map +1 -0
  38. package/dist/generator/index.d.ts +50 -0
  39. package/dist/generator/index.d.ts.map +1 -0
  40. package/dist/generator/index.js +387 -0
  41. package/dist/generator/index.js.map +1 -0
  42. package/dist/generator/vue-template.d.ts +54 -0
  43. package/dist/generator/vue-template.d.ts.map +1 -0
  44. package/dist/generator/vue-template.js +191 -0
  45. package/dist/generator/vue-template.js.map +1 -0
  46. package/dist/index.d.ts +21 -0
  47. package/dist/index.d.ts.map +1 -0
  48. package/dist/index.js +73 -1
  49. package/dist/index.js.map +1 -0
  50. package/dist/recommend/index.d.ts +27 -0
  51. package/dist/recommend/index.d.ts.map +1 -0
  52. package/dist/recommend/index.js +412 -0
  53. package/dist/recommend/index.js.map +1 -0
  54. package/dist/tools/generate-code.d.ts +18 -0
  55. package/dist/tools/generate-code.d.ts.map +1 -0
  56. package/dist/tools/generate-code.js +155 -0
  57. package/dist/tools/generate-code.js.map +1 -0
  58. package/dist/tools/get-api-info.d.ts +18 -0
  59. package/dist/tools/get-api-info.d.ts.map +1 -0
  60. package/dist/tools/get-api-info.js +65 -0
  61. package/dist/tools/get-api-info.js.map +1 -0
  62. package/dist/tools/get-coding-standard.d.ts +18 -0
  63. package/dist/tools/get-coding-standard.d.ts.map +1 -0
  64. package/dist/tools/get-coding-standard.js +66 -0
  65. package/dist/tools/get-coding-standard.js.map +1 -0
  66. package/dist/tools/get-component-info.d.ts +18 -0
  67. package/dist/tools/get-component-info.d.ts.map +1 -0
  68. package/dist/tools/get-component-info.js +60 -0
  69. package/dist/tools/get-component-info.js.map +1 -0
  70. package/dist/tools/get-util-info.d.ts +18 -0
  71. package/dist/tools/get-util-info.d.ts.map +1 -0
  72. package/dist/tools/get-util-info.js +65 -0
  73. package/dist/tools/get-util-info.js.map +1 -0
  74. package/dist/tools/index.d.ts +56 -0
  75. package/dist/tools/index.d.ts.map +1 -0
  76. package/dist/tools/index.js +101 -0
  77. package/dist/tools/index.js.map +1 -0
  78. package/dist/tools/recommend-solution.d.ts +18 -0
  79. package/dist/tools/recommend-solution.d.ts.map +1 -0
  80. package/dist/tools/recommend-solution.js +67 -0
  81. package/dist/tools/recommend-solution.js.map +1 -0
  82. package/dist/tools/search-docs.d.ts +18 -0
  83. package/dist/tools/search-docs.d.ts.map +1 -0
  84. package/dist/tools/search-docs.js +71 -0
  85. package/dist/tools/search-docs.js.map +1 -0
  86. package/dist/types/index.d.ts +285 -0
  87. package/dist/types/index.d.ts.map +1 -0
  88. package/dist/types/index.js +8 -0
  89. package/dist/types/index.js.map +1 -0
  90. package/package.json +27 -26
  91. package/resources/cases/.gitkeep +0 -0
  92. package/resources/cases/form-submit-vue2.json +15 -0
  93. package/resources/cases/index.json +8 -0
  94. package/resources/cases/list-detail-vue2.json +27 -0
  95. package/resources/components/.gitkeep +0 -0
  96. package/resources/components/button.json +74 -0
  97. package/resources/components/cell.json +69 -0
  98. package/resources/components/field.json +88 -0
  99. package/resources/components/index.json +72 -0
  100. package/resources/standards/.gitkeep +0 -0
  101. package/resources/standards/css.json +108 -0
  102. package/resources/standards/javascript.json +129 -0
  103. package/resources/standards/project-structure.json +101 -0
  104. package/resources/standards/vue.json +122 -0
  105. package/resources/utils/.gitkeep +0 -0
  106. package/resources/utils/ajax.json +76 -0
  107. package/resources/utils/common.json +129 -0
  108. package/resources/utils/index.json +7 -0
  109. package/resources/utils/string.json +112 -0
  110. package/bin/m8-mcp.js +0 -2
  111. package/dist/constants.js +0 -1
  112. package/dist/data/ejs-doc/api_audio/api_audio.md +0 -225
  113. package/dist/data/ejs-doc/api_auth/api_auth.md +0 -256
  114. package/dist/data/ejs-doc/api_contact/api_contact.md +0 -295
  115. package/dist/data/ejs-doc/api_contact/images/component_contact.jpg +0 -0
  116. package/dist/data/ejs-doc/api_device/api_device.md +0 -761
  117. package/dist/data/ejs-doc/api_event/api_event.md +0 -244
  118. package/dist/data/ejs-doc/api_global/api_global.md +0 -440
  119. package/dist/data/ejs-doc/api_io/api_io.md +0 -369
  120. package/dist/data/ejs-doc/api_navigator/api_navigator.md +0 -654
  121. package/dist/data/ejs-doc/api_navigator/images/navigator.backbtn.png +0 -0
  122. package/dist/data/ejs-doc/api_navigator/images/navigator.hide.png +0 -0
  123. package/dist/data/ejs-doc/api_navigator/images/navigator.hidestatus.png +0 -0
  124. package/dist/data/ejs-doc/api_navigator/images/navigator.leftarrowbtn.jpg +0 -0
  125. package/dist/data/ejs-doc/api_navigator/images/navigator.leftbtn.png +0 -0
  126. package/dist/data/ejs-doc/api_navigator/images/navigator.leftbtnimg.png +0 -0
  127. package/dist/data/ejs-doc/api_navigator/images/navigator.multititle.jpg +0 -0
  128. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtn.png +0 -0
  129. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtn2.png +0 -0
  130. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtnimg.png +0 -0
  131. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtnimg2.png +0 -0
  132. package/dist/data/ejs-doc/api_navigator/images/navigator.rightmenu.png +0 -0
  133. package/dist/data/ejs-doc/api_navigator/images/navigator.searchbar.png +0 -0
  134. package/dist/data/ejs-doc/api_navigator/images/navigator.subtitle.jpg +0 -0
  135. package/dist/data/ejs-doc/api_navigator/images/navigator.title.png +0 -0
  136. package/dist/data/ejs-doc/api_page/api_page.md +0 -261
  137. package/dist/data/ejs-doc/api_runtime/api_runtime.md +0 -788
  138. package/dist/data/ejs-doc/api_storage/api_storage.md +0 -320
  139. package/dist/data/ejs-doc/api_stream/api_stream.md +0 -152
  140. package/dist/data/ejs-doc/api_stream/images/body_multiform.jpg +0 -0
  141. package/dist/data/ejs-doc/api_ui/api_ui.md +0 -836
  142. package/dist/data/ejs-doc/api_ui/images/ui.popwindow.png +0 -0
  143. package/dist/data/ejs-doc/api_ui/images/ui_actionsheet.png +0 -0
  144. package/dist/data/ejs-doc/api_ui/images/ui_alert.png +0 -0
  145. package/dist/data/ejs-doc/api_ui/images/ui_confirm.png +0 -0
  146. package/dist/data/ejs-doc/api_ui/images/ui_pickDateTime.png +0 -0
  147. package/dist/data/ejs-doc/api_ui/images/ui_pickdate.png +0 -0
  148. package/dist/data/ejs-doc/api_ui/images/ui_pickmonth.png +0 -0
  149. package/dist/data/ejs-doc/api_ui/images/ui_picktime.png +0 -0
  150. package/dist/data/ejs-doc/api_ui/images/ui_poppicker.png +0 -0
  151. package/dist/data/ejs-doc/api_ui/images/ui_poppicker2.png +0 -0
  152. package/dist/data/ejs-doc/api_ui/images/ui_poppicker3.png +0 -0
  153. package/dist/data/ejs-doc/api_ui/images/ui_prompt.png +0 -0
  154. package/dist/data/ejs-doc/api_ui/images/ui_select.png +0 -0
  155. package/dist/data/ejs-doc/api_ui/images/ui_select2.png +0 -0
  156. package/dist/data/ejs-doc/api_ui/images/ui_select3.png +0 -0
  157. package/dist/data/ejs-doc/api_ui/images/ui_showdebugdialog.png +0 -0
  158. package/dist/data/ejs-doc/api_ui/images/ui_showwaiting.png +0 -0
  159. package/dist/data/ejs-doc/api_ui/images/ui_toast.png +0 -0
  160. package/dist/data/ejs-doc/api_ui/images/ui_toastAndEvent.png +0 -0
  161. package/dist/data/ejs-doc/api_util/api_util.md +0 -615
  162. package/dist/data/ejs-doc/api_util/images/util.playvideo.png +0 -0
  163. package/dist/data/ejs-doc/api_util/images/util.previmage.png +0 -0
  164. package/dist/data/ejs-doc/api_util/images/util.selectfile.png +0 -0
  165. package/dist/data/ejs-doc/api_util/images/util.selectimage.png +0 -0
  166. package/dist/data/m8mpdoc-develop/003-/345/205/270/345/236/213/346/241/210/344/276/213/003-/345/210/227/350/241/250/350/257/246/346/203/205.md +0 -247
  167. package/dist/data/m8mpdoc-develop/003-/345/205/270/345/236/213/346/241/210/344/276/213/003-/345/210/227/350/241/250/350/257/246/346/203/205vue3.md +0 -276
  168. package/dist/data/m8mpdoc-develop/003-/345/205/270/345/236/213/346/241/210/344/276/213/003-/350/241/250/345/215/225/346/217/220/344/272/244.md +0 -130
  169. package/dist/data/m8mpdoc-develop/003-/345/205/270/345/236/213/346/241/210/344/276/213/003-/350/241/250/345/215/225/346/217/220/344/272/244vue3.md +0 -115
  170. package/dist/data/m8mpdoc-develop/005-/346/240/270/345/277/203/351/200/232/347/224/250Util/000-/346/240/270/345/277/203/346/226/271/346/263/225.md +0 -398
  171. package/dist/data/m8mpdoc-develop/005-/346/240/270/345/277/203/351/200/232/347/224/250Util/001-Ajax/344/270/216/346/226/207/344/273/266/344/270/212/344/274/240.md +0 -456
  172. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/000-charset.md +0 -128
  173. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/001-base64.md +0 -142
  174. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/002-date.md +0 -210
  175. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/004-math.md +0 -85
  176. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/006-sha1.md +0 -21
  177. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/007-sha256.md +0 -36
  178. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/008-storage.md +0 -128
  179. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/009-string.md +0 -148
  180. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/010-Util/346/211/251/345/261/225/346/214/207/345/215/227.md +0 -76
  181. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/011-cookie.md +0 -59
  182. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/012-util-sm.md +0 -95
  183. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-1.baseapi.md +0 -76
  184. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.network.md +0 -202
  185. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.socketTask.md +0 -92
  186. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-3.uiapi.md +0 -412
  187. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-4.eventapi.md +0 -146
  188. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-5.otherapi.md +0 -137
  189. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/014-util-mpVerifyManager.md +0 -363
  190. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/000-/347/273/204/344/273/266/345/272/223/344/270/213/350/275/275/344/275/277/347/224/250.md +0 -188
  191. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/001-actionsheet/345/212/250/344/275/234/351/235/242/346/235/277.md +0 -460
  192. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/004-amap/345/234/260/345/233/276.md +0 -285
  193. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/005-button/346/214/211/351/222/256.md +0 -211
  194. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/008-cell/345/215/225/345/205/203/346/240/274.md +0 -213
  195. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/009-checkbox/345/244/215/351/200/211/346/241/206.md +0 -501
  196. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/010-circle/347/216/257/345/275/242/350/277/233/345/272/246/346/235/241.md +0 -168
  197. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/011-datepicker/346/227/245/346/234/237/351/200/211/346/213/251.md +0 -617
  198. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/013-field/350/276/223/345/205/245/346/241/206.md +0 -539
  199. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/015-form/350/241/250/345/215/225.md +0 -999
  200. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/018-header/345/244/264/351/203/250/345/257/274/350/210/252/346/240/217.md +0 -150
  201. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/019-icon/345/233/276/346/240/207.md +0 -133
  202. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/020-loading/345/212/240/350/275/275.md +0 -117
  203. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/021-noticebar/351/200/232/347/237/245/346/240/217.md +0 -152
  204. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/022-numberkeyboard/346/225/260/345/255/227/351/224/256/347/233/230.md +0 -427
  205. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/023-pagination/345/210/206/351/241/265.md +0 -212
  206. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/024-panel/351/235/242/346/235/277.md +0 -85
  207. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/025-passwordinput/345/257/206/347/240/201/350/276/223/345/205/245/346/241/206.md +0 -175
  208. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/026-picker/351/200/211/346/213/251/345/231/250.md +0 -519
  209. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/027-popup/345/274/271/345/207/272/345/261/202.md +0 -152
  210. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/028-progress/350/277/233/345/272/246/346/235/241.md +0 -103
  211. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/029-radio/345/215/225/351/200/211/346/241/206.md +0 -285
  212. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/030-rate/350/257/204/345/210/206.md +0 -189
  213. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/031-search/346/220/234/347/264/242.md +0 -217
  214. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/032-slider/346/273/221/345/235/227.md +0 -166
  215. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/033-stepper/346/255/245/350/277/233/345/231/250.md +0 -340
  216. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/035-swipecell/346/273/221/345/212/250/345/215/225/345/205/203/346/240/274.md +0 -265
  217. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/036-switch/345/274/200/345/205/263.md +0 -196
  218. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/037-switchcell/345/274/200/345/205/263/345/215/225/345/205/203/346/240/274.md +0 -115
  219. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/038-tag/346/240/207/350/256/260.md +0 -232
  220. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/039-treeselect/345/210/206/347/261/273/351/200/211/346/213/251.md +0 -631
  221. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/040-uploader/346/226/207/344/273/266/344/270/212/344/274/240.md +0 -531
  222. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/041-verifycode/351/252/214/350/257/201/347/240/201.md +0 -111
  223. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/042-minirefresh/344/270/213/346/213/211/345/210/267/346/226/260.md +0 -337
  224. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/043-layout/345/270/203/345/261/200.md +0 -150
  225. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/044-image/345/233/276/347/211/207.md +0 -144
  226. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/045-toast/350/275/273/346/217/220/347/244/272.md +0 -429
  227. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/046-calendar/346/227/245/345/216/206.md +0 -467
  228. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/047-area/347/234/201/345/270/202/345/214/272/351/200/211/346/213/251.md +0 -295
  229. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/048-tab/346/240/207/347/255/276/351/241/265.md +0 -577
  230. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/049-dialog/345/274/271/345/207/272/346/241/206.md +0 -491
  231. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/050-dropdownmenu/344/270/213/346/213/211/350/217/234/345/215/225.md +0 -265
  232. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/051-notify/346/266/210/346/201/257/351/200/232/347/237/245.md +0 -203
  233. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/052-overlay/351/201/256/347/275/251/345/261/202.md +0 -139
  234. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/053-collapse/346/212/230/345/217/240/351/235/242/346/235/277.md +0 -199
  235. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/054-grid/345/256/253/346/240/274.md +0 -183
  236. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/055-countdown/345/200/222/350/256/241/346/227/266.md +0 -289
  237. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/056-divider/345/210/206/345/211/262/347/272/277.md +0 -97
  238. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/057-empty/347/251/272/347/212/266/346/200/201.md +0 -146
  239. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/058-imagepreview/345/233/276/347/211/207/351/242/204/350/247/210.md +0 -292
  240. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/059-lazyload/346/207/222/345/212/240/350/275/275.md +0 -120
  241. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/060-skeleton/351/252/250/346/236/266/345/261/217.md +0 -114
  242. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/061-steps/346/255/245/351/252/244/346/235/241.md +0 -119
  243. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/062-sticky/347/262/230/346/200/247/345/270/203/345/261/200.md +0 -208
  244. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/063-indexbar/347/264/242/345/274/225/346/240/217.md +0 -161
  245. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/064-sidebar/344/276/247/350/276/271/345/257/274/350/210/252.md +0 -248
  246. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/065-tabbar/346/240/207/347/255/276/346/240/217.md +0 -314
  247. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/066-badge/345/276/275/346/240/207.md +0 -162
  248. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/067-popover/346/260/224/346/263/241/345/274/271/345/207/272/346/241/206.md +0 -325
  249. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/068-cascader/347/272/247/350/201/224/351/200/211/346/213/251.md +0 -360
  250. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/069-selectperson/351/200/211/344/272/272/347/273/204/344/273/266.md +0 -595
  251. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/070-swipe/350/275/256/346/222/255.md +0 -262
  252. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/071-/345/233/275/351/231/205/345/214/226.md +0 -51
  253. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/072-easycalendar/346/227/245/345/216/206.md +0 -132
  254. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/073-qrcode/344/272/214/347/273/264/347/240/201.md +0 -1538
  255. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/074-imagescale/345/233/276/347/211/207/350/243/201/345/211/252.md +0 -261
  256. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/075-dragsort/346/213/226/346/213/275/346/216/222/345/272/217.md +0 -161
  257. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/076-chart/345/233/276/350/241/250.md +0 -381
  258. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/077-rtc/351/237/263/350/247/206/351/242/221.md +0 -531
  259. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/078-table/350/241/250/346/240/274.md +0 -849
  260. package/dist/data/m8mpdoc-develop/012-Mock/347/232/204/344/275/277/347/224/250/Mock/347/232/204/344/275/277/347/224/250.md +0 -116
  261. package/dist/data/standards/css-style.md +0 -531
  262. package/dist/data/standards/js-style.md +0 -394
  263. package/dist/data/standards/project-structure.md +0 -325
  264. package/dist/data/standards/vue-style.md +0 -644
  265. package/dist/tools/search.js +0 -1
  266. package/dist/tools/standards.js +0 -1
package/README.md CHANGED
@@ -1,67 +1,190 @@
1
- # M8 移动端框架智能辅助工具 (MCP)
1
+ # M8 MCP Server
2
2
 
3
- 本工具是一个 Model Context Protocol (MCP) 服务,专为 Epoint M8 移动前端框架开发者设计。它允许 AI 助手直接查询 M8 UI 组件、Util 工具类、EJS 原生 API 文档,并获取内置的编码规范,从而生成符合标准的高质量代码。
3
+ M8 移动前端跨端框架 MCP Server - 提供文档查询、智能推荐和代码生成服务。
4
4
 
5
5
  ## 功能特性
6
6
 
7
- - **文档查询**: 快速检索 M8 UI 组件 (如 `uploader`, `datepicker`) 和常用工具方法。
8
- - **EJS API**: 查询 EJS 容器提供的原生能力 (如 `audio`, `camera`)。
9
- - **规范检索**: 获取项目内置的 JS, Vue, CSS 编码规范。
7
+ - 📚 **文档搜索** - 搜索 M8 框架文档,支持关键词搜索和分类过滤
8
+ - 🧩 **组件查询** - 获取 UI 组件的详细信息,包括 Props、Events、示例代码
9
+ - 🔌 **API 查询** - 获取 EJS 原生 API 的详细信息,包括参数、返回值、平台支持
10
+ - 🛠️ **工具查询** - 获取 Util 工具方法的详细信息
11
+ - 📏 **编码规范** - 获取 CSS、JavaScript、Vue、项目结构等编码规范
12
+ - 💡 **智能推荐** - 根据需求智能推荐组件、API 或工具方法
13
+ - ⚡ **代码生成** - 生成符合 M8 规范的 Vue 组件、JavaScript、SCSS 代码
10
14
 
11
15
  ## 安装
12
16
 
13
- 无需克隆源码,支持直接通过 `npx` 使用(需先发布到 npm):
14
-
15
17
  ```bash
16
- npx m8-mcp-server
18
+ npm install -g m8-mcp-server
17
19
  ```
18
20
 
19
- 或者全局安装:
21
+ 或使用 npx 直接运行:
20
22
 
21
23
  ```bash
22
- npm install -g m8-mcp-server
23
- m8-mcp
24
+ npx m8-mcp-server
24
25
  ```
25
26
 
26
- ## 配置 (Claude Desktop)
27
+ ## MCP 配置
27
28
 
28
- 在您的 `claude_desktop_config.json` 中添加以下配置:
29
+ Claude Desktop 或其他 MCP 客户端中配置:
29
30
 
30
31
  ```json
31
32
  {
32
33
  "mcpServers": {
33
- "m8-mcp": {
34
+ "m8": {
34
35
  "command": "npx",
35
- "args": ["-y", "m8-mcp-server"]
36
+ "args": ["m8-mcp-server"]
36
37
  }
37
38
  }
38
39
  }
39
40
  ```
40
41
 
41
- ## 💡 AI 提示词规范 (Prompt)
42
+ 或者如果已全局安装:
43
+
44
+ ```json
45
+ {
46
+ "mcpServers": {
47
+ "m8": {
48
+ "command": "m8-mcp-server"
49
+ }
50
+ }
51
+ }
52
+ ```
53
+
54
+ ## 可用工具
55
+
56
+ ### search_docs
57
+
58
+ 搜索 M8 框架文档。
59
+
60
+ **参数:**
61
+ - `query` (必需): 搜索关键词
62
+ - `category` (可选): 文档分类 (`ejs-api`, `ui-component`, `util-tool`, `typical-case`, `standard`)
63
+ - `limit` (可选): 最大返回数量,默认 10
64
+
65
+ **示例:**
66
+ ```
67
+ 搜索 "button" 相关文档
68
+ 搜索 UI 组件中的 "输入框"
69
+ ```
70
+
71
+ ### get_component_info
72
+
73
+ 获取 UI 组件的详细信息。
74
+
75
+ **参数:**
76
+ - `componentName` (必需): 组件名称,如 `em-button`, `button`, `em-field`, `field`
77
+
78
+ **示例:**
79
+ ```
80
+ 获取 button 组件信息
81
+ 获取 em-field 组件的 Props 和 Events
82
+ ```
83
+
84
+ ### get_api_info
85
+
86
+ 获取 EJS 原生 API 的详细信息。
87
+
88
+ **参数:**
89
+ - `module` (必需): API 模块名称 (`ui`, `page`, `storage`, `device`)
90
+ - `method` (可选): API 方法名称
91
+
92
+ **示例:**
93
+ ```
94
+ 获取 ejs.ui 模块的所有方法
95
+ 获取 ejs.ui.toast 方法的详细信息
96
+ ```
97
+
98
+ ### get_util_info
42
99
 
43
- 为了让 AI 更好地利用此工具,请在对话开头使用以下提示词:
100
+ 获取 Util 工具方法的详细信息。
44
101
 
45
- ```text
46
- 你是一位精通 Epoint M8 移动端框架的开发专家。请利用 m8-mcp 工具辅助我也完成开发任务。
102
+ **参数:**
103
+ - `category` (必需): Util 分类 (`string`, `date`, `ajax`, `common`)
104
+ - `method` (可选): 方法名称
47
105
 
48
- 开发原则:
49
- 1. **优先查阅文档**:在编写任何 UI 组件或调用原生 API 之前,必须先使用 `search_m8_docs` 或 `search_ejs_api` 查询相关文档,确保参数和用法正确。
50
- 2. **遵守编码规范**:生成代码前,请检查或回忆 `get_coding_standards` 中的规范,特别是文件头注释、CSS 命名隔离等要求。
51
- 3. **智能推荐**:如果我不确定使用哪个组件,请根据我的需求描述查询文档并推荐最合适的组件。
106
+ **示例:**
52
107
  ```
108
+ 获取 Util.ajax 的使用方法
109
+ 获取字符串处理工具
110
+ ```
111
+
112
+ ### get_coding_standard
53
113
 
54
- ## 使用示例
114
+ 获取编码规范。
55
115
 
56
- - **查找上传组件**: 调用 `search_m8_docs("uploader")`
57
- - **查找音频 API**: 调用 `search_ejs_api("audio")`
58
- - **查看 JS 规范**: 调用 `get_coding_standards("js")`
116
+ **参数:**
117
+ - `type` (必需): 规范类型 (`css`, `javascript`, `vue`, `project-structure`, `all`)
118
+ - `keyword` (可选): 具体规则关键词
59
119
 
60
- ## 发布与构建
120
+ **示例:**
121
+ ```
122
+ 获取 CSS 编码规范
123
+ 获取 Vue 组件命名规范
124
+ ```
61
125
 
62
- 本项目的源码不包含在 npm 包中,仅包含编译后的 `dist` 目录。
126
+ ### generate_code
127
+
128
+ 生成符合 M8 规范的代码。
129
+
130
+ **参数:**
131
+ - `type` (必需): 代码类型,支持以下方式:
132
+ - 单选字符串: `vue-component`, `javascript`, `scss`, `api-call`, `full-page`
133
+ - 多选数组: `["vue-component", "scss"]` 一次生成多种代码
134
+ - `full-page`: 快捷方式,等同于 `["vue-component", "scss"]`
135
+ - `requirement` (必需): 需求描述
136
+ - `vueVersion` (可选): Vue 版本 (2 或 3),默认 2
137
+ - `components` (可选): 使用的组件列表
138
+
139
+ **示例:**
140
+ ```json
141
+ // 单一类型
142
+ { "type": "vue-component", "requirement": "用户列表组件" }
143
+
144
+ // 多选类型 - 同时生成 Vue 和 SCSS
145
+ { "type": ["vue-component", "scss"], "requirement": "登录页面" }
146
+
147
+ // full-page 快捷方式 - 生成完整页面
148
+ { "type": "full-page", "requirement": "登录页面,包含用户名、密码输入框和登录按钮", "components": ["em-field", "em-button"] }
149
+ ```
150
+
151
+ ### recommend_solution
152
+
153
+ 根据需求智能推荐解决方案。
154
+
155
+ **参数:**
156
+ - `requirement` (必需): 需求描述
157
+ - `type` (可选): 需求类型 (`ui`, `data`, `native`, `general`)
158
+
159
+ **示例:**
160
+ ```
161
+ 我需要显示一个提示消息
162
+ 我需要实现表单提交功能
163
+ ```
164
+
165
+ ## 开发
63
166
 
64
167
  ```bash
65
- # 本地构建 (生成 dist 并混淆)
168
+ # 安装依赖
169
+ npm install
170
+
171
+ # 构建
66
172
  npm run build
173
+
174
+ # 运行测试
175
+ npm test
176
+
177
+ # 开发模式
178
+ npm run dev
67
179
  ```
180
+
181
+ ## 技术栈
182
+
183
+ - TypeScript
184
+ - Model Context Protocol SDK
185
+ - Vitest (测试框架)
186
+ - fast-check (属性测试)
187
+
188
+ ## 许可证
189
+
190
+ MIT
package/dist/cli.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * M8 MCP Server CLI 入口
4
+ * @作者 M8 Team
5
+ * @创建时间 2024-12-29
6
+ * @描述 命令行入口,用于启动 MCP Server
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;GAKG"}
package/dist/cli.js ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * M8 MCP Server CLI 入口
4
+ * @作者 M8 Team
5
+ * @创建时间 2024-12-29
6
+ * @描述 命令行入口,用于启动 MCP Server
7
+ */
8
+ import { startServer } from './index.js';
9
+ // 启动服务器
10
+ startServer().catch((error) => {
11
+ console.error('启动失败:', error);
12
+ process.exit(1);
13
+ });
14
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,QAAQ;AACR,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IAC5B,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * EJS API 信息查询
3
+ * @作者 M8 Team
4
+ * @创建时间 2024-12-29
5
+ * @描述 实现 EJS 原生 API 信息的查询功能
6
+ */
7
+ import type { ApiDoc, ApiMethod } from '../types/index.js';
8
+ /**
9
+ * 获取 API 模块信息
10
+ * @param moduleName 模块名称
11
+ * @returns API 模块信息或 null
12
+ */
13
+ export declare function getApiInfo(moduleName: string): ApiDoc | null;
14
+ /**
15
+ * 获取 API 方法信息
16
+ * @param moduleName 模块名称
17
+ * @param methodName 方法名称
18
+ * @returns API 方法信息或 null
19
+ */
20
+ export declare function getApiMethodInfo(moduleName: string, methodName: string): ApiMethod | null;
21
+ /**
22
+ * 获取所有可用的 API 模块
23
+ * @returns 模块名称数组
24
+ */
25
+ export declare function getAvailableModules(): string[];
26
+ /**
27
+ * 格式化 API 信息为文本
28
+ * @param api API 文档
29
+ * @param methodName 可选的方法名称
30
+ * @returns 格式化的文本
31
+ */
32
+ export declare function formatApiInfo(api: ApiDoc, methodName?: string): string;
33
+ /**
34
+ * 将 EJS API 加载到文档索引中
35
+ * @returns API 文档映射
36
+ */
37
+ export declare function loadEjsApis(): Map<string, ApiDoc>;
38
+ //# sourceMappingURL=apis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apis.d.ts","sourceRoot":"","sources":["../../src/docs/apis.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAW,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAiNpE;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG5D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAMzF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAwEtE;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMjD"}
@@ -0,0 +1,326 @@
1
+ /**
2
+ * EJS API 信息查询
3
+ * @作者 M8 Team
4
+ * @创建时间 2024-12-29
5
+ * @描述 实现 EJS 原生 API 信息的查询功能
6
+ */
7
+ // 内置的 EJS API 文档数据
8
+ const EJS_APIS = [
9
+ {
10
+ module: 'ui',
11
+ description: 'UI 交互相关 API,包括弹窗、提示、选择器等',
12
+ methods: [
13
+ {
14
+ name: 'toast',
15
+ description: '显示轻提示',
16
+ parameters: [
17
+ { name: 'message', type: 'string', required: true, description: '提示内容' },
18
+ { name: 'duration', type: 'number', required: false, description: '显示时长,单位毫秒' }
19
+ ],
20
+ returnValue: { type: 'void', description: '无返回值' },
21
+ platformSupport: { ios: true, android: true, h5: true },
22
+ examples: [{ title: '显示提示', code: "ejs.ui.toast({ message: '操作成功' });" }]
23
+ },
24
+ {
25
+ name: 'alert',
26
+ description: '显示警告弹窗',
27
+ parameters: [
28
+ { name: 'title', type: 'string', required: false, description: '标题' },
29
+ { name: 'message', type: 'string', required: true, description: '内容' },
30
+ { name: 'buttonText', type: 'string', required: false, description: '按钮文字' }
31
+ ],
32
+ returnValue: { type: 'Promise', description: '点击确定后 resolve' },
33
+ platformSupport: { ios: true, android: true, h5: true },
34
+ examples: [{ title: '显示警告', code: "ejs.ui.alert({ title: '提示', message: '这是一条警告信息' });" }]
35
+ },
36
+ {
37
+ name: 'confirm',
38
+ description: '显示确认弹窗',
39
+ parameters: [
40
+ { name: 'title', type: 'string', required: false, description: '标题' },
41
+ { name: 'message', type: 'string', required: true, description: '内容' },
42
+ { name: 'confirmText', type: 'string', required: false, description: '确认按钮文字' },
43
+ { name: 'cancelText', type: 'string', required: false, description: '取消按钮文字' }
44
+ ],
45
+ returnValue: { type: 'Promise<boolean>', description: '点击确认返回 true,取消返回 false' },
46
+ platformSupport: { ios: true, android: true, h5: true },
47
+ examples: [{ title: '确认弹窗', code: "const result = await ejs.ui.confirm({ title: '确认', message: '确定要删除吗?' });" }]
48
+ },
49
+ {
50
+ name: 'showWaiting',
51
+ description: '显示加载中提示',
52
+ parameters: [
53
+ { name: 'message', type: 'string', required: false, description: '提示文字' }
54
+ ],
55
+ returnValue: { type: 'void', description: '无返回值' },
56
+ platformSupport: { ios: true, android: true, h5: true },
57
+ examples: [{ title: '显示加载', code: "ejs.ui.showWaiting({ message: '加载中...' });" }]
58
+ },
59
+ {
60
+ name: 'closeWaiting',
61
+ description: '关闭加载中提示',
62
+ parameters: [],
63
+ returnValue: { type: 'void', description: '无返回值' },
64
+ platformSupport: { ios: true, android: true, h5: true },
65
+ examples: [{ title: '关闭加载', code: 'ejs.ui.closeWaiting();' }]
66
+ },
67
+ {
68
+ name: 'picker',
69
+ description: '显示选择器',
70
+ parameters: [
71
+ { name: 'title', type: 'string', required: false, description: '标题' },
72
+ { name: 'options', type: 'array', required: true, description: '选项数组' },
73
+ { name: 'defaultIndex', type: 'number', required: false, description: '默认选中索引' }
74
+ ],
75
+ returnValue: { type: 'Promise<object>', description: '选中的选项' },
76
+ platformSupport: { ios: true, android: true, h5: true },
77
+ examples: [{ title: '单列选择', code: "const result = await ejs.ui.picker({ options: ['选项1', '选项2', '选项3'] });" }]
78
+ },
79
+ {
80
+ name: 'pickDate',
81
+ description: '显示日期选择器',
82
+ parameters: [
83
+ { name: 'title', type: 'string', required: false, description: '标题' },
84
+ { name: 'defaultDate', type: 'string', required: false, description: '默认日期' },
85
+ { name: 'minDate', type: 'string', required: false, description: '最小日期' },
86
+ { name: 'maxDate', type: 'string', required: false, description: '最大日期' }
87
+ ],
88
+ returnValue: { type: 'Promise<string>', description: '选中的日期字符串' },
89
+ platformSupport: { ios: true, android: true, h5: true },
90
+ examples: [{ title: '日期选择', code: "const date = await ejs.ui.pickDate({ title: '选择日期' });" }]
91
+ },
92
+ {
93
+ name: 'pickTime',
94
+ description: '显示时间选择器',
95
+ parameters: [
96
+ { name: 'title', type: 'string', required: false, description: '标题' },
97
+ { name: 'defaultTime', type: 'string', required: false, description: '默认时间' }
98
+ ],
99
+ returnValue: { type: 'Promise<string>', description: '选中的时间字符串' },
100
+ platformSupport: { ios: true, android: true, h5: true },
101
+ examples: [{ title: '时间选择', code: "const time = await ejs.ui.pickTime({ title: '选择时间' });" }]
102
+ }
103
+ ]
104
+ },
105
+ {
106
+ module: 'page',
107
+ description: '页面导航相关 API,包括页面跳转、关闭等',
108
+ methods: [
109
+ {
110
+ name: 'open',
111
+ description: '打开新页面',
112
+ parameters: [
113
+ { name: 'pageUrl', type: 'string', required: true, description: '页面路径' },
114
+ { name: 'data', type: 'object', required: false, description: '传递给新页面的参数' },
115
+ { name: 'success', type: 'function', required: false, description: '页面关闭后的回调' }
116
+ ],
117
+ returnValue: { type: 'void', description: '无返回值' },
118
+ platformSupport: { ios: true, android: true, h5: true },
119
+ examples: [{ title: '打开页面', code: "ejs.page.open({\n pageUrl: './detail',\n data: { id: '123' },\n success: (result) => {\n console.log('返回数据:', result.resultData);\n }\n});" }]
120
+ },
121
+ {
122
+ name: 'close',
123
+ description: '关闭当前页面',
124
+ parameters: [
125
+ { name: 'resultData', type: 'object', required: false, description: '返回给上一页的数据' }
126
+ ],
127
+ returnValue: { type: 'void', description: '无返回值' },
128
+ platformSupport: { ios: true, android: true, h5: true },
129
+ examples: [{ title: '关闭页面', code: "ejs.page.close({ resultData: { status: 'success' } });" }]
130
+ },
131
+ {
132
+ name: 'setTitle',
133
+ description: '设置页面标题',
134
+ parameters: [
135
+ { name: 'title', type: 'string', required: true, description: '页面标题' }
136
+ ],
137
+ returnValue: { type: 'void', description: '无返回值' },
138
+ platformSupport: { ios: true, android: true, h5: true },
139
+ examples: [{ title: '设置标题', code: "ejs.page.setTitle({ title: '新标题' });" }]
140
+ }
141
+ ]
142
+ },
143
+ {
144
+ module: 'storage',
145
+ description: '本地存储相关 API',
146
+ methods: [
147
+ {
148
+ name: 'setItem',
149
+ description: '存储数据',
150
+ parameters: [
151
+ { name: 'key', type: 'string', required: true, description: '键名' },
152
+ { name: 'value', type: 'string', required: true, description: '值' }
153
+ ],
154
+ returnValue: { type: 'void', description: '无返回值' },
155
+ platformSupport: { ios: true, android: true, h5: true },
156
+ examples: [{ title: '存储数据', code: "ejs.storage.setItem({ key: 'token', value: 'xxx' });" }]
157
+ },
158
+ {
159
+ name: 'getItem',
160
+ description: '获取数据',
161
+ parameters: [
162
+ { name: 'key', type: 'string', required: true, description: '键名' }
163
+ ],
164
+ returnValue: { type: 'Promise<string>', description: '存储的值' },
165
+ platformSupport: { ios: true, android: true, h5: true },
166
+ examples: [{ title: '获取数据', code: "const token = await ejs.storage.getItem({ key: 'token' });" }]
167
+ },
168
+ {
169
+ name: 'removeItem',
170
+ description: '删除数据',
171
+ parameters: [
172
+ { name: 'key', type: 'string', required: true, description: '键名' }
173
+ ],
174
+ returnValue: { type: 'void', description: '无返回值' },
175
+ platformSupport: { ios: true, android: true, h5: true },
176
+ examples: [{ title: '删除数据', code: "ejs.storage.removeItem({ key: 'token' });" }]
177
+ }
178
+ ]
179
+ },
180
+ {
181
+ module: 'device',
182
+ description: '设备相关 API,包括获取设备信息、拍照等',
183
+ methods: [
184
+ {
185
+ name: 'getInfo',
186
+ description: '获取设备信息',
187
+ parameters: [],
188
+ returnValue: { type: 'Promise<object>', description: '设备信息对象' },
189
+ platformSupport: { ios: true, android: true, h5: true },
190
+ examples: [{ title: '获取设备信息', code: 'const info = await ejs.device.getInfo();' }]
191
+ },
192
+ {
193
+ name: 'scan',
194
+ description: '扫描二维码/条形码',
195
+ parameters: [],
196
+ returnValue: { type: 'Promise<string>', description: '扫描结果' },
197
+ platformSupport: { ios: true, android: true, h5: false },
198
+ examples: [{ title: '扫码', code: 'const result = await ejs.device.scan();' }]
199
+ },
200
+ {
201
+ name: 'takePhoto',
202
+ description: '拍照',
203
+ parameters: [
204
+ { name: 'quality', type: 'number', required: false, description: '图片质量 0-100' }
205
+ ],
206
+ returnValue: { type: 'Promise<object>', description: '图片信息' },
207
+ platformSupport: { ios: true, android: true, h5: false },
208
+ examples: [{ title: '拍照', code: 'const photo = await ejs.device.takePhoto({ quality: 80 });' }]
209
+ }
210
+ ]
211
+ }
212
+ ];
213
+ /**
214
+ * 获取 API 模块信息
215
+ * @param moduleName 模块名称
216
+ * @returns API 模块信息或 null
217
+ */
218
+ export function getApiInfo(moduleName) {
219
+ const normalized = moduleName.toLowerCase().trim();
220
+ return EJS_APIS.find(api => api.module.toLowerCase() === normalized) || null;
221
+ }
222
+ /**
223
+ * 获取 API 方法信息
224
+ * @param moduleName 模块名称
225
+ * @param methodName 方法名称
226
+ * @returns API 方法信息或 null
227
+ */
228
+ export function getApiMethodInfo(moduleName, methodName) {
229
+ const api = getApiInfo(moduleName);
230
+ if (!api)
231
+ return null;
232
+ const normalized = methodName.toLowerCase().trim();
233
+ return api.methods.find(m => m.name.toLowerCase() === normalized) || null;
234
+ }
235
+ /**
236
+ * 获取所有可用的 API 模块
237
+ * @returns 模块名称数组
238
+ */
239
+ export function getAvailableModules() {
240
+ return EJS_APIS.map(api => api.module);
241
+ }
242
+ /**
243
+ * 格式化 API 信息为文本
244
+ * @param api API 文档
245
+ * @param methodName 可选的方法名称
246
+ * @returns 格式化的文本
247
+ */
248
+ export function formatApiInfo(api, methodName) {
249
+ const lines = [];
250
+ if (methodName) {
251
+ // 格式化单个方法
252
+ const method = api.methods.find(m => m.name.toLowerCase() === methodName.toLowerCase());
253
+ if (!method) {
254
+ return `方法 ${methodName} 不存在于 ejs.${api.module} 模块中。\n可用方法: ${api.methods.map(m => m.name).join(', ')}`;
255
+ }
256
+ lines.push(`# ejs.${api.module}.${method.name}`);
257
+ lines.push('');
258
+ lines.push(method.description);
259
+ lines.push('');
260
+ // 参数
261
+ if (method.parameters.length > 0) {
262
+ lines.push('## 参数');
263
+ lines.push('');
264
+ lines.push('| 参数 | 类型 | 必填 | 说明 |');
265
+ lines.push('| --- | --- | --- | --- |');
266
+ for (const param of method.parameters) {
267
+ lines.push(`| ${param.name} | ${param.type} | ${param.required ? '是' : '否'} | ${param.description} |`);
268
+ }
269
+ lines.push('');
270
+ }
271
+ // 返回值
272
+ lines.push('## 返回值');
273
+ lines.push('');
274
+ lines.push(`- 类型: \`${method.returnValue.type}\``);
275
+ lines.push(`- 说明: ${method.returnValue.description}`);
276
+ lines.push('');
277
+ // 平台支持
278
+ lines.push('## 平台支持');
279
+ lines.push('');
280
+ lines.push(`- iOS: ${method.platformSupport.ios ? '✓' : '✗'}`);
281
+ lines.push(`- Android: ${method.platformSupport.android ? '✓' : '✗'}`);
282
+ lines.push(`- H5: ${method.platformSupport.h5 ? '✓' : '✗'}`);
283
+ lines.push('');
284
+ // 示例
285
+ if (method.examples.length > 0) {
286
+ lines.push('## 示例');
287
+ lines.push('');
288
+ for (const example of method.examples) {
289
+ lines.push(`### ${example.title}`);
290
+ lines.push('```javascript');
291
+ lines.push(example.code);
292
+ lines.push('```');
293
+ lines.push('');
294
+ }
295
+ }
296
+ }
297
+ else {
298
+ // 格式化整个模块
299
+ lines.push(`# ejs.${api.module}`);
300
+ lines.push('');
301
+ lines.push(api.description);
302
+ lines.push('');
303
+ lines.push('## 方法列表');
304
+ lines.push('');
305
+ lines.push('| 方法 | 说明 |');
306
+ lines.push('| --- | --- |');
307
+ for (const method of api.methods) {
308
+ lines.push(`| ${method.name} | ${method.description} |`);
309
+ }
310
+ lines.push('');
311
+ lines.push('使用 `get_api_info` 工具并指定 `method` 参数可获取具体方法的详细信息。');
312
+ }
313
+ return lines.join('\n');
314
+ }
315
+ /**
316
+ * 将 EJS API 加载到文档索引中
317
+ * @returns API 文档映射
318
+ */
319
+ export function loadEjsApis() {
320
+ const apis = new Map();
321
+ for (const api of EJS_APIS) {
322
+ apis.set(api.module, api);
323
+ }
324
+ return apis;
325
+ }
326
+ //# sourceMappingURL=apis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apis.js","sourceRoot":"","sources":["../../src/docs/apis.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,mBAAmB;AACnB,MAAM,QAAQ,GAAa;IACzB;QACE,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,0BAA0B;QACvC,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,OAAO;gBACpB,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE;oBACxE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE;iBAChF;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;gBAClD,eAAe,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE;gBACvD,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,oCAAoC,EAAE,CAAC;aAC1E;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,QAAQ;gBACrB,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE;oBACrE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;oBACtE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE;iBAC7E;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE;gBAC9D,eAAe,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE;gBACvD,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,qDAAqD,EAAE,CAAC;aAC3F;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,QAAQ;gBACrB,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE;oBACrE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;oBACtE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE;oBAC/E,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE;iBAC/E;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,wBAAwB,EAAE;gBAChF,eAAe,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE;gBACvD,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,2EAA2E,EAAE,CAAC;aACjH;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,SAAS;gBACtB,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE;iBAC1E;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;gBAClD,eAAe,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE;gBACvD,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,4CAA4C,EAAE,CAAC;aAClF;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,SAAS;gBACtB,UAAU,EAAE,EAAE;gBACd,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;gBAClD,eAAe,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE;gBACvD,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC;aAC9D;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,OAAO;gBACpB,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE;oBACrE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE;oBACvE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE;iBACjF;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,EAAE;gBAC9D,eAAe,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE;gBACvD,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,yEAAyE,EAAE,CAAC;aAC/G;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,SAAS;gBACtB,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE;oBACrE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE;oBAC7E,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE;oBACzE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE;iBAC1E;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE;gBACjE,eAAe,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE;gBACvD,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,wDAAwD,EAAE,CAAC;aAC9F;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,SAAS;gBACtB,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE;oBACrE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE;iBAC9E;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE;gBACjE,eAAe,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE;gBACvD,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,wDAAwD,EAAE,CAAC;aAC9F;SACF;KACF;IACD;QACE,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,uBAAuB;QACpC,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,OAAO;gBACpB,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE;oBACxE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE;oBAC3E,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE;iBAChF;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;gBAClD,eAAe,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE;gBACvD,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,mJAAmJ,EAAE,CAAC;aACzL;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,QAAQ;gBACrB,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE;iBAClF;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;gBAClD,eAAe,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE;gBACvD,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,wDAAwD,EAAE,CAAC;aAC9F;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,QAAQ;gBACrB,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE;iBACvE;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;gBAClD,eAAe,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE;gBACvD,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,sCAAsC,EAAE,CAAC;aAC5E;SACF;KACF;IACD;QACE,MAAM,EAAE,SAAS;QACjB,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,MAAM;gBACnB,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;oBAClE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;iBACpE;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;gBAClD,eAAe,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE;gBACvD,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,sDAAsD,EAAE,CAAC;aAC5F;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,MAAM;gBACnB,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;iBACnE;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE;gBAC7D,eAAe,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE;gBACvD,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,4DAA4D,EAAE,CAAC;aAClG;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,MAAM;gBACnB,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;iBACnE;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;gBAClD,eAAe,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE;gBACvD,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,2CAA2C,EAAE,CAAC;aACjF;SACF;KACF;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,uBAAuB;QACpC,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,QAAQ;gBACrB,UAAU,EAAE,EAAE;gBACd,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,QAAQ,EAAE;gBAC/D,eAAe,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE;gBACvD,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,0CAA0C,EAAE,CAAC;aAClF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,WAAW;gBACxB,UAAU,EAAE,EAAE;gBACd,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE;gBAC7D,eAAe,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE;gBACxD,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,yCAAyC,EAAE,CAAC;aAC7E;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,IAAI;gBACjB,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE;iBAChF;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE;gBAC7D,eAAe,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE;gBACxD,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,4DAA4D,EAAE,CAAC;aAChG;SACF;KACF;CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,UAAkB;IAC3C,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IACnD,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,IAAI,IAAI,CAAC;AAC/E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAkB,EAAE,UAAkB;IACrE,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACnC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IACnD,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,IAAI,IAAI,CAAC;AAC5E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,UAAmB;IAC5D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,UAAU,EAAE,CAAC;QACf,UAAU;QACV,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;QACxF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,MAAM,UAAU,aAAa,GAAG,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1G,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,KAAK;QACL,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACxC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC;YACzG,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,MAAM;QACN,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,OAAO;QACP,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,KAAK;QACL,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC5B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,UAAU;QACV,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5B,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;QAC3D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}