m8-mcp-server 1.0.0 → 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
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Tool Manager - 工具管理器
3
+ * @作者 M8 Team
4
+ * @创建时间 2024-12-29
5
+ * @描述 管理所有 MCP 工具的注册和调用
6
+ */
7
+ import { searchDocsDefinition, executeSearchDocs } from './search-docs.js';
8
+ import { getComponentInfoDefinition, executeGetComponentInfo } from './get-component-info.js';
9
+ import { getApiInfoDefinition, executeGetApiInfo } from './get-api-info.js';
10
+ import { getUtilInfoDefinition, executeGetUtilInfo } from './get-util-info.js';
11
+ import { getCodingStandardDefinition, executeGetCodingStandard } from './get-coding-standard.js';
12
+ import { generateCodeDefinition, executeGenerateCode } from './generate-code.js';
13
+ import { recommendSolutionDefinition, executeRecommendSolution } from './recommend-solution.js';
14
+ /**
15
+ * 工具管理器类
16
+ */
17
+ export class ToolManager {
18
+ tools = new Map();
19
+ constructor() {
20
+ // 注册所有工具
21
+ this.registerTool(searchDocsDefinition, executeSearchDocs);
22
+ this.registerTool(getComponentInfoDefinition, executeGetComponentInfo);
23
+ this.registerTool(getApiInfoDefinition, executeGetApiInfo);
24
+ this.registerTool(getUtilInfoDefinition, executeGetUtilInfo);
25
+ this.registerTool(getCodingStandardDefinition, executeGetCodingStandard);
26
+ this.registerTool(generateCodeDefinition, executeGenerateCode);
27
+ this.registerTool(recommendSolutionDefinition, executeRecommendSolution);
28
+ }
29
+ /**
30
+ * 注册工具
31
+ * @param definition 工具定义
32
+ * @param executor 工具执行函数
33
+ */
34
+ registerTool(definition, executor) {
35
+ this.tools.set(definition.name, { definition, executor });
36
+ }
37
+ /**
38
+ * 获取所有工具定义
39
+ * @returns 工具定义数组
40
+ */
41
+ getToolDefinitions() {
42
+ return Array.from(this.tools.values()).map(t => t.definition);
43
+ }
44
+ /**
45
+ * 获取工具名称列表
46
+ * @returns 工具名称数组
47
+ */
48
+ getToolNames() {
49
+ return Array.from(this.tools.keys());
50
+ }
51
+ /**
52
+ * 检查工具是否存在
53
+ * @param name 工具名称
54
+ * @returns 是否存在
55
+ */
56
+ hasTool(name) {
57
+ return this.tools.has(name);
58
+ }
59
+ /**
60
+ * 执行工具
61
+ * @param name 工具名称
62
+ * @param args 工具参数
63
+ * @returns 工具执行结果
64
+ */
65
+ async executeTool(name, args) {
66
+ const tool = this.tools.get(name);
67
+ if (!tool) {
68
+ const availableTools = this.getToolNames().join(', ');
69
+ return {
70
+ content: [{
71
+ type: 'text',
72
+ text: `工具 "${name}" 不存在。\n\n可用工具: ${availableTools}`
73
+ }],
74
+ isError: true
75
+ };
76
+ }
77
+ try {
78
+ return await tool.executor(args);
79
+ }
80
+ catch (error) {
81
+ return {
82
+ content: [{
83
+ type: 'text',
84
+ text: `工具执行失败: ${error instanceof Error ? error.message : '未知错误'}`
85
+ }],
86
+ isError: true
87
+ };
88
+ }
89
+ }
90
+ }
91
+ // 导出单例
92
+ export const toolManager = new ToolManager();
93
+ // 导出所有工具模块
94
+ export * from './search-docs.js';
95
+ export * from './get-component-info.js';
96
+ export * from './get-api-info.js';
97
+ export * from './get-util-info.js';
98
+ export * from './get-coding-standard.js';
99
+ export * from './generate-code.js';
100
+ export * from './recommend-solution.js';
101
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * recommend_solution 工具实现
3
+ * @作者 M8 Team
4
+ * @创建时间 2024-12-29
5
+ * @描述 根据需求智能推荐合适的组件、API 或工具方法
6
+ */
7
+ import type { ToolDefinition, ToolResult } from '../types/index.js';
8
+ /**
9
+ * 工具定义
10
+ */
11
+ export declare const recommendSolutionDefinition: ToolDefinition;
12
+ /**
13
+ * 执行推荐解决方案工具
14
+ * @param args 工具参数
15
+ * @returns 工具执行结果
16
+ */
17
+ export declare function executeRecommendSolution(args: Record<string, unknown>): Promise<ToolResult>;
18
+ //# sourceMappingURL=recommend-solution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recommend-solution.d.ts","sourceRoot":"","sources":["../../src/tools/recommend-solution.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAsB,MAAM,mBAAmB,CAAC;AAGxF;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,cAkBzC,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAiCjG"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * recommend_solution 工具实现
3
+ * @作者 M8 Team
4
+ * @创建时间 2024-12-29
5
+ * @描述 根据需求智能推荐合适的组件、API 或工具方法
6
+ */
7
+ import { recommendationEngine } from '../recommend/index.js';
8
+ /**
9
+ * 工具定义
10
+ */
11
+ export const recommendSolutionDefinition = {
12
+ name: 'recommend_solution',
13
+ description: '根据需求智能推荐合适的组件、API 或工具方法,优先推荐 EJS 原生 API。',
14
+ inputSchema: {
15
+ type: 'object',
16
+ properties: {
17
+ requirement: {
18
+ type: 'string',
19
+ description: '需求描述'
20
+ },
21
+ type: {
22
+ type: 'string',
23
+ enum: ['ui', 'data', 'native', 'general'],
24
+ description: '需求类型(可选)'
25
+ }
26
+ },
27
+ required: ['requirement']
28
+ }
29
+ };
30
+ /**
31
+ * 执行推荐解决方案工具
32
+ * @param args 工具参数
33
+ * @returns 工具执行结果
34
+ */
35
+ export async function executeRecommendSolution(args) {
36
+ try {
37
+ const requirement = args.requirement;
38
+ const type = args.type;
39
+ if (!requirement || requirement.trim().length === 0) {
40
+ return {
41
+ content: [{
42
+ type: 'text',
43
+ text: '错误:需求描述不能为空'
44
+ }],
45
+ isError: true
46
+ };
47
+ }
48
+ const recommendations = recommendationEngine.recommend(requirement, type);
49
+ const result = recommendationEngine.formatRecommendations(recommendations);
50
+ return {
51
+ content: [{
52
+ type: 'text',
53
+ text: result
54
+ }]
55
+ };
56
+ }
57
+ catch (error) {
58
+ return {
59
+ content: [{
60
+ type: 'text',
61
+ text: `推荐失败: ${error instanceof Error ? error.message : '未知错误'}`
62
+ }],
63
+ isError: true
64
+ };
65
+ }
66
+ }
67
+ //# sourceMappingURL=recommend-solution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recommend-solution.js","sourceRoot":"","sources":["../../src/tools/recommend-solution.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAmB;IACzD,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,0CAA0C;IACvD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,MAAM;aACpB;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC;gBACzC,WAAW,EAAE,UAAU;aACxB;SACF;QACD,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,IAA6B;IAC1E,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,WAAqB,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAsC,CAAC;QAEzD,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,aAAa;qBACpB,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,oBAAoB,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,oBAAoB,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;QAE3E,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM;iBACb,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,SAAS,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE;iBACjE,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * search_docs 工具实现
3
+ * @作者 M8 Team
4
+ * @创建时间 2024-12-29
5
+ * @描述 搜索 M8 框架文档
6
+ */
7
+ import type { ToolDefinition, ToolResult } from '../types/index.js';
8
+ /**
9
+ * 工具定义
10
+ */
11
+ export declare const searchDocsDefinition: ToolDefinition;
12
+ /**
13
+ * 执行搜索文档工具
14
+ * @param args 工具参数
15
+ * @returns 工具执行结果
16
+ */
17
+ export declare function executeSearchDocs(args: Record<string, unknown>): Promise<ToolResult>;
18
+ //# sourceMappingURL=search-docs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-docs.d.ts","sourceRoot":"","sources":["../../src/tools/search-docs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAoB,MAAM,mBAAmB,CAAC;AAGtF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAsBlC,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAiC1F"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * search_docs 工具实现
3
+ * @作者 M8 Team
4
+ * @创建时间 2024-12-29
5
+ * @描述 搜索 M8 框架文档
6
+ */
7
+ import { documentManager } from '../docs/index.js';
8
+ /**
9
+ * 工具定义
10
+ */
11
+ export const searchDocsDefinition = {
12
+ name: 'search_docs',
13
+ description: '搜索 M8 框架文档,支持关键词搜索和分类过滤。可搜索 EJS API、UI 组件、Util 工具、编码规范等文档。',
14
+ inputSchema: {
15
+ type: 'object',
16
+ properties: {
17
+ query: {
18
+ type: 'string',
19
+ description: '搜索关键词'
20
+ },
21
+ category: {
22
+ type: 'string',
23
+ enum: ['ejs-api', 'ui-component', 'util-tool', 'typical-case', 'standard'],
24
+ description: '文档分类过滤(可选)'
25
+ },
26
+ limit: {
27
+ type: 'number',
28
+ description: '最大返回数量,默认 10'
29
+ }
30
+ },
31
+ required: ['query']
32
+ }
33
+ };
34
+ /**
35
+ * 执行搜索文档工具
36
+ * @param args 工具参数
37
+ * @returns 工具执行结果
38
+ */
39
+ export async function executeSearchDocs(args) {
40
+ try {
41
+ const query = args.query;
42
+ const category = args.category;
43
+ const limit = args.limit || 10;
44
+ if (!query || query.trim().length === 0) {
45
+ return {
46
+ content: [{
47
+ type: 'text',
48
+ text: '错误:搜索关键词不能为空'
49
+ }],
50
+ isError: true
51
+ };
52
+ }
53
+ const result = documentManager.searchDocsFormatted(query, { category, limit });
54
+ return {
55
+ content: [{
56
+ type: 'text',
57
+ text: result
58
+ }]
59
+ };
60
+ }
61
+ catch (error) {
62
+ return {
63
+ content: [{
64
+ type: 'text',
65
+ text: `搜索失败: ${error instanceof Error ? error.message : '未知错误'}`
66
+ }],
67
+ isError: true
68
+ };
69
+ }
70
+ }
71
+ //# sourceMappingURL=search-docs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-docs.js","sourceRoot":"","sources":["../../src/tools/search-docs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAmB;IAClD,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,4DAA4D;IACzE,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,OAAO;aACrB;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,CAAC;gBAC1E,WAAW,EAAE,YAAY;aAC1B;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,cAAc;aAC5B;SACF;QACD,QAAQ,EAAE,CAAC,OAAO,CAAC;KACpB;CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAA6B;IACnE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAe,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAwC,CAAC;QAC/D,MAAM,KAAK,GAAI,IAAI,CAAC,KAAgB,IAAI,EAAE,CAAC;QAE3C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,cAAc;qBACrB,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,eAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAE/E,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM;iBACb,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,SAAS,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE;iBACjE,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,285 @@
1
+ /**
2
+ * M8 MCP Server 核心类型定义
3
+ * @作者 M8 Team
4
+ * @创建时间 2024-12-29
5
+ * @描述 定义 MCP Server 所需的所有接口和类型
6
+ */
7
+ /**
8
+ * MCP 工具定义
9
+ */
10
+ export interface ToolDefinition {
11
+ name: string;
12
+ description: string;
13
+ inputSchema: {
14
+ type: 'object';
15
+ properties: Record<string, unknown>;
16
+ required?: string[];
17
+ };
18
+ }
19
+ /**
20
+ * MCP 工具执行结果
21
+ */
22
+ export interface ToolResult {
23
+ content: Array<{
24
+ type: 'text';
25
+ text: string;
26
+ }>;
27
+ isError?: boolean;
28
+ }
29
+ /**
30
+ * 文档分类类型
31
+ */
32
+ export type DocumentCategory = 'ejs-api' | 'ui-component' | 'util-tool' | 'typical-case' | 'standard';
33
+ /**
34
+ * 搜索选项
35
+ */
36
+ export interface SearchOptions {
37
+ category?: DocumentCategory;
38
+ limit?: number;
39
+ }
40
+ /**
41
+ * 搜索结果
42
+ */
43
+ export interface SearchResult {
44
+ title: string;
45
+ category: DocumentCategory;
46
+ description: string;
47
+ content: string;
48
+ }
49
+ /**
50
+ * Props 定义
51
+ */
52
+ export interface PropDefinition {
53
+ name: string;
54
+ type: string;
55
+ default?: string;
56
+ required: boolean;
57
+ description: string;
58
+ }
59
+ /**
60
+ * Events 定义
61
+ */
62
+ export interface EventDefinition {
63
+ name: string;
64
+ parameters: string;
65
+ description: string;
66
+ }
67
+ /**
68
+ * Slots 定义
69
+ */
70
+ export interface SlotDefinition {
71
+ name: string;
72
+ description: string;
73
+ }
74
+ /**
75
+ * 代码示例
76
+ */
77
+ export interface CodeExample {
78
+ title: string;
79
+ code: string;
80
+ description?: string;
81
+ }
82
+ /**
83
+ * 组件信息
84
+ */
85
+ export interface ComponentInfo {
86
+ id: string;
87
+ name: string;
88
+ title: string;
89
+ description: string;
90
+ props: PropDefinition[];
91
+ events: EventDefinition[];
92
+ slots?: SlotDefinition[];
93
+ examples: {
94
+ vue2?: CodeExample[];
95
+ vue3?: CodeExample[];
96
+ };
97
+ }
98
+ /**
99
+ * API 方法定义
100
+ */
101
+ export interface ApiMethod {
102
+ name: string;
103
+ description: string;
104
+ parameters: Array<{
105
+ name: string;
106
+ type: string;
107
+ required: boolean;
108
+ description: string;
109
+ }>;
110
+ returnValue: {
111
+ type: string;
112
+ description: string;
113
+ };
114
+ platformSupport: {
115
+ ios: boolean;
116
+ android: boolean;
117
+ h5: boolean;
118
+ };
119
+ examples: CodeExample[];
120
+ }
121
+ /**
122
+ * API 模块信息
123
+ */
124
+ export interface ApiInfo {
125
+ module: string;
126
+ description: string;
127
+ methods: ApiMethod[];
128
+ }
129
+ /**
130
+ * Util 方法定义
131
+ */
132
+ export interface UtilMethod {
133
+ name: string;
134
+ description: string;
135
+ parameters: Array<{
136
+ name: string;
137
+ type: string;
138
+ required: boolean;
139
+ description: string;
140
+ }>;
141
+ returnValue: {
142
+ type: string;
143
+ description: string;
144
+ };
145
+ examples: CodeExample[];
146
+ }
147
+ /**
148
+ * Util 分类信息
149
+ */
150
+ export interface UtilInfo {
151
+ category: string;
152
+ title: string;
153
+ description: string;
154
+ methods: UtilMethod[];
155
+ }
156
+ /**
157
+ * 编码规范类型
158
+ */
159
+ export type StandardType = 'css' | 'javascript' | 'vue' | 'project-structure' | 'all';
160
+ /**
161
+ * 编码规则
162
+ */
163
+ export interface CodingRule {
164
+ id: string;
165
+ title: string;
166
+ description: string;
167
+ correctExample?: string;
168
+ incorrectExample?: string;
169
+ }
170
+ /**
171
+ * 编码规范
172
+ */
173
+ export interface CodingStandard {
174
+ id: string;
175
+ category: Exclude<StandardType, 'all'>;
176
+ title: string;
177
+ description?: string;
178
+ rules: CodingRule[];
179
+ }
180
+ /**
181
+ * 单一代码生成类型
182
+ */
183
+ export type GenerateType = 'vue-component' | 'javascript' | 'scss' | 'api-call' | 'full-page';
184
+ /**
185
+ * 可组合的代码类型(用于多选)
186
+ */
187
+ export type ComposableCodeType = 'vue-component' | 'javascript' | 'scss' | 'api-call';
188
+ /**
189
+ * 代码生成选项
190
+ */
191
+ export interface GenerateOptions {
192
+ type: GenerateType | ComposableCodeType[];
193
+ requirement: string;
194
+ vueVersion?: 2 | 3;
195
+ components?: string[];
196
+ }
197
+ /**
198
+ * 多文件生成结果
199
+ */
200
+ export interface MultiFileGeneratedCode {
201
+ files: Array<{
202
+ type: ComposableCodeType;
203
+ code: string;
204
+ language: string;
205
+ filename: string;
206
+ }>;
207
+ explanation: string;
208
+ }
209
+ /**
210
+ * 文件头选项
211
+ */
212
+ export interface HeaderOptions {
213
+ author?: string;
214
+ description: string;
215
+ version?: string;
216
+ }
217
+ /**
218
+ * 生成的代码
219
+ */
220
+ export interface GeneratedCode {
221
+ code: string;
222
+ language: string;
223
+ explanation: string;
224
+ }
225
+ /**
226
+ * 推荐类型
227
+ */
228
+ export type RecommendationType = 'ui' | 'data' | 'native' | 'general';
229
+ /**
230
+ * 推荐结果类型
231
+ */
232
+ export type RecommendationResultType = 'ejs-api' | 'ui-component' | 'util-method';
233
+ /**
234
+ * 推荐结果
235
+ */
236
+ export interface Recommendation {
237
+ type: RecommendationResultType;
238
+ name: string;
239
+ description: string;
240
+ reason: string;
241
+ priority: number;
242
+ usage: string;
243
+ }
244
+ /**
245
+ * UI 组件文档
246
+ */
247
+ export interface UIComponentDoc extends ComponentInfo {
248
+ }
249
+ /**
250
+ * API 文档
251
+ */
252
+ export interface ApiDoc extends ApiInfo {
253
+ }
254
+ /**
255
+ * Util 文档
256
+ */
257
+ export interface UtilDoc extends UtilInfo {
258
+ }
259
+ /**
260
+ * 编码规范文档
261
+ */
262
+ export interface CodingStandardDoc extends CodingStandard {
263
+ }
264
+ /**
265
+ * 典型案例文档
266
+ */
267
+ export interface CaseDoc {
268
+ id: string;
269
+ title: string;
270
+ description: string;
271
+ category: 'list-detail' | 'form-submit';
272
+ vueVersion: 2 | 3;
273
+ code: string;
274
+ }
275
+ /**
276
+ * 文档索引
277
+ */
278
+ export interface DocumentIndex {
279
+ components: Map<string, UIComponentDoc>;
280
+ apis: Map<string, ApiDoc>;
281
+ utils: Map<string, UtilDoc>;
282
+ standards: Map<string, CodingStandardDoc>;
283
+ cases: CaseDoc[];
284
+ }
285
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * M8 MCP Server 核心类型定义
3
+ * @作者 M8 Team
4
+ * @创建时间 2024-12-29
5
+ * @描述 定义 MCP Server 所需的所有接口和类型
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
package/package.json CHANGED
@@ -1,43 +1,44 @@
1
1
  {
2
2
  "name": "m8-mcp-server",
3
- "version": "1.0.0",
4
- "description": "MCP server for M8 framework and EJS API documentation",
3
+ "version": "1.0.2",
4
+ "description": "M8 移动前端跨端框架 MCP Server - 提供文档查询、智能推荐和代码生成服务",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
7
- "m8-mcp": "./bin/m8-mcp.js"
7
+ "m8-mcp-server": "./dist/cli.js"
8
8
  },
9
- "files": [
10
- "dist",
11
- "bin",
12
- "README.md"
13
- ],
9
+ "type": "module",
14
10
  "scripts": {
15
- "build": "tsc && npm run copy-data && npm run obfuscate",
16
- "copy-data": "node -e \"const fs=require('fs'); const path=require('path'); const src=path.join('src','data'); const dest=path.join('dist','data'); fs.cpSync(src, dest, {recursive: true});\"",
17
- "obfuscate": "javascript-obfuscator ./dist --output ./dist --compact true --self-defending true",
18
- "start": "node dist/index.js",
19
- "dev": "ts-node src/index.ts",
20
- "test": "echo \"Error: no test specified\" && exit 1"
11
+ "build": "tsc",
12
+ "dev": "tsc --watch",
13
+ "test": "vitest run",
14
+ "test:watch": "vitest",
15
+ "start": "node dist/cli.js",
16
+ "prepublishOnly": "npm run build"
21
17
  },
22
18
  "keywords": [
23
19
  "mcp",
24
20
  "m8",
25
- "ejs",
26
- "documentation"
21
+ "mobile",
22
+ "frontend",
23
+ "vue",
24
+ "code-generation"
27
25
  ],
28
26
  "author": "",
29
- "license": "ISC",
27
+ "license": "MIT",
28
+ "files": [
29
+ "dist",
30
+ "resources"
31
+ ],
32
+ "engines": {
33
+ "node": ">=18.0.0"
34
+ },
30
35
  "dependencies": {
31
- "@modelcontextprotocol/sdk": "^0.6.0",
32
- "fast-glob": "^3.3.2",
33
- "fuse.js": "^7.0.0",
34
- "gray-matter": "^4.0.3",
35
- "zod": "^3.23.8"
36
+ "@modelcontextprotocol/sdk": "^1.0.0"
36
37
  },
37
38
  "devDependencies": {
38
- "@types/node": "^20.12.7",
39
- "javascript-obfuscator": "^4.1.0",
40
- "ts-node": "^10.9.2",
41
- "typescript": "^5.4.5"
39
+ "@types/node": "^20.10.0",
40
+ "fast-check": "^3.15.0",
41
+ "typescript": "^5.3.0",
42
+ "vitest": "^1.0.0"
42
43
  }
43
44
  }
File without changes