@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.
- package/README.md +25 -0
- package/lib/cli.js +22 -5
- package/lib/doctor.js +111 -10
- package/lib/mcp.js +498 -0
- package/package.json +6 -2
- package/vendor/Archive/data/.index/meta.json +7 -0
- package/vendor/Archive/data/.index/search.db +0 -0
- package/vendor/Archive/data/docs/experiences/arkts-check-tool-pitfalls-baseline-comparison.md +13 -0
- package/vendor/Archive/data/docs/experiences/arkts-deep-path-import-recognition.md +31 -0
- package/vendor/Archive/data/docs/experiences/arkts-demo-coverage-entry-file-case-mismatch.md +25 -0
- package/vendor/Archive/data/docs/experiences/arkts-demo-coverage-import-trailing-slash.md +20 -0
- package/vendor/Archive/data/docs/experiences/arkts-library-source-files-may-be-ts.md +18 -0
- package/vendor/Archive/data/docs/experiences/arkts-typedarray-buffer-interface-cast-compile-fixes.md +36 -0
- package/vendor/Archive/data/docs/experiences/arkts-xts-compile-error-clustering-fix.md +24 -0
- package/vendor/Archive/data/docs/experiences/arkts-xts-doc-expected-value-runtime-probe.md +35 -0
- package/vendor/Archive/data/docs/experiences/arkts-xts-fixture-rawfile-testability-injection.md +33 -0
- package/vendor/Archive/data/docs/experiences/code-linter-chinese-comment-false-positive.md +16 -0
- package/vendor/Archive/data/docs/experiences/esobject-new-expression-variable-tracking.md +33 -0
- package/vendor/Archive/data/docs/experiences/filesystem-case-sensitivity-module-resolution.md +31 -0
- package/vendor/Archive/data/docs/experiences/gitcode-clone-redirect-warning-normal.md +13 -0
- package/vendor/Archive/data/docs/experiences/kn_msgvq1w585ec8319.md +77 -0
- package/vendor/Archive/data/docs/experiences/kn_msovnm6rd46de72c.md +98 -0
- package/vendor/Archive/data/docs/experiences/kn_mspt8vntfe708576.md +87 -0
- package/vendor/Archive/data/docs/experiences/kn_mspu1ei77adbbb48.md +133 -0
- package/vendor/Archive/data/docs/experiences/kn_mspubgak8d30bfce.md +128 -0
- package/vendor/Archive/data/docs/experiences/kn_mspug2de3cb1f7c3.md +115 -0
- package/vendor/Archive/data/docs/experiences/kn_skill_opt_001.md +38 -0
- package/vendor/Archive/data/docs/experiences/loop-artifacts-verification-evidence-triangle.md +19 -0
- package/vendor/Archive/data/docs/experiences/macos-bash-replace-build-ps1.md +19 -0
- package/vendor/Archive/data/docs/experiences/macos-bsd-diff-q-illegal-option.md +15 -0
- package/vendor/Archive/data/docs/experiences/migrate-cjs-compatible-api-version-map-limit.md +17 -0
- package/vendor/Archive/data/docs/experiences/mp3agic-arkts-library-behavior-quirks.md +21 -0
- package/vendor/Archive/data/docs/experiences/ohos-face-detection-scan-api-mapping.md +15 -0
- package/vendor/Archive/data/docs/experiences/pr-metadata-and-diff-integrity-verification.md +12 -0
- package/vendor/Archive/data/docs/experiences/rn-coverage-index-signature-pseudo-member-false-negative.md +32 -0
- package/vendor/Archive/data/docs/experiences/rn-memory-check-severity-calibration.md +21 -0
- package/vendor/Archive/data/docs/experiences/rn-platform-specific-api-exclusion-evidence.md +24 -0
- package/vendor/Archive/data/docs/experiences/rn-upstream-version-diff-pitfalls.md +17 -0
- package/vendor/Archive/data/docs/experiences/rn-version-gap-risk-rating-rules.md +13 -0
- package/vendor/Archive/data/docs/experiences/rn-view-lib-native-contract-diff-fabric-spec.md +16 -0
- package/vendor/Archive/data/docs/experiences/rnoh-adapter-package-version-field-semantics.md +18 -0
- package/vendor/Archive/data/docs/experiences/rnoh-arkts-sqlite-rows-array-format.md +18 -0
- package/vendor/Archive/data/docs/experiences/rnoh-dependency-residue-scan-strategy.md +18 -0
- package/vendor/Archive/data/docs/experiences/rnoh-example-local-lib-dep-use-tgz.md +53 -0
- package/vendor/Archive/data/docs/experiences/rnoh-example-prereserve-rntesterlist.md +17 -0
- package/vendor/Archive/data/docs/experiences/rnoh-example-template-compatiblesdkversion-upgrade.md +29 -0
- package/vendor/Archive/data/docs/experiences/rnoh-example-turbomodule-shell-adaptation-checklist.md +41 -0
- package/vendor/Archive/data/docs/experiences/rnoh-mcp-build-project-tool-risk.md +18 -0
- package/vendor/Archive/data/docs/experiences/rnoh-npm-devdependencies-version-precheck.md +29 -0
- package/vendor/Archive/data/docs/experiences/rnoh-repo-baseline-version-verification.md +13 -0
- package/vendor/Archive/data/docs/experiences/rnoh-repo-upstream-directory-mapping.md +18 -0
- package/vendor/Archive/data/docs/experiences/rnoh-stateless-library-zero-leak-verification.md +31 -0
- package/vendor/Archive/data/docs/experiences/rnoh-template-npmrc-credential-removal.md +15 -0
- package/vendor/Archive/data/docs/experiences/rnoh-turbomodule-codegen-wiring-verification.md +19 -0
- package/vendor/Archive/data/docs/experiences/rnoh-turbomodule-cpp-methodmap-compatibility-check.md +20 -0
- package/vendor/Archive/data/docs/experiences/scenario-doc-vs-source-signature-diff-four-patterns.md +24 -0
- package/vendor/Archive/data/docs/experiences/static-analysis-grep-cross-validation.md +29 -0
- package/vendor/Archive/demo.js +489 -0
- package/vendor/Archive/index.js +43 -0
- package/vendor/Archive/package.json +16 -0
- package/vendor/Archive/src/constants.js +83 -0
- package/vendor/Archive/src/data/stopwords.txt +110 -0
- package/vendor/Archive/src/data/synonyms.json +25 -0
- package/vendor/Archive/src/data/terms.txt +59 -0
- package/vendor/Archive/src/db/sqlite-backend.js +312 -0
- package/vendor/Archive/src/db/sqlite-schema.js +64 -0
- package/vendor/Archive/src/engine.js +501 -0
- package/vendor/Archive/src/index/index-manager.js +203 -0
- package/vendor/Archive/src/index/index-state.js +94 -0
- package/vendor/Archive/src/index/search-text-builder.js +106 -0
- package/vendor/Archive/src/index.js +22 -0
- package/vendor/Archive/src/parser/api-identifiers.js +121 -0
- package/vendor/Archive/src/parser/api-suffixes.js +48 -0
- package/vendor/Archive/src/parser/heading-normalize.js +40 -0
- package/vendor/Archive/src/parser/markdown-splitter.js +215 -0
- package/vendor/Archive/src/search/catalog-routing.js +87 -0
- package/vendor/Archive/src/search/fts-search.js +289 -0
- package/vendor/Archive/src/search/query-normalizer.js +159 -0
- package/vendor/Archive/src/search/query-rewriter.js +72 -0
- package/vendor/Archive/src/search/search-engine.js +72 -0
- package/vendor/Archive/src/search/snippet.js +64 -0
- package/vendor/Archive/src/store/dir-store.js +103 -0
- package/vendor/Archive/src/store/doc-store.js +36 -0
- package/vendor/Archive/src/tokenizer/lexicon.js +151 -0
- package/vendor/Archive/src/tokenizer/tokenizer.js +167 -0
- package/vendor/Archive/src/types.js +86 -0
- package/vendor/Archive/src/utils/hash.js +16 -0
- package/vendor/Archive/src/utils/lock.js +73 -0
- package/vendor/Archive/src/utils/path-safety.js +96 -0
- package/vendor/Archive/src/utils/paths.js +39 -0
- package/vendor/BadCase/rn/INDEX.md +127 -0
- 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
- 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
- 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
- package/vendor/BadCase/rn/cases/KI-004-wechat/345/233/236/350/260/203/346/227/266/345/272/217.md +47 -0
- 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
- 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
- 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
- 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
- package/vendor/BadCase/rn/cases/KI-009-pager-view/345/265/214/345/245/227/346/273/221/345/212/250.md +38 -0
- package/vendor/BadCase/rn/cases/KI-010-screens/346/211/213/345/212/277/345/206/262/347/252/201.md +48 -0
- 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
- package/vendor/BadCase/rn/cases/KI-012-qr-camera/346/250/252/345/261/217/351/200/202/351/205/215.md +59 -0
- 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
- package/vendor/BadCase/rn/cases/KI-014-amap-geolocation/345/233/236/350/260/203/347/274/272/345/244/261.md +42 -0
- 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
- 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
- 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
- package/vendor/BadCase/rn/cases/KI-018-modal/345/274/271/347/252/227/351/227/252/347/203/201.md +53 -0
- 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
- 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
- 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
- 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
- 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
- package/vendor/BadCase/rn/generalization-log.md +55 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-SmartRefreshLayout-32.json +328 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-SmartRefreshLayout-32.md +382 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-amap-geolocation-27.json +1351 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-amap-geolocation-27.md +1176 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-audio-recorder-player-22.json +538 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-audio-recorder-player-22.md +1488 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-blob-util-23.json +211 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-blob-util-23.md +35 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-code-push-17.json +2048 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-code-push-17.md +3866 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-fast-image-102.json +198 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-fast-image-102.md +40 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-fs-38.json +751 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-fs-38.md +883 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-geolocation-24.json +1544 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-geolocation-24.md +2598 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-modal-20.json +246 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-modal-20.md +554 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-netinfo-31.json +211 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-netinfo-31.md +54 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-orientation-locker-45.json +1626 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-orientation-locker-45.md +2213 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-orientation-locker-51.json +208 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-orientation-locker-51.md +77 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-pager-view-32.json +377 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-pager-view-32.md +174 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-qr-decode-image-camera-37.json +232 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-qr-decode-image-camera-37.md +194 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-reanimated-82.json +198 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-reanimated-82.md +67 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-screens-87.json +198 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-screens-87.md +38 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-screens-93.json +208 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-screens-93.md +34 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-spring-scrollview-38.json +222 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-spring-scrollview-38.md +56 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-svg-117.json +463 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-svg-117.md +383 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-video-66.json +464 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-video-66.md +565 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-webview-112.json +198 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-webview-112.md +47 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-webview-121.json +232 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-webview-121.md +422 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-wechat-lib-15.json +295 -0
- package/vendor/BadCase/rn/pr-info/rntpc_react-native-wechat-lib-15.md +1038 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/vendor/MCP/README.md +490 -0
- package/vendor/MCP/config.json +29 -0
- package/vendor/MCP/package.json +23 -0
- package/vendor/MCP/scripts/analyze-demo-coverage.cjs +1203 -0
- package/vendor/MCP/scripts/analyze-xts-coverage.cjs +1245 -0
- package/vendor/MCP/scripts/deveco_docs.js +247 -0
- package/vendor/MCP/scripts/extract-interfaces.cjs +1487 -0
- package/vendor/MCP/scripts/flutter-analyze-demo-coverage.cjs +666 -0
- package/vendor/MCP/scripts/flutter-analyze-xts-coverage.cjs +684 -0
- package/vendor/MCP/scripts/flutter-extract-interfaces.cjs +1251 -0
- package/vendor/MCP/scripts/flutter-render-spec-doc.cjs +351 -0
- package/vendor/MCP/scripts/render-spec-doc.cjs +347 -0
- package/vendor/MCP/scripts/rn-analyze-demo-coverage.cjs +645 -0
- package/vendor/MCP/scripts/rn-analyze-test-coverage.cjs +614 -0
- package/vendor/MCP/scripts/rn-extract-interfaces.cjs +1462 -0
- package/vendor/MCP/scripts/rn-render-spec-doc.cjs +327 -0
- package/vendor/MCP/scripts/rn-scan-exports.cjs +1336 -0
- package/vendor/MCP/src/client/MCPClientPool.js +220 -0
- package/vendor/MCP/src/config/ConfigLoader.js +189 -0
- package/vendor/MCP/src/executor/ScriptExecutor.js +110 -0
- package/vendor/MCP/src/gateway/Gateway.js +451 -0
- package/vendor/MCP/src/index.js +87 -0
- package/vendor/MCP/src/library/KBToolProvider.js +229 -0
- package/vendor/MCP/src/library/logger.js +60 -0
- package/vendor/MCP/src/registry/ScriptRegistry.js +238 -0
- package/vendor/MCP/src/registry/ToolRegistry.js +111 -0
- package/vendor/MCP/src/types.js +115 -0
- package/vendor/Server/Skills/arkts-library-test-coverage-check/references/MCP_TOOL_USAGE.md +4 -2
- package/vendor/Server/Skills/arkts-library-xts-coverage/SKILL.md +3 -3
- package/vendor/Server/Skills/knowledge-import/SKILL.md +1 -1
- package/vendor/Server/Skills/knowledge-import/references/MCP_TOOL_USAGE.md +12 -4
- package/vendor/Server/Skills/ohos-lib-pr-push/SKILL.md +5 -4
- package/vendor/Server/Skills/rn-library-issue-generalizer/SKILL.md +2 -2
- package/vendor/Server/Skills/rn-library-known-issue-check/SKILL.md +2 -2
- package/vendor/Server/Skills/rnoh-lib-demo-coverage/SKILL.md +1 -2
- package/vendor/Server/Skills/rnoh-lib-test-align/references/port-test-demo-guide.md +1 -1
- package/vendor/Server/Skills/rnoh-lib-xts-coverage/SKILL.md +1 -2
- package/vendor/Server/package.json +5 -1
- 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 "{{
|
|
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 "{{
|
|
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 "{{
|
|
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 "{{
|
|
44
|
+
node "{{skillDir}}/../../../MCP/scripts/analyze-xts-coverage.cjs" --spec "{{spec}}" --libroot "{{libroot}}" [--output "{{output}}"]
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
其中 `{{
|
|
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`
|
|
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
|
|
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
|
-
"
|
|
54
|
+
"<Gateway根目录>/MCP/src/index.js",
|
|
47
55
|
"--config",
|
|
48
|
-
"/
|
|
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
|
|
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
|
|
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.
|
|
93
|
-
3.
|
|
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` | ✅ |
|
|
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}/ #
|
|
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 | ❌ |
|
|
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}
|
|
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
|
|
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
|
-
"
|
|
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.
|
|
2
|
-
built=2026-09-
|
|
3
|
-
sha=
|
|
1
|
+
0.0.9
|
|
2
|
+
built=2026-09-04T07:23:59.928Z
|
|
3
|
+
sha=84d14394dbb68bd4
|