@ohos-cpf/3rdloop 0.0.1 → 0.0.3
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 +245 -425
- package/bin/3rdloop.mjs +46 -46
- package/lib/cli.js +781 -740
- package/lib/config-cmd.js +452 -0
- package/lib/config.js +318 -317
- package/lib/doctor.js +113 -113
- package/lib/exit-codes.js +30 -30
- package/lib/opencode.js +155 -155
- package/lib/orch.js +426 -426
- package/lib/queries.js +263 -263
- package/lib/step.js +325 -325
- package/lib/ui.js +222 -222
- package/lib/update.js +280 -0
- package/lib/workflow.js +308 -290
- package/lib/workflows.js +131 -131
- package/package.json +50 -50
- package/vendor/Server/Agent/SkillSelector/README.md +343 -343
- package/vendor/Server/Agent/SkillSelector/core/Agent.js +207 -207
- package/vendor/Server/Agent/SkillSelector/index.js +14 -14
- package/vendor/Server/Agent/SkillSelector/llm/llmClient.js +313 -313
- package/vendor/Server/Agent/SkillSelector/llm/prompts.js +161 -161
- package/vendor/Server/Agent/SkillSelector/llm/reactSteps.js +144 -144
- package/vendor/Server/Agent/SkillSelector/matcher/fuzzyMatcher.js +433 -433
- package/vendor/Server/Agent/SkillSelector/scanner/skillScanner.js +382 -382
- package/vendor/Server/Agent/SkillSelector/utils/actionWords.js +59 -59
- package/vendor/Server/Brain/AnalysisStrategies.js +422 -422
- package/vendor/Server/Brain/Brain.js +686 -686
- package/vendor/Server/Brain/DecompositionStrategies.js +621 -621
- package/vendor/Server/Brain/PlanPersistence.js +196 -196
- package/vendor/Server/Brain/SkillExecutor.js +251 -251
- package/vendor/Server/Brain/index.js +11 -11
- package/vendor/Server/CLI/cli.js +275 -243
- package/vendor/Server/CLI/deveco-code/index.js +71 -0
- package/vendor/Server/CLI/deveco-code.js +5 -0
- package/vendor/Server/CLI/opencode/index.js +817 -804
- package/vendor/Server/CLI/opencode.js +5 -5
- package/vendor/Server/DbUse/MessageArchive.js +61 -61
- package/vendor/Server/DbUse/StorageManager.js +107 -107
- package/vendor/Server/DbUse/adapters/BaseAdapter.js +94 -94
- package/vendor/Server/DbUse/adapters/FileAdapter.js +138 -138
- package/vendor/Server/DbUse/adapters/JsonAdapter.js +138 -138
- package/vendor/Server/DbUse/adapters/JsonlAdapter.js +114 -114
- package/vendor/Server/DbUse/adapters/SqliteAdapter.js +157 -157
- package/vendor/Server/DbUse/index.js +160 -160
- package/vendor/Server/DbUse/stores/SessionStore.js +279 -279
- package/vendor/Server/DbUse/stores/TaskExecutionStore.js +133 -133
- package/vendor/Server/DbUse/stores/TaskRegistryStore.js +262 -262
- package/vendor/Server/DbUse/stores/TaskStepStore.js +279 -279
- package/vendor/Server/FlexRunner/FlexRunner.js +1759 -1759
- package/vendor/Server/FlexRunner/index.js +12 -12
- package/vendor/Server/Knowledge/KnowledgeImporter.js +523 -523
- package/vendor/Server/Knowledge/KnowledgeManager.js +341 -341
- package/vendor/Server/Knowledge/index.js +33 -33
- package/vendor/Server/LoopEngine/LoopEngine.js +1133 -1133
- package/vendor/Server/LoopEngine/index.js +11 -11
- package/vendor/Server/Orchestrator/Orchestrator.js +0 -3
- package/vendor/Server/Orchestrator/StepNode.js +312 -312
- package/vendor/Server/Orchestrator/index.js +13 -13
- package/vendor/Server/Routes/controllers/BrainController.js +241 -241
- package/vendor/Server/Routes/controllers/FlexRunnerController.js +1125 -1125
- package/vendor/Server/Routes/controllers/HealthController.js +44 -44
- package/vendor/Server/Routes/controllers/KnowledgeImportController.js +355 -355
- package/vendor/Server/Routes/controllers/LoopEngineController.js +788 -788
- package/vendor/Server/Routes/controllers/StatsController.js +57 -57
- package/vendor/Server/Routes/controllers/StreamController.js +67 -67
- package/vendor/Server/Routes/library/logger.js +179 -179
- package/vendor/Server/Routes/library/zipArchive.js +172 -172
- package/vendor/Server/Routes/router/Router.js +204 -204
- package/vendor/Server/Routes/routes/brain.js +47 -47
- package/vendor/Server/Routes/routes/flexrunner.js +72 -72
- package/vendor/Server/Routes/routes/health.js +28 -28
- package/vendor/Server/Routes/routes/index.js +57 -57
- package/vendor/Server/Routes/routes/knowledge.js +55 -55
- package/vendor/Server/Routes/routes/loopengine.js +58 -58
- package/vendor/Server/Routes/routes/orchestrator.js +61 -61
- package/vendor/Server/Routes/routes/registry.js +97 -97
- package/vendor/Server/Routes/routes/stats.js +23 -23
- package/vendor/Server/Routes/routes/stream.js +30 -30
- package/vendor/Server/Routes/server.js +203 -202
- package/vendor/Server/Routes/sse/SseHub.js +308 -308
- package/vendor/Server/Skills/acceptance-check/SKILL.md +191 -174
- package/vendor/Server/Skills/acceptance-check/references/PHASE1_ARTIFACT_COLLECTION.md +52 -52
- package/vendor/Server/Skills/acceptance-check/references/PHASE2_CRITERIA_EVALUATION.md +77 -77
- package/vendor/Server/Skills/acceptance-check/references/PHASE2_EVIDENCE_VERIFICATION.md +70 -0
- package/vendor/Server/Skills/arkts-code-check/SKILL.md +320 -313
- package/vendor/Server/Skills/arkts-code-check/references/CODE_CHECK_GUIDE.md +210 -159
- package/vendor/Server/Skills/arkts-code-check/references/FILE_TYPE_GUIDE.md +28 -28
- package/vendor/Server/Skills/arkts-code-check/references/PHASE1_INFO_COLLECTION.md +233 -222
- package/vendor/Server/Skills/arkts-code-check/references/REPORT_TEMPLATE.md +219 -219
- package/vendor/Server/Skills/arkts-library-compile-validate/SKILL.md +328 -328
- package/vendor/Server/Skills/arkts-library-compile-validate/scripts/build.ps1 +93 -93
- package/vendor/Server/Skills/arkts-library-compile-validate/scripts/code-linter.cjs +432 -432
- package/vendor/Server/Skills/arkts-library-compile-validate/scripts/migrate.cjs +851 -851
- package/vendor/Server/Skills/arkts-library-compile-validate/scripts/ohpm-switch.cjs +788 -788
- package/vendor/Server/Skills/arkts-library-demo-code/SKILL.md +291 -291
- package/vendor/Server/Skills/arkts-library-demo-code/references/API_SIGNATURE_CHECKS.md +68 -68
- package/vendor/Server/Skills/arkts-library-demo-code/references/BUILD_VALIDATION.md +184 -184
- package/vendor/Server/Skills/arkts-library-demo-code/references/CODE_STANDARDS.md +337 -337
- package/vendor/Server/Skills/arkts-library-demo-code/references/EXAMPLES.md +400 -400
- package/vendor/Server/Skills/arkts-library-demo-code/references/SYSTEM_API_LOOKUP.md +98 -98
- package/vendor/Server/Skills/arkts-library-demo-code/references/TEMPLATE.md +544 -544
- package/vendor/Server/Skills/arkts-library-demo-code/scripts/build.ps1 +93 -93
- package/vendor/Server/Skills/arkts-library-demo-code/scripts/code-linter.cjs +432 -432
- package/vendor/Server/Skills/arkts-library-demo-code/scripts/migrate.cjs +851 -851
- package/vendor/Server/Skills/arkts-library-demo-code/scripts/ohpm-switch.cjs +788 -788
- package/vendor/Server/Skills/arkts-library-demo-coverage/SKILL.md +174 -174
- package/vendor/Server/Skills/arkts-library-demo-scenario/SKILL.md +321 -321
- package/vendor/Server/Skills/arkts-library-demo-scenario/references/EXAMPLES.md +100 -100
- package/vendor/Server/Skills/arkts-library-demo-scenario/references/TEMPLATE.md +185 -185
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/SKILL.md +233 -233
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +102 -102
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/CHECK_DIMENSIONS.md +89 -89
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/COMPLIANCE_CHECKLIST.md +62 -62
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/KB_QUERY_GUIDE.md +107 -107
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/MCP_TOOL_DISCOVERY.md +124 -124
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/REPORT_TEMPLATE.md +90 -90
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/SCORING_FORMULA.md +57 -57
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/scripts/validate-skill.cjs +259 -259
- package/vendor/Server/Skills/arkts-library-interface-spec/SKILL.md +97 -97
- package/vendor/Server/Skills/arkts-library-memory-leak-check/SKILL.md +391 -391
- package/vendor/Server/Skills/arkts-library-source-clone/SKILL.md +113 -113
- package/vendor/Server/Skills/arkts-library-stability-check/SKILL.md +312 -312
- package/vendor/Server/Skills/arkts-library-stability-check/assets/REPORT_TEMPLATE.md +154 -154
- package/vendor/Server/Skills/arkts-library-stability-check/references/CHECKLIST.md +165 -165
- package/vendor/Server/Skills/arkts-library-stability-check/references/CODE_EXAMPLES.md +308 -308
- package/vendor/Server/Skills/arkts-library-stability-check/references/SCORING_RULES.md +90 -90
- package/vendor/Server/Skills/arkts-library-stability-check/scripts/validate-skill.cjs +282 -282
- package/vendor/Server/Skills/arkts-library-test-coverage-check/SKILL.md +360 -360
- package/vendor/Server/Skills/arkts-library-test-coverage-check/assets/REPORT_TEMPLATE.md +145 -145
- package/vendor/Server/Skills/arkts-library-test-coverage-check/references/CHECKLIST.md +252 -252
- package/vendor/Server/Skills/arkts-library-test-coverage-check/references/MCP_TOOL_USAGE.md +114 -114
- package/vendor/Server/Skills/arkts-library-test-coverage-check/scripts/validate-skill.cjs +262 -262
- package/vendor/Server/Skills/arkts-library-xts-code/SKILL.md +455 -455
- package/vendor/Server/Skills/arkts-library-xts-code/assets/report-template.md +60 -60
- package/vendor/Server/Skills/arkts-library-xts-code/references/ACCESS_MODIFIER_PRECHECK.md +76 -76
- package/vendor/Server/Skills/arkts-library-xts-code/references/BUILD_VERIFICATION.md +200 -200
- package/vendor/Server/Skills/arkts-library-xts-code/references/CODE_STANDARDS.md +518 -518
- package/vendor/Server/Skills/arkts-library-xts-code/references/SUBAGENT_PROMPT_TEMPLATE.md +276 -276
- package/vendor/Server/Skills/arkts-library-xts-code/references/SYSTEM_API_LOOKUP.md +92 -92
- package/vendor/Server/Skills/arkts-library-xts-code/references/XTS_TEMPLATE.md +767 -767
- package/vendor/Server/Skills/arkts-library-xts-code/scripts/build.ps1 +93 -93
- package/vendor/Server/Skills/arkts-library-xts-code/scripts/code-linter.cjs +432 -432
- package/vendor/Server/Skills/arkts-library-xts-code/scripts/migrate.cjs +851 -851
- package/vendor/Server/Skills/arkts-library-xts-code/scripts/ohpm-switch.cjs +788 -788
- package/vendor/Server/Skills/arkts-library-xts-code/scripts/precheck-access-modifiers.cjs +221 -221
- package/vendor/Server/Skills/arkts-library-xts-code-fix/SKILL.md +228 -228
- package/vendor/Server/Skills/arkts-library-xts-coverage/SKILL.md +97 -97
- package/vendor/Server/Skills/arkts-library-xts-doc/SKILL.md +194 -194
- package/vendor/Server/Skills/arkts-library-xts-doc/references/EXAMPLES.md +575 -575
- package/vendor/Server/Skills/arkts-library-xts-doc/references/TEMPLATE.md +574 -574
- package/vendor/Server/Skills/arkts-library-xts-doc/references/TESTABILITY_GUIDE.md +182 -182
- package/vendor/Server/Skills/arkts-library-xts-execution/SKILL.md +490 -490
- package/vendor/Server/Skills/arkts-library-xts-execution/references/error-fixing-examples.md +217 -217
- package/vendor/Server/Skills/arkts-library-xts-execution/scripts/build.ps1 +93 -93
- package/vendor/Server/Skills/arkts-library-xts-execution/scripts/code-linter.cjs +432 -432
- package/vendor/Server/Skills/arkts-library-xts-execution/scripts/migrate.cjs +851 -851
- package/vendor/Server/Skills/arkts-library-xts-execution/scripts/ohpm-switch.cjs +788 -788
- package/vendor/Server/Skills/flutter-code-check/SKILL.md +299 -299
- package/vendor/Server/Skills/flutter-code-check/assets/OUTPUT_TEMPLATE.md +311 -311
- package/vendor/Server/Skills/flutter-code-check/references/CHECKLIST.md +190 -190
- package/vendor/Server/Skills/flutter-code-check/references/PLATFORMS.md +133 -133
- package/vendor/Server/Skills/flutter-code-check/scripts/validate-skill.cjs +259 -259
- package/vendor/Server/Skills/flutter-interface/README.md +75 -75
- package/vendor/Server/Skills/flutter-interface/SKILL.md +291 -291
- package/vendor/Server/Skills/flutter-interface/references/EXAMPLES.md +336 -336
- package/vendor/Server/Skills/flutter-interface/references/GIT_CLONE_GUIDE.md +190 -190
- package/vendor/Server/Skills/flutter-interface/references/SCRIPT_REFERENCE.md +258 -258
- package/vendor/Server/Skills/flutter-interface/references/TEMPLATE.md +254 -254
- package/vendor/Server/Skills/flutter-library-consistency-check/SKILL.md +517 -517
- package/vendor/Server/Skills/flutter-library-consistency-check/references/CHECKLIST.md +381 -381
- package/vendor/Server/Skills/flutter-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +341 -341
- package/vendor/Server/Skills/flutter-library-consistency-check/references/PLATFORM_LIMITATION_GUIDE.md +71 -71
- package/vendor/Server/Skills/flutter-library-documentation-quality-check/SKILL.md +518 -518
- package/vendor/Server/Skills/flutter-library-documentation-quality-check/references/CHECKLIST.md +406 -406
- package/vendor/Server/Skills/flutter-library-memory-leak-check/SKILL.md +652 -652
- package/vendor/Server/Skills/flutter-library-memory-leak-check/references/CHECKLIST.md +396 -396
- package/vendor/Server/Skills/flutter-library-stability-check/SKILL.md +744 -744
- package/vendor/Server/Skills/flutter-library-stability-check/references/CHECKLIST.md +720 -720
- package/vendor/Server/Skills/flutter-library-test-coverage-check/SKILL.md +414 -414
- package/vendor/Server/Skills/flutter-library-test-coverage-check/assets/REPORT_TEMPLATE.md +150 -150
- package/vendor/Server/Skills/flutter-library-test-coverage-check/references/CHECKLIST.md +304 -304
- package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCORING_RULES.md +265 -265
- package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCRIPT_USAGE.md +286 -286
- package/vendor/Server/Skills/knowledge-import/SKILL.md +383 -383
- package/vendor/Server/Skills/knowledge-import/references/MCP_TOOL_USAGE.md +165 -165
- package/vendor/Server/Skills/knowledge-import/references/SKILL_LOCATOR_GUIDE.md +91 -91
- package/vendor/Server/Skills/knowledge-import/references/SKILL_OPTIMIZATION_GUIDE.md +127 -127
- package/vendor/Server/Skills/ohos-lib-pr-push/SKILL.md +453 -301
- package/vendor/Server/Skills/ohos-lib-pr-push/assets/PR_CHECKLIST.md +151 -0
- package/vendor/Server/Skills/ohos-lib-pr-push/assets/PR_ISSUE_TEMPLATE.md +257 -105
- package/vendor/Server/Skills/ohos-lib-pr-push/references/GITCODE_API.md +191 -127
- package/vendor/Server/Skills/ohos-lib-pr-push/scripts/gitcode-api.cjs +317 -208
- package/vendor/Server/Skills/rn-code-check/SKILL.md +320 -320
- package/vendor/Server/Skills/rn-code-check/references/API-GUIDE.md +234 -234
- package/vendor/Server/Skills/rn-code-check/references/CHECKLIST.md +188 -188
- package/vendor/Server/Skills/rn-code-check/references/REPORT-TEMPLATE.md +246 -246
- package/vendor/Server/Skills/rn-lib-add-example/SKILL.md +198 -198
- package/vendor/Server/Skills/rn-lib-add-example/references/APP_RENAME_GUIDE.md +40 -40
- package/vendor/Server/Skills/rn-lib-add-example/references/SHELL_ADAPTATION_CHECKLIST.md +78 -78
- package/vendor/Server/Skills/rn-lib-add-example/references/TEMPLATE_REPO_GUIDE.md +70 -70
- package/vendor/Server/Skills/rn-lib-add-example/references/VERIFICATION_GUIDE.md +47 -47
- package/vendor/Server/Skills/rn-lib-add-example/scripts/create-example.cjs +252 -252
- package/vendor/Server/Skills/rn-lib-update-doc/SKILL.md +176 -176
- package/vendor/Server/Skills/rn-lib-update-doc/config.json +5 -5
- package/vendor/Server/Skills/rn-lib-update-doc/references/changelog-template.md +35 -35
- package/vendor/Server/Skills/rn-lib-update-doc/references/format-diff.md +137 -137
- package/vendor/Server/Skills/rn-lib-update-doc/references/link-registry.json +33 -33
- package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2-overview.md +40 -40
- package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2.md +429 -429
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/detect-readme-format.cjs +105 -105
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/find-usage-doc.cjs +90 -90
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/link-verify.cjs +213 -213
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-changelog.cjs +73 -73
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-package-meta.cjs +258 -258
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-readme-links.cjs +341 -341
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/resolve-usage-docs.cjs +67 -67
- package/vendor/Server/Skills/rn-library-consistency-check/SKILL.md +299 -299
- package/vendor/Server/Skills/rn-library-consistency-check/assets/REPORT_TEMPLATE.md +293 -293
- package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_COMPONENT_CHECK_GUIDE.md +857 -857
- package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_TURBOMODULE_CHECK_GUIDE.md +856 -856
- package/vendor/Server/Skills/rn-library-consistency-check/references/CHECKLIST.md +157 -157
- package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_COMPONENT_CHECK_GUIDE.md +801 -801
- package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_TURBOMODULE_CHECK_GUIDE.md +683 -683
- package/vendor/Server/Skills/rn-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +233 -233
- package/vendor/Server/Skills/rn-library-consistency-check/references/NATIVE_COMPONENT_IDENTIFICATION.md +1373 -1373
- package/vendor/Server/Skills/rn-library-consistency-check/references/SCORING_STANDARD.md +220 -220
- package/vendor/Server/Skills/rn-library-consistency-check/scripts/validate-skill.py +245 -245
- package/vendor/Server/Skills/rn-library-documentation-quality-check/SKILL.md +263 -263
- package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL.md +414 -414
- package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL_en.md +413 -413
- package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +311 -311
- package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CHECK_CHECKLIST.md +355 -355
- package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CROSS_VALIDATION_GUIDE.md +115 -115
- package/vendor/Server/Skills/rn-library-documentation-quality-check/references/DOC_COLLECTION_GUIDE.md +139 -139
- package/vendor/Server/Skills/rn-library-documentation-quality-check/references/EXAMPLES.md +586 -586
- package/vendor/Server/Skills/rn-library-documentation-quality-check/references/GOTCHAS.md +57 -57
- package/vendor/Server/Skills/rn-library-documentation-quality-check/scripts/validate-skill.py +259 -259
- package/vendor/Server/Skills/rn-library-interface-analyzer/SKILL.md +301 -301
- package/vendor/Server/Skills/rn-library-interface-analyzer/assets/REPORT_TEMPLATE.md +148 -148
- package/vendor/Server/Skills/rn-library-interface-analyzer/references/DOC_ANNOTATION_GUIDE.md +118 -118
- package/vendor/Server/Skills/rn-library-interface-analyzer/references/SCRIPT_USAGE_GUIDE.md +168 -168
- package/vendor/Server/Skills/rn-library-interface-analyzer/references/URL_PARSING_RULES.md +176 -176
- package/vendor/Server/Skills/rn-library-issue-generalizer/SKILL.md +274 -274
- package/vendor/Server/Skills/rn-library-issue-generalizer/assets/case-template.md +45 -45
- package/vendor/Server/Skills/rn-library-issue-generalizer/assets/rule-template.md +25 -25
- package/vendor/Server/Skills/rn-library-issue-generalizer/references/PR_FETCH_GUIDE.md +61 -61
- package/vendor/Server/Skills/rn-library-issue-generalizer/references/RULE_TEMPLATE_GUIDE.md +165 -165
- package/vendor/Server/Skills/rn-library-issue-generalizer/scripts/fetch-pr-info.py +239 -239
- package/vendor/Server/Skills/rn-library-known-issue-check/SKILL.md +263 -263
- package/vendor/Server/Skills/rn-library-known-issue-check/assets/REPORT_TEMPLATE.md +96 -96
- package/vendor/Server/Skills/rn-library-known-issue-check/references/COMPLIANCE_CHECKLIST.md +57 -57
- package/vendor/Server/Skills/rn-library-known-issue-check/references/INSPECTION_GUIDE.md +99 -99
- package/vendor/Server/Skills/rn-library-known-issue-check/references/PRESCREEN_GUIDE.md +64 -64
- package/vendor/Server/Skills/rn-library-known-issue-check/references/SOURCE_PREP_GUIDE.md +74 -74
- package/vendor/Server/Skills/rn-library-known-issue-check/scripts/validate-known-issue-report.py +164 -164
- package/vendor/Server/Skills/rn-library-memory-leak-check/SKILL.md +356 -339
- package/vendor/Server/Skills/rn-library-memory-leak-check/assets/REPORT_TEMPLATE.md +85 -83
- package/vendor/Server/Skills/rn-library-memory-leak-check/references/CHECKLIST.md +905 -859
- package/vendor/Server/Skills/rn-library-memory-leak-check/references/HARMONY_CODE_PATTERNS.md +124 -122
- package/vendor/Server/Skills/rn-library-memory-leak-check/scripts/scan_harmony_code.py +287 -279
- package/vendor/Server/Skills/rn-library-stability-check/SKILL.md +273 -273
- package/vendor/Server/Skills/rn-library-stability-check/assets/REPORT_TEMPLATE.md +129 -129
- package/vendor/Server/Skills/rn-library-stability-check/references/CHECKLIST.md +581 -581
- package/vendor/Server/Skills/rn-library-stability-check/references/SCORING_RULES.md +138 -138
- package/vendor/Server/Skills/rn-library-stability-check/scripts/scan-harmony-code.py +168 -168
- package/vendor/Server/Skills/rn-library-test-coverage-check/SKILL.md +526 -506
- package/vendor/Server/Skills/rn-library-test-coverage-check/references/CHECKLIST.md +321 -280
- package/vendor/Server/Skills/rn-library-test-coverage-check/references/DEMO_LOCATION.md +221 -221
- package/vendor/Server/Skills/rn-library-test-coverage-check/references/REPORT_TEMPLATE.md +220 -209
- package/vendor/Server/Skills/rn-library-test-coverage-check/references/SCRIPT_USAGE.md +325 -325
- package/vendor/Server/Skills/rn-ohos-xts-generator/SKILL.md +279 -279
- package/vendor/Server/Skills/rn-ohos-xts-generator/assets/TEST_FILE_TEMPLATES.md +404 -404
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_TROUBLESHOOTING.md +185 -185
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_WORKFLOW.md +265 -265
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/COMMON_CONFIG.md +189 -189
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/CONFIG_GUIDE.md +203 -203
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/COVERAGE_ANALYZER.md +147 -147
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/DESIGN_DOC_GUIDE.md +148 -148
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_FLOW.md +165 -165
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_STRATEGY.md +195 -195
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/HARMONY_SCANNER.md +249 -249
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/JEST_FRAMEWORK.md +235 -235
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/PLATFORM_COMPAT.md +161 -161
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/RN_TEST_PATTERNS.md +413 -413
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/SOURCE_PARSER.md +235 -235
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/TEST_CONVENTIONS.md +245 -245
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/TROUBLESHOOTING.md +282 -282
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/USAGE_GUIDE.md +251 -251
- package/vendor/Server/Skills/rnoh-cptf-api-test/SKILL.md +469 -469
- package/vendor/Server/Skills/rnoh-cptf-api-test/assets/CPTF_TEST_TEMPLATE.md +310 -310
- package/vendor/Server/Skills/rnoh-cptf-api-test/assets/DEMO_PAGE_TEMPLATE.md +303 -303
- package/vendor/Server/Skills/rnoh-cptf-api-test/references/CPTF_TEST_GENERATION_GUIDE.md +421 -421
- package/vendor/Server/Skills/rnoh-cptf-api-test/references/DEMO_GENERATION_GUIDE.md +358 -358
- package/vendor/Server/Skills/rnoh-cptf-api-test/references/QUALITY_CHECKLIST.md +114 -114
- package/vendor/Server/Skills/rnoh-cptf-api-test/references/SPEC_PARSING_GUIDE.md +274 -274
- package/vendor/Server/Skills/rnoh-cptf-api-test/scripts/validate-rnoh-cptf-api-test.sh +185 -185
- package/vendor/Server/Skills/rnoh-cptf-demo-test/SKILL.md +191 -191
- package/vendor/Server/Skills/rnoh-cptf-demo-test/assets/TEST_TEMPLATE.md +216 -216
- package/vendor/Server/Skills/rnoh-cptf-demo-test/references/CPTF_SETUP.md +107 -107
- package/vendor/Server/Skills/rnoh-cptf-demo-test/references/DEMO_ANALYSIS.md +120 -120
- package/vendor/Server/Skills/rnoh-cptf-demo-test/scripts/validate-rnoh-cptf-test.sh +108 -108
- package/vendor/Server/Skills/rnoh-cptf-test-run/SKILL.md +237 -237
- package/vendor/Server/Skills/rnoh-cptf-test-run/references/DEBUG_PLAYBOOK.md +261 -261
- package/vendor/Server/Skills/rnoh-cptf-test-run/scripts/validate-run-env.sh +112 -112
- package/vendor/Server/Skills/rnoh-lib-code-adapt/SKILL.md +497 -497
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/adapt-checklist.md +270 -270
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/api-migration-checklist.md +164 -164
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/common-compile-errors.md +556 -556
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/deveco-cli-tools.md +459 -459
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/edge-cases.md +65 -65
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/har-tgz-build.md +512 -512
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/version-compat-matrix.md +132 -132
- package/vendor/Server/Skills/rnoh-lib-code-adapt/scripts/auto-integrate.sh +424 -424
- package/vendor/Server/Skills/rnoh-lib-demo-coverage/SKILL.md +137 -137
- package/vendor/Server/Skills/rnoh-lib-demo-create/SKILL.md +306 -306
- package/vendor/Server/Skills/rnoh-lib-demo-create/assets/DEMO_PAGE_TEMPLATE.md +485 -485
- package/vendor/Server/Skills/rnoh-lib-demo-create/assets/INDEX_TEMPLATE.md +172 -172
- package/vendor/Server/Skills/rnoh-lib-demo-create/references/DEMO_CODE_RULES.md +422 -422
- package/vendor/Server/Skills/rnoh-lib-demo-create/references/QUALITY_CHECKLIST.md +95 -95
- package/vendor/Server/Skills/rnoh-lib-demo-create/references/SOURCE_EXPLORATION.md +169 -169
- package/vendor/Server/Skills/rnoh-lib-demo-doc/SKILL.md +554 -554
- package/vendor/Server/Skills/rnoh-lib-demo-doc/assets/DEMO_DOC_TEMPLATE.md +106 -106
- package/vendor/Server/Skills/rnoh-lib-demo-doc/references/COVERAGE_INCREMENTAL.md +216 -216
- package/vendor/Server/Skills/rnoh-lib-demo-doc/references/DEMO_DESIGN_RULES.md +413 -413
- package/vendor/Server/Skills/rnoh-lib-demo-doc/references/OUTPUT_FORMAT.md +269 -269
- package/vendor/Server/Skills/rnoh-lib-demo-doc/references/QUALITY_CHECKLIST.md +98 -98
- package/vendor/Server/Skills/rnoh-lib-func-test/SKILL.md +337 -337
- package/vendor/Server/Skills/rnoh-lib-rnt-search/SKILL.md +722 -722
- package/vendor/Server/Skills/rnoh-lib-rnt-search/assets/PORT_REPORT_TEMPLATE.md +219 -219
- package/vendor/Server/Skills/rnoh-lib-rnt-search/references/DEMO_PORTING_GUIDE.md +345 -345
- package/vendor/Server/Skills/rnoh-lib-rnt-search/references/PORT_VERIFICATION.md +269 -269
- package/vendor/Server/Skills/rnoh-lib-rnt-search/references/RNT_PROJECT_STRUCTURE.md +173 -173
- package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/analyze-demo-deps.cjs +267 -267
- package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/detect-rnoh-version.cjs +174 -174
- package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/find-rnt-demo.sh +111 -111
- package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/port-demo.sh +186 -186
- package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/read-lib-meta.cjs +150 -150
- package/vendor/Server/Skills/rnoh-lib-test-align/SKILL.md +296 -296
- package/vendor/Server/Skills/rnoh-lib-test-align/references/jest-troubleshooting.md +371 -371
- package/vendor/Server/Skills/rnoh-lib-test-align/references/port-test-demo-guide.md +212 -212
- package/vendor/Server/Skills/rnoh-lib-test-align/references/runtime-troubleshooting.md +345 -345
- package/vendor/Server/Skills/rnoh-lib-test-align/references/unit-test-template.md +223 -223
- package/vendor/Server/Skills/rnoh-lib-test-align/scripts/port-test-demo.sh +1053 -1053
- package/vendor/Server/Skills/rnoh-lib-version-diff/SKILL.md +295 -255
- package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_ADAPTATION.md +82 -77
- package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_API_LOOKUP.md +224 -224
- package/vendor/Server/Skills/rnoh-lib-version-diff/references/script-reference.md +175 -174
- package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/detect-upstream-version.js +967 -967
- package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/generate-diff.js +1798 -1798
- package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/package.json +5 -5
- package/vendor/Server/Skills/rnoh-lib-version-diff/templates/report-template.md +180 -137
- package/vendor/Server/Skills/rnoh-lib-xts-coverage/SKILL.md +145 -145
- package/vendor/Server/Skills/skill-generator/SKILL.md +365 -365
- package/vendor/Server/Skills/skill-generator/assets/SKILL_TEMPLATE.md +183 -183
- package/vendor/Server/Skills/skill-generator/references/COMPLIANCE_CHECKLIST.md +82 -82
- package/vendor/Server/Skills/skill-generator/references/KB_QUERY_GUIDE.md +110 -110
- package/vendor/Server/Skills/skill-generator/references/MCP_TOOL_DISCOVERY.md +122 -122
- package/vendor/Server/Skills/skill-generator/references/SKILL_SPEC.md +121 -121
- package/vendor/Server/Skills/skill-generator/scripts/validate-skill.cjs +259 -259
- package/vendor/Server/Skills/task-analysis/SKILL.md +234 -234
- package/vendor/Server/Skills/task-analysis/assets/OUTPUT_EXAMPLES.md +160 -160
- package/vendor/Server/Skills/task-analysis/references/ACCEPTANCE_CRITERIA_GUIDE.md +190 -190
- package/vendor/Server/Skills/task-analysis/references/ANALYSIS_SCHEMA.md +224 -224
- package/vendor/Server/Skills/task-analysis/references/INTEGRATION_CONTEXT.md +162 -162
- package/vendor/Server/Skills/task-analysis/references/LESSONS_LEARNED.md +55 -55
- package/vendor/Server/Skills/task-analysis/references/REPLAN_CONTEXT_GUIDE.md +126 -126
- package/vendor/Server/Skills/task-analysis/scripts/validate-analysis-output.sh +256 -256
- package/vendor/Server/Skills/task-decomposition/SKILL.md +528 -528
- package/vendor/Server/Skills/task-decomposition/assets/OUTPUT_EXAMPLES.md +451 -451
- package/vendor/Server/Skills/task-decomposition/references/ACCEPTANCE_CRITERIA_GUIDE.md +179 -179
- package/vendor/Server/Skills/task-decomposition/references/DEPENDENCY_GRAPH_GUIDE.md +152 -152
- package/vendor/Server/Skills/task-decomposition/references/INTEGRATION_CONTEXT.md +175 -175
- package/vendor/Server/Skills/task-decomposition/references/REPLAN_CONTEXT_GUIDE.md +195 -195
- package/vendor/Server/Skills/task-decomposition/references/TASK_DECOMPOSITION_TEMPLATES.md +226 -226
- package/vendor/Server/Skills/task-decomposition/scripts/list-available-skills.cjs +263 -263
- package/vendor/Server/Skills/task-decomposition/scripts/skill-blacklist.json +29 -29
- package/vendor/Server/Skills/task-decomposition/scripts/validate-decomposition-output.cjs +376 -376
- package/vendor/Server/Skills/task-decomposition/scripts/validate-param-consistency.cjs +259 -259
- package/vendor/Server/Skills/task-decomposition/scripts/validate-specified-skills.cjs +216 -216
- package/vendor/Server/Skills/task-decomposition/scripts/validate-step-graph.cjs +424 -424
- package/vendor/Server/Skills/tpc-cpp-check/SKILL.md +427 -427
- package/vendor/Server/Skills/tpc-cpp-check/references/CHECKLIST.md +214 -214
- package/vendor/Server/Skills/tpc-cpp-check/references/HPKBUILD_GUIDE.md +235 -235
- package/vendor/Server/Skills/tpc-cpp-check/references/REPORT_TEMPLATE.md +250 -250
- package/vendor/Server/TestCheck/TestCheck.js +775 -775
- package/vendor/Server/TestCheck/index.js +11 -11
- package/vendor/Server/library/McpToolGuide.js +280 -280
- package/vendor/Server/library/StatsService.js +126 -126
- package/vendor/Server/library/cstTime.js +16 -16
- package/vendor/VERSION +3 -3
- package/workflows/pr-check.mjs +105 -105
- package/workflows/pr-push.mjs +193 -0
- package/vendor/Server/Agent/SkillSelector/types.js +0 -63
|
@@ -1,237 +1,237 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: rnoh-cptf-test-run
|
|
3
|
-
description: >-
|
|
4
|
-
基于 rnoh-cptf-demo-test 生成的 CPTF 测试文件,在鸿蒙设备上实机运行并调试至全部步骤通过。当用户说"运行 CPTF 测试"、"调试 CPTF 测试"、"CPTF 测试失败了怎么修"、"实机跑一下 CPTF"时使用。覆盖:前置环境检查(设备/hap/依赖解析)、运行测试(单用例/全量)、失败诊断(级联取消/全角冒号/步骤超时/模块解析)、修复迭代至全绿、交付确认。
|
|
5
|
-
关键词:CPTF、RNOH、实机调试、步骤超时、级联取消、UIAutomation、harmony、hdc、测试报告。
|
|
6
|
-
license: Apache-2.0
|
|
7
|
-
compatibility: 需要 CPTF 测试工程(已由 rnoh-cptf-demo-test 生成)、hdc 工具、鸿蒙真机/模拟器、pnpm、cptf CLI
|
|
8
|
-
allowed-tools: Read Grep Glob Bash
|
|
9
|
-
metadata:
|
|
10
|
-
version: "1.0.0"
|
|
11
|
-
category: rnoh-testing
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
# RNOH 三方库 CPTF 测试实机运行与调试
|
|
15
|
-
|
|
16
|
-
基于已生成的 CPTF 测试文件,在鸿蒙设备上实机运行并调试至全部步骤通过。前置 SKILL 为 `rnoh-cptf-demo-test`(负责生成测试工程文件)。
|
|
17
|
-
|
|
18
|
-
> ⚠️ **核心原则:看到批量"用例已取消"时只诊断第一个超时步骤(级联取消机制);断言文本必须逐字符核对 demo 源码(全角/半角冒号是头号失败根因);每轮修复只针对第一个失败步骤,修复后完整重跑。**
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## 任务参数
|
|
23
|
-
|
|
24
|
-
| 参数 | 类型 | 必填 | 说明 |
|
|
25
|
-
|------|------|------|------|
|
|
26
|
-
| `workspaceDir` | string | ✅ | CPTF 测试工程目录(含 cptf.config.json + 测试文件,由 rnoh-cptf-demo-test 生成) |
|
|
27
|
-
| `exampleDir` | string | ❌ | RN example 工程目录(含 package.json + metro.config.js),用于 HAP 构建。默认从 `workspaceDir` 上溯推导(如 `workspaceDir` 为 `example/cptf/` 则 `exampleDir` 为 `example/`) |
|
|
28
|
-
| `testId` | string | ❌ | 指定运行的测试 ID(`@Test` 的 id),不传则全量运行 |
|
|
29
|
-
| `deviceId` | string | ❌ | 鸿蒙设备 SN(默认取 cptf.config.json 中第一个设备) |
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## 输入依赖
|
|
34
|
-
|
|
35
|
-
- **前置SKILL**: `rnoh-cptf-demo-test`(已生成 cptf.config.json + package.json + tests/cases/functional/*.test.ts)
|
|
36
|
-
- **输入文件**:
|
|
37
|
-
- 测试工程配置:`{workspaceDir}/cptf.config.json`
|
|
38
|
-
- 测试用例文件:`{workspaceDir}/tests/cases/functional/*.test.ts`
|
|
39
|
-
- demo hap 产物:`{demoPath}/harmony/entry/build/default/outputs/default/entry-default-signed.hap`
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## 工作流程概览
|
|
44
|
-
|
|
45
|
-
```
|
|
46
|
-
Phase 1: 前置环境检查与构建(设备/依赖/hap 构建+安装)
|
|
47
|
-
↓
|
|
48
|
-
Phase 2: 运行测试(cptf run)
|
|
49
|
-
↓
|
|
50
|
-
Phase 3: 失败诊断与修复迭代(逐步骤修复至通过)
|
|
51
|
-
↓
|
|
52
|
-
Phase 4: 交付确认(全绿 + 稳定性验证)
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
---
|
|
56
|
-
|
|
57
|
-
## Phase 1:前置环境检查与构建
|
|
58
|
-
|
|
59
|
-
### 1.1 运行环境校验脚本
|
|
60
|
-
|
|
61
|
-
```bash
|
|
62
|
-
bash {workspaceDir}/../rnoh-cptf-test-run/scripts/validate-run-env.sh '{"workspaceDir":"<绝对路径>"}'
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
或手动逐项检查:
|
|
66
|
-
|
|
67
|
-
| 检查项 | 命令 | 预期 |
|
|
68
|
-
|--------|------|------|
|
|
69
|
-
| 设备已连接 | `hdc list targets` 或 `devecocli device list` | 输出设备 SN |
|
|
70
|
-
| hap 文件存在 | `ls {cptf.config.json → platforms.harmony.appPath}` | 文件存在且为绝对路径 |
|
|
71
|
-
| 框架依赖已 link | `node -e "require.resolve('@cptf/framework')"` (在 workspaceDir 下) | 输出解析路径 |
|
|
72
|
-
| reflect-metadata 已 link | `ls {workspaceDir}/node_modules/reflect-metadata` | 目录存在 |
|
|
73
|
-
| 测试文件存在 | `ls {workspaceDir}/tests/cases/functional/*.test.ts` | 至少 1 个文件 |
|
|
74
|
-
|
|
75
|
-
### 1.2 HAP 构建与安装
|
|
76
|
-
|
|
77
|
-
> ⚠️ **若 Demo 代码已变更(如通过 `rnoh-cptf-api-test` 生成/修改了 Demo 页面或入口文件),必须重新构建 HAP。** 旧 HAP 中的 `bundle.harmony.js` 不含新 Demo 代码,测试将找不到按钮。
|
|
78
|
-
|
|
79
|
-
**构建分两步:RN Bundle 编译 + 鸿蒙 HAP 打包。**
|
|
80
|
-
|
|
81
|
-
#### 步骤 1:RN Bundle 编译
|
|
82
|
-
|
|
83
|
-
在 `{exampleDir}`(含 `package.json` 和 `metro.config.js` 的目录)下执行:
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
cd {exampleDir} && npm run dev
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
> `npm run dev` 内部执行 `codegen` + `react-native bundle-harmony --dev --minify=false`,产出 `harmony/entry/src/main/resources/rawfile/bundle.harmony.js`。
|
|
90
|
-
>
|
|
91
|
-
> 若 `npm run dev` 不存在,检查 `example/package.json` 的 `scripts` 字段,可能叫 `bundle:harmony` 或类似名称。核心是执行 codegen + bundle-harmony 两步。
|
|
92
|
-
|
|
93
|
-
#### 步骤 2:鸿蒙 HAP 打包
|
|
94
|
-
|
|
95
|
-
在 `{exampleDir}/harmony` 目录下执行:
|
|
96
|
-
|
|
97
|
-
```bash
|
|
98
|
-
devecocli build
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
> `devecocli build` 调用 hvigor 编译 ArkTS + C++ + 打包签名,产出 `entry/build/default/outputs/default/entry-default-signed.hap`。
|
|
102
|
-
>
|
|
103
|
-
> 构建成功标志:输出 `BUILD SUCCESSFUL` 且 `SignHap` 任务完成。
|
|
104
|
-
>
|
|
105
|
-
> 若 `devecocli` 不可用,也可在 DevEco Studio 中 Build → Build Hap(s)。
|
|
106
|
-
|
|
107
|
-
#### 步骤 3:安装 HAP 到设备
|
|
108
|
-
|
|
109
|
-
```bash
|
|
110
|
-
hdc install "{appPath 绝对路径}"
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
若已安装旧版本,先卸载再安装(签名变更时必需):
|
|
114
|
-
|
|
115
|
-
```bash
|
|
116
|
-
hdc uninstall {bundleId} && hdc install "{appPath 绝对路径}"
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
或使用 `devecocli run --uninstall` 一步完成卸载+安装。
|
|
120
|
-
|
|
121
|
-
> 详细环境检查与故障排查参见 [实战调试手册](references/DEBUG_PLAYBOOK.md) §6
|
|
122
|
-
|
|
123
|
-
---
|
|
124
|
-
|
|
125
|
-
## Phase 2:运行测试
|
|
126
|
-
|
|
127
|
-
### 2.1 单用例运行
|
|
128
|
-
|
|
129
|
-
```bash
|
|
130
|
-
cd {workspaceDir} && cptf run -p harmony -t {testId}
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
### 2.2 全量运行
|
|
134
|
-
|
|
135
|
-
```bash
|
|
136
|
-
cd {workspaceDir} && cptf run -p harmony
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
### 2.3 报告定位
|
|
140
|
-
|
|
141
|
-
```bash
|
|
142
|
-
ls test-reports/{timestamp}/harmony/
|
|
143
|
-
# execution.log —— 逐步骤日志(首要诊断材料)
|
|
144
|
-
# screenshots/ —— 每步骤截图(失败步骤必有 -fail.jpeg)
|
|
145
|
-
# report.html —— 汇总报告
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
> 运行命令详情与报告分析技巧参见 [实战调试手册](references/DEBUG_PLAYBOOK.md) §4
|
|
149
|
-
|
|
150
|
-
---
|
|
151
|
-
|
|
152
|
-
## Phase 3:失败诊断与修复迭代
|
|
153
|
-
|
|
154
|
-
### 3.1 诊断决策树
|
|
155
|
-
|
|
156
|
-
```
|
|
157
|
-
运行失败
|
|
158
|
-
├─ Cannot find module '@cptf/framework'
|
|
159
|
-
│ → workspace 未正确 link 依赖(参见 rnoh-cptf-demo-test/references/CPTF_SETUP.md §3)
|
|
160
|
-
├─ `Invalid or unexpected token` 或 `File '@react-native/typescript-config/tsconfig.json' not found`
|
|
161
|
-
│ → ts-node 拾取了上级 RN 工程的 tsconfig.json
|
|
162
|
-
│ → 在 workspaceDir 下生成独立 tsconfig.json(不 extends 任何外部配置)
|
|
163
|
-
├─ `context.addInitializer is not a function`
|
|
164
|
-
│ → tsconfig.json 设了 `experimentalDecorators: true`
|
|
165
|
-
│ → 移除 `experimentalDecorators` 和 `emitDecoratorMetadata`(框架用 Stage 3 装饰器)
|
|
166
|
-
├─ 报告只显示 1 个用例(N 个步骤全在一个 @Test 里)
|
|
167
|
-
│ → 测试文件未按 API 分类拆分
|
|
168
|
-
│ → 每个分类拆为独立 .test.ts 文件,各自含 @Test + export testCaseExecutor
|
|
169
|
-
├─ 某步骤 "步骤超时(NNNNNms)",其后全部 "UIAutomation: 用例已取消"
|
|
170
|
-
│ → 级联取消机制:只诊断第一个超时步骤
|
|
171
|
-
│ ├─ 截图显示按钮已点击、结果已渲染 → waitForText 文本不匹配 → 全角冒号问题
|
|
172
|
-
│ ├─ 截图显示按钮未找到/未点击 → textContains 关键字错 或 未滚动到位
|
|
173
|
-
│ └─ 截图显示结果渲染异常 → demo 已知 bug 或 API 未实现,放宽断言(容错模式)
|
|
174
|
-
├─ 回调类 API 步骤超时(按钮已点击但结果不出现)
|
|
175
|
-
│ → API 通过 (Module as any) 调用,JS 层可能未实现,回调不触发
|
|
176
|
-
│ → 使用容错断言:先等结果文本,再等错误信息,两者皆无才报错
|
|
177
|
-
├─ 步骤通过但断言值错误
|
|
178
|
-
│ → 检查动态值推断(如 isSameState ? '' : 'false' 的空串分支)
|
|
179
|
-
└─ 设备/hap 安装错误
|
|
180
|
-
→ 参见 rnoh-cptf-demo-test/references/CPTF_SETUP.md §5
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
### 3.2 级联取消机制(调试前必读)
|
|
184
|
-
|
|
185
|
-
CPTF 框架的 `FunctionalTest.execute()` 在步骤超时时设置 `_cancelled = true`,此后所有 UIAutomation 调用经 `throwIfCancelled()` 抛 `'UIAutomation: 用例已取消'`。
|
|
186
|
-
|
|
187
|
-
**结论:一个步骤超时 → 后续全部步骤级联失败。看到批量"用例已取消",只需诊断第一个超时步骤。**
|
|
188
|
-
|
|
189
|
-
### 3.3 常见失败速查
|
|
190
|
-
|
|
191
|
-
| 现象 | 根因 | 修复方向 |
|
|
192
|
-
|------|------|----------|
|
|
193
|
-
| `Cannot find module '@cptf/framework'` | shim NODE_PATH 失效 | workspace 本地 link 依赖 |
|
|
194
|
-
| `Invalid or unexpected token` | ts-node 拾取上级 RN tsconfig | 生成 workspace 独立 tsconfig.json |
|
|
195
|
-
| `context.addInitializer is not a function` | tsconfig 设了 `experimentalDecorators` | 移除该选项(框架用 Stage 3 装饰器) |
|
|
196
|
-
| `File '@react-native/typescript-config/tsconfig.json' not found` | 同上,tsconfig 继承链断裂 | 同上 |
|
|
197
|
-
| 报告只显示 1 个用例 | 所有 @Step 在同一个 @Test 类 | 按 API 分类拆分多文件 |
|
|
198
|
-
| 步骤超时后批量"用例已取消" | 级联取消 | 修第一个超时步骤 |
|
|
199
|
-
| 单步超时但按钮已点击成功 | waitForText 匹配串错误(全角冒号) | 逐字符对照源码修断言文本 |
|
|
200
|
-
| 回调类 API 超时(按钮已点击结果不出现) | API 未实现,回调不触发 | 使用容错断言(等结果或错误信息) |
|
|
201
|
-
| 报告时间戳差 8 小时 | cptf.config.json 未设置 `timezone` | 添加 `"timezone": "BeiJing"` |
|
|
202
|
-
| 未找到按钮 | textContains 关键字不精确或未滚动到位 | 核对按钮 title,增大 maxScrolls |
|
|
203
|
-
| 步骤通过但值错误 | 动态值推断错误 | 检查三元表达式空串分支 |
|
|
204
|
-
|
|
205
|
-
### 3.4 迭代修复节奏
|
|
206
|
-
|
|
207
|
-
1. 修复**只针对第一个失败步骤**(后续失败多为级联)
|
|
208
|
-
2. 每轮修复后完整重跑(不要跳步骤)
|
|
209
|
-
3. 全部通过后,再跑一轮确认稳定性(随机数/异步渲染可能有偶发)
|
|
210
|
-
4. 连续两轮全绿 → 交付
|
|
211
|
-
|
|
212
|
-
> 完整失败案例全记录与诊断决策树参见 [实战调试手册](references/DEBUG_PLAYBOOK.md)
|
|
213
|
-
|
|
214
|
-
---
|
|
215
|
-
|
|
216
|
-
## Phase 4:交付确认
|
|
217
|
-
|
|
218
|
-
确认测试全部通过:
|
|
219
|
-
|
|
220
|
-
```bash
|
|
221
|
-
cd {workspaceDir} && cptf run -p harmony -t {testId}
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
确认最终报告:
|
|
225
|
-
|
|
226
|
-
```
|
|
227
|
-
{workspaceDir}/
|
|
228
|
-
└── test-reports/{timestamp}/harmony/
|
|
229
|
-
├── execution.log # 逐步骤日志
|
|
230
|
-
├── screenshots/ # 每步骤截图
|
|
231
|
-
└── report.html # 汇总报告
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
报告内容:
|
|
235
|
-
- 总步骤数 / 通过数 / 每步骤耗时
|
|
236
|
-
- 截图目录(test-reports/{timestamp}/harmony/screenshots/)
|
|
237
|
-
- 连续两轮全绿 → 交付完成
|
|
1
|
+
---
|
|
2
|
+
name: rnoh-cptf-test-run
|
|
3
|
+
description: >-
|
|
4
|
+
基于 rnoh-cptf-demo-test 生成的 CPTF 测试文件,在鸿蒙设备上实机运行并调试至全部步骤通过。当用户说"运行 CPTF 测试"、"调试 CPTF 测试"、"CPTF 测试失败了怎么修"、"实机跑一下 CPTF"时使用。覆盖:前置环境检查(设备/hap/依赖解析)、运行测试(单用例/全量)、失败诊断(级联取消/全角冒号/步骤超时/模块解析)、修复迭代至全绿、交付确认。
|
|
5
|
+
关键词:CPTF、RNOH、实机调试、步骤超时、级联取消、UIAutomation、harmony、hdc、测试报告。
|
|
6
|
+
license: Apache-2.0
|
|
7
|
+
compatibility: 需要 CPTF 测试工程(已由 rnoh-cptf-demo-test 生成)、hdc 工具、鸿蒙真机/模拟器、pnpm、cptf CLI
|
|
8
|
+
allowed-tools: Read Grep Glob Bash
|
|
9
|
+
metadata:
|
|
10
|
+
version: "1.0.0"
|
|
11
|
+
category: rnoh-testing
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# RNOH 三方库 CPTF 测试实机运行与调试
|
|
15
|
+
|
|
16
|
+
基于已生成的 CPTF 测试文件,在鸿蒙设备上实机运行并调试至全部步骤通过。前置 SKILL 为 `rnoh-cptf-demo-test`(负责生成测试工程文件)。
|
|
17
|
+
|
|
18
|
+
> ⚠️ **核心原则:看到批量"用例已取消"时只诊断第一个超时步骤(级联取消机制);断言文本必须逐字符核对 demo 源码(全角/半角冒号是头号失败根因);每轮修复只针对第一个失败步骤,修复后完整重跑。**
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 任务参数
|
|
23
|
+
|
|
24
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
25
|
+
|------|------|------|------|
|
|
26
|
+
| `workspaceDir` | string | ✅ | CPTF 测试工程目录(含 cptf.config.json + 测试文件,由 rnoh-cptf-demo-test 生成) |
|
|
27
|
+
| `exampleDir` | string | ❌ | RN example 工程目录(含 package.json + metro.config.js),用于 HAP 构建。默认从 `workspaceDir` 上溯推导(如 `workspaceDir` 为 `example/cptf/` 则 `exampleDir` 为 `example/`) |
|
|
28
|
+
| `testId` | string | ❌ | 指定运行的测试 ID(`@Test` 的 id),不传则全量运行 |
|
|
29
|
+
| `deviceId` | string | ❌ | 鸿蒙设备 SN(默认取 cptf.config.json 中第一个设备) |
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 输入依赖
|
|
34
|
+
|
|
35
|
+
- **前置SKILL**: `rnoh-cptf-demo-test`(已生成 cptf.config.json + package.json + tests/cases/functional/*.test.ts)
|
|
36
|
+
- **输入文件**:
|
|
37
|
+
- 测试工程配置:`{workspaceDir}/cptf.config.json`
|
|
38
|
+
- 测试用例文件:`{workspaceDir}/tests/cases/functional/*.test.ts`
|
|
39
|
+
- demo hap 产物:`{demoPath}/harmony/entry/build/default/outputs/default/entry-default-signed.hap`
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 工作流程概览
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
Phase 1: 前置环境检查与构建(设备/依赖/hap 构建+安装)
|
|
47
|
+
↓
|
|
48
|
+
Phase 2: 运行测试(cptf run)
|
|
49
|
+
↓
|
|
50
|
+
Phase 3: 失败诊断与修复迭代(逐步骤修复至通过)
|
|
51
|
+
↓
|
|
52
|
+
Phase 4: 交付确认(全绿 + 稳定性验证)
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Phase 1:前置环境检查与构建
|
|
58
|
+
|
|
59
|
+
### 1.1 运行环境校验脚本
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
bash {workspaceDir}/../rnoh-cptf-test-run/scripts/validate-run-env.sh '{"workspaceDir":"<绝对路径>"}'
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
或手动逐项检查:
|
|
66
|
+
|
|
67
|
+
| 检查项 | 命令 | 预期 |
|
|
68
|
+
|--------|------|------|
|
|
69
|
+
| 设备已连接 | `hdc list targets` 或 `devecocli device list` | 输出设备 SN |
|
|
70
|
+
| hap 文件存在 | `ls {cptf.config.json → platforms.harmony.appPath}` | 文件存在且为绝对路径 |
|
|
71
|
+
| 框架依赖已 link | `node -e "require.resolve('@cptf/framework')"` (在 workspaceDir 下) | 输出解析路径 |
|
|
72
|
+
| reflect-metadata 已 link | `ls {workspaceDir}/node_modules/reflect-metadata` | 目录存在 |
|
|
73
|
+
| 测试文件存在 | `ls {workspaceDir}/tests/cases/functional/*.test.ts` | 至少 1 个文件 |
|
|
74
|
+
|
|
75
|
+
### 1.2 HAP 构建与安装
|
|
76
|
+
|
|
77
|
+
> ⚠️ **若 Demo 代码已变更(如通过 `rnoh-cptf-api-test` 生成/修改了 Demo 页面或入口文件),必须重新构建 HAP。** 旧 HAP 中的 `bundle.harmony.js` 不含新 Demo 代码,测试将找不到按钮。
|
|
78
|
+
|
|
79
|
+
**构建分两步:RN Bundle 编译 + 鸿蒙 HAP 打包。**
|
|
80
|
+
|
|
81
|
+
#### 步骤 1:RN Bundle 编译
|
|
82
|
+
|
|
83
|
+
在 `{exampleDir}`(含 `package.json` 和 `metro.config.js` 的目录)下执行:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
cd {exampleDir} && npm run dev
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
> `npm run dev` 内部执行 `codegen` + `react-native bundle-harmony --dev --minify=false`,产出 `harmony/entry/src/main/resources/rawfile/bundle.harmony.js`。
|
|
90
|
+
>
|
|
91
|
+
> 若 `npm run dev` 不存在,检查 `example/package.json` 的 `scripts` 字段,可能叫 `bundle:harmony` 或类似名称。核心是执行 codegen + bundle-harmony 两步。
|
|
92
|
+
|
|
93
|
+
#### 步骤 2:鸿蒙 HAP 打包
|
|
94
|
+
|
|
95
|
+
在 `{exampleDir}/harmony` 目录下执行:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
devecocli build
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
> `devecocli build` 调用 hvigor 编译 ArkTS + C++ + 打包签名,产出 `entry/build/default/outputs/default/entry-default-signed.hap`。
|
|
102
|
+
>
|
|
103
|
+
> 构建成功标志:输出 `BUILD SUCCESSFUL` 且 `SignHap` 任务完成。
|
|
104
|
+
>
|
|
105
|
+
> 若 `devecocli` 不可用,也可在 DevEco Studio 中 Build → Build Hap(s)。
|
|
106
|
+
|
|
107
|
+
#### 步骤 3:安装 HAP 到设备
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
hdc install "{appPath 绝对路径}"
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
若已安装旧版本,先卸载再安装(签名变更时必需):
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
hdc uninstall {bundleId} && hdc install "{appPath 绝对路径}"
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
或使用 `devecocli run --uninstall` 一步完成卸载+安装。
|
|
120
|
+
|
|
121
|
+
> 详细环境检查与故障排查参见 [实战调试手册](references/DEBUG_PLAYBOOK.md) §6
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Phase 2:运行测试
|
|
126
|
+
|
|
127
|
+
### 2.1 单用例运行
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
cd {workspaceDir} && cptf run -p harmony -t {testId}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### 2.2 全量运行
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
cd {workspaceDir} && cptf run -p harmony
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### 2.3 报告定位
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
ls test-reports/{timestamp}/harmony/
|
|
143
|
+
# execution.log —— 逐步骤日志(首要诊断材料)
|
|
144
|
+
# screenshots/ —— 每步骤截图(失败步骤必有 -fail.jpeg)
|
|
145
|
+
# report.html —— 汇总报告
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
> 运行命令详情与报告分析技巧参见 [实战调试手册](references/DEBUG_PLAYBOOK.md) §4
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Phase 3:失败诊断与修复迭代
|
|
153
|
+
|
|
154
|
+
### 3.1 诊断决策树
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
运行失败
|
|
158
|
+
├─ Cannot find module '@cptf/framework'
|
|
159
|
+
│ → workspace 未正确 link 依赖(参见 rnoh-cptf-demo-test/references/CPTF_SETUP.md §3)
|
|
160
|
+
├─ `Invalid or unexpected token` 或 `File '@react-native/typescript-config/tsconfig.json' not found`
|
|
161
|
+
│ → ts-node 拾取了上级 RN 工程的 tsconfig.json
|
|
162
|
+
│ → 在 workspaceDir 下生成独立 tsconfig.json(不 extends 任何外部配置)
|
|
163
|
+
├─ `context.addInitializer is not a function`
|
|
164
|
+
│ → tsconfig.json 设了 `experimentalDecorators: true`
|
|
165
|
+
│ → 移除 `experimentalDecorators` 和 `emitDecoratorMetadata`(框架用 Stage 3 装饰器)
|
|
166
|
+
├─ 报告只显示 1 个用例(N 个步骤全在一个 @Test 里)
|
|
167
|
+
│ → 测试文件未按 API 分类拆分
|
|
168
|
+
│ → 每个分类拆为独立 .test.ts 文件,各自含 @Test + export testCaseExecutor
|
|
169
|
+
├─ 某步骤 "步骤超时(NNNNNms)",其后全部 "UIAutomation: 用例已取消"
|
|
170
|
+
│ → 级联取消机制:只诊断第一个超时步骤
|
|
171
|
+
│ ├─ 截图显示按钮已点击、结果已渲染 → waitForText 文本不匹配 → 全角冒号问题
|
|
172
|
+
│ ├─ 截图显示按钮未找到/未点击 → textContains 关键字错 或 未滚动到位
|
|
173
|
+
│ └─ 截图显示结果渲染异常 → demo 已知 bug 或 API 未实现,放宽断言(容错模式)
|
|
174
|
+
├─ 回调类 API 步骤超时(按钮已点击但结果不出现)
|
|
175
|
+
│ → API 通过 (Module as any) 调用,JS 层可能未实现,回调不触发
|
|
176
|
+
│ → 使用容错断言:先等结果文本,再等错误信息,两者皆无才报错
|
|
177
|
+
├─ 步骤通过但断言值错误
|
|
178
|
+
│ → 检查动态值推断(如 isSameState ? '' : 'false' 的空串分支)
|
|
179
|
+
└─ 设备/hap 安装错误
|
|
180
|
+
→ 参见 rnoh-cptf-demo-test/references/CPTF_SETUP.md §5
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### 3.2 级联取消机制(调试前必读)
|
|
184
|
+
|
|
185
|
+
CPTF 框架的 `FunctionalTest.execute()` 在步骤超时时设置 `_cancelled = true`,此后所有 UIAutomation 调用经 `throwIfCancelled()` 抛 `'UIAutomation: 用例已取消'`。
|
|
186
|
+
|
|
187
|
+
**结论:一个步骤超时 → 后续全部步骤级联失败。看到批量"用例已取消",只需诊断第一个超时步骤。**
|
|
188
|
+
|
|
189
|
+
### 3.3 常见失败速查
|
|
190
|
+
|
|
191
|
+
| 现象 | 根因 | 修复方向 |
|
|
192
|
+
|------|------|----------|
|
|
193
|
+
| `Cannot find module '@cptf/framework'` | shim NODE_PATH 失效 | workspace 本地 link 依赖 |
|
|
194
|
+
| `Invalid or unexpected token` | ts-node 拾取上级 RN tsconfig | 生成 workspace 独立 tsconfig.json |
|
|
195
|
+
| `context.addInitializer is not a function` | tsconfig 设了 `experimentalDecorators` | 移除该选项(框架用 Stage 3 装饰器) |
|
|
196
|
+
| `File '@react-native/typescript-config/tsconfig.json' not found` | 同上,tsconfig 继承链断裂 | 同上 |
|
|
197
|
+
| 报告只显示 1 个用例 | 所有 @Step 在同一个 @Test 类 | 按 API 分类拆分多文件 |
|
|
198
|
+
| 步骤超时后批量"用例已取消" | 级联取消 | 修第一个超时步骤 |
|
|
199
|
+
| 单步超时但按钮已点击成功 | waitForText 匹配串错误(全角冒号) | 逐字符对照源码修断言文本 |
|
|
200
|
+
| 回调类 API 超时(按钮已点击结果不出现) | API 未实现,回调不触发 | 使用容错断言(等结果或错误信息) |
|
|
201
|
+
| 报告时间戳差 8 小时 | cptf.config.json 未设置 `timezone` | 添加 `"timezone": "BeiJing"` |
|
|
202
|
+
| 未找到按钮 | textContains 关键字不精确或未滚动到位 | 核对按钮 title,增大 maxScrolls |
|
|
203
|
+
| 步骤通过但值错误 | 动态值推断错误 | 检查三元表达式空串分支 |
|
|
204
|
+
|
|
205
|
+
### 3.4 迭代修复节奏
|
|
206
|
+
|
|
207
|
+
1. 修复**只针对第一个失败步骤**(后续失败多为级联)
|
|
208
|
+
2. 每轮修复后完整重跑(不要跳步骤)
|
|
209
|
+
3. 全部通过后,再跑一轮确认稳定性(随机数/异步渲染可能有偶发)
|
|
210
|
+
4. 连续两轮全绿 → 交付
|
|
211
|
+
|
|
212
|
+
> 完整失败案例全记录与诊断决策树参见 [实战调试手册](references/DEBUG_PLAYBOOK.md)
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## Phase 4:交付确认
|
|
217
|
+
|
|
218
|
+
确认测试全部通过:
|
|
219
|
+
|
|
220
|
+
```bash
|
|
221
|
+
cd {workspaceDir} && cptf run -p harmony -t {testId}
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
确认最终报告:
|
|
225
|
+
|
|
226
|
+
```
|
|
227
|
+
{workspaceDir}/
|
|
228
|
+
└── test-reports/{timestamp}/harmony/
|
|
229
|
+
├── execution.log # 逐步骤日志
|
|
230
|
+
├── screenshots/ # 每步骤截图
|
|
231
|
+
└── report.html # 汇总报告
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
报告内容:
|
|
235
|
+
- 总步骤数 / 通过数 / 每步骤耗时
|
|
236
|
+
- 截图目录(test-reports/{timestamp}/harmony/screenshots/)
|
|
237
|
+
- 连续两轮全绿 → 交付完成
|