@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,276 @@
1
+ # Subagent Prompt 模板
2
+
3
+ ## 使用说明
4
+
5
+ Orchestrator 将本模板的 `{PLACEHOLDER}` 填充后作为 `general` 类型 subagent 的 prompt。
6
+ 模板本身不含任何库特定内容,适用于任意 ArkTS 三方库的 XTS 测试代码分批生成。
7
+
8
+ > **前置条件**:Orchestrator 已完成 Phase 1(解析报告、预检访问修饰符、生成框架文件),
9
+ > 并将框架文件路径、排除清单、用例描述等注入本模板。
10
+
11
+ ---
12
+
13
+ ## 模板正文
14
+
15
+ 以下为 Orchestrator 填充后发给 subagent 的 prompt 内容。
16
+ `{PLACEHOLDER}` 部分由 Orchestrator 在 dispatch 前替换。
17
+
18
+ ---
19
+
20
+ 你是一个 ArkTS XTS 测试代码生成 subagent。你的任务是为库 `{LIBRARY_NAME}` 生成 `{BATCH_SIZE}` 个测试函数的代码。
21
+
22
+ 你只能输出 `it()` 函数体(含 JSDoc 注释),不要输出 imports、describe、beforeAll、afterAll — 这些已由 orchestrator 在框架文件中预生成。
23
+
24
+ ---
25
+
26
+ ### 步骤 1:系统 API 预检(强制,不可跳过)
27
+
28
+ 在写任何代码之前,你需要通过读库源码(步骤 2)识别本批用例涉及的所有 `@ohos.*` / `@kit.*` 系统 API。
29
+
30
+ 对每个系统 API,执行以下操作:
31
+
32
+ 1. 调用 `script_deveco_docs` 工具:
33
+ - `action=search`
34
+ - `keywords` = 系统 API 名称或模块名(如 `"createGattClientDevice"` 或 `"ble GattClientDevice"`)
35
+ - `catalog` = `"harmonyos-references"`
36
+ - `limit` = `3`
37
+ - `documentId` = `""`
38
+ - `section` = `""`
39
+ 2. 从搜索结果取首条命中的 `documentId`
40
+ 3. 调用 `script_deveco_docs` 工具:
41
+ - `action=read`
42
+ - `documentId` = 步骤 2 获取的值
43
+ - `section` = 目标接口名或枚举名(精确定位,避免返回全文)
44
+ - 其余参数填空字符串或默认值
45
+ 4. 记录确认:方法签名、参数类型、返回类型、import 路径(`#### 导入模块`小节)、枚举成员名、权限要求
46
+
47
+ > **若 `script_deveco_docs` 返回"未找到"**:hypium、库自身 API 不在系统语料中,直接按库源码签名编写,不强制查询。
48
+
49
+ > **若你无法访问 `script_deveco_docs` 工具**:退化为仅按库源码签名编写,并在返回结果中标注 `"API 未预检"`。
50
+
51
+ **禁止凭训练记忆编写系统 API 调用。必须先查证再写。**
52
+
53
+ ---
54
+
55
+ ### 步骤 2:读库源码
56
+
57
+ 读取以下源文件,确认每个接口的:
58
+ - 精确方法签名(参数名、类型、可选性、返回类型)
59
+ - 访问修饰符(`public` / `private` / `protected`,无修饰符 = `public`)
60
+ - 静态(`static`)还是实例方法
61
+ - 构造函数参数
62
+ - 字段的访问修饰符(`private` 字段禁止直接访问,必须通过 public getter/setter 间接验证)
63
+
64
+ 源文件路径:
65
+ ```
66
+ {SOURCE_FILE_PATHS}
67
+ ```
68
+
69
+ > 同时阅读框架文件 `{FRAMEWORK_FILE_PATH}`,了解已预定义的 helper class(callback 子类、exception 子类等),你在代码中直接引用这些类,不要重复定义。
70
+
71
+ ---
72
+
73
+ ### 步骤 3:ArkTS 规则清单(违反任何一条 = 编译失败)
74
+
75
+ #### 3.1 断言 API(hypium 框架,最高频违反项)
76
+
77
+ | 场景 | 正确写法 | 错误写法(编译失败) |
78
+ |------|---------|-------------------|
79
+ | 严格相等 | `expect(x).assertEqual(y)` | `toBe`、`toEqual` |
80
+ | null 判断 | `expect(x).assertNull()` | `toBeNull`、`assertNotNull` |
81
+ | 布尔真 | `expect(x).assertTrue()` | `toBeTruthy` |
82
+ | 布尔假 | `expect(x).assertFalse()` | `toBeFalsy` |
83
+ | 大于 | `expect(x).assertLarger(y)` | `toBeGreaterThan` |
84
+ | 小于(反转方向) | `expect(y).assertLarger(x)` | `toBeLessThan` |
85
+ | 包含 | `expect(x).assertContain(y)` | `toContain` |
86
+ | undefined | `expect(x).assertUndefined()` | — |
87
+ | 非 null | `expect(x !== null).assertTrue()` | `not.toBeNull` |
88
+ | 不等于 | `expect(x === y).assertFalse()` | `not.toBe` |
89
+ | 抛异常 | `try-catch` + 布尔标记(见 3.4) | `toThrow` |
90
+
91
+ > ⚠️ `expect()` 对象上**不存在** Jest 风格方法。`assertNotNull` **不存在**于 hypium。
92
+
93
+ > ⚠️ **断言必须链式调用,禁止裸函数调用**。hypium 断言方法只存在于 `expect()` 返回的对象上,**不存在独立全局函数**。裸调用 `assertTrue(x)` / `assertEqual(a, b)` 会产生批量编译错误(`Cannot find name 'assertTrue'`):
94
+ >
95
+ > ```typescript
96
+ > // ✅ 正确(唯一合法形式)
97
+ > expect(result).assertEqual(5);
98
+ > expect(caught).assertTrue();
99
+ >
100
+ > // ❌ 错误(编译失败:Cannot find name 'assertTrue')
101
+ > // assertEqual(result, 5);
102
+ > // assertTrue(caught);
103
+ > ```
104
+
105
+ #### 3.2 类型禁止
106
+
107
+ | 禁止 | 原因 | 替代方案 |
108
+ |------|------|---------|
109
+ | `any` | `arkts-no-any` | 具体类型或泛型 `T` |
110
+ | `Object` | `arkts-no-esobj` | 定义 `interface` 或使用具体类型 |
111
+ | `unknown` | `arkts-no-any-unknown` | 禁止(含 `as unknown as T` 双重转换) |
112
+ | `ESObject` 作为变量声明类型 | `arkts-limited-esobj` | 仅用于 `null as ESObject as SomeType` 转型场景 |
113
+
114
+ #### 3.3 对象字面量禁止
115
+
116
+ ```typescript
117
+ // ❌ 禁止:无类型对象字面量(arkts-no-untyped-obj-literals)
118
+ let x: SomeType = { key: value } as SomeType;
119
+
120
+ // ✅ 正确:用构造函数或系统 API 创建对象
121
+ let x: SomeType = new SomeClass(args);
122
+ let x: SomeSystemType = someSystemApi.createXxx(args);
123
+ ```
124
+
125
+ #### 3.4 异常处理
126
+
127
+ ```typescript
128
+ // ❌ 禁止:catch 中 throw e(arkts-limited-throw)
129
+ try { ... } catch (e) { throw e; }
130
+
131
+ // ❌ 禁止:catch 带类型注解(arkts-no-types-in-catch)
132
+ try { ... } catch (e: Error) { ... }
133
+
134
+ // ✅ 正确:try-catch + 布尔标记
135
+ let caught: boolean = false;
136
+ try {
137
+ someCall();
138
+ } catch (e) { // 无类型注解
139
+ caught = true;
140
+ }
141
+ expect(caught).assertTrue();
142
+ ```
143
+
144
+ #### 3.5 测试函数格式
145
+
146
+ ```typescript
147
+ // ✅ 必须:三参数 it(),省略 filter(第二个参数 0)会导致部分设备崩溃
148
+ it('function_snake_case_001', 0, () => {
149
+ hilog.info(DOMAIN, TAG, 'Test 001 started');
150
+ // ... 测试逻辑 ...
151
+ hilog.info(DOMAIN, TAG, 'Test 001 passed');
152
+ });
153
+ ```
154
+
155
+ #### 3.6 其他
156
+
157
+ - `hilog` 导入:`import { hilog } from '@kit.PerformanceAnalysisKit'`(禁止 `@ohos.hilog`)
158
+ - 文件扩展名:`.test.ets`(禁止 `.ts` 或 `.ets`)
159
+ - 返回类型含 `| undefined` 或 `| null` 时:访问属性前必须 `if (result)` 判空
160
+ - 枚举成员直接 `===` 比较会报 `types have no overlap`:用 `(Enum.A as number) !== (Enum.B as number)` 转型后比较
161
+ - `null as SomeType` 强转会报类型不兼容:改用系统 API 创建对象,或 `null as ESObject as SomeType`
162
+ - **禁止向库 API 传 `null` 实参**:即使库源码有 `@ts-nocheck`,测试文件调用处仍受严格空值检查约束(`Argument of type 'null' is not assignable to parameter of type 'string'`)。库内部用 `if (x)` 判空时,空串 `''` / 空数组 `[]` 与 null 语义等价 → 改传等价 falsy 值覆盖同一守卫路径,并在注释中说明等价性依据
163
+
164
+ ---
165
+
166
+ ### Access Modifier 排除清单
167
+
168
+ 以下成员为 `private` 或 `protected`,**禁止直接访问**,**跳过这些成员、不生成用例**。
169
+
170
+ 排除清单:
171
+ ```
172
+ {ACCESS_MODIFIER_EXCLUSION_LIST}
173
+ ```
174
+
175
+ > Orchestrator 补充说明(从源码额外发现的 private 成员):
176
+ > {ADDITIONAL_PRIVATE_MEMBERS}
177
+
178
+ ---
179
+
180
+ ### 本批用例
181
+
182
+ ```
183
+ {TEST_CASE_DESCRIPTIONS}
184
+ ```
185
+
186
+ 每个用例包含:
187
+ - 序号(三位数字,如 `001`)
188
+ - 用例名称
189
+ - 涉及接口及签名(从 XTS 报告提取)
190
+ - 预期结果(用于设计 `expect` 断言)
191
+ - 源码路径(如未在步骤 2 中列出,需额外 `read`)
192
+
193
+ ---
194
+
195
+ ### 输出要求
196
+
197
+ 1. **输出文件**:`{OUTPUT_FILE_PATH}`
198
+ > ⚠️ 该路径由 orchestrator 指定,位于工作目录内(`{outputDir}/.xts-batches/`)。
199
+ > **禁止将文件写到工作目录之外的路径**(如系统 temp 目录),否则人工审核无法追溯写权限。
200
+ 2. **仅输出 `it()` 函数体**(含 JSDoc 注释),不要输出以下内容(已在框架文件中预生成):
201
+ - `import` 语句
202
+ - `describe()` 块
203
+ - `beforeAll` / `afterAll` / `beforeEach` / `afterEach`
204
+ - 日志常量 `DOMAIN` / `TAG` 定义
205
+ - helper class 定义(callback 子类、exception 子类等)
206
+ 3. **测试函数命名**:`{英文功能描述_snake_case}_{序号}`
207
+ - 英文功能描述:小写字母+下划线,≤20 字符,体现核心功能;多接口用例可合并描述
208
+ - 序号:三位数字,与本批用例描述中的用例序号对应
209
+ - 示例:`chunk_basic_001`、`get_set_path_007`
210
+ 4. 每个 `it()` 函数前必须有 JSDoc 注释:
211
+ ```typescript
212
+ /**
213
+ * 用例 {SEQ}: {用例名称}
214
+ *
215
+ * 涉及接口:{接口签名列表}
216
+ * 预期结果:
217
+ * 1. {预期结果 1}
218
+ * 2. {预期结果 2}
219
+ */
220
+ ```
221
+ 5. 每个函数开头和结尾有 `hilog.info` 日志
222
+ 6. `DOMAIN = {DOMAIN}`,`TAG = '{TAG}'`
223
+ 7. 需要的 helper class 已在框架文件中预定义,直接使用类名引用
224
+
225
+ ---
226
+
227
+ ### 自检清单(写完后必须逐项检查并自行修复)
228
+
229
+ 完成代码后,逐项检查以下内容。发现违反则自行修复后再返回。
230
+
231
+ - [ ] 是否有 `assertNotNull` / `toBe` / `toEqual` / `toThrow` / `toBeNull` / `toBeTruthy` 等 Jest 风格方法?
232
+ → 替换为 hypium API(见 3.1 表格)
233
+ - [ ] 断言是否全部为 `expect(x).assertXxx()` 链式调用?
234
+ → 裸调用 `assertTrue(x)` / `assertEqual(a, b)` 是编译错误(Cannot find name),必须改为链式
235
+ - [ ] 是否向库 API 传了 `null` 实参?
236
+ → 库内部 `if (x)` 判空时空串/空数组与 null 等价,改传等价 falsy 值并注释等价依据
237
+ - [ ] 是否有 `any` / `Object` / `unknown` 类型声明?
238
+ → 替换为具体类型
239
+ - [ ] 是否有 `{ ... } as Type` 无类型对象字面量?
240
+ → 替换为 `new Class()` 或系统 API 创建
241
+ - [ ] 是否有 `catch(e) { throw e }` 或 `catch(e: Type)`?
242
+ → 改为 `catch (e)` 无注解 + 布尔标记,不 throw
243
+ - [ ] `it()` 是否三参数格式 `it('name', 0, () => {})` ?
244
+ → 补 `0`
245
+ - [ ] 排除清单中的 private/protected 成员是否被直接访问了?
246
+ → 删除对它们的访问,跳过相关用例
247
+ - [ ] 返回类型含 `| undefined` / `| null` 的接口,属性访问前是否判空?
248
+ → 添加 `if (result) { ... }` 守卫
249
+ - [ ] 是否有 `null as SomeType` 直接强转?
250
+ → 改为系统 API 创建 或 `null as ESObject as SomeType`
251
+
252
+ ---
253
+
254
+ ### 返回格式
255
+
256
+ 完成自检后,返回以下信息:
257
+
258
+ ```
259
+ 输出文件:{OUTPUT_FILE_PATH}
260
+ 本批用例数:{N}
261
+ 自检结果:
262
+ [✓/✗] 无 Jest 风格断言方法
263
+ [✓/✗] 断言全部链式调用(无裸 assertTrue/assertEqual)
264
+ [✓/✗] 无 null 实参直传库 API
265
+ [✓/✗] 无 any/Object/unknown 类型
266
+ [✓/✗] 无无类型对象字面量
267
+ [✓/✗] 无 catch throw / catch 类型注解
268
+ [✓/✗] it() 三参数格式
269
+ [✓/✗] private 成员已跳过(未生成用例)
270
+ [✓/✗] undefined/null 返回值守卫
271
+ [✓/✗] 无 null as Type 直接强转
272
+ 系统 API 预检:
273
+ 查询 API 数:{M}
274
+ 查询结果摘要:{简述查了哪些 API,关键签名确认}
275
+ 未预检 API(如有):{列表}
276
+ ```
@@ -0,0 +1,93 @@
1
+ # 系统 API 检索指南(SYSTEM_API_LOOKUP)
2
+
3
+ > 编写 XTS 测试代码时,查证 HarmonyOS 系统 API(`@kit.*` / `@ohos.*` / `@hms.*`)的权威途径。
4
+ > 通过 MCP 工具 `script_deveco_docs` 调用,语料为 HarmonyOS 官方 API 参考文档(本地离线)。
5
+
6
+ ---
7
+
8
+ ## 1. 检索工具 `script_deveco_docs`
9
+
10
+ > 由 MCP Gateway 的 `MCP/scripts/deveco_docs.js` 脚本提供,封装 `devecocli docs`,**内置降噪排序与小节精确定位**。opencode 通过 MCP 协议自动发现并主动调用,无需手动执行 shell 命令。
11
+
12
+ ### 1.1 参数
13
+
14
+ | 参数 | 类型 | 必填 | 说明 |
15
+ |------|------|------|------|
16
+ | `action` | string | 是 | `search`(检索)\| `read`(读取文档) |
17
+ | `keywords` | string | search 必填 | 检索关键词,多个用空格分隔(如 `"ImageFit"`、`"AudioRenderer createAudioRenderer"`) |
18
+ | `catalog` | string | 否 | 文档类别,默认 `harmonyos-references`(API 参考) |
19
+ | `limit` | number | 否 | 返回条数上限,默认 10 |
20
+ | `documentId` | string | read 必填 | 文档 ID(来自 search 结果的 `documentId` 字段) |
21
+ | `section` | string | read 可选 | 按小节名精确定位(如 `ImageFit`),返回该小节而非全文 |
22
+
23
+ ### 1.2 调用示例
24
+
25
+ > 工具实际名称以 MCP 工具列表为准(opencode 中可能带 server 前缀,实际为 `mcp-gateway_script_deveco_docs`)。下述以无前缀名 `script_deveco_docs` 说明。
26
+
27
+ ```
28
+ 工具: script_deveco_docs
29
+ 参数: { "action": "search", "keywords": "ImageFit", "catalog": "harmonyos-references", "limit": 8 }
30
+
31
+ 工具: script_deveco_docs
32
+ 参数: { "action": "read", "documentId": "API参考/.../ts-appendix-enums", "section": "ImageFit" }
33
+ ```
34
+
35
+ ### 1.3 返回结构
36
+
37
+ **search** 返回 `{ tool, action, query, total, results: [{ title, documentId, sectionTitle, snippet }] }`,结果已按标题相关性从高到低排序(命中 title > 命中 sectionTitle > 内容匹配)。
38
+
39
+ **read** 返回 `{ tool, action, documentId, section, contentLength, content }`;提供 `section` 时 `content` 仅含该小节(如单个枚举定义),否则为全文(截断保护 20000 字符)。
40
+
41
+ ### 1.4 环境依赖
42
+
43
+ - `devecocli` 需已全局安装(`npm install -g @deveco/deveco-cli`)
44
+ - 脚本自动定位 `@deveco/deveco-cli/dist/cli.js` 并用 node 直接运行,规避 Windows 下 `.cmd` 的中文编码问题(documentId 含中文时也可正常 read)
45
+ - 可用 `DEVECO_CLI_PATH` 环境变量显式指定 cli.js 路径
46
+ - 若 MCP Gateway 已启动(`hotReload: true`),脚本放入 `MCP/scripts/` 后自动注册,无需重启
47
+
48
+ ---
49
+
50
+ ## 2. 常用系统 API 速查
51
+
52
+ XTS 测试代码中高频出现的系统 API 依赖及其典型 import 路径(以 `script_deveco_docs` 检索结果为准,下表为常见形态):
53
+
54
+ | 系统 API | 典型 import | 用途 | 检索关键词 |
55
+ |---------|------------|------|-----------|
56
+ | `hilog` | `import { hilog } from '@kit.PerformanceAnalysisKit'` | 日志输出 | `hilog` |
57
+ | `abilityDelegatorRegistry` | `import { abilityDelegatorRegistry } from '@kit.TestKit'` | 获取测试上下文 | `abilityDelegatorRegistry` |
58
+ | `common.UIAbilityContext` | `import { common } from '@kit.AbilityKit'` | 应用上下文 | `UIAbilityContext` |
59
+ | `common.Context` | `import { common } from '@kit.AbilityKit'` | 通用上下文 | `common Context` |
60
+ | `ImageFit` | ArkUI 组件属性枚举 | 图片填充效果 | `ImageFit` |
61
+ | `hypium`(describe/it/expect) | `import { describe, it, expect } from '@ohos/hypium'` | 测试框架 | **不在系统语料,不检索** |
62
+
63
+ > ⚠️ **检索边界**:`hypium`/`@ohos.hypium`(测试框架)与**被测试库自身 API** 不在 HarmonyOS 系统 API 语料中,`script_deveco_docs` 会返回"未找到相关文档"。这类 API 直接按接口规格文档/库源码编写,不要检索。
64
+
65
+ ---
66
+
67
+ ## 3. 降噪策略
68
+
69
+ `devecocli docs search` 原生返回含噪声(如搜 `ImageFit` 会命中 `ImageParticleParameters`、`RichEditorImageSpanStyleResult` 等含 "Image" 的无关文档)。`script_deveco_docs` 已内置以下降噪手段:
70
+
71
+ 1. **相关性排序**:命中结果 `title` 的排在 `sectionTitle` 命中之前,多关键词全命中优先
72
+ 2. **取第一条**:排序后第一条通常即目标;若首条 `title`/`sectionTitle` 与目标不符,逐条检查 `sectionTitle` 匹配项
73
+ 3. **`--catalog harmonyos-references`**:限定在 API 参考语料内检索(默认),排除 FAQ/指南/最佳实践等非签名文档
74
+ 4. **多关键词组合**:用"模块名 + 接口名"(如 `AudioRenderer createAudioRenderer`)可显著提升精确度
75
+
76
+ ---
77
+
78
+ ## 4. 大文档精确定位
79
+
80
+ - 聚合文档(`Enums`、`Types`、`公共定义` 等)可达数十 KB(如 `ts-appendix-enums` 47 KB)
81
+ - **read 必须带 `section=<目标名>`**:脚本会从文档中定位 `#### <section>` 小节并只返回该小节(如 `ImageFit` 枚举定义约 2 KB),避免浪费 token
82
+ - 若 `section` 未命中(返回 `section: null`),再考虑全文读取或换关键词
83
+
84
+ ---
85
+
86
+ ## 5. 常见问题
87
+
88
+ | 问题 | 原因 | 处理 |
89
+ |------|------|------|
90
+ | `search` 返回空 | API 不是系统 API(hypium、库自身 API)、或关键词不准确 | 按接口规格文档/库源码编写,不检索 |
91
+ | `read` 提示 Document not found | documentId 被截断或路径不完整 | 从最新 `search` 结果的 `documentId` 完整复制 |
92
+ | `search` 结果第一条不相关 | 关键词过泛 | 用"模块名 + 接口名"多关键词重试 |
93
+ | 工具不可用(tools 列表无 `script_deveco_docs`) | MCP Gateway 未重启 | 重启 opencode / 检查 `MCP/scripts/` 脚本存在且带 `@tool` 注释 |