@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.
- package/README.md +425 -0
- package/bin/3rdloop.mjs +48 -0
- package/lib/cli.js +741 -0
- package/lib/config.js +318 -0
- package/lib/doctor.js +114 -0
- package/lib/exit-codes.js +31 -0
- package/lib/opencode.js +156 -0
- package/lib/orch.js +427 -0
- package/lib/queries.js +264 -0
- package/lib/runner.js +979 -0
- package/lib/step.js +326 -0
- package/lib/ui.js +223 -0
- package/lib/workflow.js +291 -0
- package/lib/workflows.js +132 -0
- package/package.json +50 -0
- package/vendor/Server/Agent/SkillSelector/README.md +344 -0
- package/vendor/Server/Agent/SkillSelector/core/Agent.js +207 -0
- package/vendor/Server/Agent/SkillSelector/index.js +14 -0
- package/vendor/Server/Agent/SkillSelector/llm/llmClient.js +313 -0
- package/vendor/Server/Agent/SkillSelector/llm/prompts.js +161 -0
- package/vendor/Server/Agent/SkillSelector/llm/reactSteps.js +144 -0
- package/vendor/Server/Agent/SkillSelector/matcher/fuzzyMatcher.js +433 -0
- package/vendor/Server/Agent/SkillSelector/scanner/skillScanner.js +382 -0
- package/vendor/Server/Agent/SkillSelector/types.js +63 -0
- package/vendor/Server/Agent/SkillSelector/utils/actionWords.js +60 -0
- package/vendor/Server/Brain/AnalysisStrategies.js +422 -0
- package/vendor/Server/Brain/Brain.js +686 -0
- package/vendor/Server/Brain/DecompositionStrategies.js +621 -0
- package/vendor/Server/Brain/PlanPersistence.js +196 -0
- package/vendor/Server/Brain/SkillExecutor.js +251 -0
- package/vendor/Server/Brain/index.js +11 -0
- package/vendor/Server/CLI/cli.js +243 -0
- package/vendor/Server/CLI/opencode/index.js +804 -0
- package/vendor/Server/CLI/opencode.js +5 -0
- package/vendor/Server/DbUse/MessageArchive.js +61 -0
- package/vendor/Server/DbUse/StorageManager.js +107 -0
- package/vendor/Server/DbUse/adapters/BaseAdapter.js +94 -0
- package/vendor/Server/DbUse/adapters/FileAdapter.js +138 -0
- package/vendor/Server/DbUse/adapters/JsonAdapter.js +138 -0
- package/vendor/Server/DbUse/adapters/JsonlAdapter.js +114 -0
- package/vendor/Server/DbUse/adapters/SqliteAdapter.js +157 -0
- package/vendor/Server/DbUse/index.js +160 -0
- package/vendor/Server/DbUse/stores/SessionStore.js +279 -0
- package/vendor/Server/DbUse/stores/TaskExecutionStore.js +133 -0
- package/vendor/Server/DbUse/stores/TaskRegistryStore.js +262 -0
- package/vendor/Server/DbUse/stores/TaskStepStore.js +279 -0
- package/vendor/Server/FlexRunner/FlexRunner.js +1759 -0
- package/vendor/Server/FlexRunner/index.js +12 -0
- package/vendor/Server/Knowledge/KnowledgeImporter.js +523 -0
- package/vendor/Server/Knowledge/KnowledgeManager.js +341 -0
- package/vendor/Server/Knowledge/index.js +33 -0
- package/vendor/Server/LoopEngine/LoopEngine.js +1133 -0
- package/vendor/Server/LoopEngine/index.js +11 -0
- package/vendor/Server/Orchestrator/Orchestrator.js +1425 -0
- package/vendor/Server/Orchestrator/StepNode.js +312 -0
- package/vendor/Server/Orchestrator/index.js +13 -0
- package/vendor/Server/Routes/controllers/BrainController.js +241 -0
- package/vendor/Server/Routes/controllers/FlexRunnerController.js +1125 -0
- package/vendor/Server/Routes/controllers/HealthController.js +44 -0
- package/vendor/Server/Routes/controllers/KnowledgeImportController.js +355 -0
- package/vendor/Server/Routes/controllers/LoopEngineController.js +788 -0
- package/vendor/Server/Routes/controllers/OrchestratorController.js +911 -0
- package/vendor/Server/Routes/controllers/StatsController.js +57 -0
- package/vendor/Server/Routes/controllers/StreamController.js +67 -0
- package/vendor/Server/Routes/library/logger.js +179 -0
- package/vendor/Server/Routes/library/zipArchive.js +172 -0
- package/vendor/Server/Routes/router/Router.js +204 -0
- package/vendor/Server/Routes/routes/brain.js +47 -0
- package/vendor/Server/Routes/routes/flexrunner.js +72 -0
- package/vendor/Server/Routes/routes/health.js +28 -0
- package/vendor/Server/Routes/routes/index.js +57 -0
- package/vendor/Server/Routes/routes/knowledge.js +55 -0
- package/vendor/Server/Routes/routes/loopengine.js +58 -0
- package/vendor/Server/Routes/routes/orchestrator.js +61 -0
- package/vendor/Server/Routes/routes/registry.js +98 -0
- package/vendor/Server/Routes/routes/stats.js +23 -0
- package/vendor/Server/Routes/routes/stream.js +30 -0
- package/vendor/Server/Routes/server.js +202 -0
- package/vendor/Server/Routes/sse/SseHub.js +308 -0
- package/vendor/Server/Skills/acceptance-check/SKILL.md +174 -0
- package/vendor/Server/Skills/acceptance-check/references/PHASE1_ARTIFACT_COLLECTION.md +52 -0
- package/vendor/Server/Skills/acceptance-check/references/PHASE2_CRITERIA_EVALUATION.md +77 -0
- package/vendor/Server/Skills/arkts-code-check/SKILL.md +314 -0
- package/vendor/Server/Skills/arkts-code-check/references/CODE_CHECK_GUIDE.md +160 -0
- package/vendor/Server/Skills/arkts-code-check/references/FILE_TYPE_GUIDE.md +29 -0
- package/vendor/Server/Skills/arkts-code-check/references/PHASE1_INFO_COLLECTION.md +222 -0
- package/vendor/Server/Skills/arkts-code-check/references/REPORT_TEMPLATE.md +220 -0
- package/vendor/Server/Skills/arkts-library-compile-validate/SKILL.md +329 -0
- package/vendor/Server/Skills/arkts-library-compile-validate/scripts/build.ps1 +93 -0
- package/vendor/Server/Skills/arkts-library-compile-validate/scripts/code-linter.cjs +433 -0
- package/vendor/Server/Skills/arkts-library-compile-validate/scripts/migrate.cjs +851 -0
- package/vendor/Server/Skills/arkts-library-compile-validate/scripts/ohpm-switch.cjs +789 -0
- package/vendor/Server/Skills/arkts-library-demo-code/SKILL.md +291 -0
- package/vendor/Server/Skills/arkts-library-demo-code/references/API_SIGNATURE_CHECKS.md +68 -0
- package/vendor/Server/Skills/arkts-library-demo-code/references/BUILD_VALIDATION.md +184 -0
- package/vendor/Server/Skills/arkts-library-demo-code/references/CODE_STANDARDS.md +337 -0
- package/vendor/Server/Skills/arkts-library-demo-code/references/EXAMPLES.md +400 -0
- package/vendor/Server/Skills/arkts-library-demo-code/references/SYSTEM_API_LOOKUP.md +99 -0
- package/vendor/Server/Skills/arkts-library-demo-code/references/TEMPLATE.md +544 -0
- package/vendor/Server/Skills/arkts-library-demo-code/scripts/build.ps1 +93 -0
- package/vendor/Server/Skills/arkts-library-demo-code/scripts/code-linter.cjs +433 -0
- package/vendor/Server/Skills/arkts-library-demo-code/scripts/migrate.cjs +851 -0
- package/vendor/Server/Skills/arkts-library-demo-code/scripts/ohpm-switch.cjs +789 -0
- package/vendor/Server/Skills/arkts-library-demo-coverage/SKILL.md +174 -0
- package/vendor/Server/Skills/arkts-library-demo-scenario/SKILL.md +321 -0
- package/vendor/Server/Skills/arkts-library-demo-scenario/references/EXAMPLES.md +100 -0
- package/vendor/Server/Skills/arkts-library-demo-scenario/references/TEMPLATE.md +185 -0
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/SKILL.md +234 -0
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +103 -0
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/CHECK_DIMENSIONS.md +89 -0
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/COMPLIANCE_CHECKLIST.md +62 -0
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/KB_QUERY_GUIDE.md +108 -0
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/MCP_TOOL_DISCOVERY.md +124 -0
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/REPORT_TEMPLATE.md +90 -0
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/SCORING_FORMULA.md +57 -0
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/scripts/validate-skill.cjs +259 -0
- package/vendor/Server/Skills/arkts-library-interface-spec/SKILL.md +97 -0
- package/vendor/Server/Skills/arkts-library-memory-leak-check/SKILL.md +392 -0
- package/vendor/Server/Skills/arkts-library-source-clone/SKILL.md +113 -0
- package/vendor/Server/Skills/arkts-library-stability-check/SKILL.md +313 -0
- package/vendor/Server/Skills/arkts-library-stability-check/assets/REPORT_TEMPLATE.md +154 -0
- package/vendor/Server/Skills/arkts-library-stability-check/references/CHECKLIST.md +166 -0
- package/vendor/Server/Skills/arkts-library-stability-check/references/CODE_EXAMPLES.md +309 -0
- package/vendor/Server/Skills/arkts-library-stability-check/references/SCORING_RULES.md +90 -0
- package/vendor/Server/Skills/arkts-library-stability-check/scripts/validate-skill.cjs +282 -0
- package/vendor/Server/Skills/arkts-library-test-coverage-check/SKILL.md +361 -0
- package/vendor/Server/Skills/arkts-library-test-coverage-check/assets/REPORT_TEMPLATE.md +146 -0
- package/vendor/Server/Skills/arkts-library-test-coverage-check/references/CHECKLIST.md +253 -0
- package/vendor/Server/Skills/arkts-library-test-coverage-check/references/MCP_TOOL_USAGE.md +115 -0
- package/vendor/Server/Skills/arkts-library-test-coverage-check/scripts/validate-skill.cjs +263 -0
- package/vendor/Server/Skills/arkts-library-xts-code/SKILL.md +455 -0
- package/vendor/Server/Skills/arkts-library-xts-code/assets/report-template.md +60 -0
- package/vendor/Server/Skills/arkts-library-xts-code/references/ACCESS_MODIFIER_PRECHECK.md +76 -0
- package/vendor/Server/Skills/arkts-library-xts-code/references/BUILD_VERIFICATION.md +200 -0
- package/vendor/Server/Skills/arkts-library-xts-code/references/CODE_STANDARDS.md +519 -0
- package/vendor/Server/Skills/arkts-library-xts-code/references/SUBAGENT_PROMPT_TEMPLATE.md +276 -0
- package/vendor/Server/Skills/arkts-library-xts-code/references/SYSTEM_API_LOOKUP.md +93 -0
- package/vendor/Server/Skills/arkts-library-xts-code/references/XTS_TEMPLATE.md +767 -0
- package/vendor/Server/Skills/arkts-library-xts-code/scripts/build.ps1 +93 -0
- package/vendor/Server/Skills/arkts-library-xts-code/scripts/code-linter.cjs +433 -0
- package/vendor/Server/Skills/arkts-library-xts-code/scripts/migrate.cjs +851 -0
- package/vendor/Server/Skills/arkts-library-xts-code/scripts/ohpm-switch.cjs +789 -0
- package/vendor/Server/Skills/arkts-library-xts-code/scripts/precheck-access-modifiers.cjs +221 -0
- package/vendor/Server/Skills/arkts-library-xts-code-fix/SKILL.md +229 -0
- package/vendor/Server/Skills/arkts-library-xts-coverage/SKILL.md +97 -0
- package/vendor/Server/Skills/arkts-library-xts-doc/SKILL.md +194 -0
- package/vendor/Server/Skills/arkts-library-xts-doc/references/EXAMPLES.md +576 -0
- package/vendor/Server/Skills/arkts-library-xts-doc/references/TEMPLATE.md +575 -0
- package/vendor/Server/Skills/arkts-library-xts-doc/references/TESTABILITY_GUIDE.md +182 -0
- package/vendor/Server/Skills/arkts-library-xts-execution/SKILL.md +491 -0
- package/vendor/Server/Skills/arkts-library-xts-execution/references/error-fixing-examples.md +217 -0
- package/vendor/Server/Skills/arkts-library-xts-execution/scripts/build.ps1 +93 -0
- package/vendor/Server/Skills/arkts-library-xts-execution/scripts/code-linter.cjs +433 -0
- package/vendor/Server/Skills/arkts-library-xts-execution/scripts/migrate.cjs +851 -0
- package/vendor/Server/Skills/arkts-library-xts-execution/scripts/ohpm-switch.cjs +789 -0
- package/vendor/Server/Skills/flutter-code-check/SKILL.md +299 -0
- package/vendor/Server/Skills/flutter-code-check/assets/OUTPUT_TEMPLATE.md +312 -0
- package/vendor/Server/Skills/flutter-code-check/references/CHECKLIST.md +190 -0
- package/vendor/Server/Skills/flutter-code-check/references/PLATFORMS.md +134 -0
- package/vendor/Server/Skills/flutter-code-check/scripts/validate-skill.cjs +259 -0
- package/vendor/Server/Skills/flutter-interface/README.md +75 -0
- package/vendor/Server/Skills/flutter-interface/SKILL.md +291 -0
- package/vendor/Server/Skills/flutter-interface/references/EXAMPLES.md +336 -0
- package/vendor/Server/Skills/flutter-interface/references/GIT_CLONE_GUIDE.md +190 -0
- package/vendor/Server/Skills/flutter-interface/references/SCRIPT_REFERENCE.md +258 -0
- package/vendor/Server/Skills/flutter-interface/references/TEMPLATE.md +254 -0
- package/vendor/Server/Skills/flutter-library-consistency-check/SKILL.md +518 -0
- package/vendor/Server/Skills/flutter-library-consistency-check/references/CHECKLIST.md +382 -0
- package/vendor/Server/Skills/flutter-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +342 -0
- package/vendor/Server/Skills/flutter-library-consistency-check/references/PLATFORM_LIMITATION_GUIDE.md +71 -0
- package/vendor/Server/Skills/flutter-library-documentation-quality-check/SKILL.md +519 -0
- package/vendor/Server/Skills/flutter-library-documentation-quality-check/references/CHECKLIST.md +407 -0
- package/vendor/Server/Skills/flutter-library-memory-leak-check/SKILL.md +653 -0
- package/vendor/Server/Skills/flutter-library-memory-leak-check/references/CHECKLIST.md +397 -0
- package/vendor/Server/Skills/flutter-library-stability-check/SKILL.md +745 -0
- package/vendor/Server/Skills/flutter-library-stability-check/references/CHECKLIST.md +721 -0
- package/vendor/Server/Skills/flutter-library-test-coverage-check/SKILL.md +414 -0
- package/vendor/Server/Skills/flutter-library-test-coverage-check/assets/REPORT_TEMPLATE.md +150 -0
- package/vendor/Server/Skills/flutter-library-test-coverage-check/references/CHECKLIST.md +304 -0
- package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCORING_RULES.md +265 -0
- package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCRIPT_USAGE.md +286 -0
- package/vendor/Server/Skills/knowledge-import/SKILL.md +383 -0
- package/vendor/Server/Skills/knowledge-import/references/MCP_TOOL_USAGE.md +165 -0
- package/vendor/Server/Skills/knowledge-import/references/SKILL_LOCATOR_GUIDE.md +91 -0
- package/vendor/Server/Skills/knowledge-import/references/SKILL_OPTIMIZATION_GUIDE.md +127 -0
- package/vendor/Server/Skills/ohos-lib-pr-push/SKILL.md +301 -0
- package/vendor/Server/Skills/ohos-lib-pr-push/assets/PR_ISSUE_TEMPLATE.md +105 -0
- package/vendor/Server/Skills/ohos-lib-pr-push/references/GITCODE_API.md +127 -0
- package/vendor/Server/Skills/ohos-lib-pr-push/scripts/gitcode-api.cjs +208 -0
- package/vendor/Server/Skills/rn-code-check/SKILL.md +321 -0
- package/vendor/Server/Skills/rn-code-check/references/API-GUIDE.md +235 -0
- package/vendor/Server/Skills/rn-code-check/references/CHECKLIST.md +189 -0
- package/vendor/Server/Skills/rn-code-check/references/REPORT-TEMPLATE.md +247 -0
- package/vendor/Server/Skills/rn-lib-add-example/SKILL.md +198 -0
- package/vendor/Server/Skills/rn-lib-add-example/references/APP_RENAME_GUIDE.md +40 -0
- package/vendor/Server/Skills/rn-lib-add-example/references/SHELL_ADAPTATION_CHECKLIST.md +78 -0
- package/vendor/Server/Skills/rn-lib-add-example/references/TEMPLATE_REPO_GUIDE.md +70 -0
- package/vendor/Server/Skills/rn-lib-add-example/references/VERIFICATION_GUIDE.md +47 -0
- package/vendor/Server/Skills/rn-lib-add-example/scripts/create-example.cjs +252 -0
- package/vendor/Server/Skills/rn-lib-update-doc/SKILL.md +176 -0
- package/vendor/Server/Skills/rn-lib-update-doc/config.json +5 -0
- package/vendor/Server/Skills/rn-lib-update-doc/references/changelog-template.md +35 -0
- package/vendor/Server/Skills/rn-lib-update-doc/references/format-diff.md +137 -0
- package/vendor/Server/Skills/rn-lib-update-doc/references/link-registry.json +33 -0
- package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2-overview.md +40 -0
- package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2.md +429 -0
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/detect-readme-format.cjs +105 -0
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/find-usage-doc.cjs +90 -0
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/link-verify.cjs +213 -0
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-changelog.cjs +73 -0
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-package-meta.cjs +258 -0
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-readme-links.cjs +341 -0
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/resolve-usage-docs.cjs +67 -0
- package/vendor/Server/Skills/rn-library-consistency-check/SKILL.md +299 -0
- package/vendor/Server/Skills/rn-library-consistency-check/assets/REPORT_TEMPLATE.md +293 -0
- package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_COMPONENT_CHECK_GUIDE.md +857 -0
- package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_TURBOMODULE_CHECK_GUIDE.md +856 -0
- package/vendor/Server/Skills/rn-library-consistency-check/references/CHECKLIST.md +157 -0
- package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_COMPONENT_CHECK_GUIDE.md +801 -0
- package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_TURBOMODULE_CHECK_GUIDE.md +684 -0
- package/vendor/Server/Skills/rn-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +233 -0
- package/vendor/Server/Skills/rn-library-consistency-check/references/NATIVE_COMPONENT_IDENTIFICATION.md +1373 -0
- package/vendor/Server/Skills/rn-library-consistency-check/references/SCORING_STANDARD.md +220 -0
- package/vendor/Server/Skills/rn-library-consistency-check/scripts/validate-skill.py +245 -0
- package/vendor/Server/Skills/rn-library-documentation-quality-check/SKILL.md +263 -0
- package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL.md +414 -0
- package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL_en.md +413 -0
- package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +311 -0
- package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CHECK_CHECKLIST.md +355 -0
- package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CROSS_VALIDATION_GUIDE.md +115 -0
- package/vendor/Server/Skills/rn-library-documentation-quality-check/references/DOC_COLLECTION_GUIDE.md +139 -0
- package/vendor/Server/Skills/rn-library-documentation-quality-check/references/EXAMPLES.md +586 -0
- package/vendor/Server/Skills/rn-library-documentation-quality-check/references/GOTCHAS.md +57 -0
- package/vendor/Server/Skills/rn-library-documentation-quality-check/scripts/validate-skill.py +259 -0
- package/vendor/Server/Skills/rn-library-interface-analyzer/SKILL.md +301 -0
- package/vendor/Server/Skills/rn-library-interface-analyzer/assets/REPORT_TEMPLATE.md +148 -0
- package/vendor/Server/Skills/rn-library-interface-analyzer/references/DOC_ANNOTATION_GUIDE.md +118 -0
- package/vendor/Server/Skills/rn-library-interface-analyzer/references/SCRIPT_USAGE_GUIDE.md +168 -0
- package/vendor/Server/Skills/rn-library-interface-analyzer/references/URL_PARSING_RULES.md +176 -0
- package/vendor/Server/Skills/rn-library-issue-generalizer/SKILL.md +274 -0
- package/vendor/Server/Skills/rn-library-issue-generalizer/assets/case-template.md +45 -0
- package/vendor/Server/Skills/rn-library-issue-generalizer/assets/rule-template.md +25 -0
- package/vendor/Server/Skills/rn-library-issue-generalizer/references/PR_FETCH_GUIDE.md +61 -0
- package/vendor/Server/Skills/rn-library-issue-generalizer/references/RULE_TEMPLATE_GUIDE.md +165 -0
- package/vendor/Server/Skills/rn-library-issue-generalizer/scripts/fetch-pr-info.py +239 -0
- package/vendor/Server/Skills/rn-library-known-issue-check/SKILL.md +263 -0
- package/vendor/Server/Skills/rn-library-known-issue-check/assets/REPORT_TEMPLATE.md +96 -0
- package/vendor/Server/Skills/rn-library-known-issue-check/references/COMPLIANCE_CHECKLIST.md +58 -0
- package/vendor/Server/Skills/rn-library-known-issue-check/references/INSPECTION_GUIDE.md +99 -0
- package/vendor/Server/Skills/rn-library-known-issue-check/references/PRESCREEN_GUIDE.md +64 -0
- package/vendor/Server/Skills/rn-library-known-issue-check/references/SOURCE_PREP_GUIDE.md +75 -0
- package/vendor/Server/Skills/rn-library-known-issue-check/scripts/validate-known-issue-report.py +164 -0
- package/vendor/Server/Skills/rn-library-memory-leak-check/SKILL.md +339 -0
- package/vendor/Server/Skills/rn-library-memory-leak-check/assets/REPORT_TEMPLATE.md +83 -0
- package/vendor/Server/Skills/rn-library-memory-leak-check/references/CHECKLIST.md +859 -0
- package/vendor/Server/Skills/rn-library-memory-leak-check/references/HARMONY_CODE_PATTERNS.md +122 -0
- package/vendor/Server/Skills/rn-library-memory-leak-check/scripts/scan_harmony_code.py +279 -0
- package/vendor/Server/Skills/rn-library-stability-check/SKILL.md +273 -0
- package/vendor/Server/Skills/rn-library-stability-check/assets/REPORT_TEMPLATE.md +129 -0
- package/vendor/Server/Skills/rn-library-stability-check/references/CHECKLIST.md +581 -0
- package/vendor/Server/Skills/rn-library-stability-check/references/SCORING_RULES.md +138 -0
- package/vendor/Server/Skills/rn-library-stability-check/scripts/scan-harmony-code.py +168 -0
- package/vendor/Server/Skills/rn-library-test-coverage-check/SKILL.md +506 -0
- package/vendor/Server/Skills/rn-library-test-coverage-check/references/CHECKLIST.md +280 -0
- package/vendor/Server/Skills/rn-library-test-coverage-check/references/DEMO_LOCATION.md +221 -0
- package/vendor/Server/Skills/rn-library-test-coverage-check/references/REPORT_TEMPLATE.md +209 -0
- package/vendor/Server/Skills/rn-library-test-coverage-check/references/SCRIPT_USAGE.md +325 -0
- package/vendor/Server/Skills/rn-ohos-xts-generator/SKILL.md +279 -0
- package/vendor/Server/Skills/rn-ohos-xts-generator/assets/TEST_FILE_TEMPLATES.md +404 -0
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_TROUBLESHOOTING.md +185 -0
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_WORKFLOW.md +265 -0
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/COMMON_CONFIG.md +189 -0
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/CONFIG_GUIDE.md +203 -0
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/COVERAGE_ANALYZER.md +147 -0
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/DESIGN_DOC_GUIDE.md +148 -0
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_FLOW.md +165 -0
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_STRATEGY.md +195 -0
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/HARMONY_SCANNER.md +249 -0
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/JEST_FRAMEWORK.md +235 -0
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/PLATFORM_COMPAT.md +161 -0
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/RN_TEST_PATTERNS.md +413 -0
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/SOURCE_PARSER.md +235 -0
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/TEST_CONVENTIONS.md +245 -0
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/TROUBLESHOOTING.md +282 -0
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/USAGE_GUIDE.md +251 -0
- package/vendor/Server/Skills/rnoh-cptf-api-test/SKILL.md +469 -0
- package/vendor/Server/Skills/rnoh-cptf-api-test/assets/CPTF_TEST_TEMPLATE.md +310 -0
- package/vendor/Server/Skills/rnoh-cptf-api-test/assets/DEMO_PAGE_TEMPLATE.md +303 -0
- package/vendor/Server/Skills/rnoh-cptf-api-test/references/CPTF_TEST_GENERATION_GUIDE.md +421 -0
- package/vendor/Server/Skills/rnoh-cptf-api-test/references/DEMO_GENERATION_GUIDE.md +358 -0
- package/vendor/Server/Skills/rnoh-cptf-api-test/references/QUALITY_CHECKLIST.md +114 -0
- package/vendor/Server/Skills/rnoh-cptf-api-test/references/SPEC_PARSING_GUIDE.md +274 -0
- package/vendor/Server/Skills/rnoh-cptf-api-test/scripts/validate-rnoh-cptf-api-test.sh +185 -0
- package/vendor/Server/Skills/rnoh-cptf-demo-test/SKILL.md +191 -0
- package/vendor/Server/Skills/rnoh-cptf-demo-test/assets/TEST_TEMPLATE.md +216 -0
- package/vendor/Server/Skills/rnoh-cptf-demo-test/references/CPTF_SETUP.md +107 -0
- package/vendor/Server/Skills/rnoh-cptf-demo-test/references/DEMO_ANALYSIS.md +120 -0
- package/vendor/Server/Skills/rnoh-cptf-demo-test/scripts/validate-rnoh-cptf-test.sh +108 -0
- package/vendor/Server/Skills/rnoh-cptf-test-run/SKILL.md +237 -0
- package/vendor/Server/Skills/rnoh-cptf-test-run/references/DEBUG_PLAYBOOK.md +261 -0
- package/vendor/Server/Skills/rnoh-cptf-test-run/scripts/validate-run-env.sh +112 -0
- package/vendor/Server/Skills/rnoh-lib-code-adapt/SKILL.md +498 -0
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/adapt-checklist.md +270 -0
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/api-migration-checklist.md +164 -0
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/common-compile-errors.md +556 -0
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/deveco-cli-tools.md +459 -0
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/edge-cases.md +65 -0
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/har-tgz-build.md +512 -0
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/version-compat-matrix.md +132 -0
- package/vendor/Server/Skills/rnoh-lib-code-adapt/scripts/auto-integrate.sh +424 -0
- package/vendor/Server/Skills/rnoh-lib-demo-coverage/SKILL.md +137 -0
- package/vendor/Server/Skills/rnoh-lib-demo-create/SKILL.md +306 -0
- package/vendor/Server/Skills/rnoh-lib-demo-create/assets/DEMO_PAGE_TEMPLATE.md +485 -0
- package/vendor/Server/Skills/rnoh-lib-demo-create/assets/INDEX_TEMPLATE.md +172 -0
- package/vendor/Server/Skills/rnoh-lib-demo-create/references/DEMO_CODE_RULES.md +422 -0
- package/vendor/Server/Skills/rnoh-lib-demo-create/references/QUALITY_CHECKLIST.md +95 -0
- package/vendor/Server/Skills/rnoh-lib-demo-create/references/SOURCE_EXPLORATION.md +169 -0
- package/vendor/Server/Skills/rnoh-lib-demo-doc/SKILL.md +554 -0
- package/vendor/Server/Skills/rnoh-lib-demo-doc/assets/DEMO_DOC_TEMPLATE.md +106 -0
- package/vendor/Server/Skills/rnoh-lib-demo-doc/references/COVERAGE_INCREMENTAL.md +216 -0
- package/vendor/Server/Skills/rnoh-lib-demo-doc/references/DEMO_DESIGN_RULES.md +413 -0
- package/vendor/Server/Skills/rnoh-lib-demo-doc/references/OUTPUT_FORMAT.md +269 -0
- package/vendor/Server/Skills/rnoh-lib-demo-doc/references/QUALITY_CHECKLIST.md +98 -0
- package/vendor/Server/Skills/rnoh-lib-func-test/SKILL.md +337 -0
- package/vendor/Server/Skills/rnoh-lib-rnt-search/SKILL.md +722 -0
- package/vendor/Server/Skills/rnoh-lib-rnt-search/assets/PORT_REPORT_TEMPLATE.md +219 -0
- package/vendor/Server/Skills/rnoh-lib-rnt-search/references/DEMO_PORTING_GUIDE.md +345 -0
- package/vendor/Server/Skills/rnoh-lib-rnt-search/references/PORT_VERIFICATION.md +269 -0
- package/vendor/Server/Skills/rnoh-lib-rnt-search/references/RNT_PROJECT_STRUCTURE.md +173 -0
- package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/analyze-demo-deps.cjs +267 -0
- package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/detect-rnoh-version.cjs +174 -0
- package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/find-rnt-demo.sh +111 -0
- package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/port-demo.sh +186 -0
- package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/read-lib-meta.cjs +150 -0
- package/vendor/Server/Skills/rnoh-lib-test-align/SKILL.md +296 -0
- package/vendor/Server/Skills/rnoh-lib-test-align/references/jest-troubleshooting.md +371 -0
- package/vendor/Server/Skills/rnoh-lib-test-align/references/port-test-demo-guide.md +212 -0
- package/vendor/Server/Skills/rnoh-lib-test-align/references/runtime-troubleshooting.md +345 -0
- package/vendor/Server/Skills/rnoh-lib-test-align/references/unit-test-template.md +223 -0
- package/vendor/Server/Skills/rnoh-lib-test-align/scripts/port-test-demo.sh +1053 -0
- package/vendor/Server/Skills/rnoh-lib-version-diff/SKILL.md +255 -0
- package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_ADAPTATION.md +77 -0
- package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_API_LOOKUP.md +224 -0
- package/vendor/Server/Skills/rnoh-lib-version-diff/references/script-reference.md +174 -0
- package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/detect-upstream-version.js +967 -0
- package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/generate-diff.js +1798 -0
- package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/package.json +5 -0
- package/vendor/Server/Skills/rnoh-lib-version-diff/templates/report-template.md +137 -0
- package/vendor/Server/Skills/rnoh-lib-xts-coverage/SKILL.md +145 -0
- package/vendor/Server/Skills/skill-generator/SKILL.md +365 -0
- package/vendor/Server/Skills/skill-generator/assets/SKILL_TEMPLATE.md +183 -0
- package/vendor/Server/Skills/skill-generator/references/COMPLIANCE_CHECKLIST.md +82 -0
- package/vendor/Server/Skills/skill-generator/references/KB_QUERY_GUIDE.md +110 -0
- package/vendor/Server/Skills/skill-generator/references/MCP_TOOL_DISCOVERY.md +122 -0
- package/vendor/Server/Skills/skill-generator/references/SKILL_SPEC.md +121 -0
- package/vendor/Server/Skills/skill-generator/scripts/validate-skill.cjs +259 -0
- package/vendor/Server/Skills/task-analysis/SKILL.md +234 -0
- package/vendor/Server/Skills/task-analysis/assets/OUTPUT_EXAMPLES.md +160 -0
- package/vendor/Server/Skills/task-analysis/references/ACCEPTANCE_CRITERIA_GUIDE.md +190 -0
- package/vendor/Server/Skills/task-analysis/references/ANALYSIS_SCHEMA.md +224 -0
- package/vendor/Server/Skills/task-analysis/references/INTEGRATION_CONTEXT.md +162 -0
- package/vendor/Server/Skills/task-analysis/references/LESSONS_LEARNED.md +55 -0
- package/vendor/Server/Skills/task-analysis/references/REPLAN_CONTEXT_GUIDE.md +126 -0
- package/vendor/Server/Skills/task-analysis/scripts/validate-analysis-output.sh +256 -0
- package/vendor/Server/Skills/task-decomposition/SKILL.md +529 -0
- package/vendor/Server/Skills/task-decomposition/assets/OUTPUT_EXAMPLES.md +451 -0
- package/vendor/Server/Skills/task-decomposition/references/ACCEPTANCE_CRITERIA_GUIDE.md +179 -0
- package/vendor/Server/Skills/task-decomposition/references/DEPENDENCY_GRAPH_GUIDE.md +152 -0
- package/vendor/Server/Skills/task-decomposition/references/INTEGRATION_CONTEXT.md +175 -0
- package/vendor/Server/Skills/task-decomposition/references/REPLAN_CONTEXT_GUIDE.md +195 -0
- package/vendor/Server/Skills/task-decomposition/references/TASK_DECOMPOSITION_TEMPLATES.md +226 -0
- package/vendor/Server/Skills/task-decomposition/scripts/list-available-skills.cjs +263 -0
- package/vendor/Server/Skills/task-decomposition/scripts/skill-blacklist.json +29 -0
- package/vendor/Server/Skills/task-decomposition/scripts/validate-decomposition-output.cjs +376 -0
- package/vendor/Server/Skills/task-decomposition/scripts/validate-param-consistency.cjs +259 -0
- package/vendor/Server/Skills/task-decomposition/scripts/validate-specified-skills.cjs +216 -0
- package/vendor/Server/Skills/task-decomposition/scripts/validate-step-graph.cjs +425 -0
- package/vendor/Server/Skills/tpc-cpp-check/SKILL.md +427 -0
- package/vendor/Server/Skills/tpc-cpp-check/references/CHECKLIST.md +214 -0
- package/vendor/Server/Skills/tpc-cpp-check/references/HPKBUILD_GUIDE.md +235 -0
- package/vendor/Server/Skills/tpc-cpp-check/references/REPORT_TEMPLATE.md +250 -0
- package/vendor/Server/TestCheck/TestCheck.js +775 -0
- package/vendor/Server/TestCheck/index.js +11 -0
- package/vendor/Server/library/McpToolGuide.js +280 -0
- package/vendor/Server/library/StatsService.js +127 -0
- package/vendor/Server/library/cstTime.js +16 -0
- package/vendor/Server/package.json +17 -0
- package/vendor/VERSION +3 -0
- 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` 注释 |
|