@ohos-cpf/3rdloop 0.0.1

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 (389) hide show
  1. package/README.md +425 -0
  2. package/bin/3rdloop.mjs +48 -0
  3. package/lib/cli.js +741 -0
  4. package/lib/config.js +318 -0
  5. package/lib/doctor.js +114 -0
  6. package/lib/exit-codes.js +31 -0
  7. package/lib/opencode.js +156 -0
  8. package/lib/orch.js +427 -0
  9. package/lib/queries.js +264 -0
  10. package/lib/runner.js +979 -0
  11. package/lib/step.js +326 -0
  12. package/lib/ui.js +223 -0
  13. package/lib/workflow.js +291 -0
  14. package/lib/workflows.js +132 -0
  15. package/package.json +50 -0
  16. package/vendor/Server/Agent/SkillSelector/README.md +344 -0
  17. package/vendor/Server/Agent/SkillSelector/core/Agent.js +207 -0
  18. package/vendor/Server/Agent/SkillSelector/index.js +14 -0
  19. package/vendor/Server/Agent/SkillSelector/llm/llmClient.js +313 -0
  20. package/vendor/Server/Agent/SkillSelector/llm/prompts.js +161 -0
  21. package/vendor/Server/Agent/SkillSelector/llm/reactSteps.js +144 -0
  22. package/vendor/Server/Agent/SkillSelector/matcher/fuzzyMatcher.js +433 -0
  23. package/vendor/Server/Agent/SkillSelector/scanner/skillScanner.js +382 -0
  24. package/vendor/Server/Agent/SkillSelector/types.js +63 -0
  25. package/vendor/Server/Agent/SkillSelector/utils/actionWords.js +60 -0
  26. package/vendor/Server/Brain/AnalysisStrategies.js +422 -0
  27. package/vendor/Server/Brain/Brain.js +686 -0
  28. package/vendor/Server/Brain/DecompositionStrategies.js +621 -0
  29. package/vendor/Server/Brain/PlanPersistence.js +196 -0
  30. package/vendor/Server/Brain/SkillExecutor.js +251 -0
  31. package/vendor/Server/Brain/index.js +11 -0
  32. package/vendor/Server/CLI/cli.js +243 -0
  33. package/vendor/Server/CLI/opencode/index.js +804 -0
  34. package/vendor/Server/CLI/opencode.js +5 -0
  35. package/vendor/Server/DbUse/MessageArchive.js +61 -0
  36. package/vendor/Server/DbUse/StorageManager.js +107 -0
  37. package/vendor/Server/DbUse/adapters/BaseAdapter.js +94 -0
  38. package/vendor/Server/DbUse/adapters/FileAdapter.js +138 -0
  39. package/vendor/Server/DbUse/adapters/JsonAdapter.js +138 -0
  40. package/vendor/Server/DbUse/adapters/JsonlAdapter.js +114 -0
  41. package/vendor/Server/DbUse/adapters/SqliteAdapter.js +157 -0
  42. package/vendor/Server/DbUse/index.js +160 -0
  43. package/vendor/Server/DbUse/stores/SessionStore.js +279 -0
  44. package/vendor/Server/DbUse/stores/TaskExecutionStore.js +133 -0
  45. package/vendor/Server/DbUse/stores/TaskRegistryStore.js +262 -0
  46. package/vendor/Server/DbUse/stores/TaskStepStore.js +279 -0
  47. package/vendor/Server/FlexRunner/FlexRunner.js +1759 -0
  48. package/vendor/Server/FlexRunner/index.js +12 -0
  49. package/vendor/Server/Knowledge/KnowledgeImporter.js +523 -0
  50. package/vendor/Server/Knowledge/KnowledgeManager.js +341 -0
  51. package/vendor/Server/Knowledge/index.js +33 -0
  52. package/vendor/Server/LoopEngine/LoopEngine.js +1133 -0
  53. package/vendor/Server/LoopEngine/index.js +11 -0
  54. package/vendor/Server/Orchestrator/Orchestrator.js +1425 -0
  55. package/vendor/Server/Orchestrator/StepNode.js +312 -0
  56. package/vendor/Server/Orchestrator/index.js +13 -0
  57. package/vendor/Server/Routes/controllers/BrainController.js +241 -0
  58. package/vendor/Server/Routes/controllers/FlexRunnerController.js +1125 -0
  59. package/vendor/Server/Routes/controllers/HealthController.js +44 -0
  60. package/vendor/Server/Routes/controllers/KnowledgeImportController.js +355 -0
  61. package/vendor/Server/Routes/controllers/LoopEngineController.js +788 -0
  62. package/vendor/Server/Routes/controllers/OrchestratorController.js +911 -0
  63. package/vendor/Server/Routes/controllers/StatsController.js +57 -0
  64. package/vendor/Server/Routes/controllers/StreamController.js +67 -0
  65. package/vendor/Server/Routes/library/logger.js +179 -0
  66. package/vendor/Server/Routes/library/zipArchive.js +172 -0
  67. package/vendor/Server/Routes/router/Router.js +204 -0
  68. package/vendor/Server/Routes/routes/brain.js +47 -0
  69. package/vendor/Server/Routes/routes/flexrunner.js +72 -0
  70. package/vendor/Server/Routes/routes/health.js +28 -0
  71. package/vendor/Server/Routes/routes/index.js +57 -0
  72. package/vendor/Server/Routes/routes/knowledge.js +55 -0
  73. package/vendor/Server/Routes/routes/loopengine.js +58 -0
  74. package/vendor/Server/Routes/routes/orchestrator.js +61 -0
  75. package/vendor/Server/Routes/routes/registry.js +98 -0
  76. package/vendor/Server/Routes/routes/stats.js +23 -0
  77. package/vendor/Server/Routes/routes/stream.js +30 -0
  78. package/vendor/Server/Routes/server.js +202 -0
  79. package/vendor/Server/Routes/sse/SseHub.js +308 -0
  80. package/vendor/Server/Skills/acceptance-check/SKILL.md +174 -0
  81. package/vendor/Server/Skills/acceptance-check/references/PHASE1_ARTIFACT_COLLECTION.md +52 -0
  82. package/vendor/Server/Skills/acceptance-check/references/PHASE2_CRITERIA_EVALUATION.md +77 -0
  83. package/vendor/Server/Skills/arkts-code-check/SKILL.md +314 -0
  84. package/vendor/Server/Skills/arkts-code-check/references/CODE_CHECK_GUIDE.md +160 -0
  85. package/vendor/Server/Skills/arkts-code-check/references/FILE_TYPE_GUIDE.md +29 -0
  86. package/vendor/Server/Skills/arkts-code-check/references/PHASE1_INFO_COLLECTION.md +222 -0
  87. package/vendor/Server/Skills/arkts-code-check/references/REPORT_TEMPLATE.md +220 -0
  88. package/vendor/Server/Skills/arkts-library-compile-validate/SKILL.md +329 -0
  89. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/build.ps1 +93 -0
  90. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/code-linter.cjs +433 -0
  91. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/migrate.cjs +851 -0
  92. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/ohpm-switch.cjs +789 -0
  93. package/vendor/Server/Skills/arkts-library-demo-code/SKILL.md +291 -0
  94. package/vendor/Server/Skills/arkts-library-demo-code/references/API_SIGNATURE_CHECKS.md +68 -0
  95. package/vendor/Server/Skills/arkts-library-demo-code/references/BUILD_VALIDATION.md +184 -0
  96. package/vendor/Server/Skills/arkts-library-demo-code/references/CODE_STANDARDS.md +337 -0
  97. package/vendor/Server/Skills/arkts-library-demo-code/references/EXAMPLES.md +400 -0
  98. package/vendor/Server/Skills/arkts-library-demo-code/references/SYSTEM_API_LOOKUP.md +99 -0
  99. package/vendor/Server/Skills/arkts-library-demo-code/references/TEMPLATE.md +544 -0
  100. package/vendor/Server/Skills/arkts-library-demo-code/scripts/build.ps1 +93 -0
  101. package/vendor/Server/Skills/arkts-library-demo-code/scripts/code-linter.cjs +433 -0
  102. package/vendor/Server/Skills/arkts-library-demo-code/scripts/migrate.cjs +851 -0
  103. package/vendor/Server/Skills/arkts-library-demo-code/scripts/ohpm-switch.cjs +789 -0
  104. package/vendor/Server/Skills/arkts-library-demo-coverage/SKILL.md +174 -0
  105. package/vendor/Server/Skills/arkts-library-demo-scenario/SKILL.md +321 -0
  106. package/vendor/Server/Skills/arkts-library-demo-scenario/references/EXAMPLES.md +100 -0
  107. package/vendor/Server/Skills/arkts-library-demo-scenario/references/TEMPLATE.md +185 -0
  108. package/vendor/Server/Skills/arkts-library-documentation-quality-check/SKILL.md +234 -0
  109. package/vendor/Server/Skills/arkts-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +103 -0
  110. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/CHECK_DIMENSIONS.md +89 -0
  111. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/COMPLIANCE_CHECKLIST.md +62 -0
  112. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/KB_QUERY_GUIDE.md +108 -0
  113. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/MCP_TOOL_DISCOVERY.md +124 -0
  114. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/REPORT_TEMPLATE.md +90 -0
  115. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/SCORING_FORMULA.md +57 -0
  116. package/vendor/Server/Skills/arkts-library-documentation-quality-check/scripts/validate-skill.cjs +259 -0
  117. package/vendor/Server/Skills/arkts-library-interface-spec/SKILL.md +97 -0
  118. package/vendor/Server/Skills/arkts-library-memory-leak-check/SKILL.md +392 -0
  119. package/vendor/Server/Skills/arkts-library-source-clone/SKILL.md +113 -0
  120. package/vendor/Server/Skills/arkts-library-stability-check/SKILL.md +313 -0
  121. package/vendor/Server/Skills/arkts-library-stability-check/assets/REPORT_TEMPLATE.md +154 -0
  122. package/vendor/Server/Skills/arkts-library-stability-check/references/CHECKLIST.md +166 -0
  123. package/vendor/Server/Skills/arkts-library-stability-check/references/CODE_EXAMPLES.md +309 -0
  124. package/vendor/Server/Skills/arkts-library-stability-check/references/SCORING_RULES.md +90 -0
  125. package/vendor/Server/Skills/arkts-library-stability-check/scripts/validate-skill.cjs +282 -0
  126. package/vendor/Server/Skills/arkts-library-test-coverage-check/SKILL.md +361 -0
  127. package/vendor/Server/Skills/arkts-library-test-coverage-check/assets/REPORT_TEMPLATE.md +146 -0
  128. package/vendor/Server/Skills/arkts-library-test-coverage-check/references/CHECKLIST.md +253 -0
  129. package/vendor/Server/Skills/arkts-library-test-coverage-check/references/MCP_TOOL_USAGE.md +115 -0
  130. package/vendor/Server/Skills/arkts-library-test-coverage-check/scripts/validate-skill.cjs +263 -0
  131. package/vendor/Server/Skills/arkts-library-xts-code/SKILL.md +455 -0
  132. package/vendor/Server/Skills/arkts-library-xts-code/assets/report-template.md +60 -0
  133. package/vendor/Server/Skills/arkts-library-xts-code/references/ACCESS_MODIFIER_PRECHECK.md +76 -0
  134. package/vendor/Server/Skills/arkts-library-xts-code/references/BUILD_VERIFICATION.md +200 -0
  135. package/vendor/Server/Skills/arkts-library-xts-code/references/CODE_STANDARDS.md +519 -0
  136. package/vendor/Server/Skills/arkts-library-xts-code/references/SUBAGENT_PROMPT_TEMPLATE.md +276 -0
  137. package/vendor/Server/Skills/arkts-library-xts-code/references/SYSTEM_API_LOOKUP.md +93 -0
  138. package/vendor/Server/Skills/arkts-library-xts-code/references/XTS_TEMPLATE.md +767 -0
  139. package/vendor/Server/Skills/arkts-library-xts-code/scripts/build.ps1 +93 -0
  140. package/vendor/Server/Skills/arkts-library-xts-code/scripts/code-linter.cjs +433 -0
  141. package/vendor/Server/Skills/arkts-library-xts-code/scripts/migrate.cjs +851 -0
  142. package/vendor/Server/Skills/arkts-library-xts-code/scripts/ohpm-switch.cjs +789 -0
  143. package/vendor/Server/Skills/arkts-library-xts-code/scripts/precheck-access-modifiers.cjs +221 -0
  144. package/vendor/Server/Skills/arkts-library-xts-code-fix/SKILL.md +229 -0
  145. package/vendor/Server/Skills/arkts-library-xts-coverage/SKILL.md +97 -0
  146. package/vendor/Server/Skills/arkts-library-xts-doc/SKILL.md +194 -0
  147. package/vendor/Server/Skills/arkts-library-xts-doc/references/EXAMPLES.md +576 -0
  148. package/vendor/Server/Skills/arkts-library-xts-doc/references/TEMPLATE.md +575 -0
  149. package/vendor/Server/Skills/arkts-library-xts-doc/references/TESTABILITY_GUIDE.md +182 -0
  150. package/vendor/Server/Skills/arkts-library-xts-execution/SKILL.md +491 -0
  151. package/vendor/Server/Skills/arkts-library-xts-execution/references/error-fixing-examples.md +217 -0
  152. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/build.ps1 +93 -0
  153. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/code-linter.cjs +433 -0
  154. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/migrate.cjs +851 -0
  155. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/ohpm-switch.cjs +789 -0
  156. package/vendor/Server/Skills/flutter-code-check/SKILL.md +299 -0
  157. package/vendor/Server/Skills/flutter-code-check/assets/OUTPUT_TEMPLATE.md +312 -0
  158. package/vendor/Server/Skills/flutter-code-check/references/CHECKLIST.md +190 -0
  159. package/vendor/Server/Skills/flutter-code-check/references/PLATFORMS.md +134 -0
  160. package/vendor/Server/Skills/flutter-code-check/scripts/validate-skill.cjs +259 -0
  161. package/vendor/Server/Skills/flutter-interface/README.md +75 -0
  162. package/vendor/Server/Skills/flutter-interface/SKILL.md +291 -0
  163. package/vendor/Server/Skills/flutter-interface/references/EXAMPLES.md +336 -0
  164. package/vendor/Server/Skills/flutter-interface/references/GIT_CLONE_GUIDE.md +190 -0
  165. package/vendor/Server/Skills/flutter-interface/references/SCRIPT_REFERENCE.md +258 -0
  166. package/vendor/Server/Skills/flutter-interface/references/TEMPLATE.md +254 -0
  167. package/vendor/Server/Skills/flutter-library-consistency-check/SKILL.md +518 -0
  168. package/vendor/Server/Skills/flutter-library-consistency-check/references/CHECKLIST.md +382 -0
  169. package/vendor/Server/Skills/flutter-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +342 -0
  170. package/vendor/Server/Skills/flutter-library-consistency-check/references/PLATFORM_LIMITATION_GUIDE.md +71 -0
  171. package/vendor/Server/Skills/flutter-library-documentation-quality-check/SKILL.md +519 -0
  172. package/vendor/Server/Skills/flutter-library-documentation-quality-check/references/CHECKLIST.md +407 -0
  173. package/vendor/Server/Skills/flutter-library-memory-leak-check/SKILL.md +653 -0
  174. package/vendor/Server/Skills/flutter-library-memory-leak-check/references/CHECKLIST.md +397 -0
  175. package/vendor/Server/Skills/flutter-library-stability-check/SKILL.md +745 -0
  176. package/vendor/Server/Skills/flutter-library-stability-check/references/CHECKLIST.md +721 -0
  177. package/vendor/Server/Skills/flutter-library-test-coverage-check/SKILL.md +414 -0
  178. package/vendor/Server/Skills/flutter-library-test-coverage-check/assets/REPORT_TEMPLATE.md +150 -0
  179. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/CHECKLIST.md +304 -0
  180. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCORING_RULES.md +265 -0
  181. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCRIPT_USAGE.md +286 -0
  182. package/vendor/Server/Skills/knowledge-import/SKILL.md +383 -0
  183. package/vendor/Server/Skills/knowledge-import/references/MCP_TOOL_USAGE.md +165 -0
  184. package/vendor/Server/Skills/knowledge-import/references/SKILL_LOCATOR_GUIDE.md +91 -0
  185. package/vendor/Server/Skills/knowledge-import/references/SKILL_OPTIMIZATION_GUIDE.md +127 -0
  186. package/vendor/Server/Skills/ohos-lib-pr-push/SKILL.md +301 -0
  187. package/vendor/Server/Skills/ohos-lib-pr-push/assets/PR_ISSUE_TEMPLATE.md +105 -0
  188. package/vendor/Server/Skills/ohos-lib-pr-push/references/GITCODE_API.md +127 -0
  189. package/vendor/Server/Skills/ohos-lib-pr-push/scripts/gitcode-api.cjs +208 -0
  190. package/vendor/Server/Skills/rn-code-check/SKILL.md +321 -0
  191. package/vendor/Server/Skills/rn-code-check/references/API-GUIDE.md +235 -0
  192. package/vendor/Server/Skills/rn-code-check/references/CHECKLIST.md +189 -0
  193. package/vendor/Server/Skills/rn-code-check/references/REPORT-TEMPLATE.md +247 -0
  194. package/vendor/Server/Skills/rn-lib-add-example/SKILL.md +198 -0
  195. package/vendor/Server/Skills/rn-lib-add-example/references/APP_RENAME_GUIDE.md +40 -0
  196. package/vendor/Server/Skills/rn-lib-add-example/references/SHELL_ADAPTATION_CHECKLIST.md +78 -0
  197. package/vendor/Server/Skills/rn-lib-add-example/references/TEMPLATE_REPO_GUIDE.md +70 -0
  198. package/vendor/Server/Skills/rn-lib-add-example/references/VERIFICATION_GUIDE.md +47 -0
  199. package/vendor/Server/Skills/rn-lib-add-example/scripts/create-example.cjs +252 -0
  200. package/vendor/Server/Skills/rn-lib-update-doc/SKILL.md +176 -0
  201. package/vendor/Server/Skills/rn-lib-update-doc/config.json +5 -0
  202. package/vendor/Server/Skills/rn-lib-update-doc/references/changelog-template.md +35 -0
  203. package/vendor/Server/Skills/rn-lib-update-doc/references/format-diff.md +137 -0
  204. package/vendor/Server/Skills/rn-lib-update-doc/references/link-registry.json +33 -0
  205. package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2-overview.md +40 -0
  206. package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2.md +429 -0
  207. package/vendor/Server/Skills/rn-lib-update-doc/scripts/detect-readme-format.cjs +105 -0
  208. package/vendor/Server/Skills/rn-lib-update-doc/scripts/find-usage-doc.cjs +90 -0
  209. package/vendor/Server/Skills/rn-lib-update-doc/scripts/link-verify.cjs +213 -0
  210. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-changelog.cjs +73 -0
  211. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-package-meta.cjs +258 -0
  212. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-readme-links.cjs +341 -0
  213. package/vendor/Server/Skills/rn-lib-update-doc/scripts/resolve-usage-docs.cjs +67 -0
  214. package/vendor/Server/Skills/rn-library-consistency-check/SKILL.md +299 -0
  215. package/vendor/Server/Skills/rn-library-consistency-check/assets/REPORT_TEMPLATE.md +293 -0
  216. package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_COMPONENT_CHECK_GUIDE.md +857 -0
  217. package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_TURBOMODULE_CHECK_GUIDE.md +856 -0
  218. package/vendor/Server/Skills/rn-library-consistency-check/references/CHECKLIST.md +157 -0
  219. package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_COMPONENT_CHECK_GUIDE.md +801 -0
  220. package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_TURBOMODULE_CHECK_GUIDE.md +684 -0
  221. package/vendor/Server/Skills/rn-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +233 -0
  222. package/vendor/Server/Skills/rn-library-consistency-check/references/NATIVE_COMPONENT_IDENTIFICATION.md +1373 -0
  223. package/vendor/Server/Skills/rn-library-consistency-check/references/SCORING_STANDARD.md +220 -0
  224. package/vendor/Server/Skills/rn-library-consistency-check/scripts/validate-skill.py +245 -0
  225. package/vendor/Server/Skills/rn-library-documentation-quality-check/SKILL.md +263 -0
  226. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL.md +414 -0
  227. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL_en.md +413 -0
  228. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +311 -0
  229. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CHECK_CHECKLIST.md +355 -0
  230. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CROSS_VALIDATION_GUIDE.md +115 -0
  231. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/DOC_COLLECTION_GUIDE.md +139 -0
  232. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/EXAMPLES.md +586 -0
  233. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/GOTCHAS.md +57 -0
  234. package/vendor/Server/Skills/rn-library-documentation-quality-check/scripts/validate-skill.py +259 -0
  235. package/vendor/Server/Skills/rn-library-interface-analyzer/SKILL.md +301 -0
  236. package/vendor/Server/Skills/rn-library-interface-analyzer/assets/REPORT_TEMPLATE.md +148 -0
  237. package/vendor/Server/Skills/rn-library-interface-analyzer/references/DOC_ANNOTATION_GUIDE.md +118 -0
  238. package/vendor/Server/Skills/rn-library-interface-analyzer/references/SCRIPT_USAGE_GUIDE.md +168 -0
  239. package/vendor/Server/Skills/rn-library-interface-analyzer/references/URL_PARSING_RULES.md +176 -0
  240. package/vendor/Server/Skills/rn-library-issue-generalizer/SKILL.md +274 -0
  241. package/vendor/Server/Skills/rn-library-issue-generalizer/assets/case-template.md +45 -0
  242. package/vendor/Server/Skills/rn-library-issue-generalizer/assets/rule-template.md +25 -0
  243. package/vendor/Server/Skills/rn-library-issue-generalizer/references/PR_FETCH_GUIDE.md +61 -0
  244. package/vendor/Server/Skills/rn-library-issue-generalizer/references/RULE_TEMPLATE_GUIDE.md +165 -0
  245. package/vendor/Server/Skills/rn-library-issue-generalizer/scripts/fetch-pr-info.py +239 -0
  246. package/vendor/Server/Skills/rn-library-known-issue-check/SKILL.md +263 -0
  247. package/vendor/Server/Skills/rn-library-known-issue-check/assets/REPORT_TEMPLATE.md +96 -0
  248. package/vendor/Server/Skills/rn-library-known-issue-check/references/COMPLIANCE_CHECKLIST.md +58 -0
  249. package/vendor/Server/Skills/rn-library-known-issue-check/references/INSPECTION_GUIDE.md +99 -0
  250. package/vendor/Server/Skills/rn-library-known-issue-check/references/PRESCREEN_GUIDE.md +64 -0
  251. package/vendor/Server/Skills/rn-library-known-issue-check/references/SOURCE_PREP_GUIDE.md +75 -0
  252. package/vendor/Server/Skills/rn-library-known-issue-check/scripts/validate-known-issue-report.py +164 -0
  253. package/vendor/Server/Skills/rn-library-memory-leak-check/SKILL.md +339 -0
  254. package/vendor/Server/Skills/rn-library-memory-leak-check/assets/REPORT_TEMPLATE.md +83 -0
  255. package/vendor/Server/Skills/rn-library-memory-leak-check/references/CHECKLIST.md +859 -0
  256. package/vendor/Server/Skills/rn-library-memory-leak-check/references/HARMONY_CODE_PATTERNS.md +122 -0
  257. package/vendor/Server/Skills/rn-library-memory-leak-check/scripts/scan_harmony_code.py +279 -0
  258. package/vendor/Server/Skills/rn-library-stability-check/SKILL.md +273 -0
  259. package/vendor/Server/Skills/rn-library-stability-check/assets/REPORT_TEMPLATE.md +129 -0
  260. package/vendor/Server/Skills/rn-library-stability-check/references/CHECKLIST.md +581 -0
  261. package/vendor/Server/Skills/rn-library-stability-check/references/SCORING_RULES.md +138 -0
  262. package/vendor/Server/Skills/rn-library-stability-check/scripts/scan-harmony-code.py +168 -0
  263. package/vendor/Server/Skills/rn-library-test-coverage-check/SKILL.md +506 -0
  264. package/vendor/Server/Skills/rn-library-test-coverage-check/references/CHECKLIST.md +280 -0
  265. package/vendor/Server/Skills/rn-library-test-coverage-check/references/DEMO_LOCATION.md +221 -0
  266. package/vendor/Server/Skills/rn-library-test-coverage-check/references/REPORT_TEMPLATE.md +209 -0
  267. package/vendor/Server/Skills/rn-library-test-coverage-check/references/SCRIPT_USAGE.md +325 -0
  268. package/vendor/Server/Skills/rn-ohos-xts-generator/SKILL.md +279 -0
  269. package/vendor/Server/Skills/rn-ohos-xts-generator/assets/TEST_FILE_TEMPLATES.md +404 -0
  270. package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_TROUBLESHOOTING.md +185 -0
  271. package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_WORKFLOW.md +265 -0
  272. package/vendor/Server/Skills/rn-ohos-xts-generator/references/COMMON_CONFIG.md +189 -0
  273. package/vendor/Server/Skills/rn-ohos-xts-generator/references/CONFIG_GUIDE.md +203 -0
  274. package/vendor/Server/Skills/rn-ohos-xts-generator/references/COVERAGE_ANALYZER.md +147 -0
  275. package/vendor/Server/Skills/rn-ohos-xts-generator/references/DESIGN_DOC_GUIDE.md +148 -0
  276. package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_FLOW.md +165 -0
  277. package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_STRATEGY.md +195 -0
  278. package/vendor/Server/Skills/rn-ohos-xts-generator/references/HARMONY_SCANNER.md +249 -0
  279. package/vendor/Server/Skills/rn-ohos-xts-generator/references/JEST_FRAMEWORK.md +235 -0
  280. package/vendor/Server/Skills/rn-ohos-xts-generator/references/PLATFORM_COMPAT.md +161 -0
  281. package/vendor/Server/Skills/rn-ohos-xts-generator/references/RN_TEST_PATTERNS.md +413 -0
  282. package/vendor/Server/Skills/rn-ohos-xts-generator/references/SOURCE_PARSER.md +235 -0
  283. package/vendor/Server/Skills/rn-ohos-xts-generator/references/TEST_CONVENTIONS.md +245 -0
  284. package/vendor/Server/Skills/rn-ohos-xts-generator/references/TROUBLESHOOTING.md +282 -0
  285. package/vendor/Server/Skills/rn-ohos-xts-generator/references/USAGE_GUIDE.md +251 -0
  286. package/vendor/Server/Skills/rnoh-cptf-api-test/SKILL.md +469 -0
  287. package/vendor/Server/Skills/rnoh-cptf-api-test/assets/CPTF_TEST_TEMPLATE.md +310 -0
  288. package/vendor/Server/Skills/rnoh-cptf-api-test/assets/DEMO_PAGE_TEMPLATE.md +303 -0
  289. package/vendor/Server/Skills/rnoh-cptf-api-test/references/CPTF_TEST_GENERATION_GUIDE.md +421 -0
  290. package/vendor/Server/Skills/rnoh-cptf-api-test/references/DEMO_GENERATION_GUIDE.md +358 -0
  291. package/vendor/Server/Skills/rnoh-cptf-api-test/references/QUALITY_CHECKLIST.md +114 -0
  292. package/vendor/Server/Skills/rnoh-cptf-api-test/references/SPEC_PARSING_GUIDE.md +274 -0
  293. package/vendor/Server/Skills/rnoh-cptf-api-test/scripts/validate-rnoh-cptf-api-test.sh +185 -0
  294. package/vendor/Server/Skills/rnoh-cptf-demo-test/SKILL.md +191 -0
  295. package/vendor/Server/Skills/rnoh-cptf-demo-test/assets/TEST_TEMPLATE.md +216 -0
  296. package/vendor/Server/Skills/rnoh-cptf-demo-test/references/CPTF_SETUP.md +107 -0
  297. package/vendor/Server/Skills/rnoh-cptf-demo-test/references/DEMO_ANALYSIS.md +120 -0
  298. package/vendor/Server/Skills/rnoh-cptf-demo-test/scripts/validate-rnoh-cptf-test.sh +108 -0
  299. package/vendor/Server/Skills/rnoh-cptf-test-run/SKILL.md +237 -0
  300. package/vendor/Server/Skills/rnoh-cptf-test-run/references/DEBUG_PLAYBOOK.md +261 -0
  301. package/vendor/Server/Skills/rnoh-cptf-test-run/scripts/validate-run-env.sh +112 -0
  302. package/vendor/Server/Skills/rnoh-lib-code-adapt/SKILL.md +498 -0
  303. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/adapt-checklist.md +270 -0
  304. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/api-migration-checklist.md +164 -0
  305. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/common-compile-errors.md +556 -0
  306. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/deveco-cli-tools.md +459 -0
  307. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/edge-cases.md +65 -0
  308. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/har-tgz-build.md +512 -0
  309. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/version-compat-matrix.md +132 -0
  310. package/vendor/Server/Skills/rnoh-lib-code-adapt/scripts/auto-integrate.sh +424 -0
  311. package/vendor/Server/Skills/rnoh-lib-demo-coverage/SKILL.md +137 -0
  312. package/vendor/Server/Skills/rnoh-lib-demo-create/SKILL.md +306 -0
  313. package/vendor/Server/Skills/rnoh-lib-demo-create/assets/DEMO_PAGE_TEMPLATE.md +485 -0
  314. package/vendor/Server/Skills/rnoh-lib-demo-create/assets/INDEX_TEMPLATE.md +172 -0
  315. package/vendor/Server/Skills/rnoh-lib-demo-create/references/DEMO_CODE_RULES.md +422 -0
  316. package/vendor/Server/Skills/rnoh-lib-demo-create/references/QUALITY_CHECKLIST.md +95 -0
  317. package/vendor/Server/Skills/rnoh-lib-demo-create/references/SOURCE_EXPLORATION.md +169 -0
  318. package/vendor/Server/Skills/rnoh-lib-demo-doc/SKILL.md +554 -0
  319. package/vendor/Server/Skills/rnoh-lib-demo-doc/assets/DEMO_DOC_TEMPLATE.md +106 -0
  320. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/COVERAGE_INCREMENTAL.md +216 -0
  321. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/DEMO_DESIGN_RULES.md +413 -0
  322. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/OUTPUT_FORMAT.md +269 -0
  323. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/QUALITY_CHECKLIST.md +98 -0
  324. package/vendor/Server/Skills/rnoh-lib-func-test/SKILL.md +337 -0
  325. package/vendor/Server/Skills/rnoh-lib-rnt-search/SKILL.md +722 -0
  326. package/vendor/Server/Skills/rnoh-lib-rnt-search/assets/PORT_REPORT_TEMPLATE.md +219 -0
  327. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/DEMO_PORTING_GUIDE.md +345 -0
  328. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/PORT_VERIFICATION.md +269 -0
  329. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/RNT_PROJECT_STRUCTURE.md +173 -0
  330. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/analyze-demo-deps.cjs +267 -0
  331. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/detect-rnoh-version.cjs +174 -0
  332. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/find-rnt-demo.sh +111 -0
  333. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/port-demo.sh +186 -0
  334. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/read-lib-meta.cjs +150 -0
  335. package/vendor/Server/Skills/rnoh-lib-test-align/SKILL.md +296 -0
  336. package/vendor/Server/Skills/rnoh-lib-test-align/references/jest-troubleshooting.md +371 -0
  337. package/vendor/Server/Skills/rnoh-lib-test-align/references/port-test-demo-guide.md +212 -0
  338. package/vendor/Server/Skills/rnoh-lib-test-align/references/runtime-troubleshooting.md +345 -0
  339. package/vendor/Server/Skills/rnoh-lib-test-align/references/unit-test-template.md +223 -0
  340. package/vendor/Server/Skills/rnoh-lib-test-align/scripts/port-test-demo.sh +1053 -0
  341. package/vendor/Server/Skills/rnoh-lib-version-diff/SKILL.md +255 -0
  342. package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_ADAPTATION.md +77 -0
  343. package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_API_LOOKUP.md +224 -0
  344. package/vendor/Server/Skills/rnoh-lib-version-diff/references/script-reference.md +174 -0
  345. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/detect-upstream-version.js +967 -0
  346. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/generate-diff.js +1798 -0
  347. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/package.json +5 -0
  348. package/vendor/Server/Skills/rnoh-lib-version-diff/templates/report-template.md +137 -0
  349. package/vendor/Server/Skills/rnoh-lib-xts-coverage/SKILL.md +145 -0
  350. package/vendor/Server/Skills/skill-generator/SKILL.md +365 -0
  351. package/vendor/Server/Skills/skill-generator/assets/SKILL_TEMPLATE.md +183 -0
  352. package/vendor/Server/Skills/skill-generator/references/COMPLIANCE_CHECKLIST.md +82 -0
  353. package/vendor/Server/Skills/skill-generator/references/KB_QUERY_GUIDE.md +110 -0
  354. package/vendor/Server/Skills/skill-generator/references/MCP_TOOL_DISCOVERY.md +122 -0
  355. package/vendor/Server/Skills/skill-generator/references/SKILL_SPEC.md +121 -0
  356. package/vendor/Server/Skills/skill-generator/scripts/validate-skill.cjs +259 -0
  357. package/vendor/Server/Skills/task-analysis/SKILL.md +234 -0
  358. package/vendor/Server/Skills/task-analysis/assets/OUTPUT_EXAMPLES.md +160 -0
  359. package/vendor/Server/Skills/task-analysis/references/ACCEPTANCE_CRITERIA_GUIDE.md +190 -0
  360. package/vendor/Server/Skills/task-analysis/references/ANALYSIS_SCHEMA.md +224 -0
  361. package/vendor/Server/Skills/task-analysis/references/INTEGRATION_CONTEXT.md +162 -0
  362. package/vendor/Server/Skills/task-analysis/references/LESSONS_LEARNED.md +55 -0
  363. package/vendor/Server/Skills/task-analysis/references/REPLAN_CONTEXT_GUIDE.md +126 -0
  364. package/vendor/Server/Skills/task-analysis/scripts/validate-analysis-output.sh +256 -0
  365. package/vendor/Server/Skills/task-decomposition/SKILL.md +529 -0
  366. package/vendor/Server/Skills/task-decomposition/assets/OUTPUT_EXAMPLES.md +451 -0
  367. package/vendor/Server/Skills/task-decomposition/references/ACCEPTANCE_CRITERIA_GUIDE.md +179 -0
  368. package/vendor/Server/Skills/task-decomposition/references/DEPENDENCY_GRAPH_GUIDE.md +152 -0
  369. package/vendor/Server/Skills/task-decomposition/references/INTEGRATION_CONTEXT.md +175 -0
  370. package/vendor/Server/Skills/task-decomposition/references/REPLAN_CONTEXT_GUIDE.md +195 -0
  371. package/vendor/Server/Skills/task-decomposition/references/TASK_DECOMPOSITION_TEMPLATES.md +226 -0
  372. package/vendor/Server/Skills/task-decomposition/scripts/list-available-skills.cjs +263 -0
  373. package/vendor/Server/Skills/task-decomposition/scripts/skill-blacklist.json +29 -0
  374. package/vendor/Server/Skills/task-decomposition/scripts/validate-decomposition-output.cjs +376 -0
  375. package/vendor/Server/Skills/task-decomposition/scripts/validate-param-consistency.cjs +259 -0
  376. package/vendor/Server/Skills/task-decomposition/scripts/validate-specified-skills.cjs +216 -0
  377. package/vendor/Server/Skills/task-decomposition/scripts/validate-step-graph.cjs +425 -0
  378. package/vendor/Server/Skills/tpc-cpp-check/SKILL.md +427 -0
  379. package/vendor/Server/Skills/tpc-cpp-check/references/CHECKLIST.md +214 -0
  380. package/vendor/Server/Skills/tpc-cpp-check/references/HPKBUILD_GUIDE.md +235 -0
  381. package/vendor/Server/Skills/tpc-cpp-check/references/REPORT_TEMPLATE.md +250 -0
  382. package/vendor/Server/TestCheck/TestCheck.js +775 -0
  383. package/vendor/Server/TestCheck/index.js +11 -0
  384. package/vendor/Server/library/McpToolGuide.js +280 -0
  385. package/vendor/Server/library/StatsService.js +127 -0
  386. package/vendor/Server/library/cstTime.js +16 -0
  387. package/vendor/Server/package.json +17 -0
  388. package/vendor/VERSION +3 -0
  389. package/workflows/pr-check.mjs +106 -0
@@ -0,0 +1,255 @@
1
+ ---
2
+ name: rnoh-lib-version-diff
3
+ description: >-
4
+ 用于 RN 鸿蒙三方库升级适配:版本分析与差异生成。
5
+ 从鸿蒙化仓库 git URL 出发,自动提取上游基线版本、查询 npm 最新版本、判定升级类型,
6
+ 通过两阶段 diff 流程(全量生成 + AI 筛选精简)生成 JS 层接口差异文档并输出结构化适配检查清单。
7
+ 当用户需要分析某个 RN 三方库的鸿蒙化版本与上游最新版本的差距、判断是否需要原生适配、
8
+ 对比上游两个版本之间的 JS 接口变更时使用。典型场景:用户提供了鸿蒙化仓库的 git URL
9
+ (如 gitcode.com/CPF-RN/rntpc_xxx),想升级到新的 RNOH 版本(如 0.84),
10
+ 需要先搞清楚当前鸿蒙化基线版本是多少、上游最新版本是多少、JS 层接口有哪些变更。
11
+ 也适用于:使用 devecocli docs search 核查鸿蒙 API 可行性、生成版本对比报告
12
+ 供后续代码适配阶段使用。
13
+ license: MIT
14
+ compatibility: 需要 node、npm、tar、diff;仅需 npm registry 访问;鸿蒙 API 核查需 devecocli CLI。注意:脚本会对 diff 做行为验证(PATH 中 DevEco toolchains 等不兼容 diff 会被自动跳过),可用环境变量 DIFF_BIN 指定绝对路径
15
+ allowed-tools: Bash Read Grep Glob Write
16
+ metadata:
17
+ version: "1.0.0"
18
+ phase: "1-of-4"
19
+ ---
20
+
21
+ # RN 鸿蒙三方库版本分析与差异生成
22
+
23
+ 分析 RN 鸿蒙三方库的上游版本变更。通过对比两个版本的 JS 层接口契约(导出、TurboModule Spec),判断鸿蒙侧是否需要原生适配。
24
+
25
+ ## 目录结构
26
+
27
+ ```
28
+ {SKILL_DIR}/
29
+ ├── SKILL.md
30
+ ├── scripts/
31
+ │ ├── detect-upstream-version.js # 提取基线版本 + 查询 npm 最新版本
32
+ │ └── generate-diff.js # 两阶段 diff 生成(全量 + 精简)
33
+ │ # 注: 接口扫描功能由 ../../../MCP/scripts/rn-scan-exports.cjs 提供
34
+ ├── references/
35
+ │ ├── OHOS_API_LOOKUP.md # 鸿蒙 API 核查流程(devecocli docs search)
36
+ │ ├── OHOS_ADAPTATION.md # 鸿蒙化适配判断规则
37
+ │ └── script-reference.md # 脚本参数与用法详解
38
+ └── templates/
39
+ └── report-template.md # 版本分析报告模板
40
+ ```
41
+
42
+ ## 何时使用
43
+
44
+ - 用户提供了一个 RN 鸿蒙三方库的 git 仓库 URL,想要升级到新的 RNOH 版本。
45
+ - 用户想知道某个鸿蒙化三方库当前基于上游哪个版本、上游最新版本是多少、差距多大。
46
+ - 用户需要判断是否需要原生(ETS/C++)适配,还是只需合并 JS 代码 + 重新 codegen。
47
+
48
+ ## 最小必要输入
49
+
50
+ - **必要**:鸿蒙化仓库的 git URL(如 `https://gitcode.com/CPF-RN/rntpc_lottie-turbo-react-native`)
51
+ - **必要**:目标 RNOH 版本号(如 `0.84`),用于确定分支名(通常为 `br_rnoh0.84`)
52
+ - **有帮助**:上游 npm 包名(如不知道会自动推断)
53
+ - **有帮助**:已知的当前基线版本号(如不知道会自动检测)
54
+
55
+ ## 工作流程
56
+
57
+ ```
58
+ Step 1: 提取基线版本 + 查询 npm 最新版本
59
+ Step 2: 升级类型判定(A/B/C)
60
+ Step 3: 检查目标分支是否存在
61
+ Step 4: 两阶段 diff 生成(仅类型 A)
62
+ Phase 1: 生成全量文件变更清单 + 接口差异分析
63
+ Phase 2: AI 筛选相关文件 → 生成精简 patch
64
+ Step 5: 鸿蒙 API 核查(仅涉及原生能力时)
65
+ Step 6: 生成版本分析报告
66
+ ```
67
+
68
+ ---
69
+
70
+ ## Step 1:提取基线版本
71
+
72
+ ### 如果已指定基线版本和目标版本
73
+
74
+ 直接记录,跳到 Step 2。仅需从 `README.OpenSource` 文件获取上游仓库 URL:
75
+
76
+ ```bash
77
+ # 查看 README.OpenSource 获取 Upstream URL
78
+ cat <鸿蒙化仓库>/README.OpenSource
79
+ ```
80
+
81
+ ### 如果未指定基线版本
82
+
83
+ ```bash
84
+ node scripts/detect-upstream-version.js <git-repo-url>
85
+ ```
86
+
87
+ 脚本自动完成:解析 git URL → 获取 package.json → 从 `harmony.alias` 匹配上游包名 → 查询 npm registry 获取 `dist-tags.latest`。
88
+
89
+ **回退方案**:如果脚本输出"未找到匹配的上游版本号",检查仓库根目录的 `README.OpenSource` 文件——其中包含 `Version Number` 和 `Upstream URL` 字段,比 package.json 依赖列表更可靠(鸿蒙化仓库会用 `@react-native-ohos/` 前缀替换上游包名)。
90
+
91
+ 记录以下信息:基线版本、npm 最新版本、版本状态(落后/最新/超前)、上游仓库 URL。
92
+
93
+ ---
94
+
95
+ ## Step 2:升级类型判定
96
+
97
+ | 版本状态 | 升级类型 | 后续动作 |
98
+ |----------|----------|----------|
99
+ | 落后 (behind) | **类型 A:上游版本升级 + 框架适配** | 执行 Step 4 |
100
+ | 最新 (latest) | **类型 B:纯框架版本适配** | 跳过 Step 4 |
101
+ | 超前 (ahead) | **类型 C:特殊情况** | 人工排查 |
102
+
103
+ **核心原则**:只有类型 A 需要生成 diff。类型 B 意味着 JS 层未变更——只需更新 RNOH 框架版本 + 重新 codegen。
104
+
105
+ ---
106
+
107
+ ## Step 3:检查目标分支
108
+
109
+ ```bash
110
+ git ls-remote --heads <鸿蒙化仓库URL>
111
+ ```
112
+
113
+ 如果 `br_rnoh0.84` 分支不存在,使用已有的最高版本分支(如 `br_rnoh0.82`)作为起点,在报告中标注需要跨版本升级。
114
+
115
+ ---
116
+
117
+ ## Step 4:两阶段 diff 生成(仅类型 A)
118
+
119
+ ### 版本格式
120
+
121
+ | 格式 | 示例 | 适用场景 |
122
+ |------|------|----------|
123
+ | `v` + 版本号 | `v7.2.2`, `v7.4.0` | 大多数非 scoped 包 |
124
+ | 纯版本号 | `7.2.2`, `7.4.0` | 部分仓库 |
125
+ | `@scope/name@version` | `@react-native-async-storage/async-storage@3.1.1` | **scoped 包**(`@scope/` 前缀) |
126
+
127
+ 如果不确定有哪些可用版本,通过 npm 查看:
128
+
129
+ ```bash
130
+ npm view <npm包名> versions --json
131
+ ```
132
+
133
+ ### Phase 1:生成全量 diff + 接口差异分析
134
+
135
+ ```bash
136
+ node scripts/generate-diff.js \
137
+ --npm-package <npm包名> \
138
+ --tgz1 <基线版本号> \
139
+ --tgz2 <目标版本号> \
140
+ --output-dir <输出目录>
141
+ ```
142
+
143
+ 生成 4 个文件:
144
+
145
+ | 文件 | 说明 |
146
+ |------|------|
147
+ | `diff_*.patch` | 全量 diff 补丁(仅 JS 层,已排除原生平台代码) |
148
+ | `summary_*.md` | 文件变更摘要(按文件统计增删行数) |
149
+ | `structure_*.md` | 适配分析报告(以接口差异为锚点:接口未变更→只需合并 JS;接口变更→按变更项展开 + 文件计数) |
150
+ | `api-diff_*.md` | 接口差异适配检查清单(每个变更项含 checkbox、方法签名、适配动作) |
151
+
152
+ 其中 `structure_*.md` 和 `api-diff_*.md` 由脚本内部调用 `rn-scan-exports.cjs`(位于 `../../../MCP/scripts/`)对比两个版本的 JS 导出和 TurboModule Spec 自动生成。
153
+
154
+ **核心逻辑**:如果 JS 层接口未变更 → "无需原生适配,只需合并 JS + codegen"。如果接口变更 → 列出每个变更的方法及其签名作为适配检查项。
155
+
156
+ ### Phase 2:AI 筛选相关文件 → 生成精简 patch
157
+
158
+ Phase 1 的全量 patch 可能仍包含与适配无关的文件(已删除的包、示例代码、配置文件等)。Phase 2 通过 AI 筛选:
159
+
160
+ 1. **阅读** `structure_*.md` 和 `api-diff_*.md`,理解哪些接口发生了变更
161
+ 2. **阅读** `summary_*.md`,查看完整的文件变更列表(路径 + 增删行数)
162
+ 3. **AI 判断**:对变更列表中的每个文件,判断是否与接口变更相关:
163
+ - **包含**:实现变更接口的 JS/TS 源码文件、TurboModule Spec 文件、含 codegenConfig 的 package.json
164
+ - **排除**:已删除的包、示例代码、文档、CI 配置、构建脚本、原生平台代码
165
+ 4. **写入** 筛选后的文件列表到 `relevant-files.txt`(每行一个路径)
166
+ 5. **生成精简 patch**:
167
+
168
+ ```bash
169
+ node scripts/generate-diff.js \
170
+ --npm-package <npm包名> \
171
+ --tgz1 <基线版本号> \
172
+ --tgz2 <目标版本号> \
173
+ --files relevant-files.txt \
174
+ --output-dir <输出目录>
175
+ ```
176
+
177
+ 生成的 `diff_*.patch` 只包含相关文件(通常缩小 70-90%)。
178
+
179
+ **AI 筛选标准**:
180
+ - 如果 TurboModule Spec 变更 → 包含所有新旧 Spec 文件(看新增了什么、移除了什么)
181
+ - 如果公共接口变更 → 包含定义/实现该接口的文件
182
+ - 如果导出变更 → 包含入口文件(index.ts/tsx)
183
+ - 始终包含含 codegenConfig 变更的 package.json
184
+ - 绝不包含:example/、docs/、.github/、原生平台目录、已删除的包目录
185
+
186
+ ---
187
+
188
+ ## Step 5:鸿蒙 API 核查
189
+
190
+ 当接口变更涉及原生能力(存储、相机、蓝牙等)时,使用 `devecocli docs search` 核查 OHOS API 可行性后再下结论。
191
+
192
+ ```bash
193
+ devecocli docs search "<关键词>" --catalog harmonyos-references --limit 10
194
+ ```
195
+
196
+ 完整核查流程见 [references/OHOS_API_LOOKUP.md](references/OHOS_API_LOOKUP.md)。
197
+
198
+ ---
199
+
200
+ ## Step 6:生成版本分析报告
201
+
202
+ 使用 [templates/report-template.md](templates/report-template.md) 模板生成结构化版本分析报告。
203
+
204
+ **关键要求**:报告的「差异文件位置」章节必须列出所有产出文件的**完整绝对路径**,不可使用相对路径。读者通过该表格即可定位到每个生成文件。
205
+
206
+ 风险等级:
207
+ - 🟢 低风险:仅补丁版本差距,无 breaking change
208
+ - 🟡 中风险:小版本差距,有 API 变更但向后兼容
209
+ - 🔴 高风险:大版本差距,有 breaking change 或原生层重构
210
+
211
+ 适配判断规则见 [references/OHOS_ADAPTATION.md](references/OHOS_ADAPTATION.md)。
212
+
213
+ ---
214
+
215
+ ## 常见边界情况
216
+
217
+ ### detect-upstream-version.js 无法匹配包名
218
+
219
+ 检查仓库根目录的 `README.OpenSource` 文件——其中包含 `Version Number` 和 `Upstream URL` 字段,比 package.json 依赖列表更可靠。
220
+
221
+ ### 文件重命名 / 跨目录移动
222
+
223
+ 脚本不支持 rename 检测。如果上游版本间存在文件移动,diff 会显示为「旧路径删除 + 新路径新增」。通过对比 `summary_*.md` 中删除和新增的文件路径,人工识别文件移动。`structure_*.md` 报告中的文件分类统计也可辅助判断。
224
+
225
+ ### rn-scan-exports.cjs 在 monorepo 中找不到入口文件
226
+
227
+ 如果仓库是 monorepo 结构,`rn-scan-exports.cjs` 可能需要指定子包目录。直接运行:
228
+
229
+ ```bash
230
+ node ../../../MCP/scripts/rn-scan-exports.cjs --compare \
231
+ <分支1目录>/packages/<包名> \
232
+ <分支2目录>/packages/<包名> \
233
+ --output api-diff.md
234
+ ```
235
+
236
+ ### devecocli 未安装
237
+
238
+ 尝试 `ohpm install -g @ohos/deveco-cli` 或通过 DevEco Studio 安装。也可使用 MCP 工具 `script_deveco_docs`(如果可用)。
239
+
240
+ ---
241
+
242
+ ## 输出物清单
243
+
244
+ ### 类型 A(上游版本升级 + 框架适配)
245
+
246
+ 1. **版本分析报告**(Markdown)— 版本差距、风险评估、适配检查清单。报告的「差异文件位置」章节须列出所有产出文件的完整绝对路径
247
+ 2. **精简 diff patch**(`diff_*.patch`)— 只包含相关 JS 文件,供 code-adapt skill 使用
248
+ 3. **接口差异检查清单**(`api-diff_*.md`)— 每个接口变更含 checkbox,指导适配(内容已嵌入报告)
249
+ 4. **适配分析报告**(`structure_*.md`)— 接口驱动的分析 + 文件计数(内容已嵌入报告)
250
+ 5. **源码目录** — 两个版本的源码导出,供参考
251
+
252
+ ### 类型 B(纯框架版本适配)
253
+
254
+ 1. **版本分析报告** — 版本状态(最新)、RNOH 框架版本对比、codegen 说明
255
+ 2. 无 diff/summary/structure 文件(上游未变更)
@@ -0,0 +1,77 @@
1
+ # 鸿蒙化适配判断规则
2
+
3
+ 上游版本升级后,按以下规则判断鸿蒙侧是否需要同步修改。结合版本差异分析结果,为报告的「鸿蒙化适配分析」章节提供判断依据。
4
+
5
+ ## 文件路径映射
6
+
7
+ | 上游路径 | 鸿蒙对应 |
8
+ |----------|----------|
9
+ | `src/index.ts(x)` | 同路径 + `Platform.OS === 'harmony'` 分支 |
10
+ | `src/Native*.ts` | 同路径 → codegen → `harmony/**/generated/` |
11
+ | `android/` | `harmony/` ETS TurboModule + C++ Package |
12
+ | `ios/` | `harmony/` ETS TurboModule + C++ Package |
13
+ | `example/android`, `example/ios` | `example/harmony/` |
14
+
15
+ ## 判断矩阵
16
+
17
+ | 上游变更 | 需鸿蒙适配 | 典型动作 |
18
+ |----------|-----------|----------|
19
+ | 纯 JS 逻辑,无 native 交互 | 通常否 | 合并 JS 即可 |
20
+ | 新增/修改 export API | 是 | 同步 `src/`,检查 harmony 调用 |
21
+ | TurboModule 方法增删改 | 是 | 改 Spec → codegen → ETS/C++ |
22
+ | Android/iOS 权限/生命周期 | 是 | 在 ETS 用 OHOS API 对等实现 |
23
+ | 事件名/NativeEventEmitter 变更 | 是 | 对齐 JS 层 + 原生 emit 事件名 |
24
+ | `package.json` peerDeps 升级 | 待评估 | 查目标 RNOH 版本兼容矩阵 |
25
+ | 仅 README/CHANGELOG | 否 | — |
26
+ | 仅 `.github`/CI | 否 | — |
27
+
28
+ ## RNOH 框架版本适配要点
29
+
30
+ 跨 RNOH 版本升级时(如 0.77 → 0.84)额外检查:
31
+
32
+ 1. **Codegen 版本**:项目 `codegen-lib` script 与目标 RNOH CLI 是否匹配
33
+ 2. **TurboModule 架构**:新架构下 Spec 路径、`TurboModuleRegistry` 用法
34
+ 3. **Package 基类**:RNOHPackage(新)vs RNPackage(旧)
35
+ 4. **Example 壳工程**:`example/harmony/` 中 Package 注册、依赖版本
36
+ 5. **HAR 构建**(仅含 native cpp 的库):变更后是否需要重新打 har 包
37
+
38
+ ## 库类型与流程分支
39
+
40
+ | 类型 | 判定 | 后续适配流程 |
41
+ |------|------|-------------|
42
+ | `native-harmony` | 有 `harmony/` HAR + TurboModule/Fabric/cpp | 完整流程(codegen + autolinking + HAR) |
43
+ | `js-only-harmony` | 有 `harmony/` 但无 cpp/autolinking | 跳过 HAR/cpp 门禁 |
44
+ | `pure-js` | 无 native 或纯 JS 鸿蒙实现 | 跳过 codegen、autolinking、HAR |
45
+
46
+ ## 升级类型 A:上游版本升级 + 框架适配
47
+
48
+ 当版本状态为"落后"时,需同时处理:
49
+ 1. **上游 JS 代码合并** — 应用 diff patch 中的 JS 变更
50
+ 2. **TurboModule Spec 同步** — 上游方法增删改时更新 Spec + 重跑 codegen
51
+ 3. **鸿蒙原生层适配** — Android/iOS 原生变更需在 `harmony/` 中对等实现
52
+ 4. **RNOH 框架版本适配** — 跨版本时验证 API 兼容性 + 重新 codegen
53
+
54
+ ## 升级类型 B:纯框架版本适配
55
+
56
+ 当版本状态为"最新"时,上游 JS 代码无差异,只需:
57
+ 1. **RNOH 框架版本升级** — 更新 package.json / oh-package.json5 中的 RNOH 依赖版本
58
+ 2. **重新 codegen** — 使用目标版本 CLI 重新生成 generated/ 代码
59
+ 3. **API 兼容性验证** — ETS 业务代码、Package 注册代码、C++ 层依赖的 RNOH API
60
+
61
+ ## 鸿蒙 API 核查(涉及原生能力时必做)
62
+
63
+ 凡涉及原生能力的「需适配」「需评估」项,**分析阶段**须完成 API 核查后再下结论:
64
+
65
+ 1. 使用 **`devecocli docs search`** 搜索鸿蒙 API 文档(见 [OHOS_API_LOOKUP.md](OHOS_API_LOOKUP.md))
66
+ 2. 搜 `harmonyos-references` 确认 API 签名
67
+ 3. 搜 `harmonyos-guides` 确认约束(实时性、权限、步骤)
68
+ 4. 写入报告「鸿蒙 API 核查表」
69
+ 5. 适配建议须引用核查表中的 Kit/API
70
+
71
+ ## 输出标记
72
+
73
+ 在报告中使用:
74
+ - ✅ **需要适配** / ✅ **可实现**(须有 API 核查依据)
75
+ - ❌ **无需适配** / ❌ **无法实现**(须有 API 核查依据)
76
+ - ⚠️ **待评估** / ⚠️ **部分实现**
77
+ - 🔶 **合理差异**(iOS/Android-only,文档标注 Support=No)
@@ -0,0 +1,224 @@
1
+ # 鸿蒙 API 核查(devecocli docs search)
2
+
3
+ 版本差异分析中发现上游变更涉及原生能力时,**禁止仅凭 Android/iOS 实现或训练记忆推断 OHOS API**。凡涉及原生能力(相机、扫码、蓝牙、定位、文件、权限等),**必须**使用 `devecocli docs search` 完成核查后再写入报告。
4
+
5
+ ## devecocli docs search 命令
6
+
7
+ ### 命令格式
8
+
9
+ ```
10
+ devecocli docs search <keywords...> --catalog <name> --format <fmt> --limit <n>
11
+ ```
12
+
13
+ ### 参数
14
+
15
+ | 参数 | 必选 | 说明 |
16
+ |------|------|------|
17
+ | `keywords...` | ✅ | 搜索关键词,多个关键词用空格隔开。将搜索版本说明、指南、API参考、最佳实践、FAQ、变更预告等中的内容 |
18
+ | `--catalog` | ❌ | 文档类别,默认 `all`(所有分类) |
19
+ | `--format` | ❌ | 输出格式:`default`(默认)、`json` |
20
+ | `--limit` | ❌ | 返回条数,默认 10。输出结果包括文档ID、标题、文档的概括内容 |
21
+
22
+ ### `--catalog` 取值
23
+
24
+ | 取值 | 文档类别 |
25
+ |------|----------|
26
+ | `harmonyos-releases` | 版本说明 |
27
+ | `harmonyos-guides` | 指南 |
28
+ | `harmonyos-references` | API参考 |
29
+ | `best-practices` | 最佳实践 |
30
+ | `harmonyos-faqs` | FAQ |
31
+ | `harmonyos-roadmap` | 变更预告 |
32
+ | `all` | 所有分类(默认) |
33
+
34
+ ### 输出内容
35
+
36
+ 每条搜索结果包含:
37
+ - **文档ID** — 唯一标识
38
+ - **标题** — 文档标题
39
+ - **概括内容** — 文档摘要
40
+
41
+ 使用 `--format json` 可获取结构化输出,便于程序化处理。
42
+
43
+ ---
44
+
45
+ ## 何时必须做 API 核查
46
+
47
+ 满足**任一**条件即触发(纯 JS 库无 `harmony/` 原生逻辑时可跳过,报告标注「不适用 API 核查」):
48
+
49
+ | 触发条件 | 示例 |
50
+ |----------|------|
51
+ | 上游新增/修改 Android/iOS 原生能力 | MLKit 人脸、CameraX 条码过滤 |
52
+ | 新增 Fabric prop / 事件需 ETS 实现 | `allowedBarcodeTypes`、`onFaceDetected` |
53
+ | TurboModule 方法需 OHOS 系统 API | 权限、文件、传感器 |
54
+ | 报告「需适配项」含 harmony ETS 动作 | 「ScanService 映射 scanTypes」 |
55
+ | 可行性结论为「待评估」 | 需查文档后才能判定可实现/不可实现 |
56
+
57
+ **不触发**:纯 JS 逻辑、README/CI、仅 build 版本号 bump、上游 iOS-only 且已判定「合理差异」。
58
+
59
+ ---
60
+
61
+ ## 核查流程(每个需适配特性执行一次)
62
+
63
+ ```
64
+ 上游 Android/iOS 变更
65
+ ↓ 提取能力关键词(动词 + 名词 + Kit 名)
66
+
67
+ ① devecocli docs search --catalog harmonyos-references(必做)
68
+ 搜 API 参考 → 确认 API 签名、Interface/Enum、权限
69
+
70
+ ② devecocli docs search --catalog harmonyos-guides(推荐)
71
+ 搜指南 → 确认实现步骤、实时性/性能约束
72
+
73
+ ③ devecocli docs search --catalog best-practices(按需)
74
+ 搜最佳实践 → 确认性能约束、推荐实现
75
+
76
+ ④ 填写报告「鸿蒙 API 核查表」一行
77
+
78
+ ⑤ 反哺报告的适配建议与可行性结论
79
+ ```
80
+
81
+ ### Step ① 搜 API 参考(必做)
82
+
83
+ 从上游变更提取 **Kit / 模块 / API 名**,搜索 API 参考文档:
84
+
85
+ ```bash
86
+ # 示例:搜索 Scan Kit 的 scanCore 和 ScanType
87
+ devecocli docs search "ScanKit scanCore ScanType" --catalog harmonyos-references --limit 10
88
+
89
+ # 示例:搜索 Camera Kit 的 MetadataOutput
90
+ devecocli docs search "CameraKit MetadataOutput 人脸" --catalog harmonyos-references --limit 10
91
+
92
+ # 使用 JSON 格式获取结构化输出
93
+ devecocli docs search "photoAccessHelper MediaLibraryKit" --catalog harmonyos-references --format json --limit 10
94
+ ```
95
+
96
+ 记录到报告:
97
+ - **模块导入**(如 `import { scanCore } from '@kit.ScanKit'`)
98
+ - **关键 API 签名**(方法名、参数类型、返回值)
99
+ - **Enum 取值**(若有映射需求)
100
+ - **权限 / 系统能力**(文档有明确标注才写)
101
+
102
+ ### Step ② 搜指南(推荐;实时性/权限/步骤不明时必做)
103
+
104
+ ```bash
105
+ # 搜指南:扫码开发步骤
106
+ devecocli docs search "扫码 ScanKit 开发" --catalog harmonyos-guides --limit 10
107
+
108
+ # 搜指南:相机开发
109
+ devecocli docs search "相机预览 拍照 Camera" --catalog harmonyos-guides --limit 10
110
+ ```
111
+
112
+ 关注:**是否支持实时/流式**、**性能约束**、**与 Android/iOS 能力差异**、**推荐实现步骤**。
113
+
114
+ ### Step ③ 搜最佳实践(按需)
115
+
116
+ ```bash
117
+ # 性能约束不明确时搜最佳实践
118
+ devecocli docs search "实时人脸检测 CoreVision 性能" --catalog best-practices --limit 5
119
+ ```
120
+
121
+ ---
122
+
123
+ ## 可行性判定(写入报告)
124
+
125
+ | 判定 | 含义 | 报告写法 |
126
+ |------|------|----------|
127
+ | ✅ **可实现** | 有明确 OHOS API,语义与上游基本一致 | 列出 Kit + API + 映射策略 |
128
+ | ⚠️ **部分实现** | 有 API 但能力子集不同(如仅矩形框、无 yaw/pitch) | 说明缺失字段与降级方案 |
129
+ | 🔶 **合理差异** | 上游 iOS/Android-only,OHOS 无对等且可 no-op | 文档标注 Support=No |
130
+ | ❌ **无法实现** | 文档明确不支持或无任何 Kit 可覆盖 | 说明依据 + 建议遗留项 |
131
+
132
+ **禁止**在无 API 核查的情况下使用「可实现」「无法实现」等结论。
133
+
134
+ ---
135
+
136
+ ## 上游能力 → 鸿蒙 Kit 速查(搜索时优先匹配)
137
+
138
+ | 上游领域(Android/iOS) | 优先搜的鸿蒙 Kit / 关键词 | 典型搜索词 |
139
+ |-------------------------|-------------------------|------------|
140
+ | 相机预览/拍照/闪光灯 | Camera Kit | `CameraKit PhotoSession 闪光灯` |
141
+ | 相机元数据/人脸框 | Camera Kit Metadata | `CameraKit MetadataOutput FACE_DETECTION` |
142
+ | 条码/二维码扫描 | Scan Kit | `ScanKit scanCore customScan ScanType` |
143
+ | 静态图 OCR/人脸 | Core Vision Kit | `CoreVision faceDetector 人脸检测` |
144
+ | 相册/媒体库 | Media Library Kit | `MediaLibraryKit photoAccessHelper` |
145
+ | 音频播放 | Media Kit / Audio Kit | `AVPlayer AudioKit 音频播放` |
146
+ | 权限 | Ability Kit | `abilityAccessCtrl 权限申请` |
147
+ | 蓝牙/BLE | Connectivity Kit | `bluetooth BLE 蓝牙` |
148
+ | 定位 | Location Kit | `geoLocationManager 定位` |
149
+ | 文件读写 | Core File Kit | `CoreFileKit fileIo 文件读写` |
150
+ | 网络 HTTP | Network Kit | `@ohos.net.http 网络请求` |
151
+
152
+ 同一特性可能存在**多条 API 路径**(如人脸:Core Vision 静态图 vs Camera Metadata 实时框),须**都搜**后在报告中对比,不得只搜一条就下结论。
153
+
154
+ ---
155
+
156
+ ## 搜索技巧
157
+
158
+ ### 1. 关键词组合策略
159
+
160
+ - **Kit 名 + 核心类名 + 方法名**:精确搜 API 参考
161
+ ```bash
162
+ devecocli docs search "ScanKit scanCore ScanType" --catalog harmonyos-references
163
+ ```
164
+ - **中文能力描述**:搜指南和最佳实践
165
+ ```bash
166
+ devecocli docs search "实时扫码 相机" --catalog harmonyos-guides
167
+ ```
168
+ - **英文 + 中文混合**:扩大覆盖面
169
+ ```bash
170
+ devecocli docs search "CameraKit 相机预览" --catalog all
171
+ ```
172
+
173
+ ### 2. 多 catalog 交叉验证
174
+
175
+ ```bash
176
+ # 同一关键词搜不同 catalog
177
+ devecocli docs search "scanCore" --catalog harmonyos-references --limit 10
178
+ devecocli docs search "scanCore" --catalog harmonyos-guides --limit 10
179
+ devecocli docs search "scanCore" --catalog best-practices --limit 5
180
+ ```
181
+
182
+ ### 3. JSON 格式批量处理
183
+
184
+ ```bash
185
+ # JSON 输出便于提取文档 ID 和标题
186
+ devecocli docs search "CameraKit" --catalog harmonyos-references --format json --limit 20
187
+ ```
188
+
189
+ ---
190
+
191
+ ## 报告输出:鸿蒙 API 核查表(必填专节)
192
+
193
+ 写入版本分析报告独立章节「**鸿蒙 API 核查**」。每行对应一个**上游原生能力增量**(不是每个 commit 一行,按整合主题一行即可):
194
+
195
+ | 列 | 说明 |
196
+ |----|------|
197
+ | 上游能力 | 如 `allowedBarcodeTypes`、Android MLKit 实时人脸 |
198
+ | 上游实现摘要 | Android/iOS 用什么 API |
199
+ | 鸿蒙 Kit/API | 核查后的模块 + 关键 API(附搜索关键词) |
200
+ | 能力对比 | 与上游一致 / 子集 / 无对等 |
201
+ | 约束与风险 | 来自 guides / best-practices 的性能、权限、版本限制 |
202
+ | 可行性 | ✅ / ⚠️ / 🔶 / ❌ |
203
+ | 建议动作 | 具体 ETS 文件与实现策略 |
204
+ | API 核查状态 | 分析中 / 已完成 |
205
+
206
+ ---
207
+
208
+ ## 与 Android/iOS 映射方法
209
+
210
+ 1. **读上游 diff**:确认 Android 类/方法(如 `setAllowedBarcodeTypes`)或 iOS `@objc` prop
211
+ 2. **抽象能力**:过滤条码类型 / 实时人脸检测 / 延迟启动预览 等
212
+ 3. **OHOS 关键词搜索**:用能力词搜 Kit,而非直接搜 Android 类名
213
+ 4. **字段级映射**:在核查表中写清 upstream 字段 → OHOS 字段(例:`CodeFormat 'qr'` → `scanCore.ScanType.QR_CODE`)
214
+ 5. **事件 payload 映射**:upstream `FaceData.yaw` → OHOS 若无则标 ⚠️ 部分实现
215
+
216
+ ---
217
+
218
+ ## 禁止事项
219
+
220
+ - **禁止**未执行 `devecocli docs search` 就写「鸿蒙用 XXX API 可实现」
221
+ - **禁止**只搜一个关键词就判定「无法实现」(须至少搜 API 参考 + 指南两个 catalog)
222
+ - **禁止**把 Core Vision Kit 静态检测与 Camera 实时能力混为一谈而不对比
223
+ - **禁止**在「鸿蒙 API 核查表」留空却给出总体「可实现/不可实现」结论
224
+ - **禁止**在分析阶段写具体 `.ets` 实现代码(只写 API 依据与策略)