@ohos-cpf/3rdloop 0.0.8 → 0.0.9

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 (219) hide show
  1. package/README.md +25 -0
  2. package/lib/cli.js +22 -5
  3. package/lib/doctor.js +111 -10
  4. package/lib/mcp.js +498 -0
  5. package/package.json +6 -2
  6. package/vendor/Archive/data/.index/meta.json +7 -0
  7. package/vendor/Archive/data/.index/search.db +0 -0
  8. package/vendor/Archive/data/docs/experiences/arkts-check-tool-pitfalls-baseline-comparison.md +13 -0
  9. package/vendor/Archive/data/docs/experiences/arkts-deep-path-import-recognition.md +31 -0
  10. package/vendor/Archive/data/docs/experiences/arkts-demo-coverage-entry-file-case-mismatch.md +25 -0
  11. package/vendor/Archive/data/docs/experiences/arkts-demo-coverage-import-trailing-slash.md +20 -0
  12. package/vendor/Archive/data/docs/experiences/arkts-library-source-files-may-be-ts.md +18 -0
  13. package/vendor/Archive/data/docs/experiences/arkts-typedarray-buffer-interface-cast-compile-fixes.md +36 -0
  14. package/vendor/Archive/data/docs/experiences/arkts-xts-compile-error-clustering-fix.md +24 -0
  15. package/vendor/Archive/data/docs/experiences/arkts-xts-doc-expected-value-runtime-probe.md +35 -0
  16. package/vendor/Archive/data/docs/experiences/arkts-xts-fixture-rawfile-testability-injection.md +33 -0
  17. package/vendor/Archive/data/docs/experiences/code-linter-chinese-comment-false-positive.md +16 -0
  18. package/vendor/Archive/data/docs/experiences/esobject-new-expression-variable-tracking.md +33 -0
  19. package/vendor/Archive/data/docs/experiences/filesystem-case-sensitivity-module-resolution.md +31 -0
  20. package/vendor/Archive/data/docs/experiences/gitcode-clone-redirect-warning-normal.md +13 -0
  21. package/vendor/Archive/data/docs/experiences/kn_msgvq1w585ec8319.md +77 -0
  22. package/vendor/Archive/data/docs/experiences/kn_msovnm6rd46de72c.md +98 -0
  23. package/vendor/Archive/data/docs/experiences/kn_mspt8vntfe708576.md +87 -0
  24. package/vendor/Archive/data/docs/experiences/kn_mspu1ei77adbbb48.md +133 -0
  25. package/vendor/Archive/data/docs/experiences/kn_mspubgak8d30bfce.md +128 -0
  26. package/vendor/Archive/data/docs/experiences/kn_mspug2de3cb1f7c3.md +115 -0
  27. package/vendor/Archive/data/docs/experiences/kn_skill_opt_001.md +38 -0
  28. package/vendor/Archive/data/docs/experiences/loop-artifacts-verification-evidence-triangle.md +19 -0
  29. package/vendor/Archive/data/docs/experiences/macos-bash-replace-build-ps1.md +19 -0
  30. package/vendor/Archive/data/docs/experiences/macos-bsd-diff-q-illegal-option.md +15 -0
  31. package/vendor/Archive/data/docs/experiences/migrate-cjs-compatible-api-version-map-limit.md +17 -0
  32. package/vendor/Archive/data/docs/experiences/mp3agic-arkts-library-behavior-quirks.md +21 -0
  33. package/vendor/Archive/data/docs/experiences/ohos-face-detection-scan-api-mapping.md +15 -0
  34. package/vendor/Archive/data/docs/experiences/pr-metadata-and-diff-integrity-verification.md +12 -0
  35. package/vendor/Archive/data/docs/experiences/rn-coverage-index-signature-pseudo-member-false-negative.md +32 -0
  36. package/vendor/Archive/data/docs/experiences/rn-memory-check-severity-calibration.md +21 -0
  37. package/vendor/Archive/data/docs/experiences/rn-platform-specific-api-exclusion-evidence.md +24 -0
  38. package/vendor/Archive/data/docs/experiences/rn-upstream-version-diff-pitfalls.md +17 -0
  39. package/vendor/Archive/data/docs/experiences/rn-version-gap-risk-rating-rules.md +13 -0
  40. package/vendor/Archive/data/docs/experiences/rn-view-lib-native-contract-diff-fabric-spec.md +16 -0
  41. package/vendor/Archive/data/docs/experiences/rnoh-adapter-package-version-field-semantics.md +18 -0
  42. package/vendor/Archive/data/docs/experiences/rnoh-arkts-sqlite-rows-array-format.md +18 -0
  43. package/vendor/Archive/data/docs/experiences/rnoh-dependency-residue-scan-strategy.md +18 -0
  44. package/vendor/Archive/data/docs/experiences/rnoh-example-local-lib-dep-use-tgz.md +53 -0
  45. package/vendor/Archive/data/docs/experiences/rnoh-example-prereserve-rntesterlist.md +17 -0
  46. package/vendor/Archive/data/docs/experiences/rnoh-example-template-compatiblesdkversion-upgrade.md +29 -0
  47. package/vendor/Archive/data/docs/experiences/rnoh-example-turbomodule-shell-adaptation-checklist.md +41 -0
  48. package/vendor/Archive/data/docs/experiences/rnoh-mcp-build-project-tool-risk.md +18 -0
  49. package/vendor/Archive/data/docs/experiences/rnoh-npm-devdependencies-version-precheck.md +29 -0
  50. package/vendor/Archive/data/docs/experiences/rnoh-repo-baseline-version-verification.md +13 -0
  51. package/vendor/Archive/data/docs/experiences/rnoh-repo-upstream-directory-mapping.md +18 -0
  52. package/vendor/Archive/data/docs/experiences/rnoh-stateless-library-zero-leak-verification.md +31 -0
  53. package/vendor/Archive/data/docs/experiences/rnoh-template-npmrc-credential-removal.md +15 -0
  54. package/vendor/Archive/data/docs/experiences/rnoh-turbomodule-codegen-wiring-verification.md +19 -0
  55. package/vendor/Archive/data/docs/experiences/rnoh-turbomodule-cpp-methodmap-compatibility-check.md +20 -0
  56. package/vendor/Archive/data/docs/experiences/scenario-doc-vs-source-signature-diff-four-patterns.md +24 -0
  57. package/vendor/Archive/data/docs/experiences/static-analysis-grep-cross-validation.md +29 -0
  58. package/vendor/Archive/demo.js +489 -0
  59. package/vendor/Archive/index.js +43 -0
  60. package/vendor/Archive/package.json +16 -0
  61. package/vendor/Archive/src/constants.js +83 -0
  62. package/vendor/Archive/src/data/stopwords.txt +110 -0
  63. package/vendor/Archive/src/data/synonyms.json +25 -0
  64. package/vendor/Archive/src/data/terms.txt +59 -0
  65. package/vendor/Archive/src/db/sqlite-backend.js +312 -0
  66. package/vendor/Archive/src/db/sqlite-schema.js +64 -0
  67. package/vendor/Archive/src/engine.js +501 -0
  68. package/vendor/Archive/src/index/index-manager.js +203 -0
  69. package/vendor/Archive/src/index/index-state.js +94 -0
  70. package/vendor/Archive/src/index/search-text-builder.js +106 -0
  71. package/vendor/Archive/src/index.js +22 -0
  72. package/vendor/Archive/src/parser/api-identifiers.js +121 -0
  73. package/vendor/Archive/src/parser/api-suffixes.js +48 -0
  74. package/vendor/Archive/src/parser/heading-normalize.js +40 -0
  75. package/vendor/Archive/src/parser/markdown-splitter.js +215 -0
  76. package/vendor/Archive/src/search/catalog-routing.js +87 -0
  77. package/vendor/Archive/src/search/fts-search.js +289 -0
  78. package/vendor/Archive/src/search/query-normalizer.js +159 -0
  79. package/vendor/Archive/src/search/query-rewriter.js +72 -0
  80. package/vendor/Archive/src/search/search-engine.js +72 -0
  81. package/vendor/Archive/src/search/snippet.js +64 -0
  82. package/vendor/Archive/src/store/dir-store.js +103 -0
  83. package/vendor/Archive/src/store/doc-store.js +36 -0
  84. package/vendor/Archive/src/tokenizer/lexicon.js +151 -0
  85. package/vendor/Archive/src/tokenizer/tokenizer.js +167 -0
  86. package/vendor/Archive/src/types.js +86 -0
  87. package/vendor/Archive/src/utils/hash.js +16 -0
  88. package/vendor/Archive/src/utils/lock.js +73 -0
  89. package/vendor/Archive/src/utils/path-safety.js +96 -0
  90. package/vendor/Archive/src/utils/paths.js +39 -0
  91. package/vendor/BadCase/rn/INDEX.md +127 -0
  92. package/vendor/BadCase/rn/cases/KI-001-webview/350/247/206/351/242/221/346/227/240/346/263/225/346/250/252/345/261/217.md +52 -0
  93. package/vendor/BadCase/rn/cases/KI-002-fastImage/347/203/255/346/233/264/346/226/260/345/233/276/347/211/207/345/244/261/350/264/245.md +37 -0
  94. package/vendor/BadCase/rn/cases/KI-003-wechat/347/274/251/347/225/245/345/233/276/346/234/254/345/234/260/345/233/276/347/211/207.md +62 -0
  95. package/vendor/BadCase/rn/cases/KI-004-wechat/345/233/236/350/260/203/346/227/266/345/272/217.md +47 -0
  96. package/vendor/BadCase/rn/cases/KI-005-geolocation/345/257/274/345/205/245/350/267/257/345/276/204/345/220/216/347/274/200.md +31 -0
  97. package/vendor/BadCase/rn/cases/KI-006-SmartRefreshLayout/346/231/272/350/203/275/346/214/207/351/222/210/345/264/251/346/272/203.md +55 -0
  98. package/vendor/BadCase/rn/cases/KI-007-orientation-locker/344/274/240/346/204/237/345/231/250/345/210/235/345/247/213/345/214/226.md +58 -0
  99. package/vendor/BadCase/rn/cases/KI-008-orientation-locker/344/274/240/346/204/237/345/231/250/345/274/225/347/224/250/350/256/241/346/225/260.md +47 -0
  100. package/vendor/BadCase/rn/cases/KI-009-pager-view/345/265/214/345/245/227/346/273/221/345/212/250.md +38 -0
  101. package/vendor/BadCase/rn/cases/KI-010-screens/346/211/213/345/212/277/345/206/262/347/252/201.md +48 -0
  102. package/vendor/BadCase/rn/cases/KI-011-spring-scrollview/346/211/213/345/212/277/351/207/215/345/244/215/347/273/221/345/256/232.md +49 -0
  103. package/vendor/BadCase/rn/cases/KI-012-qr-camera/346/250/252/345/261/217/351/200/202/351/205/215.md +59 -0
  104. package/vendor/BadCase/rn/cases/KI-013-webview/346/267/261/350/211/262/346/250/241/345/274/217/350/203/214/346/231/257/350/211/262.md +37 -0
  105. package/vendor/BadCase/rn/cases/KI-014-amap-geolocation/345/233/236/350/260/203/347/274/272/345/244/261.md +42 -0
  106. package/vendor/BadCase/rn/cases/KI-015-reanimated/350/277/220/350/241/214/346/227/266/346/236/220/346/236/204/345/264/251/346/272/203.md +54 -0
  107. package/vendor/BadCase/rn/cases/KI-016-fs/346/226/207/344/273/266/350/257/273/345/217/226/347/274/226/347/240/201.md +58 -0
  108. package/vendor/BadCase/rn/cases/KI-017-blob-util/345/217/202/346/225/260/347/274/226/347/240/201/351/224/231/350/257/257.md +39 -0
  109. package/vendor/BadCase/rn/cases/KI-018-modal/345/274/271/347/252/227/351/227/252/347/203/201.md +53 -0
  110. package/vendor/BadCase/rn/cases/KI-019-code-push/351/207/215/345/220/257/351/200/273/350/276/221/345/244/261/346/225/210.md +79 -0
  111. package/vendor/BadCase/rn/cases/KI-020-netinfo/346/225/217/346/204/237/344/277/241/346/201/257/346/263/204/351/234/262.md +60 -0
  112. package/vendor/BadCase/rn/cases/KI-021-video/346/234/254/345/234/260/350/247/206/351/242/221/346/222/255/346/224/276/345/274/202/345/270/270.md +79 -0
  113. package/vendor/BadCase/rn/cases/KI-022-audio-recorder-player/346/236/232/344/270/276/347/274/272/345/244/261.md +38 -0
  114. package/vendor/BadCase/rn/cases/KI-023-svg/346/270/220/345/217/230/347/273/247/346/211/277/345/244/261/346/225/210.md +62 -0
  115. package/vendor/BadCase/rn/generalization-log.md +55 -0
  116. package/vendor/BadCase/rn/pr-info/rntpc_react-native-SmartRefreshLayout-32.json +328 -0
  117. package/vendor/BadCase/rn/pr-info/rntpc_react-native-SmartRefreshLayout-32.md +382 -0
  118. package/vendor/BadCase/rn/pr-info/rntpc_react-native-amap-geolocation-27.json +1351 -0
  119. package/vendor/BadCase/rn/pr-info/rntpc_react-native-amap-geolocation-27.md +1176 -0
  120. package/vendor/BadCase/rn/pr-info/rntpc_react-native-audio-recorder-player-22.json +538 -0
  121. package/vendor/BadCase/rn/pr-info/rntpc_react-native-audio-recorder-player-22.md +1488 -0
  122. package/vendor/BadCase/rn/pr-info/rntpc_react-native-blob-util-23.json +211 -0
  123. package/vendor/BadCase/rn/pr-info/rntpc_react-native-blob-util-23.md +35 -0
  124. package/vendor/BadCase/rn/pr-info/rntpc_react-native-code-push-17.json +2048 -0
  125. package/vendor/BadCase/rn/pr-info/rntpc_react-native-code-push-17.md +3866 -0
  126. package/vendor/BadCase/rn/pr-info/rntpc_react-native-fast-image-102.json +198 -0
  127. package/vendor/BadCase/rn/pr-info/rntpc_react-native-fast-image-102.md +40 -0
  128. package/vendor/BadCase/rn/pr-info/rntpc_react-native-fs-38.json +751 -0
  129. package/vendor/BadCase/rn/pr-info/rntpc_react-native-fs-38.md +883 -0
  130. package/vendor/BadCase/rn/pr-info/rntpc_react-native-geolocation-24.json +1544 -0
  131. package/vendor/BadCase/rn/pr-info/rntpc_react-native-geolocation-24.md +2598 -0
  132. package/vendor/BadCase/rn/pr-info/rntpc_react-native-modal-20.json +246 -0
  133. package/vendor/BadCase/rn/pr-info/rntpc_react-native-modal-20.md +554 -0
  134. package/vendor/BadCase/rn/pr-info/rntpc_react-native-netinfo-31.json +211 -0
  135. package/vendor/BadCase/rn/pr-info/rntpc_react-native-netinfo-31.md +54 -0
  136. package/vendor/BadCase/rn/pr-info/rntpc_react-native-orientation-locker-45.json +1626 -0
  137. package/vendor/BadCase/rn/pr-info/rntpc_react-native-orientation-locker-45.md +2213 -0
  138. package/vendor/BadCase/rn/pr-info/rntpc_react-native-orientation-locker-51.json +208 -0
  139. package/vendor/BadCase/rn/pr-info/rntpc_react-native-orientation-locker-51.md +77 -0
  140. package/vendor/BadCase/rn/pr-info/rntpc_react-native-pager-view-32.json +377 -0
  141. package/vendor/BadCase/rn/pr-info/rntpc_react-native-pager-view-32.md +174 -0
  142. package/vendor/BadCase/rn/pr-info/rntpc_react-native-qr-decode-image-camera-37.json +232 -0
  143. package/vendor/BadCase/rn/pr-info/rntpc_react-native-qr-decode-image-camera-37.md +194 -0
  144. package/vendor/BadCase/rn/pr-info/rntpc_react-native-reanimated-82.json +198 -0
  145. package/vendor/BadCase/rn/pr-info/rntpc_react-native-reanimated-82.md +67 -0
  146. package/vendor/BadCase/rn/pr-info/rntpc_react-native-screens-87.json +198 -0
  147. package/vendor/BadCase/rn/pr-info/rntpc_react-native-screens-87.md +38 -0
  148. package/vendor/BadCase/rn/pr-info/rntpc_react-native-screens-93.json +208 -0
  149. package/vendor/BadCase/rn/pr-info/rntpc_react-native-screens-93.md +34 -0
  150. package/vendor/BadCase/rn/pr-info/rntpc_react-native-spring-scrollview-38.json +222 -0
  151. package/vendor/BadCase/rn/pr-info/rntpc_react-native-spring-scrollview-38.md +56 -0
  152. package/vendor/BadCase/rn/pr-info/rntpc_react-native-svg-117.json +463 -0
  153. package/vendor/BadCase/rn/pr-info/rntpc_react-native-svg-117.md +383 -0
  154. package/vendor/BadCase/rn/pr-info/rntpc_react-native-video-66.json +464 -0
  155. package/vendor/BadCase/rn/pr-info/rntpc_react-native-video-66.md +565 -0
  156. package/vendor/BadCase/rn/pr-info/rntpc_react-native-webview-112.json +198 -0
  157. package/vendor/BadCase/rn/pr-info/rntpc_react-native-webview-112.md +47 -0
  158. package/vendor/BadCase/rn/pr-info/rntpc_react-native-webview-121.json +232 -0
  159. package/vendor/BadCase/rn/pr-info/rntpc_react-native-webview-121.md +422 -0
  160. package/vendor/BadCase/rn/pr-info/rntpc_react-native-wechat-lib-15.json +295 -0
  161. package/vendor/BadCase/rn/pr-info/rntpc_react-native-wechat-lib-15.md +1038 -0
  162. package/vendor/BadCase/rn/rules/R-01-/345/205/250/345/261/217/347/252/227/345/217/243/347/212/266/346/200/201/347/256/241/347/220/206/345/256/214/346/225/264/346/200/247.md +20 -0
  163. package/vendor/BadCase/rn/rules/R-02-/350/265/204/346/272/220URI/345/275/242/346/200/201/345/210/206/346/224/257/350/246/206/347/233/226.md +21 -0
  164. package/vendor/BadCase/rn/rules/R-03-/351/231/204/345/261/236/346/223/215/344/275/234/345/244/261/350/264/245/351/230/273/346/226/255/344/270/273/346/265/201/347/250/213.md +20 -0
  165. package/vendor/BadCase/rn/rules/R-04-/345/274/202/346/255/245/345/233/236/350/260/203/346/263/250/345/206/214/346/227/266/345/272/217.md +20 -0
  166. package/vendor/BadCase/rn/rules/R-05-/346/250/241/345/235/227/345/257/274/345/205/245/350/267/257/345/276/204/350/247/204/350/214/203.md +19 -0
  167. package/vendor/BadCase/rn/rules/R-06-/344/274/240/346/204/237/345/231/250/347/241/254/344/273/266/346/235/203/351/231/220/346/214/211/351/234/200/350/216/267/345/217/226.md +21 -0
  168. package/vendor/BadCase/rn/rules/R-07-/346/231/272/350/203/275/346/214/207/351/222/210/347/224/237/345/221/275/345/221/250/346/234/237/347/256/241/347/220/206.md +20 -0
  169. package/vendor/BadCase/rn/rules/R-08-/346/211/213/345/212/277/344/272/213/344/273/266/346/263/250/345/206/214/344/270/216/345/206/262/347/252/201/345/244/204/347/220/206.md +22 -0
  170. package/vendor/BadCase/rn/rules/R-09-/346/250/252/347/253/226/345/261/217/345/244/232/345/275/242/346/200/201/345/270/203/345/261/200/351/200/202/351/205/215.md +20 -0
  171. package/vendor/BadCase/rn/rules/R-10-/346/267/261/350/211/262/346/250/241/345/274/217/344/270/273/351/242/230/351/242/234/350/211/262/351/200/202/351/205/215.md +19 -0
  172. package/vendor/BadCase/rn/rules/R-11-/346/216/245/345/217/243/345/233/236/350/260/203/345/256/236/347/216/260/345/256/214/346/225/264/346/200/247.md +20 -0
  173. package/vendor/BadCase/rn/rules/R-12-/345/216/237/347/224/237/350/277/220/350/241/214/346/227/266/350/265/204/346/272/220/346/236/220/346/236/204/346/227/266/345/272/217.md +20 -0
  174. package/vendor/BadCase/rn/rules/R-13-/346/226/207/344/273/266/346/225/260/346/215/256/347/274/226/347/240/201/344/270/216/346/240/274/345/274/217/345/205/274/345/256/271.md +21 -0
  175. package/vendor/BadCase/rn/rules/R-14-/345/212/250/347/224/273/345/210/235/345/247/213/345/214/226/346/227/266/345/272/217/344/270/216/347/212/266/346/200/201/345/220/214/346/255/245.md +20 -0
  176. package/vendor/BadCase/rn/rules/R-15-/347/212/266/346/200/201/346/214/201/344/271/205/345/214/226/344/270/216/351/207/215/345/220/257/351/200/273/350/276/221/344/270/200/350/207/264/346/200/247.md +20 -0
  177. package/vendor/BadCase/rn/rules/R-16-/346/225/217/346/204/237/344/277/241/346/201/257/346/227/245/345/277/227/346/263/204/351/234/262.md +19 -0
  178. package/vendor/BadCase/rn/rules/R-17-/345/252/222/344/275/223/350/265/204/346/272/220/347/224/237/345/221/275/345/221/250/346/234/237/344/270/216/351/224/231/350/257/257/345/244/204/347/220/206.md +21 -0
  179. package/vendor/BadCase/rn/rules/R-18-/350/203/275/345/212/233/346/236/232/344/270/276/351/205/215/347/275/256/345/256/214/346/225/264/346/200/247.md +19 -0
  180. package/vendor/BadCase/rn/rules/R-19-/345/233/276/345/275/242/346/270/262/346/237/223/345/261/236/346/200/247/347/273/247/346/211/277/344/270/216/351/207/215/347/275/256.md +19 -0
  181. package/vendor/MCP/README.md +490 -0
  182. package/vendor/MCP/config.json +29 -0
  183. package/vendor/MCP/package.json +23 -0
  184. package/vendor/MCP/scripts/analyze-demo-coverage.cjs +1203 -0
  185. package/vendor/MCP/scripts/analyze-xts-coverage.cjs +1245 -0
  186. package/vendor/MCP/scripts/deveco_docs.js +247 -0
  187. package/vendor/MCP/scripts/extract-interfaces.cjs +1487 -0
  188. package/vendor/MCP/scripts/flutter-analyze-demo-coverage.cjs +666 -0
  189. package/vendor/MCP/scripts/flutter-analyze-xts-coverage.cjs +684 -0
  190. package/vendor/MCP/scripts/flutter-extract-interfaces.cjs +1251 -0
  191. package/vendor/MCP/scripts/flutter-render-spec-doc.cjs +351 -0
  192. package/vendor/MCP/scripts/render-spec-doc.cjs +347 -0
  193. package/vendor/MCP/scripts/rn-analyze-demo-coverage.cjs +645 -0
  194. package/vendor/MCP/scripts/rn-analyze-test-coverage.cjs +614 -0
  195. package/vendor/MCP/scripts/rn-extract-interfaces.cjs +1462 -0
  196. package/vendor/MCP/scripts/rn-render-spec-doc.cjs +327 -0
  197. package/vendor/MCP/scripts/rn-scan-exports.cjs +1336 -0
  198. package/vendor/MCP/src/client/MCPClientPool.js +220 -0
  199. package/vendor/MCP/src/config/ConfigLoader.js +189 -0
  200. package/vendor/MCP/src/executor/ScriptExecutor.js +110 -0
  201. package/vendor/MCP/src/gateway/Gateway.js +451 -0
  202. package/vendor/MCP/src/index.js +87 -0
  203. package/vendor/MCP/src/library/KBToolProvider.js +229 -0
  204. package/vendor/MCP/src/library/logger.js +60 -0
  205. package/vendor/MCP/src/registry/ScriptRegistry.js +238 -0
  206. package/vendor/MCP/src/registry/ToolRegistry.js +111 -0
  207. package/vendor/MCP/src/types.js +115 -0
  208. package/vendor/Server/Skills/arkts-library-test-coverage-check/references/MCP_TOOL_USAGE.md +4 -2
  209. package/vendor/Server/Skills/arkts-library-xts-coverage/SKILL.md +3 -3
  210. package/vendor/Server/Skills/knowledge-import/SKILL.md +1 -1
  211. package/vendor/Server/Skills/knowledge-import/references/MCP_TOOL_USAGE.md +12 -4
  212. package/vendor/Server/Skills/ohos-lib-pr-push/SKILL.md +5 -4
  213. package/vendor/Server/Skills/rn-library-issue-generalizer/SKILL.md +2 -2
  214. package/vendor/Server/Skills/rn-library-known-issue-check/SKILL.md +2 -2
  215. package/vendor/Server/Skills/rnoh-lib-demo-coverage/SKILL.md +1 -2
  216. package/vendor/Server/Skills/rnoh-lib-test-align/references/port-test-demo-guide.md +1 -1
  217. package/vendor/Server/Skills/rnoh-lib-xts-coverage/SKILL.md +1 -2
  218. package/vendor/Server/package.json +5 -1
  219. package/vendor/VERSION +3 -3
@@ -0,0 +1,115 @@
1
+ /**
2
+ * MCP Gateway 类型定义
3
+ *
4
+ * 使用 JSDoc @typedef 定义所有共享类型,保持 JS 项目的类型安全。
5
+ * 各模块通过 @import 或 @type 引用这些类型。
6
+ */
7
+
8
+ /**
9
+ * 下游 MCP Server 配置(stdio 类型)。
10
+ * @typedef {Object} StdioServerConfig
11
+ * @property {'stdio'} type - 传输类型,固定为 'stdio'
12
+ * @property {string} command - 启动命令(如 'npx'、'node'、'python3')
13
+ * @property {string[]} args - 命令参数
14
+ * @property {Object<string, string>} [env] - 环境变量
15
+ * @property {boolean} [enabled] - 是否启用,默认 true
16
+ */
17
+
18
+ /**
19
+ * 下游 MCP Server 配置(remote 类型)。
20
+ * @typedef {Object} RemoteServerConfig
21
+ * @property {'remote'} type - 传输类型,固定为 'remote'
22
+ * @property {string} url - 远程 MCP Server URL(如 'https://example.com/mcp')
23
+ * @property {Object<string, string>} [headers] - 自定义 HTTP 请求头(如 Authorization)
24
+ * @property {boolean} [enabled] - 是否启用,默认 true
25
+ */
26
+
27
+ /**
28
+ * 下游 MCP Server 配置(联合类型)。
29
+ * @typedef {StdioServerConfig | RemoteServerConfig} DownstreamServerConfig
30
+ */
31
+
32
+ /**
33
+ * 脚本功能配置。
34
+ * @typedef {Object} ScriptsConfig
35
+ * @property {boolean} enabled - 是否启用脚本功能
36
+ * @property {boolean} hotReload - 是否热加载脚本
37
+ * @property {number} timeout - 脚本执行超时(ms)
38
+ * @property {string[]} allowedExtensions - 允许的脚本扩展名
39
+ */
40
+
41
+ /**
42
+ * 知识库 catalog 配置(与 Archive CatalogConfig 对应)。
43
+ * @typedef {Object} KBCatalogConfig
44
+ * @property {string} id - 目录标识,如 'guides'
45
+ * @property {string} title - 目录中文名
46
+ * @property {number} [searchBoost] - 搜索权重倍数(>1 提升)
47
+ * @property {boolean} [tailInGlobalSearch] - 全局搜索时是否排到尾部
48
+ */
49
+
50
+ /**
51
+ * 知识库配置。
52
+ * @typedef {Object} KnowledgeBaseConfig
53
+ * @property {boolean} enabled - 是否启用知识库工具
54
+ * @property {string} enginePath - Archive 引擎入口路径(ESM import 路径)
55
+ * @property {string} dataDir - 知识库数据根目录(文档 + 索引)
56
+ * @property {KBCatalogConfig[]} [catalogs] - 目录配置(不传使用 Archive 默认)
57
+ */
58
+
59
+ /**
60
+ * Gateway 总配置。
61
+ * @typedef {Object} GatewayConfig
62
+ * @property {Object<string, DownstreamServerConfig>} downstreamServers - 下游 Server 配置
63
+ * @property {string} scriptsDir - 脚本目录路径
64
+ * @property {ScriptsConfig} scripts - 脚本功能配置
65
+ * @property {KnowledgeBaseConfig} [knowledgeBase] - 知识库配置(可选)
66
+ * @property {{ name: string, version: string, transport: 'stdio' }} gateway - Gateway 元信息
67
+ */
68
+
69
+ /**
70
+ * 脚本参数定义。
71
+ * @typedef {Object} ScriptParam
72
+ * @property {string} name - 参数名
73
+ * @property {'string'|'number'|'boolean'} type - 参数类型
74
+ * @property {string} description - 参数描述
75
+ * @property {boolean} required - 是否必填
76
+ */
77
+
78
+ /**
79
+ * 脚本元数据(从头部 @tool 注释解析)。
80
+ * @typedef {Object} ScriptMeta
81
+ * @property {string} toolName - 注册的工具名(含 'script_' 前缀)
82
+ * @property {string} rawName - 原始工具名(去掉前缀)
83
+ * @property {string} description - 工具描述
84
+ * @property {string} filePath - 脚本文件绝对路径
85
+ * @property {string} extension - 文件扩展名(如 '.sh')
86
+ * @property {ScriptParam[]} params - 参数列表
87
+ */
88
+
89
+ /**
90
+ * 聚合工具来源类型。
91
+ * @typedef {'downstream'|'script'|'builtin'} ToolSource
92
+ */
93
+
94
+ /**
95
+ * 聚合工具条目。
96
+ * @typedef {Object} AggregatedTool
97
+ * @property {string} name - 聚合后的工具名(含前缀)
98
+ * @property {ToolSource} source - 来源类型
99
+ * @property {string} [sourceServer] - 下游来源 Server 名(source='downstream' 时)
100
+ * @property {string} [originalName] - 下游原始工具名(source='downstream' 时)
101
+ * @property {string} description - 工具描述
102
+ * @property {Object} inputSchema - JSON Schema 输入定义
103
+ */
104
+
105
+ /**
106
+ * 下游 Server 连接状态。
107
+ * @typedef {Object} ServerConnectionStatus
108
+ * @property {string} name - Server 名称
109
+ * @property {boolean} connected - 是否已连接
110
+ * @property {number} toolCount - 已注册工具数
111
+ * @property {string} [error] - 错误信息
112
+ * @property {number} [processPid] - 子进程 PID
113
+ */
114
+
115
+ export {};
@@ -2,6 +2,8 @@
2
2
 
3
3
  本文档说明本 SKILL 可复用的 MCP 脚本工具,用于接口覆盖率分析和测试文件扫描,避免重复造轮子。
4
4
 
5
+ > `{{skillDir}}` = 本 SKILL 目录;脚本统一位于 SKILL 目录向上三级的 `MCP/scripts/`(仓库开发态与 npm 安装态路径一致)。
6
+
5
7
  ---
6
8
 
7
9
  ## 可用 MCP 脚本工具
@@ -17,7 +19,7 @@
17
19
  **调用方式**:
18
20
 
19
21
  ```bash
20
- node "{{workspaceRoot}}/MCP/scripts/analyze-demo-coverage.cjs" \
22
+ node "{{skillDir}}/../../../MCP/scripts/analyze-demo-coverage.cjs" \
21
23
  --libroot "{{libroot}}" \
22
24
  --output "{{outputDir}}/demo-coverage-report.md"
23
25
  ```
@@ -49,7 +51,7 @@ node "{{workspaceRoot}}/MCP/scripts/analyze-demo-coverage.cjs" \
49
51
  **调用方式**:
50
52
 
51
53
  ```bash
52
- node "{{workspaceRoot}}/MCP/scripts/analyze-xts-coverage.cjs" \
54
+ node "{{skillDir}}/../../../MCP/scripts/analyze-xts-coverage.cjs" \
53
55
  --libroot "{{libroot}}" \
54
56
  --output "{{outputDir}}/xts-coverage-report.md"
55
57
  ```
@@ -35,16 +35,16 @@ metadata:
35
35
  ## 执行命令
36
36
 
37
37
  ```bash
38
- node "{{workspaceRoot}}/MCP/scripts/analyze-xts-coverage.cjs" --libroot "{{libroot}}" [--output "{{output}}"] [--title "{{title}}"] [--mode auto|ast|regex] [--lib "{{库名}}"]
38
+ node "{{skillDir}}/../../../MCP/scripts/analyze-xts-coverage.cjs" --libroot "{{libroot}}" [--output "{{output}}"] [--title "{{title}}"] [--mode auto|ast|regex] [--lib "{{库名}}"]
39
39
  ```
40
40
 
41
41
  或从已有 interface-spec.json 生成:
42
42
 
43
43
  ```bash
44
- node "{{workspaceRoot}}/MCP/scripts/analyze-xts-coverage.cjs" --spec "{{spec}}" --libroot "{{libroot}}" [--output "{{output}}"]
44
+ node "{{skillDir}}/../../../MCP/scripts/analyze-xts-coverage.cjs" --spec "{{spec}}" --libroot "{{libroot}}" [--output "{{output}}"]
45
45
  ```
46
46
 
47
- 其中 `{{workspaceRoot}}` = `3rdLibraryLoop` 工作区根目录。
47
+ 其中 `{{skillDir}}` = SKILL.md 所在目录;脚本位于 SKILL 目录向上三级的 `MCP/scripts/`(仓库开发态与 npm 安装态路径一致)。
48
48
 
49
49
  ---
50
50
 
@@ -305,7 +305,7 @@ experiences/{知识总结}
305
305
  | 参数 | 值 |
306
306
  |------|-----|
307
307
  | `issueList` | 4.5.1 构造的 JSON 数组 |
308
- | `knowledgeDir` | `BadCase/rn` 的绝对路径(相对 3rdLibraryLoop 仓库根解析) |
308
+ | `knowledgeDir` | `BadCase/rn` 绝对路径。探测顺序:① `~/.3lib/3rdloop/BadCase/rn`(npm 安装态用户副本,`3rdloop mcp install` 生成)② `{{skillDir}}/../../../BadCase/rn`(仓库开发态) |
309
309
 
310
310
  ### 4.5.3 记录泛化产出
311
311
 
@@ -37,22 +37,30 @@
37
37
 
38
38
  ### 0.3 MCP Gateway 配置方法
39
39
 
40
- 若 MCP Gateway 未配置,需在 `~/.config/opencode/opencode.json` 的 `mcp` 节点中添加:
40
+ 若 MCP Gateway 未配置,**优先执行一条命令自动注册**(npm 安装态与仓库开发态通用):
41
+
42
+ ```bash
43
+ 3rdloop mcp install
44
+ ```
45
+
46
+ 该命令会生成用户级 Gateway 配置(`~/.3lib/3rdloop/mcp/config.json`,知识库数据落在 `~/.3lib/3rdloop/kb-data`,跨版本更新不丢失),并把 `mcp-gateway` 注册到 `~/.config/opencode/opencode.json` 与 `~/.config/deveco/deveco.jsonc`。
47
+
48
+ 手动配置(备用):在 `~/.config/opencode/opencode.json` 的 `mcp` 节点中添加(路径替换为实际 Gateway 位置,npm 安装态为包内 `vendor/MCP/`,仓库开发态为仓库 `MCP/`):
41
49
 
42
50
  ```json
43
51
  "mcp-gateway": {
44
52
  "command": [
45
53
  "node",
46
- "/Users/lalhan/Desktop/3rdLibraryLoop/3rdLibraryLoop/MCP/src/index.js",
54
+ "<Gateway根目录>/MCP/src/index.js",
47
55
  "--config",
48
- "/Users/lalhan/Desktop/3rdLibraryLoop/3rdLibraryLoop/MCP/config.json"
56
+ "~/.3lib/3rdloop/mcp/config.json"
49
57
  ],
50
58
  "enabled": true,
51
59
  "type": "local"
52
60
  }
53
61
  ```
54
62
 
55
- 配置后需**重启 opencode** 才能让 AI 会话发现并调用 MCP 工具。
63
+ 配置后需**重启 opencode/deveco serve** 才能让 AI 会话发现并调用 MCP 工具。
56
64
 
57
65
  ---
58
66
 
@@ -2,7 +2,7 @@
2
2
  name: ohos-lib-pr-push
3
3
  description: 'GitCode 三方库自动提 PR 工具。工作区为 fork 仓库克隆:在代码修改完成后复用当前分支提交推送,自动总结修改点、在源仓库(上游)创建 Issue、必要时同步更新 CHANGELOG(条目附 Issue 链接)、从 fork 向源仓库创建绑定 Issue 的 PR、评论 Start build 触发 CI。USE FOR: 三方库适配/修复/用例补充等本地修改完成后,从 fork 向 GitCode 源仓库(如 CPF-RN 组织仓库)自动提交 PR。'
4
4
  license: Apache-2.0
5
- compatibility: 需要 Node.js 18+(执行 scripts/gitcode-api.cjs),需要 git 命令行,需要 GitCode API Token(默认读取 3rdLibraryLoop/Server/.env 的 GIT_TOKEN
5
+ compatibility: 需要 Node.js 18+(执行 scripts/gitcode-api.cjs),需要 git 命令行,需要 GitCode API Token(优先取环境变量 GIT_TOKEN,可用 3rdloop config set GIT_TOKEN 配置;仓库开发态回退读取 3rdLibraryLoop/Server/.env)
6
6
  metadata:
7
7
  author: LoopEngine
8
8
  version: "1.5.0"
@@ -23,7 +23,7 @@ metadata:
23
23
  |------|------|------|------|
24
24
  | `workspaceDir` | string | ✅ | 本地工作区(git 仓库根目录)绝对路径,修改已在该目录完成 |
25
25
  | `upstreamUrl` | string | ❌ | 源仓库(上游)URL(如 `https://gitcode.com/CPF-RN/rntpc_react-native-image-crop-picker`)。不提供时按 Phase 1.1 的上游推断规则确定 |
26
- | `token` | string | ❌ | GitCode Token。不提供时读取 `3rdLibraryLoop/Server/.env` 的 `GIT_TOKEN`(见 Phase 1) |
26
+ | `token` | string | ❌ | GitCode Token。不提供时按优先级取:环境变量 `GIT_TOKEN`(`3rdloop config set GIT_TOKEN <token>`)→ `3rdLibraryLoop/Server/.env`(仓库开发态)(见 Phase 1) |
27
27
  | `baseBranch` | string | ❌ | PR 目标(上游)分支。默认为上游与当前分支同名的分支(见 Phase 1.5) |
28
28
  | `branchName` | string | ❌ | **已废弃自动生成新分支**:默认使用当前分支。仅当用户明确要求指定分支名时才生效,且仍不得切换已有工作分支 |
29
29
  | `commitMessage` | string | ❌ | 提交信息。默认由修改点总结自动生成 |
@@ -89,8 +89,9 @@ Phase 8: 生成报告
89
89
  按优先级取值:
90
90
 
91
91
  1. 用户显式传入的 `token` 参数
92
- 2. 读取 `{3rdLibraryLoop根目录}/3rdLibraryLoop/Server/.env` 中的 `GIT_TOKEN`(该目录通常是 `/Users/lalhan/Desktop/3rdLibraryLoop/3rdLibraryLoop/Server/.env`,亦可从本 SKILL 目录向上回溯:`SKILL 目录 = Server/Skills/ohos-lib-pr-push`,故 `.env` 位于 `../../../.env`)
93
- 3. 都没有 **终止并提示用户提供 Token**
92
+ 2. 环境变量 `GIT_TOKEN`(`3rdloop config set GIT_TOKEN <token>` 写入 `~/.3lib/.env` 后即注入环境,npm 安装态与仓库开发态通用)
93
+ 3. 读取 `{3rdLibraryLoop根目录}/3rdLibraryLoop/Server/.env` 中的 `GIT_TOKEN`(仅仓库开发态;亦可从本 SKILL 目录向上回溯:`SKILL 目录 = Server/Skills/ohos-lib-pr-push`,故 `.env` 位于 `../../../.env`)
94
+ 4. 都没有 → **终止并提示用户提供 Token(推荐 `3rdloop config set GIT_TOKEN <token>`)**
94
95
 
95
96
  ### 1.3 获取 Token 用户信息
96
97
 
@@ -27,7 +27,7 @@ metadata:
27
27
  | 参数 | 必填 | 说明 |
28
28
  |------|------|------|
29
29
  | `issueList` | ✅ | 案例清单。三种格式任选:① JSON 数组 `[{"description": "...", "prUrl": "..."}]` ② 清单文件路径(每行一条:`问题描述 <空格/Tab> PR链接`,兼容 Markdown 链接 `[描述](url)` 与裸 URL) ③ 多行文本(同②格式) |
30
- | `knowledgeDir` | ✅ | 知识库根目录绝对路径(如 `BadCase/rn`)。目录无 `INDEX.md` 时视为**冷启动**,自动初始化分级结构;已有 `INDEX.md` 时读取现有规则执行归类比对(Phase 4) |
30
+ | `knowledgeDir` | ✅ | 知识库根目录**可写**绝对路径。默认探测顺序:① `~/.3lib/3rdloop/BadCase/rn`(npm 安装态用户副本,`3rdloop mcp install` 生成)② `{{skillDir}}/../../../BadCase/rn`(仓库开发态)。目录无 `INDEX.md` 时视为**冷启动**,自动初始化分级结构;已有 `INDEX.md` 时读取现有规则执行归类比对(Phase 4) |
31
31
  | `gitcodeToken` | ❌ | GitCode API Token。访问私有仓库或遇速率限制时使用 |
32
32
 
33
33
  ---
@@ -45,7 +45,7 @@ metadata:
45
45
  > ⚠️ **所有新增/修改文件**都必须存放在 `{knowledgeDir}` 内。知识库采用**分级结构**(一级索引 + 二级知识):
46
46
 
47
47
  ```
48
- {knowledgeDir}/ # 通常为 BadCase/rn/
48
+ {knowledgeDir}/ # 默认 ~/.3lib/3rdloop/BadCase/rn(npm 态)或仓库 BadCase/rn(开发态)
49
49
  ├── INDEX.md # 一级:分类 + 规则/案例索引(不含具体知识)
50
50
  ├── rules/ # 二级:规则知识
51
51
  │ └── R-{XX}-{规则名}.md # 检查点/特征 + 案例索引行
@@ -29,7 +29,7 @@ metadata:
29
29
  | `outputDir` | string | ✅ | 输出目录绝对路径 |
30
30
  | `interfaceDocPath` | string | ✅ | 接口规格说明文档路径 |
31
31
  | `repoName` | string | ✅ | 仓库名称 |
32
- | `knowledgeDir` | string | ❌ | 已知问题知识库根目录绝对路径,默认 `BadCase/rn`(相对 3rdLibraryLoop 仓库根) |
32
+ | `knowledgeDir` | string | ❌ | 已知问题知识库根目录绝对路径。默认按以下顺序探测第一个存在的路径:① `~/.3lib/3rdloop/BadCase/rn`(npm 安装态用户副本,`3rdloop mcp install` 生成)② `{{skillDir}}/../../../BadCase/rn`(仓库开发态) |
33
33
 
34
34
  ---
35
35
 
@@ -38,7 +38,7 @@ metadata:
38
38
  - **前置 SKILL**: `rn-library-interface-analyzer`(阶段 1 已生成接口规格说明文档)
39
39
  - **输入文件**: `接口规格说明.md`(位于 outputDir)
40
40
  - **仓库源码**: 已克隆到 `{outputDir}/source/ohos/`(鸿蒙化)+ `{outputDir}/source/RN/`(上游原库)
41
- - **知识库**: `{knowledgeDir}`(默认 `BadCase/rn`),结构如下:
41
+ - **知识库**: `{knowledgeDir}`(默认探测顺序:`~/.3lib/3rdloop/BadCase/rn` `{{skillDir}}/../../../BadCase/rn`),结构如下:
42
42
 
43
43
  ```
44
44
  {knowledgeDir}/
@@ -68,9 +68,8 @@ node "{{skillDir}}/../../../MCP/scripts/rn-analyze-demo-coverage.cjs" \
68
68
  ```
69
69
 
70
70
  其中:
71
- - `{{skillDir}}` = SKILL.md 所在目录
71
+ - `{{skillDir}}` = SKILL.md 所在目录(脚本位于其向上三级的 `MCP/scripts/`)
72
72
  - `{{libroot}}` = RN 三方库的鸿蒙化仓库根目录
73
- - `{{workspaceRoot}}` = `3rdLibraryLoop` 工作区根目录
74
73
 
75
74
  ---
76
75
 
@@ -83,7 +83,7 @@
83
83
  ./scripts/port-test-demo.sh \
84
84
  --git-url https://github.com/lottie-react-native/lottie-react-native \
85
85
  --branch v7.4.0 \
86
- --template-dir /Users/lalhan/Desktop/RNOH/RN3rdTemplate/0.84
86
+ --template-dir <本地RN3rdTemplate模板目录,如 ~/RNOH/RN3rdTemplate/0.84>
87
87
  ```
88
88
 
89
89
  ### 手动指定 demo 目录
@@ -68,9 +68,8 @@ node "{{skillDir}}/../../../MCP/scripts/rn-analyze-test-coverage.cjs" \
68
68
  ```
69
69
 
70
70
  其中:
71
- - `{{skillDir}}` = SKILL.md 所在目录
71
+ - `{{skillDir}}` = SKILL.md 所在目录(脚本位于其向上三级的 `MCP/scripts/`)
72
72
  - `{{libroot}}` = RN 三方库的鸿蒙化仓库根目录
73
- - `{{workspaceRoot}}` = `3rdLibraryLoop` 工作区根目录
74
73
 
75
74
  ---
76
75
 
@@ -8,10 +8,14 @@
8
8
  "test:selector": "node Agent/SkillSelector/__tests__/run-sample.js"
9
9
  },
10
10
  "dependencies": {
11
+ "@modelcontextprotocol/sdk": "^1.0.0",
11
12
  "@opencode-ai/sdk": "^1.18.6",
12
13
  "better-sqlite3": "^13.0.1",
14
+ "chokidar": "^4.0.0",
13
15
  "dotenv": "^17.0.0",
14
- "openai": "^4.0.0"
16
+ "jieba-wasm": "^2.4.0",
17
+ "openai": "^4.0.0",
18
+ "typescript": "^5.5.4"
15
19
  },
16
20
  "_comment": "vendored from Server/; dependencies aligned with cli package.json by prepack"
17
21
  }
package/vendor/VERSION CHANGED
@@ -1,3 +1,3 @@
1
- 0.0.8
2
- built=2026-09-04T06:08:23.422Z
3
- sha=9b9e6f3164fa158c
1
+ 0.0.9
2
+ built=2026-09-04T07:23:59.928Z
3
+ sha=84d14394dbb68bd4