@hmos-library-adapter/fast 0.0.17-beta.0 → 0.0.17-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1879) hide show
  1. package/README.md +1 -5
  2. package/agent/orchestrator.md +19 -10
  3. package/node_modules/@hmos-library/fix/src/cli.js +1 -1
  4. package/node_modules/@hmos-library-adapter/executer/README.md +2 -2
  5. package/node_modules/@hmos-library-adapter/executer/shared/flutter/prompts/upgrade/CLAUDE.md +1 -1
  6. package/node_modules/@hmos-library-adapter/executer/shared/flutter/prompts/upgrade/upgrade-01-analysis.md +30 -2
  7. package/node_modules/@hmos-library-adapter/executer/shared/flutter/prompts/upgrade/upgrade-02-coding.md +22 -8
  8. package/node_modules/@hmos-library-adapter/executer/shared/rn/prompts/upgrade/CLAUDE.md +1 -1
  9. package/node_modules/@hmos-library-adapter/executer/shared/rn/prompts/upgrade/upgrade-01-analysis.md +33 -5
  10. package/node_modules/@hmos-library-adapter/executer/shared/rn/prompts/upgrade/upgrade-02-coding.md +21 -7
  11. package/node_modules/@hmos-library-adapter/executer/shared/sdk/prompts/upgrade/CLAUDE.md +1 -1
  12. package/node_modules/@hmos-library-adapter/executer/shared/sdk/prompts/upgrade/upgrade-01-analysis.md +23 -20
  13. package/node_modules/@hmos-library-adapter/executer/shared/sdk/prompts/upgrade/upgrade-02-coding.md +24 -11
  14. package/node_modules/@hmos-library-adapter/executer/shared/skill-map.json +5 -1
  15. package/node_modules/@hmos-library-adapter/executer/shared/skills/arkts-rules/SKILL.md +400 -0
  16. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/CHANGELOG.md +1391 -0
  17. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/COMPATIBILITY.md +53 -0
  18. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/README.md +123 -0
  19. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/SKILL.md +48 -0
  20. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/agents/upgrade-assess-change.md +37 -0
  21. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/agents/upgrade-fix-file.md +23 -0
  22. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/package.json +19 -0
  23. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/26.0.0/beta1-changes-for-all-apps.md +1793 -0
  24. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/26.0.0/beta1-ux-style-and-effect-changes.md +288 -0
  25. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/26.0.0/beta2-changes-for-all-apps.md +148 -0
  26. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/26.0.0/release-changes-for-all-apps.md +662 -0
  27. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.1(13)/beta3-os-api-behavior-changes.md +652 -0
  28. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.1(13)/beta3-ux-style-and-effect-changes.md +222 -0
  29. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.1(13)/release-os-api-behavior-changes.md +444 -0
  30. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.1(13)/release-ux-style-and-effect-changes.md +221 -0
  31. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.2(14)/os-api-behavior-changes.md +1767 -0
  32. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.2(14)/ux-style-and-effect-changes.md +134 -0
  33. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.3(15)/beta1-os-api-behavior-changes.md +430 -0
  34. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.3(15)/beta1-ux-style-and-effect-changes.md +49 -0
  35. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.3(15)/beta2-os-api-behavior-changes.md +240 -0
  36. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.3(15)/beta2-ux-style-and-effect-changes.md +90 -0
  37. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.3(15)/release-os-api-behavior-changes.md +69 -0
  38. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.1.0(18)/os-api-behavior-changes.md +1294 -0
  39. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.1.0(18)/ux-style-and-effect-changes.md +147 -0
  40. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/6.0.0(20)/beta1-os-api-behavior-changes.md +1019 -0
  41. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/6.0.0(20)/beta1-ux-style-and-effect-changes.md +153 -0
  42. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/6.0.0(20)/beta2-os-api-behavior-changes.md +662 -0
  43. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/6.0.0(20)/beta2-ux-style-and-effect-changes.md +78 -0
  44. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/6.0.0(20)/beta3-os-api-behavior-changes.md +167 -0
  45. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/6.0.0(20)/beta5-os-api-behavior-changes.md +52 -0
  46. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/6.1.0(23)/changes-for-all-apps.md +397 -0
  47. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs-index.json +883 -0
  48. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/common/arkts-coding-standards.md +53 -0
  49. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/common/compatibility.md +207 -0
  50. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/common/native-adaptation.md +21 -0
  51. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/common/runtime-functional-tests.md +62 -0
  52. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/common/sdk-versions.md +77 -0
  53. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/common/troubleshooting.md +54 -0
  54. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/common/verification.md +79 -0
  55. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/common/workflow-scan.md +41 -0
  56. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/deprecated/context-migration.md +274 -0
  57. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/deprecated/deprecated-api-adaptation.md +157 -0
  58. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/deprecated/deprecated-api-examples.md +219 -0
  59. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/toolchain/hvigor.md +50 -0
  60. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/upgrade/har-upgrade.md +60 -0
  61. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/upgrade/scanner-missed-cases.md +171 -0
  62. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/upgrade/upgrade-compatibility.md +112 -0
  63. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/upgrade/upgrade-examples.md +289 -0
  64. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/upgrade/upgrade-workflow.md +122 -0
  65. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/references/generate-behavior-policy.mjs +96 -0
  66. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/references/references.mjs +9 -0
  67. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/regression/compare-deprecated.mjs +57 -0
  68. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/regression/compare-golden.mjs +130 -0
  69. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/regression/regress-deprecated.mjs +120 -0
  70. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/behavior-catalog-generation.test.mjs +59 -0
  71. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/behavior-local-sources.test.mjs +44 -0
  72. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/changelog-index.test.mjs +66 -0
  73. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/compare-golden.test.mjs +103 -0
  74. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/fixtures/behavior/local-sources.csv +5 -0
  75. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/references.test.mjs +16 -0
  76. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/skill-content.test.mjs +139 -0
  77. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/skill-frontmatter.test.mjs +11 -0
  78. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/test-suite.test.mjs +65 -0
  79. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/validation/skill-content.mjs +125 -0
  80. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/validation/skill-frontmatter.mjs +6 -0
  81. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/validation/validate-skill.mjs +57 -0
  82. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/CHANGELOG.md +506 -0
  83. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/GOLDEN_VALIDATION.md +42 -0
  84. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/README.md +137 -0
  85. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/behavior/behavior-policy.mjs +117 -0
  86. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/behavior/upgrade-coverage.mjs +29 -0
  87. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/bin/deveco-worker-compat.cjs +21 -0
  88. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/bin/harmony-api-scan.mjs +17 -0
  89. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/core/cli.mjs +416 -0
  90. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/core/deveco.mjs +348 -0
  91. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/core/project.mjs +81 -0
  92. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/core/rules.mjs +425 -0
  93. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/core/runtime-identity.mjs +23 -0
  94. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/core/scan-runner.mjs +521 -0
  95. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/core/sdk-deprecations.mjs +204 -0
  96. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/data/behavior-change-policy.json +4378 -0
  97. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/deprecated/arkts-deprecations.mjs +363 -0
  98. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/deprecated/build-log.mjs +72 -0
  99. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/native/native.mjs +95 -0
  100. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/package.json +16 -0
  101. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/batch-layout.test.mjs +94 -0
  102. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/behavior-policy.test.mjs +75 -0
  103. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/build-log.test.mjs +69 -0
  104. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/cli.test.mjs +102 -0
  105. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/csv.test.mjs +35 -0
  106. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/deprecations.test.mjs +283 -0
  107. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/deveco.test.mjs +262 -0
  108. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/helpers/scan-batch.mjs +10 -0
  109. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/native.test.mjs +108 -0
  110. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/project.test.mjs +42 -0
  111. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/rules.test.mjs +190 -0
  112. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/runtime-identity.test.mjs +53 -0
  113. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/scan-mode.test.mjs +38 -0
  114. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/scan-runner.test.mjs +481 -0
  115. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/scan-scope.test.mjs +110 -0
  116. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/source-inputs.test.mjs +64 -0
  117. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/upgrade.test.mjs +164 -0
  118. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/format/args.mjs +66 -0
  119. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/format/csv.mjs +85 -0
  120. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/format/json5.mjs +92 -0
  121. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/format/upgrade-results.mjs +45 -0
  122. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/format/zip.mjs +87 -0
  123. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/io/fs-utils.mjs +60 -0
  124. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/artifact-layout.mjs +74 -0
  125. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/changelog-index.mjs +29 -0
  126. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/deveco-version.mjs +40 -0
  127. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/document-links.mjs +30 -0
  128. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/errors.mjs +41 -0
  129. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/fs.mjs +72 -0
  130. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/paths.mjs +34 -0
  131. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/process.mjs +154 -0
  132. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/scan-mode.mjs +7 -0
  133. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/scan-statistics.mjs +7 -0
  134. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/scan-version-catalog.json +43 -0
  135. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/scan-versions.mjs +51 -0
  136. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/sdk-layout.mjs +27 -0
  137. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/source-scope.mjs +108 -0
  138. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/source-types.mjs +7 -0
  139. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/version.mjs +76 -0
  140. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/deveco-version.test.mjs +50 -0
  141. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/document-links.test.mjs +13 -0
  142. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/errors.test.mjs +40 -0
  143. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/fs-utils.test.mjs +31 -0
  144. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/platform-paths.test.mjs +19 -0
  145. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/process-utils.test.mjs +68 -0
  146. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/scan-versions.test.mjs +26 -0
  147. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/sdk-version.test.mjs +17 -0
  148. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/upgrade-results.test.mjs +140 -0
  149. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/test-suite.mjs +29 -0
  150. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/templates/deprecated-report.md +86 -0
  151. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/templates/progress.md +150 -0
  152. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/templates/results.md +110 -0
  153. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/templates/upgrade-report.md +105 -0
  154. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/templates/upgrade-spec.md +58 -0
  155. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/templates/upgrade-test-report.md +47 -0
  156. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-knowledge/SKILL.md +70 -0
  157. package/node_modules/@hmos-library-adapter/executer/shared/upgrade-flutter/CLAUDE.md +1 -1
  158. package/node_modules/@hmos-library-adapter/executer/shared/upgrade-flutter/prompts/upgrade-01-analysis.md +30 -2
  159. package/node_modules/@hmos-library-adapter/executer/shared/upgrade-flutter/prompts/upgrade-02-coding.md +22 -8
  160. package/node_modules/@hmos-library-adapter/executer/shared/upgrade-rn/CLAUDE.md +1 -1
  161. package/node_modules/@hmos-library-adapter/executer/shared/upgrade-rn/prompts/upgrade-01-analysis.md +33 -5
  162. package/node_modules/@hmos-library-adapter/executer/shared/upgrade-rn/prompts/upgrade-02-coding.md +21 -7
  163. package/node_modules/@hmos-library-adapter/executer/shared/upgrade-sdk/CLAUDE.md +1 -1
  164. package/node_modules/@hmos-library-adapter/executer/shared/upgrade-sdk/prompts/upgrade-01-analysis.md +23 -20
  165. package/node_modules/@hmos-library-adapter/executer/shared/upgrade-sdk/prompts/upgrade-02-coding.md +24 -11
  166. package/node_modules/@hmos-library-adapter/executer/src/cli.js +1 -1
  167. package/node_modules/@hmos-library-adapter/executer/src/config.js +3 -4
  168. package/node_modules/@hmos-library-adapter/executer/src/doctor.js +1 -1
  169. package/node_modules/@hmos-library-adapter/executer/src/install.js +1 -1
  170. package/node_modules/@hmos-library-adapter/executer/src/paths.js +4 -4
  171. package/node_modules/@ohos-agent/pc-adapter/.claude-plugin/marketplace.json +24 -0
  172. package/node_modules/@ohos-agent/pc-adapter/.claude-plugin/plugin.json +15 -0
  173. package/node_modules/@ohos-agent/pc-adapter/README.md +271 -0
  174. package/node_modules/@ohos-agent/pc-adapter/agents/pc-01-analyze.md +115 -0
  175. package/node_modules/@ohos-agent/pc-adapter/agents/pc-02-dev-test-cases.md +117 -0
  176. package/node_modules/@ohos-agent/pc-adapter/agents/pc-03-dev-adapt-code.md +119 -0
  177. package/node_modules/@ohos-agent/pc-adapter/agents/pc-03-dev-verify.md +66 -0
  178. package/node_modules/@ohos-agent/pc-adapter/agents/pc-04-summary.md +97 -0
  179. package/node_modules/@ohos-agent/pc-adapter/agents/pc-adapter.md +130 -0
  180. package/node_modules/@ohos-agent/pc-adapter/agents/qt5-compat-fixer.md +253 -0
  181. package/node_modules/@ohos-agent/pc-adapter/dist/agent-cli.js +3108 -0
  182. package/node_modules/@ohos-agent/pc-adapter/dist/claude-progress.mjs +19 -0
  183. package/node_modules/@ohos-agent/pc-adapter/dist/cli.js +301 -0
  184. package/node_modules/@ohos-agent/pc-adapter/dist/hub-embed.js +18664 -0
  185. package/node_modules/@ohos-agent/pc-adapter/dist/opencode-progress.js +20 -0
  186. package/node_modules/@ohos-agent/pc-adapter/dist/opencode-tui.tsx +68 -0
  187. package/node_modules/@ohos-agent/pc-adapter/dist/plugin.js +18663 -0
  188. package/node_modules/@ohos-agent/pc-adapter/dist/validate-on-write.mjs +646 -0
  189. package/node_modules/@ohos-agent/pc-adapter/hooks/hooks.json +173 -0
  190. package/node_modules/@ohos-agent/pc-adapter/opencode/agents.json +80 -0
  191. package/node_modules/@ohos-agent/pc-adapter/package.json +108 -0
  192. package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/SKILL.md +148 -0
  193. package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/README_zh.md +36 -0
  194. package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/aggregate/other_language//343/200/220Go/350/257/255/350/250/200/343/200/221/345/272/224/347/224/250/345/274/200/345/217/221/346/214/207/345/257/274.md +15 -0
  195. package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/aggregate/other_language//343/200/220Pascal/350/257/255/350/250/200/343/200/221FPC/344/272/244/345/217/211/347/274/226/350/257/221/347/216/257/345/242/203/346/220/255/345/273/272.md +103 -0
  196. package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/aggregate/readme.md +4 -0
  197. package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/aggregate//343/200/220/344/270/211/346/226/271/345/272/223/343/200/221/345/274/200/346/272/220/344/270/211/346/226/271/345/272/223/346/214/207/345/257/274/346/226/207/346/241/243.md +25 -0
  198. package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/aggregate//343/200/220/344/270/211/346/226/271/345/272/223/351/270/277/350/222/231/345/214/226/350/277/201/347/247/273/345/267/245/345/205/267/343/200/221/346/261/207/346/200/273.md +22 -0
  199. package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/aggregate//343/200/220/345/221/275/344/273/244/350/241/214/343/200/221/345/274/200/346/272/220/345/221/275/344/273/244/350/241/214/346/261/207/346/200/273.md +38 -0
  200. package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/aggregate//343/200/220/350/267/250/345/271/263/345/217/260/346/241/206/346/236/266/343/200/221Electron/350/265/204/346/272/220/346/261/207/346/200/273.md +115 -0
  201. package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/aggregate//343/200/220/350/267/250/345/271/263/345/217/260/346/241/206/346/236/266/343/200/221Qt/350/265/204/346/272/220/346/261/207/346/200/273.md +107 -0
  202. package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/aggregate//343/200/220/350/277/220/350/241/214/346/227/266/343/200/221/345/274/200/346/272/220/350/277/220/350/241/214/346/227/266/346/261/207/346/200/273.md +64 -0
  203. package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/aggregate//343/200/220/351/270/277/350/222/231PC/345/274/200/346/272/220/345/272/224/347/224/250/343/200/221/345/274/200/346/272/220/345/272/224/347/224/250/346/261/207/346/200/273.md +93 -0
  204. package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/aggregate//344/270/211/346/226/271/345/272/223.md +3 -0
  205. package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/contribute/adapter-guide/c_c++/347/247/273/346/244/215/351/200/202/351/205/215/346/214/207/345/257/274.md +87 -0
  206. package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/contribute/adapter-guide/js/347/247/273/346/244/215/351/200/202/351/205/215/346/214/207/345/257/274.md +76 -0
  207. package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/contribute/adapter-guide/readme.md +1 -0
  208. package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/contribute/adapter-guide//344/270/211/346/226/271/345/272/223/350/264/241/347/214/256/346/214/207/345/257/274-Agent-AtomCode/347/211/210.md +221 -0
  209. package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/contribute/adapter-guide//344/270/211/346/226/271/345/272/223/350/264/241/347/214/256/346/214/207/345/257/274-Agent-OpenDesk/347/211/210.md +258 -0
  210. package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/contribute/adapter-guide//345/221/275/344/273/244/350/241/214_C_C++/344/270/211/346/226/271/345/272/223/350/264/241/347/214/256/346/214/207/345/257/274.md +298 -0
  211. package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/contribute/develop-guide//351/270/277/350/222/231/345/272/224/347/224/250/345/265/214/345/205/245Java/350/277/220/350/241/214/346/227/266-ArkTS/344/270/216JVM/346/267/267/345/220/210/345/274/200/345/217/221/345/256/236/346/210/230.md +609 -0
  212. package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/contribute/develop-guide//351/270/277/350/222/231/345/272/224/347/224/250/345/265/214/345/205/245Node.js/350/277/220/350/241/214/346/227/266-ArkTS/344/270/216Node.js/346/267/267/345/220/210/345/274/200/345/217/221/345/256/236/346/210/230.md +748 -0
  213. package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/contribute/develop-guide//351/270/277/350/222/231/345/272/224/347/224/250/345/265/214/345/205/245Python/350/277/220/350/241/214/346/227/266-ArkTS/344/270/216CPython/346/267/267/345/220/210/345/274/200/345/217/221/345/256/236/346/210/230.md +617 -0
  214. package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references//350/265/204/346/272/220/346/225/264/347/220/206.md +41 -0
  215. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/SKILL.md +68 -0
  216. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/faqs/faqs-building.md +243 -0
  217. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/faqs/faqs-environment-setup.md +267 -0
  218. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/faqs/faqs-kernel.md +88 -0
  219. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/faqs/faqs-overview.md +180 -0
  220. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/faqs/faqs-porting.md +18 -0
  221. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/faqs/faqs-startup.md +290 -0
  222. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/get-code/gettools-acquire.md +242 -0
  223. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/get-code/gettools-overview.md +10 -0
  224. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/get-code/sourcecode-acquire.md +259 -0
  225. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/kernel/kernel-overview.md +177 -0
  226. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/kernel/kernel-small-apx-dll.md +124 -0
  227. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/kernel/kernel-small-apx-library.md +285 -0
  228. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/kernel/kernel-standard-build.md +18 -0
  229. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/kernel/kernel-standard-hck.md +144 -0
  230. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/kernel/kernel-standard-overview.md +18 -0
  231. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/kernel/kernel-standard-patch.md +26 -0
  232. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/porting/Readme-CN.md +70 -0
  233. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/porting/porting-chip-faqs.md +18 -0
  234. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/porting/porting-dayu200-on_standard-demo.md +3488 -0
  235. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/porting/porting-linux-kernel.md +317 -0
  236. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/porting/porting-smallchip-kernel-linux.md +119 -0
  237. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/porting/porting-smallchip-prepare-building.md +144 -0
  238. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/porting/porting-smallchip-prepare-needs.md +23 -0
  239. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/porting/porting-thirdparty-cmake.md +297 -0
  240. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/porting/porting-thirdparty-makefile.md +191 -0
  241. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/porting/porting-thirdparty-overview.md +4 -0
  242. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/porting/porting-yangfan-on_standard-demo.md +1685 -0
  243. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/porting/standard-system-porting-guide.md +420 -0
  244. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/security-guidelines-overall.md +218 -0
  245. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-app-privilege-config-guide.md +183 -0
  246. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-boot-appspawn.md +178 -0
  247. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-boot-deviceboot.md +521 -0
  248. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-boot-init-cfg.md +94 -0
  249. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-boot-init-faqs.md +191 -0
  250. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-boot-init-jobs.md +161 -0
  251. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-boot-init-plugin.md +215 -0
  252. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-boot-init-sandbox.md +173 -0
  253. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-boot-init-seccomp.md +603 -0
  254. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-boot-init-service.md +351 -0
  255. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-boot-init-sysparam.md +578 -0
  256. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-boot-init-ueventd.md +99 -0
  257. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-boot-overview.md +31 -0
  258. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-FAQ.md +112 -0
  259. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-all.md +357 -0
  260. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-bindgen-cxx-guide.md +423 -0
  261. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-cargo2gn-guide.md +94 -0
  262. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-chip_solution.md +95 -0
  263. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-component-building-rules.md +279 -0
  264. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-component.md +196 -0
  265. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-feature.md +70 -0
  266. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-gn-coding-style-and-best-practice.md +513 -0
  267. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-gn-hap-compilation-guide.md +335 -0
  268. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-gn-kconfig-visual-config-guide.md +114 -0
  269. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-module.md +549 -0
  270. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-product.md +337 -0
  271. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-reference.md +252 -0
  272. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-rust-compilation.md +368 -0
  273. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-rust-toolchain.md +171 -0
  274. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-subsystem.md +32 -0
  275. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-syscap.md +48 -0
  276. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-dfx-faultlogger.md +357 -0
  277. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-dfx-hiappevent-extend-so.md +149 -0
  278. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-dfx-hichecker.md +119 -0
  279. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-dfx-hicollie.md +101 -0
  280. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-dfx-hidumper.md +201 -0
  281. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-dfx-hilog-lite.md +70 -0
  282. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-dfx-hilog-rich.md +107 -0
  283. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-dfx-hisysevent-logging.md +372 -0
  284. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-dfx-hisysevent-overview.md +22 -0
  285. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-dfx-hitracechain.md +240 -0
  286. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-dfx-hitracemeter.md +354 -0
  287. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-dfx-hiview.md +197 -0
  288. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-dfx-overview.md +51 -0
  289. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-preinstall-app-config-guide.md +95 -0
  290. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-overview.md +65 -0
  291. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-selinux-check.md +1201 -0
  292. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-selinux-checklist.md +69 -0
  293. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-selinux-compile.md +44 -0
  294. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-selinux-develop-intro.md +118 -0
  295. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-selinux-faq.md +75 -0
  296. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-selinux-func.md +39 -0
  297. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-selinux-mcs.md +49 -0
  298. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-selinux-overview.md +59 -0
  299. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-selinux-sample-domain.md +113 -0
  300. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-selinux-sample-file.md +68 -0
  301. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-selinux-sample-param.md +41 -0
  302. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-selinux-sample-sa.md +38 -0
  303. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-sigverify.md +62 -0
  304. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-toolchain-bytrace-guide.md +70 -0
  305. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-toolchain-hdc-guide.md +2718 -0
  306. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-toolchain-hiperf.md +363 -0
  307. package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-utils-guide.md +36 -0
  308. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/SKILL.md +87 -0
  309. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/app-permissions-lists.json +217 -0
  310. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/app-permissions.md +57 -0
  311. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/app-self-update.md +217 -0
  312. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/audio.md +91 -0
  313. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/clipboard.md +42 -0
  314. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/file-picker.md +399 -0
  315. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/gl-rendering/00-overview.md +79 -0
  316. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/gl-rendering/01-route-gles-vs-gl4es.md +80 -0
  317. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/gl-rendering/02-imm-mode-font-menu.md +47 -0
  318. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/gl-rendering/03-glu-cross-compile.md +17 -0
  319. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/gl-rendering/04-verification-pitfalls.md +36 -0
  320. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/gl-rendering/05-coordinate-contract.md +48 -0
  321. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/gpu-compute.md +77 -0
  322. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/graphical-window.md +66 -0
  323. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/input.md +25 -0
  324. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/media-capture.md +35 -0
  325. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/network.md +56 -0
  326. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/qt-toolchain.md +48 -0
  327. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/runtime-data-assets.md +176 -0
  328. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/serial-port.md +36 -0
  329. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/subprocess-exec.md +79 -0
  330. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/swing-jdk-gui.md +49 -0
  331. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/system-file-icon.md +116 -0
  332. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/sysv-ipc.md +51 -0
  333. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/terminal-render.md +77 -0
  334. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/terminal-runtime.md +46 -0
  335. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/terminal-tui.md +71 -0
  336. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/tray.md +43 -0
  337. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/usb-host.md +82 -0
  338. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/requirements/R001.kv +14 -0
  339. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/requirements/R002.kv +14 -0
  340. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/requirements/_template.kv +21 -0
  341. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohaudio-backend/PORTING_NOTES.md +123 -0
  342. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohaudio-backend/README.md +76 -0
  343. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohaudio-backend/liba52/evidence.md +61 -0
  344. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohaudio-backend/libout123/ohaudio-module.md +70 -0
  345. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-libusb-ddk/api-mapping.md +86 -0
  346. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-libusb-ddk/evaluation.md +124 -0
  347. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-libusb-ddk/libusb-ndk-symbols.txt +21 -0
  348. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/ARCHITECTURE.md +418 -0
  349. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/README.md +89 -0
  350. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/arkts-host/OWBWindowControl.ets +36 -0
  351. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/arkts-host/README.md +39 -0
  352. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/docs/EXAMPLE-GLFW.md +288 -0
  353. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/docs/PORTING_KIT.md +120 -0
  354. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/examples/gl-rendering-lib-host/README.md +79 -0
  355. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/examples/gl-rendering-lib-host/cpp/CMakeLists-snippet.cmake +30 -0
  356. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/examples/gl-rendering-lib-host/cpp/gl_rendering_host.cpp +226 -0
  357. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/examples/glfw-triangle/README.md +25 -0
  358. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/examples/glfw-triangle/cpp/CMakeLists.txt +57 -0
  359. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/examples/glfw-triangle/cpp/glfw_triangle.cpp +200 -0
  360. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/examples/glfw-triangle/ets/Index.ets +33 -0
  361. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/include/ohos_window_bridge.h +197 -0
  362. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/napi/owb_napi.cpp +273 -0
  363. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/napi/owb_napi.h +35 -0
  364. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/napi/owb_ohos_app.h +75 -0
  365. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/napi/owb_ohos_python_app.h +92 -0
  366. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/src/bridge.c +604 -0
  367. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/templates/skeleton-backend/README.md +19 -0
  368. package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/templates/skeleton-backend/skeleton_backend.c +107 -0
  369. package/node_modules/@ohos-agent/pc-adapter/skills/pc-delivery-forms/SKILL.md +78 -0
  370. package/node_modules/@ohos-agent/pc-adapter/skills/pc-delivery-forms/references/forms/app.md +94 -0
  371. package/node_modules/@ohos-agent/pc-adapter/skills/pc-delivery-forms/references/languages/java.md +53 -0
  372. package/node_modules/@ohos-agent/pc-adapter/skills/pc-delivery-forms/references/languages/node.md +98 -0
  373. package/node_modules/@ohos-agent/pc-adapter/skills/pc-delivery-forms/references/languages/python.md +245 -0
  374. package/node_modules/@ohos-agent/pc-adapter/skills/pc-delivery-forms/references/languages/rust.md +68 -0
  375. package/node_modules/@ohos-agent/pc-adapter/skills/pc-device-verify/SKILL.md +260 -0
  376. package/node_modules/@ohos-agent/pc-adapter/skills/pc-device-verify/references/channel-hishell.md +63 -0
  377. package/node_modules/@ohos-agent/pc-adapter/skills/pc-device-verify/references/cli-batch-exec.md +65 -0
  378. package/node_modules/@ohos-agent/pc-adapter/skills/pc-device-verify/references/domain-hdc-shell.md +68 -0
  379. package/node_modules/@ohos-agent/pc-adapter/skills/pc-device-verify/references/failure-triage.md +164 -0
  380. package/node_modules/@ohos-agent/pc-adapter/skills/pc-device-verify/references/hap-verify.md +231 -0
  381. package/node_modules/@ohos-agent/pc-adapter/skills/pc-device-verify/references/python-verify.md +63 -0
  382. package/node_modules/@ohos-agent/pc-adapter/skills/pc-device-verify/references/runner-script-wiring.md +86 -0
  383. package/node_modules/@ohos-agent/pc-adapter/skills/pc-device-verify/references/terminal-buffer-assert.py +128 -0
  384. package/node_modules/@ohos-agent/pc-adapter/skills/pc-device-verify/scripts/device_verify.py +206 -0
  385. package/node_modules/@ohos-agent/pc-adapter/skills/pc-device-verify/scripts/hishell_driver.sh +148 -0
  386. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/SKILL.md +123 -0
  387. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/error-index.json +12148 -0
  388. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/error-index.md +680 -0
  389. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E001.md +44 -0
  390. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E002.md +44 -0
  391. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E003.md +53 -0
  392. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E004.md +61 -0
  393. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E005.md +43 -0
  394. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E006.md +62 -0
  395. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E007.md +82 -0
  396. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E008.md +59 -0
  397. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E009.md +44 -0
  398. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E010.md +49 -0
  399. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E011.md +83 -0
  400. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E012.md +44 -0
  401. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E013.md +44 -0
  402. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E014.md +47 -0
  403. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E015.md +61 -0
  404. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E016.md +44 -0
  405. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E017.md +60 -0
  406. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E018.md +55 -0
  407. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E019.md +55 -0
  408. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E020.md +58 -0
  409. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E021.md +49 -0
  410. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E022.md +39 -0
  411. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E023.md +44 -0
  412. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E024.md +39 -0
  413. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E025.md +41 -0
  414. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E026.md +56 -0
  415. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E027.md +44 -0
  416. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E028.md +62 -0
  417. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E029.md +45 -0
  418. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E030.md +44 -0
  419. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E031.md +46 -0
  420. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E032.md +56 -0
  421. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E033.md +49 -0
  422. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E034.md +53 -0
  423. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E035.md +56 -0
  424. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E036.md +53 -0
  425. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E037.md +67 -0
  426. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E038.md +61 -0
  427. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E039.md +56 -0
  428. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E040.md +58 -0
  429. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E041.md +57 -0
  430. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E042.md +65 -0
  431. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E043.md +61 -0
  432. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E044.md +64 -0
  433. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E045.md +59 -0
  434. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E046.md +42 -0
  435. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E047.md +41 -0
  436. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E048.md +40 -0
  437. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E049.md +63 -0
  438. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E050.md +64 -0
  439. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E051.md +63 -0
  440. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E052.md +55 -0
  441. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E053.md +65 -0
  442. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E054.md +52 -0
  443. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E055.md +41 -0
  444. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E056.md +61 -0
  445. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E057.md +47 -0
  446. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E058.md +67 -0
  447. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E059.md +69 -0
  448. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E060.md +68 -0
  449. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E061.md +45 -0
  450. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E062.md +44 -0
  451. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E063.md +48 -0
  452. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E064.md +65 -0
  453. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E065.md +52 -0
  454. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E066.md +59 -0
  455. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E067.md +62 -0
  456. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E068.md +43 -0
  457. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E069.md +68 -0
  458. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E070.md +61 -0
  459. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E071.md +63 -0
  460. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E072.md +79 -0
  461. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E073.md +68 -0
  462. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E074.md +65 -0
  463. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E075.md +72 -0
  464. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E076.md +71 -0
  465. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E077.md +92 -0
  466. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E078.md +85 -0
  467. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E079.md +67 -0
  468. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E080.md +76 -0
  469. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E081.md +68 -0
  470. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E082.md +78 -0
  471. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E083.md +80 -0
  472. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E084.md +87 -0
  473. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E085.md +91 -0
  474. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E086.md +59 -0
  475. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E087.md +57 -0
  476. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E088.md +72 -0
  477. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E089.md +65 -0
  478. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E090.md +63 -0
  479. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E091.md +76 -0
  480. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E092.md +72 -0
  481. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E093.md +74 -0
  482. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E094.md +87 -0
  483. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E095.md +70 -0
  484. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E096.md +51 -0
  485. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E097.md +46 -0
  486. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E098.md +41 -0
  487. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E099.md +65 -0
  488. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E100.md +41 -0
  489. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E101.md +38 -0
  490. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E102.md +57 -0
  491. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E103.md +49 -0
  492. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E104.md +49 -0
  493. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E105.md +65 -0
  494. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E106.md +40 -0
  495. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E107.md +39 -0
  496. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E108.md +58 -0
  497. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E109.md +42 -0
  498. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E110.md +47 -0
  499. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E111.md +40 -0
  500. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E112.md +49 -0
  501. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E113.md +41 -0
  502. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E114.md +59 -0
  503. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E115.md +40 -0
  504. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E116.md +59 -0
  505. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E117.md +56 -0
  506. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E118.md +40 -0
  507. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E119.md +48 -0
  508. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E120.md +52 -0
  509. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E121.md +59 -0
  510. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E122.md +59 -0
  511. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E123.md +40 -0
  512. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E124.md +39 -0
  513. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E125.md +66 -0
  514. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E126.md +56 -0
  515. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E127.md +56 -0
  516. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E128.md +40 -0
  517. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E129.md +56 -0
  518. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E130.md +40 -0
  519. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E131.md +55 -0
  520. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E132.md +51 -0
  521. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E133.md +41 -0
  522. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E134.md +44 -0
  523. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E135.md +57 -0
  524. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E136.md +40 -0
  525. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E137.md +40 -0
  526. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E138.md +57 -0
  527. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E139.md +50 -0
  528. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E140.md +40 -0
  529. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E141.md +57 -0
  530. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E142.md +56 -0
  531. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E143.md +49 -0
  532. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E144.md +56 -0
  533. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E145.md +54 -0
  534. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E146.md +57 -0
  535. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E147.md +62 -0
  536. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E148.md +55 -0
  537. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E149.md +36 -0
  538. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E150.md +57 -0
  539. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E151.md +55 -0
  540. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E152.md +44 -0
  541. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E153.md +63 -0
  542. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E154.md +65 -0
  543. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E155.md +51 -0
  544. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E156.md +64 -0
  545. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E157.md +53 -0
  546. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E158.md +52 -0
  547. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E159.md +57 -0
  548. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E160.md +40 -0
  549. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E161.md +62 -0
  550. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E162.md +61 -0
  551. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E163.md +53 -0
  552. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E164.md +64 -0
  553. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E165.md +57 -0
  554. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E166.md +48 -0
  555. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E167.md +39 -0
  556. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E168.md +40 -0
  557. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E169.md +60 -0
  558. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E170.md +58 -0
  559. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E171.md +51 -0
  560. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E172.md +57 -0
  561. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E173.md +42 -0
  562. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E174.md +66 -0
  563. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E175.md +60 -0
  564. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E176.md +56 -0
  565. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E177.md +38 -0
  566. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E178.md +39 -0
  567. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E179.md +38 -0
  568. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E180.md +40 -0
  569. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E181.md +70 -0
  570. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E182.md +36 -0
  571. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E183.md +76 -0
  572. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E184.md +57 -0
  573. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E185.md +37 -0
  574. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E186.md +54 -0
  575. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E187.md +40 -0
  576. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E188.md +36 -0
  577. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E189.md +39 -0
  578. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E190.md +74 -0
  579. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E191.md +40 -0
  580. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E192.md +39 -0
  581. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E193.md +64 -0
  582. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E194.md +63 -0
  583. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E195.md +57 -0
  584. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E196.md +39 -0
  585. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E197.md +56 -0
  586. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E198.md +52 -0
  587. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E199.md +52 -0
  588. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E200.md +40 -0
  589. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E201.md +40 -0
  590. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E202.md +40 -0
  591. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E203.md +40 -0
  592. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E204.md +46 -0
  593. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E205.md +46 -0
  594. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E206.md +42 -0
  595. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E207.md +66 -0
  596. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E208.md +40 -0
  597. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E209.md +39 -0
  598. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E210.md +40 -0
  599. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E211.md +44 -0
  600. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E212.md +66 -0
  601. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E213.md +55 -0
  602. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E214.md +62 -0
  603. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E215.md +58 -0
  604. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E216.md +69 -0
  605. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E217.md +45 -0
  606. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E218.md +65 -0
  607. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E219.md +50 -0
  608. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E220.md +96 -0
  609. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E221.md +63 -0
  610. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E222.md +57 -0
  611. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E223.md +67 -0
  612. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E224.md +68 -0
  613. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E225.md +56 -0
  614. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E226.md +59 -0
  615. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E227.md +56 -0
  616. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E228.md +62 -0
  617. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E229.md +62 -0
  618. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E230.md +62 -0
  619. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E231.md +59 -0
  620. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E232.md +62 -0
  621. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E233.md +58 -0
  622. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E234.md +57 -0
  623. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E235.md +69 -0
  624. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E236.md +74 -0
  625. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E237.md +81 -0
  626. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E238.md +62 -0
  627. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E239.md +55 -0
  628. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E240.md +58 -0
  629. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E241.md +80 -0
  630. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E242.md +65 -0
  631. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E243.md +58 -0
  632. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E244.md +58 -0
  633. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E245.md +75 -0
  634. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E246.md +92 -0
  635. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E247.md +62 -0
  636. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E248.md +63 -0
  637. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E249.md +52 -0
  638. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E250.md +62 -0
  639. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E251.md +68 -0
  640. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E252.md +58 -0
  641. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E253.md +79 -0
  642. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E254.md +77 -0
  643. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E255.md +94 -0
  644. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E256.md +61 -0
  645. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E257.md +57 -0
  646. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E258.md +38 -0
  647. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E259.md +59 -0
  648. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E260.md +58 -0
  649. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E261.md +57 -0
  650. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E262.md +53 -0
  651. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E263.md +52 -0
  652. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E264.md +73 -0
  653. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E265.md +84 -0
  654. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E266.md +61 -0
  655. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E267.md +55 -0
  656. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E268.md +40 -0
  657. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E269.md +57 -0
  658. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E270.md +69 -0
  659. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E271.md +62 -0
  660. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E272.md +50 -0
  661. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E273.md +40 -0
  662. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E274.md +58 -0
  663. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E275.md +40 -0
  664. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E276.md +40 -0
  665. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E277.md +73 -0
  666. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E278.md +59 -0
  667. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E279.md +47 -0
  668. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E280.md +59 -0
  669. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E281.md +70 -0
  670. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E282.md +57 -0
  671. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E283.md +45 -0
  672. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E284.md +57 -0
  673. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E285.md +63 -0
  674. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E286.md +89 -0
  675. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E287.md +87 -0
  676. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E288.md +47 -0
  677. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E289.md +67 -0
  678. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E290.md +67 -0
  679. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E291.md +55 -0
  680. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E292.md +81 -0
  681. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E293.md +74 -0
  682. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E294.md +59 -0
  683. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E295.md +58 -0
  684. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E296.md +58 -0
  685. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E297.md +49 -0
  686. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E298.md +62 -0
  687. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E299.md +69 -0
  688. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E300.md +48 -0
  689. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E301.md +55 -0
  690. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E302.md +56 -0
  691. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E303.md +65 -0
  692. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E304.md +56 -0
  693. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E305.md +76 -0
  694. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E306.md +56 -0
  695. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E307.md +73 -0
  696. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E308.md +68 -0
  697. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E309.md +62 -0
  698. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E310.md +65 -0
  699. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E311.md +56 -0
  700. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E312.md +46 -0
  701. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E313.md +43 -0
  702. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E314.md +72 -0
  703. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E315.md +79 -0
  704. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E316.md +66 -0
  705. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E317.md +68 -0
  706. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E318.md +68 -0
  707. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E319.md +83 -0
  708. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E320.md +71 -0
  709. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E321.md +80 -0
  710. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E322.md +74 -0
  711. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E323.md +52 -0
  712. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E324.md +58 -0
  713. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E325.md +55 -0
  714. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E326.md +50 -0
  715. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E327.md +57 -0
  716. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E328.md +61 -0
  717. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E329.md +58 -0
  718. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E330.md +62 -0
  719. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E331.md +66 -0
  720. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E332.md +58 -0
  721. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E333.md +63 -0
  722. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E334.md +57 -0
  723. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E335.md +34 -0
  724. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E336.md +34 -0
  725. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E337.md +34 -0
  726. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E338.md +42 -0
  727. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E339.md +66 -0
  728. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E340.md +84 -0
  729. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E341.md +67 -0
  730. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E342.md +73 -0
  731. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E343.md +38 -0
  732. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E344.md +38 -0
  733. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E345.md +73 -0
  734. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E346.md +52 -0
  735. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E347.md +38 -0
  736. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E348.md +126 -0
  737. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E349.md +85 -0
  738. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E350.md +56 -0
  739. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E351.md +42 -0
  740. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E352.md +79 -0
  741. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E353.md +59 -0
  742. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E354.md +69 -0
  743. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E355.md +45 -0
  744. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E356.md +79 -0
  745. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E357.md +77 -0
  746. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E358.md +59 -0
  747. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E359.md +69 -0
  748. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E360.md +64 -0
  749. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E361.md +63 -0
  750. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E362.md +72 -0
  751. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E363.md +76 -0
  752. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E364.md +60 -0
  753. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E365.md +57 -0
  754. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E366.md +66 -0
  755. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E367.md +34 -0
  756. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E368.md +57 -0
  757. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E369.md +65 -0
  758. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E370.md +59 -0
  759. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E371.md +58 -0
  760. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E372.md +56 -0
  761. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E373.md +51 -0
  762. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E374.md +64 -0
  763. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E375.md +47 -0
  764. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E376.md +47 -0
  765. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E377.md +47 -0
  766. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E378.md +47 -0
  767. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E379.md +53 -0
  768. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E380.md +49 -0
  769. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E381.md +48 -0
  770. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E382.md +68 -0
  771. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E383.md +61 -0
  772. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E384.md +72 -0
  773. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E385.md +72 -0
  774. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E386.md +93 -0
  775. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E387.md +55 -0
  776. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E388.md +75 -0
  777. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E389.md +69 -0
  778. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E390.md +40 -0
  779. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E391.md +40 -0
  780. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E392.md +72 -0
  781. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E393.md +57 -0
  782. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E394.md +64 -0
  783. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E395.md +60 -0
  784. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E396.md +58 -0
  785. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E397.md +38 -0
  786. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E398.md +78 -0
  787. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E399.md +42 -0
  788. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E400.md +93 -0
  789. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E401.md +58 -0
  790. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E402.md +62 -0
  791. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E403.md +58 -0
  792. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E404.md +56 -0
  793. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E405.md +71 -0
  794. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E406.md +71 -0
  795. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E407.md +49 -0
  796. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E408.md +54 -0
  797. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E409.md +65 -0
  798. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E410.md +66 -0
  799. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E411.md +57 -0
  800. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E412.md +61 -0
  801. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E413.md +77 -0
  802. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E414.md +74 -0
  803. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E415.md +62 -0
  804. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E416.md +68 -0
  805. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E417.md +63 -0
  806. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E418.md +58 -0
  807. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E419.md +58 -0
  808. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E420.md +62 -0
  809. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E421.md +48 -0
  810. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E422.md +38 -0
  811. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E423.md +73 -0
  812. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E424.md +53 -0
  813. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E425.md +57 -0
  814. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E426.md +56 -0
  815. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E427.md +61 -0
  816. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E428.md +60 -0
  817. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E430.md +50 -0
  818. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E431.md +60 -0
  819. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E432.md +60 -0
  820. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E433.md +44 -0
  821. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E434.md +40 -0
  822. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E435.md +57 -0
  823. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E436.md +40 -0
  824. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E437.md +38 -0
  825. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E438.md +38 -0
  826. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E439.md +38 -0
  827. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E440.md +39 -0
  828. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E441.md +40 -0
  829. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E442.md +59 -0
  830. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E443.md +70 -0
  831. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E444.md +83 -0
  832. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E445.md +63 -0
  833. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E446.md +73 -0
  834. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E447.md +94 -0
  835. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E448.md +90 -0
  836. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E449.md +87 -0
  837. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E450.md +77 -0
  838. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E451.md +82 -0
  839. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E452.md +66 -0
  840. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E453.md +62 -0
  841. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E454.md +34 -0
  842. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E455.md +74 -0
  843. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E456.md +61 -0
  844. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E457.md +34 -0
  845. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E458.md +92 -0
  846. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E459.md +70 -0
  847. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E460.md +76 -0
  848. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E461.md +34 -0
  849. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E462.md +34 -0
  850. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E463.md +52 -0
  851. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E464.md +55 -0
  852. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E465.md +71 -0
  853. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E466.md +40 -0
  854. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E467.md +51 -0
  855. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E468.md +56 -0
  856. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E469.md +46 -0
  857. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E470.md +68 -0
  858. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E471.md +72 -0
  859. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E472.md +68 -0
  860. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E473.md +85 -0
  861. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E474.md +60 -0
  862. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E475.md +60 -0
  863. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E476.md +62 -0
  864. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E477.md +73 -0
  865. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E478.md +44 -0
  866. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E480.md +76 -0
  867. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E481.md +63 -0
  868. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E482.md +52 -0
  869. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E483.md +64 -0
  870. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E484.md +46 -0
  871. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E485.md +72 -0
  872. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E486.md +79 -0
  873. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E487.md +66 -0
  874. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E488.md +71 -0
  875. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E489.md +66 -0
  876. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E490.md +63 -0
  877. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E491.md +70 -0
  878. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E492.md +73 -0
  879. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E493.md +38 -0
  880. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E494.md +40 -0
  881. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E495.md +38 -0
  882. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E496.md +39 -0
  883. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E497.md +65 -0
  884. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E498.md +62 -0
  885. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E499.md +57 -0
  886. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E500.md +39 -0
  887. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E501.md +62 -0
  888. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E502.md +72 -0
  889. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E503.md +56 -0
  890. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E504.md +57 -0
  891. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E505.md +63 -0
  892. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E506.md +47 -0
  893. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E507.md +51 -0
  894. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E508.md +68 -0
  895. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E509.md +97 -0
  896. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E510.md +95 -0
  897. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E511.md +73 -0
  898. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E512.md +39 -0
  899. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E513.md +64 -0
  900. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E514.md +40 -0
  901. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E515.md +39 -0
  902. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E516.md +91 -0
  903. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E517.md +55 -0
  904. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E518.md +73 -0
  905. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E519.md +38 -0
  906. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E520.md +38 -0
  907. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E521.md +60 -0
  908. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E522.md +88 -0
  909. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E523.md +60 -0
  910. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E524.md +72 -0
  911. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E525.md +72 -0
  912. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E526.md +57 -0
  913. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E527.md +103 -0
  914. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E528.md +64 -0
  915. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E529.md +62 -0
  916. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E530.md +73 -0
  917. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E531.md +68 -0
  918. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E532.md +76 -0
  919. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E533.md +116 -0
  920. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E534.md +54 -0
  921. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E535.md +91 -0
  922. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E536.md +84 -0
  923. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E537.md +88 -0
  924. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E538.md +86 -0
  925. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E539.md +58 -0
  926. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E540.md +57 -0
  927. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E541.md +59 -0
  928. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E542.md +53 -0
  929. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E543.md +69 -0
  930. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E544.md +40 -0
  931. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L001.md +42 -0
  932. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L002.md +53 -0
  933. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L003.md +35 -0
  934. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L004.md +31 -0
  935. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L005.md +33 -0
  936. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L006.md +36 -0
  937. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L007.md +78 -0
  938. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L008.md +75 -0
  939. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L009.md +81 -0
  940. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L010.md +64 -0
  941. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L011.md +64 -0
  942. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L012.md +82 -0
  943. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L013.md +53 -0
  944. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L014.md +92 -0
  945. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L015.md +60 -0
  946. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L016.md +83 -0
  947. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L017.md +89 -0
  948. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L018.md +77 -0
  949. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L019.md +72 -0
  950. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L020.md +82 -0
  951. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L021.md +104 -0
  952. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L022.md +57 -0
  953. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L023.md +90 -0
  954. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L024.md +70 -0
  955. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L025.md +62 -0
  956. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L026.md +76 -0
  957. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L027.md +82 -0
  958. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L028.md +47 -0
  959. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L029.md +73 -0
  960. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L030.md +79 -0
  961. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L031.md +82 -0
  962. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L032.md +90 -0
  963. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L033.md +93 -0
  964. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L034.md +85 -0
  965. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L035.md +105 -0
  966. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L036.md +73 -0
  967. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L037.md +84 -0
  968. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L038.md +61 -0
  969. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L039.md +66 -0
  970. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L040.md +66 -0
  971. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L041.md +81 -0
  972. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L042.md +42 -0
  973. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L043.md +44 -0
  974. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L044.md +34 -0
  975. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L045.md +66 -0
  976. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L046.md +62 -0
  977. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L047.md +56 -0
  978. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L048.md +69 -0
  979. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L049.md +63 -0
  980. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L050.md +65 -0
  981. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L051.md +58 -0
  982. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L052.md +65 -0
  983. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L053.md +62 -0
  984. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L054.md +75 -0
  985. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L055.md +79 -0
  986. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L056.md +66 -0
  987. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L057.md +48 -0
  988. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L058.md +74 -0
  989. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L059.md +67 -0
  990. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L060.md +83 -0
  991. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L061.md +69 -0
  992. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L062.md +60 -0
  993. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L063.md +71 -0
  994. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L064.md +81 -0
  995. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/README.md +126 -0
  996. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/manifest.json +572 -0
  997. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/principles.md +226 -0
  998. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/prescan/README.md +33 -0
  999. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/prescan/local-rules.yaml +63 -0
  1000. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/prescan/pre_scan.py +615 -0
  1001. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/prescan/prescan-rules.yaml +355 -0
  1002. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/scripts/README.md +19 -0
  1003. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/scripts/atlas-checklist.mjs +110 -0
  1004. package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/scripts/patch-autotools-ohos.pl +146 -0
  1005. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/SKILL.md +399 -0
  1006. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-C++/345/272/223/344/272/244/345/217/211/347/274/226/350/257/221/350/246/201/347/202/271.md +181 -0
  1007. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-CGAL/351/253/230/346/250/241/346/235/277/345/272/223/344/272/244/345/217/211/347/274/226/350/257/221/345/210/206/346/211/271/347/255/226/347/225/245.md +51 -0
  1008. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-CLI/350/260/203/350/257/225/345/231/250-autotools-autosetup/344/272/244/345/217/211/347/274/226/350/257/221.md +60 -0
  1009. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-CMake-FetchContent/345/244/232/344/273/223/345/272/223C++/345/272/223/344/272/244/345/217/211/347/274/226/350/257/221.md +32 -0
  1010. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-CMake/345/256/277/344/270/273/344/273/243/347/240/201/347/224/237/346/210/220/345/267/245/345/205/267/344/272/244/345/217/211/347/274/226/350/257/221/346/233/277/344/273/243.md +63 -0
  1011. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-CMocka/345/244/264/346/226/207/344/273/266uintptr_t/346/235/241/344/273/266/345/256/217/347/274/272__MUSL__/345/256/210/345/215/253/351/207/215/345/244/215/345/256/232/344/271/211.md +58 -0
  1012. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-ClamAV/346/235/200/346/257/222/345/274/225/346/223/216CLI/347/234/237/346/234/272/351/200/202/351/205/215.md +88 -0
  1013. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-C/345/272/223/350/256/276/345/244/207/351/252/214/350/257/201/346/265/213/350/257/225/350/256/276/350/256/241.md +62 -0
  1014. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-GLFW/350/247/206/347/252/227/345/220/216/347/253/257-EGL-XComponent.md +55 -0
  1015. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-GTK/345/272/224/347/224/250broadway-ArkWeb-HAP.md +42 -0
  1016. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-Java-JNI/345/272/223/344/272/244/345/217/211/347/274/226/350/257/221/344/270/216/350/256/276/345/244/207/345/233/236/345/275/222-jansi.md +41 -0
  1017. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-OHOS-NDK-clang15-C++/346/226/260/347/211/271/346/200/247/345/205/274/345/256/271/347/274/272/345/217/243/346/270/205/345/215/225.md +56 -0
  1018. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-OpenCL-SDK-app/345/237/237/351/200/202/351/205/215/350/241/245/345/205/205.md +88 -0
  1019. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-OpenCL-SDK-/351/200/202/351/205/215/350/246/201/347/202/271.md +144 -0
  1020. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-OpenSSL/347/263/273/345/257/206/347/240/201/345/272/223/344/272/244/345/217/211/347/274/226/350/257/221.md +127 -0
  1021. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-POSIX/347/263/273C++/347/261/273/345/272/223/344/272/244/345/217/211/347/274/226/350/257/221/344/270/216/350/256/276/345/244/207/351/252/214/350/257/201.md +79 -0
  1022. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-PixelTune-/345/255/220/350/277/233/347/250/213Python/345/272/224/347/224/250.md +149 -0
  1023. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-Poco-C++/347/261/273/345/272/223/344/272/244/345/217/211/347/274/226/350/257/221/344/270/216/350/256/276/345/244/207/351/252/214/350/257/201.md +94 -0
  1024. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-PyGObject-introspection/344/272/244/345/217/211/347/274/226/350/257/221/345/242/231.md +32 -0
  1025. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-Python-C/346/211/251/345/261/225/344/272/244/345/217/211/347/274/226/350/257/221.md +42 -0
  1026. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-Qt6-CMake-GUI/345/272/224/347/224/250/347/247/273/346/244/215.md +110 -0
  1027. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-Qt6-qtdeclarative-QtQuick/344/272/244/345/217/211/347/274/226/350/257/221.md +52 -0
  1028. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-Rust-BoringSSL-quiche.md +61 -0
  1029. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-Rust-build-script/345/256/277/344/270/273cfg/346/263/204/346/274/217/344/270/216OHOS/344/272/244/345/217/211/351/223/276/346/216/245.md +134 -0
  1030. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-VLC-autotools/345/252/222/344/275/223/345/272/224/347/224/250/347/247/273/346/244/215.md +78 -0
  1031. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-VLC/345/216/237/347/224/237Qt/347/225/214/351/235/242/347/247/273/346/244/215.md +103 -0
  1032. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-VisualVM-JVM-Swing/345/272/224/347/224/250/347/247/273/346/244/215.md +54 -0
  1033. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-Windows/345/256/277/344/270/273/346/236/204/345/273/272/347/216/257/345/242/203/345/233/233/345/235/221.md +170 -0
  1034. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-XComponent-CPU/345/203/217/347/264/240/346/270/262/346/237/223/344/270/216/350/276/223/345/205/245/347/274/235.md +57 -0
  1035. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-autotools-C/344/272/214/350/277/233/345/210/266-goaccess.md +47 -0
  1036. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-autotools/345/272/223CMake/346/233/277/344/273/243/344/272/244/345/217/211/347/274/226/350/257/221.md +59 -0
  1037. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-autotools/345/272/223Windows/345/256/277/344/270/273/346/240/221/345/206/205/346/236/204/345/273/272/344/270/216/347/233/264/351/223/276/344/272/244/345/217/211/347/274/226/350/257/221.md +116 -0
  1038. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-cmd-pkgs/351/242/204/347/274/226/350/257/221GTK/346/240/210/344/270/215/345/217/257/347/224/250.md +50 -0
  1039. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-cpp-lib/345/217/214/350/275/275/344/275/223/351/252/214/350/257/201OHPTCASE/345/215/217/350/256/256/351/205/215/346/226/271.md +99 -0
  1040. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-electron-vite-React/345/272/224/347/224/250-OHElectron-HAP.md +39 -0
  1041. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-git-/351/200/202/351/205/215/350/246/201/347/202/271.md +203 -0
  1042. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-gui-test-demo-/346/227/247/347/211/210OhptCaseRunner/345/215/207/347/272/247NAPI/346/241/245.md +169 -0
  1043. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-ipykernel-Jupyter/345/206/205/346/240/270.md +32 -0
  1044. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-jimtcl/344/272/244/345/217/211/347/274/226/350/257/221eventloop/346/211/251/345/261/225/347/274/272/345/244/261-server_loop/346/256/265/351/224/231/350/257/257.md +46 -0
  1045. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-libaribcaption-/345/255/227/344/275/223/346/270/262/346/237/223C++/345/272/223/344/272/244/345/217/211/347/274/226/350/257/221/344/270/216/350/256/276/345/244/207/345/205/250/351/207/217/351/252/214/350/257/201.md +61 -0
  1046. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-meson-Conan-pkg-config/346/250/241/346/213/237/345/231/250/344/272/244/345/217/211/347/274/226/350/257/221.md +139 -0
  1047. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-meson-Cython-numpy/346/211/251/345/261/225.md +38 -0
  1048. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-nmap-autotools/344/272/244/345/217/211/347/274/226/350/257/221/344/270/216/347/234/237/346/234/272/346/211/253/346/217/217.md +52 -0
  1049. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-numpy-OpenBLAS-armv8sve/345/244/215/346/225/260/347/202/271/347/247/257bug.md +67 -0
  1050. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-opencode-HAP/345/214/226-Electron/345/243/263.md +70 -0
  1051. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-opencode-rg-exec-denied.md +59 -0
  1052. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-opencode/346/217/222/344/273/266/351/203/250/347/275/262.md +146 -0
  1053. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-opencode/346/234/254/345/234/260WebUI/351/207/215/346/226/260/345/265/214/345/205/245.md +96 -0
  1054. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-opencode/347/246/273/347/272/277/345/210/206/345/217/221/346/211/223/345/214/205.md +95 -0
  1055. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-pyGLFW-Python/347/273/221/345/256/232/345/272/223/350/277/201/347/247/273.md +38 -0
  1056. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-pyzmq-libzmq/346/211/251/345/261/225.md +44 -0
  1057. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-systeminformation-/345/271/263/345/217/260/345/210/206/346/224/257.md +33 -0
  1058. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-usbredir-USB/351/207/215/345/256/232/345/220/221/345/267/245/345/205/267/351/231/215/347/272/247/351/200/202/351/205/215.md +137 -0
  1059. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-/345/233/276/345/203/217/345/244/204/347/220/206/345/272/223-CImg/345/233/276/345/203/217/345/272/223/344/272/244/345/217/211/347/274/226/350/257/221.md +109 -0
  1060. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-/345/256/277/344/270/273/346/227/240GNU-make/347/232/204/347/241/256/345/256/232/346/200/247/346/236/204/345/273/272/351/251/261/345/212/250.md +61 -0
  1061. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-/347/211/210/346/234/254/350/204/232/346/234/254/350/243/201/345/211/252/345/272/223/347/232/204/345/257/274/345/207/272/351/235/242/345/256/241/350/256/241.md +73 -0
  1062. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-/347/272/257JS/345/272/223/351/203/250/347/275/262/345/210/260HNP-node.md +35 -0
  1063. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-/351/200/232/347/224/250/350/247/206/347/252/227/346/241/245ohos_window_bridge.md +57 -0
  1064. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/electron/addon-build.md +249 -0
  1065. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/electron/api-matrix-34.md +411 -0
  1066. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/electron/bin/liburing_block.so +0 -0
  1067. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/electron/data/api-confirmed-plans.json +628 -0
  1068. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/electron/data/api-verdicts.json +14468 -0
  1069. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/electron/electron.md +186 -0
  1070. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/electron/examples/uv-supplement/uv_supplement_shim.c +135 -0
  1071. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/electron/examples/uv-supplement/uv_supplement_shim.h +14 -0
  1072. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/electron/guides/electron-builder-packaging-internals.md +723 -0
  1073. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/electron/guides/migration-guide.md +777 -0
  1074. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/knowledge/case-studies.md +250 -0
  1075. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/knowledge/platform-notes.md +349 -0
  1076. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-64KB/351/241/265/345/257/271/351/275/220so/345/264/251/346/272/203.md +52 -0
  1077. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-CLI/345/267/245/345/205/267main/345/207/275/346/225/260/345/271/263/345/217/260/350/203/275/345/212/233/346/243/200/346/237/245/351/231/215/347/272/247/346/250/241/345/274/217.md +134 -0
  1078. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-GNU-make-4.4.1/344/272/244/345/217/211/347/274/226/350/257/221/351/232/217/345/214/205.md +102 -0
  1079. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-HAP/350/260/203/350/257/225/347/255/276/345/220/215/344/270/216/350/256/276/345/244/207/345/256/211/350/243/205/344/277/241/344/273/273/351/223/276.md +86 -0
  1080. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-HNP/344/272/214/350/277/233/345/210/266SELinux-exec/351/231/220/345/210/266.md +42 -0
  1081. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-HNP/345/214/205/344/270/216PATH.md +47 -0
  1082. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-HNP/346/211/247/350/241/214/345/231/250cwd/344/270/215/345/217/257/345/206/231/344/270/216/346/262/231/347/256/261/345/206/231/345/205/245/346/226/271/346/241/210.md +71 -0
  1083. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-HNP/346/225/260/346/215/256/350/265/204/346/272/220/346/226/207/344/273/266/346/211/223/345/214/205EXTRA_DATA.md +45 -0
  1084. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-NAPI-so/346/211/213/345/212/250/344/272/244/345/217/211/347/274/226/350/257/221/345/277/205/351/241/273/351/223/276/346/216/245ace_napi/344/270/216hilog_ndk.md +41 -0
  1085. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-POSIX-NDK/350/203/275/345/212/233/346/216/242/351/222/210/347/237/251/351/230/265.md +59 -0
  1086. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-Vulkan/344/270/212/345/261/217/351/200/232/350/267/257.md +43 -0
  1087. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-aarch64/346/214/207/344/273/244/346/241/243/344/275/215/344/270/216/350/277/220/350/241/214/346/227/266/345/210/206/345/217/221.md +77 -0
  1088. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-app/345/237/237/345/221/275/345/220/215POSIX/344/277/241/345/217/267/351/207/217/345/217/227/351/231/220.md +54 -0
  1089. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-app/345/237/237/346/211/247/350/241/214/344/272/214/350/277/233/345/210/266/344/270/216JIT/351/231/220/345/210/266.md +152 -0
  1090. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-app/345/237/237/346/265/213/350/257/225/345/211/215/347/275/256/346/235/241/344/273/266/347/237/251/351/230/265.md +52 -0
  1091. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-app/350/256/277/351/227/256PC/347/224/250/346/210/267/347/233/256/345/275/225.md +38 -0
  1092. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-glib-gtest/351/235/231/346/200/201/351/223/276/346/216/245musl/345/220/257/345/212/250/345/264/251/346/272/203.md +89 -0
  1093. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-glib/345/255/220/350/277/233/347/250/213/347/233/221/346/216/247app/345/237/237/345/215/241/346/255/273.md +90 -0
  1094. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-hdc/346/235/203/351/231/220/344/270/216/345/217/257/350/260/203/350/257/225/347/211/210/351/231/220/345/210/266.md +44 -0
  1095. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-hdc/350/203/275/345/212/233/350/276/271/347/225/214/344/270/216/345/217/226/350/257/201/351/200/232/351/201/223.md +101 -0
  1096. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-musl/344/270/216BSD-glibc/350/257/255/344/271/211/345/210/206/346/255/247/350/241/250.md +82 -0
  1097. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-ohpt-sign-demo/345/277/205/351/241/273/344/274/240demo-dir/345/217/202/346/225/260.md +51 -0
  1098. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-openocd-Tcl/346/234/215/345/212/241/345/231/250/345/215/217/350/256/256/345/221/275/344/273/244/345/210/206/351/232/224/347/254/246Ctrl-Z.md +32 -0
  1099. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-uid/344/270/216/346/226/207/344/273/266/345/275/222/345/261/236.md +40 -0
  1100. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/344/270/215/345/217/257/350/260/203/350/257/225/350/256/276/345/244/207/347/224/250HiShell/350/207/252/345/212/250/345/214/226/346/265/213/350/257/225.md +68 -0
  1101. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/344/272/244/345/217/211libcurl/347/251/272CA/344/277/241/344/273/273/351/224/232/344/270/216SSL_CERT_FILE.md +65 -0
  1102. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/344/273/216Mac/350/256/277/351/227/256/350/256/276/345/244/207/347/275/221/347/273/234/346/234/215/345/212/241.md +113 -0
  1103. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/345/256/232/345/210/266git/350/241/214/344/270/272.md +65 -0
  1104. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/345/272/224/347/224/250/346/262/231/347/256/261symlink/347/246/201/344/273/244/344/270/216aa/346/215/242/344/273/243/350/257/255/344/271/211.md +63 -0
  1105. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/345/272/224/347/224/250/346/262/231/347/256/261/344/270/216/347/211/251/347/220/206/350/267/257/345/276/204/346/230/240/345/260/204.md +79 -0
  1106. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/345/272/224/347/224/250/346/262/231/347/256/261/344/270/264/346/227/266/347/233/256/345/275/225/350/257/255/344/271/211/344/270/216libcheck-TEMP/351/200/211/345/235/200.md +91 -0
  1107. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/347/234/237/346/234/272SIGSEGV/344/270/211/346/256/265/345/256/232/344/275/215/346/263/225/344/277/241/345/217/267/347/274/226/347/240/201ucontext/347/246/273/347/272/277/347/254/246/345/217/267/345/214/226.md +121 -0
  1108. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/347/234/237/346/234/272/350/267/221/345/256/230/346/226/271/346/265/213/350/257/225/345/245/227/344/273/266.md +53 -0
  1109. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/347/247/201/346/234/211HNP/346/211/223/345/214/205/344/270/216exec/345/271/263/345/217/260/345/267/256/345/274/202.md +120 -0
  1110. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/347/252/227/345/217/243/345/207/240/344/275/225/346/216/247/345/210/266/346/227/240native/345/217/252ArkTS.md +30 -0
  1111. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/347/272/257C-TU/350/260/203C++-so/345/234/250OHOS/344/270/212init_array/346/234/237/344/277/241/345/217/267/347/273/210/346/255/242.md +82 -0
  1112. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/350/203/275/345/212/233/345/255/230/345/234/250/346/200/247/344/273/245SDK/345/243/260/346/230/216/344/270/272/345/207/206.md +86 -0
  1113. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/350/256/276/345/244/207Python/350/277/220/350/241/214/346/227/266.md +58 -0
  1114. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/350/256/276/345/244/207pip/351/203/250/347/275/262.md +55 -0
  1115. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/350/256/276/345/244/207/350/257/255/350/250/200/350/277/220/350/241/214/346/227/266/346/216/242/346/265/213/344/270/216/344/276/233/347/273/231.md +82 -0
  1116. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/350/277/233/347/250/213/350/247/206/350/247/222/344/270/216mount-namespace.md +78 -0
  1117. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/350/277/236/346/216/245/350/256/276/345/244/207/344/270/216hdc/345/237/272/347/241/200.md +81 -0
  1118. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/351/232/217/345/214/205wrapper/350/204/232/346/234/254shebang/350/207/252/346/214/207/344/270/216busybox-seccomp.md +40 -0
  1119. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/351/232/217/345/214/205/346/225/260/346/215/256/346/240/221LF/345/275/222/344/270/200/344/270/216configure/347/224/237/346/210/220/347/211/251/350/241/245/351/275/220.md +48 -0
  1120. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/references/README.md +22 -0
  1121. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/references/iron-rules.md +965 -0
  1122. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/references/musl-compat.md +53 -0
  1123. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/references/musl-glibc-developer-impact.md +757 -0
  1124. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/references/musl-glibc-full-comparison-gnu-linux.md +641 -0
  1125. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/references/musl-glibc-full-comparison-iso-posix.md +2627 -0
  1126. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/references/operations/build-systems.md +599 -0
  1127. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/references/operations/debug-methodology.md +856 -0
  1128. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/references/operations/dependencies.md +386 -0
  1129. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/references/operations/dual-build-system-parity-model-data.md +25 -0
  1130. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/references/operations/filesystem-analysis.md +413 -0
  1131. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/references/operations/ohos-adaptation-patterns.md +448 -0
  1132. package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/references/operations/ptrace-alternatives.md +306 -0
  1133. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/SKILL.md +45 -0
  1134. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/references/electron-oh-troubleshooting.md +57 -0
  1135. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/references/examples.md +74 -0
  1136. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/references/managed-projects.md +88 -0
  1137. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/references/native-addon.md +69 -0
  1138. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/references/native-runtime.md +80 -0
  1139. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/references/package-and-patches.md +11 -0
  1140. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/references/recovery.md +69 -0
  1141. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/references/stages.md +66 -0
  1142. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/scripts/build-electron-demo.cjs +73 -0
  1143. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/scripts/build-node-demo.cjs +61 -0
  1144. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/scripts/create-electron-example.cjs +57 -0
  1145. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/scripts/current-hap.cjs +119 -0
  1146. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/scripts/demo-project.cjs +221 -0
  1147. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/scripts/demo-project.d.cts +11 -0
  1148. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/scripts/node-library-policy.cjs +72 -0
  1149. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/scripts/node-library-policy.d.cts +17 -0
  1150. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/scripts/prepare-node-launch.cjs +42 -0
  1151. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/scripts/stage-app.cjs +27 -0
  1152. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/templates/host-probe.cjs +19 -0
  1153. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/templates/index.html +4 -0
  1154. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/templates/main.cjs +59 -0
  1155. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/templates/native/standard-probe.c +34 -0
  1156. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/templates/native/syscall-fallback-aarch64.S +38 -0
  1157. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/templates/native/syscall-fallback-log.c +14 -0
  1158. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/templates/native-probe.cjs +26 -0
  1159. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/templates/node-entry.cjs +18 -0
  1160. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/templates/node-suite-entry.cjs +12 -0
  1161. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/templates/preload.cjs +6 -0
  1162. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/templates/renderer.js +40 -0
  1163. package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/templates/run-suite.cjs +33 -0
  1164. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/SKILL.md +294 -0
  1165. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/references/qt5-api-compat.md +552 -0
  1166. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/references/qt5-cross-compile-hap.md +252 -0
  1167. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/references/qt6-to-qt5-downgrade.md +369 -0
  1168. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/references/subagent-prompt-template.md +69 -0
  1169. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/REVIEW-LOG.md +28 -0
  1170. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/add-application-font.md +91 -0
  1171. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/add-library-shared.md +84 -0
  1172. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/ads-x11-guard.md +108 -0
  1173. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/appendplaintext.md +60 -0
  1174. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/automoc-manual.md +86 -0
  1175. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/closeevent.md +82 -0
  1176. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/cmake-qt6-to-qt5.md +173 -0
  1177. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/constexpr-qlatin1string.md +114 -0
  1178. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/cpm-exclusion.md +145 -0
  1179. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/cpp17-standard.md +56 -0
  1180. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/editorconfig.md +93 -0
  1181. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/enum-typing.md +53 -0
  1182. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/lambda-capture-this.md +135 -0
  1183. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/lexilla-static.md +116 -0
  1184. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/missing-include.md +84 -0
  1185. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/moc-exclude-sync.md +93 -0
  1186. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/movetotrash.md +50 -0
  1187. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/ohextras.md +84 -0
  1188. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/packaging-cmake.md +62 -0
  1189. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qbytearrayview.md +205 -0
  1190. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qcalendar.md +46 -0
  1191. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qdatastream-enum.md +56 -0
  1192. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qdebug-include.md +162 -0
  1193. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qdeclare-metatype-incomplete.md +122 -0
  1194. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qdesktopservices.md +70 -0
  1195. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qdockwidget.md +230 -0
  1196. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qlist-int-constructor.md +81 -0
  1197. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qmap-forward-decl.md +165 -0
  1198. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qshortcut.md +47 -0
  1199. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qstyleoptiontab.md +54 -0
  1200. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qsystemtrayicon.md +45 -0
  1201. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qtranslator-missing-qm.md +126 -0
  1202. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qvector-qlist.md +253 -0
  1203. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/remove-item-sources.md +103 -0
  1204. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/showfullscreen.md +46 -0
  1205. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/singleapplication.md +241 -0
  1206. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/target-cxx17.md +69 -0
  1207. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/thirdparty-cmake.md +93 -0
  1208. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/win32-not-ohos.md +89 -0
  1209. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-build-hap.py +144 -0
  1210. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-build.py +190 -0
  1211. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-check-api-compat.py +713 -0
  1212. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-copy-so.py +286 -0
  1213. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/AppScope/app.json5 +11 -0
  1214. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/AppScope/resources/base/element/string.json +8 -0
  1215. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/AppScope/resources/base/media/app_icon.png +0 -0
  1216. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/AppScope/resources/base/profile/configuration.json +5 -0
  1217. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/build-profile.json5 +36 -0
  1218. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/build-profile.json5 +28 -0
  1219. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/hvigorfile.ts +6 -0
  1220. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/oh-package.json5 +12 -0
  1221. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/ets/common/QtAppConstants.ets +2 -0
  1222. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/ets/pages/FloatWindowNativeNode.ets +31 -0
  1223. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/ets/pages/Index.ets +18 -0
  1224. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/ets/pages/MainWindowNativeNode.ets +33 -0
  1225. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/ets/pages/SubWindowNativeNode.ets +31 -0
  1226. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/ets/pages/UiExtensionNativeNode.ets +42 -0
  1227. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/ets/qability/QAbility.ets +60 -0
  1228. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/ets/qability/QBaseEmbeddedUiExtensionAbility.ets +39 -0
  1229. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/ets/qability/QBundledEmbeddedUiExtensionAbility.ets +8 -0
  1230. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/ets/qability/QEmbeddedUiExtensionAbility.ets +8 -0
  1231. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/ets/qabilitystage/QAbilityStage.ets +22 -0
  1232. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/module.json5 +204 -0
  1233. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/qt/libqohos.d.ts +10 -0
  1234. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/qt/oh-package.json5 +6 -0
  1235. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/resources/base/element/color.json +8 -0
  1236. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/resources/base/element/string.json +16 -0
  1237. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/resources/base/media/background.png +0 -0
  1238. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/resources/base/media/foreground.png +0 -0
  1239. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/resources/base/media/layered_image.json +7 -0
  1240. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/resources/base/media/startIcon.png +0 -0
  1241. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/resources/base/profile/main_pages.json +9 -0
  1242. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/resources/en_US/element/string.json +16 -0
  1243. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/resources/zh_CN/element/string.json +16 -0
  1244. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/hvigor/hvigor-config.json5 +5 -0
  1245. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/hvigorfile.ts +6 -0
  1246. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/oh-package.json5 +14 -0
  1247. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-init-hap.py +380 -0
  1248. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos.py +584 -0
  1249. package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt6-to-qt5-downgrade-patterns.json +407 -0
  1250. package/node_modules/@ohos-agent/pc-adapter/skills/pc-registry/SKILL.md +90 -0
  1251. package/node_modules/@ohos-agent/pc-adapter/skills/pc-registry/references/central-registry.md +142 -0
  1252. package/node_modules/@ohos-agent/pc-adapter/skills/pc-roster-generation/SKILL.md +100 -0
  1253. package/node_modules/@ohos-agent/pc-adapter/skills/pc-roster-generation/references/assertion-authoring.md +80 -0
  1254. package/node_modules/@ohos-agent/pc-adapter/skills/pc-roster-generation/references/budget-and-coverage.md +71 -0
  1255. package/node_modules/@ohos-agent/pc-adapter/skills/pc-roster-generation/references/case-granularity.md +95 -0
  1256. package/node_modules/@ohos-agent/pc-adapter/skills/pc-roster-generation/references/combination-patterns.md +30 -0
  1257. package/node_modules/@ohos-agent/pc-adapter/skills/pc-roster-generation/references/gap-ledger.md +107 -0
  1258. package/node_modules/@ohos-agent/pc-adapter/skills/pc-roster-generation/references/host-selfvalidation.md +71 -0
  1259. package/node_modules/@ohos-agent/pc-adapter/skills/pc-roster-generation/references/injection-combination.md +60 -0
  1260. package/node_modules/@ohos-agent/pc-adapter/skills/pc-roster-generation/references/upstream-triage.md +141 -0
  1261. package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/SKILL.md +42 -0
  1262. package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/schemas/01-scan.schema.json +404 -0
  1263. package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/schemas/02-baseline.schema.json +850 -0
  1264. package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/schemas/03-adapt.schema.json +327 -0
  1265. package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/schemas/04-summary.schema.json +99 -0
  1266. package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/schemas/05-testcases.schema.json +337 -0
  1267. package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/schemas/06-testdemo.schema.json +243 -0
  1268. package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/schemas/07-remotebuild.schema.json +256 -0
  1269. package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/schemas/human-review.schema.json +234 -0
  1270. package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/schemas/manifest.schema.json +82 -0
  1271. package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/schemas/test-change-proposal.schema.json +86 -0
  1272. package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/schemas/verify-verdict.schema.json +54 -0
  1273. package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/semantics/adaptation-report-mapping.md +80 -0
  1274. package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/semantics/enum-semantics.md +389 -0
  1275. package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/semantics/language-signals.md +56 -0
  1276. package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/templates/01-scan-report.md.hbs +159 -0
  1277. package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/templates/02-baseline-report.md.hbs +93 -0
  1278. package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/templates/03-adapt-report.md.hbs +189 -0
  1279. package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/templates/04-summary-report.md.hbs +93 -0
  1280. package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/templates/05-testcases-report.md.hbs +94 -0
  1281. package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/templates/06-testdemo-report.md.hbs +175 -0
  1282. package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/templates/07-remotebuild-report.md.hbs +57 -0
  1283. package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/templates/verify-verdict-report.md.hbs +30 -0
  1284. package/node_modules/@ohos-agent/pc-adapter/skills/pc-test-design/SKILL.md +529 -0
  1285. package/node_modules/@ohos-agent/pc-adapter/skills/pc-test-design/references/anti-fake-checklist.md +184 -0
  1286. package/node_modules/@ohos-agent/pc-adapter/skills/pc-test-design/references/c-lib-upstream-semantics-checklist.md +78 -0
  1287. package/node_modules/@ohos-agent/pc-adapter/skills/pc-test-design/references/case-design-methods.md +199 -0
  1288. package/node_modules/@ohos-agent/pc-adapter/skills/pc-test-design/references/demo-wiring-pc.md +620 -0
  1289. package/node_modules/@ohos-agent/pc-adapter/skills/pc-test-design/references/input-resources.md +59 -0
  1290. package/node_modules/@ohos-agent/pc-adapter/skills/pc-test-design/references/network-protocol-mock.md +131 -0
  1291. package/node_modules/@ohos-agent/pc-adapter/skills/pc-test-design/references/render-preview-page.md +30 -0
  1292. package/node_modules/@ohos-agent/pc-adapter/skills/pc-test-design/references/test-contract-regressions.md +57 -0
  1293. package/node_modules/@ohos-agent/pc-adapter/skills/pc-workspace-layout/SKILL.md +196 -0
  1294. package/node_modules/@ohos-agent/pc-adapter/skills/pc-workspace-layout/references/human-review.md +63 -0
  1295. package/node_modules/@ohos-agent/pc-adapter/skills/pc-workspace-layout/scripts/version-detector.cjs +189 -0
  1296. package/node_modules/@ohos-agent/pc-adapter/skills/pc-workspace-layout/scripts/workspace-init.mjs +514 -0
  1297. package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/check-payload-paths.mjs +113 -0
  1298. package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/README.md +43 -0
  1299. package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/aix.h +32 -0
  1300. package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/bsd.h +34 -0
  1301. package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/darwin.h +61 -0
  1302. package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/errno.h +460 -0
  1303. package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/linux.h +34 -0
  1304. package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/os390.h +33 -0
  1305. package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/posix.h +31 -0
  1306. package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/stdint-msvc2008.h +247 -0
  1307. package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/sunos.h +44 -0
  1308. package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/threadpool.h +37 -0
  1309. package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/tree.h +768 -0
  1310. package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/unix.h +505 -0
  1311. package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/version.h +43 -0
  1312. package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/win.h +697 -0
  1313. package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv.h +1859 -0
  1314. package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/src/js_native_api.h +581 -0
  1315. package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/src/js_native_api_types.h +167 -0
  1316. package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/src/node_api.h +290 -0
  1317. package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/src/node_api_types.h +52 -0
  1318. package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/lib/libshim.a +0 -0
  1319. package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/pkg-config-shim/README.md +27 -0
  1320. package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/pkg-config-shim/pkg-config.cmd +3 -0
  1321. package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/pkg-config-shim/pkg-config.py +328 -0
  1322. package/node_modules/@ohos-agent/pc-adapter/templates/hap/_shared/ohpt_artifacts.h +219 -0
  1323. package/node_modules/@ohos-agent/pc-adapter/templates/hap/_shared/ohpt_case_loop.h +94 -0
  1324. package/node_modules/@ohos-agent/pc-adapter/templates/hap/_shared/scripts/fetch-device-python.sh +77 -0
  1325. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/AppScope/app.json5 +12 -0
  1326. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/AppScope/resources/base/element/string.json +8 -0
  1327. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/AppScope/resources/base/media/app_icon.png +0 -0
  1328. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/README.md +62 -0
  1329. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/build-profile.json5 +36 -0
  1330. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/entry/build-profile.json5 +45 -0
  1331. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/entry/hvigorfile.ts +6 -0
  1332. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/entry/obfuscation-rules.txt +2 -0
  1333. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/entry/oh-package.json5 +9 -0
  1334. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/entry/src/main/cpp/CMakeLists.txt +24 -0
  1335. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/entry/src/main/cpp/napi_stub.cpp +920 -0
  1336. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/entry/src/main/ets/entryability/EntryAbility.ets +29 -0
  1337. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/entry/src/main/ets/pages/Index.ets +81 -0
  1338. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/entry/src/main/module.json5 +59 -0
  1339. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/entry/src/main/resources/base/element/color.json +8 -0
  1340. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/entry/src/main/resources/base/element/string.json +8 -0
  1341. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/entry/src/main/resources/base/media/app_icon.png +0 -0
  1342. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/entry/src/main/resources/base/profile/main_pages.json +5 -0
  1343. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/hvigor/hvigor-config.json5 +13 -0
  1344. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/hvigorfile.ts +6 -0
  1345. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/oh-package.json5 +8 -0
  1346. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/scripts/build-hap.sh +402 -0
  1347. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/AppScope/app.json5 +12 -0
  1348. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/AppScope/resources/base/element/string.json +8 -0
  1349. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/AppScope/resources/base/media/app_icon.png +0 -0
  1350. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/README.md +31 -0
  1351. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/build-profile.json5 +36 -0
  1352. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/entry/build-profile.json5 +45 -0
  1353. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/entry/hvigorfile.ts +6 -0
  1354. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/entry/obfuscation-rules.txt +2 -0
  1355. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/entry/oh-package.json5 +9 -0
  1356. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/entry/src/main/cpp/CMakeLists.txt +43 -0
  1357. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/entry/src/main/cpp/gui_shell.cpp +138 -0
  1358. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/entry/src/main/ets/entryability/EntryAbility.ets +32 -0
  1359. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/entry/src/main/ets/pages/Index.ets +29 -0
  1360. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/entry/src/main/module.json5 +50 -0
  1361. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/entry/src/main/resources/base/element/color.json +8 -0
  1362. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/entry/src/main/resources/base/element/string.json +8 -0
  1363. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/entry/src/main/resources/base/media/app_icon.png +0 -0
  1364. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/entry/src/main/resources/base/profile/main_pages.json +5 -0
  1365. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/hvigor/hvigor-config.json5 +13 -0
  1366. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/hvigorfile.ts +6 -0
  1367. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/oh-package.json5 +8 -0
  1368. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/scripts/build-hap.sh +67 -0
  1369. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/AppScope/app.json5 +12 -0
  1370. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/AppScope/resources/base/element/string.json +8 -0
  1371. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/AppScope/resources/base/media/app_icon.png +0 -0
  1372. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/README.md +30 -0
  1373. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/build-profile.json5 +36 -0
  1374. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/entry/build-profile.json5 +45 -0
  1375. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/entry/hvigorfile.ts +6 -0
  1376. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/entry/obfuscation-rules.txt +2 -0
  1377. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/entry/oh-package.json5 +9 -0
  1378. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/entry/src/main/cpp/CMakeLists.txt +28 -0
  1379. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/entry/src/main/cpp/napi_stub.cpp +124 -0
  1380. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/entry/src/main/ets/entryability/EntryAbility.ets +29 -0
  1381. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/entry/src/main/ets/pages/Index.ets +36 -0
  1382. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/entry/src/main/module.json5 +50 -0
  1383. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/entry/src/main/resources/base/element/color.json +8 -0
  1384. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/entry/src/main/resources/base/element/string.json +8 -0
  1385. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/entry/src/main/resources/base/media/app_icon.png +0 -0
  1386. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/entry/src/main/resources/base/profile/main_pages.json +5 -0
  1387. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/hvigor/hvigor-config.json5 +13 -0
  1388. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/hvigorfile.ts +6 -0
  1389. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/oh-package.json5 +8 -0
  1390. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/scripts/build-hap.sh +57 -0
  1391. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/AppScope/app.json5 +12 -0
  1392. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/AppScope/resources/base/element/string.json +8 -0
  1393. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/AppScope/resources/base/media/app_icon.png +0 -0
  1394. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/README.md +89 -0
  1395. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/build-profile.json5 +36 -0
  1396. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/entry/build-profile.json5 +45 -0
  1397. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/entry/hvigorfile.ts +6 -0
  1398. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/entry/obfuscation-rules.txt +2 -0
  1399. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/entry/oh-package.json5 +9 -0
  1400. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/entry/src/main/cpp/CMakeLists.txt +24 -0
  1401. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/entry/src/main/cpp/napi_stub.cpp +483 -0
  1402. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/entry/src/main/ets/entryability/EntryAbility.ets +29 -0
  1403. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/entry/src/main/ets/pages/Index.ets +234 -0
  1404. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/entry/src/main/module.json5 +59 -0
  1405. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/entry/src/main/resources/base/element/color.json +8 -0
  1406. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/entry/src/main/resources/base/element/string.json +8 -0
  1407. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/entry/src/main/resources/base/media/app_icon.png +0 -0
  1408. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/entry/src/main/resources/base/profile/main_pages.json +5 -0
  1409. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/hvigor/hvigor-config.json5 +13 -0
  1410. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/hvigorfile.ts +6 -0
  1411. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/oh-package.json5 +8 -0
  1412. package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/scripts/build-hap.sh +215 -0
  1413. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/toolchain-manifest.json +17 -0
  1414. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/AppScope/app.json5 +15 -0
  1415. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/AppScope/resources/base/element/string.json +8 -0
  1416. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/AppScope/resources/base/media/startIcon.png +0 -0
  1417. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/AppScope/resources/base/profile/configuration.json +6 -0
  1418. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/build-profile.json5 +44 -0
  1419. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/build-profile.json5 +30 -0
  1420. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/hvigorfile.ts +6 -0
  1421. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/obfuscation-rules.txt +18 -0
  1422. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/oh-package.json5 +12 -0
  1423. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/Application/AbilityStage.ets +11 -0
  1424. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/entryability/BrowserAbility.ets +48 -0
  1425. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/entryability/EntryAbility.ets +44 -0
  1426. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/entryability/StatelessAbility.ets +49 -0
  1427. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/entryability/StatusBarEntryAbility.ets +35 -0
  1428. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/entryability/TaskManagerAbility.ets +44 -0
  1429. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/extensionAbility/BrowserEmbeddedAbility.ets +33 -0
  1430. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/pages/EmbeddedWindow.ets +25 -0
  1431. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/pages/Index.ets +87 -0
  1432. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/pages/Login.ets +35 -0
  1433. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/pages/NodeHandleSubWindow.ets +43 -0
  1434. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/pages/NodeHandleWindow.ets +109 -0
  1435. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/pages/QuickLoginButtonComponent.ets +640 -0
  1436. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/pages/StatusBarPage.ets +15 -0
  1437. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/pages/SubWindow.ets +18 -0
  1438. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/pages/WebPage.ets +91 -0
  1439. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/pages/WindowNode.ets +25 -0
  1440. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/process/CustomChildProcess.ets +15 -0
  1441. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/module.json5 +121 -0
  1442. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/resources/base/element/color.json +20 -0
  1443. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/resources/base/element/string.json +52 -0
  1444. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/resources/base/profile/main_pages.json +13 -0
  1445. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/resources/base/profile/shortcuts_config.json +18 -0
  1446. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/resources/en_US/element/string.json +36 -0
  1447. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/resources/zh_CN/element/string.json +36 -0
  1448. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/ohosTest/ets/testability/TestAbility.ets +50 -0
  1449. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/ohosTest/ets/testability/pages/Index.ets +17 -0
  1450. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets +47 -0
  1451. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/ohosTest/module.json5 +36 -0
  1452. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/ohosTest/resources/base/element/color.json +8 -0
  1453. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/ohosTest/resources/base/element/string.json +16 -0
  1454. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/ohosTest/resources/base/profile/test_pages.json +5 -0
  1455. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/hvigor/hvigor-config.json5 +17 -0
  1456. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/hvigorfile.ts +6 -0
  1457. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/oh-package.json5 +13 -0
  1458. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/Index.ets +11 -0
  1459. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/build-profile.json5 +28 -0
  1460. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/childProcess.ets +1 -0
  1461. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/consumer-rules.txt +0 -0
  1462. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/hvigorfile.ts +6 -0
  1463. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/obfuscation-rules.txt +18 -0
  1464. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/oh-package.json5 +15 -0
  1465. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/cpp/types/libadapter/index.d.ts +8 -0
  1466. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/cpp/types/libadapter/oh-package.json5 +6 -0
  1467. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/ability/ContinueAbility.ets +257 -0
  1468. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/ability/WebAbility.ets +626 -0
  1469. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/ability/WebBaseAbility.ets +286 -0
  1470. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/ability/WebBaseExtensionAbility.ets +164 -0
  1471. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/ability/WebEmbeddedAbility.ets +104 -0
  1472. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/AccessibilityAdapter.ets +23 -0
  1473. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/AppLifecycleAdapter.ets +51 -0
  1474. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/AppWindowAdapter.ets +903 -0
  1475. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/AutoUpdaterAdapter.ets +77 -0
  1476. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/BluetoothAdapter.ets +280 -0
  1477. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/BluetoothLowEnergyAdapter.ets +501 -0
  1478. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/BrowserPolicyAdapter.ets +30 -0
  1479. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/CertManagerAdapter.ets +211 -0
  1480. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/ContextAdapter.ets +97 -0
  1481. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/ContextPathAdapter.ets +68 -0
  1482. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/CursorAdapter.ets +99 -0
  1483. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/DefaultApplicationAdapter.ets +44 -0
  1484. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/DeviceAdapter.ets +189 -0
  1485. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/DeviceInfoAdapter.ets +120 -0
  1486. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/DeviceUserAuthAdapter.ets +114 -0
  1487. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/DialogAdapter.ets +321 -0
  1488. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/DisplayAdapter.ets +343 -0
  1489. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/DragDropAdapter.ets +226 -0
  1490. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/ElectronAppAdapter.ets +180 -0
  1491. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/EtsBridgeAdapter.ets +300 -0
  1492. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/ExternalProtocolAdapter.ets +70 -0
  1493. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/FileManagerAdapter.ets +205 -0
  1494. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/FilePickerAdapter.ets +195 -0
  1495. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/FontAdapter.ets +52 -0
  1496. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/I18nAdapter.ets +64 -0
  1497. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/IMFAdapter.ets +169 -0
  1498. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/MediaAdapter.ets +59 -0
  1499. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/MimeTypeAdapter.ets +52 -0
  1500. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/MultiInputAdapter.ets +50 -0
  1501. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/NativeThemeAdapter.ets +80 -0
  1502. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/NotificationAdapter.ets +359 -0
  1503. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/PasteBoardApadter.ets +252 -0
  1504. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/PermissionManagerAdapter.ets +415 -0
  1505. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/PopupWindowAdapter.ets +338 -0
  1506. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/PrintAdapter.ets +142 -0
  1507. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/ProcessAdapter.ets +89 -0
  1508. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/RunningLockAdapter.ets +103 -0
  1509. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/ScreenshotAdapter.ets +32 -0
  1510. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/ShapeDetectionAdapter.ets +111 -0
  1511. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/ShareAdapter.ets +228 -0
  1512. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/SpeechAdapter.ets +283 -0
  1513. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/StatusBarManager.ets +255 -0
  1514. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/SubWindowAdapter.ets +420 -0
  1515. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/SystemFloatingWindowAdapter.ets +384 -0
  1516. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/WebAppAdapter.ets +121 -0
  1517. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/application/WebAbilityStage.ets +152 -0
  1518. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/AbilityManager.ets +142 -0
  1519. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/AdapterModule.ets +34 -0
  1520. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/BaseAdapter.ets +27 -0
  1521. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/BaseWindowAdapter.ets +86 -0
  1522. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/CommandLineAdapter.ets +162 -0
  1523. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/CommonDependencyProvider.ets +41 -0
  1524. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/CommonModule.ets +19 -0
  1525. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/Constants.ets +52 -0
  1526. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/DragParamManager.ets +652 -0
  1527. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/InjectModule.ets +58 -0
  1528. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/LogDecorator.ts +57 -0
  1529. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/ModuleType.ts +9 -0
  1530. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/NodeHandleManager.ets +66 -0
  1531. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/PopupWindowManager.ets +78 -0
  1532. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/SystemFloatingWindowManager.ets +78 -0
  1533. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/WindowStyle.ets +76 -0
  1534. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/components/MessageBox.ets +150 -0
  1535. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/components/WebEmbeddedWindow.ets +157 -0
  1536. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/components/WebNodeHandleSubWindow.ets +63 -0
  1537. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/components/WebNodeHandleWindow.ets +151 -0
  1538. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/components/WebSubWindow.ets +93 -0
  1539. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/components/WebWindow.ets +276 -0
  1540. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/components/WebWindowNode.ets +196 -0
  1541. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/interface/CommonInterface.ts +408 -0
  1542. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/interface/Dependency.ets +16 -0
  1543. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/interface/WebProxy.ets +74 -0
  1544. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/AccessibilityAdapterBind.ets +27 -0
  1545. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/AppLifecycleAdapterBind.ets +27 -0
  1546. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/AppWindowAdapterBind.ets +247 -0
  1547. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/AutoUpdaterAdapterBind.ets +26 -0
  1548. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/BluetoothAdapterBind.ets +126 -0
  1549. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/BluetoothLowEnergyAdapterBind.ets +133 -0
  1550. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/BrowserPolicyAdapterBind.ets +21 -0
  1551. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/CertManagerAdapterBind.ets +51 -0
  1552. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/ContextAdapterBind.ets +22 -0
  1553. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/ContextPathAdapterBind.ets +31 -0
  1554. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/CursorAdapterBind.ets +32 -0
  1555. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/DefaultApplicationAdapterBind.ets +26 -0
  1556. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/DeviceAdapterBind.ets +72 -0
  1557. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/DeviceUserAuthAdapterBind.ets +26 -0
  1558. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/DialogAdapterBind.ets +36 -0
  1559. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/DisplayAdapterBind.ets +47 -0
  1560. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/DragDropAdapterBind.ets +22 -0
  1561. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/ElectronAppAdapterBind.ets +71 -0
  1562. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/EtsBridgeAdapterBind.ets +228 -0
  1563. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/ExternalProtocolAdapterBind.ets +21 -0
  1564. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/FileManagerAdapterBind.ets +51 -0
  1565. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/FilePickerAdapterBind.ets +38 -0
  1566. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/FontAdapterBind.ets +31 -0
  1567. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/I18nAdapterBind.ets +36 -0
  1568. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/IMFAdapterBind.ets +51 -0
  1569. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/JsBindingMethod.ets +89 -0
  1570. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/MediaAdapterBind.ets +30 -0
  1571. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/MimeTypeAdapterBind.ets +26 -0
  1572. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/NativeThemeAdapterBind.ets +27 -0
  1573. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/NotificationAdapterBind.ets +47 -0
  1574. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/PasteBoardAdapterBind.ets +74 -0
  1575. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/PermissionManagerAdapterBind.ets +46 -0
  1576. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/PopupWindowAdapterBind.ets +88 -0
  1577. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/PrintAdapterBind.ets +37 -0
  1578. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/ProcessAdapterBind.ets +34 -0
  1579. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/RunningLockAdapterBind.ets +26 -0
  1580. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/ScreenshotAdapterBind.ets +23 -0
  1581. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/ShapeDetectionAdapterBind.ets +27 -0
  1582. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/ShareAdapterBind.ets +21 -0
  1583. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/SpeechAdapterBind.ets +64 -0
  1584. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/StatusBarManagerAdapterBind.ets +43 -0
  1585. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/SubWindowAdapterBind.ets +47 -0
  1586. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/SystemFloatingWindowAdapterBind.ets +84 -0
  1587. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/WebAppAdapterBind.ets +24 -0
  1588. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/process/WebChildProcess.ets +28 -0
  1589. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/utils/CheckEmptyUtils.ts +35 -0
  1590. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/utils/CmdArgsHelper.ets +325 -0
  1591. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/utils/GlobalContext.ts +28 -0
  1592. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/utils/GlobalThisHelper.ets +127 -0
  1593. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/utils/InstallationPackageDialog.ets +103 -0
  1594. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/utils/JsBindingUtils.ets +35 -0
  1595. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/utils/KVStore.ets +159 -0
  1596. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/utils/LaunchHelper.ets +55 -0
  1597. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/utils/LogUtil.ts +53 -0
  1598. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/utils/ObjUtil.ts +9 -0
  1599. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/utils/StringStackUtil.ts +26 -0
  1600. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/utils/StringUtil.ts +21 -0
  1601. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/module.json5 +179 -0
  1602. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/resources/base/element/color.json +24 -0
  1603. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/resources/base/element/string.json +128 -0
  1604. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/resources/en_US/element/string.json +132 -0
  1605. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/resources/zh_CN/element/string.json +132 -0
  1606. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/AppScope/app.json5 +15 -0
  1607. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/AppScope/resources/base/element/string.json +8 -0
  1608. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/AppScope/resources/base/media/app_icon.png +0 -0
  1609. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/AppScope/resources/base/media/product_logo_32.png +0 -0
  1610. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/AppScope/resources/base/media/startIcon.png +0 -0
  1611. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/AppScope/resources/base/profile/configuration.json +6 -0
  1612. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/build-profile.json5 +45 -0
  1613. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/build-profile.json5 +30 -0
  1614. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/hvigorfile.ts +6 -0
  1615. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/obfuscation-rules.txt +22 -0
  1616. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/oh-package.json5 +12 -0
  1617. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/Application/AbilityStage.ets +11 -0
  1618. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/entryability/BrowserAbility.ets +44 -0
  1619. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/entryability/EntryAbility.ets +40 -0
  1620. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/entryability/StatelessAbility.ets +49 -0
  1621. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/entryability/StatusBarEntryAbility.ets +35 -0
  1622. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/entryability/TaskManagerAbility.ets +45 -0
  1623. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/extensionAbility/BrowserEmbeddedAbility.ets +33 -0
  1624. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/pages/EmbeddedWindow.ets +25 -0
  1625. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/pages/Index.ets +66 -0
  1626. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/pages/Login.ets +35 -0
  1627. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/pages/NodeHandleSubWindow.ets +43 -0
  1628. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/pages/NodeHandleWindow.ets +108 -0
  1629. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/pages/QuickLoginButtonComponent.ets +640 -0
  1630. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/pages/StatusBarPage.ets +15 -0
  1631. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/pages/SubWindow.ets +18 -0
  1632. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/pages/WebPage.ets +91 -0
  1633. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/pages/WindowNode.ets +25 -0
  1634. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/process/CustomChildProcess.ets +15 -0
  1635. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/module.json5 +122 -0
  1636. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/resources/base/element/color.json +20 -0
  1637. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/resources/base/element/string.json +52 -0
  1638. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/resources/base/profile/main_pages.json +13 -0
  1639. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/resources/base/profile/shortcuts_config.json +18 -0
  1640. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/resources/en_US/element/string.json +36 -0
  1641. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/resources/zh_CN/element/string.json +36 -0
  1642. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/ohosTest/ets/testability/TestAbility.ets +50 -0
  1643. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/ohosTest/ets/testability/pages/Index.ets +17 -0
  1644. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets +47 -0
  1645. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/ohosTest/module.json5 +36 -0
  1646. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/ohosTest/resources/base/element/color.json +8 -0
  1647. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/ohosTest/resources/base/element/string.json +16 -0
  1648. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/ohosTest/resources/base/profile/test_pages.json +5 -0
  1649. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/hvigor/hvigor-config.json5 +17 -0
  1650. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/hvigorfile.ts +6 -0
  1651. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/oh-package.json5 +13 -0
  1652. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/Index.ets +11 -0
  1653. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/build-profile.json5 +28 -0
  1654. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/childProcess.ets +1 -0
  1655. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/consumer-rules.txt +0 -0
  1656. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/hvigorfile.ts +6 -0
  1657. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/obfuscation-rules.txt +22 -0
  1658. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/oh-package.json5 +15 -0
  1659. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/cpp/types/libadapter/index.d.ts +8 -0
  1660. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/cpp/types/libadapter/oh-package.json5 +6 -0
  1661. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/ability/ContinueAbility.ets +257 -0
  1662. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/ability/WebAbility.ets +486 -0
  1663. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/ability/WebBaseAbility.ets +292 -0
  1664. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/ability/WebBaseExtensionAbility.ets +167 -0
  1665. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/ability/WebEmbeddedAbility.ets +103 -0
  1666. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/AccessibilityAdapter.ets +23 -0
  1667. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/AppLifecycleAdapter.ets +51 -0
  1668. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/AppWindowAdapter.ets +890 -0
  1669. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/AutoUpdaterAdapter.ets +77 -0
  1670. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/BluetoothAdapter.ets +280 -0
  1671. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/BluetoothLowEnergyAdapter.ets +501 -0
  1672. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/BrowserPolicyAdapter.ets +30 -0
  1673. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/CertManagerAdapter.ets +247 -0
  1674. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/ContextAdapter.ets +93 -0
  1675. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/ContextPathAdapter.ets +98 -0
  1676. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/CursorAdapter.ets +99 -0
  1677. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/DefaultApplicationAdapter.ets +44 -0
  1678. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/DeviceAdapter.ets +189 -0
  1679. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/DeviceInfoAdapter.ets +95 -0
  1680. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/DeviceUserAuthAdapter.ets +114 -0
  1681. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/DialogAdapter.ets +291 -0
  1682. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/DisplayAdapter.ets +343 -0
  1683. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/DragDropAdapter.ets +184 -0
  1684. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/ElectronAppAdapter.ets +173 -0
  1685. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/EtsBridgeAdapter.ets +312 -0
  1686. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/ExternalProtocolAdapter.ets +73 -0
  1687. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/FileManagerAdapter.ets +205 -0
  1688. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/FilePickerAdapter.ets +202 -0
  1689. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/FontAdapter.ets +52 -0
  1690. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/I18nAdapter.ets +64 -0
  1691. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/IMFAdapter.ets +169 -0
  1692. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/MediaAdapter.ets +59 -0
  1693. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/MimeTypeAdapter.ets +52 -0
  1694. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/MultiInputAdapter.ets +50 -0
  1695. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/NativeMessagingAdapter.ets +151 -0
  1696. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/NativeThemeAdapter.ets +55 -0
  1697. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/NotificationAdapter.ets +348 -0
  1698. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/PasteBoardApadter.ets +252 -0
  1699. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/PermissionManagerAdapter.ets +417 -0
  1700. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/PopupWindowAdapter.ets +341 -0
  1701. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/PrintAdapter.ets +147 -0
  1702. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/ProcessAdapter.ets +64 -0
  1703. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/RunningLockAdapter.ets +103 -0
  1704. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/ScreenshotAdapter.ets +32 -0
  1705. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/ShapeDetectionAdapter.ets +111 -0
  1706. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/ShareAdapter.ets +228 -0
  1707. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/SpeechAdapter.ets +283 -0
  1708. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/StatusBarManager.ets +255 -0
  1709. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/SubWindowAdapter.ets +410 -0
  1710. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/SystemFloatingWindowAdapter.ets +370 -0
  1711. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/application/WebAbilityStage.ets +121 -0
  1712. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/AbilityManager.ets +135 -0
  1713. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/AdapterModule.ets +32 -0
  1714. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/BaseAdapter.ets +27 -0
  1715. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/BaseWindowAdapter.ets +80 -0
  1716. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/CommandLineAdapter.ets +177 -0
  1717. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/CommonDependencyProvider.ets +41 -0
  1718. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/CommonModule.ets +19 -0
  1719. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/Constants.ets +60 -0
  1720. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/DragParamManager.ets +652 -0
  1721. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/InjectModule.ets +58 -0
  1722. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/LogDecorator.ts +57 -0
  1723. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/ModuleType.ts +9 -0
  1724. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/NodeHandleManager.ets +66 -0
  1725. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/PopupWindowManager.ets +78 -0
  1726. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/SystemFloatingWindowManager.ets +78 -0
  1727. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/WindowStyle.ets +80 -0
  1728. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/components/MessageBox.ets +150 -0
  1729. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/components/WebEmbeddedWindow.ets +157 -0
  1730. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/components/WebNodeHandleSubWindow.ets +63 -0
  1731. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/components/WebNodeHandleWindow.ets +144 -0
  1732. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/components/WebSubWindow.ets +93 -0
  1733. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/components/WebWindow.ets +244 -0
  1734. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/components/WebWindowNode.ets +194 -0
  1735. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/interface/CommonInterface.ts +399 -0
  1736. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/interface/Dependency.ets +16 -0
  1737. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/interface/WebProxy.ets +74 -0
  1738. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/AccessibilityAdapterBind.ets +27 -0
  1739. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/AppLifecycleAdapterBind.ets +27 -0
  1740. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/AppWindowAdapterBind.ets +249 -0
  1741. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/AutoUpdaterAdapterBind.ets +26 -0
  1742. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/BluetoothAdapterBind.ets +126 -0
  1743. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/BluetoothLowEnergyAdapterBind.ets +133 -0
  1744. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/BrowserPolicyAdapterBind.ets +21 -0
  1745. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/CertManagerAdapterBind.ets +51 -0
  1746. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/ContextAdapterBind.ets +27 -0
  1747. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/ContextPathAdapterBind.ets +31 -0
  1748. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/CursorAdapterBind.ets +32 -0
  1749. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/DefaultApplicationAdapterBind.ets +26 -0
  1750. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/DeviceAdapterBind.ets +72 -0
  1751. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/DeviceUserAuthAdapterBind.ets +26 -0
  1752. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/DialogAdapterBind.ets +36 -0
  1753. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/DisplayAdapterBind.ets +47 -0
  1754. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/DragDropAdapterBind.ets +22 -0
  1755. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/ElectronAppAdapterBind.ets +66 -0
  1756. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/EtsBridgeAdapterBind.ets +239 -0
  1757. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/ExternalProtocolAdapterBind.ets +21 -0
  1758. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/FileManagerAdapterBind.ets +51 -0
  1759. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/FilePickerAdapterBind.ets +38 -0
  1760. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/FontAdapterBind.ets +31 -0
  1761. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/I18nAdapterBind.ets +36 -0
  1762. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/IMFAdapterBind.ets +51 -0
  1763. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/JsBindingMethod.ets +89 -0
  1764. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/MediaAdapterBind.ets +30 -0
  1765. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/MimeTypeAdapterBind.ets +26 -0
  1766. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/NativeMessagingAdapterBind.ets +56 -0
  1767. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/NativeThemeAdapterBind.ets +27 -0
  1768. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/NotificationAdapterBind.ets +42 -0
  1769. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/PasteBoardAdapterBind.ets +74 -0
  1770. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/PermissionManagerAdapterBind.ets +46 -0
  1771. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/PopupWindowAdapterBind.ets +88 -0
  1772. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/PrintAdapterBind.ets +37 -0
  1773. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/ProcessAdapterBind.ets +34 -0
  1774. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/RunningLockAdapterBind.ets +26 -0
  1775. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/ScreenshotAdapterBind.ets +23 -0
  1776. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/ShapeDetectionAdapterBind.ets +27 -0
  1777. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/ShareAdapterBind.ets +21 -0
  1778. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/SpeechAdapterBind.ets +64 -0
  1779. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/StatusBarManagerAdapterBind.ets +43 -0
  1780. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/SubWindowAdapterBind.ets +47 -0
  1781. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/SystemFloatingWindowAdapterBind.ets +79 -0
  1782. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/process/WebChildProcess.ets +28 -0
  1783. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/utils/CheckEmptyUtils.ts +47 -0
  1784. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/utils/GlobalContext.ts +28 -0
  1785. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/utils/GlobalThisHelper.ets +83 -0
  1786. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/utils/InstallationPackageDialog.ets +103 -0
  1787. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/utils/JsBindingUtils.ets +62 -0
  1788. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/utils/LaunchHelper.ets +55 -0
  1789. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/utils/LogUtil.ts +53 -0
  1790. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/utils/ObjUtil.ts +9 -0
  1791. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/utils/StringStackUtil.ts +26 -0
  1792. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/utils/StringUtil.ts +21 -0
  1793. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/module.json5 +182 -0
  1794. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/resources/base/element/color.json +24 -0
  1795. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/resources/base/element/string.json +128 -0
  1796. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/resources/en_US/element/string.json +128 -0
  1797. package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/resources/zh_CN/element/string.json +128 -0
  1798. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/AppScope/app.json5 +12 -0
  1799. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/AppScope/resources/base/element/string.json +8 -0
  1800. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/AppScope/resources/base/media/app_icon.png +0 -0
  1801. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/README.md +30 -0
  1802. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/build-profile.json5 +36 -0
  1803. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/build-profile.json5 +48 -0
  1804. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/hvigorfile.ts +6 -0
  1805. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/obfuscation-rules.txt +2 -0
  1806. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/oh-package.json5 +11 -0
  1807. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/src/main/cpp/CMakeLists.txt +37 -0
  1808. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/src/main/cpp/py_runner.cpp +83 -0
  1809. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/src/main/cpp/types/lib__XCOMP__/index.d.ts +1 -0
  1810. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/src/main/cpp/types/lib__XCOMP__/oh-package.json5 +6 -0
  1811. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/src/main/ets/entryability/EntryAbility.ets +27 -0
  1812. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/src/main/ets/pages/Index.ets +44 -0
  1813. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/src/main/module.json5 +50 -0
  1814. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/src/main/resources/base/element/color.json +8 -0
  1815. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/src/main/resources/base/element/string.json +8 -0
  1816. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/src/main/resources/base/media/app_icon.png +0 -0
  1817. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/src/main/resources/base/profile/main_pages.json +5 -0
  1818. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/src/main/resources/resfile/app/main.py +14 -0
  1819. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/hvigor/hvigor-config.json5 +13 -0
  1820. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/hvigorfile.ts +6 -0
  1821. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/oh-package.json5 +8 -0
  1822. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/scripts/build-hap.sh +61 -0
  1823. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/AppScope/app.json5 +12 -0
  1824. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/AppScope/resources/base/element/string.json +8 -0
  1825. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/AppScope/resources/base/media/app_icon.png +0 -0
  1826. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/README.md +31 -0
  1827. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/build-profile.json5 +36 -0
  1828. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/build-profile.json5 +45 -0
  1829. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/hvigorfile.ts +6 -0
  1830. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/obfuscation-rules.txt +2 -0
  1831. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/oh-package.json5 +11 -0
  1832. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/src/main/cpp/CMakeLists.txt +15 -0
  1833. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/src/main/cpp/shell_exec.cpp +124 -0
  1834. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/src/main/cpp/types/lib__XCOMP__/index.d.ts +1 -0
  1835. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/src/main/cpp/types/lib__XCOMP__/oh-package.json5 +6 -0
  1836. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/src/main/ets/entryability/EntryAbility.ets +27 -0
  1837. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/src/main/ets/pages/Index.ets +49 -0
  1838. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/src/main/module.json5 +49 -0
  1839. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/src/main/resources/base/element/color.json +8 -0
  1840. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/src/main/resources/base/element/string.json +8 -0
  1841. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/src/main/resources/base/media/app_icon.png +0 -0
  1842. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/src/main/resources/base/profile/main_pages.json +5 -0
  1843. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/src/main/resources/resfile/app/main.py +15 -0
  1844. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/hvigor/hvigor-config.json5 +13 -0
  1845. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/hvigorfile.ts +6 -0
  1846. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/oh-package.json5 +8 -0
  1847. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/scripts/build-hap.sh +38 -0
  1848. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/AppScope/app.json5 +12 -0
  1849. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/AppScope/resources/base/element/string.json +8 -0
  1850. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/AppScope/resources/base/media/app_icon.png +0 -0
  1851. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/README.md +35 -0
  1852. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/build-profile.json5 +36 -0
  1853. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/build-profile.json5 +45 -0
  1854. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/hvigorfile.ts +6 -0
  1855. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/obfuscation-rules.txt +2 -0
  1856. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/oh-package.json5 +9 -0
  1857. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/src/main/cpp/CMakeLists.txt +57 -0
  1858. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/src/main/cpp/app_shell.cpp +11 -0
  1859. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/src/main/ets/entryability/EntryAbility.ets +32 -0
  1860. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/src/main/ets/pages/Index.ets +29 -0
  1861. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/src/main/module.json5 +49 -0
  1862. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/src/main/resources/base/element/color.json +8 -0
  1863. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/src/main/resources/base/element/string.json +8 -0
  1864. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/src/main/resources/base/media/app_icon.png +0 -0
  1865. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/src/main/resources/base/profile/main_pages.json +5 -0
  1866. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/src/main/resources/resfile/app/main.py +125 -0
  1867. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/hvigor/hvigor-config.json5 +13 -0
  1868. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/hvigorfile.ts +6 -0
  1869. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/oh-package.json5 +8 -0
  1870. package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/scripts/build-hap.sh +105 -0
  1871. package/package.json +13 -6
  1872. package/src/cli.js +14 -3
  1873. package/src/detect-pc.js +88 -0
  1874. package/src/doctor.js +27 -10
  1875. package/src/install.js +7 -74
  1876. package/src/ohpt-agent.js +23 -0
  1877. package/src/ohpt.js +24 -0
  1878. package/src/paths.js +2 -2
  1879. package/src/plugin.js +64 -8
@@ -0,0 +1,646 @@
1
+ #!/usr/bin/env node
2
+ var vf=Object.create;var $a=Object.defineProperty;var Sf=Object.getOwnPropertyDescriptor;var kf=Object.getOwnPropertyNames;var Df=Object.getPrototypeOf,Ef=Object.prototype.hasOwnProperty;var tn=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var F=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Af=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of kf(t))!Ef.call(e,s)&&s!==n&&$a(e,s,{get:()=>t[s],enumerable:!(r=Sf(t,s))||r.enumerable});return e};var kr=(e,t,n)=>(n=e!=null?vf(Df(e)):{},Af(t||!e||!e.__esModule?$a(n,"default",{value:e,enumerable:!0}):n,e));var fe=F(Se=>{"use strict";Se.__esModule=!0;Se.extend=qa;Se.indexOf=Uf;Se.escapeExpression=qf;Se.isEmpty=Vf;Se.createFrame=zf;Se.blockParams=Gf;Se.appendContextPath=Wf;var Bf={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;","=":"&#x3D;"},Mf=/[&<>"'`=]/g,Hf=/[&<>"'`=]/;function Kf(e){return Bf[e]}function qa(e){for(var t=1;t<arguments.length;t++)for(var n in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],n)&&(e[n]=arguments[t][n]);return e}var hi=Object.prototype.toString;Se.toString=hi;var fi=function(t){return typeof t=="function"};fi(/x/)&&(Se.isFunction=fi=function(e){return typeof e=="function"&&hi.call(e)==="[object Function]"});Se.isFunction=fi;var Va=Array.isArray||function(e){return e&&typeof e=="object"?hi.call(e)==="[object Array]":!1};Se.isArray=Va;function Uf(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}function qf(e){if(typeof e!="string"){if(e&&typeof e.toHTML=="function")return e.toHTML();if(e==null)return"";if(!e)return e+"";e=""+e}return Hf.test(e)?e.replace(Mf,Kf):e}function Vf(e){return!e&&e!==0?!0:!!(Va(e)&&e.length===0)}function zf(e){var t=qa({},e);return t._parent=e,t}function Gf(e,t){return e.path=t,e}function Wf(e,t){return(e?e+".":"")+t}});var we=F((Cr,za)=>{"use strict";Cr.__esModule=!0;var gi=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function mi(e,t){var n=t&&t.loc,r=void 0,s=void 0,i=void 0,o=void 0;n&&n.start&&(r=n.start.line,i=n.start.column,n.end&&(s=n.end.line,o=n.end.column),e+=" - "+r+":"+i);for(var a=Error.prototype.constructor.call(this,e),u=0;u<gi.length;u++)this[gi[u]]=a[gi[u]];Error.captureStackTrace&&Error.captureStackTrace(this,mi);try{n&&(this.lineNumber=r,this.endLineNumber=s,Object.defineProperty?(Object.defineProperty(this,"column",{value:i,enumerable:!0}),Object.defineProperty(this,"endColumn",{value:o,enumerable:!0})):(this.column=i,this.endColumn=o))}catch{}}mi.prototype=new Error;Cr.default=mi;za.exports=Cr.default});var Wa=F((Rr,Ga)=>{"use strict";Rr.__esModule=!0;var yi=fe();Rr.default=function(e){e.registerHelper("blockHelperMissing",function(t,n){var r=n.inverse,s=n.fn;if(t===!0)return s(this);if(t===!1||t==null)return r(this);if(yi.isArray(t))return t.length>0?(n.ids&&(n.ids=[n.name]),e.helpers.each(t,n)):r(this);if(n.data&&n.ids){var i=yi.createFrame(n.data);i.contextPath=yi.appendContextPath(n.data.contextPath,n.name),n={data:i}}return s(t,n)})};Ga.exports=Rr.default});var Ya=F((jr,Ja)=>{"use strict";jr.__esModule=!0;function Jf(e){return e&&e.__esModule?e:{default:e}}var rn=fe(),Yf=we(),Zf=Jf(Yf);function Xf(e){try{var t=e.return;rn.isFunction(t)&&t.call(e)}catch{}}jr.default=function(e){e.registerHelper("each",function(t,n){if(!n)throw new Zf.default("Must pass iterator to #each");var r=n.fn,s=n.inverse,i=0,o="",a=void 0,u=void 0;n.data&&n.ids&&(u=rn.appendContextPath(n.data.contextPath,n.ids[0])+"."),rn.isFunction(t)&&(t=t.call(this)),n.data&&(a=rn.createFrame(n.data));function c(g,h,m,_){a&&(a.key=g,a.index=h,a.first=h===0,a.last=!!m,u&&(a.contextPath=u+g)),o=o+r(_,{data:a,blockParams:rn.blockParams([_,g],[u+g,null])})}if(t&&typeof t=="object")if(rn.isArray(t))for(var d=t.length;i<d;i++)i in t&&c(i,i,i===t.length-1,t[i]);else if(typeof Symbol=="function"&&t[Symbol.iterator])for(var l=t[Symbol.iterator](),p=l.next();!p.done;){var f=l.next();try{c(i,i,f.done,p.value)}catch(g){throw f.done||Xf(l),g}p=f,i++}else(function(){var g=void 0;Object.keys(t).forEach(function(h){g!==void 0&&c(g,i-1,!1,t[g]),g=h,i++}),g!==void 0&&c(g,i-1,!0,t[g])})();return i===0&&(o=s(this)),o})};Ja.exports=jr.default});var Xa=F((Fr,Za)=>{"use strict";Fr.__esModule=!0;function Qf(e){return e&&e.__esModule?e:{default:e}}var eh=we(),th=Qf(eh);Fr.default=function(e){e.registerHelper("helperMissing",function(){if(arguments.length!==1)throw new th.default('Missing helper: "'+arguments[arguments.length-1].name+'"')})};Za.exports=Fr.default});var nc=F((xr,tc)=>{"use strict";xr.__esModule=!0;function nh(e){return e&&e.__esModule?e:{default:e}}var Qa=fe(),rh=we(),ec=nh(rh);xr.default=function(e){e.registerHelper("if",function(t,n){if(arguments.length!=2)throw new ec.default("#if requires exactly one argument");return Qa.isFunction(t)&&(t=t.call(this)),!n.hash.includeZero&&!t||Qa.isEmpty(t)?n.inverse(this):n.fn(this)}),e.registerHelper("unless",function(t,n){if(arguments.length!=2)throw new ec.default("#unless requires exactly one argument");return e.helpers.if.call(this,t,{fn:n.inverse,inverse:n.fn,hash:n.hash})})};tc.exports=xr.default});var sc=F((Or,rc)=>{"use strict";Or.__esModule=!0;Or.default=function(e){e.registerHelper("log",function(){for(var t=[void 0],n=arguments[arguments.length-1],r=0;r<arguments.length-1;r++)t.push(arguments[r]);var s=1;n.hash.level!=null?s=n.hash.level:n.data&&n.data.level!=null&&(s=n.data.level),t[0]=s,e.log.apply(e,t)})};rc.exports=Or.default});var oc=F((Pr,ic)=>{"use strict";Pr.__esModule=!0;Pr.default=function(e){e.registerHelper("lookup",function(t,n,r){return t&&r.lookupProperty(t,n)})};ic.exports=Pr.default});var cc=F(($r,ac)=>{"use strict";$r.__esModule=!0;function sh(e){return e&&e.__esModule?e:{default:e}}var qn=fe(),ih=we(),oh=sh(ih);$r.default=function(e){e.registerHelper("with",function(t,n){if(arguments.length!=2)throw new oh.default("#with requires exactly one argument");qn.isFunction(t)&&(t=t.call(this));var r=n.fn;if(qn.isEmpty(t))return n.inverse(this);var s=n.data;return n.data&&n.ids&&(s=qn.createFrame(n.data),s.contextPath=qn.appendContextPath(n.data.contextPath,n.ids[0])),r(t,{data:s,blockParams:qn.blockParams([t],[s&&s.contextPath])})})};ac.exports=$r.default});var _i=F(Lr=>{"use strict";Lr.__esModule=!0;Lr.registerDefaultHelpers=Sh;Lr.moveHelperToHooks=kh;function Pt(e){return e&&e.__esModule?e:{default:e}}var ah=Wa(),ch=Pt(ah),uh=Ya(),lh=Pt(uh),dh=Xa(),ph=Pt(dh),fh=nc(),hh=Pt(fh),gh=sc(),mh=Pt(gh),yh=oc(),_h=Pt(yh),bh=cc(),vh=Pt(bh);function Sh(e){ch.default(e),lh.default(e),ph.default(e),hh.default(e),mh.default(e),_h.default(e),vh.default(e)}function kh(e,t,n){e.helpers[t]&&(e.hooks[t]=e.helpers[t],n||(e.helpers[t]=void 0))}});var lc=F((Nr,uc)=>{"use strict";Nr.__esModule=!0;var Dh=fe();Nr.default=function(e){e.registerDecorator("inline",function(t,n,r,s){var i=t;return n.partials||(n.partials={},i=function(o,a){var u=r.partials;r.partials=Dh.extend({},u,n.partials);var c=t(o,a);return r.partials=u,c}),n.partials[s.args[0]]=s.fn,i})};uc.exports=Nr.default});var dc=F(bi=>{"use strict";bi.__esModule=!0;bi.registerDefaultDecorators=Ch;function Eh(e){return e&&e.__esModule?e:{default:e}}var Ah=lc(),wh=Eh(Ah);function Ch(e){wh.default(e)}});var vi=F((Ir,pc)=>{"use strict";Ir.__esModule=!0;var Rh=fe(),sn={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(t){if(typeof t=="string"){var n=Rh.indexOf(sn.methodMap,t.toLowerCase());n>=0?t=n:t=parseInt(t,10)}return t},log:function(t){if(t=sn.lookupLevel(t),typeof console<"u"&&sn.lookupLevel(sn.level)<=t){var n=sn.methodMap[t];console[n]||(n="log");for(var r=arguments.length,s=Array(r>1?r-1:0),i=1;i<r;i++)s[i-1]=arguments[i];console[n].apply(console,s)}}};Ir.default=sn;pc.exports=Ir.default});var Si=F(on=>{"use strict";on.__esModule=!0;on.createProtoAccessControl=Oh;on.resultIsAllowed=Ph;on.isPrototypeConstructor=$h;on.resetLoggedProperties=Nh;function jh(e){return e&&e.__esModule?e:{default:e}}var fc=fe(),Fh=vi(),xh=jh(Fh),Tr=Object.create(null);function Oh(e){var t=Object.create(null);t.__proto__=!1,fc.extend(t,e.allowedProtoProperties);var n=Object.create(null);return n.constructor=!1,n.__defineGetter__=!1,n.__defineSetter__=!1,n.__lookupGetter__=!1,n.__lookupSetter__=!1,fc.extend(n,e.allowedProtoMethods),{properties:{whitelist:t,defaultValue:e.allowProtoPropertiesByDefault},methods:{whitelist:n,defaultValue:e.allowProtoMethodsByDefault}}}function Ph(e,t,n){return hc(typeof e=="function"?t.methods:t.properties,n)}function $h(e,t,n){return t==="constructor"&&typeof n=="function"&&e===n.prototype}function hc(e,t){return e.whitelist[t]!==void 0?e.whitelist[t]===!0:e.defaultValue!==void 0?e.defaultValue:(Lh(t),!1)}function Lh(e){Tr[e]!==!0&&(Tr[e]=!0,xh.default.log("error",'Handlebars: Access has been denied to resolve the property "'+e+`" because it is not an "own property" of its parent.
3
+ You can add a runtime option to disable the check or this warning:
4
+ See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details`))}function Nh(){Object.keys(Tr).forEach(function(e){delete Tr[e]})}});var Mr=F(Me=>{"use strict";Me.__esModule=!0;Me.HandlebarsEnvironment=Ei;function gc(e){return e&&e.__esModule?e:{default:e}}var $t=fe(),Ih=we(),ki=gc(Ih),Th=_i(),Bh=dc(),Mh=vi(),Br=gc(Mh),Hh=Si(),Kh="4.7.10";Me.VERSION=Kh;var Uh=8;Me.COMPILER_REVISION=Uh;var qh=7;Me.LAST_COMPATIBLE_COMPILER_REVISION=qh;var Vh={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};Me.REVISION_CHANGES=Vh;var Di="[object Object]";function Ei(e,t,n){this.helpers=e||{},this.partials=t||{},this.decorators=n||{},Th.registerDefaultHelpers(this),Bh.registerDefaultDecorators(this)}Ei.prototype={constructor:Ei,logger:Br.default,log:Br.default.log,registerHelper:function(t,n){if($t.toString.call(t)===Di){if(n)throw new ki.default("Arg not supported with multiple helpers");$t.extend(this.helpers,t)}else this.helpers[t]=n},unregisterHelper:function(t){delete this.helpers[t]},registerPartial:function(t,n){if($t.toString.call(t)===Di)$t.extend(this.partials,t);else{if(typeof n>"u")throw new ki.default('Attempting to register a partial called "'+t+'" as undefined');this.partials[t]=n}},unregisterPartial:function(t){delete this.partials[t]},registerDecorator:function(t,n){if($t.toString.call(t)===Di){if(n)throw new ki.default("Arg not supported with multiple decorators");$t.extend(this.decorators,t)}else this.decorators[t]=n},unregisterDecorator:function(t){delete this.decorators[t]},resetLoggedPropertyAccesses:function(){Hh.resetLoggedProperties()}};var zh=Br.default.log;Me.log=zh;Me.createFrame=$t.createFrame;Me.logger=Br.default});var yc=F((Hr,mc)=>{"use strict";Hr.__esModule=!0;function Ai(e){this.string=e}Ai.prototype.toString=Ai.prototype.toHTML=function(){return""+this.string};Hr.default=Ai;mc.exports=Hr.default});var _c=F(wi=>{"use strict";wi.__esModule=!0;wi.wrapHelper=Gh;function Gh(e,t){if(typeof e!="function")return e;var n=function(){var s=arguments[arguments.length-1];return arguments[arguments.length-1]=t(s),e.apply(this,arguments)};return n}});var Dc=F(ft=>{"use strict";ft.__esModule=!0;ft.checkRevision=Qh;ft.template=eg;ft.wrapProgram=Kr;ft.resolvePartial=tg;ft.invokePartial=ng;ft.noop=Sc;function Wh(e){return e&&e.__esModule?e:{default:e}}function Jh(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}var Yh=fe(),Lt=Jh(Yh),Zh=we(),Pe=Wh(Zh),Ye=Mr(),bc=_i(),Xh=_c(),Ci=Si();function Qh(e){var t=e&&e[0]||1,n=Ye.COMPILER_REVISION;if(!(t>=Ye.LAST_COMPATIBLE_COMPILER_REVISION&&t<=Ye.COMPILER_REVISION))if(t<Ye.LAST_COMPATIBLE_COMPILER_REVISION){var r=Ye.REVISION_CHANGES[n],s=Ye.REVISION_CHANGES[t];throw new Pe.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+r+") or downgrade your runtime to an older version ("+s+").")}else throw new Pe.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")}function eg(e,t){if(!t)throw new Pe.default("No environment passed to template");if(!e||!e.main)throw new Pe.default("Unknown template object: "+typeof e);e.main.decorator=e.main_d,t.VM.checkRevision(e.compiler);var n=e.compiler&&e.compiler[0]===7;function r(o,a,u){u.hash&&(a=Lt.extend({},a,u.hash),u.ids&&(u.ids[0]=!0)),o=t.VM.resolvePartial.call(this,o,a,u),u.hooks=this.hooks,u.protoAccessControl=this.protoAccessControl;var c=t.VM.invokePartial.call(this,o,a,u);if(c==null&&Lt.isFunction(o))throw new Pe.default("The partial "+u.name+" returned no output: partials must return a string");if(c==null&&t.compile){if(typeof o!="string")throw new Pe.default("The partial "+u.name+" could not be compiled: partials must be strings or functions returning strings");u.partials[u.name]=t.compile(o,e.compilerOptions,t),c=u.partials[u.name](a,u)}if(c!=null){if(u.indent){for(var d=c.split(`
5
+ `),l=0,p=d.length;l<p&&!(!d[l]&&l+1===p);l++)d[l]=u.indent+d[l];c=d.join(`
6
+ `)}return c}else throw new Pe.default("The partial "+u.name+" could not be compiled when running in runtime-only mode")}var s={strict:function(a,u,c){if(!a||!(u in a))throw new Pe.default('"'+u+'" not defined in '+a,{loc:c});return s.lookupProperty(a,u)},lookupProperty:function(a,u){var c=a[u];if(c==null||Object.prototype.hasOwnProperty.call(a,u)&&!Ci.isPrototypeConstructor(a,u,c)||Ci.resultIsAllowed(c,s.protoAccessControl,u))return c},lookup:function(a,u){for(var c=a.length,d=0;d<c;d++){var l=a[d]&&s.lookupProperty(a[d],u);if(l!=null)return l}},lambda:function(a,u){return typeof a=="function"?a.call(u):a},escapeExpression:Lt.escapeExpression,invokePartial:r,fn:function(a){var u=e[a];return u.decorator=e[a+"_d"],u},programs:[],program:function(a,u,c,d,l){var p=this.programs[a],f=this.fn(a);return u||l||d||c?p=Kr(this,a,f,u,c,d,l):p||(p=this.programs[a]=Kr(this,a,f)),p},data:function(a,u){for(;a&&u--;)a=a._parent;return a},mergeIfNeeded:function(a,u){var c=a||u;return a&&u&&a!==u&&(c=Lt.extend({},u,a)),c},nullContext:Object.seal({}),noop:t.VM.noop,compilerInfo:e.compiler};function i(o){var a=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],u=a.data;i._setup(a),!a.partial&&e.useData&&(u=rg(o,u));var c=void 0,d=e.useBlockParams?[]:void 0;e.useDepths&&(a.depths?c=o!=a.depths[0]?[o].concat(a.depths):a.depths:c=[o]);function l(p){return""+e.main(s,p,s.helpers,s.partials,u,d,c)}return l=kc(e.main,l,s,a.depths||[],u,d),l(o,a)}return i.isTop=!0,i._setup=function(o){if(o.partial)s.protoAccessControl=o.protoAccessControl,s.helpers=o.helpers,s.partials=o.partials,s.decorators=o.decorators,s.hooks=o.hooks;else{var a={};vc(a,t.helpers,s),vc(a,o.helpers,s),s.helpers=a,e.usePartial&&(s.partials=s.mergeIfNeeded(o.partials,t.partials)),(e.usePartial||e.useDecorators)&&(s.decorators=Lt.extend({},t.decorators,o.decorators)),s.hooks={},s.protoAccessControl=Ci.createProtoAccessControl(o);var u=o.allowCallsToHelperMissing||n;bc.moveHelperToHooks(s,"helperMissing",u),bc.moveHelperToHooks(s,"blockHelperMissing",u)}},i._child=function(o,a,u,c){if(e.useBlockParams&&!u)throw new Pe.default("must pass block params");if(e.useDepths&&!c)throw new Pe.default("must pass parent depths");return Kr(s,o,e[o],a,0,u,c)},i}function Kr(e,t,n,r,s,i,o){function a(u){var c=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],d=o;return o&&u!=o[0]&&!(u===e.nullContext&&o[0]===null)&&(d=[u].concat(o)),n(e,u,e.helpers,e.partials,c.data||r,i&&[c.blockParams].concat(i),d)}return a=kc(n,a,e,o,r,i),a.program=t,a.depth=o?o.length:0,a.blockParams=s||0,a}function tg(e,t,n){return e?typeof e!="function"&&!n.name&&(n.name=e,e=Ur(n.partials,e)):n.name==="@partial-block"?e=Ur(n.data,"partial-block"):e=Ur(n.partials,n.name),e}function ng(e,t,n){var r=Ur(n.data,"partial-block");n.partial=!0,n.ids&&(n.data.contextPath=n.ids[0]||n.data.contextPath);var s=void 0;if(n.fn&&n.fn!==Sc&&function(){n.data=Ye.createFrame(n.data);var i=n.fn;s=n.data["partial-block"]=function(a){var u=arguments.length<=1||arguments[1]===void 0?{}:arguments[1];return u.data=Ye.createFrame(u.data),u.data["partial-block"]=r,i(a,u)},i.partials&&(n.partials=Lt.extend({},n.partials,i.partials))}(),e===void 0&&s&&(e=s),e===void 0)throw new Pe.default("The partial "+n.name+" could not be found");if(e instanceof Function)return e(t,n)}function Sc(){return""}function Ur(e,t){if(e&&Object.prototype.hasOwnProperty.call(e,t))return e[t]}function rg(e,t){return(!t||!("root"in t))&&(t=t?Ye.createFrame(t):{},t.root=e),t}function kc(e,t,n,r,s,i){if(e.decorator){var o={};t=e.decorator(t,o,n,r&&r[0],s,i,r),Lt.extend(t,o)}return t}function vc(e,t,n){t&&Object.keys(t).forEach(function(r){var s=t[r];e[r]=sg(s,n)})}function sg(e,t){var n=t.lookupProperty;return Xh.wrapHelper(e,function(r){return r.lookupProperty=n,r})}});var Ri=F((qr,Ec)=>{"use strict";qr.__esModule=!0;qr.default=function(e){(function(){typeof globalThis!="object"&&(Object.prototype.__defineGetter__("__magic__",function(){return this}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__)})();var t=globalThis.Handlebars;e.noConflict=function(){return globalThis.Handlebars===e&&(globalThis.Handlebars=t),e}};Ec.exports=qr.default});var jc=F((Vr,Rc)=>{"use strict";Vr.__esModule=!0;function Fi(e){return e&&e.__esModule?e:{default:e}}function xi(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}var ig=Mr(),Ac=xi(ig),og=yc(),ag=Fi(og),cg=we(),ug=Fi(cg),lg=fe(),ji=xi(lg),dg=Dc(),wc=xi(dg),pg=Ri(),fg=Fi(pg);function Cc(){var e=new Ac.HandlebarsEnvironment;return ji.extend(e,Ac),e.SafeString=ag.default,e.Exception=ug.default,e.Utils=ji,e.escapeExpression=ji.escapeExpression,e.VM=wc,e.template=function(t){return wc.template(t,e)},e}var Vn=Cc();Vn.create=Cc;fg.default(Vn);Vn.default=Vn;Vr.default=Vn;Rc.exports=Vr.default});var Oi=F((zr,xc)=>{"use strict";zr.__esModule=!0;var Fc={helpers:{helperExpression:function(t){return t.type==="SubExpression"||(t.type==="MustacheStatement"||t.type==="BlockStatement")&&!!(t.params&&t.params.length||t.hash)},scopedId:function(t){return/^\.|this\b/.test(t.original)},simpleId:function(t){return t.parts.length===1&&!Fc.helpers.scopedId(t)&&!t.depth}}};zr.default=Fc;xc.exports=zr.default});var Pc=F((Gr,Oc)=>{"use strict";Gr.__esModule=!0;var hg=function(){var e={trace:function(){},yy:{},symbols_:{error:2,root:3,program:4,EOF:5,program_repetition0:6,statement:7,mustache:8,block:9,rawBlock:10,partial:11,partialBlock:12,content:13,COMMENT:14,CONTENT:15,openRawBlock:16,rawBlock_repetition0:17,END_RAW_BLOCK:18,OPEN_RAW_BLOCK:19,helperName:20,openRawBlock_repetition0:21,openRawBlock_option0:22,CLOSE_RAW_BLOCK:23,openBlock:24,block_option0:25,closeBlock:26,openInverse:27,block_option1:28,OPEN_BLOCK:29,openBlock_repetition0:30,openBlock_option0:31,openBlock_option1:32,CLOSE:33,OPEN_INVERSE:34,openInverse_repetition0:35,openInverse_option0:36,openInverse_option1:37,openInverseChain:38,OPEN_INVERSE_CHAIN:39,openInverseChain_repetition0:40,openInverseChain_option0:41,openInverseChain_option1:42,inverseAndProgram:43,INVERSE:44,inverseChain:45,inverseChain_option0:46,OPEN_ENDBLOCK:47,OPEN:48,mustache_repetition0:49,mustache_option0:50,OPEN_UNESCAPED:51,mustache_repetition1:52,mustache_option1:53,CLOSE_UNESCAPED:54,OPEN_PARTIAL:55,partialName:56,partial_repetition0:57,partial_option0:58,openPartialBlock:59,OPEN_PARTIAL_BLOCK:60,openPartialBlock_repetition0:61,openPartialBlock_option0:62,param:63,sexpr:64,OPEN_SEXPR:65,sexpr_repetition0:66,sexpr_option0:67,CLOSE_SEXPR:68,hash:69,hash_repetition_plus0:70,hashSegment:71,ID:72,EQUALS:73,blockParams:74,OPEN_BLOCK_PARAMS:75,blockParams_repetition_plus0:76,CLOSE_BLOCK_PARAMS:77,path:78,dataName:79,STRING:80,NUMBER:81,BOOLEAN:82,UNDEFINED:83,NULL:84,DATA:85,pathSegments:86,SEP:87,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",14:"COMMENT",15:"CONTENT",18:"END_RAW_BLOCK",19:"OPEN_RAW_BLOCK",23:"CLOSE_RAW_BLOCK",29:"OPEN_BLOCK",33:"CLOSE",34:"OPEN_INVERSE",39:"OPEN_INVERSE_CHAIN",44:"INVERSE",47:"OPEN_ENDBLOCK",48:"OPEN",51:"OPEN_UNESCAPED",54:"CLOSE_UNESCAPED",55:"OPEN_PARTIAL",60:"OPEN_PARTIAL_BLOCK",65:"OPEN_SEXPR",68:"CLOSE_SEXPR",72:"ID",73:"EQUALS",75:"OPEN_BLOCK_PARAMS",77:"CLOSE_BLOCK_PARAMS",80:"STRING",81:"NUMBER",82:"BOOLEAN",83:"UNDEFINED",84:"NULL",85:"DATA",87:"SEP"},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[13,1],[10,3],[16,5],[9,4],[9,4],[24,6],[27,6],[38,6],[43,2],[45,3],[45,1],[26,3],[8,5],[8,5],[11,5],[12,3],[59,5],[63,1],[63,1],[64,5],[69,1],[71,3],[74,3],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[56,1],[56,1],[79,2],[78,1],[86,3],[86,1],[6,0],[6,2],[17,0],[17,2],[21,0],[21,2],[22,0],[22,1],[25,0],[25,1],[28,0],[28,1],[30,0],[30,2],[31,0],[31,1],[32,0],[32,1],[35,0],[35,2],[36,0],[36,1],[37,0],[37,1],[40,0],[40,2],[41,0],[41,1],[42,0],[42,1],[46,0],[46,1],[49,0],[49,2],[50,0],[50,1],[52,0],[52,2],[53,0],[53,1],[57,0],[57,2],[58,0],[58,1],[61,0],[61,2],[62,0],[62,1],[66,0],[66,2],[67,0],[67,1],[70,1],[70,2],[76,1],[76,2]],performAction:function(s,i,o,a,u,c,d){var l=c.length-1;switch(u){case 1:return c[l-1];case 2:this.$=a.prepareProgram(c[l]);break;case 3:this.$=c[l];break;case 4:this.$=c[l];break;case 5:this.$=c[l];break;case 6:this.$=c[l];break;case 7:this.$=c[l];break;case 8:this.$=c[l];break;case 9:this.$={type:"CommentStatement",value:a.stripComment(c[l]),strip:a.stripFlags(c[l],c[l]),loc:a.locInfo(this._$)};break;case 10:this.$={type:"ContentStatement",original:c[l],value:c[l],loc:a.locInfo(this._$)};break;case 11:this.$=a.prepareRawBlock(c[l-2],c[l-1],c[l],this._$);break;case 12:this.$={path:c[l-3],params:c[l-2],hash:c[l-1]};break;case 13:this.$=a.prepareBlock(c[l-3],c[l-2],c[l-1],c[l],!1,this._$);break;case 14:this.$=a.prepareBlock(c[l-3],c[l-2],c[l-1],c[l],!0,this._$);break;case 15:this.$={open:c[l-5],path:c[l-4],params:c[l-3],hash:c[l-2],blockParams:c[l-1],strip:a.stripFlags(c[l-5],c[l])};break;case 16:this.$={path:c[l-4],params:c[l-3],hash:c[l-2],blockParams:c[l-1],strip:a.stripFlags(c[l-5],c[l])};break;case 17:this.$={path:c[l-4],params:c[l-3],hash:c[l-2],blockParams:c[l-1],strip:a.stripFlags(c[l-5],c[l])};break;case 18:this.$={strip:a.stripFlags(c[l-1],c[l-1]),program:c[l]};break;case 19:var p=a.prepareBlock(c[l-2],c[l-1],c[l],c[l],!1,this._$),f=a.prepareProgram([p],c[l-1].loc);f.chained=!0,this.$={strip:c[l-2].strip,program:f,chain:!0};break;case 20:this.$=c[l];break;case 21:this.$={path:c[l-1],strip:a.stripFlags(c[l-2],c[l])};break;case 22:this.$=a.prepareMustache(c[l-3],c[l-2],c[l-1],c[l-4],a.stripFlags(c[l-4],c[l]),this._$);break;case 23:this.$=a.prepareMustache(c[l-3],c[l-2],c[l-1],c[l-4],a.stripFlags(c[l-4],c[l]),this._$);break;case 24:this.$={type:"PartialStatement",name:c[l-3],params:c[l-2],hash:c[l-1],indent:"",strip:a.stripFlags(c[l-4],c[l]),loc:a.locInfo(this._$)};break;case 25:this.$=a.preparePartialBlock(c[l-2],c[l-1],c[l],this._$);break;case 26:this.$={path:c[l-3],params:c[l-2],hash:c[l-1],strip:a.stripFlags(c[l-4],c[l])};break;case 27:this.$=c[l];break;case 28:this.$=c[l];break;case 29:this.$={type:"SubExpression",path:c[l-3],params:c[l-2],hash:c[l-1],loc:a.locInfo(this._$)};break;case 30:this.$={type:"Hash",pairs:c[l],loc:a.locInfo(this._$)};break;case 31:this.$={type:"HashPair",key:a.id(c[l-2]),value:c[l],loc:a.locInfo(this._$)};break;case 32:this.$=a.id(c[l-1]);break;case 33:this.$=c[l];break;case 34:this.$=c[l];break;case 35:this.$={type:"StringLiteral",value:c[l],original:c[l],loc:a.locInfo(this._$)};break;case 36:this.$={type:"NumberLiteral",value:Number(c[l]),original:Number(c[l]),loc:a.locInfo(this._$)};break;case 37:this.$={type:"BooleanLiteral",value:c[l]==="true",original:c[l]==="true",loc:a.locInfo(this._$)};break;case 38:this.$={type:"UndefinedLiteral",original:void 0,value:void 0,loc:a.locInfo(this._$)};break;case 39:this.$={type:"NullLiteral",original:null,value:null,loc:a.locInfo(this._$)};break;case 40:this.$=c[l];break;case 41:this.$=c[l];break;case 42:this.$=a.preparePath(!0,c[l],this._$);break;case 43:this.$=a.preparePath(!1,c[l],this._$);break;case 44:c[l-2].push({part:a.id(c[l]),original:c[l],separator:c[l-1]}),this.$=c[l-2];break;case 45:this.$=[{part:a.id(c[l]),original:c[l]}];break;case 46:this.$=[];break;case 47:c[l-1].push(c[l]);break;case 48:this.$=[];break;case 49:c[l-1].push(c[l]);break;case 50:this.$=[];break;case 51:c[l-1].push(c[l]);break;case 58:this.$=[];break;case 59:c[l-1].push(c[l]);break;case 64:this.$=[];break;case 65:c[l-1].push(c[l]);break;case 70:this.$=[];break;case 71:c[l-1].push(c[l]);break;case 78:this.$=[];break;case 79:c[l-1].push(c[l]);break;case 82:this.$=[];break;case 83:c[l-1].push(c[l]);break;case 86:this.$=[];break;case 87:c[l-1].push(c[l]);break;case 90:this.$=[];break;case 91:c[l-1].push(c[l]);break;case 94:this.$=[];break;case 95:c[l-1].push(c[l]);break;case 98:this.$=[c[l]];break;case 99:c[l-1].push(c[l]);break;case 100:this.$=[c[l]];break;case 101:c[l-1].push(c[l]);break}},table:[{3:1,4:2,5:[2,46],6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{1:[3]},{5:[1,4]},{5:[2,2],7:5,8:6,9:7,10:8,11:9,12:10,13:11,14:[1,12],15:[1,20],16:17,19:[1,23],24:15,27:16,29:[1,21],34:[1,22],39:[2,2],44:[2,2],47:[2,2],48:[1,13],51:[1,14],55:[1,18],59:19,60:[1,24]},{1:[2,1]},{5:[2,47],14:[2,47],15:[2,47],19:[2,47],29:[2,47],34:[2,47],39:[2,47],44:[2,47],47:[2,47],48:[2,47],51:[2,47],55:[2,47],60:[2,47]},{5:[2,3],14:[2,3],15:[2,3],19:[2,3],29:[2,3],34:[2,3],39:[2,3],44:[2,3],47:[2,3],48:[2,3],51:[2,3],55:[2,3],60:[2,3]},{5:[2,4],14:[2,4],15:[2,4],19:[2,4],29:[2,4],34:[2,4],39:[2,4],44:[2,4],47:[2,4],48:[2,4],51:[2,4],55:[2,4],60:[2,4]},{5:[2,5],14:[2,5],15:[2,5],19:[2,5],29:[2,5],34:[2,5],39:[2,5],44:[2,5],47:[2,5],48:[2,5],51:[2,5],55:[2,5],60:[2,5]},{5:[2,6],14:[2,6],15:[2,6],19:[2,6],29:[2,6],34:[2,6],39:[2,6],44:[2,6],47:[2,6],48:[2,6],51:[2,6],55:[2,6],60:[2,6]},{5:[2,7],14:[2,7],15:[2,7],19:[2,7],29:[2,7],34:[2,7],39:[2,7],44:[2,7],47:[2,7],48:[2,7],51:[2,7],55:[2,7],60:[2,7]},{5:[2,8],14:[2,8],15:[2,8],19:[2,8],29:[2,8],34:[2,8],39:[2,8],44:[2,8],47:[2,8],48:[2,8],51:[2,8],55:[2,8],60:[2,8]},{5:[2,9],14:[2,9],15:[2,9],19:[2,9],29:[2,9],34:[2,9],39:[2,9],44:[2,9],47:[2,9],48:[2,9],51:[2,9],55:[2,9],60:[2,9]},{20:25,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:36,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:37,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{4:38,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{15:[2,48],17:39,18:[2,48]},{20:41,56:40,64:42,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:44,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{5:[2,10],14:[2,10],15:[2,10],18:[2,10],19:[2,10],29:[2,10],34:[2,10],39:[2,10],44:[2,10],47:[2,10],48:[2,10],51:[2,10],55:[2,10],60:[2,10]},{20:45,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:46,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:47,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:41,56:48,64:42,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[2,78],49:49,65:[2,78],72:[2,78],80:[2,78],81:[2,78],82:[2,78],83:[2,78],84:[2,78],85:[2,78]},{23:[2,33],33:[2,33],54:[2,33],65:[2,33],68:[2,33],72:[2,33],75:[2,33],80:[2,33],81:[2,33],82:[2,33],83:[2,33],84:[2,33],85:[2,33]},{23:[2,34],33:[2,34],54:[2,34],65:[2,34],68:[2,34],72:[2,34],75:[2,34],80:[2,34],81:[2,34],82:[2,34],83:[2,34],84:[2,34],85:[2,34]},{23:[2,35],33:[2,35],54:[2,35],65:[2,35],68:[2,35],72:[2,35],75:[2,35],80:[2,35],81:[2,35],82:[2,35],83:[2,35],84:[2,35],85:[2,35]},{23:[2,36],33:[2,36],54:[2,36],65:[2,36],68:[2,36],72:[2,36],75:[2,36],80:[2,36],81:[2,36],82:[2,36],83:[2,36],84:[2,36],85:[2,36]},{23:[2,37],33:[2,37],54:[2,37],65:[2,37],68:[2,37],72:[2,37],75:[2,37],80:[2,37],81:[2,37],82:[2,37],83:[2,37],84:[2,37],85:[2,37]},{23:[2,38],33:[2,38],54:[2,38],65:[2,38],68:[2,38],72:[2,38],75:[2,38],80:[2,38],81:[2,38],82:[2,38],83:[2,38],84:[2,38],85:[2,38]},{23:[2,39],33:[2,39],54:[2,39],65:[2,39],68:[2,39],72:[2,39],75:[2,39],80:[2,39],81:[2,39],82:[2,39],83:[2,39],84:[2,39],85:[2,39]},{23:[2,43],33:[2,43],54:[2,43],65:[2,43],68:[2,43],72:[2,43],75:[2,43],80:[2,43],81:[2,43],82:[2,43],83:[2,43],84:[2,43],85:[2,43],87:[1,50]},{72:[1,35],86:51},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{52:52,54:[2,82],65:[2,82],72:[2,82],80:[2,82],81:[2,82],82:[2,82],83:[2,82],84:[2,82],85:[2,82]},{25:53,38:55,39:[1,57],43:56,44:[1,58],45:54,47:[2,54]},{28:59,43:60,44:[1,58],47:[2,56]},{13:62,15:[1,20],18:[1,61]},{33:[2,86],57:63,65:[2,86],72:[2,86],80:[2,86],81:[2,86],82:[2,86],83:[2,86],84:[2,86],85:[2,86]},{33:[2,40],65:[2,40],72:[2,40],80:[2,40],81:[2,40],82:[2,40],83:[2,40],84:[2,40],85:[2,40]},{33:[2,41],65:[2,41],72:[2,41],80:[2,41],81:[2,41],82:[2,41],83:[2,41],84:[2,41],85:[2,41]},{20:64,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:65,47:[1,66]},{30:67,33:[2,58],65:[2,58],72:[2,58],75:[2,58],80:[2,58],81:[2,58],82:[2,58],83:[2,58],84:[2,58],85:[2,58]},{33:[2,64],35:68,65:[2,64],72:[2,64],75:[2,64],80:[2,64],81:[2,64],82:[2,64],83:[2,64],84:[2,64],85:[2,64]},{21:69,23:[2,50],65:[2,50],72:[2,50],80:[2,50],81:[2,50],82:[2,50],83:[2,50],84:[2,50],85:[2,50]},{33:[2,90],61:70,65:[2,90],72:[2,90],80:[2,90],81:[2,90],82:[2,90],83:[2,90],84:[2,90],85:[2,90]},{20:74,33:[2,80],50:71,63:72,64:75,65:[1,43],69:73,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{72:[1,79]},{23:[2,42],33:[2,42],54:[2,42],65:[2,42],68:[2,42],72:[2,42],75:[2,42],80:[2,42],81:[2,42],82:[2,42],83:[2,42],84:[2,42],85:[2,42],87:[1,50]},{20:74,53:80,54:[2,84],63:81,64:75,65:[1,43],69:82,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:83,47:[1,66]},{47:[2,55]},{4:84,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{47:[2,20]},{20:85,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:86,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{26:87,47:[1,66]},{47:[2,57]},{5:[2,11],14:[2,11],15:[2,11],19:[2,11],29:[2,11],34:[2,11],39:[2,11],44:[2,11],47:[2,11],48:[2,11],51:[2,11],55:[2,11],60:[2,11]},{15:[2,49],18:[2,49]},{20:74,33:[2,88],58:88,63:89,64:75,65:[1,43],69:90,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{65:[2,94],66:91,68:[2,94],72:[2,94],80:[2,94],81:[2,94],82:[2,94],83:[2,94],84:[2,94],85:[2,94]},{5:[2,25],14:[2,25],15:[2,25],19:[2,25],29:[2,25],34:[2,25],39:[2,25],44:[2,25],47:[2,25],48:[2,25],51:[2,25],55:[2,25],60:[2,25]},{20:92,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,31:93,33:[2,60],63:94,64:75,65:[1,43],69:95,70:76,71:77,72:[1,78],75:[2,60],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,33:[2,66],36:96,63:97,64:75,65:[1,43],69:98,70:76,71:77,72:[1,78],75:[2,66],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,22:99,23:[2,52],63:100,64:75,65:[1,43],69:101,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,33:[2,92],62:102,63:103,64:75,65:[1,43],69:104,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,105]},{33:[2,79],65:[2,79],72:[2,79],80:[2,79],81:[2,79],82:[2,79],83:[2,79],84:[2,79],85:[2,79]},{33:[2,81]},{23:[2,27],33:[2,27],54:[2,27],65:[2,27],68:[2,27],72:[2,27],75:[2,27],80:[2,27],81:[2,27],82:[2,27],83:[2,27],84:[2,27],85:[2,27]},{23:[2,28],33:[2,28],54:[2,28],65:[2,28],68:[2,28],72:[2,28],75:[2,28],80:[2,28],81:[2,28],82:[2,28],83:[2,28],84:[2,28],85:[2,28]},{23:[2,30],33:[2,30],54:[2,30],68:[2,30],71:106,72:[1,107],75:[2,30]},{23:[2,98],33:[2,98],54:[2,98],68:[2,98],72:[2,98],75:[2,98]},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],73:[1,108],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{23:[2,44],33:[2,44],54:[2,44],65:[2,44],68:[2,44],72:[2,44],75:[2,44],80:[2,44],81:[2,44],82:[2,44],83:[2,44],84:[2,44],85:[2,44],87:[2,44]},{54:[1,109]},{54:[2,83],65:[2,83],72:[2,83],80:[2,83],81:[2,83],82:[2,83],83:[2,83],84:[2,83],85:[2,83]},{54:[2,85]},{5:[2,13],14:[2,13],15:[2,13],19:[2,13],29:[2,13],34:[2,13],39:[2,13],44:[2,13],47:[2,13],48:[2,13],51:[2,13],55:[2,13],60:[2,13]},{38:55,39:[1,57],43:56,44:[1,58],45:111,46:110,47:[2,76]},{33:[2,70],40:112,65:[2,70],72:[2,70],75:[2,70],80:[2,70],81:[2,70],82:[2,70],83:[2,70],84:[2,70],85:[2,70]},{47:[2,18]},{5:[2,14],14:[2,14],15:[2,14],19:[2,14],29:[2,14],34:[2,14],39:[2,14],44:[2,14],47:[2,14],48:[2,14],51:[2,14],55:[2,14],60:[2,14]},{33:[1,113]},{33:[2,87],65:[2,87],72:[2,87],80:[2,87],81:[2,87],82:[2,87],83:[2,87],84:[2,87],85:[2,87]},{33:[2,89]},{20:74,63:115,64:75,65:[1,43],67:114,68:[2,96],69:116,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,117]},{32:118,33:[2,62],74:119,75:[1,120]},{33:[2,59],65:[2,59],72:[2,59],75:[2,59],80:[2,59],81:[2,59],82:[2,59],83:[2,59],84:[2,59],85:[2,59]},{33:[2,61],75:[2,61]},{33:[2,68],37:121,74:122,75:[1,120]},{33:[2,65],65:[2,65],72:[2,65],75:[2,65],80:[2,65],81:[2,65],82:[2,65],83:[2,65],84:[2,65],85:[2,65]},{33:[2,67],75:[2,67]},{23:[1,123]},{23:[2,51],65:[2,51],72:[2,51],80:[2,51],81:[2,51],82:[2,51],83:[2,51],84:[2,51],85:[2,51]},{23:[2,53]},{33:[1,124]},{33:[2,91],65:[2,91],72:[2,91],80:[2,91],81:[2,91],82:[2,91],83:[2,91],84:[2,91],85:[2,91]},{33:[2,93]},{5:[2,22],14:[2,22],15:[2,22],19:[2,22],29:[2,22],34:[2,22],39:[2,22],44:[2,22],47:[2,22],48:[2,22],51:[2,22],55:[2,22],60:[2,22]},{23:[2,99],33:[2,99],54:[2,99],68:[2,99],72:[2,99],75:[2,99]},{73:[1,108]},{20:74,63:125,64:75,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,23],14:[2,23],15:[2,23],19:[2,23],29:[2,23],34:[2,23],39:[2,23],44:[2,23],47:[2,23],48:[2,23],51:[2,23],55:[2,23],60:[2,23]},{47:[2,19]},{47:[2,77]},{20:74,33:[2,72],41:126,63:127,64:75,65:[1,43],69:128,70:76,71:77,72:[1,78],75:[2,72],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,24],14:[2,24],15:[2,24],19:[2,24],29:[2,24],34:[2,24],39:[2,24],44:[2,24],47:[2,24],48:[2,24],51:[2,24],55:[2,24],60:[2,24]},{68:[1,129]},{65:[2,95],68:[2,95],72:[2,95],80:[2,95],81:[2,95],82:[2,95],83:[2,95],84:[2,95],85:[2,95]},{68:[2,97]},{5:[2,21],14:[2,21],15:[2,21],19:[2,21],29:[2,21],34:[2,21],39:[2,21],44:[2,21],47:[2,21],48:[2,21],51:[2,21],55:[2,21],60:[2,21]},{33:[1,130]},{33:[2,63]},{72:[1,132],76:131},{33:[1,133]},{33:[2,69]},{15:[2,12],18:[2,12]},{14:[2,26],15:[2,26],19:[2,26],29:[2,26],34:[2,26],47:[2,26],48:[2,26],51:[2,26],55:[2,26],60:[2,26]},{23:[2,31],33:[2,31],54:[2,31],68:[2,31],72:[2,31],75:[2,31]},{33:[2,74],42:134,74:135,75:[1,120]},{33:[2,71],65:[2,71],72:[2,71],75:[2,71],80:[2,71],81:[2,71],82:[2,71],83:[2,71],84:[2,71],85:[2,71]},{33:[2,73],75:[2,73]},{23:[2,29],33:[2,29],54:[2,29],65:[2,29],68:[2,29],72:[2,29],75:[2,29],80:[2,29],81:[2,29],82:[2,29],83:[2,29],84:[2,29],85:[2,29]},{14:[2,15],15:[2,15],19:[2,15],29:[2,15],34:[2,15],39:[2,15],44:[2,15],47:[2,15],48:[2,15],51:[2,15],55:[2,15],60:[2,15]},{72:[1,137],77:[1,136]},{72:[2,100],77:[2,100]},{14:[2,16],15:[2,16],19:[2,16],29:[2,16],34:[2,16],44:[2,16],47:[2,16],48:[2,16],51:[2,16],55:[2,16],60:[2,16]},{33:[1,138]},{33:[2,75]},{33:[2,32]},{72:[2,101],77:[2,101]},{14:[2,17],15:[2,17],19:[2,17],29:[2,17],34:[2,17],39:[2,17],44:[2,17],47:[2,17],48:[2,17],51:[2,17],55:[2,17],60:[2,17]}],defaultActions:{4:[2,1],54:[2,55],56:[2,20],60:[2,57],73:[2,81],82:[2,85],86:[2,18],90:[2,89],101:[2,53],104:[2,93],110:[2,19],111:[2,77],116:[2,97],119:[2,63],122:[2,69],135:[2,75],136:[2,32]},parseError:function(s,i){throw new Error(s)},parse:function(s){var i=this,o=[0],a=[null],u=[],c=this.table,d="",l=0,p=0,f=0,g=2,h=1;this.lexer.setInput(s),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,typeof this.lexer.yylloc>"u"&&(this.lexer.yylloc={});var m=this.lexer.yylloc;u.push(m);var _=this.lexer.options&&this.lexer.options.ranges;typeof this.yy.parseError=="function"&&(this.parseError=this.yy.parseError);function y(ge){o.length=o.length-2*ge,a.length=a.length-ge,u.length=u.length-ge}function S(){var ge;return ge=i.lexer.lex()||1,typeof ge!="number"&&(ge=i.symbols_[ge]||ge),ge}for(var b,E,k,j,T,K,le={},P,x,xe,ve;;){if(k=o[o.length-1],this.defaultActions[k]?j=this.defaultActions[k]:((b===null||typeof b>"u")&&(b=S()),j=c[k]&&c[k][b]),typeof j>"u"||!j.length||!j[0]){var Ge="";if(!f){ve=[];for(P in c[k])this.terminals_[P]&&P>2&&ve.push("'"+this.terminals_[P]+"'");this.lexer.showPosition?Ge="Parse error on line "+(l+1)+`:
7
+ `+this.lexer.showPosition()+`
8
+ Expecting `+ve.join(", ")+", got '"+(this.terminals_[b]||b)+"'":Ge="Parse error on line "+(l+1)+": Unexpected "+(b==1?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(Ge,{text:this.lexer.match,token:this.terminals_[b]||b,line:this.lexer.yylineno,loc:m,expected:ve})}}if(j[0]instanceof Array&&j.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+b);switch(j[0]){case 1:o.push(b),a.push(this.lexer.yytext),u.push(this.lexer.yylloc),o.push(j[1]),b=null,E?(b=E,E=null):(p=this.lexer.yyleng,d=this.lexer.yytext,l=this.lexer.yylineno,m=this.lexer.yylloc,f>0&&f--);break;case 2:if(x=this.productions_[j[1]][1],le.$=a[a.length-x],le._$={first_line:u[u.length-(x||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(x||1)].first_column,last_column:u[u.length-1].last_column},_&&(le._$.range=[u[u.length-(x||1)].range[0],u[u.length-1].range[1]]),K=this.performAction.call(le,d,p,l,this.yy,j[1],a,u),typeof K<"u")return K;x&&(o=o.slice(0,-1*x*2),a=a.slice(0,-1*x),u=u.slice(0,-1*x)),o.push(this.productions_[j[1]][0]),a.push(le.$),u.push(le._$),xe=c[o[o.length-2]][o[o.length-1]],o.push(xe);break;case 3:return!0}}return!0}},t=function(){var r={EOF:1,parseError:function(i,o){if(this.yy.parser)this.yy.parser.parseError(i,o);else throw new Error(i)},setInput:function(i){return this._input=i,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var o=i.match(/(?:\r\n?|\n).*/g);return o?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},unput:function(i){var o=i.length,a=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o-1),this.offset-=o;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),a.length-1&&(this.yylineno-=a.length-1);var c=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:a?(a.length===u.length?this.yylloc.first_column:0)+u[u.length-a.length].length-a[0].length:this.yylloc.first_column-o},this.options.ranges&&(this.yylloc.range=[c[0],c[0]+this.yyleng-o]),this},more:function(){return this._more=!0,this},less:function(i){this.unput(this.match.slice(i))},pastInput:function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var i=this.pastInput(),o=new Array(i.length+1).join("-");return i+this.upcomingInput()+`
9
+ `+o+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var i,o,a,u,c,d;this._more||(this.yytext="",this.match="");for(var l=this._currentRules(),p=0;p<l.length&&(a=this._input.match(this.rules[l[p]]),!(a&&(!o||a[0].length>o[0].length)&&(o=a,u=p,!this.options.flex)));p++);return o?(d=o[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+o[0].length},this.yytext+=o[0],this.match+=o[0],this.matches=o,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(o[0].length),this.matched+=o[0],i=this.performAction.call(this,this.yy,this,l[u],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i||void 0):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
10
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var i=this.next();return typeof i<"u"?i:this.lex()},begin:function(i){this.conditionStack.push(i)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(i){this.begin(i)}};return r.options={},r.performAction=function(i,o,a,u){function c(l,p){return o.yytext=o.yytext.substring(l,o.yyleng-p+l)}var d=u;switch(a){case 0:if(o.yytext.slice(-2)==="\\\\"?(c(0,1),this.begin("mu")):o.yytext.slice(-1)==="\\"?(c(0,1),this.begin("emu")):this.begin("mu"),o.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;break;case 3:return this.begin("raw"),15;break;case 4:return this.popState(),this.conditionStack[this.conditionStack.length-1]==="raw"?15:(c(5,9),"END_RAW_BLOCK");case 5:return 15;case 6:return this.popState(),14;break;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;break;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:return this.popState(),44;break;case 16:return this.popState(),44;break;case 17:return 34;case 18:return 39;case 19:return 51;case 20:return 48;case 21:this.unput(o.yytext),this.popState(),this.begin("com");break;case 22:return this.popState(),14;break;case 23:return 48;case 24:return 73;case 25:return 72;case 26:return 72;case 27:return 87;case 28:break;case 29:return this.popState(),54;break;case 30:return this.popState(),33;break;case 31:return o.yytext=c(1,2).replace(/\\"/g,'"'),80;break;case 32:return o.yytext=c(1,2).replace(/\\'/g,"'"),80;break;case 33:return 85;case 34:return 82;case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 41:return 72;case 42:return o.yytext=o.yytext.replace(/\\([\\\]])/g,"$1"),72;break;case 43:return"INVALID";case 44:return 5}},r.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^\/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],r.conditions={mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}},r}();e.lexer=t;function n(){this.yy={}}return n.prototype=e,e.Parser=n,new n}();Gr.default=hg;Oc.exports=Gr.default});var $i=F(Pi=>{"use strict";Pi.__esModule=!0;var gg=["Program","BlockStatement","DecoratorBlock","PartialStatement","PartialBlockStatement","Decorator","MustacheStatement","ContentStatement","CommentStatement","SubExpression","PathExpression","StringLiteral","NumberLiteral","BooleanLiteral","UndefinedLiteral","NullLiteral","Hash","HashPair"];Pi.NODE_TYPES=gg});var Zr=F((Yr,Ic)=>{"use strict";Yr.__esModule=!0;function mg(e){return e&&e.__esModule?e:{default:e}}var yg=we(),Li=mg(yg),_g=fe(),bg=$i();function Jr(){this.parents=[]}function $c(e,t){return _g.indexOf(bg.NODE_TYPES,t)!==-1||!(t in Jr.prototype)&&typeof e[t]=="function"}Jr.prototype={constructor:Jr,mutating:!1,acceptKey:function(t,n){var r=this.accept(t[n]);if(this.mutating){if(r&&!$c(this,r.type))throw new Li.default('Unexpected node type "'+r.type+'" found when accepting '+n+" on "+t.type);t[n]=r}},acceptRequired:function(t,n){if(this.acceptKey(t,n),!t[n])throw new Li.default(t.type+" requires "+n)},acceptArray:function(t){for(var n=0,r=t.length;n<r;n++)this.acceptKey(t,n),t[n]||(t.splice(n,1),n--,r--)},accept:function(t){if(t){if(!$c(this,t.type)||!this[t.type])throw new Li.default("Unknown type: "+t.type,t);this.current&&this.parents.unshift(this.current),this.current=t;var n=this[t.type](t);if(this.current=this.parents.shift(),!this.mutating||n)return n;if(n!==!1)return t}},Program:function(t){this.acceptArray(t.body)},MustacheStatement:Wr,Decorator:Wr,BlockStatement:Lc,DecoratorBlock:Lc,PartialStatement:Nc,PartialBlockStatement:function(t){Nc.call(this,t),this.acceptKey(t,"program")},ContentStatement:function(){},CommentStatement:function(){},SubExpression:Wr,PathExpression:function(){},StringLiteral:function(){},NumberLiteral:function(){},BooleanLiteral:function(){},UndefinedLiteral:function(){},NullLiteral:function(){},Hash:function(t){this.acceptArray(t.pairs)},HashPair:function(t){this.acceptRequired(t,"value")}};function Wr(e){this.acceptRequired(e,"path"),this.acceptArray(e.params),this.acceptKey(e,"hash")}function Lc(e){Wr.call(this,e),this.acceptKey(e,"program"),this.acceptKey(e,"inverse")}function Nc(e){this.acceptRequired(e,"name"),this.acceptArray(e.params),this.acceptKey(e,"hash")}Yr.default=Jr;Ic.exports=Yr.default});var Bc=F((Xr,Tc)=>{"use strict";Xr.__esModule=!0;function vg(e){return e&&e.__esModule?e:{default:e}}var Sg=Zr(),kg=vg(Sg);function He(){var e=arguments.length<=0||arguments[0]===void 0?{}:arguments[0];this.options=e}He.prototype=new kg.default;He.prototype.Program=function(e){var t=!this.options.ignoreStandalone,n=!this.isRootSeen;this.isRootSeen=!0;for(var r=e.body,s=0,i=r.length;s<i;s++){var o=r[s],a=this.accept(o);if(a){var u=Ni(r,s,n),c=Ii(r,s,n),d=a.openStandalone&&u,l=a.closeStandalone&&c,p=a.inlineStandalone&&u&&c;a.close&&Nt(r,s,!0),a.open&&ht(r,s,!0),t&&p&&(Nt(r,s),ht(r,s)&&o.type==="PartialStatement"&&(o.indent=/(?:^|[^ \t])([ \t]+)$/.exec(r[s-1].original)[1])),t&&d&&(Nt((o.program||o.inverse).body),ht(r,s)),t&&l&&(Nt(r,s),ht((o.inverse||o.program).body))}}return e};He.prototype.BlockStatement=He.prototype.DecoratorBlock=He.prototype.PartialBlockStatement=function(e){this.accept(e.program),this.accept(e.inverse);var t=e.program||e.inverse,n=e.program&&e.inverse,r=n,s=n;if(n&&n.chained)for(r=n.body[0].program;s.chained;)s=s.body[s.body.length-1].program;var i={open:e.openStrip.open,close:e.closeStrip.close,openStandalone:Ii(t.body),closeStandalone:Ni((r||t).body)};if(e.openStrip.close&&Nt(t.body,null,!0),n){var o=e.inverseStrip;o.open&&ht(t.body,null,!0),o.close&&Nt(r.body,null,!0),e.closeStrip.open&&ht(s.body,null,!0),!this.options.ignoreStandalone&&Ni(t.body)&&Ii(r.body)&&(ht(t.body),Nt(r.body))}else e.closeStrip.open&&ht(t.body,null,!0);return i};He.prototype.Decorator=He.prototype.MustacheStatement=function(e){return e.strip};He.prototype.PartialStatement=He.prototype.CommentStatement=function(e){var t=e.strip||{};return{inlineStandalone:!0,open:t.open,close:t.close}};function Ni(e,t,n){t===void 0&&(t=e.length);var r=e[t-1],s=e[t-2];if(!r)return n;if(r.type==="ContentStatement")return(s||!n?/(?:^|\S)[^\S\n]*\n\s*$/:/^\s*$|(?:^|\S)[^\S\n]*\n\s*$/).test(r.original)}function Ii(e,t,n){t===void 0&&(t=-1);var r=e[t+1],s=e[t+2];if(!r)return n;if(r.type==="ContentStatement")return(s||!n?/^\s*?\r?\n/:/^\s*?(\r?\n|$)/).test(r.original)}function Nt(e,t,n){var r=e[t==null?0:t+1];if(!(!r||r.type!=="ContentStatement"||!n&&r.rightStripped)){var s=r.value;r.value=r.value.replace(n?/^\s+/:/^[ \t]*\r?\n?/,""),r.rightStripped=r.value!==s}}function ht(e,t,n){var r=e[t==null?e.length-1:t-1];if(!(!r||r.type!=="ContentStatement"||!n&&r.leftStripped)){var s=r.value;return r.value=r.value.replace(n?/(^|\S)\s+$/:/(^|[^ \t])[ \t]+$/,"$1"),r.leftStripped=r.value!==s,r.leftStripped}}Xr.default=He;Tc.exports=Xr.default});var Mc=F(Ce=>{"use strict";Ce.__esModule=!0;Ce.SourceLocation=Ag;Ce.id=wg;Ce.stripFlags=Cg;Ce.stripComment=Rg;Ce.preparePath=jg;Ce.prepareMustache=Fg;Ce.prepareRawBlock=xg;Ce.prepareBlock=Og;Ce.prepareProgram=Pg;Ce.preparePartialBlock=$g;function Dg(e){return e&&e.__esModule?e:{default:e}}var Eg=we(),Ti=Dg(Eg);function Bi(e,t){if(t=t.path?t.path.original:t,e.path.original!==t){var n={loc:e.path.loc};throw new Ti.default(e.path.original+" doesn't match "+t,n)}}function Ag(e,t){this.source=e,this.start={line:t.first_line,column:t.first_column},this.end={line:t.last_line,column:t.last_column}}function wg(e){return/^\[.*\]$/.test(e)?e.substring(1,e.length-1):e}function Cg(e,t){return{open:e.charAt(2)==="~",close:t.charAt(t.length-3)==="~"}}function Rg(e){return e.replace(/^\{\{~?!-?-?/,"").replace(/-?-?~?\}\}$/,"")}function jg(e,t,n){n=this.locInfo(n);for(var r=e?"@":"",s=[],i=0,o=0,a=t.length;o<a;o++){var u=t[o].part,c=t[o].original!==u;if(r+=(t[o].separator||"")+u,!c&&(u===".."||u==="."||u==="this")){if(s.length>0)throw new Ti.default("Invalid path: "+r,{loc:n});u===".."&&i++}else s.push(u)}return{type:"PathExpression",data:e,depth:i,parts:s,original:r,loc:n}}function Fg(e,t,n,r,s,i){var o=r.charAt(3)||r.charAt(2),a=o!=="{"&&o!=="&",u=/\*/.test(r);return{type:u?"Decorator":"MustacheStatement",path:e,params:t,hash:n,escaped:a,strip:s,loc:this.locInfo(i)}}function xg(e,t,n,r){Bi(e,n),r=this.locInfo(r);var s={type:"Program",body:t,strip:{},loc:r};return{type:"BlockStatement",path:e.path,params:e.params,hash:e.hash,program:s,openStrip:{},inverseStrip:{},closeStrip:{},loc:r}}function Og(e,t,n,r,s,i){r&&r.path&&Bi(e,r);var o=/\*/.test(e.open);t.blockParams=e.blockParams;var a=void 0,u=void 0;if(n){if(o)throw new Ti.default("Unexpected inverse block on decorator",n);n.chain&&(n.program.body[0].closeStrip=r.strip),u=n.strip,a=n.program}return s&&(s=a,a=t,t=s),{type:o?"DecoratorBlock":"BlockStatement",path:e.path,params:e.params,hash:e.hash,program:t,inverse:a,openStrip:e.strip,inverseStrip:u,closeStrip:r&&r.strip,loc:this.locInfo(i)}}function Pg(e,t){if(!t&&e.length){var n=e[0].loc,r=e[e.length-1].loc;n&&r&&(t={source:n.source,start:{line:n.start.line,column:n.start.column},end:{line:r.end.line,column:r.end.column}})}return{type:"Program",body:e,strip:{},loc:t}}function $g(e,t,n,r){return Bi(e,n),{type:"PartialBlockStatement",name:e.path,params:e.params,hash:e.hash,program:t,openStrip:e.strip,closeStrip:n&&n.strip,loc:this.locInfo(r)}}});var Uc=F(zn=>{"use strict";zn.__esModule=!0;zn.parseWithoutProcessing=Kc;zn.parse=Kg;function Lg(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function Hc(e){return e&&e.__esModule?e:{default:e}}var Ng=Pc(),Mi=Hc(Ng),Ig=Bc(),Tg=Hc(Ig),Bg=Mc(),Mg=Lg(Bg),Hg=fe();zn.parser=Mi.default;var Qr={};Hg.extend(Qr,Mg);function Kc(e,t){if(e.type==="Program")return e;Mi.default.yy=Qr,Qr.locInfo=function(r){return new Qr.SourceLocation(t&&t.srcName,r)};var n=Mi.default.parse(e);return n}function Kg(e,t){var n=Kc(e,t),r=new Tg.default(t);return r.accept(n)}});var Wc=F(Wn=>{"use strict";Wn.__esModule=!0;Wn.Compiler=Ui;Wn.precompile=Gg;Wn.compile=Wg;function Vc(e){return e&&e.__esModule?e:{default:e}}var Ug=we(),an=Vc(Ug),gt=fe(),qg=Oi(),Gn=Vc(qg),Vg=$i(),zg=[].slice;function Ui(){}Ui.prototype={compiler:Ui,equals:function(t){var n=this.opcodes.length;if(t.opcodes.length!==n)return!1;for(var r=0;r<n;r++){var s=this.opcodes[r],i=t.opcodes[r];if(s.opcode!==i.opcode||!Gc(s.args,i.args))return!1}n=this.children.length;for(var r=0;r<n;r++)if(!this.children[r].equals(t.children[r]))return!1;return!0},guid:0,compile:function(t,n){return this.sourceNode=[],this.opcodes=[],this.children=[],this.options=n,this.stringParams=n.stringParams,this.trackIds=n.trackIds,n.blockParams=n.blockParams||[],n.knownHelpers=gt.extend(Object.create(null),{helperMissing:!0,blockHelperMissing:!0,each:!0,if:!0,unless:!0,with:!0,log:!0,lookup:!0},n.knownHelpers),this.accept(t)},compileProgram:function(t){var n=new this.compiler,r=n.compile(t,this.options),s=this.guid++;return this.usePartial=this.usePartial||r.usePartial,this.children[s]=r,this.useDepths=this.useDepths||r.useDepths,s},accept:function(t){if(gt.indexOf(Vg.NODE_TYPES,t.type)===-1||!this[t.type])throw new an.default("Unknown type: "+t.type,t);this.sourceNode.unshift(t);var n=this[t.type](t);return this.sourceNode.shift(),n},Program:function(t){Jg(t),this.options.blockParams.unshift(t.blockParams);for(var n=t.body,r=n.length,s=0;s<r;s++)this.accept(n[s]);return this.options.blockParams.shift(),this.isSimple=r===1,this.blockParams=t.blockParams?t.blockParams.length:0,this},BlockStatement:function(t){qc(t);var n=t.program,r=t.inverse;n=n&&this.compileProgram(n),r=r&&this.compileProgram(r);var s=this.classifySexpr(t);s==="helper"?this.helperSexpr(t,n,r):s==="simple"?(this.simpleSexpr(t),this.opcode("pushProgram",n),this.opcode("pushProgram",r),this.opcode("emptyHash"),this.opcode("blockValue",t.path.original)):(this.ambiguousSexpr(t,n,r),this.opcode("pushProgram",n),this.opcode("pushProgram",r),this.opcode("emptyHash"),this.opcode("ambiguousBlockValue")),this.opcode("append")},DecoratorBlock:function(t){var n=t.program&&this.compileProgram(t.program),r=this.setupFullMustacheParams(t,n,void 0),s=t.path;this.useDecorators=!0,this.opcode("registerDecorator",r.length,s.original)},PartialStatement:function(t){this.usePartial=!0;var n=t.program;n&&(n=this.compileProgram(t.program));var r=t.params;if(r.length>1)throw new an.default("Unsupported number of partial arguments: "+r.length,t);r.length||(this.options.explicitPartialContext?this.opcode("pushLiteral","undefined"):r.push({type:"PathExpression",parts:[],depth:0}));var s=t.name.original,i=t.name.type==="SubExpression";i&&this.accept(t.name),this.setupFullMustacheParams(t,n,void 0,!0);var o=t.indent||"";this.options.preventIndent&&o&&(this.opcode("appendContent",o),o=""),this.opcode("invokePartial",i,s,o),this.opcode("append")},PartialBlockStatement:function(t){this.PartialStatement(t)},MustacheStatement:function(t){this.SubExpression(t),t.escaped&&!this.options.noEscape?this.opcode("appendEscaped"):this.opcode("append")},Decorator:function(t){this.DecoratorBlock(t)},ContentStatement:function(t){if(t.value!=null&&typeof t.value!="string")throw Ze(t,"value must be a string");t.value&&this.opcode("appendContent",t.value)},CommentStatement:function(){},SubExpression:function(t){qc(t);var n=this.classifySexpr(t);n==="simple"?this.simpleSexpr(t):n==="helper"?this.helperSexpr(t):this.ambiguousSexpr(t)},ambiguousSexpr:function(t,n,r){var s=t.path,i=s.parts[0],o=n!=null||r!=null;this.opcode("getContext",Hi(s)),this.opcode("pushProgram",n),this.opcode("pushProgram",r),s.strict=!0,this.accept(s),this.opcode("invokeAmbiguous",i,o)},simpleSexpr:function(t){var n=t.path;n.strict=!0,this.accept(n),this.opcode("resolvePossibleLambda")},helperSexpr:function(t,n,r){var s=this.setupFullMustacheParams(t,n,r),i=t.path,o=i.parts[0];if(this.options.knownHelpers[o])this.opcode("invokeKnownHelper",s.length,o);else{if(this.options.knownHelpersOnly)throw new an.default("You specified knownHelpersOnly, but used the unknown helper "+o,t);i.strict=!0,i.falsy=!0,this.accept(i),this.opcode("invokeHelper",s.length,i.original,Gn.default.helpers.simpleId(i))}},PathExpression:function(t){var n=Hi(t),r=Ki(t);this.addDepth(n),this.opcode("getContext",n);var s=r[0],i=Gn.default.helpers.scopedId(t),o=!n&&!i&&this.blockParamIndex(s);o?this.opcode("lookupBlockParam",o,r):s?t.data?(this.options.data=!0,this.opcode("lookupData",n,r,t.strict)):this.opcode("lookupOnContext",r,t.falsy,t.strict,i):this.opcode("pushContext")},StringLiteral:function(t){es(t),this.opcode("pushString",t.value)},NumberLiteral:function(t){es(t),this.opcode("pushLiteral",t.value)},BooleanLiteral:function(t){es(t),this.opcode("pushLiteral",t.value)},UndefinedLiteral:function(){this.opcode("pushLiteral","undefined")},NullLiteral:function(){this.opcode("pushLiteral","null")},Hash:function(t){var n=t.pairs,r=0,s=void 0;if(!gt.isArray(n))throw Ze(t,"pairs must be an array");s=n.length;for(var i=0;i<s;i++)if(!n[i]||typeof n[i].key!="string")throw Ze(t,"pair keys must be strings");for(this.opcode("pushHash");r<s;r++)this.pushParam(n[r].value);for(;r--;)this.opcode("assignToHash",n[r].key);this.opcode("popHash")},opcode:function(t){this.opcodes.push({opcode:t,args:zg.call(arguments,1),loc:this.sourceNode[0].loc})},addDepth:function(t){t&&(this.useDepths=!0)},classifySexpr:function(t){Ki(t.path);var n=Gn.default.helpers.simpleId(t.path),r=n&&!!this.blockParamIndex(t.path.parts[0]),s=!r&&Gn.default.helpers.helperExpression(t),i=!r&&(s||n);if(i&&!s){var o=t.path.parts[0],a=this.options;a.knownHelpers[o]?s=!0:a.knownHelpersOnly&&(i=!1)}return s?"helper":i?"ambiguous":"simple"},pushParams:function(t){for(var n=0,r=t.length;n<r;n++)this.pushParam(t[n])},pushParam:function(t){es(t);var n=t.value!=null?t.value:t.original||"",r=Hi(t);if(this.stringParams)typeof n!="number"&&typeof n!="boolean"&&(n=String(n)),n.replace&&(n=n.replace(/^(\.?\.\/)*/g,"").replace(/\//g,".")),r&&this.addDepth(r),this.opcode("getContext",r),this.opcode("pushStringParam",n,t.type),t.type==="SubExpression"&&this.accept(t);else{if(this.trackIds){var s=void 0;if(t.parts&&!Gn.default.helpers.scopedId(t)&&!r&&(s=this.blockParamIndex(Ki(t)[0])),s){var i=t.parts.slice(1).join(".");this.opcode("pushId","BlockParam",s,i)}else n=t.original||n,n.replace&&(n=n.replace(/^this(?:\.|$)/,"").replace(/^\.\//,"").replace(/^\.$/,"")),this.opcode("pushId",t.type,n)}this.accept(t)}},setupFullMustacheParams:function(t,n,r,s){var i=t.params;return this.pushParams(i),this.opcode("pushProgram",n),this.opcode("pushProgram",r),t.hash?this.accept(t.hash):this.opcode("emptyHash",s),i},blockParamIndex:function(t){for(var n=0,r=this.options.blockParams.length;n<r;n++){var s=this.options.blockParams[n],i=s&&gt.indexOf(s,t);if(s&&i>=0)return[n,i]}}};function Gg(e,t,n){if(e==null||typeof e!="string"&&e.type!=="Program")throw new an.default("You must pass a string or Handlebars AST to Handlebars.precompile. You passed "+e);t=t||{},"data"in t||(t.data=!0),t.compat&&(t.useDepths=!0);var r=n.parse(e,t),s=new n.Compiler().compile(r,t);return new n.JavaScriptCompiler().compile(s,t)}function Wg(e,t,n){if(t===void 0&&(t={}),e==null||typeof e!="string"&&e.type!=="Program")throw new an.default("You must pass a string or Handlebars AST to Handlebars.compile. You passed "+e);t=gt.extend({},t),"data"in t||(t.data=!0),t.compat&&(t.useDepths=!0);var r=void 0;function s(){var o=n.parse(e,t),a=new n.Compiler().compile(o,t),u=new n.JavaScriptCompiler().compile(a,t,void 0,!0);return n.template(u)}function i(o,a){return r||(r=s()),r.call(this,o,a)}return i._setup=function(o){return r||(r=s()),r._setup(o)},i._child=function(o,a,u,c){return r||(r=s()),r._child(o,a,u,c)},i}function Ze(e,t){return new an.default("Invalid AST: "+e.type+" "+t,e)}function Hi(e){var t=e.depth;if(t==null)return 0;if(typeof t!="number"||!isFinite(t)||Math.floor(t)!==t||t<0)throw Ze(e,"depth must be a non-negative integer");return t}function es(e){var t=e.value;if(e.type==="StringLiteral"&&typeof t!="string")throw Ze(e,"value must be a string");if(e.type==="NumberLiteral"&&typeof t!="number")throw Ze(e,"value must be a number");if(e.type==="BooleanLiteral"&&typeof t!="boolean")throw Ze(e,"value must be a boolean")}function zc(e,t,n){if(!gt.isArray(t))throw Ze(e,n+" must be an array");for(var r=0;r<t.length;r++)if(typeof t[r]!="string")throw Ze(e,n+" must only contain strings");return t}function Ki(e){return zc(e,e.parts,"parts")}function Jg(e){e.blockParams!=null&&zc(e,e.blockParams,"blockParams")}function Gc(e,t){if(e===t)return!0;if(gt.isArray(e)&&gt.isArray(t)&&e.length===t.length){for(var n=0;n<e.length;n++)if(!Gc(e[n],t[n]))return!1;return!0}}function qc(e){if(!e.path.parts){var t=e.path;e.path={type:"PathExpression",data:!1,depth:0,parts:[t.original+""],original:t.original+"",loc:t.loc}}}});var Yc=F(qi=>{var Jc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");qi.encode=function(e){if(0<=e&&e<Jc.length)return Jc[e];throw new TypeError("Must be between 0 and 63: "+e)};qi.decode=function(e){var t=65,n=90,r=97,s=122,i=48,o=57,a=43,u=47,c=26,d=52;return t<=e&&e<=n?e-t:r<=e&&e<=s?e-r+c:i<=e&&e<=o?e-i+d:e==a?62:e==u?63:-1}});var Gi=F(zi=>{var Zc=Yc(),Vi=5,Xc=1<<Vi,Qc=Xc-1,eu=Xc;function Yg(e){return e<0?(-e<<1)+1:(e<<1)+0}function Zg(e){var t=(e&1)===1,n=e>>1;return t?-n:n}zi.encode=function(t){var n="",r,s=Yg(t);do r=s&Qc,s>>>=Vi,s>0&&(r|=eu),n+=Zc.encode(r);while(s>0);return n};zi.decode=function(t,n,r){var s=t.length,i=0,o=0,a,u;do{if(n>=s)throw new Error("Expected more digits in base 64 VLQ value.");if(u=Zc.decode(t.charCodeAt(n++)),u===-1)throw new Error("Invalid base64 digit: "+t.charAt(n-1));a=!!(u&eu),u&=Qc,i=i+(u<<o),o+=Vi}while(a);r.value=Zg(i),r.rest=n}});var ln=F(he=>{function Xg(e,t,n){if(t in e)return e[t];if(arguments.length===3)return n;throw new Error('"'+t+'" is a required argument.')}he.getArg=Xg;var tu=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,Qg=/^data:.+\,.+$/;function Jn(e){var t=e.match(tu);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}he.urlParse=Jn;function cn(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}he.urlGenerate=cn;function Wi(e){var t=e,n=Jn(e);if(n){if(!n.path)return e;t=n.path}for(var r=he.isAbsolute(t),s=t.split(/\/+/),i,o=0,a=s.length-1;a>=0;a--)i=s[a],i==="."?s.splice(a,1):i===".."?o++:o>0&&(i===""?(s.splice(a+1,o),o=0):(s.splice(a,2),o--));return t=s.join("/"),t===""&&(t=r?"/":"."),n?(n.path=t,cn(n)):t}he.normalize=Wi;function nu(e,t){e===""&&(e="."),t===""&&(t=".");var n=Jn(t),r=Jn(e);if(r&&(e=r.path||"/"),n&&!n.scheme)return r&&(n.scheme=r.scheme),cn(n);if(n||t.match(Qg))return t;if(r&&!r.host&&!r.path)return r.host=t,cn(r);var s=t.charAt(0)==="/"?t:Wi(e.replace(/\/+$/,"")+"/"+t);return r?(r.path=s,cn(r)):s}he.join=nu;he.isAbsolute=function(e){return e.charAt(0)==="/"||tu.test(e)};function em(e,t){e===""&&(e="."),e=e.replace(/\/$/,"");for(var n=0;t.indexOf(e+"/")!==0;){var r=e.lastIndexOf("/");if(r<0||(e=e.slice(0,r),e.match(/^([^\/]+:\/)?\/*$/)))return t;++n}return Array(n+1).join("../")+t.substr(e.length+1)}he.relative=em;var ru=function(){var e=Object.create(null);return!("__proto__"in e)}();function su(e){return e}function tm(e){return iu(e)?"$"+e:e}he.toSetString=ru?su:tm;function nm(e){return iu(e)?e.slice(1):e}he.fromSetString=ru?su:nm;function iu(e){if(!e)return!1;var t=e.length;if(t<9||e.charCodeAt(t-1)!==95||e.charCodeAt(t-2)!==95||e.charCodeAt(t-3)!==111||e.charCodeAt(t-4)!==116||e.charCodeAt(t-5)!==111||e.charCodeAt(t-6)!==114||e.charCodeAt(t-7)!==112||e.charCodeAt(t-8)!==95||e.charCodeAt(t-9)!==95)return!1;for(var n=t-10;n>=0;n--)if(e.charCodeAt(n)!==36)return!1;return!0}function rm(e,t,n){var r=un(e.source,t.source);return r!==0||(r=e.originalLine-t.originalLine,r!==0)||(r=e.originalColumn-t.originalColumn,r!==0||n)||(r=e.generatedColumn-t.generatedColumn,r!==0)||(r=e.generatedLine-t.generatedLine,r!==0)?r:un(e.name,t.name)}he.compareByOriginalPositions=rm;function sm(e,t,n){var r=e.generatedLine-t.generatedLine;return r!==0||(r=e.generatedColumn-t.generatedColumn,r!==0||n)||(r=un(e.source,t.source),r!==0)||(r=e.originalLine-t.originalLine,r!==0)||(r=e.originalColumn-t.originalColumn,r!==0)?r:un(e.name,t.name)}he.compareByGeneratedPositionsDeflated=sm;function un(e,t){return e===t?0:e===null?1:t===null?-1:e>t?1:-1}function im(e,t){var n=e.generatedLine-t.generatedLine;return n!==0||(n=e.generatedColumn-t.generatedColumn,n!==0)||(n=un(e.source,t.source),n!==0)||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0)?n:un(e.name,t.name)}he.compareByGeneratedPositionsInflated=im;function om(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}he.parseSourceMapInput=om;function am(e,t,n){if(t=t||"",e&&(e[e.length-1]!=="/"&&t[0]!=="/"&&(e+="/"),t=e+t),n){var r=Jn(n);if(!r)throw new Error("sourceMapURL could not be parsed");if(r.path){var s=r.path.lastIndexOf("/");s>=0&&(r.path=r.path.substring(0,s+1))}t=nu(cn(r),t)}return Wi(t)}he.computeSourceURL=am});var Zi=F(ou=>{var Ji=ln(),Yi=Object.prototype.hasOwnProperty,It=typeof Map<"u";function Xe(){this._array=[],this._set=It?new Map:Object.create(null)}Xe.fromArray=function(t,n){for(var r=new Xe,s=0,i=t.length;s<i;s++)r.add(t[s],n);return r};Xe.prototype.size=function(){return It?this._set.size:Object.getOwnPropertyNames(this._set).length};Xe.prototype.add=function(t,n){var r=It?t:Ji.toSetString(t),s=It?this.has(t):Yi.call(this._set,r),i=this._array.length;(!s||n)&&this._array.push(t),s||(It?this._set.set(t,i):this._set[r]=i)};Xe.prototype.has=function(t){if(It)return this._set.has(t);var n=Ji.toSetString(t);return Yi.call(this._set,n)};Xe.prototype.indexOf=function(t){if(It){var n=this._set.get(t);if(n>=0)return n}else{var r=Ji.toSetString(t);if(Yi.call(this._set,r))return this._set[r]}throw new Error('"'+t+'" is not in the set.')};Xe.prototype.at=function(t){if(t>=0&&t<this._array.length)return this._array[t];throw new Error("No element indexed by "+t)};Xe.prototype.toArray=function(){return this._array.slice()};ou.ArraySet=Xe});var uu=F(cu=>{var au=ln();function cm(e,t){var n=e.generatedLine,r=t.generatedLine,s=e.generatedColumn,i=t.generatedColumn;return r>n||r==n&&i>=s||au.compareByGeneratedPositionsInflated(e,t)<=0}function ts(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}ts.prototype.unsortedForEach=function(t,n){this._array.forEach(t,n)};ts.prototype.add=function(t){cm(this._last,t)?(this._last=t,this._array.push(t)):(this._sorted=!1,this._array.push(t))};ts.prototype.toArray=function(){return this._sorted||(this._array.sort(au.compareByGeneratedPositionsInflated),this._sorted=!0),this._array};cu.MappingList=ts});var Xi=F(lu=>{var Yn=Gi(),ee=ln(),ns=Zi().ArraySet,um=uu().MappingList;function Re(e){e||(e={}),this._file=ee.getArg(e,"file",null),this._sourceRoot=ee.getArg(e,"sourceRoot",null),this._skipValidation=ee.getArg(e,"skipValidation",!1),this._sources=new ns,this._names=new ns,this._mappings=new um,this._sourcesContents=null}Re.prototype._version=3;Re.fromSourceMap=function(t){var n=t.sourceRoot,r=new Re({file:t.file,sourceRoot:n});return t.eachMapping(function(s){var i={generated:{line:s.generatedLine,column:s.generatedColumn}};s.source!=null&&(i.source=s.source,n!=null&&(i.source=ee.relative(n,i.source)),i.original={line:s.originalLine,column:s.originalColumn},s.name!=null&&(i.name=s.name)),r.addMapping(i)}),t.sources.forEach(function(s){var i=s;n!==null&&(i=ee.relative(n,s)),r._sources.has(i)||r._sources.add(i);var o=t.sourceContentFor(s);o!=null&&r.setSourceContent(s,o)}),r};Re.prototype.addMapping=function(t){var n=ee.getArg(t,"generated"),r=ee.getArg(t,"original",null),s=ee.getArg(t,"source",null),i=ee.getArg(t,"name",null);this._skipValidation||this._validateMapping(n,r,s,i),s!=null&&(s=String(s),this._sources.has(s)||this._sources.add(s)),i!=null&&(i=String(i),this._names.has(i)||this._names.add(i)),this._mappings.add({generatedLine:n.line,generatedColumn:n.column,originalLine:r!=null&&r.line,originalColumn:r!=null&&r.column,source:s,name:i})};Re.prototype.setSourceContent=function(t,n){var r=t;this._sourceRoot!=null&&(r=ee.relative(this._sourceRoot,r)),n!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[ee.toSetString(r)]=n):this._sourcesContents&&(delete this._sourcesContents[ee.toSetString(r)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))};Re.prototype.applySourceMap=function(t,n,r){var s=n;if(n==null){if(t.file==null)throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`);s=t.file}var i=this._sourceRoot;i!=null&&(s=ee.relative(i,s));var o=new ns,a=new ns;this._mappings.unsortedForEach(function(u){if(u.source===s&&u.originalLine!=null){var c=t.originalPositionFor({line:u.originalLine,column:u.originalColumn});c.source!=null&&(u.source=c.source,r!=null&&(u.source=ee.join(r,u.source)),i!=null&&(u.source=ee.relative(i,u.source)),u.originalLine=c.line,u.originalColumn=c.column,c.name!=null&&(u.name=c.name))}var d=u.source;d!=null&&!o.has(d)&&o.add(d);var l=u.name;l!=null&&!a.has(l)&&a.add(l)},this),this._sources=o,this._names=a,t.sources.forEach(function(u){var c=t.sourceContentFor(u);c!=null&&(r!=null&&(u=ee.join(r,u)),i!=null&&(u=ee.relative(i,u)),this.setSourceContent(u,c))},this)};Re.prototype._validateMapping=function(t,n,r,s){if(n&&typeof n.line!="number"&&typeof n.column!="number")throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(!(t&&"line"in t&&"column"in t&&t.line>0&&t.column>=0&&!n&&!r&&!s)){if(t&&"line"in t&&"column"in t&&n&&"line"in n&&"column"in n&&t.line>0&&t.column>=0&&n.line>0&&n.column>=0&&r)return;throw new Error("Invalid mapping: "+JSON.stringify({generated:t,source:r,original:n,name:s}))}};Re.prototype._serializeMappings=function(){for(var t=0,n=1,r=0,s=0,i=0,o=0,a="",u,c,d,l,p=this._mappings.toArray(),f=0,g=p.length;f<g;f++){if(c=p[f],u="",c.generatedLine!==n)for(t=0;c.generatedLine!==n;)u+=";",n++;else if(f>0){if(!ee.compareByGeneratedPositionsInflated(c,p[f-1]))continue;u+=","}u+=Yn.encode(c.generatedColumn-t),t=c.generatedColumn,c.source!=null&&(l=this._sources.indexOf(c.source),u+=Yn.encode(l-o),o=l,u+=Yn.encode(c.originalLine-1-s),s=c.originalLine-1,u+=Yn.encode(c.originalColumn-r),r=c.originalColumn,c.name!=null&&(d=this._names.indexOf(c.name),u+=Yn.encode(d-i),i=d)),a+=u}return a};Re.prototype._generateSourcesContent=function(t,n){return t.map(function(r){if(!this._sourcesContents)return null;n!=null&&(r=ee.relative(n,r));var s=ee.toSetString(r);return Object.prototype.hasOwnProperty.call(this._sourcesContents,s)?this._sourcesContents[s]:null},this)};Re.prototype.toJSON=function(){var t={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(t.file=this._file),this._sourceRoot!=null&&(t.sourceRoot=this._sourceRoot),this._sourcesContents&&(t.sourcesContent=this._generateSourcesContent(t.sources,t.sourceRoot)),t};Re.prototype.toString=function(){return JSON.stringify(this.toJSON())};lu.SourceMapGenerator=Re});var du=F(Tt=>{Tt.GREATEST_LOWER_BOUND=1;Tt.LEAST_UPPER_BOUND=2;function Qi(e,t,n,r,s,i){var o=Math.floor((t-e)/2)+e,a=s(n,r[o],!0);return a===0?o:a>0?t-o>1?Qi(o,t,n,r,s,i):i==Tt.LEAST_UPPER_BOUND?t<r.length?t:-1:o:o-e>1?Qi(e,o,n,r,s,i):i==Tt.LEAST_UPPER_BOUND?o:e<0?-1:e}Tt.search=function(t,n,r,s){if(n.length===0)return-1;var i=Qi(-1,n.length,t,n,r,s||Tt.GREATEST_LOWER_BOUND);if(i<0)return-1;for(;i-1>=0&&r(n[i],n[i-1],!0)===0;)--i;return i}});var fu=F(pu=>{function eo(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function lm(e,t){return Math.round(e+Math.random()*(t-e))}function to(e,t,n,r){if(n<r){var s=lm(n,r),i=n-1;eo(e,s,r);for(var o=e[r],a=n;a<r;a++)t(e[a],o)<=0&&(i+=1,eo(e,i,a));eo(e,i+1,a);var u=i+1;to(e,t,n,u-1),to(e,t,u+1,r)}}pu.quickSort=function(e,t){to(e,t,0,e.length-1)}});var gu=F(rs=>{var w=ln(),no=du(),dn=Zi().ArraySet,dm=Gi(),Zn=fu().quickSort;function U(e,t){var n=e;return typeof e=="string"&&(n=w.parseSourceMapInput(e)),n.sections!=null?new $e(n,t):new pe(n,t)}U.fromSourceMap=function(e,t){return pe.fromSourceMap(e,t)};U.prototype._version=3;U.prototype.__generatedMappings=null;Object.defineProperty(U.prototype,"_generatedMappings",{configurable:!0,enumerable:!0,get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}});U.prototype.__originalMappings=null;Object.defineProperty(U.prototype,"_originalMappings",{configurable:!0,enumerable:!0,get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}});U.prototype._charIsMappingSeparator=function(t,n){var r=t.charAt(n);return r===";"||r===","};U.prototype._parseMappings=function(t,n){throw new Error("Subclasses must implement _parseMappings")};U.GENERATED_ORDER=1;U.ORIGINAL_ORDER=2;U.GREATEST_LOWER_BOUND=1;U.LEAST_UPPER_BOUND=2;U.prototype.eachMapping=function(t,n,r){var s=n||null,i=r||U.GENERATED_ORDER,o;switch(i){case U.GENERATED_ORDER:o=this._generatedMappings;break;case U.ORIGINAL_ORDER:o=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var a=this.sourceRoot;o.map(function(u){var c=u.source===null?null:this._sources.at(u.source);return c=w.computeSourceURL(a,c,this._sourceMapURL),{source:c,generatedLine:u.generatedLine,generatedColumn:u.generatedColumn,originalLine:u.originalLine,originalColumn:u.originalColumn,name:u.name===null?null:this._names.at(u.name)}},this).forEach(t,s)};U.prototype.allGeneratedPositionsFor=function(t){var n=w.getArg(t,"line"),r={source:w.getArg(t,"source"),originalLine:n,originalColumn:w.getArg(t,"column",0)};if(r.source=this._findSourceIndex(r.source),r.source<0)return[];var s=[],i=this._findMapping(r,this._originalMappings,"originalLine","originalColumn",w.compareByOriginalPositions,no.LEAST_UPPER_BOUND);if(i>=0){var o=this._originalMappings[i];if(t.column===void 0)for(var a=o.originalLine;o&&o.originalLine===a;)s.push({line:w.getArg(o,"generatedLine",null),column:w.getArg(o,"generatedColumn",null),lastColumn:w.getArg(o,"lastGeneratedColumn",null)}),o=this._originalMappings[++i];else for(var u=o.originalColumn;o&&o.originalLine===n&&o.originalColumn==u;)s.push({line:w.getArg(o,"generatedLine",null),column:w.getArg(o,"generatedColumn",null),lastColumn:w.getArg(o,"lastGeneratedColumn",null)}),o=this._originalMappings[++i]}return s};rs.SourceMapConsumer=U;function pe(e,t){var n=e;typeof e=="string"&&(n=w.parseSourceMapInput(e));var r=w.getArg(n,"version"),s=w.getArg(n,"sources"),i=w.getArg(n,"names",[]),o=w.getArg(n,"sourceRoot",null),a=w.getArg(n,"sourcesContent",null),u=w.getArg(n,"mappings"),c=w.getArg(n,"file",null);if(r!=this._version)throw new Error("Unsupported version: "+r);o&&(o=w.normalize(o)),s=s.map(String).map(w.normalize).map(function(d){return o&&w.isAbsolute(o)&&w.isAbsolute(d)?w.relative(o,d):d}),this._names=dn.fromArray(i.map(String),!0),this._sources=dn.fromArray(s,!0),this._absoluteSources=this._sources.toArray().map(function(d){return w.computeSourceURL(o,d,t)}),this.sourceRoot=o,this.sourcesContent=a,this._mappings=u,this._sourceMapURL=t,this.file=c}pe.prototype=Object.create(U.prototype);pe.prototype.consumer=U;pe.prototype._findSourceIndex=function(e){var t=e;if(this.sourceRoot!=null&&(t=w.relative(this.sourceRoot,t)),this._sources.has(t))return this._sources.indexOf(t);var n;for(n=0;n<this._absoluteSources.length;++n)if(this._absoluteSources[n]==e)return n;return-1};pe.fromSourceMap=function(t,n){var r=Object.create(pe.prototype),s=r._names=dn.fromArray(t._names.toArray(),!0),i=r._sources=dn.fromArray(t._sources.toArray(),!0);r.sourceRoot=t._sourceRoot,r.sourcesContent=t._generateSourcesContent(r._sources.toArray(),r.sourceRoot),r.file=t._file,r._sourceMapURL=n,r._absoluteSources=r._sources.toArray().map(function(f){return w.computeSourceURL(r.sourceRoot,f,n)});for(var o=t._mappings.toArray().slice(),a=r.__generatedMappings=[],u=r.__originalMappings=[],c=0,d=o.length;c<d;c++){var l=o[c],p=new hu;p.generatedLine=l.generatedLine,p.generatedColumn=l.generatedColumn,l.source&&(p.source=i.indexOf(l.source),p.originalLine=l.originalLine,p.originalColumn=l.originalColumn,l.name&&(p.name=s.indexOf(l.name)),u.push(p)),a.push(p)}return Zn(r.__originalMappings,w.compareByOriginalPositions),r};pe.prototype._version=3;Object.defineProperty(pe.prototype,"sources",{get:function(){return this._absoluteSources.slice()}});function hu(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}pe.prototype._parseMappings=function(t,n){for(var r=1,s=0,i=0,o=0,a=0,u=0,c=t.length,d=0,l={},p={},f=[],g=[],h,m,_,y,S;d<c;)if(t.charAt(d)===";")r++,d++,s=0;else if(t.charAt(d)===",")d++;else{for(h=new hu,h.generatedLine=r,y=d;y<c&&!this._charIsMappingSeparator(t,y);y++);if(m=t.slice(d,y),_=l[m],_)d+=m.length;else{for(_=[];d<y;)dm.decode(t,d,p),S=p.value,d=p.rest,_.push(S);if(_.length===2)throw new Error("Found a source, but no line and column");if(_.length===3)throw new Error("Found a source and line, but no column");l[m]=_}h.generatedColumn=s+_[0],s=h.generatedColumn,_.length>1&&(h.source=a+_[1],a+=_[1],h.originalLine=i+_[2],i=h.originalLine,h.originalLine+=1,h.originalColumn=o+_[3],o=h.originalColumn,_.length>4&&(h.name=u+_[4],u+=_[4])),g.push(h),typeof h.originalLine=="number"&&f.push(h)}Zn(g,w.compareByGeneratedPositionsDeflated),this.__generatedMappings=g,Zn(f,w.compareByOriginalPositions),this.__originalMappings=f};pe.prototype._findMapping=function(t,n,r,s,i,o){if(t[r]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+t[r]);if(t[s]<0)throw new TypeError("Column must be greater than or equal to 0, got "+t[s]);return no.search(t,n,i,o)};pe.prototype.computeColumnSpans=function(){for(var t=0;t<this._generatedMappings.length;++t){var n=this._generatedMappings[t];if(t+1<this._generatedMappings.length){var r=this._generatedMappings[t+1];if(n.generatedLine===r.generatedLine){n.lastGeneratedColumn=r.generatedColumn-1;continue}}n.lastGeneratedColumn=1/0}};pe.prototype.originalPositionFor=function(t){var n={generatedLine:w.getArg(t,"line"),generatedColumn:w.getArg(t,"column")},r=this._findMapping(n,this._generatedMappings,"generatedLine","generatedColumn",w.compareByGeneratedPositionsDeflated,w.getArg(t,"bias",U.GREATEST_LOWER_BOUND));if(r>=0){var s=this._generatedMappings[r];if(s.generatedLine===n.generatedLine){var i=w.getArg(s,"source",null);i!==null&&(i=this._sources.at(i),i=w.computeSourceURL(this.sourceRoot,i,this._sourceMapURL));var o=w.getArg(s,"name",null);return o!==null&&(o=this._names.at(o)),{source:i,line:w.getArg(s,"originalLine",null),column:w.getArg(s,"originalColumn",null),name:o}}}return{source:null,line:null,column:null,name:null}};pe.prototype.hasContentsOfAllSources=function(){return this.sourcesContent?this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(t){return t==null}):!1};pe.prototype.sourceContentFor=function(t,n){if(!this.sourcesContent)return null;var r=this._findSourceIndex(t);if(r>=0)return this.sourcesContent[r];var s=t;this.sourceRoot!=null&&(s=w.relative(this.sourceRoot,s));var i;if(this.sourceRoot!=null&&(i=w.urlParse(this.sourceRoot))){var o=s.replace(/^file:\/\//,"");if(i.scheme=="file"&&this._sources.has(o))return this.sourcesContent[this._sources.indexOf(o)];if((!i.path||i.path=="/")&&this._sources.has("/"+s))return this.sourcesContent[this._sources.indexOf("/"+s)]}if(n)return null;throw new Error('"'+s+'" is not in the SourceMap.')};pe.prototype.generatedPositionFor=function(t){var n=w.getArg(t,"source");if(n=this._findSourceIndex(n),n<0)return{line:null,column:null,lastColumn:null};var r={source:n,originalLine:w.getArg(t,"line"),originalColumn:w.getArg(t,"column")},s=this._findMapping(r,this._originalMappings,"originalLine","originalColumn",w.compareByOriginalPositions,w.getArg(t,"bias",U.GREATEST_LOWER_BOUND));if(s>=0){var i=this._originalMappings[s];if(i.source===r.source)return{line:w.getArg(i,"generatedLine",null),column:w.getArg(i,"generatedColumn",null),lastColumn:w.getArg(i,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}};rs.BasicSourceMapConsumer=pe;function $e(e,t){var n=e;typeof e=="string"&&(n=w.parseSourceMapInput(e));var r=w.getArg(n,"version"),s=w.getArg(n,"sections");if(r!=this._version)throw new Error("Unsupported version: "+r);this._sources=new dn,this._names=new dn;var i={line:-1,column:0};this._sections=s.map(function(o){if(o.url)throw new Error("Support for url field in sections not implemented.");var a=w.getArg(o,"offset"),u=w.getArg(a,"line"),c=w.getArg(a,"column");if(u<i.line||u===i.line&&c<i.column)throw new Error("Section offsets must be ordered and non-overlapping.");return i=a,{generatedOffset:{generatedLine:u+1,generatedColumn:c+1},consumer:new U(w.getArg(o,"map"),t)}})}$e.prototype=Object.create(U.prototype);$e.prototype.constructor=U;$e.prototype._version=3;Object.defineProperty($e.prototype,"sources",{get:function(){for(var e=[],t=0;t<this._sections.length;t++)for(var n=0;n<this._sections[t].consumer.sources.length;n++)e.push(this._sections[t].consumer.sources[n]);return e}});$e.prototype.originalPositionFor=function(t){var n={generatedLine:w.getArg(t,"line"),generatedColumn:w.getArg(t,"column")},r=no.search(n,this._sections,function(i,o){var a=i.generatedLine-o.generatedOffset.generatedLine;return a||i.generatedColumn-o.generatedOffset.generatedColumn}),s=this._sections[r];return s?s.consumer.originalPositionFor({line:n.generatedLine-(s.generatedOffset.generatedLine-1),column:n.generatedColumn-(s.generatedOffset.generatedLine===n.generatedLine?s.generatedOffset.generatedColumn-1:0),bias:t.bias}):{source:null,line:null,column:null,name:null}};$e.prototype.hasContentsOfAllSources=function(){return this._sections.every(function(t){return t.consumer.hasContentsOfAllSources()})};$e.prototype.sourceContentFor=function(t,n){for(var r=0;r<this._sections.length;r++){var s=this._sections[r],i=s.consumer.sourceContentFor(t,!0);if(i)return i}if(n)return null;throw new Error('"'+t+'" is not in the SourceMap.')};$e.prototype.generatedPositionFor=function(t){for(var n=0;n<this._sections.length;n++){var r=this._sections[n];if(r.consumer._findSourceIndex(w.getArg(t,"source"))!==-1){var s=r.consumer.generatedPositionFor(t);if(s){var i={line:s.line+(r.generatedOffset.generatedLine-1),column:s.column+(r.generatedOffset.generatedLine===s.line?r.generatedOffset.generatedColumn-1:0)};return i}}}return{line:null,column:null}};$e.prototype._parseMappings=function(t,n){this.__generatedMappings=[],this.__originalMappings=[];for(var r=0;r<this._sections.length;r++)for(var s=this._sections[r],i=s.consumer._generatedMappings,o=0;o<i.length;o++){var a=i[o],u=s.consumer._sources.at(a.source);u=w.computeSourceURL(s.consumer.sourceRoot,u,this._sourceMapURL),this._sources.add(u),u=this._sources.indexOf(u);var c=null;a.name&&(c=s.consumer._names.at(a.name),this._names.add(c),c=this._names.indexOf(c));var d={source:u,generatedLine:a.generatedLine+(s.generatedOffset.generatedLine-1),generatedColumn:a.generatedColumn+(s.generatedOffset.generatedLine===a.generatedLine?s.generatedOffset.generatedColumn-1:0),originalLine:a.originalLine,originalColumn:a.originalColumn,name:c};this.__generatedMappings.push(d),typeof d.originalLine=="number"&&this.__originalMappings.push(d)}Zn(this.__generatedMappings,w.compareByGeneratedPositionsDeflated),Zn(this.__originalMappings,w.compareByOriginalPositions)};rs.IndexedSourceMapConsumer=$e});var yu=F(mu=>{var pm=Xi().SourceMapGenerator,ss=ln(),fm=/(\r?\n)/,hm=10,pn="$$$isSourceNode$$$";function ke(e,t,n,r,s){this.children=[],this.sourceContents={},this.line=e??null,this.column=t??null,this.source=n??null,this.name=s??null,this[pn]=!0,r!=null&&this.add(r)}ke.fromStringWithSourceMap=function(t,n,r){var s=new ke,i=t.split(fm),o=0,a=function(){var p=g(),f=g()||"";return p+f;function g(){return o<i.length?i[o++]:void 0}},u=1,c=0,d=null;return n.eachMapping(function(p){if(d!==null)if(u<p.generatedLine)l(d,a()),u++,c=0;else{var f=i[o]||"",g=f.substr(0,p.generatedColumn-c);i[o]=f.substr(p.generatedColumn-c),c=p.generatedColumn,l(d,g),d=p;return}for(;u<p.generatedLine;)s.add(a()),u++;if(c<p.generatedColumn){var f=i[o]||"";s.add(f.substr(0,p.generatedColumn)),i[o]=f.substr(p.generatedColumn),c=p.generatedColumn}d=p},this),o<i.length&&(d&&l(d,a()),s.add(i.splice(o).join(""))),n.sources.forEach(function(p){var f=n.sourceContentFor(p);f!=null&&(r!=null&&(p=ss.join(r,p)),s.setSourceContent(p,f))}),s;function l(p,f){if(p===null||p.source===void 0)s.add(f);else{var g=r?ss.join(r,p.source):p.source;s.add(new ke(p.originalLine,p.originalColumn,g,f,p.name))}}};ke.prototype.add=function(t){if(Array.isArray(t))t.forEach(function(n){this.add(n)},this);else if(t[pn]||typeof t=="string")t&&this.children.push(t);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+t);return this};ke.prototype.prepend=function(t){if(Array.isArray(t))for(var n=t.length-1;n>=0;n--)this.prepend(t[n]);else if(t[pn]||typeof t=="string")this.children.unshift(t);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+t);return this};ke.prototype.walk=function(t){for(var n,r=0,s=this.children.length;r<s;r++)n=this.children[r],n[pn]?n.walk(t):n!==""&&t(n,{source:this.source,line:this.line,column:this.column,name:this.name})};ke.prototype.join=function(t){var n,r,s=this.children.length;if(s>0){for(n=[],r=0;r<s-1;r++)n.push(this.children[r]),n.push(t);n.push(this.children[r]),this.children=n}return this};ke.prototype.replaceRight=function(t,n){var r=this.children[this.children.length-1];return r[pn]?r.replaceRight(t,n):typeof r=="string"?this.children[this.children.length-1]=r.replace(t,n):this.children.push("".replace(t,n)),this};ke.prototype.setSourceContent=function(t,n){this.sourceContents[ss.toSetString(t)]=n};ke.prototype.walkSourceContents=function(t){for(var n=0,r=this.children.length;n<r;n++)this.children[n][pn]&&this.children[n].walkSourceContents(t);for(var s=Object.keys(this.sourceContents),n=0,r=s.length;n<r;n++)t(ss.fromSetString(s[n]),this.sourceContents[s[n]])};ke.prototype.toString=function(){var t="";return this.walk(function(n){t+=n}),t};ke.prototype.toStringWithSourceMap=function(t){var n={code:"",line:1,column:0},r=new pm(t),s=!1,i=null,o=null,a=null,u=null;return this.walk(function(c,d){n.code+=c,d.source!==null&&d.line!==null&&d.column!==null?((i!==d.source||o!==d.line||a!==d.column||u!==d.name)&&r.addMapping({source:d.source,original:{line:d.line,column:d.column},generated:{line:n.line,column:n.column},name:d.name}),i=d.source,o=d.line,a=d.column,u=d.name,s=!0):s&&(r.addMapping({generated:{line:n.line,column:n.column}}),i=null,s=!1);for(var l=0,p=c.length;l<p;l++)c.charCodeAt(l)===hm?(n.line++,n.column=0,l+1===p?(i=null,s=!1):s&&r.addMapping({source:d.source,original:{line:d.line,column:d.column},generated:{line:n.line,column:n.column},name:d.name})):n.column++}),this.walkSourceContents(function(c,d){r.setSourceContent(c,d)}),{code:n.code,map:r}};mu.SourceNode=ke});var _u=F(is=>{is.SourceMapGenerator=Xi().SourceMapGenerator;is.SourceMapConsumer=gu().SourceMapConsumer;is.SourceNode=yu().SourceNode});var ku=F(os=>{"use strict";os.__esModule=!0;os.safeJsonLiteral=vu;var so=fe(),gm=/[\x00-\x1f\\"\u2028\u2029<\ud800-\udfff]/,mm=/<(?=!--|\/?script)/gi;function ym(e){return e.replace(mm,"\\u003C")}function _m(e){return"\\u"+e.charCodeAt(0).toString(16)}function vu(e){return ym(JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/[\ud800-\udfff]/g,_m))}var Bt=void 0;try{(typeof define!="function"||!define.amd)&&(bu=_u(),Bt=bu.SourceNode)}catch{}var bu;Bt||(Bt=function(e,t,n,r){this.src="",r&&this.add(r)},Bt.prototype={add:function(t){so.isArray(t)&&(t=t.join("")),this.src+=t},prepend:function(t){so.isArray(t)&&(t=t.join("")),this.src=t+this.src},toStringWithSourceMap:function(){return{code:this.toString()}},toString:function(){return this.src}});function ro(e,t,n){if(so.isArray(e)){for(var r=[],s=0,i=e.length;s<i;s++)r.push(t.wrap(e[s],n));return r}else if(typeof e=="boolean"||typeof e=="number")return e+"";return e}function Su(e){this.srcFile=e,this.source=[]}Su.prototype={isEmpty:function(){return!this.source.length},prepend:function(t,n){this.source.unshift(this.wrap(t,n))},push:function(t,n){this.source.push(this.wrap(t,n))},merge:function(){var t=this.empty();return this.each(function(n){t.add([" ",n,`
11
+ `])}),t},each:function(t){for(var n=0,r=this.source.length;n<r;n++)t(this.source[n])},empty:function(){var t=this.currentLocation||{start:{}};return new Bt(t.start.line,t.start.column,this.srcFile)},wrap:function(t){var n=arguments.length<=1||arguments[1]===void 0?this.currentLocation||{start:{}}:arguments[1];return t instanceof Bt?t:(t=ro(t,this,n),new Bt(n.start.line,n.start.column,this.srcFile,t))},functionCall:function(t,n,r){return r=this.generateList(r),this.wrap([t,n?"."+n+"(":"(",r,")"])},quotedString:function(t){return t=t+"",gm.test(t)?vu(t):'"'+t+'"'},objectLiteral:function(t){var n=this,r=[];Object.keys(t).forEach(function(i){var o=ro(t[i],n);o!=="undefined"&&r.push([n.quotedString(i),":",o])});var s=this.generateList(r);return s.prepend("{"),s.add("}"),s},generateList:function(t){for(var n=this.empty(),r=0,s=t.length;r<s;r++)r&&n.add(","),n.add(ro(t[r],this));return n},generateArray:function(t){var n=this.generateList(t);return n.prepend("["),n.add("]"),n}};os.default=Su});var ju=F((as,Ru)=>{"use strict";as.__esModule=!0;function Au(e){return e&&e.__esModule?e:{default:e}}var Du=Mr(),bm=we(),io=Au(bm),vm=fe(),wu=ku(),Eu=Au(wu);function fn(e){this.value=e}function hn(){}hn.prototype={nameLookup:function(t,n){return this.internalNameLookup(t,n)},depthedLookup:function(t){return[this.aliasable("container.lookup"),"(depths, ",this.quotedString(t),")"]},compilerInfo:function(){var t=Du.COMPILER_REVISION,n=Du.REVISION_CHANGES[t];return[t,n]},appendToBuffer:function(t,n,r){return vm.isArray(t)||(t=[t]),t=this.source.wrap(t,n),this.environment.isSimple?["return ",t,";"]:r?["buffer += ",t,";"]:(t.appendToBuffer=!0,t)},initializeBuffer:function(){return this.quotedString("")},internalNameLookup:function(t,n){return this.lookupPropertyFunctionIsUsed=!0,["lookupProperty(",t,",",this.quotedString(n),")"]},lookupPropertyFunctionIsUsed:!1,compile:function(t,n,r,s){this.environment=t,this.options=n,this.stringParams=this.options.stringParams,this.trackIds=this.options.trackIds,this.precompile=!s,this.name=this.environment.name,this.isChild=!!r,this.context=r||{decorators:[],programs:[],environments:[]},this.preamble(),this.stackSlot=0,this.stackVars=[],this.aliases={},this.registers={list:[]},this.hashes=[],this.compileStack=[],this.inlineStack=[],this.blockParams=[],this.compileChildren(t,n),this.useDepths=this.useDepths||t.useDepths||t.useDecorators||this.options.compat,this.useBlockParams=this.useBlockParams||t.useBlockParams;var i=t.opcodes,o=void 0,a=void 0,u=void 0,c=void 0;for(u=0,c=i.length;u<c;u++)o=i[u],this.source.currentLocation=o.loc,a=a||o.loc,this[o.opcode].apply(this,o.args);if(this.source.currentLocation=a,this.pushSource(""),this.stackSlot||this.inlineStack.length||this.compileStack.length)throw new io.default("Compile completed with content left on stack");this.decorators.isEmpty()?this.decorators=void 0:(this.useDecorators=!0,this.decorators.prepend(["var decorators = container.decorators, ",this.lookupPropertyFunctionVarDeclaration(),`;
12
+ `]),this.decorators.push("return fn;"),s?this.decorators=Function.apply(this,["fn","props","container","depth0","data","blockParams","depths",this.decorators.merge()]):(this.decorators.prepend(`function(fn, props, container, depth0, data, blockParams, depths) {
13
+ `),this.decorators.push(`}
14
+ `),this.decorators=this.decorators.merge()));var d=this.createFunctionContext(s);if(this.isChild)return d;var l={compiler:this.compilerInfo(),main:d};this.decorators&&(l.main_d=this.decorators,l.useDecorators=!0);var p=this.context,f=p.programs,g=p.decorators;for(u=0,c=f.length;u<c;u++)l[u]=f[u],g[u]&&(l[u+"_d"]=g[u],l.useDecorators=!0);return this.environment.usePartial&&(l.usePartial=!0),this.options.data&&(l.useData=!0),this.useDepths&&(l.useDepths=!0),this.useBlockParams&&(l.useBlockParams=!0),this.options.compat&&(l.compat=!0),s?l.compilerOptions=this.options:(l.compiler=JSON.stringify(l.compiler),this.source.currentLocation={start:{line:1,column:0}},l=this.objectLiteral(l),n.srcName?(l=l.toStringWithSourceMap({file:n.destName}),l.map=l.map&&l.map.toString()):l=l.toString()),l},preamble:function(){this.lastContext=0,this.source=new Eu.default(this.options.srcName),this.decorators=new Eu.default(this.options.srcName)},createFunctionContext:function(t){var n=this,r="",s=this.stackVars.concat(this.registers.list);s.length>0&&(r+=", "+s.join(", "));var i=0;Object.keys(this.aliases).forEach(function(u){var c=n.aliases[u];c.children&&c.referenceCount>1&&(r+=", alias"+ ++i+"="+u,c.children[0]="alias"+i)}),this.lookupPropertyFunctionIsUsed&&(r+=", "+this.lookupPropertyFunctionVarDeclaration());var o=["container","depth0","helpers","partials","data"];(this.useBlockParams||this.useDepths)&&o.push("blockParams"),this.useDepths&&o.push("depths");var a=this.mergeSource(r);return t?(o.push(a),Function.apply(this,o)):this.source.wrap(["function(",o.join(","),`) {
15
+ `,a,"}"])},mergeSource:function(t){var n=this.environment.isSimple,r=!this.forceBuffer,s=void 0,i=void 0,o=void 0,a=void 0;return this.source.each(function(u){u.appendToBuffer?(o?u.prepend(" + "):o=u,a=u):(o&&(i?o.prepend("buffer += "):s=!0,a.add(";"),o=a=void 0),i=!0,n||(r=!1))}),r?o?(o.prepend("return "),a.add(";")):i||this.source.push('return "";'):(t+=", buffer = "+(s?"":this.initializeBuffer()),o?(o.prepend("return buffer + "),a.add(";")):this.source.push("return buffer;")),t&&this.source.prepend("var "+t.substring(2)+(s?"":`;
16
+ `)),this.source.merge()},lookupPropertyFunctionVarDeclaration:function(){return`
17
+ lookupProperty = container.lookupProperty || function(parent, propertyName) {
18
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
19
+ return parent[propertyName];
20
+ }
21
+ return undefined
22
+ }
23
+ `.trim()},blockValue:function(t){var n=this.aliasable("container.hooks.blockHelperMissing"),r=[this.contextName(0)];this.setupHelperArgs(t,0,r);var s=this.popStack();r.splice(1,0,s),this.push(this.source.functionCall(n,"call",r))},ambiguousBlockValue:function(){var t=this.aliasable("container.hooks.blockHelperMissing"),n=[this.contextName(0)];this.setupHelperArgs("",0,n,!0),this.flushInline();var r=this.topStack();n.splice(1,0,r),this.pushSource(["if (!",this.lastHelper,") { ",r," = ",this.source.functionCall(t,"call",n),"}"])},appendContent:function(t){this.pendingContent?t=this.pendingContent+t:this.pendingLocation=this.source.currentLocation,this.pendingContent=t},append:function(){if(this.isInline())this.replaceStack(function(n){return[" != null ? ",n,' : ""']}),this.pushSource(this.appendToBuffer(this.popStack()));else{var t=this.popStack();this.pushSource(["if (",t," != null) { ",this.appendToBuffer(t,void 0,!0)," }"]),this.environment.isSimple&&this.pushSource(["else { ",this.appendToBuffer("''",void 0,!0)," }"])}},appendEscaped:function(){this.pushSource(this.appendToBuffer([this.aliasable("container.escapeExpression"),"(",this.popStack(),")"]))},getContext:function(t){this.lastContext=t},pushContext:function(){this.pushStackLiteral(this.contextName(this.lastContext))},lookupOnContext:function(t,n,r,s){var i=0;!s&&this.options.compat&&!this.lastContext?this.push(this.depthedLookup(t[i++])):this.pushContext(),this.resolvePath("context",t,i,n,r)},lookupBlockParam:function(t,n){this.useBlockParams=!0,this.push(["blockParams[",t[0],"][",t[1],"]"]),this.resolvePath("context",n,1)},lookupData:function(t,n,r){t?this.pushStackLiteral("container.data(data, "+t+")"):this.pushStackLiteral("data"),this.resolvePath("data",n,0,!0,r)},resolvePath:function(t,n,r,s,i){var o=this;if(this.options.strict||this.options.assumeObjects){this.push(Sm(this.options.strict&&i,this,n,r,t));return}for(var a=n.length,u=function(d){o.replaceStack(function(l){var p=o.nameLookup(l,n[d],t);return s?[" && ",p]:[" != null ? ",p," : ",l]})},c=r;c<a;c++)u(c)},resolvePossibleLambda:function(){this.push([this.aliasable("container.lambda"),"(",this.popStack(),", ",this.contextName(0),")"])},pushStringParam:function(t,n){this.pushContext(),this.pushString(n),n!=="SubExpression"&&(typeof t=="string"?this.pushString(t):this.pushStackLiteral(t))},emptyHash:function(t){this.trackIds&&this.push("{}"),this.stringParams&&(this.push("{}"),this.push("{}")),this.pushStackLiteral(t?"undefined":"{}")},pushHash:function(){this.hash&&this.hashes.push(this.hash),this.hash={values:{},types:[],contexts:[],ids:[]}},popHash:function(){var t=this.hash;this.hash=this.hashes.pop(),this.trackIds&&this.push(this.objectLiteral(t.ids)),this.stringParams&&(this.push(this.objectLiteral(t.contexts)),this.push(this.objectLiteral(t.types))),this.push(this.objectLiteral(t.values))},pushString:function(t){this.pushStackLiteral(this.quotedString(t))},pushLiteral:function(t){this.pushStackLiteral(t)},pushProgram:function(t){t!=null?this.pushStackLiteral(this.programExpression(t)):this.pushStackLiteral(null)},registerDecorator:function(t,n){var r=this.nameLookup("decorators",n,"decorator"),s=this.setupHelperArgs(n,t);this.decorators.push(["var decorator = ",r,";"]),this.decorators.push(['if (typeof decorator !== "function") { throw new Error(',this.quotedString('Missing decorator: "'+n+'"'),"); }"]),this.decorators.push(["fn = ",this.decorators.functionCall("decorator","",["fn","props","container",s])," || fn;"])},invokeHelper:function(t,n,r){var s=this.popStack(),i=this.setupHelper(t,n),o=[];r&&o.push(i.name),o.push(s),this.options.strict||o.push(this.aliasable("container.hooks.helperMissing"));var a=["(",this.itemsSeparatedBy(o,"||"),")"],u=this.source.functionCall(a,"call",i.callParams);this.push(u)},itemsSeparatedBy:function(t,n){var r=[];r.push(t[0]);for(var s=1;s<t.length;s++)r.push(n,t[s]);return r},invokeKnownHelper:function(t,n){var r=this.setupHelper(t,n);this.push(this.source.functionCall(r.name,"call",r.callParams))},invokeAmbiguous:function(t,n){this.useRegister("helper");var r=this.popStack();this.emptyHash();var s=this.setupHelper(0,t,n),i=this.lastHelper=this.nameLookup("helpers",t,"helper"),o=["(","(helper = ",i," || ",r,")"];this.options.strict||(o[0]="(helper = ",o.push(" != null ? helper : ",this.aliasable("container.hooks.helperMissing"))),this.push(["(",o,s.paramsInit?["),(",s.paramsInit]:[],"),","(typeof helper === ",this.aliasable('"function"')," ? ",this.source.functionCall("helper","call",s.callParams)," : helper))"])},invokePartial:function(t,n,r){var s=[],i=this.setupParams(n,1,s);t&&(n=this.popStack(),delete i.name),r&&(i.indent=this.quotedString(r)),i.helpers="helpers",i.partials="partials",i.decorators="container.decorators",t?s.unshift(n):s.unshift(this.nameLookup("partials",n,"partial")),this.options.compat&&(i.depths="depths"),i=this.objectLiteral(i),s.push(i),this.push(this.source.functionCall("container.invokePartial","",s))},assignToHash:function(t){var n=this.popStack(),r=void 0,s=void 0,i=void 0;this.trackIds&&(i=this.popStack()),this.stringParams&&(s=this.popStack(),r=this.popStack());var o=this.hash;r&&(o.contexts[t]=r),s&&(o.types[t]=s),i&&(o.ids[t]=i),o.values[t]=n},pushId:function(t,n,r){t==="BlockParam"?this.pushStackLiteral("blockParams["+n[0]+"].path["+n[1]+"]"+(r?" + "+this.quotedString("."+r):"")):t==="PathExpression"?this.pushString(n):t==="SubExpression"?this.pushStackLiteral("true"):this.pushStackLiteral("null")},compiler:hn,compileChildren:function(t,n){for(var r=t.children,s=void 0,i=void 0,o=0,a=r.length;o<a;o++){s=r[o],i=new this.compiler;var u=this.matchExistingProgram(s);if(u==null){var c=this.context.programs.push("")-1;s.index=c,s.name="program"+c,this.context.programs[c]=i.compile(s,n,this.context,!this.precompile),this.context.decorators[c]=i.decorators,this.context.environments[c]=s,this.useDepths=this.useDepths||i.useDepths,this.useBlockParams=this.useBlockParams||i.useBlockParams,s.useDepths=this.useDepths,s.useBlockParams=this.useBlockParams}else s.index=u.index,s.name="program"+u.index,this.useDepths=this.useDepths||u.useDepths,this.useBlockParams=this.useBlockParams||u.useBlockParams}},matchExistingProgram:function(t){for(var n=0,r=this.context.environments.length;n<r;n++){var s=this.context.environments[n];if(s&&s.equals(t))return s}},programExpression:function(t){var n=this.environment.children[t],r=[n.index,"data",n.blockParams];return(this.useBlockParams||this.useDepths)&&r.push("blockParams"),this.useDepths&&r.push("depths"),"container.program("+r.join(", ")+")"},useRegister:function(t){this.registers[t]||(this.registers[t]=!0,this.registers.list.push(t))},push:function(t){return t instanceof fn||(t=this.source.wrap(t)),this.inlineStack.push(t),t},pushStackLiteral:function(t){this.push(new fn(t))},pushSource:function(t){this.pendingContent&&(this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent),this.pendingLocation)),this.pendingContent=void 0),t&&this.source.push(t)},replaceStack:function(t){var n=["("],r=void 0,s=void 0,i=void 0;if(!this.isInline())throw new io.default("replaceStack on non-inline");var o=this.popStack(!0);if(o instanceof fn)r=[o.value],n=["(",r],i=!0;else{s=!0;var a=this.incrStack();n=["((",this.push(a)," = ",o,")"],r=this.topStack()}var u=t.call(this,r);i||this.popStack(),s&&this.stackSlot--,this.push(n.concat(u,")"))},incrStack:function(){return this.stackSlot++,this.stackSlot>this.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),this.topStackName()},topStackName:function(){return"stack"+this.stackSlot},flushInline:function(){var t=this.inlineStack;this.inlineStack=[];for(var n=0,r=t.length;n<r;n++){var s=t[n];if(s instanceof fn)this.compileStack.push(s);else{var i=this.incrStack();this.pushSource([i," = ",s,";"]),this.compileStack.push(i)}}},isInline:function(){return this.inlineStack.length},popStack:function(t){var n=this.isInline(),r=(n?this.inlineStack:this.compileStack).pop();if(!t&&r instanceof fn)return r.value;if(!n){if(!this.stackSlot)throw new io.default("Invalid stack pop");this.stackSlot--}return r},topStack:function(){var t=this.isInline()?this.inlineStack:this.compileStack,n=t[t.length-1];return n instanceof fn?n.value:n},contextName:function(t){return this.useDepths&&t?"depths["+t+"]":"depth"+t},quotedString:function(t){return this.source.quotedString(t)},objectLiteral:function(t){return this.source.objectLiteral(t)},aliasable:function(t){var n=this.aliases[t];return n?(n.referenceCount++,n):(n=this.aliases[t]=this.source.wrap(t),n.aliasable=!0,n.referenceCount=1,n)},setupHelper:function(t,n,r){var s=[],i=this.setupHelperArgs(n,t,s,r),o=this.nameLookup("helpers",n,"helper"),a=this.aliasable(this.contextName(0)+" != null ? "+this.contextName(0)+" : (container.nullContext || {})");return{params:s,paramsInit:i,name:o,callParams:[a].concat(s)}},setupParams:function(t,n,r){var s={},i=[],o=[],a=[],u=!r,c=void 0;u&&(r=[]),s.name=this.quotedString(t),s.hash=this.popStack(),this.trackIds&&(s.hashIds=this.popStack()),this.stringParams&&(s.hashTypes=this.popStack(),s.hashContexts=this.popStack());var d=this.popStack(),l=this.popStack();(l||d)&&(s.fn=l||"container.noop",s.inverse=d||"container.noop");for(var p=n;p--;)c=this.popStack(),r[p]=c,this.trackIds&&(a[p]=this.popStack()),this.stringParams&&(o[p]=this.popStack(),i[p]=this.popStack());return u&&(s.args=this.source.generateArray(r)),this.trackIds&&(s.ids=this.source.generateArray(a)),this.stringParams&&(s.types=this.source.generateArray(o),s.contexts=this.source.generateArray(i)),this.options.data&&(s.data="data"),this.useBlockParams&&(s.blockParams="blockParams"),s},setupHelperArgs:function(t,n,r,s){var i=this.setupParams(t,n,r);return i.loc=Cu(this),i=this.objectLiteral(i),s?(this.useRegister("options"),r.push("options"),["options=",i]):r?(r.push(i),""):i}};(function(){for(var e="break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield await null true false".split(" "),t=hn.RESERVED_WORDS={},n=0,r=e.length;n<r;n++)t[e[n]]=!0})();hn.isValidJavaScriptVariableName=function(e){return!hn.RESERVED_WORDS[e]&&/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(e)};function Cu(e){var t=e.source.currentLocation;return t?wu.safeJsonLiteral(t):"undefined"}function Sm(e,t,n,r,s){var i=t.popStack(),o=n.length;e&&o--;for(var a=r;a<o;a++)i=t.nameLookup(i,n[a],s);return e?[t.aliasable("container.strict"),"(",i,", ",t.quotedString(n[o]),", ",Cu(t)," )"]:i}as.default=hn;Ru.exports=as.default});var Ou=F((cs,xu)=>{"use strict";cs.__esModule=!0;function Xn(e){return e&&e.__esModule?e:{default:e}}var km=jc(),Dm=Xn(km),Em=Oi(),Am=Xn(Em),oo=Uc(),ao=Wc(),wm=ju(),Cm=Xn(wm),Rm=Zr(),jm=Xn(Rm),Fm=Ri(),xm=Xn(Fm),Om=Dm.default.create;function Fu(){var e=Om();return e.compile=function(t,n){return ao.compile(t,n,e)},e.precompile=function(t,n){return ao.precompile(t,n,e)},e.AST=Am.default,e.Compiler=ao.Compiler,e.JavaScriptCompiler=Cm.default,e.Parser=oo.parser,e.parse=oo.parse,e.parseWithoutProcessing=oo.parseWithoutProcessing,e}var gn=Fu();gn.create=Fu;xm.default(gn);gn.Visitor=jm.default;gn.default=gn;cs.default=gn;xu.exports=cs.default});var Pu=F(us=>{"use strict";us.__esModule=!0;us.print=Nm;us.PrintVisitor=G;function Pm(e){return e&&e.__esModule?e:{default:e}}var $m=Zr(),Lm=Pm($m);function Nm(e){return new G().accept(e)}function G(){this.padding=0}G.prototype=new Lm.default;G.prototype.pad=function(e){for(var t="",n=0,r=this.padding;n<r;n++)t+=" ";return t+=e+`
24
+ `,t};G.prototype.Program=function(e){var t="",n=e.body,r=void 0,s=void 0;if(e.blockParams){var i="BLOCK PARAMS: [";for(r=0,s=e.blockParams.length;r<s;r++)i+=" "+e.blockParams[r];i+=" ]",t+=this.pad(i)}for(r=0,s=n.length;r<s;r++)t+=this.accept(n[r]);return this.padding--,t};G.prototype.MustacheStatement=function(e){return this.pad("{{ "+this.SubExpression(e)+" }}")};G.prototype.Decorator=function(e){return this.pad("{{ DIRECTIVE "+this.SubExpression(e)+" }}")};G.prototype.BlockStatement=G.prototype.DecoratorBlock=function(e){var t="";return t+=this.pad((e.type==="DecoratorBlock"?"DIRECTIVE ":"")+"BLOCK:"),this.padding++,t+=this.pad(this.SubExpression(e)),e.program&&(t+=this.pad("PROGRAM:"),this.padding++,t+=this.accept(e.program),this.padding--),e.inverse&&(e.program&&this.padding++,t+=this.pad("{{^}}"),this.padding++,t+=this.accept(e.inverse),this.padding--,e.program&&this.padding--),this.padding--,t};G.prototype.PartialStatement=function(e){var t="PARTIAL:"+e.name.original;return e.params[0]&&(t+=" "+this.accept(e.params[0])),e.hash&&(t+=" "+this.accept(e.hash)),this.pad("{{> "+t+" }}")};G.prototype.PartialBlockStatement=function(e){var t="PARTIAL BLOCK:"+e.name.original;return e.params[0]&&(t+=" "+this.accept(e.params[0])),e.hash&&(t+=" "+this.accept(e.hash)),t+=" "+this.pad("PROGRAM:"),this.padding++,t+=this.accept(e.program),this.padding--,this.pad("{{> "+t+" }}")};G.prototype.ContentStatement=function(e){return this.pad("CONTENT[ '"+e.value+"' ]")};G.prototype.CommentStatement=function(e){return this.pad("{{! '"+e.value+"' }}")};G.prototype.SubExpression=function(e){for(var t=e.params,n=[],r=void 0,s=0,i=t.length;s<i;s++)n.push(this.accept(t[s]));return t="["+n.join(", ")+"]",r=e.hash?" "+this.accept(e.hash):"",this.accept(e.path)+" "+t+r};G.prototype.PathExpression=function(e){var t=e.parts.join("/");return(e.data?"@":"")+"PATH:"+t};G.prototype.StringLiteral=function(e){return'"'+e.value+'"'};G.prototype.NumberLiteral=function(e){return"NUMBER{"+e.value+"}"};G.prototype.BooleanLiteral=function(e){return"BOOLEAN{"+e.value+"}"};G.prototype.UndefinedLiteral=function(){return"UNDEFINED"};G.prototype.NullLiteral=function(){return"NULL"};G.prototype.Hash=function(e){for(var t=e.pairs,n=[],r=0,s=t.length;r<s;r++)n.push(this.accept(t[r]));return"HASH{"+n.join(", ")+"}"};G.prototype.HashPair=function(e){return e.key+"="+this.accept(e.value)}});var Iu=F((Q2,Nu)=>{var ls=Ou().default,Lu=Pu();ls.PrintVisitor=Lu.PrintVisitor;ls.print=Lu.print;Nu.exports=ls;function $u(e,t){var n=tn("fs"),r=n.readFileSync(t,"utf8");e.exports=ls.compile(r)}typeof tn<"u"&&tn.extensions&&(tn.extensions[".handlebars"]=$u,tn.extensions[".hbs"]=$u)});var gl=F((zk,hl)=>{"use strict";var dl=e=>["nodejs","node"].includes(e?.library?.ecosystem)&&e.library.kind==="library";function pl(e){if(!dl(e))return null;let t=e.node_library;if(!t||!["node-and-electron","electron-only"].includes(t.runtime_mode)||!t.reason?.trim()||!Array.isArray(t.evidence)||!t.evidence.length||t.evidence.some(n=>typeof n!="string"||!/^source\/.+:\d+$/.test(n)))throw Error("Node.js \u5E93\u7F3A\u5C11\u6709\u6548 node_library \u8FD0\u884C\u6A21\u5F0F\u5224\u5B9A\u53CA source/file:line \u4F9D\u636E\uFF1B\u56DE\u5230 01 \u8865\u626B\uFF0C\u4E0D\u80FD\u7531 host_runtime \u63A8\u65AD");if(t.runtime_mode==="electron-only"&&e.harmony_adaptation?.host_runtime!=="electron-oh")throw Error("electron-only \u5FC5\u987B\u540C\u65F6\u58F0\u660E harmony_adaptation.host_runtime=electron-oh\uFF0C\u907F\u514D\u6CBF\u7528 Node \u88C5\u8F7D\u5951\u7EA6");return t.runtime_mode}function yo(e){let t=pl(e);return t?[3,6].flatMap(n=>{let r=n===3?"harmony-demo":"test-demo";return[...t==="electron-only"?[]:[{stage:n,project_dir:r,host_runtime:"device-node"}],{stage:n,project_dir:r+"-electron",host_runtime:"electron-oh"}]}):[]}function fl(e,t,n,r){let s=yo(e).filter(c=>c.stage===Number(n));if(!s.some(c=>c.host_runtime===r))throw Error("\u8BE5\u5BBF\u4E3B\u4E0D\u662F\u672C Node.js \u5E93\u9636\u6BB5\u7684\u5FC5\u9700 demo");if(!Array.isArray(t.cases)||!t.cases.length)throw Error("\u4E0A\u6E38\u7528\u4F8B\u4E3A\u7A7A");let i=s.map(c=>c.host_runtime),o=[],a=[],u=new Set;for(let c of t.cases){if(Number(n)===3&&c.platform_exclusive===!0)continue;let d=Number(n)===3?c.name:c.id;if(typeof d!="string"||!d.trim()||u.has(d))throw Error("\u4E0A\u6E38\u7528\u4F8B ID/\u540D\u79F0\u7F3A\u5931\u6216\u91CD\u590D");u.add(d);let l=c.node_library,p=l?.hosts??i;if(!Array.isArray(p)||!p.length||new Set(p).size!==p.length||p.some(g=>!i.includes(g)))throw Error("\u7528\u4F8B "+d+" \u7684 node_library.hosts \u65E0\u6548");if(p.length<i.length&&(!l.reason?.trim()||!Array.isArray(l.evidence)||!l.evidence.length||l.evidence.some(g=>typeof g!="string"||!/^source\/.+:\d+$/.test(g))))throw Error("\u7528\u4F8B "+d+" \u7F29\u5C0F\u5BBF\u4E3B\u8303\u56F4\u5FC5\u987B\u63D0\u4F9B reason \u548C\u6E90\u7801\u4F9D\u636E");let f={...c,id:d,name:c.name||c.title||d,title:c.title||c.name||d};p.includes(r)?o.push(f):a.push({id:d,reason:l.reason,evidence:l.evidence})}if(!o.length)throw Error(r+" \u6CA1\u6709\u9002\u7528\u7528\u4F8B\uFF1B\u68C0\u67E5\u8FD0\u884C\u6A21\u5F0F\u548C\u7528\u4F8B\u8303\u56F4\uFF0C\u4E0D\u80FD\u4EA4\u4ED8\u7A7A\u6D4B\u8BD5\u5DE5\u7A0B");return{cases:o,excluded:a}}function Ry(e,t,n,r,{source:s,probe:i=!1}={}){if(n=Number(n),!yo(e).some(a=>a.stage===n&&a.host_runtime===r))throw Error("\u8BE5\u5BBF\u4E3B\u4E0D\u662F\u672C Node.js \u5E93\u9636\u6BB5\u7684\u5FC5\u9700 demo");if(!i&&t.modules!==void 0&&!Array.isArray(t.modules))throw Error("\u4E0A\u6E38 modules \u5FC5\u987B\u4E3A\u6570\u7EC4");let o=i?{cases:[{id:"standard",name:"\u6807\u51C6\u5DE5\u7A0B",title:"\u6807\u51C6\u5DE5\u7A0B",steps:[]}],excluded:[]}:fl(e,t,n,r);return{version:1,stage:n,host_runtime:r,...s?{source:s}:{},modules:i?[]:t.modules??[],...o}}hl.exports={isNodeLibrary:dl,runtimeMode:pl,examples:yo,selectCases:fl,caseDocument:Ry}});var hd=F((r1,Hs)=>{Hs.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;Hs.exports.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;Hs.exports.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/});var Ko=F((s1,gd)=>{var Ho=hd();gd.exports={isSpaceSeparator(e){return typeof e=="string"&&Ho.Space_Separator.test(e)},isIdStartChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||Ho.ID_Start.test(e))},isIdContinueChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="$"||e==="_"||e==="\u200C"||e==="\u200D"||Ho.ID_Continue.test(e))},isDigit(e){return typeof e=="string"&&/[0-9]/.test(e)},isHexDigit(e){return typeof e=="string"&&/[0-9A-Fa-f]/.test(e)}}});var vd=F((i1,bd)=>{var ae=Ko(),qo,me,ct,Us,Dt,Te,ce,Go,sr;bd.exports=function(t,n){qo=String(t),me="start",ct=[],Us=0,Dt=1,Te=0,ce=void 0,Go=void 0,sr=void 0;do ce=U0(),z0[me]();while(ce.type!=="eof");return typeof n=="function"?Vo({"":sr},"",n):sr};function Vo(e,t,n){let r=e[t];if(r!=null&&typeof r=="object")if(Array.isArray(r))for(let s=0;s<r.length;s++){let i=String(s),o=Vo(r,i,n);o===void 0?delete r[i]:Object.defineProperty(r,i,{value:o,writable:!0,enumerable:!0,configurable:!0})}else for(let s in r){let i=Vo(r,s,n);i===void 0?delete r[s]:Object.defineProperty(r,s,{value:i,writable:!0,enumerable:!0,configurable:!0})}return n.call(e,t,r)}var N,$,rr,at,I;function U0(){for(N="default",$="",rr=!1,at=1;;){I=ut();let e=yd[N]();if(e)return e}}function ut(){if(qo[Us])return String.fromCodePoint(qo.codePointAt(Us))}function v(){let e=ut();return e===`
25
+ `?(Dt++,Te=0):e?Te+=e.length:Te++,e&&(Us+=e.length),e}var yd={default(){switch(I){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
26
+ `:case"\r":case"\u2028":case"\u2029":v();return;case"/":v(),N="comment";return;case void 0:return v(),q("eof")}if(ae.isSpaceSeparator(I)){v();return}return yd[me]()},comment(){switch(I){case"*":v(),N="multiLineComment";return;case"/":v(),N="singleLineComment";return}throw V(v())},multiLineComment(){switch(I){case"*":v(),N="multiLineCommentAsterisk";return;case void 0:throw V(v())}v()},multiLineCommentAsterisk(){switch(I){case"*":v();return;case"/":v(),N="default";return;case void 0:throw V(v())}v(),N="multiLineComment"},singleLineComment(){switch(I){case`
27
+ `:case"\r":case"\u2028":case"\u2029":v(),N="default";return;case void 0:return v(),q("eof")}v()},value(){switch(I){case"{":case"[":return q("punctuator",v());case"n":return v(),zt("ull"),q("null",null);case"t":return v(),zt("rue"),q("boolean",!0);case"f":return v(),zt("alse"),q("boolean",!1);case"-":case"+":v()==="-"&&(at=-1),N="sign";return;case".":$=v(),N="decimalPointLeading";return;case"0":$=v(),N="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":$=v(),N="decimalInteger";return;case"I":return v(),zt("nfinity"),q("numeric",1/0);case"N":return v(),zt("aN"),q("numeric",NaN);case'"':case"'":rr=v()==='"',$="",N="string";return}throw V(v())},identifierNameStartEscape(){if(I!=="u")throw V(v());v();let e=zo();switch(e){case"$":case"_":break;default:if(!ae.isIdStartChar(e))throw md();break}$+=e,N="identifierName"},identifierName(){switch(I){case"$":case"_":case"\u200C":case"\u200D":$+=v();return;case"\\":v(),N="identifierNameEscape";return}if(ae.isIdContinueChar(I)){$+=v();return}return q("identifier",$)},identifierNameEscape(){if(I!=="u")throw V(v());v();let e=zo();switch(e){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!ae.isIdContinueChar(e))throw md();break}$+=e,N="identifierName"},sign(){switch(I){case".":$=v(),N="decimalPointLeading";return;case"0":$=v(),N="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":$=v(),N="decimalInteger";return;case"I":return v(),zt("nfinity"),q("numeric",at*(1/0));case"N":return v(),zt("aN"),q("numeric",NaN)}throw V(v())},zero(){switch(I){case".":$+=v(),N="decimalPoint";return;case"e":case"E":$+=v(),N="decimalExponent";return;case"x":case"X":$+=v(),N="hexadecimal";return}return q("numeric",at*0)},decimalInteger(){switch(I){case".":$+=v(),N="decimalPoint";return;case"e":case"E":$+=v(),N="decimalExponent";return}if(ae.isDigit(I)){$+=v();return}return q("numeric",at*Number($))},decimalPointLeading(){if(ae.isDigit(I)){$+=v(),N="decimalFraction";return}throw V(v())},decimalPoint(){switch(I){case"e":case"E":$+=v(),N="decimalExponent";return}if(ae.isDigit(I)){$+=v(),N="decimalFraction";return}return q("numeric",at*Number($))},decimalFraction(){switch(I){case"e":case"E":$+=v(),N="decimalExponent";return}if(ae.isDigit(I)){$+=v();return}return q("numeric",at*Number($))},decimalExponent(){switch(I){case"+":case"-":$+=v(),N="decimalExponentSign";return}if(ae.isDigit(I)){$+=v(),N="decimalExponentInteger";return}throw V(v())},decimalExponentSign(){if(ae.isDigit(I)){$+=v(),N="decimalExponentInteger";return}throw V(v())},decimalExponentInteger(){if(ae.isDigit(I)){$+=v();return}return q("numeric",at*Number($))},hexadecimal(){if(ae.isHexDigit(I)){$+=v(),N="hexadecimalInteger";return}throw V(v())},hexadecimalInteger(){if(ae.isHexDigit(I)){$+=v();return}return q("numeric",at*Number($))},string(){switch(I){case"\\":v(),$+=q0();return;case'"':if(rr)return v(),q("string",$);$+=v();return;case"'":if(!rr)return v(),q("string",$);$+=v();return;case`
28
+ `:case"\r":throw V(v());case"\u2028":case"\u2029":G0(I);break;case void 0:throw V(v())}$+=v()},start(){switch(I){case"{":case"[":return q("punctuator",v())}N="value"},beforePropertyName(){switch(I){case"$":case"_":$=v(),N="identifierName";return;case"\\":v(),N="identifierNameStartEscape";return;case"}":return q("punctuator",v());case'"':case"'":rr=v()==='"',N="string";return}if(ae.isIdStartChar(I)){$+=v(),N="identifierName";return}throw V(v())},afterPropertyName(){if(I===":")return q("punctuator",v());throw V(v())},beforePropertyValue(){N="value"},afterPropertyValue(){switch(I){case",":case"}":return q("punctuator",v())}throw V(v())},beforeArrayValue(){if(I==="]")return q("punctuator",v());N="value"},afterArrayValue(){switch(I){case",":case"]":return q("punctuator",v())}throw V(v())},end(){throw V(v())}};function q(e,t){return{type:e,value:t,line:Dt,column:Te}}function zt(e){for(let t of e){if(ut()!==t)throw V(v());v()}}function q0(){switch(ut()){case"b":return v(),"\b";case"f":return v(),"\f";case"n":return v(),`
29
+ `;case"r":return v(),"\r";case"t":return v()," ";case"v":return v(),"\v";case"0":if(v(),ae.isDigit(ut()))throw V(v());return"\0";case"x":return v(),V0();case"u":return v(),zo();case`
30
+ `:case"\u2028":case"\u2029":return v(),"";case"\r":return v(),ut()===`
31
+ `&&v(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw V(v());case void 0:throw V(v())}return v()}function V0(){let e="",t=ut();if(!ae.isHexDigit(t)||(e+=v(),t=ut(),!ae.isHexDigit(t)))throw V(v());return e+=v(),String.fromCodePoint(parseInt(e,16))}function zo(){let e="",t=4;for(;t-- >0;){let n=ut();if(!ae.isHexDigit(n))throw V(v());e+=v()}return String.fromCodePoint(parseInt(e,16))}var z0={start(){if(ce.type==="eof")throw Gt();Uo()},beforePropertyName(){switch(ce.type){case"identifier":case"string":Go=ce.value,me="afterPropertyName";return;case"punctuator":Ks();return;case"eof":throw Gt()}},afterPropertyName(){if(ce.type==="eof")throw Gt();me="beforePropertyValue"},beforePropertyValue(){if(ce.type==="eof")throw Gt();Uo()},beforeArrayValue(){if(ce.type==="eof")throw Gt();if(ce.type==="punctuator"&&ce.value==="]"){Ks();return}Uo()},afterPropertyValue(){if(ce.type==="eof")throw Gt();switch(ce.value){case",":me="beforePropertyName";return;case"}":Ks()}},afterArrayValue(){if(ce.type==="eof")throw Gt();switch(ce.value){case",":me="beforeArrayValue";return;case"]":Ks()}},end(){}};function Uo(){let e;switch(ce.type){case"punctuator":switch(ce.value){case"{":e={};break;case"[":e=[];break}break;case"null":case"boolean":case"numeric":case"string":e=ce.value;break}if(sr===void 0)sr=e;else{let t=ct[ct.length-1];Array.isArray(t)?t.push(e):Object.defineProperty(t,Go,{value:e,writable:!0,enumerable:!0,configurable:!0})}if(e!==null&&typeof e=="object")ct.push(e),Array.isArray(e)?me="beforeArrayValue":me="beforePropertyName";else{let t=ct[ct.length-1];t==null?me="end":Array.isArray(t)?me="afterArrayValue":me="afterPropertyValue"}}function Ks(){ct.pop();let e=ct[ct.length-1];e==null?me="end":Array.isArray(e)?me="afterArrayValue":me="afterPropertyValue"}function V(e){return qs(e===void 0?`JSON5: invalid end of input at ${Dt}:${Te}`:`JSON5: invalid character '${_d(e)}' at ${Dt}:${Te}`)}function Gt(){return qs(`JSON5: invalid end of input at ${Dt}:${Te}`)}function md(){return Te-=5,qs(`JSON5: invalid identifier character at ${Dt}:${Te}`)}function G0(e){console.warn(`JSON5: '${_d(e)}' in strings is not valid ECMAScript; consider escaping`)}function _d(e){let t={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(t[e])return t[e];if(e<" "){let n=e.charCodeAt(0).toString(16);return"\\x"+("00"+n).substring(n.length)}return e}function qs(e){let t=new SyntaxError(e);return t.lineNumber=Dt,t.columnNumber=Te,t}});var kd=F((o1,Sd)=>{var Wo=Ko();Sd.exports=function(t,n,r){let s=[],i="",o,a,u="",c;if(n!=null&&typeof n=="object"&&!Array.isArray(n)&&(r=n.space,c=n.quote,n=n.replacer),typeof n=="function")a=n;else if(Array.isArray(n)){o=[];for(let h of n){let m;typeof h=="string"?m=h:(typeof h=="number"||h instanceof String||h instanceof Number)&&(m=String(h)),m!==void 0&&o.indexOf(m)<0&&o.push(m)}}return r instanceof Number?r=Number(r):r instanceof String&&(r=String(r)),typeof r=="number"?r>0&&(r=Math.min(10,Math.floor(r)),u=" ".substr(0,r)):typeof r=="string"&&(u=r.substr(0,10)),d("",{"":t});function d(h,m){let _=m[h];switch(_!=null&&(typeof _.toJSON5=="function"?_=_.toJSON5(h):typeof _.toJSON=="function"&&(_=_.toJSON(h))),a&&(_=a.call(m,h,_)),_ instanceof Number?_=Number(_):_ instanceof String?_=String(_):_ instanceof Boolean&&(_=_.valueOf()),_){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof _=="string")return l(_,!1);if(typeof _=="number")return String(_);if(typeof _=="object")return Array.isArray(_)?g(_):p(_)}function l(h){let m={"'":.1,'"':.2},_={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},y="";for(let b=0;b<h.length;b++){let E=h[b];switch(E){case"'":case'"':m[E]++,y+=E;continue;case"\0":if(Wo.isDigit(h[b+1])){y+="\\x00";continue}}if(_[E]){y+=_[E];continue}if(E<" "){let k=E.charCodeAt(0).toString(16);y+="\\x"+("00"+k).substring(k.length);continue}y+=E}let S=c||Object.keys(m).reduce((b,E)=>m[b]<m[E]?b:E);return y=y.replace(new RegExp(S,"g"),_[S]),S+y+S}function p(h){if(s.indexOf(h)>=0)throw TypeError("Converting circular structure to JSON5");s.push(h);let m=i;i=i+u;let _=o||Object.keys(h),y=[];for(let b of _){let E=d(b,h);if(E!==void 0){let k=f(b)+":";u!==""&&(k+=" "),k+=E,y.push(k)}}let S;if(y.length===0)S="{}";else{let b;if(u==="")b=y.join(","),S="{"+b+"}";else{let E=`,
32
+ `+i;b=y.join(E),S=`{
33
+ `+i+b+`,
34
+ `+m+"}"}}return s.pop(),i=m,S}function f(h){if(h.length===0)return l(h,!0);let m=String.fromCodePoint(h.codePointAt(0));if(!Wo.isIdStartChar(m))return l(h,!0);for(let _=m.length;_<h.length;_++)if(!Wo.isIdContinueChar(String.fromCodePoint(h.codePointAt(_))))return l(h,!0);return h}function g(h){if(s.indexOf(h)>=0)throw TypeError("Converting circular structure to JSON5");s.push(h);let m=i;i=i+u;let _=[];for(let S=0;S<h.length;S++){let b=d(String(S),h);_.push(b!==void 0?b:"null")}let y;if(_.length===0)y="[]";else if(u==="")y="["+_.join(",")+"]";else{let S=`,
35
+ `+i,b=_.join(S);y=`[
36
+ `+i+b+`,
37
+ `+m+"]"}return s.pop(),i=m,y}}});var Jo=F((a1,Dd)=>{var W0=vd(),J0=kd(),Y0={parse:W0,stringify:J0};Dd.exports=Y0});import{parseArgs as VS}from"node:util";import zS from"node:fs";import GS from"node:path";import WS from"node:os";import MS from"node:fs";import Hn from"node:path";import $n from"node:fs";import be from"node:path";import{createHash as zv}from"node:crypto";import $f from"node:fs";import Lf from"node:path";import Cf from"node:fs";import de from"node:path";import Rf from"node:os";import{fileURLToPath as jf}from"node:url";import wf from"node:fs";function C(e){let t=wf.readFileSync(e,"utf8");return JSON.parse(t.charCodeAt(0)===65279?t.slice(1):t)}var Ff=Cf.realpathSync(jf(import.meta.url)),xf=de.dirname(Ff),We=de.resolve(xf,".."),Dr=(()=>{try{return String(C(de.join(We,"package.json")).version??"unknown")}catch{return"unknown"}})(),d2=de.join(We,"dist","plugin.js"),p2=de.join(We,"agents"),ie=de.join(We,"skills"),La=de.join(ie,"pc-schemas"),Na=de.join(La,"references","schemas"),Ia=de.join(La,"references","templates"),f2=de.join(We,"opencode","agents.json"),h2=de.join(We,".claude-plugin","marketplace.json");function Of(e){return de.join(ie,"pc-knowledge-base",e)}function Pf(e){return de.join(We,"templates","hap",e)}var Ta=Of("electron"),g2=Pf("electron-app"),Ba=Rf.homedir(),Ot=de.join(Ba,".local","share","ohos-agent-pc-adapter"),m2=de.join(Ot,"manifest.json"),Er=de.join(Ba,".ohos-agent-pc-adapter"),Oe=de.join(Er,"config.json");var nn={remotebuild:"07-remotebuild.schema.json",scan:"01-scan.schema.json",baseline:"02-baseline.schema.json",adapt:"03-adapt.schema.json",summary:"04-summary.schema.json",testcases:"05-testcases.schema.json",testdemo:"06-testdemo.schema.json",manifest:"manifest.schema.json",verdict:"verify-verdict.schema.json","human-review":"human-review.schema.json","test-change-proposal":"test-change-proposal.schema.json"},Je={"07-remotebuild.json":"remotebuild","01-scan.json":"scan","02-baseline.json":"baseline","03-adapt.json":"adapt","04-summary.json":"summary","05-testcases.json":"testcases","06-testdemo.json":"testdemo","manifest.json":"manifest","verify-verdict.json":"verdict"},Ar={remotebuild:null,scan:null,baseline:null,adapt:null,summary:null,testcases:null,testdemo:null,manifest:null,verdict:null,"human-review":null,"test-change-proposal":null};function Ma(e){if(Ar[e])return Ar[e];let t=nn[e],n=Lf.join(Na,t);if($f.existsSync(n))try{return Ar[e]=C(n),Ar[e]}catch{return}}import Nf from"node:fs";import pi from"node:path";import{createRequire as If}from"node:module";var Ha=If(import.meta.url);function Ka(e){return Object.prototype.hasOwnProperty.call(nn,e)}function Ua(e){return{valid:!1,message:`\u672A\u77E5\u7684 schema_key: "${e}"\u3002\u53EF\u7528\u503C: ${Object.keys(nn).join(", ")}`,errors:[]}}function Tf(e,t){let n=Ha("ajv"),r=Ha("ajv-formats"),s=n.default||n,i=r.default||r,o=new s({allErrors:!0,strict:!1});i(o);let a=o.compile(e);return{valid:a(t),errors:a.errors||[]}}function wr(e){let{filePath:t,schemaKey:n,workspaceRoot:r}=e;if(!Ka(n))return Ua(n);let s=pi.isAbsolute(t)?t:pi.resolve(r||process.cwd(),t);if(!Nf.existsSync(s))return{valid:!1,message:`\u6587\u4EF6\u4E0D\u5B58\u5728: ${s}`,errors:[]};let i;try{i=C(s)}catch(o){return{valid:!1,message:`JSON \u89E3\u6790\u5931\u8D25: ${o.message}`,errors:[]}}return Un(i,n,pi.basename(s))}function Un(e,t,n){if(!Ka(t))return Ua(t);let r=Ma(t);if(!r)return{valid:!1,message:`Schema \u6587\u4EF6\u672A\u627E\u5230: ${nn[t]}`,errors:[]};let{valid:s,errors:i}=Tf(r,e),o=nn[t];if(s)return{valid:!0,message:`\u6821\u9A8C\u901A\u8FC7: ${n||""} \u5B8C\u5168\u7B26\u5408 ${o} \u5B9A\u4E49`,errors:[]};let a=i.map(u=>({path:u.instancePath||"/",message:u.message||"",keyword:u.keyword,schemaPath:u.schemaPath}));return{valid:!1,message:`\u6821\u9A8C\u672A\u901A\u8FC7: ${a.length} \u4E2A\u95EE\u9898`,errors:a}}var Ke=kr(Iu(),1);import co from"node:fs";import Qe from"node:path";import Tu from"node:fs";import Im from"node:path";var Tm={remotebuild:"07-remotebuild-report.md.hbs",scan:"01-scan-report.md.hbs",baseline:"02-baseline-report.md.hbs",adapt:"03-adapt-report.md.hbs",summary:"04-summary-report.md.hbs",testcases:"05-testcases-report.md.hbs",testdemo:"06-testdemo-report.md.hbs",verdict:"verify-verdict-report.md.hbs"},ds={remotebuild:null,scan:null,baseline:null,adapt:null,summary:null,testcases:null,testdemo:null,verdict:null};function Bu(e){if(ds[e])return ds[e];let t=Tm[e],n=Im.join(Ia,t);if(Tu.existsSync(n))try{return ds[e]=Tu.readFileSync(n,"utf8"),ds[e]}catch{return}}var Mu=!1,Bm={delivery_form:{"pure-runtime":"\u7EAF\u8FD0\u884C\u65F6\u5E93","native-extension":"\u539F\u751F\u6269\u5C55\u5E93","cpp-lib":"C/C++\u5E93",cli:"\u547D\u4EE4\u884C\u5DE5\u5177",app:"\u5E94\u7528","app-unsupported":"\u5E94\u7528\uFF08\u6846\u67B6\u4E0D\u652F\u6301\uFF09"},harmony_status:{available:"\u53EF\u7528",partial:"\u90E8\u5206\u53EF\u7528",unavailable:"\u4E0D\u53EF\u7528",unknown:"\u672A\u77E5"},feasibility:{feasible:"\u53EF\u884C",feasible_with_effort:"\u53EF\u884C\uFF08\u9700\u9002\u914D\uFF09",hard:"\u56F0\u96BE",infeasible:"\u4E0D\u53EF\u884C"},porting_class:{no_adaptation:"\u65E0\u9700\u9002\u914D",recompile_only:"\u4EC5\u91CD\u7F16\u8BD1",needs_adaptation_full:"\u9700\u5168\u91CF\u9002\u914D",needs_adaptation_partial:"\u9700\u90E8\u5206\u9002\u914D",infeasible:"\u4E0D\u53EF\u884C"},severity:{blocker:"\u963B\u585E",warning:"\u8B66\u544A"},adaptability:{adaptable:"\u53EF\u9002\u914D",partial:"\u90E8\u5206\u53EF\u9002\u914D",unadaptable:"\u4E0D\u53EF\u9002\u914D"},status:{"built-and-verified":"\u5DF2\u6784\u5EFA\u5E76\u9A8C\u8BC1","built-pending-verification":"\u5DF2\u6784\u5EFA\u5F85\u9A8C\u8BC1",partial:"\u90E8\u5206\u5B8C\u6210",failed:"\u5931\u8D25",skipped:"\u5DF2\u8DF3\u8FC7"},baseline_status:{planned:"\u540D\u518C\u5DF2\u56FA\u5B9A\uFF08\u53CC\u951A\u8986\u76D6\u65E0\u7F3A\u53E3\uFF09",partial:"\u540D\u518C\u6210\u7ACB\uFF0C\u8986\u76D6\u6709\u7F3A\u53E3",blocked:"\u540D\u518C\u5EFA\u4E0D\u8D77\u6765"},host_result:{pass:"\u5BBF\u4E3B\u901A\u8FC7",fail:"\u5BBF\u4E3B\u672A\u901A\u8FC7",skip:"\u5BBF\u4E3B\u8DF3\u8FC7","not-run":"\u5BBF\u4E3B\u672A\u8DD1"},case_source:{upstream:"\u539F\u5E93\u81EA\u5E26",generated:"\u672C\u9636\u6BB5\u8865\u5199"},amendment_class:{"platform-literal":"\u5E73\u53F0\u5B57\u9762\u91CF\uFF08\u6309 musl \u91CD\u5199\uFF09","test-method":"\u6D4B\u8BD5\u65B9\u6CD5\uFF08\u7B49\u4EF7\u6784\u9020\uFF09","testcase-defect":"\u7528\u4F8B\u672C\u8EAB\u5199\u9519"},testcase_amendment_class:{"expectation-condition-mismatch":"\u9884\u671F\u53D6\u81EA\u4E0D\u7B49\u4EF7\u7684\u6761\u4EF6","api-contract-mismatch":"\u65AD\u8A00\u7684\u6A21\u5F0F/\u53C2\u6570\u5728\u4E0A\u6E38\u4E0D\u751F\u6548"},exemption_reason:{"platform-exclusive-api":"\u539F\u5E73\u53F0\u72EC\u6709 API","platform-exclusive-fixture":"\u539F\u5E73\u53F0\u4E13\u6709\u5939\u5177/\u8BBE\u5907","upstream-known-broken":"\u4E0A\u6E38\u5DF2\u77E5\u635F\u574F"},failure_attribution:{"product-defect":"\u4EA7\u7269\u7F3A\u9677","platform-divergence":"\u5E73\u53F0\u8BED\u4E49\u5206\u6B67","testenv-limited":"\u6D4B\u8BD5\u524D\u7F6E\u53D7\u9650","harness-bug":"\u6D4B\u8BD5\u58F3\u7F3A\u9677","testcase-defect":"\u7528\u4F8B\u672C\u8EAB\u5199\u9519",unknown:"\u672A\u6EAF\u6E90"},failure_resolution:{open:"\u672A\u89E3\u51B3","fixed-product":"\u5DF2\u4FEE\u4EA7\u7269","fixed-test":"\u5DF2\u4FEE\u6D4B\u8BD5","fixed-harness":"\u5DF2\u4FEE\u6D4B\u8BD5\u58F3"},device_status:{bundled:"\u968F\u4EA4\u4ED8\u7269\u81EA\u5E26",missing:"\u9700\u8981\u4F46\u672A\u80FD\u81EA\u5E26",not_required:"\u65E0\u9700\u8BBE\u5907\u8FD0\u884C\u65F6"},target_path_covered:{covered:"\u5DF2\u8986\u76D6",partial:"\u90E8\u5206\u8986\u76D6",uncovered:"\u672A\u8986\u76D6","n/a":"\u4E0D\u9002\u7528"},test_source:{reused:"\u590D\u7528\u5DF2\u6709",mixed:"\u6DF7\u5408",generated:"\u5168\u91CF\u751F\u6210",none:"\u65E0"},adaptation_status:{success:"\u6210\u529F",partial:"\u90E8\u5206\u6210\u529F",failed:"\u5931\u8D25",infeasible:"\u4E0D\u53EF\u884C",blocked:"\u672A\u9002\u914D\uFF08\u524D\u7F6E\u963B\u585E\uFF09"},build_status:{pass:"\u901A\u8FC7",fail:"\u5931\u8D25",partial:"\u90E8\u5206\u901A\u8FC7",skipped:"\u5DF2\u8DF3\u8FC7"},confidence:{high:"\u9AD8",medium:"\u4E2D",low:"\u4F4E"},design_status:{designed:"\u8BBE\u8BA1\u5B8C\u6210",partial:"\u90E8\u5206\u8986\u76D6",blocked:"\u524D\u7F6E\u672A\u6EE1\u8DB3"},review_verdict:{pass:"\u901A\u8FC7",conditional:"\u6709\u6761\u4EF6\u901A\u8FC7",fail:"\u4E0D\u901A\u8FC7"},testdemo_status:{passed:"\u5168\u90E8\u901A\u8FC7",partial:"\u90E8\u5206\u8986\u76D6/\u90E8\u5206\u901A\u8FC7",failed:"\u5931\u8D25",skipped:"\u5DF2\u8DF3\u8FC7"},case_result:{pass:"\u901A\u8FC7",fail:"\u672A\u901A\u8FC7",blocked:"\u53D7\u963B","not-run":"\u672A\u6267\u884C","pending-human":"\u5F85\u4EBA\u5DE5\u9A8C\u6536"},scenario:{normal:"\u6B63\u5E38",exception:"\u5F02\u5E38",boundary:"\u8FB9\u754C"},evidence_kind:{render:"\u771F\u673A\u4E0A\u5C4F\uFF08\u673A\u5668\u5224\u65E5\u5FD7\u7ED3\u8BBA\u884C\uFF1B\u753B\u9762\u5BF9\u4E0D\u5BF9\u7531\u4EBA\u5728 demo \u9875\u9762\u4E0A\u70B9\u300C\u7B26\u5408/\u4E0D\u7B26\u5408\u300D\uFF09","audio-output":"\u8BBE\u5907\u771F\u51FA\u58F0","device-log":"\u8BBE\u5907\u7AEF\u539F\u59CB\u8F93\u51FA"},category:{standard:"\u6807\u51C6\u5E93","platform-specific":"\u5E73\u53F0\u7279\u5B9A",system:"\u7CFB\u7EDF\u8C03\u7528",hardware:"\u786C\u4EF6",ffi:"FFI\u6865\u63A5"}};function Mm(){Mu||(Ke.default.registerHelper("or",function(...e){let t=e.slice(0,-1);for(let n of t)if(n!=null&&n!=="")return n;return"\u2014"}),Ke.default.registerHelper("boolCn",function(e){return e?"\u662F":"\u5426"}),Ke.default.registerHelper("hasItems",function(e){return Array.isArray(e)&&e.length>0}),Ke.default.registerHelper("withField",function(e,t){return!Array.isArray(e)||typeof t!="string"?[]:e.filter(n=>{let r=n?.[t];return r!=null&&r!==""})}),Ke.default.registerHelper("len",function(e){return Array.isArray(e)?e.length:0}),Ke.default.registerHelper("join",function(e,t){if(!Array.isArray(e))return"";let n=typeof t=="string"?t:", ";return e.join(n)}),Ke.default.registerHelper("eq",function(e,t,n){let r=n;return r&&typeof r.fn=="function"?e===t?r.fn(this):r.inverse?r.inverse(this):"":e===t}),Ke.default.registerHelper("cn",function(e,t){return typeof e!="string"||typeof t!="string"?e??"\u2014":Bm[t]?.[e]??e}),Mu=!0)}function Hm(e){return e.replace(/\.json$/,"-report.md")}var ps;function Km(){if(ps!==void 0)return ps;let e=null;try{let t=Qe.join(Ta,"data");e={verdicts:JSON.parse(co.readFileSync(Qe.join(t,"api-verdicts.json"),"utf8")).verdicts??{},plans:JSON.parse(co.readFileSync(Qe.join(t,"api-confirmed-plans.json"),"utf8")).plans??{}}}catch{e=null}return ps=e,ps}function Hu(e,t){if(e[t])return e[t];let n=t.charAt(0).toUpperCase()+t.slice(1);if(e[n])return e[n];let r=t.split(".");if(r.length===2){for(let s of Object.keys(e))if(s.startsWith(n+".")&&s.endsWith("."+r[1])&&s.split(".").length===3)return e[s]}}var Ku={A:"\u5B98\u65B9\u65B0\u589E\u66FF\u4EE3",B:"\u914D\u7F6E/\u67B6\u6784\u66FF\u4EE3",C:"ArkTS \u6865\u63A5",D:"\u65E0\u6CD5\u9002\u914D\uFF08\u627E\u627F\u63A5\u66FF\u4EE3\uFF09"},Um={\u4E0D\u652F\u6301:"\u5E73\u53F0\u5B88\u536B\u9694\u79BB\u6216\u627F\u63A5\u66FF\u4EE3\u2014\u2014\u65B9\u6848\u5728\u9636\u6BB5 3 \u843D\u5730",\u90E8\u5206\u652F\u6301:"\u53D7\u9650\u4F7F\u7528\u6216\u964D\u7EA7\u2014\u2014\u9636\u6BB5 3 \u843D\u5730",\u6709\u5DEE\u5F02:"\u6309 OHOS \u8BED\u4E49\u6539\u5199\u2014\u2014\u9636\u6BB5 3 \u843D\u5730",\u9700\u6743\u9650:"\u6743\u9650\u7533\u62A5\uFF08\u89C1\u6743\u9650\u7533\u8BF7\u5217\u8868\uFF09"};function qm(e,t,n){if(t==="01-scan.json"){let d=e.api_dependencies??{},l=Array.isArray(d.groups)?d.groups:[],p=["\u4E0D\u652F\u6301","\u90E8\u5206\u652F\u6301","\u6709\u5DEE\u5F02","\u9700\u6743\u9650"],f=new Map,g=[],h=new Map,m=Km(),_=(y,S,b)=>{let E=typeof b=="string"&&b.trim()!==""?b.trim():null;if(m&&y){let k=Hu(m.plans,y);if(k?.plan){let K=k.plan,le=Array.isArray(K.steps)?K.steps.map(String):[];return[String(K.cause??""),...le].filter(Boolean).join("<br>")}let j=Hu(m.verdicts,y),T=String(j?.strategy??"");if(Ku[T]){let K=typeof j?.seed=="string"&&j.seed?`\uFF08\u79CD\u5B50\uFF1A${j.seed}\uFF09`:"";return E??`\u65B9\u5411\uFF1A${Ku[T]}${K}\u2014\u2014\u9636\u6BB5 3 \u6309\u5C55\u5F00\u89C4\u5219\u843D\u5730`}}return E??Um[S]??"\u9636\u6BB5 3 \u843D\u5730"};for(let y of l){let S=String(y?.category??""),b=Array.isArray(y?.apis)?y.apis:[];for(let E of b){let k=String(E?.name??""),j=String(E?.verdict??"");if(j==="\u652F\u6301")k&&g.push(k);else if(p.includes(j)){let T=f.get(j)??[];T.push({...E,plan:_(k,j,E?.plan)}),f.set(j,T)}else{let T=h.get(S)??[];T.push({...E,plan:_(k,"",E?.plan)}),h.set(S,T)}}}return{...e,api_diff_groups:p.filter(y=>(f.get(y)??[]).length>0).map(y=>({verdict:y,apis:f.get(y)??[]})),api_supported_names:g,api_unjudged_groups:[...h.entries()].filter(([,y])=>y.length>0).map(([y,S])=>({category:y,apis:S}))}}if(t!=="06-testdemo.json")return e;let r=Array.isArray(e.case_results)?e.case_results:[],s=[];try{let d=C(Qe.join(n,"05-testcases.json"));s=Array.isArray(d.cases)?d.cases:[]}catch{s=[]}let i=new Map(s.map(d=>[String(d?.id??""),d])),o={...e},a=r.filter(d=>String(d?.result??"")==="pending-human");a.length>0&&(o.pending_human_cases=a.map(d=>{let l=String(d?.case_ref??""),p=i.get(l),f=Array.isArray(p?.steps)?p.steps:[],g=new Set((Array.isArray(d?.checks)?d.checks:[]).map(h=>Number(h?.cp)));return{case_ref:l,title:p?.title??"",checkpoints:f.map((h,m)=>({i:m,text:String(h?.checkpoint??"")})).filter(h=>h.text.trim()!==""&&!g.has(h.i)).map(h=>h.text)}}));let u=Qe.dirname(n),c=[];for(let d of r){let l=String(d?.case_ref??"");if(!l)continue;let p=[];try{let m=C(Qe.join(u,"test-demo","verify",`${l}.json`));p=Array.isArray(m.artifacts)?m.artifacts:[]}catch{p=[]}if(p.length===0)continue;let f=i.get(l),h=(Array.isArray(f?.steps)?f.steps:[]).map(m=>m?.output?.label).filter(m=>typeof m=="string"&&m!=="");c.push({case_ref:l,title:f?.title??"",labels:h,artifacts:p.map(m=>{let _=String(m?.path??"");return{kind:String(m?.kind??""),name:_.slice(_.lastIndexOf("/")+1),path:_,bytes:m?.bytes??0,sha:m?.sha??""}})})}return c.length>0&&(o.artifact_cases=c),o}function Uu(e){let{jsonFilePath:t,schemaKey:n}=e,r=Bu(n);if(!r)return{success:!1,error:`\u672A\u627E\u5230\u6A21\u677F\u6587\u4EF6: schema_key=${n}`};let s;try{s=C(t)}catch(c){return{success:!1,error:`\u8BFB\u53D6 JSON \u5931\u8D25: ${c.message}`}}let i=Qe.dirname(t),o=Qe.basename(t),a=Hm(o),u=Qe.join(i,a);try{Mm();let d=Ke.default.compile(r,{noEscape:!0})(qm(s,o,i));return d=d.replace(/\n{3,}/g,`
38
+
39
+ `),co.writeFileSync(u,d,"utf8"),{success:!0,reportFile:a,message:`\u62A5\u544A\u5DF2\u751F\u6210: ${a}`}}catch(c){return{success:!1,error:`\u6E32\u67D3\u5931\u8D25: ${c.message}`}}}import M from"node:fs";import Pv from"node:os";import O from"node:path";var R=".ohos-adaptation-pc";import mt from"node:fs";import Ue from"node:path";var Vm=[{rel:"pc-knowledge-base/platform",source:"builtin:platform",tier:1},{rel:"pc-knowledge-base/adaptation",source:"builtin:adaptation",tier:1},{rel:"pc-knowledge-base/knowledge",source:"builtin:\u901F\u67E5",tier:1},{rel:"pc-delivery-forms/references",source:"builtin:recipe",tier:3,recursive:!0},{rel:"pc-capability-domains/references",source:"builtin:capability",tier:4,recursive:!0},{rel:"pc-device-verify/references",source:"builtin:device-verify",tier:4},{rel:"pc-test-design/references",source:"builtin:test-design",tier:4},{rel:"pc-registry/references",source:"builtin:registry",tier:4},{rel:"harmonyos-pc-resources/references",source:"builtin:resources",tier:5,recursive:!0},{rel:"openharmony-device-porting/references-full",source:"builtin:device-porting(\u7CFB\u7EDF\u7EA7)",tier:6,recursive:!0}],zm=new Set(["platform","adaptation","knowledge"]);function Gm(){let e=[];try{let t=Ue.join(ie,"pc-knowledge-base");for(let n of mt.readdirSync(t,{withFileTypes:!0}))!n.isDirectory()||zm.has(n.name)||e.push({rel:`pc-knowledge-base/${n.name}`,source:`builtin:${n.name}`,tier:1,recursive:!0})}catch{}return e}var Wm=[...Vm,...Gm()],Jm="pc-error-atlas/knowledge/error-index.md",Ym="pc-error-atlas/knowledge/errors";function Vu(e){let t=new Set(["the","and","for","with","not","from","pc","ohos","harmonyos","openharmony","linux","aarch64","arm64","x86","md","so","org","com","www","http","https","main","src","snapshot"]),n=[];for(let r of e.match(/[A-Za-z][A-Za-z0-9._+-]+/g)??[]){let s=r.toLowerCase().replace(/[._+-]+$/,"");s.length<2||t.has(s)||n.includes(s)||n.push(s)}return n}function uo(e,t){let n;try{n=mt.readdirSync(e,{withFileTypes:!0})}catch{return[]}let r=[];for(let s of n){let i=Ue.join(e,s.name);s.isFile()&&s.name.endsWith(".md")&&s.name!=="SKILL.md"?r.push(i):t&&s.isDirectory()&&r.push(...uo(i,!0))}return r}function qu(e){let t="";try{let u=mt.openSync(e,"r");try{let c=Buffer.alloc(4096),d=mt.readSync(u,c,0,4096,0);t=c.toString("utf8",0,d)}finally{mt.closeSync(u)}}catch{}t=t.replace(/^/,"");let n=t.match(/^---\r?\n([\s\S]*?)\r?\n---/),r=u=>{if(!n)return"";let c=n[1].match(new RegExp(`^\\s*${u}:\\s*(.+)$`,"m"));return c?c[1].trim():""},s=t.match(/^#\s+(.+)$/m),i=r("name")||(s?s[1].trim():"")||Ue.basename(e,".md"),o=r("description")||(s&&r("name")?s[1].trim():""),a;if(!o){let u=t.replace(/^---\r?\n[\s\S]*?\r?\n---\n?/,""),c=u.split(`
40
+ `).find(d=>d.trim().length>0&&!/^(#|>|\||```|<!--|---|\[TOC\])/.test(d.trim()));c&&(o=c.trim().slice(0,200)),a=[...u.match(/^#{2,6}\s+.+$/gm)??[],...u.match(/[\w-]+(?:\/[\w.-]+)+/g)??[]].join(" ").slice(0,2e3)}return{title:i,description:o,...a?{keywords:a}:{}}}function Zm(){let e=Ue.join(ie,Jm),t="";try{t=mt.readFileSync(e,"utf8")}catch{return[]}let n=[];for(let s of t.split(`
41
+ `)){let i=s.match(/^\|\s*(?:\[([EL]\d+)\]\(((?:errors|local-errors))\/[EL]\d+\.md\)|([EL]\d+))\s*\|/);if(!i)continue;let o=i[1]??i[3],a=i[2]==="local-errors"?"pc-error-atlas/knowledge/local-errors":Ym;n.push({path:Ue.join(ie,a,`${o}.md`),title:o,description:s.replace(/\|/g," ").replace(/\s+/g," ").trim(),source:"builtin:error-atlas",tier:2})}let r=new Set(n.map(s=>s.title));return n.push(...Qm(r)),n}var Xm="pc-error-atlas/knowledge/local-errors";function Qm(e){let t=Ue.join(ie,Xm),n=[];try{n=mt.readdirSync(t)}catch{return[]}let r=[];for(let s of n){let i=/^(L\d+)\.md$/.exec(s);if(!i||e.has(i[1]))continue;let o="";try{o=mt.readFileSync(Ue.join(t,s),"utf8").slice(0,4096)}catch{continue}let a=o.match(new RegExp(`^#\\s+${i[1]}[:\uFF1A]\\s*(.+)$`,"m")),u=a?a[1].trim():i[1],c=o.match(/^trigger:\s*(.+)$/m),d=o.match(/^>\s*一句话定位:(.+)$/m),l=[c?.[1].trim(),d?.[1].trim(),u].filter(p=>!!p).join(" \u2014 ");r.push({path:Ue.join(t,s),title:i[1],description:l,source:"builtin:error-atlas",tier:2})}return r}function ey(e){let t=[];for(let n of Wm)for(let r of uo(Ue.join(ie,n.rel),!!n.recursive)){let s=qu(r);t.push({path:r,title:s.title,description:s.description,keywords:s.keywords,source:n.source,tier:n.tier})}t.push(...Zm());for(let n of e?.extraRoots??[])for(let r of uo(n.dir,!0)){let s=qu(r);t.push({path:r,title:s.title,description:s.description,keywords:s.keywords,source:n.source,tier:n.tier})}return t.push(...e?.extraEntries??[]),t}function ty(e){let t=Array.isArray(e)?e:e.split(/[\s,,、]+/),n=[];for(let r of t.map(s=>s.trim().toLowerCase()).filter(s=>s.length>=2))n.includes(r)||n.push(r);return n}function zu(e,t){let n=ty(e);if(n.length===0)return[];let r=[];for(let a of ey(t)){let u=`${a.title} ${a.description} ${a.keywords??""} ${Ue.basename(a.path)}`.toLowerCase(),c=n.filter(d=>u.includes(d)).length;c!==0&&r.push({path:a.path,title:a.title,description:a.description,source:a.source,score:c,tier:a.tier})}let s=(a,u)=>u.score-a.score||a.tier-u.tier||a.path.localeCompare(u.path),i=r,o=t?.limit??12;return i.sort(s).slice(0,o).map(({tier:a,...u})=>u)}import Ht from"node:fs";import Le from"node:path";function Gu(e){let t=[];for(let n of e.cases??[])for(let[r,s]of(n.steps??[]).entries()){let i=s.input?.constraints;if(!i)continue;let o=`${n.id} \u6B65\u9AA4${r+1} \u9ED8\u8BA4\u8F93\u5165`,a=s.input.default;if(typeof a!="string"){t.push(`${o}\u7F3A\u5C11\u5B57\u7B26\u4E32 default`);continue}let u;if(i.metric==="utf8_bytes")u=Buffer.byteLength(a,"utf8");else if(i.metric==="nesting_depth"){let c=i.opening,d=i.closing;if(typeof c!="string"||typeof d!="string"||!c||!d||c.startsWith(d)||d.startsWith(c)){t.push(`${o}\u5D4C\u5957\u7EA6\u675F\u987B\u58F0\u660E\u975E\u7A7A\u3001\u4E92\u4E0D\u5305\u542B\u524D\u7F00\u7684 opening/closing`);continue}let l=0,p=0,f=0,g=!0;for(;f<a.length;){let h=a.indexOf(c,f),m=a.indexOf(d,f);if(h<0&&m<0)break;h>=0&&(m<0||h<m)?(p=Math.max(p,++l),f=h+c.length):(--l<0&&(g=!1),f=m+d.length)}if(!g||l!==0){t.push(`${o}\u58F0\u660E\u7684\u5D4C\u5957\u6807\u8BB0\u672A\u5E73\u8861`);continue}u=p}else{t.push(`${o}\u4E0D\u652F\u6301\u7EA6\u675F metric=${String(i.metric)}`);continue}for(let c of["minimum","exclusive_minimum","maximum","exclusive_maximum"]){let d=i[c];if(d===void 0)continue;if(typeof d!="number"||!Number.isFinite(d)||d<0){t.push(`${o}\u7EA6\u675F ${c} \u5FC5\u987B\u4E3A\u975E\u8D1F\u6709\u9650\u6570\u503C`);continue}(c==="minimum"?u>=d:c==="exclusive_minimum"?u>d:c==="maximum"?u<=d:u<d)||t.push(`${o} ${i.metric}=${u} \u4E0D\u6EE1\u8DB3\u58F0\u660E\u7EA6\u675F ${c}=${d}`)}}return t}import lo from"node:fs";import Qn from"node:path";function ny(e){return e.flatMap(t=>{if(!t.input)return[];let{kind:n,default:r}=t.input;return[n==="pair"&&!r.includes("|")?`${r}|${r}`:r]}).join(`
42
+ `)}function Mt(e){return`'${e.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\t/g,"\\t").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}'`}function Wu(e,t,n){let r=[];return t.forEach((s,i)=>{let o=s.input;if(!o||typeof o.default!="string")return;let a=[];if(o.kind==="pair"){let u=o.default.indexOf("|");a.push([`in${i}a`,u<0?o.default:o.default.slice(0,u)],[`in${i}b`,u<0?o.default:o.default.slice(u+1)])}else a.push([`in${i}`,o.default]);for(let[u,c]of a)n.match(new RegExp(`@State\\s+${u}\\s*:\\s*string\\s*=\\s*('(?:\\\\.|[^'\\\\])*')\\s*;`))?.[1]!==Mt(c)&&r.push(`${e} \u9875\u9762\u9ED8\u8BA4\u8F93\u5165 ${u} \u4E0E\u8BBE\u8BA1 default \u4E0D\u4E00\u81F4\u6216\u7F3A\u5931\uFF1B\u540C\u6B65\u9875\u9762\u540E\u91CD\u65B0\u6784\u5EFA\uFF0C\u4E0D\u80FD\u4EC5\u66F4\u65B0\u7528\u4F8B\u8868\u54C8\u5E0C`)}),r}function Ju(e,t,n){return!/\bohptRunCase\s*\(/.test(t)||!e.some(r=>r.steps?.some(s=>s.input))?[]:!/\},\s*ohptDefaultInput\(id\)\s*\)/.test(t)||!/import\s*\{\s*ohptDefaultInput\s*\}\s*from\s*['"]\.\.\/common\/OhptDefaultInputs['"]/.test(t)?["\u6279\u91CF\u6267\u884C\u672A\u4F20\u5165\u4E0E\u9875\u9762\u76F8\u540C\u7684\u9ED8\u8BA4\u8F93\u5165\uFF1B\u540C\u6B65 OhptRunAllPage.ets \u7684 ohptDefaultInput \u8C03\u7528\u540E\u91CD\u65B0\u6784\u5EFA"]:e.filter(r=>!n.includes(`{ id: ${Mt(r.id)}, input: ${Mt(ny(r.steps??[]))} }`)).map(r=>`${r.id} \u6279\u91CF\u9ED8\u8BA4\u8F93\u5165\u4E0E\u8BBE\u8BA1 default \u4E0D\u4E00\u81F4\u6216\u7F3A\u5931\uFF1B\u91CD\u65B0\u751F\u6210 OhptDefaultInputs.ets`)}function fs(e,t){let n=[];for(let r of t)for(let[s,i]of(r.steps??[]).entries()){let o=i.input,a=o?.file;if(!a)continue;/^[A-Za-z0-9_-]+$/.test(r.id)||n.push("\u6587\u4EF6\u8F93\u5165\u7528\u4F8B id \u5FC5\u987B\u53EF\u7528\u4F5C\u5355\u6BB5\u8D44\u6E90\u76EE\u5F55\u540D");let u=`${r.id} \u6B65\u9AA4${s+1} \u6587\u4EF6\u8F93\u5165`;if(a.min_bytes!==void 0&&(!Number.isInteger(a.min_bytes)||a.min_bytes<0)&&n.push(`${u} min_bytes \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570`),(o.kind!=="text"||!o.default.trim()||/[\r\n]/.test(o.default))&&n.push(`${u} \u5FC5\u987B\u4F7F\u7528\u975E\u7A7A\u5355\u884C text \u9ED8\u8BA4\u8DEF\u5F84`),["present","absent"].includes(a.state)||n.push(`${u} \u7F3A\u5C11 present/absent \u72B6\u6001`),a.state==="absent"){a.source!==void 0&&n.push(`${u} \u9884\u671F\u7F3A\u5931\u65F6\u4E0D\u5F97\u90E8\u7F72 source`);continue}if(a.state==="present")try{if(!a.source||Qn.isAbsolute(a.source))throw new Error("source \u5FC5\u987B\u662F\u5DE5\u4F5C\u533A\u76F8\u5BF9\u8DEF\u5F84");let c=Qn.resolve(e,a.source),d=Qn.relative(lo.realpathSync(e),lo.realpathSync(c));if(d===".."||d.startsWith(`..${Qn.sep}`)||Qn.isAbsolute(d))throw new Error("source \u8D8A\u51FA\u5DE5\u4F5C\u533A");let l=lo.statSync(c);if(!l.isFile()||l.size<(a.min_bytes??1))throw new Error("source \u7F3A\u5931\u3001\u975E\u6587\u4EF6\u6216\u957F\u5EA6\u4E0D\u8DB3")}catch(c){n.push(`${u} \u8D44\u6E90\u4E0D\u53EF\u7528\uFF1A${c instanceof Error?c.message:String(c)}`)}}return n}function Yu(e){let t=[];for(let n of e){let r=0;for(let[s,i]of(n.steps??[]).entries()){if(!i.input)continue;let o=i.input;o.file&&t.push(` { id: ${Mt(n.id)}, segment: ${r}, step: ${s}, value: ${Mt(o.default)}, present: ${o.file.state==="present"}, minimum: ${o.file.min_bytes??1}, asset: ${Mt(`ohpt-inputs/${n.id}/${r}.bin`)} },`),r++}}return`// \u7531 scaffold \u751F\u6210\u7684\u6587\u4EF6\u8F93\u5165\u51C6\u5907\u5C42\uFF1B\u7A33\u5B9A\u76EE\u5F55\u4E0D\u968F native \u7528\u4F8B\u4E34\u65F6\u76EE\u5F55\u6E05\u7406\u3002
43
+ import { common } from '@kit.AbilityKit';
44
+ import { fileIo } from '@kit.CoreFileKit';
45
+ import { ohptRunCase as runPreparedCase, ohptRunnerAutoJudges } from './OhptCaseRunner';
46
+ export { ohptRunnerAutoJudges };
47
+
48
+ interface FileBinding {
49
+ id: string; segment: number; step: number; value: string;
50
+ present: boolean; minimum: number; asset: string;
51
+ }
52
+ const FILES: FileBinding[] = [
53
+ ${t.join(`
54
+ `)}
55
+ ];
56
+
57
+ export function ohptRunCase(id: string, ctx: common.UIAbilityContext,
58
+ onResult: (out: string) => void, input: string = ''): void {
59
+ const segments: string[] = input.split('\\n');
60
+ let stage: number = 0;
61
+ try {
62
+ for (const binding of FILES) {
63
+ if (binding.id !== id) { continue; }
64
+ stage = binding.step;
65
+ while (segments.length <= binding.segment) { segments.push(''); }
66
+ const value: string = segments[binding.segment].trim();
67
+ let resolved: string = '';
68
+ if (value === '' || value === binding.value) {
69
+ const dir: string = ctx.filesDir + '/ohpt-inputs/' + id;
70
+ if (!fileIo.accessSync(dir)) { fileIo.mkdirSync(dir, true); }
71
+ resolved = dir + '/' + binding.segment + '.bin';
72
+ if (binding.present) {
73
+ const bytes: Uint8Array = ctx.resourceManager.getRawFileContentSync(binding.asset);
74
+ if (bytes.byteLength < binding.minimum) { throw new Error('\u5939\u5177\u957F\u5EA6\u4E0D\u8DB3'); }
75
+ const content: ArrayBuffer = new ArrayBuffer(bytes.byteLength);
76
+ new Uint8Array(content).set(bytes);
77
+ const file = fileIo.openSync(resolved, fileIo.OpenMode.CREATE | fileIo.OpenMode.READ_WRITE | fileIo.OpenMode.TRUNC);
78
+ try {
79
+ if (fileIo.writeSync(file.fd, content) !== bytes.byteLength) { throw new Error('\u5939\u5177\u5199\u5165\u4E0D\u5B8C\u6574'); }
80
+ } finally { fileIo.closeSync(file); }
81
+ } else if (fileIo.accessSync(resolved)) { fileIo.unlinkSync(resolved); }
82
+ } else {
83
+ // \u81EA\u5B9A\u4E49\u76F8\u5BF9\u8DEF\u5F84\u4EE5 filesDir \u4E3A\u57FA\u51C6\uFF1B\u4E0D\u66FF\u6362\u4E0D\u5B58\u5728\u7684\u81EA\u5B9A\u4E49\u8F93\u5165\u3002
84
+ resolved = value.startsWith('/') ? value : ctx.filesDir + '/' + value;
85
+ }
86
+ const exists: boolean = fileIo.accessSync(resolved);
87
+ if (binding.present && (!exists || !fileIo.statSync(resolved).isFile() || fileIo.statSync(resolved).size < binding.minimum)) {
88
+ throw new Error('\u8F93\u5165\u6587\u4EF6\u7F3A\u5931\u3001\u4E0D\u53EF\u8BFB\u6216\u957F\u5EA6\u4E0D\u8DB3\uFF1A' + resolved);
89
+ }
90
+ if (binding.present) {
91
+ const readable = fileIo.openSync(resolved, fileIo.OpenMode.READ_ONLY);
92
+ fileIo.closeSync(readable);
93
+ }
94
+ if (!binding.present && exists) { throw new Error('\u9884\u671F\u4E0D\u5B58\u5728\u7684\u8F93\u5165\u6587\u4EF6\u5B9E\u9645\u5B58\u5728\uFF1A' + resolved); }
95
+ segments[binding.segment] = resolved;
96
+ }
97
+ } catch (e) {
98
+ const error: Error = e as Error;
99
+ onResult('\xD7 [' + (stage + 1) + '] \u8F93\u5165\u8D44\u6E90\u51C6\u5907\u5931\u8D25 \u2014\u2014 \u5B9E\u9645: ' + error.message);
100
+ return;
101
+ }
102
+ runPreparedCase(id, ctx, onResult, segments.join('\\n'));
103
+ }
104
+ `}import et from"node:fs";import te from"node:path";import{createHash as ry}from"node:crypto";function yt(e){try{return et.readFileSync(e,"utf8")}catch{return""}}function Xu(e,t){if(et.existsSync(te.join(e,t,"entry/src/main/ets/pages/OhptRunAllPage.ets")))return!0;try{return JSON.parse(yt(te.join(e,t,"cases.json"))).driver==="arkts"}catch{return!1}}function hs(e){try{return JSON.parse(yt(te.join(e,".ohos-adaptation-pc/05-testcases.json")))}catch{return null}}function sy(e,t){if(t&&!Xu(e,t))return[];let n=hs(e)?.cases;return Array.isArray(n)?n.filter(r=>r.steps?.some(s=>s.input)).map(r=>r.id):[]}function gs(e,t="test-demo"){let n=hs(e);if(!Array.isArray(n?.cases))return[];let r=te.join(e,t,"entry/src/main/ets");if(!et.existsSync(r)||!Xu(e,t))return[];let s=fs(e,n.cases),i=n.cases.some(a=>a.steps?.some(u=>u.input?.file));for(let a of n.cases){if(!a.steps?.some(c=>c.input))continue;let u=yt(te.join(r,"pages",`Case${a.id.replace(/-/g,"_").replace(/[^A-Za-z0-9_]/g,"")}Page.ets`));if(!u){s.push(`${a.id} \u8F93\u5165\u8BE6\u60C5\u9875\u7F3A\u5931`);continue}/\b(?:TextInput|TextArea)\s*\(/.test(u)&&s.push(...Wu(a.id,a.steps,u)),i&&!u.includes("from '../common/OhptInputRunner'")&&s.push(`${a.id} \u65E7\u8BE6\u60C5\u9875\u672A\u63A5\u5165\u6587\u4EF6\u8D44\u6E90\u51C6\u5907\u5C42\uFF1B\u589E\u91CF\u5408\u5E76\u9875\u9762\u5E76\u91CD\u65B0\u6784\u5EFA`)}let o=yt(te.join(r,"pages/OhptRunAllPage.ets"));if(s.push(...Ju(n.cases,o,yt(te.join(r,"common/OhptDefaultInputs.ets")))),i){yt(te.join(r,"common/OhptInputRunner.ets"))!==Yu(n.cases)&&s.push("\u6587\u4EF6\u8F93\u5165\u51C6\u5907\u5C42\u4E0E\u5F53\u524D\u8D44\u6E90\u5951\u7EA6\u4E0D\u540C\uFF1B\u91CD\u65B0 scaffold \u540E\u6784\u5EFA"),/\bohptRunCase\s*\(/.test(o)&&!o.includes("from '../common/OhptInputRunner'")&&s.push("\u65E7\u8DD1\u6279\u9875\u672A\u63A5\u5165\u6587\u4EF6\u8D44\u6E90\u51C6\u5907\u5C42");for(let a of n.cases){let u=0;for(let c of a.steps??[])if(c.input){if(c.input.file?.state==="present")try{let d=et.readFileSync(te.resolve(e,c.input.file.source)),l=et.readFileSync(te.join(e,t,"entry/src/main/resources/rawfile/ohpt-inputs",a.id,`${u}.bin`));d.equals(l)||s.push(`${a.id} \u5DF2\u6253\u5305\u8F93\u5165\u8D44\u6E90\u4E0E source \u4E0D\u4E00\u81F4`)}catch{s.push(`${a.id} \u7F3A\u5C11\u5DF2\u6253\u5305\u7684\u8F93\u5165\u8D44\u6E90\uFF0C\u4E0D\u80FD\u4EC5\u4FEE\u6B63\u9875\u9762\u8DEF\u5F84`)}u++}}}return s}function iy(e,t="test-demo"){let n=ry("sha256");n.update(JSON.stringify(hs(e)?.cases??[]));let r=te.join(e,t),s=(i,o=!1)=>{if(et.existsSync(i))for(let a of et.readdirSync(i,{withFileTypes:!0}).sort((u,c)=>u.name.localeCompare(c.name))){let u=te.join(i,a.name);a.isDirectory()?s(u,o):a.isFile()&&(!o||a.name.endsWith("unsigned.hap"))&&(n.update(te.relative(r,u).replace(/\\/g,"/")),n.update(et.readFileSync(u)))}};return s(te.join(r,"entry/src/main")),s(te.join(r,"entry/build/default/outputs"),!0),s(te.join(r,"dist/app"),!0),s(te.join(r,"scripts")),n.digest("hex")}function Zu(e,t,n){if(t.case_result!=="pass")return[];let r=(n.steps??[]).flatMap((s,i)=>s.checkpoint?[i]:[]);return!Array.isArray(t.checks)||r.some(s=>!t.checks.some(i=>i?.cp===s&&i.ok===!0))?[`${e} \u8BE6\u60C5\u9875\u9ED8\u8BA4\u8F93\u5165\u901A\u8FC7\u4F46\u5224\u5B9A\u70B9\u8BC1\u636E\u4E0D\u5B8C\u6574`]:[]}function ms(e,t="test-demo",n=`${t}/verify`){if(!et.existsSync(te.join(e,t,"entry/src/main/ets")))return[];let r=sy(e,t);if(!r.length)return[];let s=[],i=iy(e,t),o=hs(e)?.cases??[],a=!1;try{a=JSON.parse(yt(te.join(e,t,"cases.json"))).run_all?.supported===!0}catch{}for(let u of r)try{let c=JSON.parse(yt(te.join(e,n,`${u}.json`)));if(c.input_contract_sha256!==i&&s.push(`${u} \u9ED8\u8BA4\u8F93\u5165\u8BC1\u636E\u4E0D\u5C5E\u4E8E\u5F53\u524D\u8BBE\u8BA1/\u751F\u6210\u4EE3\u7801/\u8D44\u6E90/\u6784\u5EFA\u4EA7\u7269\uFF0C\u987B\u91CD\u65B0\u53D6\u8BC1`),c.capture_mode==="per-case"){if(a){let l=c.batch_input_evidence;!l||!["run-all","run-from"].includes(l.capture_mode)||l.log_channel!=="open"||!l.case_result?s.push(`${u} \u5355\u6761\u8BC1\u636E\u7F3A\u5C11\u540C\u4E00\u8F93\u5165\u5951\u7EA6\u7684\u8DD1\u6279\u5BF9\u7167`):l.case_result!==c.case_result&&s.push(`${u} \u5355\u6761\u4E0E\u8DD1\u6279\u9ED8\u8BA4\u8F93\u5165\u7ED3\u679C\u4E0D\u4E00\u81F4`)}let d=o.find(l=>l.id===u);s.push(...Zu(u,c,d))}else{let d=c.default_input_evidence;!d||d.capture_mode!=="per-case"||d.log_channel!=="open"||!d.case_result?s.push(`${u} \u7F3A\u5C11\u8BE6\u60C5\u9875\u9ED8\u8BA4\u8F93\u5165\u7684\u72EC\u7ACB\u6267\u884C\u8BC1\u636E`):d.case_result!==c.case_result?s.push(`${u} \u5355\u6761\u4E0E\u8DD1\u6279\u9ED8\u8BA4\u8F93\u5165\u7ED3\u679C\u4E0D\u4E00\u81F4`):s.push(...Zu(u,d,o.find(l=>l.id===u)))}}catch{s.push(`${u} \u7F3A\u5C11\u9ED8\u8BA4\u8F93\u5165\u6267\u884C\u8BC1\u636E`)}return s}var mn=3;function yn(e){return e?.meta?.test_policy_version===mn}function Qu(e,t){if(typeof t!="string")return!1;let n=t.match(/^(.+?):([1-9]\d*)(?:\b|$)/);if(!n)return!1;let r=Le.resolve(e,n[1]),s=Le.relative(Le.resolve(e),r);if(s.startsWith("..")||Le.isAbsolute(s))return!1;try{return Number(n[2])<=Ht.readFileSync(r,"utf8").split(/\r?\n/).length}catch{return!1}}function ys(e,t){let n=[...Gu(t),...fs(e,t.cases??[])];if(!yn(t))return n;let r=Array.isArray(t.cases)?t.cases:[],s=Array.isArray(t.exclusions)?t.exclusions:[],i=new Set;for(let o of s){let a=String(o.prd_ref??"");i.has(a)&&n.push(`\u4E0A\u6E38\u7F3A\u9677\u6392\u9664\u91CD\u590D\uFF1A${a}`),i.add(a),r.some(u=>u.prd_ref===a)&&n.push(`${a} \u540C\u65F6\u5728\u6267\u884C\u7528\u4F8B\u548C\u6392\u9664\u6E05\u5355\u4E2D`),(o.kind!=="upstream-defect"||o.decision!=="accepted-upstream-limitation"||!o.reason?.trim())&&n.push(`${a} \u6392\u9664\u5FC5\u987B\u662F\u5DF2\u63A5\u53D7\u7684\u4E0A\u6E38\u7F3A\u9677\uFF0C\u4E0D\u80FD\u5C06\u672A\u77E5\u5931\u8D25\u6216\u6D4B\u8BD5\u8F7D\u4F53\u95EE\u9898\u6392\u9664`),(!Array.isArray(o.basis)||o.basis.length===0||o.basis.some(u=>!Qu(e,u)))&&n.push(`${a} \u6392\u9664\u4F9D\u636E\u5FC5\u987B\u662F\u5DE5\u4F5C\u533A\u771F\u5B9E\u6E90\u7801/\u5BFC\u51FA\u914D\u7F6E\u7684 file:line`),(!Array.isArray(o.evidence)||o.evidence.length===0||o.evidence.some(u=>{if(typeof u!="string")return!0;let c=Le.resolve(e,u),d=Le.relative(Le.resolve(e),c);return d.startsWith("..")||Le.isAbsolute(d)||!Ht.existsSync(c)||!Ht.statSync(c).isFile()}))&&n.push(`${a} \u6392\u9664\u7F3A\u5C11\u53EF\u590D\u6838\u7684\u672C\u5730\u8BC1\u636E\u6587\u4EF6`)}for(let o of r){let a=o.oracle;(!a||!a.conditions?.trim()||!Array.isArray(a.basis)||a.basis.length===0||a.basis.some(c=>!Qu(e,c)))&&n.push(`${o.id} \u7F3A\u5C11\u9884\u671F\u5951\u7EA6\uFF1Aoracle.conditions + \u771F\u5B9E\u6E90\u7801/\u4E0A\u6E38\u6D4B\u8BD5 file:line \u6570\u7EC4 oracle.basis`),(o.covered_apis_source??[]).some(c=>/(?:thread|task|queue|worker|busy|idle).*(?:count|size)|(?:count|size).*(?:thread|task|queue|worker|busy|idle)/i.test(c))&&!a?.state_control?.trim()&&n.push(`${o.id} \u5E76\u53D1\u8BA1\u6570\u7F3A\u5C11 oracle.state_control\uFF1A\u6838\u5B9E\u8BA1\u6570\u7684\u589E\u51CF\u70B9\u53CA\u961F\u5217/\u6267\u884C\u4E2D/\u7D2F\u8BA1\u8BED\u4E49\uFF1B\u7528\u53D7\u63A7\u963B\u585E\u3001\u9501\u6216\u5B8C\u6210\u5C4F\u969C\u56FA\u5B9A\u89C2\u6D4B\u72B6\u6001\uFF0C\u7981\u6B62\u63D0\u4EA4\u540E\u7ACB\u5373\u5047\u5B9A\u961F\u5217\u8BA1\u6570\u7B49\u4E8E\u63D0\u4EA4\u6570`)}try{let o=JSON.parse(Ht.readFileSync(Le.join(e,".ohos-adaptation-pc","01-scan.json"),"utf8")),a=new Set(o.prd.features.map(d=>d.id));for(let d of i)a.has(d)||n.push(`\u6392\u9664\u9879 ${d} \u4E0D\u5728 PRD \u4E2D`);let u=[...a].filter(d=>!i.has(d)),c=r.map(d=>d.prd_ref);new Set(c).size!==c.length&&n.push("\u7528\u4F8B\u5B58\u5728\u91CD\u590D prd_ref"),c.some(d=>!a.has(d))&&n.push("\u7528\u4F8B\u5F15\u7528\u4E0D\u5B58\u5728\u7684 PRD \u529F\u80FD\u70B9"),t.status==="designed"&&u.some(d=>!c.includes(d))&&n.push("\u6709\u6548\u529F\u80FD\u70B9\u672A\u5168\u90E8\u751F\u6210\u7528\u4F8B"),(t.coverage?.prd_features_total!==u.length||t.coverage?.excluded!==i.size||t.coverage?.prd_features_original!==a.size)&&n.push("\u6709\u6548\u5206\u6BCD/\u539F\u59CB\u5206\u6BCD/\u6392\u9664\u8BA1\u6570\u4E0E PRD\u3001exclusions \u4E0D\u4E00\u81F4")}catch{n.push("\u65E0\u6CD5\u8BFB\u53D6 PRD \u6838\u5BF9\u6392\u9664\u53CA\u6709\u6548\u5206\u6BCD")}return n}function el(e){return new Set((Array.isArray(e.exclusions)?e.exclusions:[]).map(t=>String(t.prd_ref??"")))}function tl(e,t,n){let r=n?[...gs(n),...ms(n)]:[];if(!yn(e))return r;JSON.stringify(e.exclusions??[])!==JSON.stringify(t.exclusions??[])&&r.push("06 \u5FC5\u987B\u539F\u6837\u7EE7\u627F 05.exclusions");let s=new Set(e.cases.map(c=>c.id)),i=Array.isArray(t.case_results)?t.case_results:[],o=i.map(c=>c.case_ref);(new Set(o).size!==o.length||o.some(c=>!s.has(c)))&&r.push("\u6267\u884C\u7ED3\u679C\u91CD\u590D\u6216\u542B\u8303\u56F4\u5916\u7528\u4F8B"),[...s].some(c=>!o.includes(c))&&r.push("\u6709\u6548\u7528\u4F8B\u7F3A\u5C11\u663E\u5F0F\u6267\u884C\u7ED3\u679C");let a=c=>i.filter(d=>d.result===c).length,u={cases_total:s.size,passed:a("pass"),failed:a("fail"),blocked:a("blocked"),not_run:a("not-run"),pending_human:a("pending-human"),excluded:(e.exclusions??[]).length};u.executed=u.cases_total-u.not_run;for(let[c,d]of Object.entries(u))(c==="excluded"?t.coverage?.[c]??0:t.coverage?.[c])!==d&&r.push(`coverage.${c} \u5E94\u4E3A ${d}`);if(t.status==="passed"&&(u.failed||u.blocked||u.not_run||u.pending_human)&&r.push("passed \u4E0E\u5B9E\u9645\u672A\u8FC7\u7528\u4F8B\u77DB\u76FE"),n&&(!e.suite?.delivery_form||e.suite.delivery_form==="cpp-lib")){let c=[],d=[],l=Ht.statSync(Le.join(n,".ohos-adaptation-pc","05-testcases.json")).mtimeMs;for(let p of i){if(!s.has(p.case_ref)||p.result==="not-run")continue;let f=Le.join(n,"test-demo","verify",`${p.case_ref}.json`);try{Ht.statSync(f).mtimeMs<l&&c.push(p.case_ref);let g=JSON.parse(Ht.readFileSync(f,"utf8"));(p.result!=="pending-human"&&g.case_result!==p.result||g.log_channel!=="open")&&d.push(p.case_ref)}catch{c.push(p.case_ref)}}c.length&&r.push(`${c.length} \u6761\u7528\u4F8B\u7F3A\u5C11\u672C\u8F6E\u8BC1\u636E\u6216\u8BC1\u636E\u65E9\u4E8E 05 \u8BBE\u8BA1\uFF1A${c.slice(0,5).join("\u3001")}\u3002\u5FC5\u987B verify-demo \u5168\u91CF\u8FD0\u884C\u5F53\u524D cases\uFF0C\u4E0D\u5F97\u590D\u7528\u65E7 pass`),d.length&&r.push(`\u672C\u8F6E\u8BB0\u5F55\u7ED3\u679C/\u65E5\u5FD7\u901A\u9053\u4E0E\u81EA\u62A5\u4E0D\u7B26\uFF1A${d.slice(0,5).join("\u3001")}`)}return r}import _n from"node:fs";import De from"node:path";import oy from"node:fs";import _s from"node:path";var ay="02-baseline.json",cy="06-testdemo.json";function nl(e){try{let t=oy.readFileSync(e,"utf8");return JSON.parse(t.charCodeAt(0)===65279?t.slice(1):t)}catch{return null}}function po(e){return Array.isArray(e)?e.map(t=>String(t)):[]}function rl(e,t){let n=_s.join(_s.resolve(e),R),r=nl(_s.join(n,ay));if(!r)return[];let s=Array.isArray(r.cases)?r.cases:[],i=h=>{let m=h?.executability;return String(h?.source??"")==="upstream"&&h?.platform_exclusive!==!0&&String(m?.verdict??"")==="blocked"},o=new Set,a=[];for(let h of s)if(i(h)){for(let m of po(h?.[t]))o.add(m);a.push(String(h?.name??"?"))}if(o.size===0)return[];let u=new Set;for(let h of s)if(!i(h))for(let m of po(h?.[t]))u.add(m);let d=nl(_s.join(n,cy))?.coverage,l=Array.isArray(d?.capability_gaps)?d?.capability_gaps:[],p=new Set(l.map(h=>String(h?.case_ref??""))),f=new Set;for(let h of s)if(i(h)&&p.has(String(h?.name??"")))for(let m of po(h?.[t]))f.add(m);let g=[];for(let h of o)u.has(h)||f.has(h)||g.push(h);return g.sort()}function sl(e){return rl(e,"prd_refs")}function il(e){return rl(e,"api_refs")}var ol=.3;function bn(e,t){try{return JSON.parse(_n.readFileSync(De.join(e,R,t),"utf8"))}catch{return null}}function z(e){return Array.isArray(e)?e.map(t=>String(t)):[]}function bs(e){let n=bn(e,"01-scan.json")?.prd;return Array.isArray(n?.features)?n?.features:[]}function fo(e,t,n){let r=bs(e),s={L0:0,L1:1,L2:2},i="L1",o=99;for(let a of r){let u=String(a?.level??""),c=a?.covered_apis;if(z(c?.source).includes(t)){let d=s[u];d!==void 0&&d<o&&(o=d,i=u)}}return o===99?"L1":i}function ho(e){return Array.isArray(e.cases)?e.cases:[]}function uy(e){return String(e.source??"")}function tt(e){return ho(e).filter(t=>uy(t)==="generated")}var ly={id:"roster-assertion-provenance-tier",when:e=>e.schemaKey==="baseline",check:e=>{let t=[],n={S1:["n-a"],S2:["n-a"],S3:["E1","E2"],S4:["host"],S5:["n-a"]};for(let r of tt(e.json)){let s=String(r.name??""),i=String(r.host_result??""),o=String(r.validation??""),a=Array.isArray(r.oracle_plan)?r.oracle_plan:[];if(a.length===0){t.push(`\u300C${s}\u300D\u662F source=generated \u7528\u4F8B\uFF0C\u4F46 oracle_plan \u4E3A\u7A7A\u2014\u2014\u751F\u6210\u7528\u4F8B\u9010\u65AD\u8A00\u5FC5\u987B\u6709 provenance\uFF08\u4E94\u6E90\u4E4B\u4E00\uFF09\uFF0C\u7981\u6B62\u7A7A\u8BA1\u5212`);continue}for(let u of a){let c=String(u?.ref??""),d=String(u?.source??""),l=String(u?.grade??""),p=String(u?.ref_note??""),f=n[d];if(!f){t.push(`\u300C${s}\u300Doracle_plan \u6761\u76EE ${c} \u7684 source=${d} \u975E\u6CD5\uFF08\u5E94 S1\u2013S5\uFF09`);continue}f.length>0&&!f.includes(l)&&t.push(`\u300C${s}\u300Doracle_plan \u6761\u76EE ${c} source-grade \u7EC4\u5408\u975E\u6CD5\uFF08${d}/${l}\uFF09\u2014\u2014\u5408\u6CD5\u7EC4\u5408\u89C1\u4E94\u6E90\u8868`),o==="unvalidated"&&!["S1","S2","S3"].includes(d)&&d!=="S4"&&t.push(`\u300C${s}\u300Doracle_plan \u6761\u76EE ${c} \u662F unvalidated \u6863\u5374\u7528 source=${d}\u2014\u2014unvalidated \u6863\u65AD\u8A00\u5FC5\u987B\u951A\u6E901/2/3\uFF08S4 \u4EC5\u9650\u95F8A \u5347\u683C\u4F8B\u5916\uFF09`),d==="S4"&&!/闸A|闸B|库自有/.test(p)&&t.push(`\u300C${s}\u300Doracle_plan \u6761\u76EE ${c} \u662F S4 \u5BBF\u4E3B\u5B9E\u6D4B\uFF0C\u4F46 ref_note \u672A\u7559\u95F8A/\u95F8B \u8BC1\u636E\uFF08`+p+"\uFF09"),d==="S3"&&l!=="n-a"&&!/版本核对\s*:\s*V_dev=/.test(p)&&t.push(`\u300C${s}\u300Doracle_plan \u6761\u76EE ${c} \u662F S3/E1-E2 \u5E73\u53F0\u5951\u7EA6\u5F15\u7528\uFF0C\u4F46 ref_note \u65E0\u300C\u7248\u672C\u6838\u5BF9: V_dev=\u2026\u300D\u6807\u8BB0\u2014\u2014E2/E1 \u5F15\u7528\u5FC5\u987B\u8FC7\u6E903 \u7248\u672C\u951A\u6838\u5BF9\u5B50\u6B65\u9AA4`),/^cp:\d+$/.test(c)||t.push(`\u300C${s}\u300Doracle_plan \u6761\u76EE ref=${c} \u975E\u6CD5\u2014\u2014\u5E94\u4E3A cp:[N] \u951A\u70B9\u683C\u5F0F`)}}return t}},dy={id:"roster-pin-evidence-gap",when:e=>e.schemaKey==="baseline",check:e=>{let t=[];for(let n of tt(e.json)){let r=String(n.name??""),s=Array.isArray(n.oracle_plan)?n.oracle_plan:[];for(let i of s){let o=String(i?.ref??""),a=String(i?.source??""),u=String(i?.ref_note??"");if(a!=="S1"&&a!=="S4"||a==="S4"&&/闸A|闸B|库自有/.test(u)||!(/\d+\.\d+/.test(u)||/E(?:ACCES|NOENT|EPERM|EINVAL|ENOSPC|EEXIST|EBADF|EAGAIN)\b/.test(u)||/(期望|预期|钉值|应(?:为|返回))\s*[::]?\s*\d/.test(u)||/钉|精确值|容差|eps\s*[:=]/.test(u)))continue;/差异面\s*:\s*无/.test(u)||/差异面\s*:\s*有\s*→?\s*探针\s*:/.test(u)||/差异面\s*:\s*有\s*→?\s*E1|差异面\s*:\s*有\s*→?\s*E2/.test(u)||/探针\s*:\s*\S+/.test(u)||/分歧表|官方文档|官方声明/.test(u)||t.push(`\u300C${r}\u300Doracle_plan \u6761\u76EE ${o} \u662F ${a} \u9489\u7CBE\u786E\u503C\uFF0C\u4F46 ref_note \u65E0\u5DEE\u5F02\u9762\u8BBA\u8BC1\u2014\u2014S1 \u9489\u7684\u662F\u4E0A\u6E38\u8BED\u4E49\u9884\u671F\uFF0C\u89C2\u6D4B\u7269\u82E5\u843D libc/\u5E73\u53F0\u8BED\u4E49\u533A\uFF08\u6D6E\u70B9/errno/\u672C\u5730\u5316\uFF09\uFF0C\u8BBE\u5907\u4E0A\u53EF\u80FD\u4E0D\u540C\u3002\u4E09\u9009\u4E00\u8865\u6807\u8BB0\uFF1A\`\u5DEE\u5F02\u9762: \u65E0\uFF08\u95F8A\uFF0C\u5E93\u81EA\u6709\u89C2\u6D4B\u7269\uFF09\` / \`\u5DEE\u5F02\u9762: \u6709 \u2192 \u63A2\u9488: <knowledge/probe-*.json>\` / \`\u5DEE\u5F02\u9762: \u6709 \u2192 E1/E2: <\u5206\u6B67\u8868\u65CFN|\u5B98\u65B9\u6761\u76EE>\`\uFF08\u63A2\u9488\u64CD\u4F5C\u89C1 pc-roster-generation \xA710\uFF09`)}}return t}},py={id:"roster-probe-evidence-exists",when:e=>e.schemaKey==="baseline",check:e=>{let t=[],n=De.resolve(e.workspaceRoot),r=De.join(n,R);for(let s of tt(e.json)){let i=String(s.name??""),o=Array.isArray(s.oracle_plan)?s.oracle_plan:[];for(let a of o){let u=String(a?.ref??""),d=String(a?.ref_note??"").match(/探针\s*:\s*([^\s,。;)】]+(?:\.(?:json|log|txt|md))?)/);if(!d)continue;let l=d[1];if(!l||l==="\u65E0"||l==="<path>")continue;let p=De.resolve(n,l),f=De.relative(n,p);if(f.startsWith("..")||De.isAbsolute(f)){t.push(`\u300C${i}\u300Doracle_plan \u6761\u76EE ${u} \u5F15\u7528\u63A2\u9488\u8DEF\u5F84 ${l} \u843D\u5728\u5DE5\u4F5C\u533A\u5916\u2014\u2014\u8BC1\u636E\u5FC5\u987B\u5728\u76D8`);continue}[p,De.join(r,l)].find(m=>{try{return _n.existsSync(m)&&_n.statSync(m).size>0}catch{return!1}})||t.push(`\u300C${i}\u300Doracle_plan \u6761\u76EE ${u} \u5F15\u7528\u63A2\u9488\u7ED3\u8BBA ${l}\uFF0C\u4F46\u5DE5\u4F5C\u533A\u627E\u4E0D\u5230\u8BE5\u8BC1\u636E\u6587\u4EF6\u2014\u2014\u58F0\u660E\u4E86\u63A2\u9488\u6821\u51C6\u5374\u62FF\u4E0D\u51FA\u8BC1\u636E = \u5047\u627F\u8BFA\u3002\u8BF7\u5148\u8DD1\u63A2\u9488\u5E76\u628A\u7ED3\u8BBA\u843D\u76D8\uFF08\`knowledge/probe-*.json\`\uFF0C\u64CD\u4F5C\u89C1 pc-knowledge-base\u300C\u9E3F\u8499PC-\u6700\u5C0F\u771F\u673A\u63A2\u9488\u6821\u51C6\u300D\uFF09\uFF0C\u518D\u5F15\u7528`)}}return t}},fy={id:"roster-symbol-budget",when:e=>e.schemaKey==="baseline",check:e=>{let t=[],n=e.json.api_surface??{},r=new Set(z(n.uncovered)),s=bn(e.workspaceRoot,"cap-out-ledger.json");if(s){let a=new Set(z(n.symbols)),u=Array.isArray(s.entries)?s.entries:[];for(let c of u){let d=String(c?.reason??"");for(let l of z(c.symbols)){if(!a.has(l)){t.push(`cap-out \u53F0\u8D26\u6761\u76EE\u7B26\u53F7\u300C${l}\u300D\u4E0D\u5728 api_surface.symbols \u91CC\u2014\u2014\u53F0\u8D26\u53EA\u6536\u771F\u5B9E\u5728\u5206\u6BCD\u5185\u7684\u7B26\u53F7\uFF08\u81EA\u62A5\u8C41\u514D\u901A\u9053\u7684\u771F\u5B9E\u6027\u5BF9\u8D26\uFF09`);continue}fo(e.workspaceRoot,l,z(n.symbols))==="L0"?t.push(`cap-out \u53F0\u8D26\u628A L0 \u7B26\u53F7\u300C${l}\u300D\u767B\u8BB0\u4E3A ${String(c?.tier??"\u672A\u6807\u6CE8\u6863\u4F4D")}\u2014\u2014L0 \u7F3A\u53E3\u53EA\u80FD\u8D70 gap-ledger \u7684 disposition\uFF08\u8865/\u7533\u62A5/scope_out\uFF09\uFF0C\u53F0\u8D26\u767B\u8BB0\u65E0\u6548`):d===""&&t.push(`cap-out \u53F0\u8D26\u6761\u76EE\u300C${l}\u300D\u7F3A reason\u2014\u2014L1/L2 \u767B\u8BB0\u5FC5\u987B\u5E26\u7406\u7531\uFF08\u81EA\u62A5\u8C41\u514D\u901A\u9053\u7684\u7559\u75D5\u4E49\u52A1\uFF09`)}}}if(r.size===0)return t;let i=[],o=[];for(let a of r)fo(e.workspaceRoot,a,z(n.symbols))==="L0"?i.push(a):o.push(a);if(i.length>0&&t.push(`L0 \u7B26\u53F7\u96F6\u7F3A\u53E3\u88AB\u7834\u574F\uFF1A${i.slice(0,8).join("\u3001")}${i.length>8?` \u7B49 ${i.length} \u4E2A`:""} \u672A\u8986\u76D6\u2014\u2014L0 \u4E0D\u53EF\u780D\uFF08\u8D70 gap-ledger \u7684 disposition\uFF1A\u8865/\u7533\u62A5/scope_out\uFF09`),o.length>0){let a=bn(e.workspaceRoot,"cap-out-ledger.json"),u=new Set;if(a)for(let d of Array.isArray(a.entries)?a.entries:[])for(let l of z(d.symbols))u.add(l);let c=o.filter(d=>!u.has(d));c.length>0&&t.push(`L1/L2 \u7B26\u53F7 ${c.slice(0,8).join("\u3001")}${c.length>8?` \u7B49 ${c.length} \u4E2A`:""} \u672A\u8986\u76D6\u4E14\u672A\u5728 cap-out-ledger.json \u767B\u8BB0\u2014\u2014L1/L2 \u7F3A\u53E3\u4E0D\u8865\u5199\u4F46\u5FC5\u987B\u767B\u8BB0\uFF08\u9759\u9ED8\u7F3A\u53E3\u7684\u7B26\u53F7\u9762\u4E0D\u6210\u7ACB\uFF1B\u4E0D\u62E6 planned\uFF0Cplanned \u53EA\u770B L0 \u5C42\u5F52\u96F6\uFF09`)}return t}},hy={id:"roster-device-budget",when:e=>e.schemaKey==="baseline"&&tt(e.json).length>0,check:e=>{let t=[],n=e.json.device_budget??{};if(typeof n.cap_min!="number"||typeof n.estimated_min!="number")return t.push("device_budget \u7F3A cap_min/estimated_min\uFF08G3 \u53EF\u673A\u5224\u9A8C\u6536\u7684\u627F\u8F7D\u7F3A\u5931\uFF09\u2014\u2014\u540D\u518C\u5B9A\u7A3F\u524D\u5FC5\u987B\u7ED9\u51FA\u4F30\u65F6\u603B\u8D26"),t;let r=Number(n.cap_min),s=Number(n.estimated_min),i=z(n.degraded);return s>r&&i.length===0&&t.push(`\u540D\u518C\u4F30\u65F6 ${s}min \u8D85\u8FC7\u8F6F\u4E0A\u9650 ${r}min\uFF0C\u4F46 degraded \u4E3A\u7A7A\u2014\u2014\u8D85\u9650\u5FC5\u987B\u8D70\u964D\u7EA7\u9636\u68AF\u5E76\u9010\u5C42\u7559\u8D26\uFF08L0 \u4E0D\u964D\u2192\u4E0A\u6E38\u957F\u5C3E\u5957\u4EF6\u91C7\u6837\u2192\u4E0A\u62A5\uFF09\uFF0C\u7F3A\u8D26\u5373\u8D85\u9650\u540D\u518C\u4E0D\u53EF\u5B9A\u7A3F`),s<=r&&i.length>0&&t.push(`\u540D\u518C\u4F30\u65F6 ${s}min \u672A\u8D85\u4E0A\u9650 ${r}min\uFF0C\u5374\u58F0\u660E\u4E86\u964D\u7EA7\u4E8B\u4EF6\uFF08${i.join("\u3001")}\uFF09\u2014\u2014\u65E0\u4F9D\u636E\u964D\u7EA7\uFF0C\u6E05\u8D26\u6216\u8BF4\u660E\u4E3A\u4F55\u672A\u8D85\u9650\u4ECD\u964D\u7EA7`),t}},gy={id:"roster-p0-hard-assert",when:e=>e.schemaKey==="baseline",check:e=>{let t=[];for(let n of tt(e.json)){let r=String(n.name??""),s=z(n.prd_refs),i=bs(e.workspaceRoot),o=new Set;for(let c of i)String(c?.level??"")==="L0"&&o.add(String(c?.id??""));let a=s.some(c=>o.has(c)),u=Array.isArray(n.oracle_plan)?n.oracle_plan:[];for(let c of u){let d=String(c?.source??""),l=String(c?.ref_note??"");if(d!=="S5")continue;let p=String(c?.ref??"");a?/^豁免:/.test(l)||t.push(`L0 \u7528\u4F8B\u300C${r}\u300Doracle_plan \u6761\u76EE ${p} \u7528\u4E86 S5 \u884C\u4E3A\u7EA7\u65AD\u8A00\u2014\u2014L0 \u7981 S5\uFF08\u56DE\u4FEE/\u8C41\u514D\u51FA\u53E3\uFF09\uFF1B\u786E\u4E3A\u8C41\u514D\u987B ref_note \u4EE5\u300C\u8C41\u514D:\u300D\u524D\u7F00\u6807\u6CE8\uFF08\u8C41\u514D\u4E0E\u8D85\u9650\u53CC\u5411\u7ED1\u5B9A\uFF09`):/分诊:/.test(l)||t.push(`\u975E L0 \u7528\u4F8B\u300C${r}\u300Doracle_plan \u6761\u76EE ${p} \u662F S5 \u884C\u4E3A\u7EA7\u65AD\u8A00\uFF0C\u4F46 ref_note \u7F3A\u300C\u5206\u8BCA:\u300D\u9884\u544A\u2014\u2014\u8BBE\u5907\u7EA2\u7684\u4EBA\u5DE5\u4E09\u5411\u5BF9\u7167\u8DEF\u5F84\u5FC5\u987B\u9884\u544A\uFF08\u9636\u6BB53 \u5F52\u56E0\u7F6E\u4FE1\u5EA6\u8054\u52A8\uFF09`)}}return t}},my=new Set([".c",".h",".cc",".cpp",".cxx",".hpp",".py",".js",".mjs",".ts",".rs",".go",".java",".sh",".json",".md",".txt",".tap",".xml",".yaml",".yml",".cmake",".mk",".ini",".cfg",".toml",".gradle",".kt",".cs"]);function yy(e,t){let n=De.resolve(e,t);if(!n.startsWith(De.resolve(e)))return[];let r=[],s=(i,o)=>{if(o>4||r.length>200)return;let a;try{a=_n.readdirSync(i,{withFileTypes:!0})}catch{return}for(let u of a){let c=De.join(i,u.name);if(u.isDirectory()){if(u.name==="node_modules"||u.name===".git")continue;s(c,o+1)}else if(u.isFile()){if(!my.has(De.extname(u.name).toLowerCase()))continue;try{if(_n.statSync(c).size>512*1024)continue;r.push({rel:De.relative(e,c),text:_n.readFileSync(c,"utf8")})}catch{}}}};return s(n,0),r}var _y={id:"roster-api-ref-observable",when:e=>e.schemaKey==="baseline",check:e=>{let t=[],n=e.json.api_surface??{},r=new Set(z(n.symbols)),s=String(e.json.baseline_dir??"tests-generated/"),i=yy(e.workspaceRoot,s),o=0,a=0;for(let u of tt(e.json)){let c=String(u.name??""),d=z(u.api_refs),l=Array.isArray(u.observable_via)?u.observable_via:[],p=new Set(l.map(g=>String(g?.symbol??"")));for(let g of l){let h=String(g?.symbol??""),m=String(g?.via_symbol??""),_=String(g?.verdict_ref??"");d.includes(h)||t.push(`\u300C${c}\u300Dobservable_via.symbol=${h} \u4E0D\u5728\u672C\u7528\u4F8B api_refs\u2014\u2014\u5F31\u6863\u58F0\u660E\u5FC5\u987B\u5BF9\u5F97\u4E0A\u8D26`),r.has(m)||t.push(`\u300C${c}\u300Dobservable_via.via_symbol=${m} \u4E0D\u5728 api_surface \u516C\u5171\u7B26\u53F7\u96C6\u2014\u2014\u53CD\u5E7B\u89C9\u951A`),/^cp:\d+$/.test(_)||t.push(`\u300C${c}\u300Dobservable_via.verdict_ref=${_} \u975E\u6CD5\uFF08\u5E94\u4E3A [cp:N] \u951A\u70B9\uFF09`)}let f=i.filter(g=>g.text.includes(c)).map(g=>g.text).join(`
105
+ `);for(let g of d){let h=fo(e.workspaceRoot,g,d),m=p.has(g);if(h==="L0"&&m){t.push(`L0 \u7B26\u53F7\u300C${g}\u300D\u7528\u4F8B\u300C${c}\u300D\u8D70\u4E86 observable_via \u5F31\u6863\u58F0\u660E\u2014\u2014L0 \u6052\u5F3A\u6863\uFF08\u8986\u76D6\u8BC1\u636E\u53EA\u8BA4\u540D\u5B57\u9762\u5728\u65AD\u8A00/checkpoint\uFF09\uFF0C\u5F31\u6863\u58F0\u660E\u4E0D\u91C7\u4FE1`);continue}if(m)o++,a++;else if(!f.includes(g)){let _=i.length===0?"\uFF08tests-generated/ \u65E0\u767D\u76D2\u6587\u672C\uFF09":f===""?"\uFF08tests-generated/ \u4E0B\u627E\u4E0D\u5230\u542B\u672C\u7528\u4F8B\u540D\u7684\u6D4B\u8BD5\u6587\u4EF6\uFF09":"";t.push(`\u300C${c}\u300Dapi_refs \u7B26\u53F7\u300C${g}\u300D**\u5F3A\u6863\u7F3A\u5E2D\u4E14\u65E0 observable_via \u5F31\u6863\u58F0\u660E**${_}\u2014\u2014\u7B26\u53F7\u8FDB\u4E86\u8986\u76D6\u5EA6\u5206\u5B50\u5374\u5728\u65AD\u8A00/checkpoint/\u951A\u70B9\u91CC\u96F6\u75D5\u8FF9\uFF0C\u540D\u4E49\u8986\u76D6\uFF08\u8C03\u4E86\u6CA1\u65AD\u8A00\uFF09\u3002\u8865\u65AD\u8A00\uFF08\u7B26\u53F7\u540D\u5B57\u9762\u51FA\u73B0\u5728\u8BC1\u636E\u884C\uFF09\uFF0C\u6216\u5BF9 setter/init \u578B\u8D70 observable_via \u5F31\u6863\u58F0\u660E\uFF08\u542B\u5931\u8D25\u4F20\u64AD\u8DEF\u5F84\uFF09\u3002`)}}}if(o>0&&a/o>ol){let u=a/o*100;t.push(`\u5F31\u6863\u5360\u6BD4 ${u.toFixed(1)}%\uFF08${a}/${o} \u4E2A L1/L2 \u53EF\u9002\u7528\u7B26\u53F7\uFF09\u8D85\u8FC7\u62A4\u680F ${ol*100}%\u2014\u2014\u7591\u4F3C\u5168\u8D70\u58F0\u660E\u7ED5\u8FC7\u76F4\u63A5\u5224\u5B9A\uFF0C\u4EBA\u5DE5\u5BA1`)}return t}},by={id:"roster-prd-ref-verdict-linked",when:e=>e.schemaKey==="baseline",check:e=>{let t=[],n=bs(e.workspaceRoot),r=new Set(n.map(i=>String(i?.id??""))),s=new Map;for(let i of n)s.set(String(i?.id??""),String(i?.module??""));for(let i of ho(e.json)){let o=String(i.name??""),a=z(i.prd_refs);for(let c of a)r.has(c)||t.push(`\u300C${o}\u300D\u7684 prd_ref=${c} \u4E0D\u5728 01-scan \u7684 prd.features[].id \u91CC\u2014\u2014\u60AC\u7A7A\u5F15\u7528\u4F1A\u8BA9\u8986\u76D6\u5EA6\u5206\u5B50\u51ED\u7A7A\u53D8\u5927\uFF0C\u56DE\u9636\u6BB5 1 \u6216\u66F4\u6B63\u5F15\u7528`);let u=new Set(a.map(c=>s.get(c)??"").filter(Boolean));u.size>1&&t.push(`\u300C${o}\u300D\u7684 prd_refs \u8DE8\u4E86 ${u.size} \u4E2A\u6A21\u5757\uFF08${[...u].join("\u3001")}\uFF09\u2014\u2014\u4E00\u6761\u7528\u4F8B\u4E00\u4E2A\u9A8C\u8BC1\u76EE\u6807\uFF0Cprd_refs \u4E0D\u8DE8\u6A21\u5757\uFF08\u8BB0\u8D26\u9632\u865A\u9AD8\uFF09\uFF1B\u786E\u4E3A\u591A\u6A21\u5757\u7EC4\u5408\u5224\u5B9A\u5219\u62C6\u6761\u5404\u81EA\u5224\u5B9A\uFF08references/case-granularity.md \xA7\u4E00\uFF09`),a.length>2&&t.push(`\u300C${o}\u300D\u6302\u4E86 ${a.length} \u4E2A prd_refs\u2014\u2014\u8D85\u8F6F\u62A4\u680F\uFF08>2\uFF09\uFF1A\u9010\u4E2A\u6838"\u62FF\u6389\u672C\u7528\u4F8B\u5224\u5B9A\u884C\uFF0C\u8BE5\u529F\u80FD\u70B9\u8FD8\u5269\u72EC\u7ACB\u5224\u5B9A\u5417"\uFF0C\u6CA1\u6709 \u2192 \u4E0D\u8BB8\u6302\uFF08\u8BB0\u8D26\u9632\u865A\u9AD8\uFF09`)}return t}},vy={id:"roster-blocked-upstream-coverage",when:e=>e.schemaKey==="baseline",check:e=>{let t=sl(e.workspaceRoot);return t.length===0?[]:[`\u529F\u80FD\u70B9 ${t.join("\u3001")} \u7684\u552F\u4E00\u8986\u76D6\u6765\u81EA\u88AB blocked \u5254\u9664\u7684\u4E0A\u6E38\u7528\u4F8B\uFF0C\u540D\u518C\u5185\u65E0\u5269\u4F59\u8F7D\u4F53\u300106 capability_gaps \u4E5F\u672A\u7559\u8D26\u2014\u2014**\u8986\u76D6\u771F\u7A7A\uFF0C\u4E0D\u5F97\u5B9A\u7A3F planned**\u3002\u8865\u5199\u7528\u4F8B\u627F\u63A5\u8BE5\u529F\u80FD\u70B9\uFF08steps 5\uFF09\uFF0C\u6216\u5982\u5B9E\u7559\u8D26\u80FD\u529B\u7F3A\u53E3\uFF1B\u4E0A\u6E38\u7528\u4F8B\u53EF\u6267\u884C\u6027\u5206\u8BCA\u5224\u636E\u89C1 pc-roster-generation \xA711\u3002`]}},Sy={id:"roster-blocked-upstream-symbol-coverage",when:e=>e.schemaKey==="baseline",check:e=>{let t=il(e.workspaceRoot);return t.length===0?[]:[`\u7B26\u53F7 ${t.join("\u3001")} \u7684\u552F\u4E00\u8986\u76D6\u6765\u81EA\u88AB blocked \u5254\u9664\u7684\u4E0A\u6E38\u7528\u4F8B\uFF0C\u540D\u518C\u5185\u65E0\u5269\u4F59\u8F7D\u4F53\u300106 capability_gaps \u4E5F\u672A\u7559\u8D26\u2014\u2014**\u7B26\u53F7\u8986\u76D6\u771F\u7A7A\uFF0C\u4E0D\u5F97\u5B9A\u7A3F planned**\u3002\u8865\u5199\u7528\u4F8B\u627F\u63A5\u8BE5\u7B26\u53F7\uFF08steps 5\uFF09\uFF0C\u6216\u5982\u5B9E\u7559\u8D26\u80FD\u529B\u7F3A\u53E3\uFF1B\u4E0A\u6E38\u7528\u4F8B\u53EF\u6267\u884C\u6027\u5206\u8BCA\u5224\u636E\u89C1 pc-roster-generation \xA711\uFF08v7.1 \u4E24\u951A\u540C\u5B88\uFF09\u3002`]}};function go(e){let t=bn(e,"gap-ledger.json");if(!t||typeof t!="object")return null;let n={};for(let[r,s]of Object.entries(t))typeof s=="object"&&s!==null&&(n[r]=s);return n}var ky={id:"roster-l0-gap-ledger",when:e=>e.schemaKey==="baseline",check:e=>{let t=[],r=bs(e.workspaceRoot).filter(a=>String(a?.level??"")==="L0");if(r.length===0)return t;let s=go(e.workspaceRoot);if(!s)return(e.json.meta??{}).generated_backfill===!1||t.push(`01-scan \u6709 ${r.length} \u4E2A L0 \u529F\u80FD\u70B9\uFF0C\u4F46 gap-ledger.json \u4E0D\u5B58\u5728\u2014\u2014gap-ledger \u662F\u8865\u5199\u8303\u56F4\u5224\u5B9A\u7684\u627F\u8F7D\uFF08API \u7C92\u5EA6\uFF1A\u529F\u80FD\u70B9\u6807"\u4E0A\u6E38\u8986\u76D6"\u2260\u5176 API \u5168\u88AB\u8986\u76D6\uFF09\u3002\u6309\u4E94\u6B65\u5B9A\u8865\u5199\u7528\u4F8B\u96C6\uFF1A\u5EFA\u8D26\uFF08L0 \xD7 covered_apis\uFF09\u2192 \u8BB0\u89E6\u8FBE\u8D26\uFF08\u53EA\u8BFB platform_exclusive/executability \u5B57\u6BB5\uFF09\u2192 \u4E09\u5206\u7C7B \u2192 supporting \u7533\u62A5 \u2192 \u843D .ohos-adaptation-pc/gap-ledger.json\uFF08\u5224\u636E\u89C1 pc-roster-generation \u7684 gap-ledger \u8282\uFF09`),t;let i=ho(e.json),o=tt(e.json);for(let a of r){let u=String(a?.id??""),c=s[u];if(!c||typeof c!="object"){t.push(`L0 \u529F\u80FD\u70B9\u300C${u}\u300D\u5728 gap-ledger.json \u91CC\u6CA1\u6709\u6761\u76EE\u2014\u2014\u6BCF\u4E2A L0 \u529F\u80FD\u70B9\u90FD\u5FC5\u987B\u6709 disposition\uFF08full-case/gap-case/supporting/covered\uFF09`);continue}let d=String(c.disposition??"");["full-case","gap-case","supporting","covered"].includes(d)||t.push(`L0 \u529F\u80FD\u70B9\u300C${u}\u300Ddisposition=${d||"\uFF08\u7A7A\uFF09"} \u975E\u6CD5\u2014\u2014\u56DB\u503C\u4E4B\u4E00`);let l=z(c.all_apis),p=z(c.supporting_apis);p.length>0&&l.length>0&&p.length/l.length>.5&&t.push(`L0 \u529F\u80FD\u70B9\u300C${u}\u300Dsupporting \u7533\u62A5 ${p.length}/${l.length} \u4E2A API\uFF08>50%\uFF09\u2014\u2014supporting \u662F"\u7EAF\u524D\u7F6E/\u6E05\u7406/\u53C2\u6570\u51C6\u5907\u4E14\u81EA\u8EAB\u65E0\u53EF\u89C2\u6D4B\u884C\u4E3A\u5951\u7EA6"\u7684\u8C41\u514D\u901A\u9053\uFF0C\u8FC7\u534A = \u8BE5\u529F\u80FD\u70B9\u6838\u5FC3\u884C\u4E3A\u5927\u6982\u7387\u6CA1\u88AB\u5224\u5B9A\uFF0C\u4EBA\u5DE5\u590D\u6838`);let f=new Set(z(c.touched_apis)),g=z(c.gap_apis);if(d!=="covered"&&g.length>0){let h=new Set;for(let y of o){let S=z(y.covered_apis_source);for(let b of S)g.includes(b)&&h.add(b)}let m=new Set(p),_=g.filter(y=>!h.has(y)&&!m.has(y));_.length>0&&t.push(`L0 \u529F\u80FD\u70B9\u300C${u}\u300D\u7F3A\u53E3 API ${_.slice(0,8).join("\u3001")}${_.length>8?` \u7B49 ${_.length} \u4E2A`:""} \u662F\u9759\u9ED8\u7F3A\u53E3\uFF08\u6CA1\u8865\u5199\u3001\u4E5F\u6CA1\u7533\u62A5 supporting\uFF09\u2014\u2014\u7F3A\u53E3\u5141\u8BB8\u5B58\u5728\uFF08\u8865\u6216\u7533\u62A5\uFF09\uFF0C\u4E0D\u5141\u8BB8\u6C89\u9ED8`)}if(d==="gap-case"){let h=o.filter(y=>z(y.prd_refs).includes(u)).flatMap(y=>z(y.covered_apis_source)),m=new Set(g),_=h.filter(y=>!m.has(y));h.length>0&&_.length>0&&t.push(`L0 \u529F\u80FD\u70B9\u300C${u}\u300Ddisposition=gap-case\uFF0C\u4F46\u8865\u5199\u7528\u4F8B covered_apis_source \u542B\u7F3A\u53E3\u96C6\u4E4B\u5916\u7684 API\uFF08${_.slice(0,5).join("\u3001")}\uFF09\u2014\u2014gap-case \u7528\u4F8B\u53EA\u8865\u7F3A\u53E3\uFF08covered_apis_source \u4EC5\u7F3A\u53E3 API\uFF09\uFF0C\u5168\u91CF\u91CD\u8865\u8BF7\u6539 full-case`)}}for(let[a,u]of Object.entries(s)){let c=new Set(z(u.all_apis)),d=z(u.touched_apis).filter(l=>!c.has(l));d.length>0&&t.push(`\u529F\u80FD\u70B9\u300C${a}\u300D\u89E6\u8FBE\u8D26\u542B all_apis \u4E4B\u5916\u7684 API\uFF08${d.slice(0,5).join("\u3001")}\uFF09\u2014\u2014\u89E6\u8FBE\u96C6\u662F api_refs \u2229 covered_apis \u7684\u4EA4\u96C6\uFF0C\u5185\u90E8\u7B26\u53F7\u4E0D\u865A\u589E`)}return t}},Dy={id:"roster-assertion-four-clarify",when:e=>e.schemaKey==="baseline",check:e=>{let t=[];for(let n of tt(e.json)){let r=String(n.name??""),s=Array.isArray(n.oracle_plan)?n.oracle_plan:[];for(let i of s){let o=String(i?.ref??""),a=String(i?.source??""),u=String(i?.ref_note??"");if(a==="S2"){/属性\s*:\s*\S+(前提\s*[::]/.test(u)||t.push(`\u300C${r}\u300Doracle_plan \u6761\u76EE ${o} \u662F S2 \u5C5E\u6027\u65AD\u8A00\uFF0C\u4F46 ref_note \u65E0\u300C\u5C5E\u6027: <\u5173\u7CFB>\uFF08\u524D\u63D0: \u2026\uFF09\u300D\u2014\u2014\u514D\u51FA\u5904 \u2260 \u514D\u8BBA\u8BC1\uFF1A\u5F80\u8FD4\u4E00\u81F4\u987B\u6838\u5BF9\u9519\u8BEF\u8DEF\u5F84\u72EC\u7ACB\uFF08\u5171\u4EAB\u9519\u8BEF\u8DEF\u5F84\u4E24\u8FB9\u4E00\u8D77\u9519\u7167\u6837\u4E00\u81F4\uFF09\u3001\u5B88\u6052\u987B\u6838\u5BF9\u5206\u9879\u4E0E\u603B\u91CF\u4E0D\u540C\u6E90\u4E0D\u540C\u6E90\u5355\u4F4D\u3001\u5E42\u7B49\u987B\u6838\u5BF9\u5951\u7EA6\u58F0\u660E\u5E42\u7B49\uFF08close/free/destroy \u4E0D\u81EA\u52A8\u5E42\u7B49\uFF09\u3001\u5355\u8C03\u987B\u6709\u5951\u7EA6\u4F9D\u636E\u3001\u7B49\u4EF7\u8868\u793A\u987B\u5951\u7EA6\u58F0\u660E\u7B49\u4EF7\uFF08roster-assertion-four-clarify\uFF09`);continue}a!=="S1"&&a!=="S4"||!(/\d+\.\d+/.test(u)||/E(?:ACCES|NOENT|EPERM|EINVAL|ENOSPC|EEXIST|EBADF|EAGAIN)\b/.test(u)||/(期望|预期|钉值|应(?:为|返回))\s*[::]?\s*\d/.test(u)||/钉|精确值|容差|eps\s*[:=]/.test(u))||/澄清\s*[::]/.test(u)||t.push(`\u300C${r}\u300Doracle_plan \u6761\u76EE ${o} \u662F ${a} \u7CBE\u786E\u9489\u503C\uFF0C\u4F46 ref_note \u65E0\u300C\u6F84\u6E05:\u300D\u7ED3\u8BBA\u6807\u8BB0\u2014\u2014\u9489\u503C\u524D\u8FC7\u56DB\u6F84\u6E05\uFF08\u7C7B\u578B/\u5355\u4F4D/\u7ED3\u6784/\u5931\u8D25\u5F62\u6001\uFF09\uFF1Avoid/None \u4E0D\u80FD\u5224\u975E\u7A7A\u3001\u79D2/\u6BEB\u79D2\u4E0E\u5B57\u8282/\u5B57\u7B26/\u7EC8\u6B62\u7B26\u3001\u7ED3\u6784\u5173\u952E\u8BED\u4E49\u5B57\u6BB5\u3001\u9519\u8BEF\u7801/\u5F02\u5E38/\u7A7A\u503C/\u54E8\u5175\u54EA\u4E2A\u662F\u672C\u7248\u672C\u516C\u5F00\u7EA6\u5B9A\u3002\u7ED3\u8BBA\u5199\u8FDB ref_note\uFF08\`\u6F84\u6E05: \u7C7B\u578B=\u2026 \u5355\u4F4D=\u2026 \u7ED3\u6784=\u2026 \u5931\u8D25\u5F62\u6001=\u2026\`\uFF0C\u56DB\u8868\u89C1 pc-roster-generation \u65AD\u8A00\u5199\u4F5C\u8282\uFF09\u2014\u2014\u6B64\u7C7B\u6B67\u4E49\u5728\u8BBE\u5907\u7EA2\u4E4B\u540E\u624D\u7531 platform-divergence \u8865\u505A\u5C31\u665A\u4E86`)}}return t}},Ey={id:"roster-assertion-symbol-floor",when:e=>e.schemaKey==="baseline",check:e=>{let t=[];for(let n of tt(e.json)){let r=String(n.name??""),s=z(n.covered_apis_source),i=z(n.api_refs),o=s.length>0?s:i;if(o.length===0)continue;let a=Array.isArray(n.oracle_plan)?n.oracle_plan:[],u=new Set(a.map(p=>String(p?.symbol??"")).filter(Boolean)),c=new Set;for(let p of Array.isArray(n.observable_via)?n.observable_via:[]){let f=String(p?.symbol??"");f&&c.add(f)}let d=new Set([...u,...c]),l=[...c].filter(p=>!u.has(p));if(d.size<o.length){let p=o.filter(f=>!d.has(f));t.push(`\u300C${r}\u300D\u65AD\u8A00\u7B26\u53F7\u4E0B\u9650\u4E0D\u6EE1\u8DB3\uFF1Adistinct(oracle_plan.symbol \u222A \u58F0\u660E\u652F\u6301\u6027) = ${d.size} < covered_apis_source = ${o.length}\uFF08\u7F3A\u53E3\uFF1A${p.slice(0,6).join("\u3001")}${p.length>6?` \u7B49 ${p.length} \u4E2A`:""}\uFF09\u2014\u2014\u6BCF\u4E2A covered_apis_source \u81F3\u5C11\u4E00\u4E2A\u65AD\u8A00\u6216\u58F0\u660E\u652F\u6301\u6027\uFF08ref\u2265symbol\uFF09\u3002\u8865\u65AD\u8A00\uFF08\u540C symbol \u591A\u884C\u4E3A\u5408\u6CD5\uFF09\u6216\u5BF9 setter/init \u578B\u8D70 observable_via \u5F31\u6863\u58F0\u660E`)}o.length>0&&l.length/o.length>.5&&t.push(`\u300C${r}\u300D\u58F0\u660E\u652F\u6301\u6027\u5360 ${l.length}/${o.length}\uFF08>50%\uFF09\u2014\u2014\u6574\u6761\u7528\u4F8B\u4E00\u534A\u4EE5\u4E0A API \u9760\u6302\u540D\uFF08observable_via/register \u58F0\u660E\u800C\u65E0\u72EC\u7ACB\u65AD\u8A00\uFF09\uFF0C\u5224\u5B9A\u4E3B\u4F53\u7F3A\u5931\uFF0C\u4EBA\u5DE5\u590D\u6838`)}return t}},Ay={id:"verify-testcode-fingerprint",when:e=>e.schemaKey==="verify-verdict",check:e=>{let t=[],n=bn(e.workspaceRoot,"02-baseline.json"),r=n?.tests_generated_hashes;if(!r||typeof r!="object"||Object.keys(r).length===0)return t;let s=e.json.state_fingerprint;if(!s||typeof s!="object"||Object.keys(s).length===0)return t.push("02-baseline.json \u6709 tests_generated_hashes\uFF08\u6307\u7EB9\u94FE\u5B58\u6863 1\uFF09\uFF0C\u4F46\u672C verdict \u65E0 state_fingerprint\u2014\u2014\u9A8C\u6536\u901A\u8FC7\u65F6\u5FC5\u987B\u5BF9 tests-generated/ \u5168\u6587\u4EF6\u91CD\u7B97 sha256 \u843D\u672C\u5B57\u6BB5\uFF08\u6307\u7EB9\u94FE\u5B58\u6863 2\uFF09\uFF0C\u5426\u5219\u9636\u6BB5 3 \u9759\u9ED8\u6539\u65AD\u8A00\u65E0\u4ECE\u53D1\u73B0"),t;let i=n,o=Object.keys(s).filter(f=>r[f]!==s[f]),a=Object.keys(r).filter(f=>!(f in s));if(o.length===0&&a.length===0)return t;let c=bn(e.workspaceRoot,"03-adapt.json")?.test_run??{},d=Array.isArray(c.failures)?c.failures:[],l=new Set(d.filter(f=>String(f?.resolution??"").includes("fixed-test")||f?.amendment!=null).map(f=>String(f?.case_ref??""))),p=o.filter(f=>{let g=De.basename(f).replace(/\.[^.]+$/,"");return![...l].some(h=>f.includes(h)||g.includes(h)||h.includes(g))});if(p.length>0||a.length>0){let f=[];p.length>0&&f.push(`\u4E0E\u5B58\u6863 1 \u4E0D\u4E00\u81F4\u4E14\u65E0 amendment \u7533\u62A5\u7684\u6587\u4EF6\uFF1A${p.slice(0,5).join("\u3001")}${p.length>5?` \u7B49 ${p.length} \u4E2A`:""}`),a.length>0&&f.push(`\u5B58\u6863 1 \u6709\u800C\u672C\u6307\u7EB9\u7F3A\u5931\u7684\u6587\u4EF6\uFF1A${a.slice(0,5).join("\u3001")}${a.length>5?` \u7B49 ${a.length} \u4E2A`:""}`),t.push("\u6D4B\u8BD5\u4EE3\u7801\u6307\u7EB9\u94FE\u65AD\u88C2\u2014\u2014"+f.join("\uFF1B")+"\u3002\u6539\u4E86\u6D4B\u8BD5\u4EE3\u7801\u5FC5\u987B\u7533\u62A5\uFF1A03-adapt \u7684 failures[] \u6761\u76EE\u5E26 resolution=fixed-test + amendment\uFF08class/basis/before/after\uFF09\uFF0C\u9759\u9ED8\u6539\u52A8 = \u7528\u4F8B\u88AB\u5224\u5B9A\u8005\u7BE1\u6539\u8BC4\u5224\u6807\u51C6\uFF0C\u4E0D\u5F97 verified")}return t}};var al=[ly,fy,hy,gy,_y,by,dy,py,vy,Sy,ky,Dy,Ey,Ay];import X from"node:fs";import ne from"node:path";import{createHash as yl}from"node:crypto";var mo="OHPTCASE";var cl=["native-c","python"];var ul={fail:3,blocked:2,pass:1};function*wy(e,t){let n=0;for(let r of e.split(/\r?\n/)){n++;let s=r.trim(),i=/^\S+\s+\S+\s+(\d+)\s+\d+\s+[A-Z]\s+A[\da-f]+\/([^:\s]+):\s*(.*)$/i.exec(s),o=s,a;if(i){let[,c,d,l]=i,p=d.lastIndexOf("/"),f=p<0?"":d.slice(0,p);if(t&&f!==t&&!(f.length>=16&&t.endsWith(f)))continue;a=c,o=d.slice(p+1)===mo?`${mo} ${l}`:l}else if(t)continue;let u=/^OHPTCASE(?::\s*|\s+)(.*)$/.exec(o);u&&(yield{body:u[1],line:s,lineNumber:n,pid:a})}}function Cy(e,t){let n=new Map,r=[],s=new Set,i=[];for(let o of wy(e,t)){let a=/^result=(pass|fail|blocked)\s+id=(.+?)(?:\s+detail=(.*))?$/.exec(o.body),u=/^summary\s+total=(\d+)\s+pass=(\d+)\s+fail=(\d+)\s+pending=(\d+)\s*$/.exec(o.body);if(!a&&!u){/^(?:result=|summary\b)/.test(o.body)&&i.push(o.lineNumber);continue}if(o.pid&&s.add(o.pid),a){let c=a[1],d=a[2],l=n.get(d)??{case_result:null,case_result_line:null,detail:"",evidence_lines:[],states:new Set};l.evidence_lines.push(o.lineNumber),l.states.add(c),(!l.case_result||ul[c]>ul[l.case_result])&&(l.case_result=c,l.case_result_line=o.line,l.detail=a[3]??""),n.set(d,l)}else if(u){let[c,d,l,p]=u.slice(1).map(Number);[c,d,l,p].every(Number.isSafeInteger)?r.push({total:c,pass:d,fail:l,pending:p}):i.push(o.lineNumber)}}return{results:n,summaries:r,pids:s,malformed:i}}function ll(e,t,n){let{results:r,summaries:s,pids:i,malformed:o}=Cy(e,n),a=new Set(t),u=[...a],c=y=>{let S=r.get(y);return{name:y,result:S?.case_result??"not-run",detail:S?.detail??"\u539F\u59CB\u65E5\u5FD7\u7F3A\u5C11\u6709\u6548\u9010\u6761\u7ED3\u679C\uFF0C\u65E0\u6CD5\u786E\u8BA4\u662F\u5426\u6267\u884C",evidence_lines:S?.evidence_lines??[]}},d=u.map(c),l=[...r.keys()].filter(y=>!a.has(y)).map(c),p={total:d.length,pass:0,fail:0,blocked:0,not_run:0};for(let y of d)p[y.result==="not-run"?"not_run":y.result]++;let f=[...new Map(s.map(y=>[JSON.stringify(y),y])).values()],g=[];u.length!==t.length&&g.push("duplicate_roster_ids"),u.length===0&&g.push("empty_roster"),i.size>1&&g.push("multiple_processes_in_log"),o.length&&g.push("malformed_protocol_lines"),f.length!==1&&g.push("missing_or_conflicting_summary"),p.not_run&&g.push("missing_case_results");let h=[...r].filter(([,y])=>y.states.size>1).map(([y])=>y);h.length&&g.push("conflicting_case_results");let m=l.filter(y=>!y.name.startsWith("__")).map(y=>y.name);m.length&&g.push("unknown_case_ids");let _=f.length===1?f[0]:null;return _&&(_.total!==p.total||_.pass!==p.pass||_.fail!==p.fail||_.pending!==p.blocked)&&g.push("summary_counts_mismatch"),{completed:g.length===0,counts:p,roster:d,extra_checks:l,failures:d.filter(y=>y.result==="fail"||y.result==="blocked").map(y=>y.name),missing:d.filter(y=>y.result==="not-run").map(y=>y.name),summary_line:_?`OHPTCASE summary total=${_.total} pass=${_.pass} fail=${_.fail} pending=${_.pending}`:null,consistency:{ok:g.length===0,errors:g,reported_summaries:f,conflicting_case_ids:h,unknown_case_ids:m,malformed_lines:o,source_pids:[...i]}}}var H=kr(gl(),1);var qe=e=>ne.join(e,".ohos-adaptation-pc");function vn(e){try{return C(e)}catch{return null}}function oe(e){return vn(ne.join(e,"01-scan.json"))}function bo(e){try{return(0,H.examples)(oe(e))}catch{return[]}}function _l(e,t){if(!Array.isArray(t))throw Error("\u7F3A\u5C11\u6E90\u7801\u4F9D\u636E");for(let n of t){let r=/^(.+):(\d+)$/.exec(String(n));if(!r||!r[1].startsWith("source/"))throw Error("\u6E90\u7801\u4F9D\u636E\u987B\u4E3A source/file:line");let s=Sn(e,"source",r[1]);if(Number(r[2])<1||Number(r[2])>X.readFileSync(s,"utf8").split(`
106
+ `).length)throw Error("\u6E90\u7801\u4F9D\u636E\u884C\u53F7\u4E0D\u5B58\u5728\uFF1A"+n)}}function nt(e){let t=oe(qe(e));if(!(0,H.isNodeLibrary)(t))return[];try{return(0,H.runtimeMode)(t),_l(e,t.node_library.evidence),[]}catch(n){return[String(n instanceof Error?n.message:n)]}}function kn(e,t,n){if(!(0,H.isNodeLibrary)(oe(qe(e))))return[];try{let r=nt(e);if(r.length)return r;let s=oe(qe(e));for(let i of(0,H.examples)(s).filter(o=>o.stage===t))(0,H.selectCases)(s,n,t,i.host_runtime);for(let i of n.cases)i.node_library?.evidence&&_l(e,i.node_library.evidence);return[]}catch(r){return[String(r instanceof Error?r.message:r)]}}function Sn(e,t,n){if(typeof n!="string"||ne.isAbsolute(n))throw Error("\u8DEF\u5F84\u5FC5\u987B\u4E3A\u5DE5\u4F5C\u533A\u76F8\u5BF9\u8DEF\u5F84");let r=X.realpathSync(ne.join(e,t)),s=X.realpathSync(ne.resolve(e,n));if(!s.startsWith(r+ne.sep)||!X.statSync(s).isFile()||!X.statSync(s).size)throw Error("\u7F3A\u5C11\u672C\u5DE5\u7A0B\u5185\u7684\u975E\u7A7A\u6587\u4EF6\uFF1A"+n);return s}var Ss=e=>yl("sha256").update(e).digest("hex"),vs=new Map;function _o(e){let t=X.statSync(e),n=`${t.dev}:${t.ino}:${t.size}:${t.mtimeMs}:${t.ctimeMs}`,r=vs.get(e);if(r?.stamp===n)return r.hash;let s=yl("sha256"),i=Buffer.allocUnsafe(1024*1024),o=X.openSync(e,"r");try{let u;for(;(u=X.readSync(o,i,0,i.length,null))>0;)s.update(i.subarray(0,u))}finally{X.closeSync(o)}let a=s.digest("hex");return vs.size>256&&vs.clear(),vs.set(e,{stamp:n,hash:a}),a}function ml(e,t,n=1,r){let s=[];function i(a){if(X.existsSync(a)){if(X.statSync(a).isFile()){let u=X.statSync(a);s.push(n>=2?`${ne.relative(e,a)}:${_o(a)}`:`${ne.relative(e,a)}:${u.size}:${u.mtimeMs}`);return}for(let u of X.readdirSync(a,{withFileTypes:!0}).sort((c,d)=>c.name.localeCompare(d.name))){if([".git","node_modules"].includes(u.name))continue;let c=ne.join(a,u.name),d=X.lstatSync(c);u.isDirectory()?i(c):s.push(n>=2?`${ne.relative(e,c)}:${u.isSymbolicLink()?X.readlinkSync(c):_o(c)}`:`${ne.relative(e,c)}:${d.size}:${d.mtimeMs}:${u.isSymbolicLink()?X.readlinkSync(c):""}`)}}}let o=t?[...n>=3?["scripts"]:[],...X.existsSync(ne.join(e,t,"demo-project.json"))?["demo-project.json","demo-recipe.json"]:[],"app-src","entry/src","electron/src","web_engine/src","AppScope","build-profile.json5","oh-package.json5"].map(a=>ne.join(t,a)):["source","patches","dist/lib"];for(let a of o)if(n>=2&&!t&&a==="dist/lib"){let u=ne.join(e,a);if(X.existsSync(u))for(let c of X.readdirSync(u).sort())c==="node"&&r==="electron-oh"||c==="electron"&&r==="device-node"||i(ne.join(u,c))}else i(ne.join(e,a));return Ss(s.join(`
107
+ `))}function bl(e,t,n,r,s,i,o=3){if(![3,6].includes(t))throw Error("stage \u5FC5\u987B\u4E3A 3 \u6216 6");let a=oe(qe(e));if(!(0,H.isNodeLibrary)(a))throw Error("\u4EC5\u652F\u6301 Node.js \u4E09\u65B9\u5E93\uFF0C\u4E0D\u9002\u7528\u4E8E\u5E94\u7528\u6216\u5176\u4ED6\u751F\u6001");let u=nt(e);if(u.length)throw Error(u.join("\uFF1B"));let c=(0,H.examples)(a).find(k=>k.stage===t&&k.host_runtime===n);if(!c)throw Error("\u8BE5\u5BBF\u4E3B\u4E0D\u662F\u5FC5\u9700 demo");let d=ne.join(qe(e),t===3?"02-baseline.json":"05-testcases.json"),l=X.readFileSync(d),p=JSON.parse(l.toString("utf8").replace(/^\uFEFF/,"")),f=kn(e,t,p);if(f.length)throw Error(f.join("\uFF1B"));let g=(0,H.selectCases)(a,p,t,n);if(!Number.isFinite(Date.parse(i))||!/(Z|[+-]\d{2}:\d{2})$/.test(i))throw Error("executed-at \u987B\u542B\u65F6\u533A\u5E76\u6765\u81EA\u8BBE\u5907\u8FD0\u884C\u8BB0\u5F55");let h=X.readFileSync(Sn(e,c.project_dir,r));if(!s.endsWith(".hap"))throw Error("hap \u5FC5\u987B\u6307\u5411\u672C\u5DE5\u7A0B HAP");let m=_o(Sn(e,c.project_dir,s)),_=h.toString("utf8");if(!_.split(/\r?\n/).some(k=>k.trim()===`OHPTCASE runtime host=${n}`||k.endsWith(`: OHPTCASE runtime host=${n}`)))throw Error("\u65E5\u5FD7\u7F3A\u5C11\u5339\u914D\u5BBF\u4E3B\u7684\u8FD0\u884C\u65F6\u6807\u8BB0");let y=ll(_,g.cases.map(k=>k.id)),S=_.split(/\r?\n/),b=S.flatMap((k,j)=>{let T=k.indexOf("OHPTHOST ");if(T<0)return[];try{return[{index:j,...JSON.parse(k.slice(T+9))}]}catch{return[]}});if(b.some(k=>k.host===n&&typeof k.platform=="string"&&k.platform!=="openharmony")&&(y.consistency.errors.push("host_platform_mismatch"),y.consistency.ok=!1,y.completed=!1),n==="device-node"&&o>=3){let k=S.findIndex(T=>/OHPTCASE (check|result)=?/.test(T));(!b.find(T=>T.host===n&&T.status==="passed"&&T.versions?.node&&T.platform==="openharmony"&&["file-io","nextTick-3","timer-3"].every(K=>T.checks?.includes(K))&&(k<0||T.index<k))||b.some(T=>T.status==="failed"))&&(y.consistency.errors.push("device_node_host_probe_missing_or_failed"),y.consistency.ok=!1,y.completed=!1)}let E=[..._.matchAll(/(?:^|: )OHPTCASE check id=(.+?) cp=(\d+) ok=([01]) expect=([^\r\n]*?) actual=([^\r\n]*)/gm)];for(let k of g.cases){if(y.roster.find(K=>K.name===k.id)?.result!=="pass")continue;let j=E.filter(K=>K[1]===k.id),T=t===6?(k.steps??[]).length:1;(!T||j.some(K=>K[3]!=="1")||(t===3?j.length===0:Array.from({length:T},(K,le)=>le).some(K=>!j.some(le=>Number(le[2])===K))))&&(y.consistency.errors.push("missing_or_failed_checkpoints:"+k.id),y.consistency.ok=!1,y.completed=!1)}return{tool:"ohpt-agent node-demo-results",stage:t,project_dir:c.project_dir,host_runtime:n,fingerprint_version:o,executed_at:i,log:r,hap:s,raw_sha256:Ss(h),hap_sha256:m,roster_sha256:Ss(l),policy_sha256:Ss(JSON.stringify(a.node_library)),inputs_sha256:ml(e,void 0,o,n),project_sha256:ml(e,c.project_dir,o,n),...y,excluded:g.excluded}}function Dn(e,t,n){let r=oe(qe(e));if(!(0,H.isNodeLibrary)(r))return[];let s=nt(e);if(s.length)return s;let i=n??vn(ne.join(qe(e),t===3?"03-adapt.json":"06-testdemo.json")),o=Array.isArray(i?.examples)?i.examples:[];for(let a of(0,H.examples)(r).filter(u=>u.stage===t))try{let u=o.filter(p=>p.project_dir===a.project_dir);if(u.length!==1)throw Error("\u5FC5\u987B\u5355\u72EC\u8BB0\u5F55\u4E00\u6B21 examples \u7ED3\u679C");let c=u[0];if(c.host_runtime!==a.host_runtime)throw Error("\u5BBF\u4E3B\u4E0D\u5339\u914D");if(Sn(e,a.project_dir,a.project_dir+"/AppScope/app.json5"),c.status!=="passed")throw Error(`\u5C1A\u672A\u5B8C\u6210\uFF1A${c.status||"not-run"} ${c.notes||""}`);let d=vn(Sn(e,a.project_dir,c.result_file));if(!d||d.tool!=="ohpt-agent node-demo-results"||d.stage!==t||d.project_dir!==a.project_dir||d.host_runtime!==a.host_runtime)throw Error("\u7ED3\u679C\u6587\u4EF6\u6765\u6E90/\u5DE5\u7A0B/\u5BBF\u4E3B\u4E0D\u5339\u914D");let l=bl(e,t,a.host_runtime,d.log,d.hap,d.executed_at,d.fingerprint_version??1);for(let p of["raw_sha256","hap_sha256","roster_sha256","policy_sha256","inputs_sha256","project_sha256"])if(l[p]!==d[p])throw Error("\u8BC1\u636E\u5DF2\u8FC7\u671F\u6216\u88AB\u4FEE\u6539\uFF1A"+p);if(!l.completed||l.counts.pass!==l.counts.total||!l.counts.total)throw Error("\u672C\u5BBF\u4E3B\u9002\u7528\u540D\u518C\u672A\u5B8C\u6574\u901A\u8FC7\uFF1A"+l.consistency.errors.join(","));if(JSON.stringify(l.roster)!==JSON.stringify(d.roster)||l.completed!==d.completed)throw Error("\u7ED3\u679C\u4E0E\u539F\u59CB\u65E5\u5FD7\u4E0D\u4E00\u81F4")}catch(u){s.push(`${a.project_dir}\uFF1A${u instanceof Error?u.message:u}`)}return s}function vl(e,t,n){return(0,H.isNodeLibrary)(oe(qe(e)))?n.status===(t===3?"built-and-verified":"passed")||t===3&&n.target_path_covered==="covered"?Dn(e,t,n):nt(e):[]}function jy(e,t,n){let r=qe(e),s=oe(r);if(!(0,H.isNodeLibrary)(s))throw Error("\u4EC5\u652F\u6301 Node.js \u4E09\u65B9\u5E93");let i=nt(e);if(i.length)throw Error(i.join("\uFF1B"));let o=vn(ne.join(r,t===3?"02-baseline.json":"05-testcases.json")),a=kn(e,t,o);if(a.length)throw Error(a.join("\uFF1B"));let u=n??vn(ne.join(r,t===3?"03-adapt.json":"06-testdemo.json")),c=new Map,d={pass:0,"not-run":1,blocked:2,fail:3};for(let p of(0,H.examples)(s).filter(f=>f.stage===t)){let f=(0,H.selectCases)(s,o,t,p.host_runtime),g=null;try{let h=u?.examples?.find(_=>_.project_dir===p.project_dir&&_.host_runtime===p.host_runtime),m=vn(Sn(e,p.project_dir,h?.result_file));if(m?.tool!=="ohpt-agent node-demo-results"||m.stage!==t||m.host_runtime!==p.host_runtime||m.project_dir!==p.project_dir)throw Error("\u7ED3\u679C\u5F52\u5C5E\u4E0D\u7B26");g=bl(e,t,p.host_runtime,m.log,m.hap,m.executed_at,m.fingerprint_version??1),(["raw_sha256","hap_sha256","roster_sha256","policy_sha256","inputs_sha256","project_sha256"].some(_=>g[_]!==m[_])||!g.completed)&&(g=null)}catch{g=null}for(let h of f.cases){let m=c.get(h.id)??[];m.push({host_runtime:p.host_runtime,result:g?.roster.find(_=>_.name===h.id)?.result??"not-run"}),c.set(h.id,m)}}let l=[...c].map(([p,f])=>({id:p,result:f.reduce((g,h)=>d[h.result]>d[g]?h.result:g,"pass"),hosts:f}));return{stage:t,total:l.length,passed:l.filter(p=>p.result==="pass").length,failed:l.filter(p=>p.result==="fail").length,blocked:l.filter(p=>p.result==="blocked").length,not_run:l.filter(p=>p.result==="not-run").length,cases:l}}function ks(e,t,n){if(!(0,H.isNodeLibrary)(oe(qe(e))))return[];try{let r=jy(e,t,n),s=[],i=t===3?n.test_run:n.coverage;for(let o of["passed","failed"])i?.[o]!==void 0&&i[o]!==r[o]&&s.push(`\u8DE8\u5BBF\u4E3B\u6C47\u603B ${o}=${i[o]} \u4E0E\u53EF\u4FE1\u7ED3\u679C ${r[o]} \u4E0D\u4E00\u81F4\uFF1B\u4F7F\u7528 node-demo-results --summary\uFF0C\u516C\u5171\u7528\u4F8B\u53D6\u6240\u6709\u9002\u7528\u5BBF\u4E3B\u6700\u5DEE\u7ED3\u679C`);if(t===6){n.status==="passed"&&(r.passed!==r.total||!r.total)&&s.push("06 status=passed \u4E0E\u8DE8\u5BBF\u4E3B\u7ED3\u679C\u4E0D\u7B26\uFF1B\u6267\u884C node-demo-results --stage 6 --summary --write-report");for(let o of["blocked","not_run"])i?.[o]!==void 0&&i[o]!==r[o]&&s.push("06 \u6C47\u603B "+o+" \u4E0D\u7B26");i?.cases_total!==r.total&&s.push("06 cases_total \u4E0E 05 \u540D\u518C\u4E0D\u7B26")}if(t===6)for(let o of n.case_results??[]){let a=r.cases.find(u=>u.id===o.case_ref);a&&o.result==="pass"&&a.result!=="pass"&&s.push(`${o.case_ref} \u5C1A\u672A\u5728\u5168\u90E8\u9002\u7528\u5BBF\u4E3B\u901A\u8FC7\uFF0C\u4E0D\u80FD\u62A5\u544A pass\uFF08\u5B9E\u9645 ${a.result}\uFF09`)}if(t===3&&r.not_run>0&&(n.test_run?.completed===!0&&s.push("\u5FC5\u9700\u5BBF\u4E3B\u4ECD\u6709\u672A\u8FD0\u884C\u7528\u4F8B\uFF0Ctest_run.completed \u4E0D\u80FD\u4E3A true\uFF1Bdegraded-skipped \u4E0D\u7B49\u4E8E\u5DF2\u6267\u884C"),n.test_run?.roster?.ran>r.total-r.not_run&&s.push("roster.ran \u628A\u672A\u5B8C\u6210\u5168\u90E8\u9002\u7528\u5BBF\u4E3B\u9A8C\u8BC1\u7684\u7528\u4F8B\u8BA1\u4E3A\u5DF2\u8DD1\uFF1B\u73AF\u5883\u964D\u7EA7\u53EA\u8BF4\u660E\u7F3A\u53E3\uFF0C\u4E0D\u80FD\u8BA1\u5165\u5DF2\u6267\u884C")),t===3)for(let o of n.test_run?.exemptions??[])r.cases.some(a=>a.id===o.name)&&s.push(`${o.name} \u4ECD\u5C5E\u4E8E\u5FC5\u9700\u5BBF\u4E3B\u540D\u518C\uFF0C\u4E0D\u80FD\u4F5C\u4E3A\u6574\u5E93\u8C41\u514D`);return s}catch(r){return[r instanceof Error?r.message:String(r)]}}import A from"node:fs";import T_ from"node:os";import D from"node:path";import{spawnSync as B_}from"node:child_process";import B from"node:fs";import L from"node:path";import{execFileSync as Fy}from"node:child_process";function kl(e){let t="",n=0,r=e.length;for(;n<r;){let s=e[n];if(s==="/"&&e[n+1]==="/"){for(;n<r&&e[n]!==`
108
+ `;)n++;continue}if(s==="/"&&e[n+1]==="*"){for(n+=2;n<r&&!(e[n]==="*"&&e[n+1]==="/");)e[n]===`
109
+ `&&(t+=`
110
+ `),n++;n+=2;continue}if(s==='"'||s==="'"){let i=s;for(t+=" ",n++;n<r&&e[n]!==i;)e[n]==="\\"&&n++,n++;n++;continue}t+=s,n++}return t}var xy=/\b(typedef|struct|union|enum|extern\s+"C"|namespace|using|template|class|friend|operator|__attribute__|__asm__|asm|__inline|inline)\b/;function Oy(e){let t=/\b(?:extern\s*(?:"[^"]*"\s*)?|namespace(?:\s+[A-Za-z_]\w*)*\s*)\{/,n=e;for(let r=0;r<64;r++){let s=t.exec(n);if(!s)return n;let i=s.index+s[0].length-1,o=0,a=-1;for(let u=i;u<n.length;u++){let c=n[u];if(c==="{")o++;else if(c==="}"&&(o--,o===0)){a=u;break}}if(a<0){n=n.slice(0,s.index)+n.slice(i+1);continue}n=n.slice(0,s.index)+n.slice(i+1,a)+n.slice(a+1)}return n}var Py=/\b(typedef|using|friend|template|enum|struct|union|class|namespace)\b/,$y=new Set(["if","for","while","switch","return","sizeof","else","do","case","int","char","void","long","short","float","double","unsigned","signed","bool"]);function Ly(e){let t=[],n="",r=0,s=/\bclass\s+(?:[A-Za-z_]\w*\s+)*?([A-Za-z_]\w*)\s*(?=[:{])/g;for(let i=0;i<512;i++){s.lastIndex=r;let o=s.exec(e);if(!o)break;if(/\benum\s+$/.test(e.slice(Math.max(0,o.index-8),o.index))){n+=e.slice(r,o.index+o[0].length),r=o.index+o[0].length;continue}let a=o.index+o[0].length;for(;a<e.length&&e[a]!=="{"&&e[a]!==";";)a++;if(a>=e.length||e[a]===";"){n+=e.slice(r,a+1),r=a+1;continue}let u=0,c=a;for(;c<e.length;c++)if(e[c]==="{")u++;else if(e[c]==="}"&&(u--,u===0))break;if(c>=e.length)break;t.push({name:o[1],body:e.slice(a+1,c)}),n+=e.slice(r,o.index),r=c+1}return n+=e.slice(r),{bodies:t,rest:n}}function Ny(e,t){let n=[],r="private",s="",i=0,o=0,a=(u,c)=>{if(r!=="public")return;let d=u.trim();if(!d||Py.test(d)||/~/.test(d)||/\(\s*\*/.test(d)||/\boperator\b/.test(d))return;let l=d.match(/([A-Za-z_]\w*)\s*\(/);if(!l)return;let p=l[1];p!==t&&($y.has(p)||/^[A-Z_]+$/.test(p)&&p.length>2||n.push({name:p,hasBody:c}))};for(let u=0;u<e.length;u++){let c=e[u];if(i>0){c==="{"?i++:c==="}"&&(i--,i===0&&(a(s,!0),s="",o=0));continue}if(c==="{"){i=1;continue}if(c==="(")o++;else if(c===")")o--;else if(c===";"&&o<=0){a(s,!1),s="";continue}else if(c===":"&&o<=0){let d=s.trim().match(/(public|private|protected)$/);if(d){r=d[1],s="";continue}}s+=c}return n}function Iy(e){let t=kl(e.replace(/@[A-Za-z_][A-Za-z0-9_]*@/g," ")).replace(/\\\r?\n/g," ").split(`
111
+ `).filter(i=>!/^\s*#/.test(i)).join(`
112
+ `),{bodies:n,rest:r}=Ly(t),s=Ty(r).map(i=>({name:i,hasBody:!1}));for(let i of n)s.push(...Ny(i.body,i.name));return s}function Ty(e){let t=kl(e.replace(/@[A-Za-z_][A-Za-z0-9_]*@/g," ")),n=[],r=t.replace(/\\\r?\n/g," "),s=Oy(r.split(`
113
+ `).filter(c=>!/^\s*#/.test(c)).join(`
114
+ `)),i=[],o="",a=0,u=0;for(let c of s.split(`
115
+ `)){let d=c.trim();if(d==="")continue;if(u>0){for(let p of d)p==="{"?u++:p==="}"&&u--;u<=0&&(u=0,o="",a=0);continue}o=o===""?d:`${o} ${d}`,a=0;let l=!1;for(let p of o)p==="("?a++:p===")"?a--:p==="{"?(u++,l=!0):p==="}"&&u--;if(l){u<=0&&(u=0,o="",a=0);continue}if(a<=0&&/;\s*$/.test(o)&&(i.push(o),o=""),i.length>5e3)break}o!==""&&i.push(o);for(let c of i){if(c=c.replace(/(?:^|\s)[A-Z_][A-Z0-9_]*\s*\([^();]*\)\s*(?=;)/,"").replace(/\s*__[A-Za-z_]\w*\s*(\([^()]*\))?\s*(?=;)/g,""),/\{/.test(c)||/\breturn\b/.test(c))continue;let d=c.match(/^(?:[A-Za-z_][\w:<>*&\s]*?)?\b([A-Za-z_]\w*)\s*\([^;]*\)\s*(?=((?:[A-Za-z_]\w*\s*(?:\([^()]*\))?\s*)*))\2;$/);if(!d)continue;let l=d[1];if(!l||/^[A-Z_]+$/.test(l)&&l.length>2||xy.test(c))continue;let p=c.slice(0,c.indexOf(l));/\)\s*$/.test(p)||n.push(l)}return n}var er=!1,By=5e3,vo=0;var My=new Set(["node_modules",".git"]);function _t(e,t,n,r){let s=r??[];if(r===void 0&&(vo=By,er=!1),vo<=0)return er=!0,s;let i;try{i=B.readdirSync(e,{withFileTypes:!0})}catch{return s}vo--;for(let o of i){let a=L.join(e,o.name);if(o.isFile()&&t.some(u=>o.name.toLowerCase().endsWith(u)))s.push(a);else if(o.isDirectory()){if(My.has(o.name))continue;_t(a,t,n-1,s)}if(s.length>4e3)return er=!0,s}return s}var rt=[".h",".hpp",".hh",".hxx"];function Hy(e){if(B.existsSync(e)&&B.statSync(e).isFile())return e;let t=`${e}.in`;return B.existsSync(t)&&B.statSync(t).isFile()?t:null}function Ky(e){return e.replace(/\\\r?\n/g," ").split(/\r?\n/)}function Uy(e){let t;try{t=B.readFileSync(e,"utf8")}catch{return[]}let n=L.dirname(e),r=[];for(let s of Ky(t)){let i=s.match(/^\s*([A-Za-z0-9_]+)_HEADERS\s*\+?=\s*(.*)$/);if(!i)continue;let o=i[1];if(!/(^|_)noinst$/.test(o))for(let a of i[2].split(/\s+/))!a||a==="\\"||a.includes("$")||rt.some(u=>a.toLowerCase().endsWith(u))&&r.push(L.resolve(n,a))}return r}function qy(e,t){let n=L.relative(L.resolve(t),L.resolve(e));return!L.isAbsolute(n)&&!n.startsWith("..")}function Vy(e,t){let n;try{n=B.readFileSync(e,"utf8")}catch{return[]}n=n.replace(/#[^\n]*/g,"");let r=L.dirname(e),s=[],i=(a,u)=>{if(!a||a.includes("$"))return;let c=L.resolve(r,a.replace(/^"|"$/g,""));if(u){if(!qy(c,t))return;s.push(..._t(c,rt,3))}else rt.some(d=>a.toLowerCase().endsWith(d))&&s.push(c)},o=/install\s*\(\s*(FILES|DIRECTORY)\s+([\s\S]*?)\)/gi;for(let a of n.matchAll(o)){let u=a[2],c=u.match(/DESTINATION\s+([^\s)]+)/i);if(!c||!/include/i.test(c[1]))continue;let d=u.split(/DESTINATION/i)[0];for(let l of d.split(/\s+/))i(l,a[1].toUpperCase()==="DIRECTORY")}for(let a of n.matchAll(/PUBLIC_HEADER\s+"?([^")\n]+)"?/gi))for(let u of a[1].split(/[;\s]+/))i(u,!1);return s}function zy(e){let t=L.join(e,"source"),n=[..._t(t,["makefile.am"],4).flatMap(Uy),..._t(t,["cmakelists.txt"],4).flatMap(i=>Vy(i,t))],r=new Set,s=[];for(let i of n){let o=Hy(i);o&&!r.has(o)&&(r.add(o),s.push(o))}return s}function Dl(e){let n=["include","includes","src/include"].map(s=>L.join(e,"source",s)).flatMap(s=>_t(s,rt,3));if(n.length===0&&(n=zy(e)),n.length===0)return null;let r=[];for(let s of n)try{r.push(...Iy(B.readFileSync(s,"utf8")))}catch{}return r}function So(e){let t=Dl(e);return t===null?null:new Set(t.filter(n=>!n.hasBody).map(n=>n.name))}function Gy(e){let t=Dl(e);return t===null?null:new Set(t.map(r=>r.name))}var Wy=`
116
+ import Module, { createRequire } from 'node:module'
117
+ import { pathToFileURL } from 'node:url'
118
+ import path from 'node:path'
119
+ import fs from 'node:fs'
120
+
121
+ const pkgDir = process.argv[1]
122
+ const wsRoot = process.argv[2]
123
+ const done = (o) => { process.stdout.write(JSON.stringify(o)); process.exit(0) }
124
+ const inside = (p) => { const r = path.relative(wsRoot, p); return Boolean(r) && !r.startsWith('..') && !path.isAbsolute(r) }
125
+
126
+ let pkg
127
+ try { pkg = JSON.parse(fs.readFileSync(path.join(pkgDir, 'package.json'), 'utf8')) }
128
+ catch { done({ ok: false, reason: 'no-package-json' }) }
129
+
130
+ const req = createRequire(path.join(pkgDir, 'package.json'))
131
+
132
+ // \u2500\u2500 \u89E3\u6790\u6839\u9489\u6B7B\u5728\u5DE5\u4F5C\u533A\u5185 \u2500\u2500
133
+ // \u4E0D\u9489\u6B7B\u4F1A\u6CBF\u7236\u76EE\u5F55\u4E00\u8DEF\u5411\u4E0A\u649E\u8FDB\u522B\u4EBA\u7684 node_modules\uFF08yazl \u5B9E\u6D4B\uFF1Asource/node_modules \u6839\u672C\u4E0D\u5B58\u5728\uFF0C
134
+ // \u5374\u56E0\u4E3A\u5DE5\u4F5C\u533A\u8EBA\u5728 pc-adapter-web-tool/ \u4E0B\u9762\u800C require \u6210\u529F\uFF0C\u4E24\u8FB9 buffer-crc32 \u6070\u597D\u540C\u7248\u672C
135
+ // \u2014\u2014\u8FD0\u6C14\u4E0D\u662F\u8BBE\u8BA1\uFF09\u3002\u7528\u522B\u4EBA\u7684\u4F9D\u8D56\u7B97\u51FA\u6765\u7684\u9762\uFF0C\u5728\u5E72\u51C0\u673A\u5668\u4E0A\u6839\u672C\u7B97\u4E0D\u51FA\u6765\u3002
136
+ const roots = [
137
+ path.join(pkgDir, 'node_modules'), // \u5305\u81EA\u5E26
138
+ path.join(wsRoot, 'tests-generated', 'host-env', 'node_modules'), // \u9636\u6BB5 2 \u88C5\u7684
139
+ path.join(wsRoot, 'node_modules'), // \u5DE5\u4F5C\u533A\u9876\u5C42
140
+ ].filter((p) => { try { return fs.statSync(p).isDirectory() } catch { return false } })
141
+
142
+ const builtin = new Set(Module.builtinModules)
143
+ const isBare = (r) => !r.startsWith('.') && !path.isAbsolute(r) && !builtin.has(r) && !r.startsWith('node:')
144
+ const origResolve = Module._resolveFilename
145
+ let leaked = null
146
+ Module._resolveFilename = function (request, parent, isMain, options) {
147
+ if (isBare(request) && roots.length) {
148
+ try { return origResolve.call(this, request, parent, isMain, { ...(options || {}), paths: roots }) } catch {}
149
+ }
150
+ const hit = origResolve.call(this, request, parent, isMain, options)
151
+ // \u9489\u6B7B\u7684\u6839\u91CC\u6CA1\u6709\u3001\u5374\u5728\u5DE5\u4F5C\u533A\u5916\u89E3\u6790\u6210\u529F \u2014\u2014 \u8FD9\u5C31\u662F\u6CC4\u6F0F\uFF0C\u6574\u6B21\u5224\u5B9A\u4F5C\u5E9F
152
+ if (isBare(request) && !inside(hit) && !builtin.has(request)) leaked = leaked || request
153
+ return hit
154
+ }
155
+
156
+ // \u2500\u2500 \u5165\u53E3\u96C6 = \u6D88\u8D39\u8005\u53EF\u8FBE\u9762 \u2500\u2500
157
+ // exports \u662F Node \u8FD0\u884C\u65F6\u5F3A\u5236\u7684\u786C\u8FB9\u754C\uFF08\u4E0D\u5728\u91CC\u9762\u7684\u8DEF\u5F84 import \u76F4\u63A5 ERR_PACKAGE_PATH_NOT_EXPORTED\uFF09\uFF0C
158
+ // \u8BED\u4E49\u4E0A\u7B49\u540C C/C++ \u6863\u7684\u300C\u6784\u5EFA\u7CFB\u7EDF\u58F0\u660E\u8981\u5B89\u88C5\u7684\u5934\u300D\u3002
159
+ const pickCondition = (v) => {
160
+ if (typeof v === 'string') return v
161
+ if (!v || typeof v !== 'object' || Array.isArray(v)) return null
162
+ for (const k of ['import', 'require', 'node', 'default']) {
163
+ if (k in v) { const r = pickCondition(v[k]); if (r) return r }
164
+ }
165
+ return null
166
+ }
167
+ const entrySpecs = () => {
168
+ const e = pkg.exports
169
+ if (typeof e === 'string') return [e]
170
+ if (e && typeof e === 'object' && !Array.isArray(e)) {
171
+ const subs = Object.keys(e).filter((k) => k.startsWith('.') && !k.includes('*'))
172
+ if (subs.length) return subs.map((k) => pickCondition(e[k])).filter(Boolean)
173
+ const one = pickCondition(e)
174
+ if (one) return [one]
175
+ }
176
+ return [pkg.main || './index.js']
177
+ }
178
+
179
+ // \u2500\u2500 \u516C\u5F00\u6027\u8FC7\u6EE4 \u2500\u2500
180
+ // JS \u552F\u4E00\u7684\u53EF\u89C1\u6027\u7EA6\u5B9A\u662F _ / # \u524D\u7F00\uFF1B__esModule \u4E0E default \u662F\u6A21\u5757\u7CFB\u7EDF\u81EA\u5DF1\u7684\u4EA7\u7269\u3002
181
+ const isPublic = (k) => typeof k === 'string' && k.length > 0 && !k.startsWith('_') && !k.startsWith('#') && k !== 'default' && k !== '__esModule'
182
+
183
+ const syms = new Set()
184
+ const protoOf = (fn, name) => {
185
+ let proto, names
186
+ try { proto = fn.prototype } catch { return }
187
+ if (!proto || typeof proto !== 'object') return
188
+ try { names = Object.getOwnPropertyNames(proto) } catch { return }
189
+ if (names.length <= 1) return // \u53EA\u6709 constructor\uFF1A\u662F\u666E\u901A\u51FD\u6570\u4E0D\u662F\u7C7B
190
+ for (const n of names) if (n !== 'constructor' && isPublic(n)) syms.add(name + '.' + n)
191
+ }
192
+ const collect = (ns) => {
193
+ const roots2 = []
194
+ // CJS \u7ECF ESM interop \u540E\u6574\u5305\u7684\u503C\u843D\u5728 default \u4E0A\uFF08ansi-styles \u7684 API \u51E0\u4E4E\u5168\u5728\u90A3\u513F\uFF09
195
+ if (ns && typeof ns === 'object' && 'default' in ns) { try { roots2.push(ns.default) } catch {} }
196
+ roots2.push(ns)
197
+ const seen = new Set()
198
+ for (const m of roots2) {
199
+ if (!m || (typeof m !== 'object' && typeof m !== 'function')) continue
200
+ if (seen.has(m)) continue
201
+ seen.add(m)
202
+ if (typeof m === 'function') { // \u6574\u5305\u5373\u4E00\u4E2A\u53EF\u8C03\u7528\u4F53\uFF08buffer-crc32 \u5F62\uFF09
203
+ const nm = (typeof m.name === 'string' && isPublic(m.name) && m.name) || pkg.name
204
+ syms.add(nm)
205
+ protoOf(m, nm)
206
+ }
207
+ let keys
208
+ try { keys = Object.keys(m) } catch { continue }
209
+ for (const k of keys) {
210
+ if (!isPublic(k)) continue
211
+ let v
212
+ try { v = m[k] } catch { continue }
213
+ // \u65B0\u7248 Node \u7684 CJS namespace \u589E\u52A0\u6574\u5305\u522B\u540D\uFF1B\u5B83\u4E0D\u662F\u5E93\u58F0\u660E\u7684 API\u3002
214
+ // \u53EA\u8FC7\u6EE4 interop \u5916\u5C42\uFF0C\u4FDD\u7559\u539F\u59CB exports \u5BF9\u8C61\u4E0A\u540C\u540D\u7684\u771F\u5B9E\u5C5E\u6027\u3002
215
+ if (m === ns && k === 'module.exports' && v === ns.default) continue
216
+ syms.add(k)
217
+ if (typeof v === 'function') protoOf(v, k)
218
+ }
219
+ }
220
+ }
221
+
222
+ const errs = []
223
+ for (const spec of entrySpecs()) {
224
+ let file
225
+ try { file = req.resolve(path.resolve(pkgDir, spec)) }
226
+ catch { try { file = req.resolve(spec) } catch (e) { errs.push(spec + ': ' + e.message.split('\\n')[0]); continue } }
227
+ if (!/\\.(js|mjs|cjs|node)$/i.test(file)) continue // exports \u91CC\u6307\u5411 package.json \u4E4B\u7C7B\u7684\u975E\u6A21\u5757\u952E
228
+ try { collect(await import(pathToFileURL(file).href)) }
229
+ catch (e) { errs.push(spec + ': ' + String(e && e.message).split('\\n')[0]); continue }
230
+ }
231
+
232
+ if (leaked) done({ ok: false, reason: 'dep-outside-workspace', detail: leaked })
233
+ if (syms.size === 0 && errs.length) done({ ok: false, reason: 'entry-load-failed', detail: errs[0] })
234
+ done({ ok: true, symbols: [...syms].sort(), errs })
235
+ `;function Jy(e){let t=L.join(e,"source");try{if(!B.statSync(L.join(t,"package.json")).isFile())return null}catch{return null}let n;try{n=Fy(process.execPath,["--input-type=module","-e",Wy,t,e],{encoding:"utf8",cwd:t,timeout:3e4,maxBuffer:8*1024*1024,stdio:["ignore","pipe","ignore"],env:{...process.env,NODE_OPTIONS:""}})}catch{return null}let r;try{r=JSON.parse(n)}catch{return null}return r.ok!==!0||!Array.isArray(r.symbols)?null:new Set(r.symbols.filter(s=>typeof s=="string"))}function El(e){try{let t=C(L.join(e,R,"manifest.json"));return typeof t.ecosystem=="string"?t.ecosystem.toLowerCase():null}catch{return null}}function ko(e){let t=El(e);return t==="nodejs"||t==="node"?Jy(e):Gy(e)}function Do(e){let t=El(e);return t==="nodejs"||t==="node"?{origin:"package.json \u7684 exports/main \u5165\u53E3\u52A0\u8F7D\u540E\u7684\u8FD0\u884C\u671F\u5BFC\u51FA\u9762",absent:"\u65E2\u6CA1\u6709 source/package.json\uFF0C\u4E5F\u53EF\u80FD\u662F\u8FD0\u884C\u4F9D\u8D56\u4E0D\u5728\u5DE5\u4F5C\u533A\u5185\u6216\u5165\u53E3\u6A21\u5757\u52A0\u8F7D\u5931\u8D25",empty:"\u5165\u53E3\u6A21\u5757\u52A0\u8F7D\u6210\u529F\uFF0C\u4F46\u4E00\u4E2A\u516C\u5F00\u5BFC\u51FA\u90FD\u6CA1\u63D0\u53D6\u51FA\u6765",extractor:"symbol-surface \u7684 collectJsExports"}:{origin:"\u516C\u5171\u5934\u6587\u4EF6\u58F0\u660E",absent:"\u65E2\u65E0\u516C\u5171\u5934\u76EE\u5F55\uFF0C\u6784\u5EFA\u7CFB\u7EDF\u4E5F\u6CA1\u58F0\u660E\u4EFB\u4F55\u8981\u5B89\u88C5\u7684\u5934\u6587\u4EF6",empty:"\u6709\u516C\u5171\u5934\u6587\u4EF6\uFF0C\u4F46\u4E00\u4E2A\u51FD\u6570\u58F0\u660E\u90FD\u6CA1\u63D0\u53D6\u51FA\u6765",extractor:"symbol-surface \u7684 installedHeaders"}}function Yy(e){return["include","includes","src/include"].map(n=>L.join(e,"source",n)).flatMap(n=>_t(n,rt,3))}function Zy(e){return _t(L.join(e,"source"),rt,1)}function Xy(e,t){let n=[],r=L.join(e,t);B.existsSync(r)&&n.push(r);try{for(let s of B.readdirSync(e,{withFileTypes:!0})){if(!s.isDirectory())continue;let i=L.join(e,s.name,t);B.existsSync(i)&&n.push(i)}}catch{}return n}function Qy(e){let t=L.join(e,"source"),n=Xy(t,"CMakeLists.txt");if(n.length===0)return[];let r=new Map,s=[];for(let a of n){let u;try{u=B.readFileSync(a,"utf8")}catch{continue}u=u.replace(/#[^\n]*/g,"");for(let c of u.matchAll(/\bset\s*\(\s*([A-Za-z_][\w]*)\s+([\s\S]*?)\)/gi))r.set(c[1],c[2]??"");for(let c of[/\binstall\s*\(([\s\S]*?)\)/gi,/\bset_target_properties\s*\(([\s\S]*?)\)/gi])for(let d of u.matchAll(c))s.push(d[1]??"")}let i=[],o=(a,u)=>{for(let c of a.split(/\s+/)){let d=c.replace(/"/g,"").trim();if(!d)continue;if(/^\$\{[^}]+\}$/.test(d)){let p=d.slice(2,-1);if(u.has(p))continue;u.add(p);let f=r.get(p);f&&o(f,u);continue}let l=d.replace(/^.*[\\/]/,"");rt.some(p=>l.toLowerCase().endsWith(p))&&i.push(l)}};for(let a of s)/(PUBLIC_HEADER|DESTINATION\s+\S*include|INCLUDEDIR)/i.test(a)&&o(a,new Set);return[...new Set(i)]}function Al(e,t){er=!1;let n=_t(L.join(e,"source"),rt,4),r=er,s=new Map;for(let g of n){let h=L.basename(g),m=s.get(h);m?m.push(g):s.set(h,[g])}let i=g=>(s.get(g)??[]).map(h=>L.resolve(h)),o=Yy(e),a=Qy(e).flatMap(g=>i(g)),u=[];for(let g of t)if(rt.some(h=>g.toLowerCase().endsWith(h)))try{B.statSync(g).isFile()&&u.push(L.resolve(g))}catch{}let d=o.length>0||a.length>0||u.length>0?[]:Zy(e),l=new Set([...u,...o,...a,...d]);if(l.size===0)return[];let p=/^[ \t]*#[ \t]*include[ \t]*"([^"]+)"/gm,f=[];for(let g of l){let h;try{h=B.readFileSync(g,"utf8")}catch{continue}for(let m of h.matchAll(p)){let _=m[1];if(!_)continue;let y=L.basename(_),S=s.get(y);if(!S||S.length===0)continue;S.some(E=>l.has(L.resolve(E)))||f.push({header:L.basename(g),include:y,indexTruncated:r})}}return f}var Sl=0,e0=1,t0=2,n0=2,wl=11;function Ds(e){if(e.length<64||e.readUInt32BE(0)!==2135247942)return null;let t=e[4],n=e[5];if(t!==2)return null;let r=n===1,s=(c,d)=>d==="u16"?r?e.readUInt16LE(c):e.readUInt16BE(c):d==="u32"?r?e.readUInt32LE(c):e.readUInt32BE(c):r?e.readBigUInt64LE(c):e.readBigUInt64BE(c),i=s(40,"u64"),o=Number(s(58,"u16")),a=Number(s(60,"u16")),u=Number(s(62,"u16"));return typeof i!="bigint"||i===0n||a===0||o<64?null:{is64:!0,littleEndian:r,shOff:i,shEntSize:o,shNum:a,shStrNdx:u}}function Eo(e,t){let n=[];for(let r=0;r<t.shNum;r++){let s=Number(t.shOff)+r*t.shEntSize;if(s+64>e.length)return null;let i=t.littleEndian,o=i?e.readUInt16LE(s+4):e.readUInt16BE(s+4),a=i?e.readBigUInt64LE(s+24):e.readBigUInt64BE(s+24),u=i?e.readBigUInt64LE(s+32):e.readBigUInt64BE(s+32),c=i?e.readUInt32LE(s+40):e.readUInt32BE(s+40),d=Number(i?e.readBigUInt64LE(s+56):e.readBigUInt64BE(s+56));n.push({type:o,offset:a,size:u,link:c,entSize:d})}return n}function Ao(e,t,n="defined"){let r=Ds(e);if(!r)return null;let s=Eo(e,r);if(!s)return null;let i=new Set;for(let o of s){if(o.type!==t||o.link>=s.length)continue;let a=s[o.link],u=Number(a.offset),c=Number(a.size);if(u+c>e.length)continue;let d=e.subarray(u,u+c),l=o.entSize||24,p=Number(o.size/BigInt(l)),f=Number(o.offset);for(let g=0;g<p;g++){let h=f+g*l;if(h+24>e.length)break;let m=r.littleEndian,_=m?e.readUInt32LE(h):e.readUInt32BE(h),y=e[h+4],S=m?e.readUInt16LE(h+6):e.readUInt16BE(h+6);if(n==="defined"?S===Sl:S!==Sl)continue;let b=y>>4;if(b!==e0&&b!==t0||_>=d.length)continue;let E=_,k=Math.min(d.length,_+512);for(;E<k&&d[E]!==0;)E++;let j=d.subarray(_,E).toString("utf8");j.length!==0&&i.add(j)}}return i}function En(e){try{let t=B.readFileSync(e);return Ao(t,wl)}catch{return null}}function Cl(e,t){try{let n=B.readFileSync(e),r=Ds(n);if(!r)return null;let s=Eo(n,r);if(!s||r.shStrNdx>=s.length)return null;let i=s[r.shStrNdx],o=Number(i.offset),a=Number(i.size);if(o+a>n.length)return null;let u=r.littleEndian;for(let c=0;c<r.shNum;c++){let d=Number(r.shOff)+c*r.shEntSize;if(d+64>n.length)return null;let l=u?n.readUInt32LE(d):n.readUInt32BE(d);if(l>=a)continue;let p=o+l,f=p,g=Math.min(o+a,p+64);for(;f<g&&n[f]!==0;)f++;if(n.subarray(p,f).toString("utf8")===t)return!0}return!1}catch{return null}}function wo(e,t){if(t.has(e))return!0;let n=`${e.length}${e}`;for(let r of t){if(!r.startsWith("_Z"))continue;let s=0;for(;;){let i=r.indexOf(n,s);if(i<0)break;if(i===0||!/[0-9]/.test(r[i-1]))return!0;s=i+1}}return!1}var r0=6,s0=0n,i0=1n,o0=3;function Rl(e){try{return Ao(B.readFileSync(e),wl,"imported")}catch{return null}}function Es(e){let t;try{t=B.readFileSync(e)}catch{return null}let n=Ds(t);if(!n)return null;let r=Eo(t,n);if(!r)return null;for(let s of r){if(s.type!==r0||s.link>=r.length)continue;let i=r[s.link],o=Number(i.offset),a=Number(i.size);if(o+a>t.length)continue;let u=t.subarray(o,o+a),c=Number(s.offset),d=Number(s.size);if(c+d>t.length)continue;let l=n.littleEndian,p=[];for(let f=c;f+16<=c+d;f+=16){let g=l?t.readBigInt64LE(f):t.readBigInt64BE(f);if(g===s0)break;if(g!==i0)continue;let h=Number(l?t.readBigUInt64LE(f+8):t.readBigUInt64BE(f+8));if(h>=u.length)continue;let m=h,_=Math.min(u.length,h+512);for(;m<_&&u[m]!==0;)m++;let y=u.subarray(h,m).toString("utf8");y&&p.push(y)}return p}return null}function jl(e){let t;try{t=B.readFileSync(e)}catch{return null}let n=Ds(t);if(!n)return null;let r=n.littleEndian,s=Number(r?t.readBigUInt64LE(32):t.readBigUInt64BE(32)),i=r?t.readUInt16LE(54):t.readUInt16BE(54),o=r?t.readUInt16LE(56):t.readUInt16BE(56);if(s===0||i<56)return null;for(let a=0;a<o;a++){let u=s+a*i;if(u+56>t.length)break;if((r?t.readUInt32LE(u):t.readUInt32BE(u))!==o0)continue;let d=Number(r?t.readBigUInt64LE(u+8):t.readBigUInt64BE(u+8)),l=Number(r?t.readBigUInt64LE(u+32):t.readBigUInt64BE(u+32));return d+l>t.length||l===0?null:t.subarray(d,d+l).toString("utf8").replace(/\0.*$/s,"")}return null}function As(e){let t=L.basename(e);if(t.endsWith(".node"))return"node-addon";if(/\.so(\.\d+)*$/.test(t))return"shared-lib";if(/\.(a|dylib|dll|lib|jar|whl|hap|so\.debug)$/i.test(t))return null;try{let n=B.openSync(e,"r");try{let r=Buffer.alloc(18);if(B.readSync(n,r,0,18,0)<18||r[0]!==127||r[1]!==69||r[2]!==76||r[3]!==70)return null;let i=r[5]!==2?r.readUInt16LE(16):r.readUInt16BE(16);return i===2||i===3?"executable":null}finally{B.closeSync(n)}}catch{return null}}function Fl(e){let t;try{t=B.readdirSync(e).filter(r=>r.toLowerCase().endsWith(".o"))}catch{return null}if(t.length===0)return null;let n=new Set;for(let r of t)try{let s=Ao(B.readFileSync(L.join(e,r)),n0);if(s)for(let i of s)n.add(i)}catch{}return n.size>0?n:null}function xl(e){let t;try{t=JSON.parse(B.readFileSync(L.join(e,".ohos-adaptation-pc","00-env.json"),"utf8")).capabilities?.sdk?.path}catch{return null}if(!t)return null;let n=[L.join(t,"default","openharmony","native","sysroot","usr","lib","aarch64-linux-ohos","libc.so"),L.join(t,"openharmony","native","sysroot","usr","lib","aarch64-linux-ohos","libc.so")];for(let r of n){try{if(!B.statSync(r).isFile())continue}catch{continue}return En(r)}return null}function Ol(e){let t=[L.join(e,"dist","lib"),L.join(e,"dist"),L.join(e,"build")],n=new Map;for(let r of t){let s=(i,o)=>{if(o<0)return;let a;try{a=B.readdirSync(i,{withFileTypes:!0})}catch{return}for(let u of a){let c=L.join(i,u.name);if(u.isFile()){let d=As(c);d&&n.set(c,d)}else u.isDirectory()&&s(c,o-1)}};s(r,2)}return[...n].map(([r,s])=>({path:r,cls:s}))}function tr(e){let t=[L.join(e,"dist","lib"),L.join(e,"dist"),L.join(e,"build")],n=new Set;for(let r of t){let s=(i,o)=>{if(o<0)return;let a;try{a=B.readdirSync(i,{withFileTypes:!0})}catch{return}for(let u of a){let c=L.join(i,u.name);u.isFile()&&/\.so(\.\d+)*$/.test(u.name)?n.add(c):u.isDirectory()&&s(c,o-1)}};s(r,2)}return[...n]}function Pl(e){return[L.join(e,"build","obj"),L.join(e,"build")].filter(n=>{try{return B.readdirSync(n).some(r=>r.toLowerCase().endsWith(".o"))}catch{return!1}})}var bt=["libc.so.6","libm.so.6","libpthread.so.0","libdl.so.2","librt.so.1","libresolv.so.2","libnsl.so.1","libutil.so.1","libcrypt.so.1","libgcc_s.so.1"].map(e=>({soname:e,why:"glibc-only soname\u2014\u2014OHOS musl \u628A libm/libdl/libpthread/librt \u5168\u5E76\u8FDB libc.so\uFF08sysroot \u91CC\u53EA\u6709\u7A7A .a \u6869\uFF09\uFF0C\u8BF4\u660E\u94FE\u5230\u4E86\u975E\u9E3F\u8499 sysroot"})),$l=["/lib/ld-linux-aarch64.so.1","/lib64/ld-linux-x86-64.so.2","/lib/ld-linux.so.2"].map(e=>({path:e,why:"glibc \u52A8\u6001\u52A0\u8F7D\u5668\u2014\u2014\u9E3F\u8499\u8BBE\u5907\u4E0A\u4E0D\u5B58\u5728\u8BE5\u8DEF\u5F84\uFF0C\u8FDB\u7A0B\u8D77\u4E0D\u6765"})),Ll={soname:"libace_napi.z.so",why:"\u90A3\u662F ArkTS/HAP \u6A21\u5757\u7684 NAPI \u5B9E\u73B0\uFF0CNode/Electron \u63D2\u4EF6\u4E0D\u8BE5\u94FE\u5B83\uFF08\u5BBF\u4E3B\u81EA\u5DF1\u63D0\u4F9B napi\uFF09"},Nl=["napi_","node_api_","_ZN2v8","_ZN4node"],a0=[{host:"hap-dlopen",label:"HAP \u8FDB\u7A0B\u5185 dlopen / \u94FE\u8FDB app \u57DF ELF",contract:{"shared-lib":{forbidNeeded:bt},"node-addon":{forbidNeeded:bt},executable:{forbidNeeded:bt,forbidInterp:$l}},supply:"scaffold",requires:[]},{host:"device-node",label:"\u8BBE\u5907\u7AEF Node \u8FD0\u884C\u65F6\uFF08\u968F\u79C1\u6709 HNP \u81EA\u5E26\uFF09",contract:{"node-addon":{requireUndefAny:{prefixes:Nl,why:"\u5BBF\u4E3B\u8FD0\u884C\u65F6\u7B26\u53F7\u5FC5\u987B\u7559\u7ED9 dlopen \u65F6\u7684\u5BBF\u4E3B\u89E3\u6790\uFF08CMake \u7684 OHOS_ALLOW_UNDEFINED_SYMBOLS=1\uFF09\u3002\u4E00\u4E2A\u90FD\u4E0D\u7559\uFF0C\u8BF4\u660E\u628A\u67D0\u4E2A\u8FD0\u884C\u65F6\u7684\u5B9E\u73B0\u9759\u6001\u94FE\u8FDB\u6765\u4E86\u2014\u2014\u90A3\u6837\u7684\u4EA7\u7269\u53EA\u80FD\u8DD1\u5728\u90A3\u4E2A\u8FD0\u884C\u65F6\u91CC"},forbidNeeded:[...bt,Ll]},"shared-lib":{forbidNeeded:bt},executable:{forbidNeeded:bt,forbidInterp:$l}},carriers:["cli"],supply:"scaffold",requires:["ndk"]},{host:"electron-oh",label:"Electron-OH \u5185\u7F6E Node\uFF08HAP \u5185 libelectron.so\uFF09",contract:{"node-addon":{forbidUndef:Nl.map(e=>({prefix:e,why:"electron-napi-library/lib/libshim.a \u6CA1\u6709\u88AB\u94FE\u8FDB\u6765\uFF08binding.gyp \u7684 libraries \u5199\u5728\u4E86\u9519\u8BEF\u7684 target\u3001<(module_root_dir) \u672A\u5C55\u5F00\uFF0C\u6216 node-pre-gyp/prebuild \u91CD\u5199\u4E86 binding.gyp\uFF1B\u4E5F\u53EF\u80FD\u5F52\u6863\u5728\u94FE\u63A5\u884C\u4E0A\u6392\u5728\u76EE\u6807\u6587\u4EF6\u4E4B\u524D\uFF09\u3002\u5B83\u80FD\u7F16\u80FD\u88C5\uFF0C\u53EA\u5728 Electron \u91CC dlopen \u65F6\u6B7B"})),forbidNeeded:[...bt,Ll,{soname:"libelectron.so",why:"shim \u5728\u8FD0\u884C\u65F6\u81EA\u5DF1 dlopen \u5B83\uFF0C\u4E0D\u8BE5\u8FDB DT_NEEDED\u2014\u2014HAP \u7684\u547D\u540D\u7A7A\u95F4\u91CC\u6CA1\u6709\u8FD9\u4E2A\u641C\u7D22\u8DEF\u5F84\uFF0C\u88C5\u5F97\u4E0A\u4E5F\u89E3\u6790\u4E0D\u4E86"}]},"shared-lib":{forbidNeeded:bt}},carriers:["hap"],supply:"host-project",requires:["electron_toolchain"],guide:"pc-knowledge-base/electron/electron.md",installDirs:["/data/storage/el1/bundle/electron/libs/arm64","/data/storage/el1/bundle/libs/arm64","/data/storage/el1/bundle/electron/libs/arm64-v8a","/data/storage/el1/bundle/libs/arm64-v8a"]}],Il="hap-dlopen",Co=new Map(a0.map(e=>[e.host,e]));function Ve(e){return e&&Co.get(e)||Co.get(Il)}function vt(e,t,n){if(e&&Co.has(e))return e;let r=String(t??"").toLowerCase();return(r==="nodejs"||r==="node")&&(n==="native-extension"||n==="pure-runtime")?"device-node":Il}import ql from"node:path";var Bl={"graphical-window":{evidence:"render",judge:"human-visual"},"gl-context":{evidence:"render",judge:"human-visual"},ui:{evidence:"render",judge:"human-visual"},"system-file-icon":{evidence:"render",judge:"human-visual"},"swing-jdk-gui":{evidence:"render",judge:"human-visual"},"terminal-render":{evidence:"render",judge:"machine"},"terminal-runtime":{evidence:"device-log",judge:"machine"},audio:{evidence:"audio-output",judge:"human-audible"},input:{evidence:"device-log",judge:"human-interactive"}},ws=Object.fromEntries(Object.entries(Bl).map(([e,t])=>[e,t.evidence])),c0="device-log";var Tl={render:2,"audio-output":1,"device-log":0};function Ne(e){let t=c0;for(let n of e){let r=ws[n];r&&Tl[r]>Tl[t]&&(t=r)}return t}function Ml(e){let t=["human-interactive","human-visual","human-audible"],n=new Set;for(let r of e){let s=Bl[r]?.judge;s&&s!=="machine"&&n.add(s)}return t.filter(r=>n.has(r))}var u0=Object.keys(ws).filter(e=>ws[e]==="render"),l0={"terminal-render":"terminal"};function Hl(e){return e.some(t=>l0[t]==="terminal")?"terminal":"gui"}function st(e,t){return e==="app"?!0:e==="cpp-lib"||e==="native-extension"||e==="pure-runtime"?Ne(t)==="render":!1}function Cs(e,t,n){if(e==="app-unsupported")return[];let r=n?Ve(n).carriers:void 0;return r?[...r]:e==="app"?["hap"]:e==="cli"?["cli"]:Ne(t)==="render"?Hl(t)==="terminal"?["hap","cli"]:["hap"]:["hap","cli"]}function Kl(e){return e?Ve(e).supply:"scaffold"}var d0={"hap-render":{python:"python-gui-owb",default:"cpp-gui-owb-demo"},"hap-terminal":{default:"cpp-terminal-demo"},hap:{python:"python-app-embedded",nodejs:"cli-hnp-runner",node:"cli-hnp-runner",default:"cpp-lib-demo"},cli:{default:"cli-hnp-runner"}},p0={nodejs:"electron-app",node:"electron-app"};function An(e,t,n,r){if(r==="app"){let a=String(n??"").toLowerCase();return p0[a]??null}let s=e==="hap"&&Ne(t)==="render"?Hl(t)==="terminal"?"hap-terminal":"hap-render":e,i=d0[s],o=String(n??"").toLowerCase();return i[o]??i.default??null}var Ul={hap:"HAP \u5185\u8C03\u7528\uFF08napi \u58F3 / \u4E0A\u5C4F\uFF09",cli:"CLI \u6267\u884C\uFF08\u79C1\u6709 HNP \u6267\u884C\u5668\uFF0Capp \u57DF fork+execv\uFF09"};function Ro(e){try{let t=C(ql.join(e,"03-adapt.json"));return typeof t.ecosystem=="string"?t.ecosystem:null}catch{return null}}function Kt(e){try{let t=C(ql.join(e,"manifest.json"));return{form:typeof t.delivery_form=="string"?t.delivery_form:null,domains:Array.isArray(t.capability_domains)?t.capability_domains.filter(n=>typeof n=="string"):[],ecosystem:typeof t.ecosystem=="string"?t.ecosystem:null,host:typeof t.host_runtime=="string"?t.host_runtime:null}}catch{return{form:null,domains:[],ecosystem:null,host:null}}}function Vl(e){let{form:t,domains:n,ecosystem:r,host:s}=Kt(e);if(!t)return[];let i=r??Ro(e),o=vt(s,i,t),a=Ve(o);return Cs(t,n,o).map(u=>{let c=t==="app"||a.supply!=="host-project"?An(u,n,i,t):null;return{carrier:u,...c?{kind:c}:{},supply:c?"scaffold":Kl(o),...a.guide?{guide:a.guide}:{}}})}import jo from"node:fs";import Rs from"node:path";var f0=/DocumentViewPicker|@ohos\.file\.picker|picker\.DocumentSelectOptions/,h0=new Set([".ets",".ts",".js",".java",".kt",".cpp",".cc",".c",".h",".patch",".diff"]),g0=["harmony-app","harmony-demo","patches"],m0=new Set(["node_modules","oh_modules","build",".git",".hvigor",".preview"]),y0=2*1024*1024,zl=6e3;function Gl(e,t=5){let n=[],r=0,s=i=>{if(n.length>=t||r>=zl)return;let o;try{o=jo.readdirSync(i,{withFileTypes:!0})}catch{return}for(let a of o){if(n.length>=t||r>=zl)return;let u=Rs.join(i,a.name);if(a.isDirectory()){m0.has(a.name)||s(u);continue}if(!(!a.isFile()||!h0.has(Rs.extname(a.name).toLowerCase()))){r+=1;try{if(jo.statSync(u).size>y0)continue;f0.test(jo.readFileSync(u,"utf8"))&&n.push(Rs.relative(e,u))}catch{}}}};for(let i of g0)s(Rs.join(e,i));return n}function Wl(e){let t=Array.isArray(e)?e.map(n=>String(n??"")).join(`
236
+ `):String(e??"");return/file[-_ ]?picker|文件选择器|DocumentViewPicker|JFileChooser|QFileDialog|文件对话框/i.test(t)}import Rn from"node:fs";import se from"node:path";import _0 from"node:fs";import js from"node:path";var b0="testcase-defect",Fs="05-testcases.json";function Jl(e){try{let t=_0.readFileSync(e,"utf8");return JSON.parse(t.charCodeAt(0)===65279?t.slice(1):t)}catch{return null}}function xs(e){let t=js.join(js.resolve(e),R),n=Jl(js.join(t,"06-testdemo.json"));if(!n)return[];let r=Array.isArray(n.case_results)?n.case_results:[],s=new Set;for(let u of r){if(String(u?.result??"")!=="fail")continue;let c=u?.analysis??{};if(String(c.suspected_cause??"")!==b0)continue;let d=String(u?.case_ref??"");d&&s.add(d)}if(s.size===0)return[];let i=Jl(js.join(t,Fs));if(!i)return[];let o=Array.isArray(i.cases)?i.cases:[],a=new Set(o.filter(u=>u?.amendment&&typeof u.amendment=="object").map(u=>String(u?.id??"")));return[...s].filter(u=>!a.has(u)).sort()}import Yl from"node:fs";function v0(){let e=(process.env.OHPT_STAGES||"").trim();if(!e)return{};let t={};for(let n of e.split(",")){let r=n.trim();if(r)if(r.startsWith("-")){let s=r.slice(1).trim();s&&(t[s.toLowerCase()]=!1)}else{let s=(r.startsWith("+")?r.slice(1):r).trim();s&&(t[s.toLowerCase()]=!0)}}return t}function S0(){try{let e=JSON.parse(Yl.readFileSync(Oe,"utf8"));if(!e.stages||typeof e.stages!="object")return{};let t={};for(let[n,r]of Object.entries(e.stages))typeof r=="boolean"&&(t[n.toLowerCase()]=r);return t}catch{return{}}}function Zl(e,t){let n=e.toLowerCase(),r=v0();if(n in r)return r[n];let s=S0();return n in s?s[n]:t}function k0(e){return e.split(",").map(t=>t.trim().toLowerCase()).filter(Boolean)}function Xl(e,t){let n=e.toLowerCase(),r=k0(process.env.OHPT_TRACKS||"");if(r.length>0)return r.includes(n);try{let s=JSON.parse(Yl.readFileSync(Oe,"utf8"));if(Array.isArray(s.tracks)){let i=s.tracks.filter(o=>typeof o=="string").map(o=>o.toLowerCase());if(i.length>0)return i.includes(n)}}catch{}return t}import Ee from"node:fs";import Ie from"node:path";import{createHash as D0,randomUUID as wD}from"node:crypto";var Fo="human-review.json";function St(){return process.env.OHPT_SURFACE==="cli"&&process.env.OHPT_HUMAN_REVIEW!=="off"}function Os(e){return Array.isArray(e)?`[${e.map(Os).join(",")}]`:e&&typeof e=="object"?`{${Object.entries(e).sort(([t],[n])=>t.localeCompare(n)).map(([t,n])=>`${JSON.stringify(t)}:${Os(n)}`).join(",")}}`:JSON.stringify(e)??"null"}function wn(e){return D0("sha256").update(e).digest("hex")}function xo(e,t){return Ie.join(e,R,t)}function E0(e,t){return wn(Os(C(xo(e,t))))}function Ql(e,t){let n=Un(e,t);if(!n.valid)throw new Error(`${t}: ${n.message} ${n.errors.map(r=>`${r.path} ${r.message}`).join("; ")}`);return e}function Ps(e){let t=xo(e,Fo);return Ee.existsSync(t)?Ql(C(t),"human-review").records:[]}function ed(e){let t=C(xo(e,"01-scan.json"));Ql(t,"scan");let n=wn(Os(t)),r=`plan-${n}`;return Ps(e).find(s=>s.id===r)??{id:r,checkpoint:"plan",status:"pending",inputs:{"01-scan.json":n},files:{},created_at:new Date().toISOString()}}function nr(e){return Ps(e).reverse().find(t=>t.checkpoint==="test-change"&&t.status!=="completed"&&t.status!=="superseded")}function A0(e,t,n=!1){if(!t||Ie.isAbsolute(t)||t.includes("\\")||t.split("/").includes(".."))throw new Error(`\u8BC4\u5BA1\u8DEF\u5F84\u5FC5\u987B\u662F\u5DE5\u4F5C\u533A\u76F8\u5BF9\u8DEF\u5F84: ${t}`);let r=Ie.resolve(e,t),s=r;for(;n;)try{Ee.lstatSync(s);break}catch(a){if(a.code!=="ENOENT")throw a;let u=Ie.dirname(s);if(u===s)throw a;s=u}let i=Ee.realpathSync(s),o=Ie.relative(Ee.realpathSync(e),i);if(o.startsWith("..")||Ie.isAbsolute(o)||(s===r?!Ee.statSync(i).isFile():!Ee.statSync(i).isDirectory()))throw new Error(`\u8BC4\u5BA1\u6587\u4EF6\u4E0D\u5728\u5DE5\u4F5C\u533A\u5185\u6216\u4E0D\u662F\u6587\u4EF6: ${t}`);return r}function w0(e,t,n=!1){let r=A0(e,t,n);return Ee.existsSync(r)?wn(Ee.readFileSync(r)):"absent"}function Oo(e,t,n=!1){try{return Object.entries(t.inputs).every(([r,s])=>E0(e,r)===s)&&(!n||Object.entries(t.files).every(([r,s])=>w0(e,r,s==="absent")===s))}catch{return!1}}function Po(e,t){let n={...t.inputs};return t.resume_stage===2?delete n["02-baseline.json"]:t.baseline_after&&(n["02-baseline.json"]=t.baseline_after),Oo(e,{...t,inputs:n})}function td(e){if(!St())return!1;try{let t=nr(e);return t?.status==="applying"&&t.resume_stage===2&&Po(e,t)&&t.proposal?.files.includes(`${R}/02-baseline.json`)===!0}catch{return!1}}function $s(e){let t=Ie.join(e,R),n=Ee.readdirSync(t).filter(s=>/^dev_adapt_code_loop\d+\.results\.json$/.test(s)).sort().map(s=>`${s}:${wn(Ee.readFileSync(Ie.join(t,s)))}`),r=s=>{if(Ee.existsSync(s))for(let i of Ee.readdirSync(s,{withFileTypes:!0}).sort((o,a)=>o.name.localeCompare(a.name))){let o=Ie.join(s,i.name);i.isDirectory()?r(o):i.isFile()&&n.push(`${Ie.relative(e,o)}:${wn(Ee.readFileSync(o))}`)}};return r(Ie.join(e,"patches")),wn(n.join(`
237
+ `))}var Cn=class extends Error{};var sd=[{track:"main",label:"\u9002\u914D\u4E3B\u7EBF",orchestrator:"pc-adapter",published:!0,defaultActive:!0},{track:"test",label:"\u6D4B\u8BD5\u7EBF",orchestrator:"pc-test",published:!1,defaultActive:!1},{track:"remote",label:"\u8FDC\u7A0B\u6784\u5EFA\u7EBF",orchestrator:"pc-remote",published:!1,defaultActive:!1}];function C0(e){let t=sd.find(n=>n.track===e);if(!t)throw new Error(`\u672A\u767B\u8BB0\u7684\u8F68\u9053\uFF1A${e}\u2014\u2014\u8BF7\u5728 TRACK_CONTRACT \u52A0\u4E00\u884C`);return t}var W=[{stage:1,name:"pc-01-analyze",enabled:!0,artifact:"01-scan.json",report:"01-scan-report.md",owns:[]},{stage:2,name:"pc-02-dev-test-cases",enabled:!0,optional:{key:"baseline",default:!0},artifact:"02-baseline.json",report:"02-baseline-report.md",owns:["tests-generated","patches/baseline-repair-*"]},{stage:3,name:"pc-03-dev-adapt-code",verifier:"pc-03-dev-verify",enabled:!0,artifact:"03-adapt.json",report:"03-adapt-report.md",owns:["source","patches","build","dist","deps","harmony-demo","harmony-demo-electron","harmony-app","tests-generated"]},{stage:4,name:"pc-04-summary",enabled:!0,needsEnv:!1,artifact:"04-summary.json",report:"04-summary-report.md",owns:[]},{stage:5,name:"pc-test-05-design",track:"test",enabled:!0,needsEnv:!1,artifact:"05-testcases.json",report:"05-testcases-report.md",owns:[]},{stage:6,name:"pc-test-06-demo",track:"test",enabled:!0,artifact:"06-testdemo.json",report:"06-testdemo-report.md",owns:["test-demo","test-demo-electron","tests-generated"]},{stage:7,name:"pc-remote-07-build",preparer:"pc-remote-prepare",track:"remote",enabled:!0,needsEnv:!1,artifact:"07-remotebuild.json",report:"07-remotebuild-report.md",owns:["dist/remote/**"],readOnly:["source","patches","build","deps","dist","harmony-demo","harmony-demo-electron","harmony-app","tests-generated","test-demo","test-demo-electron",".ohos-adaptation-pc/00-env.json",".ohos-adaptation-pc/01-*",".ohos-adaptation-pc/02-*",".ohos-adaptation-pc/03-*",".ohos-adaptation-pc/04-*",".ohos-adaptation-pc/05-*",".ohos-adaptation-pc/06-*"]}];function nd(e){return W.findIndex(t=>t.stage===e)}function it(e){return e.track??"main"}function $o(e){let t=W.find(n=>n.name===e||n.verifier===e||n.preparer===e);return t?t.stage:null}function ot(e){let t=it(e);return Xl(t,C0(t).defaultActive)?e.optional?Zl(e.optional.key,e.optional.default):e.enabled:!1}function Ns(e){return W.find(t=>t.stage===e)?.needsEnv!==!1}function id(){let e=[];for(let t of W){let n=it(t);!e.includes(n)&&ot(t)&&e.push(n)}return e}function Lo(e){let t=W.find(n=>n.stage===e);return t?ot(t):!1}function Is(e){return W.some(t=>!ot(t)&&t.artifact===e)}var R0=new Set(["00-env.json","adaptation-choice.json","env-decision.json",Fo,"human-checkpoint.json","registry-staging.json","prescan-report.yaml","prescan-dispositions.json"]);function j0(e){let t=se.resolve(e);try{(!Rn.existsSync(t)||!Rn.statSync(t).isDirectory())&&(t=se.dirname(t))}catch{t=se.dirname(t)}for(let n=0;n<32;n++){try{if(Rn.existsSync(se.join(t,R)))return t}catch{}let r=se.dirname(t);if(r===t)break;t=r}return null}function F0(e,t){let n=se.join(e,R),r=W.filter(i=>ot(i)&&(!t||it(i)===t)),s=r.length>0?r:W.filter(ot);for(let i of s)try{if(!Rn.existsSync(se.join(n,i.artifact)))return i.stage}catch{return i.stage}return s.length>0?s[s.length-1].stage:W[0].stage}function Ls(e){return W.find(t=>t.stage===e)}function Ut(e,t,n){if(!e.includes("/"))return e===n;if(e.endsWith("/**")){let s=e.slice(0,-3);return t===s||t.startsWith(s+"/")}return new RegExp("^"+e.split("*").map(s=>s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("[^/]*")+"$").test(t)}function od(e,t){let n=W.find(s=>ot(s)&&s.owns.some(i=>i.endsWith("/**")&&Ut(i,e,t)));if(n)return n.stage;let r=W.find(s=>ot(s)&&s.owns.some(i=>Ut(i,e,t)));return r?r.stage:null}function x0(e,t){let n=se.join(e,R),r=nd(t);if(r<0)return null;let s=it(W[r]);for(let i of W)if(it(i)===s&&!(nd(i.stage)<=r)&&ot(i))try{if(Rn.existsSync(se.join(n,i.artifact)))return i}catch{}return null}function rd(e){let t=W.find(n=>n.artifact===e||n.report===e);return t?t.stage:null}function O0(e){if(e==="manifest.json")return"\u4ECE 01-scan.json \u540C\u6B65";for(let[t,n]of Object.entries(Je))if(n!=="manifest"&&t.replace(/\.json$/,"-report.md")===e)return`\u4ECE ${t} \u6E32\u67D3`;return null}function P0(e,t,n){let r=se.relative(t,se.resolve(e));if(!r||r.startsWith("..")||se.isAbsolute(r))return null;let s=r.split(se.sep).filter(Boolean);if(s.length===0)return null;let i=s[0],o=s.join("/"),a=Ls(n);if(a?.readOnly?.some(p=>Ut(p,o,i))&&!a.owns.some(p=>Ut(p,o,i))){let p=W.find(f=>f.stage!==n&&f.owns.some(g=>Ut(g,o,i)));return{relPath:r,ownerStage:p?.stage??null,message:`${r} \u662F\u9636\u6BB5 ${n} \u7684\u53EA\u8BFB\u8F93\u5165\uFF0C\u4E0D\u80FD\u4FEE\u6539\u6216\u56DE\u704C\u3002`}}let u=a?`\u9636\u6BB5 ${n}\uFF08${a.name}\uFF09`:`\u9636\u6BB5 ${n}`;if(i===R){if(s.length<2)return null;let p=s[s.length-1],f=O0(p);if(f)return{relPath:r,ownerStage:rd(p)??0,message:`${r} \u7531 PostWrite Hook \u5728\u9636\u6BB5 JSON \u901A\u8FC7\u6821\u9A8C\u65F6${f}\u3001\u81EA\u884C\u843D\u76D8\uFF0C**\u4F60\u5199\u7684\u5185\u5BB9\u4F1A\u88AB\u6574\u4EFD\u8986\u76D6**\u2014\u2014\u8FD9\u6B21\u5199\u5165\u662F\u7EAF\u91CD\u590D\u52B3\u52A8\u3002\u62A5\u544A\u4E0E\u6E05\u5355\u4E0D\u662F\u4EFB\u4F55\u9636\u6BB5\u7684\u4EA7\u7269\uFF1A\u5199\u5B8C\u4F60\u7684\u9636\u6BB5 JSON \u5373\u53EF\uFF0C\u65E0\u987B\u786E\u8BA4\u62A5\u544A\u662F\u5426\u751F\u6210\u3001\u66F4\u4E0D\u5FC5\u624B\u52A8\u8865\u5199\u3002`};if(R0.has(p)||s[1]==="knowledge"||p.endsWith(".log"))return null;let g=rd(p);if(g===null)return null;let h=x0(t,g);if(!h||p===Fs&&(xs(t).length>0||(()=>{try{return!yn(JSON.parse(Rn.readFileSync(se.join(t,".ohos-adaptation-pc",Fs),"utf8")))}catch{return!1}})())||p==="02-baseline.json"&&n===2&&td(t))return null;let m=Ls(g);return{relPath:r,ownerStage:g,message:`${r} \u6B63\u5728\u88AB\u6539\u5199\uFF0C\u4F46\u5B83\u5C5E\u9636\u6BB5 ${g}\uFF08${m?.name??""}\uFF09\u4E14**\u5DF2\u5B9A\u7A3F**\uFF08\u9636\u6BB5 ${h.stage} \u7684 ${h.artifact} \u5DF2\u5B58\u5728\uFF09\u3002\u4E0A\u6E38\u9636\u6BB5\u7684\u4EA7\u7269\u662F\u4E0B\u6E38\u9636\u6BB5\u7684**\u5BF9\u7167\u57FA\u51C6**\uFF0C\u6539\u5B83\u7B49\u4E8E\u7BE1\u6539\u81EA\u5DF1\u7684\u8BC4\u5224\u6807\u51C6\uFF1B\u4E0E\u57FA\u51C6\u6709\u51FA\u5165\u5E94\u5728\u672C\u9636\u6BB5\u4EA7\u7269\u91CC\u5982\u5B9E\u8BB0\u5F55\uFF0C\u4E0D\u662F\u56DE\u5934\u6539\u57FA\u51C6\u3002`}}let c=od(o,i);if(c===null)return null;let d=W.find(p=>ot(p)&&p.owns.some(f=>f.endsWith("/**")&&Ut(f,o,i)));if((!d||d.stage===n)&&a&&a.owns.some(p=>Ut(p,o,i)))return null;let l=Ls(c);return{relPath:r,ownerStage:c,message:`${u}\u6B63\u5728\u5199 ${r}\u2014\u2014\u8BE5\u8DEF\u5F84\u5C5E\u9636\u6BB5 ${c}\uFF08${l?.name??""}\uFF09\u3002\u4EA7\u7269\u5F52\u5C5E\u89C1 pc-workspace-layout skill\uFF1B\u672C\u9636\u6BB5\u8BE5\u4EA7\u51FA\u7684\u662F ${a?.artifact??"\u672C\u9636\u6BB5\u5951\u7EA6\u4EA7\u7269"}${a&&a.owns.length>0?` \u4E0E ${a.owns.map(p=>p.includes("/")?p:`${p}/`).join("\u3001")}`:""}\u3002\u786E\u6709\u5FC5\u8981\u63D0\u524D\u4EA7\u51FA\uFF0C\u5E94\u7559\u5230\u5BF9\u5E94\u9636\u6BB5\u505A\u2014\u2014\u8DE8\u9636\u6BB5\u62A2\u8DD1\u4F1A\u8BA9\u95E8\u7981\u5931\u53BB\u5224\u5B9A\u4F9D\u636E\u3002`}}function $0(e,t){let n=se.relative(t,se.resolve(e));if(!n||n.startsWith("..")||se.isAbsolute(n))return;let r=n.split(se.sep).filter(Boolean);if(r.length===0||r[0]===R)return;let s=od(r.join("/"),r[0]);if(s===null)return;let i=Ls(s);return i?it(i):void 0}function ad(e,t=new Set){let n=[];for(let r of e){let s=j0(r);if(!s)continue;let i=F0(s,$0(r,s)),o=P0(r,s,i);if(!o)continue;let a=`${s}::${o.relPath.split(se.sep)[0]}::${o.ownerStage}`;t.has(a)||(t.add(a),n.push(o.message))}return n}function qt(e){let t=e.trim();if(t.startsWith('"'))try{return String(JSON.parse(t))}catch{return t.replace(/^"|"$/g,"")}return t.startsWith("'")?t.replace(/^'|'$/g,"").replace(/''/g,"'"):t}function cd(e){let t=e.split(`
238
+ `),n=t.findIndex(a=>/^findings:/.test(a));if(n<0)return[];let r=[],s=null,i=0,o=!1;for(let a=n+1;a<t.length;a++){let u=t[a];if(/^\S/.test(u)&&!u.startsWith("-"))break;let c=/^(\s*)- rule_id:\s*(.+)$/.exec(u);if(c){i=c[1].length,s={rule_id:qt(c[2]),category:"",severity:"info",description:"",hits:[]},r.push(s),o=!1;continue}if(s){if(c=/^\s+category:\s*(.*)$/.exec(u)){s.category=qt(c[1]),o=!1;continue}if(c=/^\s+severity:\s*(.+)$/.exec(u)){s.severity=qt(c[1]),o=!1;continue}if(c=/^\s+description:\s*(.*)$/.exec(u)){s.description=qt(c[1]),o=!1;continue}if(c=/^\s+kb_ref:\s*(.+)$/.exec(u)){s.kb_ref=qt(c[1]),o=!1;continue}if(c=/^\s+solution_hint:\s*(.*)$/.exec(u)){s.solution_hint=qt(c[1]),o=!1;continue}if(c=/^\s+auto_generated:\s*(.+)$/.exec(u)){s.auto_generated=c[1].trim()==="true",o=!1;continue}if(/^\s+hits:\s*$/.test(u)){o=!0;continue}if(o&&(c=/^(\s*)- (.+)$/.exec(u))&&c[1].length>i){s.hits.push(qt(c[2]));continue}/^\s+\S/.test(u)&&!u.trim().startsWith("-")&&(o=!1)}}return r}function ud(e){return e.split(":")[0]??e}import I0 from"node:fs";import T0 from"node:path";import Ts from"node:fs";import Bs from"node:path";var L0=e=>No(e)||Io(e),N0={"07-remotebuild.json":["01-scan.json","03-adapt.json"],"01-scan.json":["adaptation-choice.json"],"02-baseline.json":["01-scan.json"],"03-adapt.json":["01-scan.json","02-baseline.json"],"04-summary.json":["01-scan.json","02-baseline.json","03-adapt.json"],"05-testcases.json":["01-scan.json"],"06-testdemo.json":["05-testcases.json","03-adapt.json"],"verify-verdict.json":[{dir:"build",match:L0,label:"build/ \u4E0B\u7684\u8BBE\u5907\u8BC1\u636E"}]};function Vt(e,t){if(!t)return null;let n=(N0[t]??[]).filter(r=>typeof r!="string"||!Is(r));if(n.length===0)return null;try{let r=Bs.join(e,t);if(!Ts.existsSync(r))return null;let s=Ts.statSync(r).mtimeMs,i=Bs.dirname(e);if(t==="verify-verdict.json"&&St()&&Ps(i).some(u=>u.checkpoint==="test-change"&&u.begun_at&&Date.parse(u.begun_at)>=s))return"\u7528\u4F8B\u4FEE\u6539\u5DF2\u83B7\u51C6\u5E76\u5F00\u59CB\u5E94\u7528\u2014\u2014\u65E7\u88C1\u51B3\u5931\u6548\uFF0C\u987B\u91CD\u65B0\u72EC\u7ACB\u9A8C\u6536";let o=n.map(a=>{if(typeof a=="string"){let c=Bs.join(e,a);return Ts.existsSync(c)&&Ts.statSync(c).mtimeMs>s?a:null}let u=Ms(Bs.join(i,a.dir),a.match);return u!==null&&u>s?a.label:null}).filter(a=>a!==null);return o.length===0?null:`${o.join("\u3001")} \u665A\u4E8E ${t}\u2014\u2014\u5224\u5B9A\u8F93\u5165\u5DF2\u66F4\u65B0\uFF0C${t} \u7684\u7ED3\u8BBA\u8FC7\u671F\uFF0C\u987B\u6309\u6700\u65B0\u8F93\u5165\u91CD\u8DD1`}catch{return null}}var ld="verify-verdict.json";function jn(e){try{return Vt(e,ld)!==null?null:JSON.parse(I0.readFileSync(T0.join(e,ld),"utf8"))}catch{return null}}import{createHash as B0}from"node:crypto";function To(e){return e===null||typeof e!="object"?JSON.stringify(e)??"null":Array.isArray(e)?"["+e.map(n=>To(n)).join(",")+"]":"{"+Object.keys(e).sort().map(n=>JSON.stringify(n)+":"+To(e[n])).join(",")+"}"}function dd(e){let t=e??{},n=To({cases:Array.isArray(t.cases)?t.cases:[],modules:Array.isArray(t.modules)?t.modules:[]});return B0("sha256").update(n).digest("hex")}function pd(e){let t=e.match(/^\/\/\s*source:\s*05-testcases\.json\s+cases-sha256=([0-9a-f]{64})\s*$/m);return t?t[1]:null}import M0 from"node:fs";import kt from"node:path";var Bo=/^(?:libc(?:\+\+)?(?:_shared)?|libstdc\+\+)\.so(?:\.\d+)*$/,H0=/\.so(?:\.\d+)*$/;function K0(e){return e.has("malloc")&&e.has("free")||(e.has("_Znwm")||e.has("_Znwj"))&&e.has("_ZdlPv")}function Mo(e,t){let n=[],r=4096,s=(i,o)=>{if(o<0||--r<0)return;let a;try{a=M0.readdirSync(i,{withFileTypes:!0})}catch{return}for(let u of a){let c=kt.join(i,u.name);u.isDirectory()?s(c,o-1):u.isFile()&&H0.test(u.name)&&n.push(c)}};return s(e,t),n}function fd(e,t="test-demo"){let n=kt.resolve(e,t),r=Mo(kt.join(n,"entry","build"),10),s=r.filter(d=>d.replace(/\\/g,"/").includes("/intermediates/libs/")),i=s.length?s:r.filter(d=>d.replace(/\\/g,"/").includes("/stripped_native_libs/"));if(!i.length)return[];let o=[...Mo(kt.join(e,"dist","lib"),3),...Mo(kt.join(n,"entry","libs"),3),...i],a=new Map,u=new Set;for(let d of o){let l=kt.basename(d),p=a.get(l)??[];if(p.push(d),a.set(l,p),!Bo.test(l)){let f=En(d);f&&K0(f)&&u.add(l)}}if(!u.size)return[];let c=new Set;for(let d of i){let l=kt.basename(d);if(u.has(l)||Bo.test(l))continue;let p=new Set([l]),f=[d];for(;f.length;)for(let g of Es(f.shift())??[])u.has(g)?c.add(`${kt.relative(e,d).replace(/\\/g,"/")} \u7684 NEEDED \u94FE\u5305\u542B\u5168\u5C40\u5206\u914D\u5668 ${g}\u3002\u6D4B\u8BD5\u58F3\u666E\u901A C++ \u5206\u914D\u53EF\u80FD\u88AB\u88AB\u6D4B\u5E93\u63A5\u7BA1\uFF1B\u79FB\u9664\u76F4\u63A5/\u95F4\u63A5\u94FE\u63A5\uFF0C\u4FDD\u7559\u968F\u5305\u90E8\u7F72\u5E76\u4F7F\u7528 RTLD_LOCAL \u53E5\u67C4\u8C03\u7528\uFF0C\u540C\u6B65\u914D\u7F6E\u5168\u5C40\u7684\u53E5\u67C4\u8BBF\u95EE\u540E\u91CD\u65B0\u6784\u5EFA\uFF0C\u4E0D\u80FD\u590D\u7528\u65E7 ELF \u6216\u5386\u53F2 pass\u3002`):!p.has(g)&&!Bo.test(g)&&(p.add(g),f.push(...a.get(g)??[]))}return[...c]}import Yt from"node:fs";import wt from"node:path";import Wd from"node:fs";import E_ from"node:os";import Gs from"node:path";var Z0=kr(Jo(),1);import _e from"node:fs";import Wt from"node:path";import X0 from"node:http";import Q0 from"node:https";import{createHash as jd,randomUUID as Fd}from"node:crypto";var xd={agcgw:{url:"connect-drcn.dbankcloud.cn",backurl:"connect-drcn.hispace.hicloud.com",websocketurl:"connect-ws-drcn.hispace.dbankcloud.cn",websocketbackurl:"connect-ws-drcn.hispace.dbankcloud.com"},agcgw_all:{SG:"connect-dra.dbankcloud.cn",SG_back:"connect-dra.hispace.hicloud.com",CN:"connect-drcn.dbankcloud.cn",CN_back:"connect-drcn.hispace.hicloud.com",RU:"connect-drru.hispace.dbankcloud.ru",RU_back:"connect-drru.hispace.dbankcloud.cn",DE:"connect-dre.dbankcloud.cn",DE_back:"connect-dre.hispace.hicloud.com"},websocketgw_all:{SG:"connect-ws-dra.hispace.dbankcloud.cn",SG_back:"connect-ws-dra.hispace.dbankcloud.com",CN:"connect-ws-drcn.hispace.dbankcloud.cn",CN_back:"connect-ws-drcn.hispace.dbankcloud.com",RU:"connect-ws-drru.hispace.dbankcloud.ru",RU_back:"connect-ws-drru.hispace.dbankcloud.cn",DE:"connect-ws-dre.hispace.dbankcloud.cn",DE_back:"connect-ws-dre.hispace.dbankcloud.com"},client:{cp_id:"260086000021556662",product_id:"101653523865252136",client_id:"2057195222319790784",client_secret:"6F6093134AB7B0B84E61A7AAC249E674A24B0204D661F6E41303B5238955916A",project_id:"101653523865252136",app_id:"101653523127207052",api_key:"DgEDAD0EU9AhRaoZtuLjTl4+dsD50AlP0mwQG3ueMdMxuchqzk9C5XyBiFJsU09FjyyV6HpEESO1v/i/BoMEo+AQFzkj1ZIZQs/qkg=="},oauth_client:{client_id:"119265309",client_type:7},app_info:{app_id:"101653523127207052"},service:{analytics:{collector_url:"datacollector-drcn.dt.hicloud.com,datacollector-drcn.dt.dbankcloud.cn",collector_url_cn:"datacollector-drcn.dt.hicloud.com,datacollector-drcn.dt.dbankcloud.cn",collector_url_de:"datacollector-dre.dt.hicloud.com,datacollector-dre.dt.dbankcloud.cn",collector_url_ru:"datacollector-drru.dt.dbankcloud.ru,datacollector-drru.dt.hicloud.com",collector_url_sg:"datacollector-dra.dt.hicloud.com,datacollector-dra.dt.dbankcloud.cn",resource_id:"p1",channel_id:""},ml:{mlservice_url:"ml-api-drcn.ai.dbankcloud.com,ml-api-drcn.ai.dbankcloud.cn"},cloudstorage:{storage_url:"https://agc-storage-drcn.platform.dbankcloud.cn",storage_url_ru:"https://agc-storage-drru.cloud.huawei.ru",storage_url_sg:"https://ops-dra.agcstorage.link",storage_url_de:"https://ops-dre.agcstorage.link",storage_url_cn:"https://agc-storage-drcn.platform.dbankcloud.cn",storage_url_ru_back:"https://agc-storage-drru.cloud.huawei.ru",storage_url_sg_back:"https://agc-storage-dra.cloud.huawei.asia",storage_url_de_back:"https://agc-storage-dre.cloud.huawei.eu",storage_url_cn_back:"https://agc-storage-drcn.cloud.huawei.com.cn"},search:{url:"https://search-drcn.cloud.huawei.com"},edukit:{edu_url:"edukit.cloud.huawei.com.cn",dh_url:"edukit.cloud.huawei.com.cn"}},region:"CN",configuration_version:"3.0"},e_="ohpt-telemetry-ingest-$latest",t_="",Ed=5e3,Od=100,Zo=5e3,n_=50,r_=30*60*1e3,s_=5*60*1e3,b1=10*60*1e3,i_=30*1e3;function At(){return{dataDir:process.env.OHPT_TELEMETRY_DIR||Wt.join(Ot,"telemetry"),configFile:process.env.OHPT_TELEMETRY_CONFIG||Oe}}function Vs(){return Wt.join(At().dataDir,"queue.jsonl")}function Ad(){return Wt.join(At().dataDir,"install-id")}function or(){return Wt.join(At().dataDir,"flush.lock")}function Pd(){return Wt.join(At().dataDir,"last-flush.json")}function $d(){try{let t=C(At().configFile)?.telemetry;if(t&&typeof t=="object"){let n=t;return{enabled:typeof n.enabled=="boolean"?n.enabled:void 0,endpoint:typeof n.endpoint=="string"?n.endpoint:void 0}}}catch{}return{}}function Xo(){let e=process.env.OHPT_TELEMETRY;if(e!==void 0){let n=e.trim().toLowerCase();if(n==="0"||n==="false"||n==="off")return!1;if(n==="1"||n==="true"||n==="on")return!0}let t=$d();return t.enabled!==void 0?t.enabled:!0}function Qo(){let e=process.env.OHPT_TELEMETRY_ENDPOINT;if(e&&e.trim())return e.trim();let t=$d();return t.endpoint&&t.endpoint.trim()?t.endpoint.trim():t_}var wd="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function zs(){return xd}function Ld(){return zs()?.agcgw?.url||"connect-drcn.dbankcloud.cn"}function o_(){let e=zs()?.client;if(!e?.cp_id||!e.product_id)return"";let t=jd("md5").update(`agc:${e.cp_id}@${e.product_id}`).digest("hex"),n=BigInt("0x"+t),r="";for(;n>61n;)r=wd[Number(n%62n)]+r,n=n/62n;return wd[Number(n)]+r}var ir=null;async function Cd(e=!1){if(!e&&ir&&Date.now()<ir.expiresAtMs)return ir.token;let t=zs()?.client;if(!t?.client_id||!t.client_secret)throw new Error("AGC \u914D\u7F6E\u7F3A client \u51ED\u636E");let n=await fetch(`https://${Ld()}/agc/apigw/oauth2/v1/token`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({grant_type:"client_credentials",client_id:t.client_id,client_secret:t.client_secret,useJwt:1}),signal:AbortSignal.timeout(Zo)});if(!n.ok)throw new Error(`AGC token endpoint ${n.status}`);let r=await n.json();if(!r.access_token)throw new Error("AGC token \u54CD\u5E94\u7F3A access_token");let s=(Number(r.expires_in)>0?Number(r.expires_in):1800)*1e3;return ir={token:r.access_token,expiresAtMs:Date.now()+s-6e4},ir.token}async function a_(e){let t=zs()?.client,n=`https://${Ld()}/agc/apigw/wisefunction/functions/${o_()}/${e_}`,r=i=>fetch(n,{method:"POST",headers:{Authorization:"Bearer "+i,"Content-Type":"application/json;charset=UTF-8",appId:String(t?.app_id??""),clientId:String(t?.client_id??""),productId:String(t?.product_id??"")},body:e,signal:AbortSignal.timeout(Zo)}),s=await r(await Cd());if(s.status===401&&(s=await r(await Cd(!0))),!s.ok)throw new Error(`AGC gateway ${s.status}`);return s.json()}var Nd=null;var c_=!1;function Id(){return c_||Qo()?!1:xd!==null||Nd!==null}function u_(){return!!Qo()||Id()}function Td(){try{try{let t=_e.readFileSync(Ad(),"utf8").trim();if(t)return t}catch{}_e.mkdirSync(At().dataDir,{recursive:!0});let e=Fd();return _e.writeFileSync(Ad(),e+`
239
+ `),e}catch{return"unknown"}}function l_(e){return jd("sha256").update(Wt.resolve(e)).digest("hex").slice(0,12)}function ea(e){let t={workspace_hash:l_(e),lib:null,version:null,version_source:null,upstream_url:null,upstream_commit:null,source_ref:null,ecosystem:null,delivery_form:null,created_at:null};try{let n=C(Wt.join(e,R,"manifest.json"));typeof n.lib=="string"&&(t.lib=n.lib),typeof n.version=="string"&&(t.version=n.version),typeof n.version_source=="string"&&(t.version_source=n.version_source);let r=n.source;r&&typeof r=="object"&&(typeof r.upstream_url=="string"&&(t.upstream_url=r.upstream_url),typeof r.upstream_commit=="string"&&(t.upstream_commit=r.upstream_commit),typeof r.ref=="string"&&(t.source_ref=r.ref)),typeof n.ecosystem=="string"&&(t.ecosystem=n.ecosystem),typeof n.delivery_form=="string"&&(t.delivery_form=n.delivery_form),typeof n.created_at=="string"&&(t.created_at=n.created_at)}catch{}return t}function ta(){try{if((process.execPath+" "+process.argv.join(" ")).toLowerCase().includes("deveco"))return"deveco"}catch{}return"opencode"}function d_(){let e=(process.env.OHPT_TELEMETRY_CHANNEL||"").trim().toLowerCase();return e==="dev"||e==="debug"?"dev":"prod"}function Bd(e){try{let t=JSON.parse(e);if(t&&typeof t=="object"&&typeof t.event=="string")return t}catch{}return null}function Et(){try{return _e.readFileSync(Vs(),"utf8").split(`
240
+ `).filter(e=>e.trim().length>0)}catch{return[]}}function na(e,t){let n=`${e}.${process.pid}.tmp`;_e.writeFileSync(n,t),_e.renameSync(n,e)}function p_(e){_e.mkdirSync(At().dataDir,{recursive:!0}),_e.appendFileSync(Vs(),JSON.stringify(e)+`
241
+ `);let t=Et();t.length>Ed&&na(Vs(),t.slice(t.length-Ed).join(`
242
+ `)+`
243
+ `)}function Rd(e){let n=Et().slice(e);na(Vs(),n.length>0?n.join(`
244
+ `)+`
245
+ `:"")}function Yo(e){try{let t={lastAttemptAt:new Date().toISOString(),lastResult:e};na(Pd(),JSON.stringify(t)+`
246
+ `)}catch{}}function f_(){try{let e=C(Pd());if(e?.lastResult==="fail"&&typeof e.lastAttemptAt=="string"){let t=Date.parse(e.lastAttemptAt);if(Number.isFinite(t)&&Date.now()-t<s_)return!0}}catch{}return!1}function h_(){let e=`${process.pid} ${new Date().toISOString()}
247
+ `;try{return _e.mkdirSync(At().dataDir,{recursive:!0}),_e.writeFileSync(or(),e,{flag:"wx"}),!0}catch{try{let t=_e.statSync(or());if(Date.now()-t.mtimeMs>i_)return _e.rmSync(or(),{force:!0}),_e.writeFileSync(or(),e,{flag:"wx"}),!0}catch{}return!1}}function g_(){try{_e.rmSync(or(),{force:!0})}catch{}}function m_(e,t,n){return new Promise((r,s)=>{let i;try{i=new URL(e)}catch(u){s(u);return}let a=(i.protocol==="http:"?X0:Q0).request(i,{method:"POST",headers:{"content-type":"application/json","content-length":String(Buffer.byteLength(t))},timeout:n},u=>{u.resume(),r(u.statusCode??0)});a.on("timeout",()=>a.destroy(new Error("telemetry flush timeout"))),a.on("error",s),a.end(t)})}async function y_(e,t){try{let n=await m_(e,t,Zo);return n>=200&&n<300?"ok":n>=400&&n<500?"permanent":"retry"}catch{return"retry"}}async function __(e){try{let n=await(Nd??a_)(e);if(n&&typeof n=="object"){let r=n.code;return r===0?"ok":r==="invalid"?"permanent":"retry"}return"retry"}catch{return"retry"}}async function Md(){let e=()=>({sent:0,remaining:Et().length});try{if(!Xo())return{...e(),skipped:"disabled"};let t=Qo();if(!t&&!Id())return{...e(),skipped:"no-endpoint"};if(f_())return{...e(),skipped:"cooldown"};if(Et().length===0)return{...e(),skipped:void 0};if(!h_())return{...e(),skipped:"locked"};let n=0;try{for(let r=0;r<n_;r++){let s=Et();if(s.length===0)break;let i=s.slice(0,Od),o=i.map(Bd).filter(c=>c!==null),a=JSON.stringify({install_id:Td(),plugin_version:Dr,events:o}),u=t?await y_(t,a):await __(a);if(u==="ok"){n+=o.length,Rd(i.length),Yo("ok");continue}return u==="permanent"?(Rd(i.length),Yo("fail"),{sent:n,remaining:s.length-i.length}):(Yo("fail"),{sent:n,remaining:s.length})}}finally{g_()}return{sent:n,remaining:Et().length}}catch{return e()}}async function ra(){try{if(!Xo()||!u_())return;let e=Et();if(e.length===0)return;let t=Bd(e[0]);if(!t||typeof t.ts!="string")return;let n=Date.parse(t.ts);if(!Number.isFinite(n)||Date.now()-n<r_)return;await Md()}catch{}}function Jt(e){try{if(!Xo())return;let{event:t,host:n,workspaceRoot:r,flushNow:s,...i}=e,o={id:Fd(),event:t,ts:new Date().toISOString(),install_id:Td(),plugin_version:Dr,channel:d_(),...n!==void 0?{host:n}:{},...r!==void 0?ea(r):{},...i};p_(o),(s||Et().length>=Od)&&Md().catch(()=>{})}catch{}}function sa(e){process.exitCode=e;let t=2,n=()=>{--t===0&&process.exit(e)};for(let r of[process.stdout,process.stderr])r.writableLength===0?n():r.write("",n)}var Hd=process.stdout;function Kd(){Hd=process.stderr}function Be(e=""){Hd.write(e+`
248
+ `)}function Fn(e,t={}){process.stdout.write(JSON.stringify(e,null,t.compact?void 0:2)+`
249
+ `)}import xn from"node:fs";import On from"node:path";var Ud="OHPT_ELECTRON_TOOLCHAIN_DIR";function b_(){return process.env[Ud]?On.resolve(process.env[Ud]):On.join(Ot,"electron-toolchain")}var ia=["AppScope/app.json5","build-profile.json5","oh-package.json5","electron/src/main/module.json5","web_engine/src/main/module.json5","electron/libs/arm64-v8a/libelectron.so","web_engine/src/main/resources/resfile/electron","web_engine/src/main/resources/resfile/icudtl.dat","web_engine/src/main/resources/resfile/resources.pak","web_engine/src/main/resources/resfile/v8_context_snapshot.bin"];function v_(e){return ia.filter(t=>{try{let n=xn.statSync(On.join(e,t));return!n.isFile()||n.size===0}catch{return!0}})}function S_(e){let t=b_(),n=[];if(!xn.existsSync(t))return n;for(let r of xn.readdirSync(t,{withFileTypes:!0})){if(!r.isDirectory()||e&&r.name!==e)continue;let s=On.join(t,r.name);for(let i of xn.readdirSync(s,{withFileTypes:!0})){if(!i.isDirectory())continue;let o=On.join(s,i.name,"done.json"),a=On.join(s,i.name,"ohos_hap");if(!xn.existsSync(o)||!xn.existsSync(a))continue;let u={};try{u=C(o)}catch{continue}n.push({engine:r.name,artifact:i.name,blobSha:u.blobSha??"",resolvedAt:u.resolvedAt??"",ohosHap:a,ok:v_(a).length===0})}}return n.sort((r,s)=>r.resolvedAt<s.resolvedAt?1:-1)}function qd(e){return S_(e).find(t=>t.ok)?.ohosHap??null}function oa(e,t){let n=oe(e);if(!(0,H.isNodeLibrary)(n))return[...new Set(t)];let r=new Set(t.filter(i=>i!=="electron_toolchain"));for(let i of["sdk","hvigorw","electron_runtime"])r.add(i);return(n.harmony_adaptation?.delivery_form==="native-extension"||n.library_closure?.nodes?.some(i=>i.native_class==="native-extension"))&&(r.add("electron_toolchain"),r.add("ndk")),[...r]}import Vd from"node:fs";import ar from"node:path";var k_=ar.join(Er,"electron-runtime.json");function zd(e,t=k_){let n,r="";try{Vd.existsSync(t)&&(n=C(t).ohos_hap)}catch{r="\u8FD0\u884C\u65F6\u914D\u7F6E\u6587\u4EF6\u4E0D\u53EF\u89E3\u6790"}let s=process.env.OHPT_ELECTRON_OHOS_HAP,i=process.env.OHPT_ELECTRON_SRC?ar.join(process.env.OHPT_ELECTRON_SRC,"src/ohos/app/ohos_hap"):void 0,o=qd(),a=s||i||n||o,u=s?"env:OHPT_ELECTRON_OHOS_HAP":i?"env:OHPT_ELECTRON_SRC":n?t:o?"cache:electron-toolchain":"none",c=typeof a=="string"&&a?ar.resolve(a):void 0,d=ia,l=_=>d.filter(y=>{try{let S=Vd.statSync(ar.join(_,y));return!S.isFile()||S.size===0}catch{return!0}}),p=c?l(c):d,f=typeof n=="string"&&n?ar.resolve(n):void 0,g=f&&f!==c&&!l(f).length?{path:f,source:t,status:"ready"}:void 0,h=!c||!p.length?void 0:`\u5F53\u524D\u9009\u4E2D ${u}=${c}\uFF0C\u7F3A\u5C11 ${p.length} \u9879\u3002`+(g?`\u7528\u6237\u914D\u7F6E\u4E2D\u5B58\u5728\u5B8C\u6574\u8FD0\u884C\u65F6 ${g.path}\uFF0C\u4F46\u88AB\u73AF\u5883\u53D8\u91CF\u8986\u76D6\u3002`:"")+"\u4FEE\u6B63\u6216\u79FB\u9664\u9519\u8BEF\u7684\u73AF\u5883\u53D8\u91CF\uFF1B\u6216\u8FD0\u884C ohpt-agent fetch-electron-toolchain --engine v34.8.5|v37.2.3\uFF08\u6309\u9700\u4E0B\u8F7D\uFF0C\u5355\u5F15\u64CE\u7EA6 350MB\uFF0Cgitcode blob sha + zip/tar \u56DB\u5C42\u6821\u9A8C\u540E\u843D\u5168\u5C40\u7F13\u5B58\uFF09\u540E\u91CD\u8DD1 env\u3002Web \u8BF7\u68C0\u67E5 data/toolchain-env.json \u548C\u542F\u52A8\u8FDB\u7A0B\u73AF\u5883\uFF0C\u91CD\u542F Web \u53CA\u6267\u884C\u670D\u52A1\u540E\u91CD\u65B0\u8FD0\u884C env\uFF0C\u518D\u8FD0\u884C gate\u3002\u7981\u6B62\u628A\u914D\u7F6E\u8DEF\u5F84\u9519\u8BEF\u8BB0\u4F5C\u5168\u673A\u65E0\u8FD0\u884C\u65F6\u3002",m=!!(c&&!p.length);return{found:m,validation:"resources-only",status:m?"ready":c||r?"invalid":"missing",...c?{path:c,ohos_hap:c}:{},source:u,missing_files:p,...g?{alternative:g}:{},...h?{remediation:h}:{},checked_at:e,probe_cmd:"OHPT_ELECTRON_OHOS_HAP / OHPT_ELECTRON_SRC / electron-runtime.json / cache:electron-toolchain",note:m?"Electron-OH \u5DE5\u7A0B\u4E0E\u6838\u5FC3\u5F15\u64CE\u8D44\u6E90\u5728\u4F4D\uFF1B\u4ECD\u9700\u6784\u5EFA\u548C\u8BBE\u5907\u8FD0\u884C\u9A8C\u8BC1\u7248\u672C\u517C\u5BB9\u6027":r||(c?`\u8FD0\u884C\u65F6\u5DE5\u7A0B\u4E0D\u5B8C\u6574\uFF08${p.length} \u9879\uFF09\uFF1A${p.join("\u3001")}\u3002${h}`:`\u672A\u914D\u7F6E Electron-OH \u5DE5\u7A0B\uFF1A\u8BBE\u7F6E OHPT_ELECTRON_OHOS_HAP / ${t} \u7684 ohos_hap\uFF0C\u6216\u8FD0\u884C ohpt-agent fetch-electron-toolchain --engine v34.8.5|v37.2.3 \u6309\u9700\u4E0B\u8F7D`)}}function Gd(e,t=zd(new Date().toISOString())){return!e||typeof e.source!="string"?!1:e.source!==t.source||e.path!==t.path||e.found!==t.found||e.status!==t.status||JSON.stringify(e.missing_files??[])!==JSON.stringify(t.missing_files)}var Jd={app:["sdk","hvigorw"],"app-unsupported":[],"native-extension":["ndk"],"cpp-lib":["ndk"],cli:[],"pure-runtime":[]},A_=process.platform==="win32";function w_(e){return e.find(t=>{try{return Wd.existsSync(t)}catch{return!1}})}function Yd(){let e=process.env.DEVECO_SDK_HOME;if(e&&Wd.existsSync(e))return{path:e,source:"env:DEVECO_SDK_HOME"};let t=E_.homedir(),n=process.platform==="darwin"?["/Applications/DevEco-Studio.app/Contents/sdk",Gs.join(t,"command-line-tools","sdk")]:A_?[Gs.join(process.env.ProgramFiles||"C:\\Program Files","Huawei","DevEco Studio","sdk"),Gs.join(t,"command-line-tools","sdk")]:[Gs.join(t,"command-line-tools","sdk")],r=w_(n);return r?{path:r,source:`default:${process.platform}`}:null}var C_=/^\s*(?:export\s+|declare\s+|static\s+|abstract\s+)*(?:function|interface|class|enum|namespace|type|const)\s+([A-Za-z_$][\w$]*)/,R_=/\b(OH_[A-Za-z0-9_]+)\s*\(/,j_=4*1024*1024,Ws=null;function F_(e){let t=[e],n=[];try{n=Yt.readdirSync(e,{withFileTypes:!0}).filter(i=>i.isDirectory()).map(i=>wt.join(e,i.name))}catch{n=[]}t.push(...n);for(let i of n)try{for(let o of Yt.readdirSync(i,{withFileTypes:!0}))o.isDirectory()&&t.push(wt.join(i,o.name))}catch{}let r=["ets/api","ets/kits","native/sysroot/usr/include"],s=[];for(let i of t)for(let o of r){let a=wt.join(i,o);Yt.existsSync(a)&&!s.includes(a)&&s.push(a)}return s}function Zd(e,t){let n;try{n=Yt.readdirSync(e,{withFileTypes:!0})}catch{return}for(let r of n){let s=wt.join(e,r.name);r.isDirectory()?Zd(s,t):r.isFile()&&(r.name.endsWith(".d.ts")||r.name.endsWith(".h"))&&t.push(s)}}function x_(e){let t=wt.basename(e);return t.endsWith(".d.ts")?t.slice(0,-5):t}function O_(){let e=Yd();if(!e)return{available:!1,entries:[],note:"SDK \u672A\u63A2\u5230\uFF08$DEVECO_SDK_HOME \u672A\u8BBE\u7F6E\u4E14\u5E73\u53F0\u9ED8\u8BA4\u5B89\u88C5\u4F4D\u672A\u547D\u4E2D\uFF09\u2014\u2014**\u8BED\u6599\u4E0D\u53EF\u7528 \u2260 \u9E3F\u8499\u6CA1\u6709\u8BE5\u80FD\u529B**"};let t=F_(e.path);if(t.length===0)return{available:!1,sdkRoot:e.path,entries:[],note:`SDK \u5728 ${e.path} \u4F46\u672A\u627E\u5230 ets/api|ets/kits|native/sysroot/usr/include\u2014\u2014\u8BED\u6599\u4E0D\u53EF\u7528`};let n=[];for(let s of t)Zd(s,n);let r=[];for(let s of n){let i;try{if(Yt.statSync(s).size>j_)continue;i=Yt.readFileSync(s,"utf8")}catch{continue}let o=s.endsWith(".h"),a=x_(s),u=wt.relative(e.path,s),c=i.split(`
250
+ `),d=-1;for(let l=0;l<c.length;l++){let p=c[l];/^\s*\/\*\*/.test(p)&&(d=l);let f=o?R_.exec(p):C_.exec(p);f&&(r.push({symbol:f[1],file:u,line:l+1,decl:p.trim().slice(0,220),module:a,kind:o?"ndk":"arkts",docStart:d}),d=-1)}}return{available:!0,sdkRoot:e.path,root:e.path,entries:r}}function P_(){if(Ws===null)try{Ws=O_()}catch{Ws={available:!1,entries:[],note:"\u8BED\u6599\u6784\u5EFA\u5F02\u5E38\u2014\u2014\u6309\u8BED\u6599\u4E0D\u53EF\u7528\u5904\u7F6E"}}return Ws}function $_(e,t){if(t.docStart<0)return{};try{let r=Yt.readFileSync(wt.join(e,t.file),"utf8").split(`
251
+ `).slice(t.docStart,t.line).join(`
252
+ `),s=i=>{let o=r.match(new RegExp(`@${i}\\s+([^\\n*]+)`));return o?o[1].trim():void 0};return{since:s("since"),permission:s("permission"),syscap:s("syscap")}}catch{return{}}}var L_=new Set(["the","and","for","with","not","from","pc","ohos","api","sys","lib"]);function N_(e){let t=[];for(let n of e.match(/[A-Za-z][A-Za-z0-9]*/g)??[]){let r=n.toLowerCase();r.length<2||L_.has(r)||t.includes(r)||t.push(r)}return t}function I_(e,t){let n=Array.isArray(e)?e.map(c=>c.toLowerCase()).filter(c=>c.length>=2):N_(e),r=P_(),s={corpusAvailable:r.available,sdkRoot:r.sdkRoot,terms:n,required:Math.min(2,n.length),decls:r.entries.length,hits:[],total:0,note:r.note};if(!r.available||n.length===0)return s;let i=s.required,o=[];for(let c of r.entries){let d=c.symbol.toLowerCase(),l=0;for(let p of n)d.includes(p)&&l++;l>=i&&o.push(c)}let a=t?.limit??8,u=o.slice(0,a).map(c=>{let d=r.root?$_(r.root,c):{};return{symbol:c.symbol,file:c.file,line:c.line,decl:c.decl,module:c.module,kind:c.kind,since:d.since,permission:d.permission,syscap:d.syscap}});return{...s,hits:u,total:o.length}}function Xd(e,t){let n=I_(e);if(!n.corpusAvailable||n.total===0)return null;let r=t.join(`
253
+ `);for(let s of n.hits)if(r.includes(wt.basename(s.file))||r.includes(s.symbol))return null;return n}var M_=183,H_=/(缺少|缺失|没有|无|未安装|未预装|未部署)[^",。;]{0,24}(java|jdk|jre|node(?:\.?js)?|python|运行时|runtime)|(java|jdk|jre|node(?:\.?js)?|python)[^",。;]{0,16}(运行时|runtime)?[^",。;]{0,8}(缺失|不存在|不可用|未安装|未预装)/i,K_=/(设备端?|设备上|device)[^",。;]{0,12}(缺少|缺失|缺|没有安装|没有预装|没有|无|未安装|未预装|未部署|未内置|不含|不存在|未提供|不带|未预置)[\s::"'`]{0,4}[A-Za-z][\w.+-]{1,24}/i,sp=String.raw`(?<![不非无未]\s{0,2})(?:(?<![A-Za-z_-])root(?![A-Za-z_-])|可调试|debuggable|userdebug|DevBox|模拟器|emulator)`,U_=new RegExp(String.raw`(不需要?|无需|无须|毋须|不必|不依赖)[^",。;]{0,20}(${sp})`,"i"),q_=new RegExp(String.raw`(需要?|须|必须|得|依赖|改用|换用|更换|换成?|换装|建议)[^",。;]{0,20}(${sp})`+String.raw`|(换|更换|另找|另一台|再找一台)[^",。;]{0,8}(设备|机器|真机)`,"i");function V_(e){return U_.test(e)?!1:q_.test(e)}function ip(e){return(Array.isArray(e?.cases)?e?.cases:[]).filter(n=>n?.platform_exclusive!==!0).map(n=>String(n?.name??"")).filter(Boolean)}function z_(e){let t;try{t=A.openSync(e,"r");let n=Buffer.alloc(20);if(A.readSync(t,n,0,20,0)<20||n[0]!==127||n[1]!==69||n[2]!==76||n[3]!==70)return"\u4E0D\u662F ELF \u6587\u4EF6\uFF08\u7591\u4F3C\u5360\u4F4D/\u9519\u8BEF\u4EA7\u7269\uFF09";let i=n[5]===2?n[18]<<8|n[19]:n[18]|n[19]<<8;return i!==M_?`e_machine=0x${i.toString(16)}\uFF0C\u975E AArch64(0xb7)\u2014\u2014\u7591\u4F3C\u8BEF\u7F16\u6210 host \u67B6\u6784`:null}catch{return null}finally{if(t!==void 0)try{A.closeSync(t)}catch{}}}function Q(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}var Qd=[{schemaKey:"adapt",field:"artifacts",label:"artifacts[]"},{schemaKey:"adapt",field:"patches_applied",label:"patches_applied[]"},{schemaKey:"summary",field:"patches_applied",label:"patches_applied[]"},{schemaKey:"summary",field:"reusable_assets",label:"reusable_assets[].path"},{schemaKey:"testdemo",field:"artifacts",label:"artifacts[]"}];function ur(e){return Array.isArray(e)?e.map(t=>typeof t=="string"?t:typeof t?.path=="string"?String(t.path):"").filter(t=>t.length>0):[]}function ue(e,t){let n=t.replace(/^\$\{?WORKSPACE\}?[\\/]/,"");return D.resolve(e,n)}function G_(e,t){let n=D.join(e,"source");try{if(!A.statSync(n).isDirectory())return null}catch{return null}let r=o=>{let a=B_("git",["-C",n,...o],{encoding:"utf8",timeout:15e3});return a.error||a.status===null?null:a.status},s=r(["apply","--reverse","--check",t]);return s===null||s===0?null:r(["apply","--check",t])===0?"\u5DF2\u5217\u5165 patches_applied\uFF0C\u4F46 source/ \u672A\u5904\u4E8E\u5DF2\u5E94\u7528\u72B6\u6001\uFF08\u8865\u4E01\u4ECD\u53EF\u6B63\u5411\u5957\u7528\uFF09\u2014\u2014\u82E5\u6784\u5EFA\u662F\u5728\u4E34\u65F6\u526F\u672C\u91CC\u505A\u7684\uFF0C\u4EA4\u4ED8\u7684\u6784\u5EFA\u547D\u4EE4\u5FC5\u987B\u81EA\u5E26\u6253\u8865\u4E01\u6B65\u9AA4\uFF0C\u5426\u5219\u7167\u4EA4\u4ED8\u7269\u65E0\u6CD5\u590D\u73B0":"\u5DF2\u5217\u5165 patches_applied\uFF0C\u4F46\u5728 source/ \u4E0A\u6B63\u53CD\u5411\u90FD\u5957\u4E0D\u4E0A\u2014\u2014\u8865\u4E01\u4E0E\u4EA4\u4ED8\u6811\u4E0D\u5339\u914D\uFF08\u53EF\u80FD\u57FA\u4E8E\u5176\u4ED6\u7248\u672C/\u5DF2\u6F02\u79FB\uFF09"}var W_={id:"claimed-paths-real",when:e=>Qd.some(t=>t.schemaKey===e.schemaKey)&&(e.schemaKey!=="adapt"||["built-and-verified","built-pending-verification"].includes(String(e.json.status))),check:e=>{let t=[],r={summary:"adaptation_status"}[e.schemaKey]??"status",s=`${r}=${String(e.json[r])}`;for(let i of Qd)if(i.schemaKey===e.schemaKey)for(let o of ur(e.json[i.field])){let a=ue(e.workspaceRoot,o);if(!A.existsSync(a)){t.push(`\u81EA\u62A5 ${s}\uFF0C\u4F46 ${i.label} \u91CC\u7684\u8DEF\u5F84\u4E0D\u5B58\u5728: ${o}\u2014\u2014\u5217\u8FDB\u6E05\u5355\u7684\u8DEF\u5F84\u5FC5\u987B\u771F\u5B9E\u843D\u76D8\uFF1B\u672A\u5B8C\u6210\u7684\u8BF7\u79FB\u51FA\u6E05\u5355\uFF0C\u6216\u628A\u72B6\u6001\u5982\u5B9E\u964D\u7EA7`);continue}if(As(a)){let u=z_(a);u&&t.push(`\u4EA7\u7269 ${o}: ${u}`)}if(i.field==="patches_applied"){let u=G_(e.workspaceRoot,a);u&&t.push(`\u8865\u4E01 ${o}: ${u}`)}}return t}};function op(e,t=D.join(e,"dist"),n=3){if(n<0)return!1;let r;try{r=A.readdirSync(t,{withFileTypes:!0})}catch{return!1}for(let s of r){let i=D.join(t,s.name);if(s.isDirectory()){if(op(e,i,n-1))return!0;continue}if(!s.isFile()||/\.(so|so\.[0-9.]+|a|jar|whl|hap|node|dylib|dll|log|json|md|txt)$/i.test(s.name))continue;let o;try{o=A.openSync(i,"r");let a=Buffer.alloc(18);if(A.readSync(o,a,0,18,0)<18||a.readUInt32BE(0)!==2135247942)continue;let u=a.readUInt16LE(16);if(u===2||u===3)return!0}catch{}finally{if(o!==void 0)try{A.closeSync(o)}catch{}}}return!1}var J_={id:"cli-delivery-evidence",when:e=>e.schemaKey==="adapt"&&["built-and-verified","partial"].includes(String(e.json.status))&&(e.json.delivery_form==="cli"||op(e.workspaceRoot)),check:e=>{let t=!1;try{t=A.readdirSync(D.join(e.workspaceRoot,"dist","lib")).length>0}catch{}let n=JSON.stringify([e.json.artifacts,e.json.remaining_blockers]),r=/hnp|签名|\bPATH\b/i.test(n);return t||r?[]:["\u4EA4\u4ED8\u7269\u91CC\u6709\u53EF\u6267\u884C\uFF08\u6216 delivery_form=cli\uFF09\uFF0C\u4F46 dist/lib/ \u4E3A\u7A7A\u3001artifacts \u4E0E remaining_blockers \u5747\u672A\u89C1 HNP/\u7B7E\u540D/PATH \u76F8\u5173\u9879\u2014\u2014\u53EF\u6267\u884C\u5C1A\u4E0D\u53EF\u4ECE\u8BBE\u5907 shell \u6309\u5DE5\u5177\u540D\u76F4\u547C\uFF08ELF \u7B7E\u540D + HNP/PATH \u6253\u5305\u672A\u5B8C\u6210\uFF1B`.so` \u8D70 dlopen \u514D\u7B7E\uFF0C\u53EF\u6267\u884C\u4E0D\u514D\uFF09\u3002\u8BF7\u5B8C\u6210\u6253\u5305\u4EA4\u4ED8\uFF0C\u6216\u628A\u7F3A\u5931\u663E\u5F0F\u5199\u5165 remaining_blockers\u3002\u5FC5\u505A\u9879\u4E0E\u5408\u683C\u8BC1\u636E\u89C1 `pc-delivery-forms` \u7684\u300C\u4EA4\u4ED8\u5FC5\u505A\u9879\u300D\u8868"]}},Y_={id:"device-fingerprint-required",when:e=>e.schemaKey==="adapt"&&e.json.test_run?.executed===!0||e.schemaKey==="testdemo"&&e.json.device_run?.executed===!0,check:e=>{let t=e.schemaKey==="adapt"?e.json.test_run?.device:e.json.device_run?.device,n=e.schemaKey==="adapt"?"test_run.device":"device_run.device";if((t?Object.values(t).filter(a=>a!=null&&a!=="").length:0)<2)return[`${n} \u6307\u7EB9\u7F3A\u5931\u2014\u2014\u8BBE\u5907\u7ED3\u8BBA\u5FC5\u987B\u80FD\u5224\u8BC1\u636E\u5F3A\u5EA6\uFF1A\u8BF7\u586B os_version / device_class(\u578B\u53F7) / arch / page_size\u3002\u4E0D\u8981\u624B\u5199\uFF1A\`ohpt-agent env -w <ws> --json\` \u5DF2\u628A\u56DB\u9879\u63A2\u8FDB \`00-env.json\` \u7684 \`capabilities.device_fingerprint\`\uFF0C\u7167\u6284\u90A3\u91CC\u3002**\u9690\u79C1\u7EA2\u7EBF\uFF1A\u53EA\u8BB0\u8BBE\u5907\u7C7B\u522B + OS \u7248\u672C\uFF0C\u7EDD\u4E0D\u5199\u5E8F\u5217\u53F7**`];let i=je(e.workspaceRoot,"00-env.json")?.capabilities?.device_fingerprint;if(!i||i.found!==!0)return[];let o=[];for(let a of["device_class","os_version","arch","page_size"]){let u=t[a],c=i[a];if(u==null||u===""||c==null||c==="")continue;let d=String(u).trim(),l=String(c).trim();(a==="os_version"?d.includes(l)||l.includes(d):d===l)||o.push(`${n}.${a}=\u300C${d}\u300D\u4E0E 00-env.json \u63A2\u5230\u7684\u300C${l}\u300D\u4E0D\u7B26\u3002\u8BBE\u5907\u6307\u7EB9\u53EA\u6709\u4E00\u4E2A\u6743\u5A01\u2014\u2014\`ohpt-agent env\` \u7684\u63A2\u6D4B\u5FEB\u7167\uFF1B\u4EA7\u7269\u91CC\u7684\u503C\u7167\u6284\u5B83\uFF0C\u4E0D\u81EA\u586B\u3001\u4E0D\u4ECE schema \u7684\u793A\u4F8B\u91CC\u6284\u3002`)}return o}},Z_={id:"version-metadata-sane",when:e=>e.schemaKey==="adapt"&&e.json.ecosystem==="python",check:e=>{let n=JSON.stringify(e.json).match(/\b\d+\.\d+(?:\.\d+)?\.?dev\d+\b/);return n?[`\u68C0\u6D4B\u5230\u7591\u4F3C VCS \u5360\u4F4D\u7248\u672C\u300C${n[0]}\u300D\u2014\u2014\u90E8\u7F72\u6811\u8131\u79BB .git \u65F6 hatch-vcs/setuptools-scm \u53D6\u4E0D\u5230\u771F\u5B9E\u7248\u672C\u3002\u8BF7\u5728\u6784\u5EFA\u671F\u56FA\u5316\u7248\u672C\uFF08SETUPTOOLS_SCM_PRETEND_VERSION / \u751F\u6210 _version.py\uFF09\uFF0C\u5E76\u7528 --version \u62BD\u68C0\u90E8\u7F72\u4EA7\u7269`]:[]}};function ap(e,t,n=4){if(n<0)return null;let r;try{r=A.readdirSync(e,{withFileTypes:!0})}catch{return null}for(let s of r){let i=D.join(e,s.name);if(s.isFile()&&s.name.toLowerCase().endsWith(t))return i;if(s.isDirectory()){let o=ap(i,t,n-1);if(o)return o}}return null}var X_={id:"app-hap-artifact-real",when:e=>e.schemaKey==="adapt"&&e.json.delivery_form==="app"&&e.json.build_status==="pass"&&["built-and-verified","built-pending-verification"].includes(String(e.json.status)),check:e=>Q(e.json.artifacts).find(n=>n.toLowerCase().endsWith(".hap")&&A.existsSync(D.resolve(e.workspaceRoot,n)))?[]:ap(D.join(e.workspaceRoot,"dist","app"),".hap")?[]:["delivery_form=app \u4E14 build_status=pass\uFF0C\u4F46 dist/app/ \u4E0E artifacts[] \u5747\u65E0 .hap \u4EA7\u7269\u2014\u2014\u5DE5\u7A0B\u9AA8\u67B6+\u6784\u5EFA\u811A\u672C\u2260\u5DF2\u6784\u5EFA\u3002\u8BF7\u5B9E\u9645\u6267\u884C HAP \u6784\u5EFA\uFF08\u73AF\u5883\u63A2\u6D4B\u89C1 00-env.json / `ohpt-agent env`\uFF09\uFF1B\u786E\u5B9E\u65E0\u6CD5\u6784\u5EFA\u65F6 build_status \u4E0D\u5E94\u4E3A pass\uFF0C\u5E76\u628A\u63A2\u6D4B\u8BC1\u636E\u5199\u5165 remaining_blockers"]},Q_={id:"file-picker-system-picker",when:e=>e.schemaKey==="adapt"&&e.json.delivery_form==="app"&&["built-and-verified","built-pending-verification","partial"].includes(String(e.json.status))&&lt(e.workspaceRoot).includes("file-picker"),check:e=>Gl(e.workspaceRoot,1).length>0?[]:["manifest.capability_domains \u547D\u4E2D file-picker\uFF0C\u4F46 harmony-app/ \u4E0E patches/ \u91CC\u627E\u4E0D\u5230\u7CFB\u7EDF\u6587\u4EF6\u9009\u62E9\u5668\uFF08DocumentViewPicker\uFF09\u7684\u5B9E\u73B0\u2014\u2014\u81EA\u7ED8/\u4E0A\u6E38\u6587\u4EF6\u5BF9\u8BDD\u6846\uFF08JFileChooser\u3001QFileDialog \u7B49\uFF09\u539F\u6837\u4E0A\u673A\uFF0C\u80FD\u753B\u51FA\u6765\u4E5F\u80FD\u70B9\uFF0C\u5374\u53EA\u770B\u5F97\u89C1\u5E94\u7528\u81EA\u5DF1\u7684\u6C99\u7BB1\u76EE\u5F55\uFF0C\u7528\u6237\u6587\u4EF6\u591F\u4E0D\u7740\u3002"+(Wl(e.json.remaining_blockers)?"remaining_blockers \u5DF2\u5199\u660E\u300C\u6CA1\u505A\u300D\uFF0C\u8FD9\u662F\u88AB\u770B\u89C1\u7684\u53D6\u820D\uFF0C\u4F46\u5B83\u4ECD\u662F\u4EA4\u4ED8\u7F3A\u53E3\uFF0C\u4E0D\u662F\u6536\u53E3\u3002":"remaining_blockers \u91CC\u4E5F\u6CA1\u6709\u4EA4\u4EE3\u3002")+"\u6309 pc-capability-domains/file-picker.md \u7684\u6863\u4F4D\u66FF\u6362\uFF08Swing/AWT \u8D70\u6863 D\uFF1A\u6587\u4EF6\u901A\u9053 + ArkTS \u5F39 picker\uFF0C\u771F\u673A\u9A8C\u8BC1\u8FC7\u7684\u6837\u677F\u89C1\u8BE5\u6587\u6863\u7B2C\u516D\u8282\uFF09\uFF1B\u786E\u5B9E\u505A\u4E0D\u4E86\u65F6\uFF0C\u628A\u539F\u56E0\u4E0E\u8BC1\u636E\u5199\u8FDB remaining_blockers\uFF0C\u800C\u4E0D\u662F\u7559\u5230\u771F\u673A\u4E0A\u624D\u53D1\u73B0"]},eb={id:"env-claim-consistency",when:e=>e.schemaKey==="adapt",check:e=>{let t=JSON.stringify([e.json.remaining_blockers,e.json.test_run,e.json.notes]),r=[{cap:"sdk",label:"DevEco SDK",re:/(缺少|缺失|没有|无)[^",。;]{0,24}(DevEco|SDK)|(DevEco ?SDK|DEVECO_SDK_HOME)[^",。;]{0,12}(缺失|不存在|不可用|未安装)/i},{cap:"hvigorw",label:"hvigor",re:/(缺少|缺失|没有|无)[^",。;]{0,24}hvigor|hvigor[^",。;]{0,12}(缺失|不存在|不可用|未安装)/i},{cap:"device",label:"\u8BBE\u5907/\u771F\u673A",re:/(无|缺少|没有|不存在)[^",。;]{0,20}(鸿蒙 ?PC ?设备|真机|设备)|设备[^",。;]{0,10}(未连接|不可用)/}].filter(o=>o.re.test(t));if(r.length===0)return[];let s=null;try{s=JSON.parse(A.readFileSync(D.join(e.workspaceRoot,R,"00-env.json"),"utf8"))}catch{s=null}if(s?.capabilities){let o=[];for(let a of r){let u=s.capabilities[a.cap];u?.found&&o.push(`\u963B\u585E\u65AD\u8A00\u300C\u73AF\u5883\u7F3A\u5C11${a.label}\u300D\u4E0E 00-env.json \u77DB\u76FE\uFF08${a.cap}.found=true${u.path?`, path=${u.path}`:""}\uFF09\u2014\u2014\u73AF\u5883\u80FD\u529B\u4EE5\u63A2\u6D4B\u5FEB\u7167\u4E3A\u51C6\uFF1A\u8BF7\u5B9E\u9645\u4F7F\u7528\u8BE5\u80FD\u529B\uFF0C\u6216\u590D\u6D4B\uFF08\`ohpt-agent env --device-only\`\uFF09\u540E\u4EE5\u6700\u65B0\u5FEB\u7167\u4E3A\u8BC1\u518D\u964D\u7EA7`)}return o}return/which |hdc list targets|DEVECO_SDK_HOME|ohpt-agent env|00-env\.json/i.test(t)?[]:["\u68C0\u6D4B\u5230\u300C\u73AF\u5883\u7F3A\u5C11 SDK/hvigor/\u8BBE\u5907\u300D\u7C7B\u963B\u585E\uFF0C\u4F46\u65E2\u65E0 00-env.json \u5FEB\u7167\u4E5F\u65E0\u63A2\u6D4B\u75D5\u8FF9\u2014\u2014\u73AF\u5883\u7F3A\u5931\u65AD\u8A00\u5FC5\u987B\u5148\u63A2\u6D4B\uFF08`ohpt-agent env -w <workspace>`\uFF0C\u6216 `which hvigorw` / `hdc list targets` / `echo $DEVECO_SDK_HOME`\uFF09\u5E76\u628A\u547D\u4EE4\u4E0E\u8F93\u51FA\u5199\u5165 remaining_blockers"]}};function la(e){return H_.test(e)||K_.test(e)}function tb(e,t="build"){try{let n=JSON.parse(A.readFileSync(D.join(e,t,"demo-verify.json"),"utf8"));return typeof n.log_channel=="string"?n.log_channel:null}catch{return null}}function nb(e){try{return JSON.parse(A.readFileSync(D.join(e,R,"00-env.json"),"utf8")).capabilities??{}}catch{return{}}}function da(e){if(String(e?.harmony_status??"")!=="unavailable")return null;let t=String(e?.domain??"").trim();if(!t)return null;let n=Js([e.evidence,e.replacement,e.impact,e.asset_ref]),r=Xd(t,n);return r?{domain:t,probe:r}:null}function lr(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Js(e,t=[]){if(typeof e=="string")t.push(e);else if(Array.isArray(e))for(let n of e)Js(n,t);else if(e&&typeof e=="object")for(let n of Object.values(e))Js(n,t);return t}var rb={id:"device-absence-claim",when:e=>e.schemaKey==="adapt",check:e=>{let t=Js([e.json.remaining_blockers,e.json.notes,e.json.test_run,e.json.issues_resolved,e.json.runtime_provisioning]),n=[],r=t.find(V_);r&&n.push(`\u65AD\u8A00\u628A\u7ED3\u8BBA\u6302\u5728\u300C\u53E6\u4E00\u5F62\u6001\u7684\u8BBE\u5907\u300D\u4E0A\uFF1A\u300C${r.slice(0,60)}\u2026\u300D\u2014\u2014**\u5DE5\u5177\u53EA\u9762\u5411\u9E3F\u8499 PC \u5546\u7528\u673A\uFF08\u65E0 root\u3001\u65E0 DevBox\uFF09\uFF0C\u8FD9\u4E2A\u524D\u63D0\u6052\u5047**\uFF0C\u5B83\u65E2\u4E0D\u662F\u963B\u585E\u7406\u7531\u4E5F\u4E0D\u662F\u6539\u9053\u7406\u7531\u3002\u8BBE\u5907\u4FA7\u8DD1\u7528\u6237\u4E8C\u8FDB\u5236\u53EA\u6709\u4E00\u6761\u901A\u9053\uFF1A\u6253\u6210\u79C1\u6709 HNP \u968F\u6267\u884C\u5668 HAP \u88C5\u673A\u3001app \u57DF \`fork/execv\`\uFF08\`ohpt-agent scaffold --kind cli-hnp-runner\`\uFF09\u3002\`/data/local/tmp\` \u8DD1\u4E0D\u4E86\u662F SELinux \u6807\u7B7E\u5F52\u5C5E\u3001**\u4E0E ELF \u7B7E\u540D\u5BF9\u9519\u65E0\u5173**\uFF08pc-error-atlas E129\uFF09\uFF1BELF \u7B7E\u540D\u8D70\u5BBF\u4E3B\u94FE\u63A5\u671F \`-Wl,--code-sign\`\uFF0CHAP \u88C5\u673A\u7B7E\u540D\u8D70 \`ohpt-agent sign-demo\`\u2014\u2014\u4E24\u8005\u90FD\u4E0D\u9700\u8981\u8BBE\u5907\u4FA7\u5DE5\u5177\u94FE\u3002\u771F\u505A\u4E0D\u5230\u5C31\u5982\u5B9E\u964D\u7EA7\u5E76\u5199\u6E05\u5728**\u8FD9\u53F0**\u673A\u5668\u4E0A\u5361\u5728\u54EA\uFF0C\u4E0D\u8981\u628A"\u6362\u53F0\u8BBE\u5907"\u5199\u6210\u7ED3\u8BBA\u3002`);let s=t.filter(la);if(s.length===0)return n;let i=e.json.runtime_provisioning;return typeof i?.device_status=="string"&&i.device_status!=="missing"?n:[...n,`\u65AD\u8A00\u8BBE\u5907\u4FA7\u7F3A\u5C11\u67D0\u53EF\u6267\u884C\uFF08\u8FD0\u884C\u65F6/git/ssh/\u6784\u5EFA\u5DE5\u5177\u7686\u540C\uFF09\uFF1A\u300C${s[0]?.slice(0,60)}\u2026\u300D\u2014\u2014**\u5728\u9E3F\u8499 PC \u4E0A\u8FD9\u4E2A\u65AD\u8A00\u4E0D\u6784\u6210\u964D\u7EA7\u6216\u6539\u9053\u7406\u7531**\uFF1Aapp \u57DF\u53EA\u80FD exec \u81EA\u5DF1\u79C1\u6709 HNP \u91CC\u7684\u4E1C\u897F\uFF0C\u8BBE\u5907\u4E0A\u6709\u6CA1\u6709\u90FD\u4E00\u6837\u8981**\u81EA\u5E26**\u3002\u8BF7\u628A\u5B83\u6253\u8FDB\u79C1\u6709 HNP \u968F\u6267\u884C\u5668 HAP \u88C5\u673A\uFF08\`ohpt-agent scaffold --kind cli-hnp-runner\`\uFF09\u5E76\u586B \`runtime_provisioning\`\uFF1B\u786E\u5B9E\u81EA\u5E26\u4E0D\u4E86\u5C31\u5982\u5B9E\u964D\u7EA7\u3002**\u7EDD\u4E0D\u8BB8\u4EE5"\u8BBE\u5907\u6CA1\u6709"\u4E3A\u7531\u9020 stub \u9876\u66FF**\uFF08git-lfs \u5B9E\u8BC1\uFF1Afake-git \u6491\u51FA 7/7 PASS \u7684\u5047\u7EFF\uFF09\u3002`]}},sb={id:"bottleneck-unresolved",when:e=>e.schemaKey==="adapt"&&["built-and-verified","built-pending-verification","partial"].includes(String(e.json.status)),check:e=>{let t=ib(e.workspaceRoot);if(t.length===0)return[];let n=new Set((Array.isArray(e.json.deps_built)?e.json.deps_built:[]).map(o=>String(o?.name??"").toLowerCase()).filter(Boolean)),r=JSON.stringify(e.json.remaining_blockers??[]),s=o=>new RegExp(`(^|[^\\w-])${lr(o)}([^\\w-]|$)`,"i").test(r),i=t.filter(o=>!n.has(o.toLowerCase())&&!s(o));return i.length===0?[]:[`01-scan \u5224\u5B9A\u7684\u74F6\u9888\u8282\u70B9 ${i.map(o=>`\u300C${o}\u300D`).join("\u3001")} \u4ECD\u662F status=pending\uFF0C\u800C\u672C\u9636\u6BB5\u5DF2\u81EA\u62A5 status=${String(e.json.status)}\u2014\u2014\u74F6\u9888\u65E2\u672A\u6536\u655B\uFF08deps_built \u65E0\u8BB0\u5F55\uFF09\u4E5F\u672A\u70B9\u540D\uFF08remaining_blockers \u672A\u63D0\uFF09\u3002\u74F6\u9888\u51B3\u5B9A\u5168\u5C40\u53EF\u884C\u6027\uFF1A\u8BF7\u8981\u4E48\u5904\u7406\u5B83\u5E76\u66F4\u65B0\u8282\u70B9 status\uFF0C\u8981\u4E48\u628A"\u4E3A\u4F55\u6CA1\u89E3\u3001\u6539\u7528\u4EC0\u4E48\u66FF\u4EE3\u3001\u66FF\u4EE3\u4E0E adaptation-choice.json \u9009\u5B9A\u65B9\u6848\u7684\u5DEE\u5F02"\u663E\u5F0F\u5199\u5165 remaining_blockers\u3002**\u9759\u9ED8\u6539\u9053\u7B49\u4E8E\u5047\u5B8C\u6210**\uFF08git-lfs \u5B9E\u8BC1\uFF1A\u74F6\u9888\u662F\u9E3F\u8499 Go \u5DE5\u5177\u94FE\uFF0C\u5B9E\u9645\u7528\u5BBF\u4E3B stock Go \u4EA7\u4E86 GOOS=linux \u4E8C\u8FDB\u5236\uFF0C\u5168\u7A0B\u65E0\u4EBA\u53EF\u5224\uFF09`]}};function ib(e){try{let t=JSON.parse(A.readFileSync(D.join(e,R,"manifest.json"),"utf8"));return(Array.isArray(t.library_closure)?t.library_closure:[]).filter(r=>r?.is_bottleneck===!0&&String(r?.status??"")==="pending").map(r=>String(r?.name??"")).filter(Boolean)}catch{return[]}}function lt(e){try{let t=JSON.parse(A.readFileSync(D.join(e,R,"manifest.json"),"utf8"));return Q(t.capability_domains)}catch{return[]}}function ep(e){try{return JSON.parse(A.readFileSync(D.join(e,"test-demo","cases.json"),"utf8"))}catch{return null}}function ob(e){try{return A.readFileSync(D.join(e,"test-demo","verify","device-raw.log"),"utf8")}catch{return null}}var ab=[{family:"terminfo/termcap",re:/^(tgetent|tgetstr|tgetnum|tgetflag|tputs|tgoto|tigetstr|tigetnum|tigetflag)$/},{family:"locale/\u7FFB\u8BD1",re:/^(bindtextdomain|textdomain|dgettext|dngettext|dcngettext)$/},{family:"CA/TLS \u4FE1\u4EFB\u5E93",re:/(X509_STORE_load|SSL_CTX_load_verify|SSL_CTX_set_default_verify)/}];var cb=/PASS=\d+/;function ub(e){try{let t=JSON.parse(A.readFileSync(D.join(e,R,"manifest.json"),"utf8"));return(Array.isArray(t.library_closure)?t.library_closure:[]).filter(r=>String(r?.status??"")==="reuse").map(r=>({name:String(r?.name??""),reuse_source:String(r?.reuse_source??"")})).filter(r=>r.name)}catch{return[]}}function lb(e,t){try{let n=JSON.parse(A.readFileSync(D.join(e,R,"manifest.json"),"utf8"));return(Array.isArray(n.library_closure)?n.library_closure:[]).filter(s=>s?.is_bottleneck!==!0&&t.includes(String(s?.status??""))).map(s=>String(s?.name??"")).filter(Boolean)}catch{return[]}}function aa(e,t=512*1024){try{let n=A.statSync(e);if(!n.isFile()||n.size>16*1024*1024)return null;let r=A.openSync(e,"r");try{let s=Math.min(n.size,t),i=Buffer.alloc(s);return A.readSync(r,i,0,s,0),i.toString("utf8")}finally{A.closeSync(r)}}catch{return null}}var db={id:"capability-probe-executed",when:e=>e.schemaKey==="adapt"&&["built-and-verified","built-pending-verification","partial"].includes(String(e.json.status)),check:e=>{let t=ur(e.json.artifacts).map(f=>ue(e.workspaceRoot,f)).filter(f=>f.toLowerCase().endsWith(".so")),n=tr(e.workspaceRoot),r=new Set;for(let f of[...t,...n])r.add(D.resolve(f));let s=new Set,i=[];for(let f of r){let g=En(f);if(g){for(let h of ab)if(!s.has(h.family)){for(let m of g)if(h.re.test(m)){s.add(h.family),i.push(`${D.basename(f)}: ${m}`);break}}}}if(s.size===0)return[];let o=[],a=[...s].join("\u3001");lt(e.workspaceRoot).includes("runtime-data-assets")||o.push(`\u4EA7\u7269\u5BFC\u51FA\u6570\u636E\u8BBF\u95EE\u7B26\u53F7\uFF08${a}\uFF1A${i.slice(0,3).join("\u3001")}\uFF09\u2014\u2014\u8FD0\u884C\u65F6\u4F1A\u8BFB\u53D6\u7CFB\u7EDF\u6570\u636E\u76EE\u5F55\uFF0C\u800C manifest.capability_domains \u672A\u8BB0\u5F55 runtime-data-assets \u80FD\u529B\u57DF\u3002\u6309 pc-capability-domains/runtime-data-assets.md \u4E09\u6B65\u94FE\u5224\u5B9A\uFF1AE2 \u786E\u8BA4\u7F3A\u5931\u8DEF\u5F84 \u2192 \u6570\u636E\u968F\u5305\uFF08HNP share/\uFF09+ \u73AF\u5883\u81EA\u4E3E\uFF1B\u7F3A\u5931\u662F\u9759\u9ED8\u964D\u7EA7\u4E0D\u62A5\u9519\uFF0C\u529F\u80FD\u7528\u4F8B\u5168\u7EFF\u4E0D\u80FD\u4EE3\u66FF\u672C\u5224\u5B9A\uFF08E130\uFF09\u3002`);let c=Array.isArray(e.json.runtime_assets)?e.json.runtime_assets:[];if(c.length===0)return o.push(`\u4EA7\u7269\u5BFC\u51FA\u6570\u636E\u8BBF\u95EE\u7B26\u53F7\uFF08${a}\uFF09\uFF0C\u4F46 03-adapt.json \u672A\u58F0\u660E runtime_assets[]\u2014\u2014E1/E2 \u5224\u5B9A\u672A\u843D\u76D8\uFF0C\u63A2\u9488\u65E0\u4ECE\u6267\u884C\u3002\u6309 delivery-forms \u5FC5\u505A\u9879\u8865\u9F50\uFF1A\u58F0\u660E\u7F3A\u5931\u8DEF\u5F84 \u2192 \u6570\u636E\u968F\u5305\uFF08HNP share/\uFF09+ \u73AF\u5883\u81EA\u4E3E \u2192 \u4E09\u6BB5\u5F0F\u63A2\u9488\uFF08\u6A21\u677F\u89C1 pc-test-design case-design-methods \xA76\uFF09\u3002`),o;let d=e.json.test_run??{},p=[`${String(d.notes??"")}
254
+ ${String(d.test_command??"")}`];for(let f of ur(e.json.artifacts)){if(!/^build\//i.test(f))continue;let g=ue(e.workspaceRoot,f),h=aa(g);if(h!==null){p.push(h);continue}try{for(let m of A.readdirSync(g)){if(!/\.(log|json|txt)$/i.test(m))continue;let _=aa(D.join(g,m));_!==null&&p.push(_)}}catch{}}for(let f of c){let g=String(f?.family??"");if(!g)continue;let h=`__${g.toLowerCase()}__`;p.some(_=>_.includes(h)&&cb.test(_))||o.push(`\u8FD0\u884C\u65F6\u6570\u636E\u65CF\u300C${g}\u300D\uFF08declared_path=${String(f?.declared_path??"?")}\uFF09\u6CA1\u6709\u5BF9\u5E94\u7684 ${h} \u4F2A\u7528\u4F8B\u7ED3\u679C\u884C\uFF08\u4E09\u6BB5\u5F0F\uFF1A\u6570\u636E\u53EF\u8FBE/\u80FD\u529B\u771F\u5B9E/\u884C\u4E3A\u5DEE\u5206\uFF0C\u6A21\u677F\u89C1 pc-test-design case-design-methods \xA76\uFF09\u3002\u6570\u636E\u7F3A\u5931\u662F\u9759\u9ED8\u964D\u7EA7\u2014\u2014\u529F\u80FD\u7528\u4F8B\u5168\u7EFF\u4E0E\u672C\u5224\u5B9A\u5171\u5B58\uFF1B\u672A\u8DD1\u63A2\u9488\u524D\u4E0D\u5F97\u628A\u300C\u94FE\u63A5\u6210\u529F\u300D\u5F53\u6210\u300C\u80FD\u529B\u53EF\u7528\u300D\u3002`)}return o}},pb={id:"codesign-present",when:e=>e.schemaKey==="adapt"&&["built-and-verified","built-pending-verification","partial"].includes(String(e.json.status)),check:e=>{let t=ur(e.json.artifacts).map(i=>ue(e.workspaceRoot,i)).filter(i=>i.toLowerCase().endsWith(".so")),n=tr(e.workspaceRoot),r=new Set;for(let i of[...t,...n])r.add(D.resolve(i));let s=[];for(let i of r)Cl(i,".codesign")===!1&&s.push(D.basename(i));return s.length===0?[]:[`\u4EA7\u7269 .so \u7F3A .codesign \u6BB5\uFF08${s.slice(0,5).join("\u3001")}${s.length>5?" \u7B49":""}\uFF09\u2014\u2014\u9E3F\u8499PC app \u57DF exec/\u52A0\u8F7D\u8981\u6C42\u94FE\u63A5\u671F\u81EA\u7B7E\uFF08LDFLAGS \u52A0 \`-Wl,--code-sign\`\uFF09\uFF0C\u6F0F\u6389\u7684\u8868\u8C61\u662F\u8BBE\u5907\u4FA7 Permission denied/\u52A0\u8F7D\u5931\u8D25\uFF0C\u4E14 post-link \`strip\` \u4F1A\u7834\u574F\u5DF2\u6709\u7B7E\u540D\u6BB5\u3002\u4EA4\u53C9 configure/make \u65F6\u628A\u65D7\u6807\u653E\u8FDB LDFLAGS \u91CD\u94FE\uFF0C\u518D\u91CD\u65B0\u88C5\u673A\u9A8C\u8BC1\uFF08\u89C1\u9519\u8BEF\u56FE\u8C31 E129/E077\uFF09\u3002`]}},fb={id:"reuse-reconciled",when:e=>e.schemaKey==="adapt"&&["built-and-verified","built-pending-verification","partial"].includes(String(e.json.status)),check:e=>{let t=ub(e.workspaceRoot);if(t.length===0)return[];let n=Array.isArray(e.json.deps_built)?e.json.deps_built:[],r=new Map;for(let l of n){let p=String(l?.name??"").toLowerCase();p&&r.set(p,l)}let s=JSON.stringify(e.json.remaining_blockers??[]),i=l=>new RegExp(`(^|[^\\w-])${lr(l)}([^\\w-]|$)`,"i").test(s),o=[],a=[],u=[],c=[];for(let l of t){if(i(l.name))continue;let p=r.get(l.name.toLowerCase());if(!p){o.push(l.name);continue}if(String(p.status??"")!=="reuse"){o.push(l.name);continue}let g=String(p.reuse_source??"");if(!g){a.push(l.name);continue}if(l.reuse_source&&l.reuse_source!==g){c.push(`${l.name}\uFF08scan=${l.reuse_source} \u2192 adapt=${g}\uFF09`);continue}g==="central-registry"&&!String(p?.artifact_url??"")&&u.push(l.name)}if(o.length===0&&a.length===0&&u.length===0&&c.length===0)return[];let d=[];return o.length&&d.push(`\u4F9D\u8D56 ${o.slice(0,5).map(l=>`\u300C${l}\u300D`).join("\u3001")} \u88AB scan \u5224\u5B9A status=reuse\uFF0C\u4F46 deps_built[] \u6CA1\u6709\u540C\u540D reuse \u6761\u76EE\uFF08\u6216\u5B9E\u9645\u8D70\u4E86\u81EA\u5EFA\uFF09\u2014\u2014\u7ED5\u8FC7\u590D\u7528\u4E09\u7EA7\u5E8F\u5C5E\u9759\u9ED8\u6539\u9053`),a.length&&d.push(`\u4F9D\u8D56 ${a.slice(0,5).map(l=>`\u300C${l}\u300D`).join("\u3001")} \u81EA\u62A5 status=reuse \u4F46\u7F3A reuse_source \uFF08enum: local-registry/central-registry\uFF09\u2014\u2014\u6765\u6E90\u672A\u4EA4\u4EE3`),c.length&&d.push(`\u4F9D\u8D56 ${c.join("\u3001")} \u7684\u590D\u7528\u6765\u6E90\u4E0E scan \u5224\u5B9A\u4E0D\u4E00\u81F4\u2014\u2014\u964D\u7EA7\u590D\u7528\u9700\u8BF4\u660E\u539F\u56E0`),u.length&&d.push(`\u4E2D\u5FC3\u4ED3\u62C9\u53D6\u7684\u4F9D\u8D56 ${u.slice(0,5).map(l=>`\u300C${l}\u300D`).join("\u3001")} \u7F3A artifact_url \uFF08pc-03-dev-adapt-code \u6267\u884C\u8981\u70B9\uFF1A\u4E2D\u5FC3\u4ED3\u62C9\u53D6\u7684\u8BB0 artifact_url\uFF09\u2014\u2014\u6765\u6E90\u4E0D\u53EF\u590D\u6838`),[d.join("\uFF1B")+"\u3002\u8981\u4E48\u5982\u5B9E\u56DE\u586B deps_built[] \u7684 status/reuse_source/artifact_url\uFF0C\u8981\u4E48\u628A\u6539\u9053\u7406\u7531\u663E\u5F0F\u5199\u5165 remaining_blockers\uFF08\u4E3A\u4EC0\u4E48\u4E0D\u7528\u4E2D\u5FC3\u4ED3\u5236\u54C1\uFF1A\u7248\u672C\u4E0D\u5339\u914D/\u5236\u54C1\u7F3A\u9677/\u2026\u2014\u2014\u90A3\u6B63\u662F registry \u9700\u8981\u7684\u53CD\u9988\uFF09\u3002\u9759\u9ED8\u7ED5\u8FC7 = \u5047\u5B8C\u6210\uFF08\u67D0\u7EC8\u7AEF\u5E93\u5B9E\u8BC1\uFF1Ascan \u5224 central-registry \u590D\u7528\uFF0C\u5B9E\u9645 stub \u66FF\u4EE3\uFF0C\u4E24\u8F6E\u5168\u7EFF\u65E0\u4EBA\u53EF\u5224\uFF09"]}},hb={id:"fresh-adapt-reconciled",when:e=>e.schemaKey==="adapt"&&["built-and-verified","built-pending-verification","partial"].includes(String(e.json.status)),check:e=>{let t=lb(e.workspaceRoot,["fresh-adapt","recipe-build"]);if(t.length===0)return[];let n=new Set((Array.isArray(e.json.deps_built)?e.json.deps_built:[]).map(o=>String(o?.name??"").toLowerCase()).filter(Boolean)),r=JSON.stringify(e.json.remaining_blockers??[]),s=o=>new RegExp(`(^|[^\\w-])${lr(o)}([^\\w-]|$)`,"i").test(r),i=t.filter(o=>!n.has(o.toLowerCase())&&!s(o));return i.length===0?[]:[`\u4F9D\u8D56 ${i.map(o=>`\u300C${o}\u300D`).join("\u3001")} \u88AB scan \u5224\u5B9A status=fresh-adapt/recipe-build\uFF08\u8981\u7F16\u7684\uFF09\uFF0C\u4F46 deps_built[] \u6CA1\u6709\u540C\u540D\u6761\u76EE\u3001remaining_blockers \u4E5F\u6CA1\u70B9\u540D\u2014\u2014\u58F0\u660E\u4E86\u8981\u7F16\u7684\u4F9D\u8D56\u65E0\u58F0\u6D88\u5931\u3002\u8981\u4E48\u7F16\u4E86\u56DE\u586B deps_built[]\uFF08status/build_status\uFF09\uFF0C\u8981\u4E48\u628A\u7ED3\u5C40\u663E\u5F0F\u5199\u5165 remaining_blockers\uFF08\u780D\u6389\u5BF9\u5E94\u529F\u80FD\u9762/\u5EF6\u540E/\u964D\u7EA7\u590D\u7528 + \u7406\u7531\uFF09\u3002**\u95ED\u5305\u91CC\u58F0\u660E\u7684\u6BCF\u4E2A\u975E reuse \u8282\u70B9\u90FD\u5FC5\u987B\u6709\u7ED3\u5C40**\uFF08libbsd \u5B9E\u8BC1\uFF1Alibmd \u5224 fresh-adapt \u540E\u6CA1\u7F16\u6CA1\u780D\uFF0C\u5374\u5F00\u7740\u4F9D\u8D56\u5B83\u7684 ABI \u5F00\u5173\u2014\u2014\u58F0\u660E\u4E0E\u5B9E\u73B0\u81EA\u76F8\u77DB\u76FE\uFF09`]}},gb={id:"reuse-patch-conflict",when:e=>e.schemaKey==="adapt"&&["built-and-verified","built-pending-verification","partial"].includes(String(e.json.status)),check:e=>{let t=Array.isArray(e.json.patches_applied)?e.json.patches_applied:[];if(t.length===0)return[];let n=String(e.json.package_name??"").toLowerCase();return n?(Array.isArray(e.json.deps_built)?e.json.deps_built:[]).some(i=>String(i?.name??"").toLowerCase()===n&&String(i?.status??"")==="reuse")?[`\u4E3B\u5E93\u300C${String(e.json.package_name)}\u300Ddeps_built[] \u81EA\u62A5 status=reuse\uFF08\u62F7\u56DE\u4E2A\u4EBA\u5E93\u5236\u54C1\uFF09\uFF0C\u4F46\u672C\u8F6E patches_applied[] \u6709 ${t.length} \u9879\u6E90\u7801\u8865\u4E01\u2014\u2014**\u8865\u4E01\u6253\u5728\u6E90\u7801\u4E0A\uFF0C\u5BF9\u5DF2\u7F16\u8BD1\u7684\u5236\u54C1\u65E0\u6548**\uFF0C\u590D\u7528\u5236\u54C1\u4E0D\u542B\u672C\u8F6E\u4FEE\u590D\uFF0C\u5BF9\u5E94 FAIL \u4F1A\u539F\u6837\u590D\u73B0\u5E76\u8BA9 03 \u505C\u5728 partial\u3001\u5236\u54C1\u5E93\u6C38\u4E0D\u66F4\u65B0\uFF08\u8D1F\u5FAA\u73AF\uFF09\u3002\u4FEE\u590D\u8F6E\u5BF9\u672C\u5E93\u964D\u7EA7 fresh-adapt \u81EA\u7F16\uFF08\u6E90\u7801+patches\u2192\u65B0\u4EA7\u7269\uFF09\uFF0C\u6536\u655B built-and-verified \u540E\u7531 04 \u6536\u5C3E\u81EA\u52A8\u7269\u5316\u8986\u76D6\u4E2A\u4EBA\u5E93\uFF1B\u82E5\u8865\u4E01\u786E\u5B9E\u53EA\u5F71\u54CD\u6784\u5EFA\u811A\u672C\u3001\u4E0D\u8FDB\u4EA7\u7269\u8BED\u4E49\uFF0C\u8BF7\u5728 notes \u8BF4\u6E05\u4EE5\u5907\u72EC\u7ACB\u9A8C\u6536\u590D\u6838`]:[]:[]}},tp=e=>/buffer/.test(e)&&e.endsWith(".json"),mb={id:"terminal-render-visual-evidence",when:e=>e.schemaKey==="adapt"&&["built-and-verified","built-pending-verification","partial"].includes(String(e.json.status))&&lt(e.workspaceRoot).includes("terminal-render"),check:e=>{let t=[];Q(e.json.artifacts).some(s=>tp(D.basename(s).toLowerCase())&&Ys(ue(e.workspaceRoot,s)))||dr(D.join(e.workspaceRoot,"build"),tp)||t.push("terminal-render \u547D\u4E2D\u4F46\u65E0\u5C4F\u5E55 buffer \u65AD\u8A00\u8BC1\u636E\uFF08build/ \u4E0B buffer-assert JSON\uFF09\u2014\u2014\u300C\u5E8F\u5217\u5728\u573A\u300D\u2260\u300C\u4E0A\u5C4F\u6548\u679C\u6B63\u786E\u300D\u3002\u6309 pc-device-verify\u300C\u7EC8\u7AEF\u4E0A\u5C4F\u9A8C\u8BC1\u300D\u64CD\u4F5C\u8282\uFF1APTY \u8F93\u51FA\u6D41\u843D\u76D8 \u2192 pyte \u91CD\u653E\u4E3A\u5C4F\u5E55 buffer \u2192 \u8BED\u4E49\u65AD\u8A00\uFF08\u6298\u884C\u4F4D\u7F6E/\u5149\u6807\u843D\u70B9/SIGWINCH \u91CD\u6392\uFF09\u2192 \u8BC1\u636E\u5217\u5165 artifacts[]\u3002\u65AD\u8A00\u5931\u8D25\u5148\u5F52\u56E0 E130\uFF08\u8FD0\u884C\u65F6\u6570\u636E\u672A\u968F\u5305 \u2192 \u9759\u9ED8\u964D\u7EA7\uFF09\uFF0C\u6570\u636E\u968F\u5305\u5B8C\u5907\u4ECD\u5931\u8D25\u624D\u5224\u6E32\u67D3\u7F3A\u9677\u3002");let r=!1;try{let s=D.join(e.workspaceRoot,"build");for(let i of A.readdirSync(s,{withFileTypes:!0}))if(!(!i.isDirectory()||!/^device-runs/i.test(i.name))&&A.readdirSync(D.join(s,i.name)).some(o=>o.toLowerCase().endsWith(".log"))){r=!0;break}}catch{}return r||t.push("terminal-render \u547D\u4E2D\u4F46\u65E0\u9010\u7528\u4F8B PTY \u6355\u83B7\u843D\u76D8\uFF08build/device-runs*/ \u975E\u7A7A\uFF09\u2014\u2014buffer \u65AD\u8A00\u5FC5\u987B\u53EF\u4ECE\u539F\u59CB\u6D41\u91CD\u653E\uFF08\u8BC1\u636E\u81EA\u6D3D\uFF09\u3002\u6309 pc-device-verify \u64CD\u4F5C\u8282\u628A\u540D\u518C\u6E32\u67D3\u7528\u4F8B\u7684 PTY \u8F93\u51FA\u6D41\u9010\u4EFD\u5B58\u6863\u5E76\u5217\u5165 artifacts[]\u3002"),t}};function Ms(e,t,n=3){if(n<0)return null;let r;try{r=A.readdirSync(e,{withFileTypes:!0})}catch{return null}let s=null,i=o=>{o!==null&&(s===null||o>s)&&(s=o)};for(let o of r){if(o.isFile()&&t(o.name.toLowerCase()))try{let a=A.statSync(D.join(e,o.name));a.size>0&&i(a.mtimeMs)}catch{}o.isDirectory()&&i(Ms(D.join(e,o.name),t,n-1))}return s}function dr(e,t,n=3){return Ms(e,t,n)!==null}function Ys(e){try{return A.statSync(e).size>0}catch{return!1}}var No=e=>e==="demo-verify.json"||/\.(jpe?g|png|webp)$/.test(e),Io=e=>/\.tap$/.test(e)||/(device|-raw)/.test(e)&&/\.(log|txt)$/.test(e),yb=e=>e==="audio-verify.json",Zs={render:No,"audio-output":yb,"device-log":Io},cp={render:"\u65E0\u6355\u83B7\u7684\u4E0A\u5C4F\u53D6\u8BC1\u8BB0\u5F55\uFF08demo-verify.json\uFF0C\u542B\u62C9\u8D77/\u65E5\u5FD7/GL \u8EAB\u4EFD\uFF1B\u622A\u56FE\u4EC5\u5B58\u6863\u5F85\u4EBA\u5DE5\u9A8C\u6536\u3001\u4E0D\u4F5C\u673A\u5668\u5224\u636E\uFF09\u2014\u2014\u56FE\u5F62\u4E0A\u5C4F\u987B `ohpt-agent verify-demo -w <ws>` \u843D\u76D8\u53D6\u8BC1\u8BB0\u5F55\u5E76\u5217\u5165 artifacts[]\uFF0C\u4E0D\u80FD\u53EA\u51ED\u81EA\u62A5\uFF1B\u786E\u5B9E\u672A\u4E0A\u5C4F\u5219\u72B6\u6001\u5E94\u964D\u7EA7","audio-output":"\u65E0\u6355\u83B7\u7684\u97F3\u9891\u51FA\u58F0\u8BC1\u636E\uFF08build/audio-verify.json\uFF09\u2014\u2014\u547D\u4E2D audio \u57DF\u987B\u6309 pc-capability-domains \u7684 `solutions/ohaudio-backend` \u6355\u83B7\u300C\u8BBE\u5907\u771F\u62FF\u5230 renderer \u4E14\u771F\u5199\u51FA\u5E27\u300D\u7684\u8BC1\u636E\uFF1B**\u7F16\u5F97\u51FA\u4F46\u6CA1\u6709\u771F\u5B9E\u97F3\u9891\u540E\u7AEF\u4E0D\u7B97\u8FBE\u6807**\uFF0C\u786E\u5B9E\u6CA1\u51FA\u58F0\u5219\u72B6\u6001\u5E94\u964D\u7EA7","device-log":"\u65E0\u8BBE\u5907\u4FA7\u539F\u59CB\u8F93\u51FA\u65E5\u5FD7\uFF08\u5982 build/test-device-raw.log\uFF09\u2014\u2014\u8BBE\u5907\u56DE\u5F52\u987B\u628A\u5B8C\u6574\u539F\u59CB stdout/TAP \u843D\u76D8\u5E76\u5217\u5165 artifacts[]\uFF08pc-03\u300C\u8BBE\u5907\u8BC1\u636E\u7559\u5B58\u300D\uFF09\uFF0C\u4EC5\u805A\u5408\u6570\u5B57\u4E0D\u6784\u6210\u5145\u5206\u8BC1\u636E\uFF1B\u786E\u672A\u5728\u8BBE\u5907\u4E0A\u8DD1\u5219\u72B6\u6001\u5E94\u964D\u7EA7"},_b={id:"evidence-artifact-required",when:e=>e.schemaKey==="adapt"&&(String(e.json.status)==="built-and-verified"||e.json.target_path_covered==="covered"),check:e=>{let t=typeof e.json.delivery_form=="string"?e.json.delivery_form:null,n=lt(e.workspaceRoot),r=st(t,n)?"render":Ne(n),s=Zs[r];return Q(e.json.artifacts).some(a=>s(D.basename(a).toLowerCase())&&Ys(ue(e.workspaceRoot,a)))||dr(D.join(e.workspaceRoot,"build"),s)?[]:[`${String(e.json.status)==="built-and-verified"?"status=built-and-verified":"target_path_covered=covered"}\uFF0C\u4F46 artifacts[] / build/ \u91CC${cp[r]}`]}};function bb(e){let t=[];try{let r=JSON.parse(A.readFileSync(D.join(e,R,"01-scan.json"),"utf8"));t=(Array.isArray(r.capability_dependencies)?r.capability_dependencies:[]).map(i=>String(i?.domain??"")).filter(Boolean)}catch{return[]}let n=[D.join(ie,"pc-capability-domains","references","capability-domains"),D.join(vb(),"")];return t.filter(r=>!n.some(s=>A.existsSync(D.join(s,`${r}.md`))))}function vb(){let e=process.env.PC_ADAPT_KNOWLEDGE_ROOT,t=e&&e.trim()?D.resolve(e.trim()):D.join(T_.homedir(),".local","share","ohos-agent-pc-adapter","knowledge");return D.join(t,"capability-domains")}var Sb={id:"verify-verdict-required",when:e=>(e.verifyMode??"agent")==="agent"&&(e.schemaKey==="adapt"&&String(e.json.status)==="built-and-verified"||e.schemaKey==="summary"&&String(e.json.adaptation_status)==="success"),check:e=>{let t=jn(D.join(e.workspaceRoot,R));if(t?.verified===!0)return[];let n=e.schemaKey==="summary"?"adaptation_status=success":"status=built-and-verified";return t?[`${n}\uFF0C\u4F46\u72EC\u7ACB\u9A8C\u6536\u88C1\u51B3 verify-verdict.json \u7684 verified\u2260true\u2014\u2014\u72EC\u7ACB\u9A8C\u6536\u672A\u901A\u8FC7\u4E0D\u5F97\u81EA\u62A5\u6210\u529F\u3002\u6309\u88C1\u51B3 diagnosis \u7EED\u4FEE\uFF0C\u6216\u628A\u72B6\u6001\u5982\u5B9E\u964D\u7EA7\u4E3A built-pending-verification/partial`]:[`${n}\uFF0C\u4F46 .ohos-adaptation-pc/verify-verdict.json \u7F3A\u5931\u6216\u5DF2\u5931\u6548\u2014\u2014agent \u9A8C\u6536\u6A21\u5F0F\u4E0B\u300C\u6210\u529F\u300D\u987B\u7531\u72EC\u7ACB\u9A8C\u6536\u5B50agent\uFF08pc-03-dev-verify\uFF09\u5BF9\u6355\u83B7\u8BC1\u636E\u51FA\u5177\u88C1\u51B3\u3002\u8BF7\u5728\u9636\u6BB5\u672B\u8D77 pc-03-dev-verify \u6838\u9A8C\uFF1B\u786E\u65E0\u6CD5\u72EC\u7ACB\u9A8C\u8BC1\u65F6\u72B6\u6001\u5E94\u4E3A built-pending-verification`]}};function pa(e,t,n,r){let{ecosystem:s,host:i}=Kt(D.join(r,R)),o=(typeof e.ecosystem=="string"?e.ecosystem:null)??s,a=vt((typeof e.host_runtime=="string"?e.host_runtime:null)??i,o,t),u=Cs(t,n,a);if(u.length<2&&a!=="device-node")return[];let c=e.test_run,d=Array.isArray(c?.carriers)?c.carriers:[];return u.filter(l=>{let p=d.find(f=>String(f?.carrier)===l);return!p||p.executed!==!0?!0:!Q(p.evidence).some(f=>Ys(ue(r,f)))})}var kb={id:"dual-carrier-evidence",when:e=>e.schemaKey==="adapt"&&(String(e.json.status)==="built-and-verified"||e.json.target_path_covered==="covered"),check:e=>{let t=typeof e.json.delivery_form=="string"?e.json.delivery_form:null,n=lt(e.workspaceRoot),r=pa(e.json,t,n,e.workspaceRoot);if(r.length===0)return[];let s=typeof e.json.ecosystem=="string"?e.json.ecosystem:null;return[`${String(e.json.status)==="built-and-verified"?"status=built-and-verified":"target_path_covered=covered"}\uFF0C\u4F46\u4EA4\u4ED8\u5F62\u6001 ${t??"(\u672A\u586B)"} \u9700\u8981\u5BBF\u4E3B\u5BF9\u5E94\u7684\u9A8C\u8BC1\u8F7D\u4F53\uFF0C\u7F3A\uFF1A`+r.map(i=>`${i}\uFF08${Ul[i]}\uFF0C\`ohpt-agent scaffold --kind ${An(i,n,s,t)??"<\u8BE5\u5F62\u6001\u65E0\u6A21\u677F>"}\`\uFF09`).join("\u3001")+"\u2014\u2014\u540C\u4E00\u4E2A .so \u88AB HAP \u8FDB\u7A0B dlopen \u8C03\u7528\uFF0C\u4E0E\u88AB\u94FE\u8FDB ELF \u5728 app \u57DF\u5B50\u8FDB\u7A0B\u91CC\u8DD1\uFF0C\u662F\u4E24\u6761\u4E0D\u540C\u7684\u52A0\u8F7D\u8DEF\u5F84\uFF0C\u4E00\u6761\u8FC7\u4E0D\u4EE3\u8868\u53E6\u4E00\u6761\u8FC7\u3002\u8865\u8DD1\u540E\u628A\u7ED3\u679C\u5199\u8FDB `test_run.carriers[]`\uFF08evidence \u987B\u771F\u5728\u76D8\u4E14\u975E\u7A7A\uFF09\uFF1B\u786E\u5B9E\u8DD1\u4E0D\u4E86\u90A3\u4E00\u534A\u5C31\u5982\u5B9E\u964D\u7EA7\u5E76\u5728 remaining_blockers \u5199\u6E05\u539F\u56E0\u3002"]}},Db={id:"capability-absence-contradicted",when:e=>e.schemaKey==="scan"&&(Array.isArray(e.json.capability_dependencies)?e.json.capability_dependencies:[]).some(t=>String(t?.harmony_status??"")==="unavailable"),check:e=>{let t=Array.isArray(e.json.capability_dependencies)?e.json.capability_dependencies:[],n=[];for(let r of t){let s=da(r);if(!s)continue;let i=s.probe.hits.slice(0,3).map(o=>{let a=[o.since?`@since ${o.since}`:"",o.permission?`@permission ${o.permission}`:""].filter(Boolean).join(" ");return` ${o.file}:${o.line} ${o.decl}${a?` [${a}]`:""}`}).join(`
255
+ `);n.push(`\u80FD\u529B\u57DF\u300C${s.domain}\u300D\u5224\u4E86 harmony_status=unavailable\uFF0C\u4F46 SDK \u58F0\u660E\u8BED\u6599\u91CC\u6709 ${s.probe.total} \u6761\u5BF9\u5E94\u58F0\u660E\uFF1A
256
+ ${i}
257
+ \u2014\u2014\u300C\u77E5\u8BC6\u5E93/\u57DF\u5E93\u91CC\u6CA1\u6709\u300D\u4E0D\u7B49\u4E8E\u300C\u9E3F\u8499\u6CA1\u6709\u300D\u3002\u8BF7 \`ohpt-agent knowledge -s "`+s.domain+'"` \u6838\u5BF9\u4E0A\u8FF0\u58F0\u660E\u7684 @since\uFF08\u5BF9\u4E0D\u5BF9\u5F97\u4E0A\u76EE\u6807\u8BBE\u5907 API \u7248\u672C\uFF09\u3001@permission\uFF08\u662F\u4E0D\u662F normal \u7EA7\u3001\u666E\u901A\u5E94\u7528\u591F\u4E0D\u591F\u5F97\u7740\uFF09\u4E0E\u8BED\u4E49\u8986\u76D6\u9762\uFF1B\u786E\u8BA4\u53EF\u7528\u5C31\u6539 harmony_status \u4E0E feasibility\uFF0C\u786E\u8BA4\u4E0D\u53EF\u7528\u5C31\u628A\u547D\u4E2D\u7684\u58F0\u660E\u6587\u4EF6\u8DEF\u5F84\u5199\u8FDB\u672C\u6761 evidence[] \u5E76\u8BF4\u660E\u4E3A\u4F55\u4E0D\u9002\u7528\uFF08\u5199\u4E86\u5373\u4E0D\u518D\u544A\u8B66\uFF09\u3002\uFF08extract-file-icon \u5B9E\u8BC1\uFF1A\u636E\u6B64\u5224\u6B7B\u6574\u5E93\uFF0C\u800C getFileIconSync \u6743\u9650\u662F normal\u3001\u771F\u673A 9/9 \u540E\u7F00\u53D6\u5230\u56FE\u6807\uFF09')}return n}},Eb={id:"capability-domain-sediment-required",when:e=>e.schemaKey==="summary"&&["success","partial","infeasible"].includes(String(e.json.adaptation_status)),check:e=>{let t=bb(e.workspaceRoot);if(t.length===0)return[];let n=new Set((Array.isArray(e.json.sediment_suggestions)?e.json.sediment_suggestions:[]).filter(s=>String(s?.kind??"")==="capability-domain").map(s=>String(s?.domain??"").toLowerCase()).filter(Boolean)),r=t.filter(s=>!n.has(s.toLowerCase()));return r.length===0?[]:[`\u672C\u8F6E\u547D\u4E2D\u7684\u80FD\u529B\u57DF ${r.map(s=>`\u300C${s}\u300D`).join("\u3001")} \u5728\u65B9\u6848\u5E93\u91CC**\u6CA1\u6709\u57DF\u6587\u4EF6**\uFF08\u5185\u7F6E\u4E0E\u4E2A\u4EBA\u5E93\u5747\u65E0\uFF09\uFF0C\u8BF4\u660E\u8FD9\u4E9B\u57DF\u7684\u7ED3\u8BBA\u53EA\u80FD\u662F\u73B0\u573A\u5224\u65AD\uFF1B\u4F46 sediment_suggestions[] \u91CC\u6CA1\u6709\u5BF9\u5E94\u7684 kind=capability-domain \u5019\u9009\u2014\u2014**\u7528\u4E86\u73B0\u573A\u5224\u65AD\u5C31\u8981\u628A\u65B9\u6848\u56DE\u8865\u8FDB\u57DF\u5E93**\uFF0C\u5426\u5219\u4E0B\u4E00\u4E2A\u540C\u7C7B\u5E93\u8FD8\u4F1A\u4ECE\u96F6\u649E\u540C\u4E00\u5835\u5899\uFF08joal \u6848\uFF1Asediment \u7CBE\u51C6\u5199\u4E86\u300Caudio \u57DF\u5F85\u5EFA\u300D\u5374\u6CA1\u6709\u51FA\u53E3\uFF0C\u57DF\u81F3\u4ECA\u4ECD\u5F85\u5EFA\uFF09\u3002\u8BF7\u4E3A\u6BCF\u4E2A\u5F85\u5EFA\u57DF\u8865\u4E00\u6761 \`{kind:"capability-domain", domain:"<\u57DF\u540D>"}\` \u5019\u9009\uFF08\u5199\u6E05\uFF1A\u9E3F\u8499\u72B6\u6001 / \u66FF\u6362\u65B9\u6848 / \u53EF\u884C\u6027\u5F71\u54CD / \u5178\u578B\u5E93\u600E\u4E48\u63A5\uFF09\uFF0C\`ohpt knowledge -p\` \u4F1A\u628A\u5B83\u843D\u6210\u57DF\u6587\u4EF6\u9AA8\u67B6\u3002`]}};function np(e){let t=aa(D.join(e,R,"prescan-report.yaml"));return t?cd(t).map(n=>({ruleId:n.rule_id,severity:n.severity,kbRef:n.kb_ref??null,files:n.hits.map(ud)})):[]}function Ab(e){try{let t=JSON.parse(A.readFileSync(D.join(e,R,"prescan-dispositions.json"),"utf8"));return t&&typeof t=="object"?t:{}}catch{return{}}}var wb={id:"prescan-critical-handled",when:e=>np(e.workspaceRoot).some(t=>t.severity==="critical"||t.severity==="high"),check:e=>{let t=np(e.workspaceRoot).filter(s=>s.severity==="critical"||s.severity==="high"),n=Ab(e.workspaceRoot),r=[];for(let s of t){let i=(s.files.length>0?s.files:["(\u672A\u5B9A\u4F4D\u6587\u4EF6)"]).filter(o=>{let a=n[`${s.ruleId}@${o}`];return a?.action!=="handled"&&a?.action!=="waived"});i.length!==0&&r.push(`prescan \u547D\u4E2D ${s.severity} \u89C4\u5219 ${s.ruleId}\uFF08${i.slice(0,5).join("\u3001")}${i.length>5?` \u7B49 ${i.length} \u5904`:""}${s.kbRef?`\uFF0C\u5173\u8054\u6761\u76EE ${s.kbRef}`:""}\uFF09\u672A\u5904\u7F6E\u4E5F\u672A\u4E66\u9762\u8C41\u514D\u2014\u2014\u7F16\u8BD1\u524D\u95E8\u7981\uFF1A\u4FEE\u590D\u540E\u91CD\u8DD1 \`ohpt-agent prescan\`\uFF08\u547D\u4E2D\u6D88\u5931\u5373\u95ED\u73AF\uFF09\uFF0C\u6216\u5728 \`.ohos-adaptation-pc/prescan-dispositions.json\` \u767B\u8BB0\u8C41\u514D\uFF1A\`{"${s.ruleId}@${i[0]}": {"action":"waived","reason":"<\u7406\u7531>","ts":"<ISO\u65F6\u95F4>"}\`}\uFF08\u683C\u5F0F\u4E0E\u793A\u4F8B\u89C1 pc-error-atlas \u7684 prescan \u8282\uFF09\u3002\u53EA\u544A\u8B66\u4E0D\u963B\u585E\uFF1B\u5904\u7F6E/\u8C41\u514D\u540E\u672C\u544A\u8B66\u81EA\u52A8\u6D88\u9664`)}return r}},Cb={id:"env-snapshot-contradicted",when:e=>e.schemaKey==="adapt"&&e.json.test_run?.executed===!1,check:e=>{let t=nb(e.workspaceRoot);return["device","signing","hvigorw"].filter(r=>!t[r]?.found).length>0?[]:["test_run.executed=false\uFF0C\u4F46 00-env.json \u663E\u793A\u8BBE\u5907\u5728\u7EBF\u4E14\u88C5\u673A\u80FD\u529B\u9F50\u5907\uFF08device + signing + hvigorw \u21D2 \u79C1\u6709 HNP \u6267\u884C\u5668\u9020\u5F97\u51FA\u6765\uFF09\u2014\u2014\u4E24\u8005\u77DB\u76FE\u3002\u8981\u4E48\u8865\u8DD1\u8BBE\u5907\u7528\u4F8B\uFF0C\u8981\u4E48 `ohpt-agent env --device-only` \u590D\u6D4B\u540E\u4EE5\u6700\u65B0\u5FEB\u7167\u4E3A\u8BC1\u518D\u964D\u7EA7\u3002"]}},up=/^(功能正常|正常|正确|无异常|符合预期|没问题|ok|pass|通过)$/i,Rb={id:"prd-shape-sane",when:e=>e.schemaKey==="scan"&&!!e.json.prd,check:e=>{let t=e.json.prd,n=Array.isArray(t.modules)?t.modules:[],r=Array.isArray(t.features)?t.features:[],s=[],i=new Set,o=new Set;for(let d of r){let l=String(d?.id??"");l&&(i.has(l)&&o.add(l),i.add(l))}o.size>0&&s.push(`prd.features[].id \u91CD\u590D\uFF1A${[...o].join("\u3001")}\u2014\u2014\u529F\u80FD\u70B9 id \u662F\u9636\u6BB5 5 \u7528\u4F8B\u7684 1:1 \u8FFD\u6EAF\u952E\uFF0C\u91CD\u590D\u4F1A\u8BA9\u8986\u76D6\u5EA6\u7EDF\u8BA1\u628A\u540C\u4E00\u529F\u80FD\u70B9\u7B97\u6210\u591A\u4E2A\u3002\u8BF7\u5408\u5E76\u6216\u6539\u53F7`);let a=new Set(n.map(d=>String(d?.code??""))),u=r.filter(d=>!a.has(String(d?.module??""))).map(d=>String(d?.id??"?"));u.length>0&&s.push(`prd.features \u4E2D ${u.slice(0,5).join("\u3001")}${u.length>5?` \u7B49 ${u.length} \u6761`:""} \u7684 module \u4E0D\u5728 prd.modules[].code \u91CC\uFF08\u73B0\u6709\uFF1A${[...a].join("\u3001")||"\u65E0"}\uFF09\u2014\u2014\u8865\u4E0A\u6A21\u5757\u6761\u76EE\u6216\u6539\u6B63\u5F52\u5C5E`);let c=r.filter(d=>up.test(String(d?.checkpoint??"").trim())).map(d=>String(d?.id??"?"));return c.length>0&&s.push(`prd.features \u4E2D ${c.slice(0,5).join("\u3001")} \u7684 checkpoint \u662F\u300C\u529F\u80FD\u6B63\u5E38\u300D\u8FD9\u7C7B\u6A21\u7CCA\u63CF\u8FF0\u2014\u2014\u9A8C\u8BC1\u70B9\u8981\u5199\u6210\u5177\u4F53\u3001\u53EF\u5224\u5B9A\u7684\u89C2\u5BDF\u7ED3\u679C\uFF08\u5982\u300C\u8BBE\u5907\u622A\u56FE\u4E2D\u51FA\u73B0\u975E\u5168\u9ED1\u7684 640x480 \u7A97\u53E3\u300D\uFF09\uFF0C\u5426\u5219\u9636\u6BB5 5 \u53EA\u80FD\u751F\u6210\u300C\u8DD1\u8D77\u6765\u6CA1\u5D29\u300D\u5F0F\u7684\u7528\u4F8B\uFF0C\u7A7A stub \u4E5F\u80FD\u5168\u7EFF`),s}},jb={id:"prd-surface-claimed",when:e=>e.schemaKey==="scan"&&!!e.json.prd,check:e=>{let t=ko(e.workspaceRoot);if(!t||t.size===0)return[];let n=e.json.prd,r=Array.isArray(n.features)?n.features:[],s=new Set;for(let a of r){let u=a?.covered_apis;for(let c of Q(u?.source)){s.add(c);for(let d of["::","."]){let l=c.split(d).pop();l&&l!==c&&s.add(l)}}}let i=[...t].filter(a=>!s.has(a)).sort();return i.length===0?[]:[`\u300C${Do(e.workspaceRoot).origin}\u300D\u91CC\u6709\u3001\u5374\u6CA1\u6709\u4EFB\u4F55 PRD \u529F\u80FD\u70B9\u8BA4\u9886\u7684\u7B26\u53F7\uFF1A${i.slice(0,10).join("\u3001")}${i.length>10?` \u7B49 ${i.length} \u4E2A`:""}\u2014\u2014PRD \u662F\u6D4B\u8BD5\u7EBF\u7684**\u552F\u4E00**\u9700\u6C42\u9762\uFF0C\u6CA1\u88AB\u8BA4\u9886\u7684\u7B26\u53F7\u4E0B\u6E38\u6C38\u8FDC\u4E0D\u4F1A\u4E3A\u5B83\u751F\u6210\u7528\u4F8B\u3002\u4E0D\u5FC5\u4E3A\u6BCF\u4E2A\u7B26\u53F7\u5355\u5F00\u529F\u80FD\u70B9\uFF08\u529F\u80FD\u70B9\uFF1D\u7528\u6237\u53EF\u611F\u77E5\u7684\u80FD\u529B\uFF0C\u89C1 pc-test-design \xA7\u4E00\uFF09\uFF1A\u628A\u5B83\u4EEC\u5E76\u8FDB\u5BF9\u5E94\u529F\u80FD\u70B9\u7684 \`covered_apis.source\` \u5373\u53EF\u3002\u786E\u5C5E\u5185\u90E8/\u5E9F\u5F03\u63A5\u53E3\u800C\u4E0D\u8BE5\u6D4B\u7684\uFF0C\u5728 prd \u7684 notes \u91CC\u8BF4\u660E\u539F\u56E0\u3002`]}};function je(e,t){try{return JSON.parse(A.readFileSync(D.join(e,R,t),"utf8"))}catch{return null}}var Fb={id:"testcases-traceable",when:e=>e.schemaKey==="testcases",check:e=>{let n=je(e.workspaceRoot,"01-scan.json")?.prd,r=Array.isArray(n?.features)?n?.features:[];if(r.length===0)return[];let s=new Map(r.map(y=>[String(y?.id??""),y])),i=Array.isArray(n?.modules)?n?.modules:[],o=new Set(i.filter(y=>String(y?.priority??"")==="P0").map(y=>String(y?.code??""))),a=Array.isArray(e.json.cases)?e.json.cases:[],u=[],c=[...new Set(a.map(y=>String(y?.prd_ref??"")).filter(y=>y&&!s.has(y)))];c.length>0&&u.push(`cases[].prd_ref \u60AC\u7A7A\uFF1A${c.slice(0,5).join("\u3001")} \u4E0D\u5728 01-scan.json \u7684 prd.features[].id \u91CC\u2014\u2014\u6307\u5411\u4E0D\u5B58\u5728\u7684\u9700\u6C42\u7B49\u4E8E\u865A\u589E\u8986\u76D6\u5EA6\u3002\u6539\u6210\u771F\u5B9E\u529F\u80FD\u70B9 id\uFF0C\u6216\u5148\u56DE\u9636\u6BB5 1 \u628A\u8BE5\u529F\u80FD\u70B9\u8865\u8FDB PRD`);let d=a.filter(y=>String(y?.id??"")!==String(y?.prd_ref??"")).map(y=>`${String(y?.id??"?")}\u2260${String(y?.prd_ref??"?")}`);d.length>0&&u.push(`\u7528\u4F8B id \u4E0E prd_ref \u4E0D\u7B49\uFF1A${d.slice(0,5).join("\u3001")}\u2014\u20141:1 \u7ED1\u5B9A\u7684\u8868\u8FBE\u65B9\u5F0F\u5C31\u662F\u7528\u4F8B\u6CBF\u7528\u529F\u80FD\u70B9\u7F16\u53F7\uFF0C\u53E6\u7ACB\u4E00\u5957\u7F16\u53F7\u65E9\u665A\u6F02\u79FB\u3002\u628A id \u6539\u6210\u5BF9\u5E94\u7684 prd_ref`);let l=[];for(let y of a){let S=s.get(String(y?.prd_ref??""));if(S)for(let b of["level","scenario"]){let E=String(y?.[b]??""),k=String(S?.[b]??"");k&&E!==k&&l.push(`${String(y?.id??"?")}.${b}=${E}\uFF08\u529F\u80FD\u70B9\u662F ${k}\uFF09`)}}l.length>0&&u.push(`level / scenario \u672A\u539F\u6837\u7EE7\u627F\u529F\u80FD\u70B9\uFF1A${l.slice(0,5).join("\u3001")}${l.length>5?` \u7B49 ${l.length} \u5904`:""}\u2014\u2014\u5206\u7EA7\u5728\u9636\u6BB5 1 \u7531\u300C\u6A21\u5757\u4F18\u5148\u7EA7 \xD7 \u573A\u666F\u300D\u786E\u7ACB\uFF0C\u7528\u4F8B\u4FA7\u4E0D\u505A\u4E8C\u6B21\u8C03\u6574\uFF1B\u8981\u6539\u8BF7\u56DE\u9636\u6BB5 1 \u6539\u529F\u80FD\u70B9`);let p=new Set(a.map(y=>String(y?.prd_ref??"")).filter(y=>s.has(y))),f=el(e.json);for(let y of f)s.has(y)||u.push(`\u6392\u9664\u9879 ${y} \u4E0D\u5728 PRD \u4E2D`);let g=[...s.keys()].filter(y=>!p.has(y)&&!f.has(y)),h=s.size-[...f].filter(y=>s.has(y)).length,m=e.json.coverage??{};Number(m.prd_features_total)!==h&&u.push(`coverage.prd_features_total=${String(m.prd_features_total)}\uFF0C\u800C 01-scan.json \u7684 prd.features[] \u6709\u6548\u5206\u6BCD\u4E3A ${h} \u6761\uFF08\u539F\u59CB ${s.size}\uFF0C\u6392\u9664 ${f.size}\uFF09\u2014\u2014\u4E0D\u80FD\u624B\u5199`),Number(m.covered)!==p.size&&u.push(`coverage.covered=${String(m.covered)}\uFF0C\u800C\u5B9E\u9645\u88AB\u7528\u4F8B\u8986\u76D6\u7684\u529F\u80FD\u70B9\u53BB\u91CD\u540E\u4E3A ${p.size} \u4E2A\u2014\u2014\u81EA\u62A5\u8986\u76D6\u5EA6\u5FC5\u987B\u4E0E cases[].prd_ref \u4E00\u81F4`);let _=(y,S,b,E)=>{let k=Q(y).slice().sort(),j=S.slice().sort();JSON.stringify(k)!==JSON.stringify(j)&&u.push(`coverage.${b}[] \u4E0E\u771F\u5B9E\u5DEE\u96C6\u4E0D\u7B26\uFF1A\u81EA\u62A5 [${k.join("\u3001")||"\u7A7A"}]\uFF0C\u5B9E\u9645\u662F [${j.join("\u3001")||"\u7A7A"}]\u2014\u2014${E}`)};return _(m.uncovered,g,"uncovered","\u5982\u5B9E\u586B\u5199\uFF1B\u786E\u5B9E\u8BBE\u8BA1\u4E0D\u51FA\u7528\u4F8B\u7684\u529F\u80FD\u70B9\u4E5F\u7559\u5728\u8FD9\u91CC\u5E76\u5728 notes \u8BF4\u660E\uFF0C\u4E0D\u8981\u62B9\u6389"),(m.p0_uncovered!==void 0||o.size>0)&&_(m.p0_uncovered,g.filter(y=>o.has(String(s.get(y)?.module??""))),"p0_uncovered","P0 \u6A21\u5757\u4E0B\u672A\u8986\u76D6\u7684\u529F\u80FD\u70B9\u5FC5\u987B\u5982\u5B9E\u5217\u51FA\u2014\u2014\u5B83\u975E\u7A7A\u5373\u5199\u4E0D\u51FA status=designed"),u}},xb={id:"testcases-shape-sane",when:e=>e.schemaKey==="testcases",check:e=>{let t=Array.isArray(e.json.cases)?e.json.cases:[],n=Array.isArray(e.json.modules)?e.json.modules:[],r=new Set(n.map(c=>String(c?.code??""))),s=[],i=new Set,o=new Set;for(let c of t){let d=String(c?.id??"");d&&(i.has(d)&&o.add(d),i.add(d))}o.size>0&&s.push(`cases[].id \u91CD\u590D\uFF1A${[...o].join("\u3001")}\u2014\u2014\u7528\u4F8B id \u662F\u9636\u6BB5 6 \u56DE\u586B\u6267\u884C\u7ED3\u679C\u7684\u8FFD\u6EAF\u952E\uFF0C\u91CD\u590D\u4F1A\u8BA9\u7ED3\u679C\u5BF9\u4E0D\u4E0A\u53F7`);let a=t.filter(c=>!r.has(String(c?.module??""))).map(c=>String(c?.id??"?"));a.length>0&&s.push(`cases \u4E2D ${a.slice(0,5).join("\u3001")}${a.length>5?` \u7B49 ${a.length} \u6761`:""} \u7684 module \u4E0D\u5728 modules[].code \u91CC\uFF08\u73B0\u6709\uFF1A${[...r].join("\u3001")||"\u65E0"}\uFF09\u2014\u2014\u8865\u4E0A\u6A21\u5757\u6761\u76EE\u6216\u6539\u6B63\u5F52\u5C5E`);let u=t.filter(c=>up.test(String(c?.expected_result??"").trim())).map(c=>String(c?.id??"?"));return u.length>0&&s.push(`cases \u4E2D ${u.slice(0,5).join("\u3001")} \u7684 expected_result \u662F\u300C\u529F\u80FD\u6B63\u5E38\u300D\u8FD9\u7C7B\u6A21\u7CCA\u63CF\u8FF0\u2014\u2014\u9884\u671F\u7ED3\u679C\u8981\u80FD\u76F4\u63A5\u5224 pass/fail\uFF08\u5982\u300C\u7A97\u53E3\u6807\u9898\u680F\u663E\u793A\u4E3A hello\u300D\uFF09\uFF0C\u5426\u5219\u9636\u6BB5 6 \u8DD1\u5B8C\u4E5F\u4E0D\u77E5\u9053\u7B97\u4E0D\u7B97\u8FC7`),s}},Ob={id:"testcases-error-contract-provenance",when:e=>e.schemaKey==="testcases",check:e=>{let t=Array.isArray(e.json.cases)?e.json.cases:[],n=[],r=/(退出码|返回码|错误码|状态码|exit\s*code|error\s*code|errno|return\s*code)\s*(=|为|是|[::])?\s*(-?[1-9]\d*)/i,s=/(出处\s*[::]|provenance|上游|upstream|实测|官方文档)/i,i=[];for(let o of t){let a=Array.isArray(o?.steps)?o.steps:[],u=String(o?.expected_result??"")+`
258
+ `+a.map(c=>String(c?.checkpoint??"")).join(`
259
+ `);r.test(u)&&(s.test(String(o?.notes??""))||i.push(String(o?.id??"?")))}return i.length>0&&n.push(`cases \u4E2D ${i.slice(0,5).join("\u3001")}${i.length>5?` \u7B49 ${i.length} \u6761`:""} \u7684\u9519\u8BEF\u5951\u7EA6\u65AD\u8A00\uFF08\u975E\u96F6\u9000\u51FA\u7801/\u9519\u8BEF\u7801/errno \u7CBE\u786E\u503C\uFF09\u5728\u8BE5\u7528\u4F8B notes \u91CC\u627E\u4E0D\u5230\u4E0A\u6E38\u51FA\u5904\uFF08\u51FA\u5904:/provenance/\u4E0A\u6E38/\u5B9E\u6D4B\uFF09\u2014\u2014\u7EA2\u7EBF\u8981\u6C42\u5F15\u7528\u4E0A\u6E38\u6743\u5A01\uFF08\u6587\u6863\u8868/\u6E90\u7801\u679A\u4E3E\u5B9A\u4E49/\u5BBF\u4E3B\u5B9E\u6D4B\u547D\u4EE4\u4E0E\u7ED3\u679C\uFF09\uFF0C\u5426\u5219\u6863\u4F4D\u5199\u9519\u8981\u7B49\u771F\u673A\u8F6E\u624D\u66B4\u9732\uFF087zip F-09-02 \u6848\u4F8B\uFF1A\u7F3A\u5931\u8F93\u5165\u9884\u671F 2\u3001\u4E0A\u6E38\u5B9E\u4E3A 1\uFF0C\u53CC\u9636\u6BB5\u8FD4\u5DE5\uFF09`),n}},Pb=/(大于等于|小于等于|不少于|不小于|不大于|不多于|至少|最少|至多|最多|大于|小于|[≥≤]|[<><>]\s*=?\s*)\s*(?:[1-9]\d*|0\.\d+)/,$b=/(出处\s*[::]|provenance|上游|upstream|实测|官方文档|file:line)/i,Lb=/(条件下|等价|时长|语料|样例|模式|参数|输入|帧率|码率|采样率|规格|duration|mode|corpus|input)/i,Nb={id:"testcases-numeric-expectation-anchored",when:e=>e.schemaKey==="testcases",check:e=>{let t=Array.isArray(e.json.cases)?e.json.cases:[],n=[],r=[];for(let i of t){let o=Array.isArray(i?.steps)?i.steps:[],a=String(i?.expected_result??"")+`
260
+ `+o.map(d=>String(d?.checkpoint??"")).join(`
261
+ `);if(!Pb.test(a))continue;let u=String(i?.notes??"");if(!($b.test(u)&&Lb.test(u))){n.push(String(i?.id??"?"));continue}let c=ca.exec(u);c&&!lp(e.workspaceRoot,c[1]??"")&&r.push(String(i?.id??"?"))}let s=[];return r.length>0&&s.push(`cases \u4E2D ${r.slice(0,5).join("\u3001")}${r.length>5?` \u7B49 ${r.length} \u6761`:""} \u7684\u91CF\u5316\u65AD\u8A00\u5199\u4E86 file:line \u51FA\u5904\uFF0C\u4F46\u90A3\u4E2A\u6587\u4EF6\u5728\u5DE5\u4F5C\u533A\u91CC\u627E\u4E0D\u5230\u2014\u2014\u51FA\u5904\u7684\u4EF7\u503C\u5728\u4E8E\u6307\u5F97\u56DE\u53BB\uFF0C\u5199\u5F97\u51FA\u3001\u7FFB\u4E0D\u5230\u7B49\u4E8E\u6CA1\u5199\u3002\u7528 \`source/\` \u4E0B\u771F\u5728\u76D8\u7684\u76F8\u5BF9\u8DEF\u5F84\uFF0C\u6216\u6539\u5F15\u80FD\u6253\u5F00\u7684\u94FE\u63A5\u3002`),n.length>0&&s.push(`cases \u4E2D ${n.slice(0,5).join("\u3001")}${n.length>5?` \u7B49 ${n.length} \u6761`:""} \u7684\u91CF\u5316\u65AD\u8A00\uFF08\u6B21\u6570/\u5E27\u6570/\u767E\u5206\u6BD4/\u9608\u503C\u7B49\u6570\u5B57\u754C\u7EBF\uFF09\u5728 notes \u91CC\u51D1\u4E0D\u9F50\u300C\u51FA\u5904 + \u7B49\u4EF7\u6761\u4EF6\u300D\u2014\u2014\u6570\u5B57\u5FC5\u987B\u5199\u660E\u4ECE\u54EA\u6765\uFF08\u4E0A\u6E38\u6D4B\u8BD5/\u6587\u6863\u7684 file:line\uFF09**\u4EE5\u53CA\u5728\u8BE5\u5E93\u7684\u4EC0\u4E48\u6761\u4EF6\u4E0B\u6D4B\u5F97**\uFF08\u65F6\u957F/\u8BED\u6599/\u6A21\u5F0F/\u53C2\u6570\uFF09\uFF0C\u4E24\u8005\u7F3A\u4E00\u90FD\u7B49\u4E8E\u628A\u4E00\u4E2A\u300C\u6761\u4EF6\u4E0D\u660E\u300D\u7684\u9884\u671F\u4EA4\u7ED9\u9636\u6BB5 6\u3002\u5B9E\u8BC1\uFF08codec2\uFF0C2026-09-05\uFF09\uFF1AF-06-01 \u628A 112 \u79D2\u8BED\u6599\u5B9E\u6D4B\u7684\u300C\u226520 \u6B21\u300D\u7ED1\u5230 10 \u79D2\u6837\u4F8B\uFF08\u7269\u7406\u4E0D\u53EF\u8FBE\uFF09\uFF1BF-05-06 \u628A\u4EC5 VHF \u6A21\u5F0F\u751F\u6548\u7684\u56DE\u8C03\u65AD\u8A00\u9489\u5728 DATAC0 \u4E0A\uFF08\u8BE5\u6A21\u5F0F\u4E0A\u6E38\u4E3A\u7A7A\u64CD\u4F5C\uFF09\u2014\u2014\u4E24\u6761\u90FD\u62D6\u5230\u771F\u673A\u8F6E\u624D\u66B4\u9732\uFF0C\u8FD4\u5DE5\u8981\u52A8\u7528\u8BBE\u8BA1\u4FEE\u6B63\u8F6E\u3002\u884C\u4E3A\u7EA7\u65AD\u8A00\uFF08\u300C\u975E\u96F6\u300D\u300C\u4E0D\u5D29\u6E83\u300D\uFF09\u4E0E\u9489 0 \u7684\u6210\u529F\u6863\u4E0D\u5728\u6B64\u5217\u3002`),s}},ca=/([\w./+-]*[\w+-]\.[A-Za-z0-9_+-]+):(\d+)/;function lp(e,t){for(let n of[t,D.join("source",t)])try{if(A.existsSync(ue(e,n)))return!0}catch{}return!1}var Ib={id:"testcase-amendment-evidenced",when:e=>e.schemaKey==="testcases"&&(Array.isArray(e.json.cases)?e.json.cases:[]).some(t=>t?.amendment&&typeof t.amendment=="object"),check:e=>{let n=(Array.isArray(e.json.cases)?e.json.cases:[]).filter(c=>c?.amendment&&typeof c.amendment=="object").map(c=>({id:String(c?.id??"?"),a:c.amendment})),r=[],s=c=>c.map(d=>d.id).slice(0,5).join("\u3001")+(c.length>5?" \u7B49":""),i=n.filter(({a:c})=>{let d=String(c.basis??"");return/https?:\/\//.test(d)?!1:!ca.test(d)});i.length>0&&r.push(`cases \u4E2D ${s(i)} \u6539\u4E86\u9884\u671F\uFF08amendment\uFF09\uFF0C\u4F46 basis \u7ED9\u4E0D\u51FA\u4F4D\u7F6E\u2014\u2014\u300C\u9884\u671F\u4E0D\u7B26\u300D\u300C\u8DD1\u4E0D\u901A\u300D\u4E0D\u662F\u4F9D\u636E\uFF0C\u4E0A\u6E38\u6D4B\u8BD5\u811A\u672C/\u6587\u6863/\u6E90\u7801\u7684 \`file:line\`\uFF08\u5E76\u5199\u660E\u8BE5\u5904\u6210\u7ACB\u7684\u7B49\u4EF7\u6761\u4EF6\uFF09\u6216\u4E0A\u6E38 issue \u94FE\u63A5\u624D\u662F\u3002\u6539\u7528\u4F8B\u662F\u628A\u4E0D\u8FC7\u7684\u7528\u4F8B\u6539\u5230\u8FC7\u6700\u987A\u624B\u7684\u540E\u95E8\uFF0C\u6240\u4EE5\u4F9D\u636E\u5FC5\u987B\u6307\u5F97\u56DE\u53BB\u3002`);let o=n.filter(({a:c})=>{let d=String(c.basis??""),l=ca.exec(d);return l?!lp(e.workspaceRoot,l[1]??""):!1});o.length>0&&r.push(`cases \u4E2D ${s(o)} \u7684 amendment.basis \u5F15\u4E86 file:line\uFF0C\u4F46\u90A3\u4E2A\u6587\u4EF6\u5728\u5DE5\u4F5C\u533A\u91CC\u627E\u4E0D\u5230\u2014\u2014\u51FA\u5904\u8981\u4E48\u5199\u5DE5\u4F5C\u533A\u5185\u771F\u5728\u76D8\u7684\u8DEF\u5F84\uFF08\`source/\` \u76F8\u5BF9\u8DEF\u5F84\u5373\u53EF\uFF09\uFF0C\u8981\u4E48\u7ED9\u80FD\u6253\u5F00\u7684\u94FE\u63A5\uFF1B\u5199\u4E0D\u51FA\u6765\u7684\u51FA\u5904\u7B49\u4E8E\u6CA1\u6709\u51FA\u5904\u3002`);let a=n.filter(({a:c})=>{let d=String(c.evidence_before??"");if(!d)return!0;if(/^https?:\/\//.test(d))return!1;let l=d.split(/[\s,;、]/)[0]?.split(":")[0]??"";if(!l)return!0;try{return!A.existsSync(ue(e.workspaceRoot,l))}catch{return!0}});a.length>0&&r.push(`cases \u4E2D ${s(a)} \u7684 amendment.evidence_before \u6307\u5411\u7684\u6587\u4EF6\u4E0D\u5728\u76D8\uFF08${String(a[0]?.a.evidence_before??"(\u7A7A)")}\uFF09\u2014\u2014\u4FEE\u6B63\u524D\u90A3\u4E00\u8F6E\u7684\u5224\u5B9A\u8BC1\u636E\u5FC5\u987B\u7559\u6863\uFF0C\u5426\u5219\u91CD\u8DD1\u4E00\u6B21\u5C31\u628A\u300C\u5F53\u521D\u4E3A\u4EC0\u4E48\u5224 fail\u300D\u62B9\u5E72\u51C0\u4E86\uFF0C\u6539\u5F97\u5BF9\u4E0D\u5BF9\u518D\u4E5F\u65E0\u4ECE\u590D\u6838\u3002\u8BC1\u636E\u5728\u9636\u6BB5 6 \u7684 test-demo/verify/ \u4E0B\uFF0C\u6539\u7528\u4F8B\u524D\u5148\u628A\u5B83\u53E6\u5B58\u4E3A <case-id>.round1.json \u4E00\u7C7B\u7684\u5B58\u6863\u540D\u3002`);let u=n.filter(({a:c})=>{let d=String(c.before??"").trim(),l=String(c.after??"").trim();return!d||!l||d===l});return u.length>0&&r.push(`cases \u4E2D ${s(u)} \u7684 amendment.before/after \u4E3A\u7A7A\u6216\u4E24\u8005\u76F8\u540C\u2014\u2014\u6539\u524D\u6539\u540E\u662F\u8FD9\u6761\u7559\u75D5\u7684\u5168\u90E8\u4FE1\u606F\u91CF\uFF0C\u6458\u5F55\u539F\u6587\uFF08\u5404\u81EA\u90A3\u4E00\u53E5\u9884\u671F\uFF09\uFF0C\u522B\u5199\u300C\u5DF2\u4FEE\u6B63\u300D\u3002`),r}},Tb={id:"testdemo-results-traceable",when:e=>e.schemaKey==="testdemo",check:e=>{let t=je(e.workspaceRoot,"05-testcases.json"),n=Array.isArray(t?.cases)?t?.cases:[];if(n.length===0)return[];let r=new Set(n.map(p=>String(p?.id??""))),s=Array.isArray(e.json.case_results)?e.json.case_results:[],i=s.map(p=>String(p?.case_ref??"")),o=[],a=[...new Set(i.filter(p=>p&&!r.has(p)))];a.length>0&&o.push(`case_results[].case_ref \u60AC\u7A7A\uFF1A${a.slice(0,5).join("\u3001")} \u4E0D\u5728 05-testcases.json \u7684 cases[].id \u91CC\u2014\u2014\u6267\u884C\u4E86\u4E00\u6761\u8BBE\u8BA1\u91CC\u6CA1\u6709\u7684\u7528\u4F8B\uFF0C\u8BF4\u660E demo \u4E0E\u7528\u4F8B\u6E05\u5355\u5DF2\u8131\u8282\uFF1B\u8981\u4E48\u56DE\u9636\u6BB5 5 \u8865\u8BBE\u8BA1\uFF0C\u8981\u4E48\u5220\u6389\u8BE5\u7ED3\u679C`);let u=[...r].filter(p=>!i.includes(p));u.length>0&&o.push(`\u8BBE\u8BA1\u4E86\u4F46 case_results[] \u91CC\u6CA1\u6709\u7ED3\u679C\u884C\uFF1A${u.slice(0,5).join("\u3001")}${u.length>5?` \u7B49 ${u.length} \u6761`:""}\u2014\u2014\u6CA1\u8DD1\u5C31\u663E\u5F0F\u5199 result=not-run\uFF0C\u4E0D\u8981\u8BA9\u5B83\u4ECE\u6267\u884C\u7ED3\u679C\u91CC\u6D88\u5931\uFF08\u6D88\u5931\u4F1A\u8BA9\u300C\u8DD1\u4E86 3 \u6761\u5168\u8FC7\u300D\u770B\u8D77\u6765\u8DDF\u5168\u91CF\u901A\u8FC7\u4E00\u6837\uFF09`);let c=p=>s.filter(f=>String(f?.result??"")===p).length,d={cases_total:r.size,passed:c("pass"),failed:c("fail"),blocked:c("blocked"),not_run:c("not-run")+u.length,pending_human:c("pending-human")};d.executed=d.cases_total-d.not_run;let l=e.json.coverage??{};for(let[p,f]of Object.entries(d))l[p]!==void 0&&Number(l[p])!==f&&o.push(`coverage.${p}=${String(l[p])}\uFF0C\u800C\u6309 case_results[] \u73B0\u7B97\u4E3A ${f}\u2014\u2014\u8BA1\u6570\u5FC5\u987B\u73B0\u7B97\uFF0C\u4E0D\u80FD\u624B\u5199`);return o}},Bb={id:"testdemo-evidence-required",when:e=>e.schemaKey==="testdemo"&&String(e.json.status)==="passed",check:e=>{let t=lt(e.workspaceRoot),n=typeof e.json.delivery_form=="string"?e.json.delivery_form:null,r=st(n,t)?"render":Ne(t),s=Zs[r];return Q(e.json.artifacts).some(o=>s(D.basename(o).toLowerCase())&&Ys(ue(e.workspaceRoot,o)))||dr(D.join(e.workspaceRoot,"test-demo","verify"),s)?[]:[`06-testdemo.json status=passed\uFF0C\u4F46 artifacts[] / test-demo/verify/ \u91CC${cp[r]}\uFF5C\u6355\u83B7\u547D\u4EE4\uFF1A\`ohpt-agent verify-demo -w <ws> --demo-dir test-demo --out-dir test-demo/verify --cases test-demo/cases.json\``]}},Mb={id:"testdemo-case-result-logged",when:e=>{if(e.schemaKey!=="testdemo")return!1;let t=lt(e.workspaceRoot),n=typeof e.json.delivery_form=="string"?e.json.delivery_form:null;return(st(n,t)?"render":Ne(t))==="render"},check:e=>{let t=Array.isArray(e.json.case_results)?e.json.case_results:[],n=[],r=[],s=[];for(let a of t){if(String(a?.result??"")!=="pass")continue;let u=String(a?.case_ref??"?"),c=null;try{c=JSON.parse(A.readFileSync(D.join(e.workspaceRoot,"test-demo","verify",`${u}.json`),"utf8"))}catch{n.push(u);continue}c.case_result!=="pass"?r.push(u):c.log_channel!=="open"&&s.push(u)}let i=a=>`${a.slice(0,5).join("\u3001")}${a.length>5?` \u7B49 ${a.length} \u6761`:""}`,o=[];return n.length>0&&o.push(`\u7528\u4F8B ${i(n)} \u81EA\u62A5 result=pass\uFF0C\u4F46 test-demo/verify/ \u4E0B\u6CA1\u6709\u5BF9\u5E94\u7684\u9010\u7528\u4F8B\u6355\u83B7\u8BB0\u5F55\u2014\u2014\u91CD\u8DD1 \`ohpt-agent verify-demo -w <ws> --demo-dir test-demo --out-dir test-demo/verify --cases test-demo/cases.json\` \u9010\u6761\u53D6\u8BC1`),r.length>0&&o.push(`\u7528\u4F8B ${i(r)} \u81EA\u62A5 result=pass\uFF0C\u4F46\u6355\u83B7\u8BB0\u5F55\u91CC case_result\u2260pass\uFF08\u8BBE\u5907 hilog \u65E0\u8BE5\u7528\u4F8B\u7684 OHPTCASE \u7ED3\u679C\u884C\uFF0C\u6216\u7ED3\u679C\u884C\u4E3A fail\uFF09\u2014\u2014\u7528\u4F8B\u5B9E\u73B0\u987B\u5728\u7ED3\u675F\u65F6\u8C03 scaffold \u751F\u6210\u7684\u7ED3\u679C\u884C helper \u6253 \`result=<pass|fail|blocked> id=<case-id>\`\uFF0C\u7136\u540E\u91CD\u6355\u83B7\uFF1B\u65E5\u5FD7\u5224\u4E0D\u51FA\u6765\u7684 pass \u4E0D\u4F5C\u6570`),s.length>0&&o.push(`\u7528\u4F8B ${i(s)} \u7684\u53D6\u8BC1\u901A\u9053\u672A\u8BC1\u5B9E\u53EF\u7528\uFF08log_channel\u2260open\uFF09\u2014\u2014\u5148\u4FEE\u901A\u9053\uFF08hilog -b D + \u51B7\u542F\u52A8\uFF09\u518D\u91CD\u6355\u83B7\uFF1B\u901A\u9053\u6CA1\u901A\u65F6\u5E94\u5982\u5B9E\u8BB0 blocked \u800C\u975E pass`),o}},Hb={id:"demo-casetable-synced",when:e=>e.schemaKey==="testdemo",check:e=>{let t=D.join(e.workspaceRoot,"test-demo","entry","src","main","ets","common","OhptCases.ets"),n=D.join(e.workspaceRoot,R,"05-testcases.json"),r,s;try{r=A.readFileSync(t,"utf8"),s=A.readFileSync(n,"utf8")}catch{return[]}let i=pd(r);if(i===null)return["demo \u7684 OhptCases.ets \u7F3A cases-sha256 \u6EAF\u6E90\uFF08\u65E7\u7248 scaffold \u751F\u6210\u6216\u88AB\u6539\u5199\uFF09\u2014\u2014\u91CD\u8DD1 `ohpt-agent scaffold --test-cases .ohos-adaptation-pc/05-testcases.json` \u8BA9\u7528\u4F8B\u8868\u4E0E\u9636\u6BB5 5 \u4EA7\u7269\u5EFA\u7ACB\u540C\u6B65\u951A\u70B9"];let o;try{o=dd(JSON.parse(s))}catch{return[]}return i!==o?["05-testcases.json \u5DF2\u4FEE\u6B63\uFF08cases-sha256 \u4E0D\u4E00\u81F4\uFF09\u800C demo \u7684\u7528\u4F8B\u8868\u672A\u91CD\u65B0\u751F\u6210\u2014\u2014\u6D4B\u8BD5\u540C\u5B66\u5728 demo \u9875\u9762\u770B\u5230\u7684\u4ECD\u662F\u4FEE\u6B63\u524D\u7684\u6B65\u9AA4/\u9884\u671F\u6587\u6848\uFF08libidn2 F-01-03 \u5B9E\u8BC1\uFF1Aamendment \u4FEE\u6B63\u540E demo \u4ECD\u663E\u793A\u65E7\u6587\u6848\u88AB\u5224 FAIL\uFF09\u3002\u91CD\u8DD1 `ohpt-agent scaffold --test-cases .ohos-adaptation-pc/05-testcases.json` \u540C\u6B65\uFF08\u5B9A\u5236\u533A\u4F1A\u88AB\u4FDD\u7559\uFF09\uFF0C\u7136\u540E\u91CD\u6784\u5EFA\u88C5\u673A"]:[]}},Kb={id:"step-input-controls-present",when:e=>e.schemaKey==="testdemo",check:e=>{let t=D.join(e.workspaceRoot,R,"05-testcases.json"),n;try{n=JSON.parse(A.readFileSync(t,"utf8"))}catch{return[]}if(!Array.isArray(n.cases))return[];let r=[];for(let s of n.cases){let i=typeof s?.id=="string"?s.id:"",o=Array.isArray(s?.steps)?s.steps:[],a=0;for(let l of o){let p=l?.input;if(typeof p!="object"||p===null)continue;let f=p.kind;a+=f==="pair"?2:1}if(a===0)continue;let u=D.join(e.workspaceRoot,"test-demo","entry","src","main","ets","pages",`Case${i.replace(/-/g,"_").replace(/[^A-Za-z0-9_]/g,"")}Page.ets`),c;try{c=A.readFileSync(u,"utf8")}catch{continue}let d=(c.match(/\b(?:TextInput|TextArea)\s*\(/g)??[]).length;d<a&&r.push(`\u7528\u4F8B ${i} \u7684\u6B65\u9AA4\u58F0\u660E\u4E86 ${a} \u4E2A\u8F93\u5165\uFF08steps[].input\uFF09\uFF0C\u9875\u9762\u53EA\u6709 ${d} \u4E2A\u8F93\u5165\u63A7\u4EF6\uFF08TextInput/TextArea\uFF09\u2014\u2014\u6D4B\u8BD5\u540C\u5B66\u65E0\u4ECE\u6309\u6B65\u9AA4\u8F93\u5165\u3002\u91CD\u8DD1 scaffold --test-cases \u91CD\u65B0\u751F\u6210\uFF08scaffold \u6309 input \u5B57\u6BB5\u81EA\u52A8\u4EA7\u6846\uFF09\uFF0C\u6216\u624B\u5DE5\u8865\u9F50\u5E26\u6B65\u9AA4\u6807\u7B7E\u7684\u8F93\u5165\u6846\u5E76\u628A\u503C\u900F\u4F20\u7ED9\u88AB\u6D4B\u7269\u5165\u53E3`)}return r}},Ub={id:"demo-allocator-isolation",when:e=>e.schemaKey==="testdemo",check:e=>fd(e.workspaceRoot)},qb={id:"demo-input-contract",when:e=>e.schemaKey==="testdemo",check:e=>[...gs(e.workspaceRoot),...ms(e.workspaceRoot)]};function Vb(e){let t=new Map,n=je(e,"05-testcases.json"),r=Array.isArray(n?.cases)?n.cases:[];for(let s of r){let i=String(s?.id??"");if(!i)continue;let a=(Array.isArray(s?.steps)?s.steps:[]).filter(u=>u?.output?.kind==="image").length;a>0&&t.set(i,a)}return t}function dp(e,t){let n;try{n=JSON.parse(A.readFileSync(D.join(e,"test-demo","verify",`${t}.json`),"utf8"))}catch{return null}if(Array.isArray(n.artifacts))return n.artifacts}var pp=e=>e.filter(t=>t?.kind==="image"&&Number(t?.bytes)>0),zb={id:"testdemo-artifact-evidenced",when:e=>e.schemaKey==="testdemo",check:e=>{let t=Vb(e.workspaceRoot);if(t.size===0)return[];let n=Array.isArray(e.json.case_results)?e.json.case_results:[],r=[],s=[];for(let a of n){if(String(a?.result??"")!=="pass")continue;let u=String(a?.case_ref??""),c=t.get(u);if(!c)continue;let d=dp(e.workspaceRoot,u);if(d===null)continue;if(d===void 0){s.push(u);continue}let l=pp(d).length;l<c&&r.push(`${u}(\u58F0\u660E ${c}/\u767B\u8BB0 ${l})`)}let i=a=>`${a.slice(0,5).join("\u3001")}${a.length>5?` \u7B49 ${a.length} \u6761`:""}`,o=[];return s.length>0&&o.push(`\u7528\u4F8B ${i(s)} \u7684\u6355\u83B7\u8BB0\u5F55\uFF08test-demo/verify/<case>.json\uFF09\u6CA1\u6709 artifacts \u5B57\u6BB5\u2014\u2014\u51FA\u81EA\u4E0D\u8BA4\u8BC6\u4EA7\u7269\u884C\u7684\u65E7\u7248 CLI\uFF1B\u7528\u5F53\u4EE3 ohpt-agent \u91CD\u8DD1 \`verify-demo -w <ws> --demo-dir test-demo --out-dir test-demo/verify --cases test-demo/cases.json\``),r.length>0&&o.push(`\u7528\u4F8B ${i(r)} \u7684\u8BBE\u8BA1\u58F0\u660E\u4E86\u56FE\u50CF\u4EA7\u7269\uFF08steps[].output\uFF09\uFF0C\u8BBE\u5907\u4FA7\u6267\u884C\u5668\u5374\u6CA1\u6709\u767B\u8BB0\u5230\u7B49\u91CF\u7684\u56FE\u50CF\u6587\u4EF6\u2014\u2014demo \u4E0A\u65E0\u56FE\u53EF\u770B\u3001\u4EBA\u773C\u65E0\u4ECE\u9A8C\u6536\u3002\u63A5\u7EBF\u65F6\u628A\u7ED3\u679C\u56FE\u5199\u8FDB\u7528\u4F8B\u6C99\u7BB1\u5373\u53EF\uFF08\u6267\u884C\u5668\u5728\u7528\u4F8B\u524D\u540E\u5BF9\u6BD4\u6C99\u7BB1\u81EA\u52A8\u767B\u8BB0\u3001\u7ED3\u679C\u533A\u6309\u767B\u8BB0\u884C\u81EA\u52A8\u4E0A\u5C4F\uFF0C\u89C1 ohpt_artifacts.h\uFF09\uFF1B\u7528\u4F8B\u672C\u8EAB\u4E0D\u4EA7\u56FE\u7684\u5E94\u56DE\u9636\u6BB5 5 \u6539\u58F0\u660E`),o}},Gb={id:"testdemo-artifact-distinct",when:e=>e.schemaKey==="testdemo",check:e=>{let t=Array.isArray(e.json.case_results)?e.json.case_results:[],n=new Map;for(let i of t){let o=String(i?.case_ref??"");if(!o)continue;let a=dp(e.workspaceRoot,o);if(!a)continue;let u=new Set(pp(a).map(c=>String(c?.sha??"").toLowerCase()).filter(c=>c!==""));u.size>0&&n.set(o,u)}if(n.size<2)return[];let r=new Set;for(let i of n.values())for(let o of i)r.add(o);if(r.size>1)return[];let s=[...n.keys()];return[`\u6709\u56FE\u50CF\u4EA7\u7269\u7684 ${n.size} \u6761\u7528\u4F8B\uFF08${s.slice(0,5).join("\u3001")}${s.length>5?" \u7B49":""}\uFF09\u5728\u8BBE\u5907\u4E0A\u5199\u51FA\u7684\u56FE\u5B57\u8282\u7EA7\u5B8C\u5168\u76F8\u540C\uFF08sha=${[...r][0]}\uFF09\u2014\u2014\u53C2\u6570\u6CA1\u6709\u7AEF\u5230\u7AEF\u4F20\u5230\u88AB\u6D4B\u7269\uFF0C\u6216\u6BCF\u6761\u7528\u4F8B\u90FD\u5728\u51FA\u540C\u4E00\u5F20\u56FE\uFF1B\u4E0D\u540C\u53C2\u6570\u7684\u7528\u4F8B\u5E94\u51FA\u4E0D\u540C\u7684\u56FE`]}},Wb={id:"testdemo-surface-attested",when:e=>{if(e.schemaKey!=="testdemo")return!1;let t=lt(e.workspaceRoot),n=typeof e.json.delivery_form=="string"?e.json.delivery_form:null;if((st(n,t)?"render":Ne(t))!=="render")return!1;let r=ep(e.workspaceRoot);return!r||!cl.includes(r.driver)?!1:(Array.isArray(e.json.case_results)?e.json.case_results:[]).some(i=>String(i?.result??"")==="pass")},check:e=>{let t=ep(e.workspaceRoot),n=ob(e.workspaceRoot),r=[];if(n===null)return["\u672A\u627E\u5230 test-demo/verify/device-raw.log\u2014\u2014render \u6863\u7684\u4E0A\u5C4F\u94FE\u8DEF\u65E0\u4ECE\u590D\u6838\uFF1B\u91CD\u8DD1 `ohpt-agent verify-demo -w <ws> --demo-dir test-demo --out-dir test-demo/verify --cases test-demo/cases.json`"];n.includes("surface created")||r.push("\u6574\u8F6E\u8BBE\u5907\u65E5\u5FD7\u91CC\u6CA1\u6709 OWB \u81EA\u6253\u7684 `surface created sid=` \u884C\u2014\u2014\u88AB\u6D4B\u4EE3\u7801\u6CA1\u6709\u8DD1\u5728\u8BBE\u5907 surface \u4E0A\uFF08libraryname \u4E0E CMake target / native \u4FA7\u5B8F\u4E09\u5904\u4E0D\u5168\u7B49\u3001.so \u6CA1\u8FDB HAP\u3001XComponent \u672A\u6302\u8F7D\u3001\u6216\u9875\u9762\u88AB\u8DEF\u7531\u9876\u6389\u81F4 surface \u6CE8\u9500\uFF09\uFF1B\u6B64\u65F6\u4EFB\u4F55 result=pass \u90FD\u4E0D\u6210\u7ACB");let s=n.match(/GL_RENDERER=([^\s\r\n]+(?:[^\r\n]*?))(?=\s+GL_VERSION=|\r?\n|$)/);if(s||r.push("\u6574\u8F6E\u8BBE\u5907\u65E5\u5FD7\u91CC\u6CA1\u6709\u8F7D\u4F53\u81EA\u62A5\u7684 `GL_RENDERER=` \u884C\u2014\u2014\u5165\u53E3\u6CA1\u6709\u63A5\u751F\u6210\u7684\u9A71\u52A8\u5668\uFF08`ohpt_serve()`\uFF09\uFF0C\u6216 ohpt_cases.h \u662F\u4E0A\u4E00\u7248\uFF1B\u65E0 GL \u4E0A\u4E0B\u6587\u65F6\u9A71\u52A8\u5668\u4F1A\u5982\u5B9E\u6253 `<none>`\uFF0C\u7F3A\u5E2D\u4E0E\u300C\u6CA1\u6709 GL\u300D\u4E0D\u662F\u4E00\u56DE\u4E8B"),s&&s[1].trim()==="<none>"){let i=new Set((t?.cases??[]).filter(u=>u.render_check===!0).map(u=>String(u.id??""))),a=(Array.isArray(e.json.case_results)?e.json.case_results:[]).filter(u=>String(u?.result??"")==="pass"&&i.has(String(u?.case_ref??""))).map(u=>String(u?.case_ref??"?"));a.length>0&&r.push(`\u6E32\u67D3\u9A8C\u8BC1\u7C7B\u7528\u4F8B ${a.slice(0,5).join("\u3001")}${a.length>5?` \u7B49 ${a.length} \u6761`:""} \u81EA\u62A5 result=pass\uFF0C\u4F46\u8F7D\u4F53\u81EA\u62A5\u672C\u8F6E\u65E0 GL \u4E0A\u4E0B\u6587\uFF08GL_RENDERER=<none>\uFF09\u2014\u2014\u4E0A\u5C4F\u8DEF\u5F84\u5FC5\u987B\u771F\u8D70\uFF0C\u628A\u6570\u636E\u62FC\u6210\u6587\u672C\u56DE\u663E\u4E0D\u7B97\u6E32\u67D3\u9A8C\u8BC1\uFF1B\u786E\u5B9E\u4E0A\u4E0D\u4E86\u5C4F\u5E94\u8BB0 blocked \u5E76\u8FDB capability_gaps[]`)}return r}},Jb={id:"checkpoint-verdict-complete",when:e=>e.schemaKey==="testdemo",check:e=>{let t=je(e.workspaceRoot,"05-testcases.json"),n=Array.isArray(t?.cases)?t?.cases:[];if(n.length===0)return[];let r=new Map;for(let p of n){let f=Array.isArray(p?.steps)?p.steps:[];r.set(String(p?.id??""),f.filter(g=>String(g?.checkpoint??"").trim()!=="").length)}let s=Ml(lt(e.workspaceRoot)).length>0,i=Array.isArray(e.json.case_results)?e.json.case_results:[],o=[],a=[],u=[],c=[];for(let p of i){let f=String(p?.case_ref??"?"),g=String(p?.result??"");if(g!=="pass"&&g!=="pending-human")continue;let h=r.get(f);if(h===void 0||h===0)continue;let m=Array.isArray(p?.checks)?p.checks:[];if(g==="pending-human"&&!s){c.push(f);continue}if(m.some(b=>String(b?.by??"")==="human")&&!s&&u.push(f),g!=="pass")continue;let _=new Set(m.filter(b=>b?.ok===!0).map(b=>Number(b?.cp))),y=[...Array(h).keys()].filter(b=>!_.has(b));if(y.length>0){o.push(`${f}(\u7F3A\u7B2C ${y.map(b=>b+1).join("/")} \u6761)`);continue}m.some(b=>String(b?.by??"")==="machine"&&(String(b?.expect??"").trim()===""||String(b?.actual??"").trim()===""))&&a.push(f)}let d=p=>`${p.slice(0,5).join("\u3001")}${p.length>5?` \u7B49 ${p.length} \u6761`:""}`,l=[];return o.length>0&&l.push(`\u7528\u4F8B ${d(o)} \u81EA\u62A5 result=pass\uFF0C\u4F46 checks[] \u6CA1\u6709\u8986\u76D6\u9636\u6BB5 5 \u4E3A\u5B83\u5199\u7684\u5168\u90E8\u5224\u5B9A\u70B9\u2014\u2014\u5224\u5B9A\u70B9\u6CA1\u6709\u7ED3\u8BBA\u5C31\u4E0D\u662F\u901A\u8FC7\u3002\u673A\u5668\u5224\u5F97\u4E86\u7684\uFF08\u89C2\u6D4B\u503C\u80FD\u4ECE\u88AB\u6D4B\u7269\u53D6\u56DE\u6765\uFF09\u5728\u7528\u4F8B\u7ED3\u675F\u65F6\u9010\u6761\u6253 \`OHPTCASE check id=<case> cp=<n> ok=<0|1> expect=<\u2026> actual=<\u2026>\`\uFF1B\u673A\u5668\u5224\u4E0D\u4E86\u7684\uFF08\u4E0A\u5C4F\u5BF9\u4E0D\u5BF9\u3001\u8981\u4EBA\u5148\u6309\u952E\u624D\u89E6\u53D1\u7684\u56DE\u8C03\uFF09\u5982\u5B9E\u843D result=pending-human\uFF0C\u7531\u4EBA\u5728 demo \u9875\u9762\u4E0A\u70B9\u300C\u7B26\u5408/\u4E0D\u7B26\u5408\u300D\u8865 \`OHPTCASE human\` \u884C\uFF0C\u522B\u66FF\u4EBA\u4E0B\u7ED3\u8BBA`),a.length>0&&l.push(`\u7528\u4F8B ${d(a)} \u7684 machine check \u7F3A expect \u6216 actual\u2014\u2014\u300C\u8BFB\u4E86\u503C\u3001\u6253\u4E86\u65E5\u5FD7\u3001\u7136\u540E return true\u300D\u4E0E\u300C\u6BD4\u5BF9\u8FC7\u4E14\u76F8\u7B26\u300D\u5728\u4EA7\u7269\u91CC\u957F\u5F97\u4E00\u6A21\u4E00\u6837\uFF0C\u8FD9\u4E24\u4E2A\u5B57\u6BB5\u5C31\u662F\u628A\u5B83\u4EEC\u5206\u5F00\u7684\u552F\u4E00\u51ED\u636E`),(u.length>0||c.length>0)&&l.push(`\u7528\u4F8B ${d([...new Set([...u,...c])])} \u628A\u7ED3\u8BBA\u4EA4\u7ED9\u4E86\u4EBA\uFF0C\u4F46\u672C\u5E93\u547D\u4E2D\u7684\u80FD\u529B\u57DF\u91CC\u6CA1\u6709\u9700\u8981\u4EBA\u4F53\u611F\u5B98\u7684\u90A3\u79CD\uFF08\u7EAF\u903B\u8F91\u5E93\u7684\u5224\u5B9A\u70B9\u673A\u5668\u90FD\u5224\u5F97\u4E86\uFF09\u2014\u2014\u8981\u4E48\u8865\u4E0A machine check\uFF0C\u8981\u4E48\u8BE5\u57DF\u8BE5\u767B\u8BB0\u8FDB DOMAIN_POLICY \u7684 judge \u5217`),l}},Yb={id:"testdemo-wiring-real",when:e=>e.schemaKey==="testdemo",check:e=>{let n=(Array.isArray(e.json.case_results)?e.json.case_results:[]).filter(r=>String(r?.result??"")==="pass"&&Q(r?.covered_apis_harmony).length===0).map(r=>String(r?.case_ref??"?"));return n.length===0?[]:[`\u7528\u4F8B ${n.slice(0,5).join("\u3001")}${n.length>5?` \u7B49 ${n.length} \u6761`:""} \u81EA\u62A5 result=pass\uFF0C\u4F46 covered_apis_harmony \u4E3A\u7A7A\u2014\u2014\u6CA1\u8BB0\u5F55\u8C03\u7528\u4E86\u9002\u914D\u4EA7\u7269\u7684\u54EA\u4E2A\u7B26\u53F7\uFF0C\u5C31\u65E0\u6CD5\u6392\u9664\u300C\u9875\u9762\u6302\u4E86\u63A7\u4EF6\u4F46\u8DD1\u8D77\u6765\u4E0D\u5D29\uFF0C\u5B9E\u9645\u6839\u672C\u6CA1\u8C03\u88AB\u6D4B\u7269\u300D\u3002\u9010\u6761\u56DE\u586B\u5B9E\u9645\u63A5\u7EBF\u7684\u7B26\u53F7\uFF1B\u786E\u5B9E\u6CA1\u6709\u5BF9\u5E94\u80FD\u529B\u7684\uFF0Cresult \u5E94\u4E3A blocked \u5E76\u8FDB coverage.capability_gaps[]\uFF0C\u4E0D\u8981\u6807 pass`]}},Zb={id:"demo-tap-format-valid",when:e=>e.schemaKey==="testdemo",check:e=>{if(String(e.json.demo_kind??e.json.kind??"")!=="cli-hnp-runner")return[];let n=ue(e.workspaceRoot,D.join("test-demo","entry","src","main","cpp","napi_stub.cpp")),r="";try{r=A.readFileSync(n,"utf8")}catch{return[]}for(let s of r.split(`
262
+ `)){if(!(s.includes('"ok "')||s.includes('"not ok "')||s.includes("'ok '")||s.includes("'not ok '")))continue;let o=s.trim();if(!(o.startsWith("//")||o.startsWith("/*")||o.startsWith("*"))&&(s.includes('" - "')||s.includes('" # "')||s.includes("' - '")||s.includes("' # '")))return['napi_stub.cpp \u7684 TAP \u884C\u62FC\u88C5\u542B\u975E\u6CD5\u5206\u9694\u7B26\uFF08`" - "` \u6216 `" # "` \u51FA\u73B0\u5728 ok/not ok \u884C\u4E2D\uFF09\u2014\u2014TAP \u884C\u683C\u5F0F\u786C\u5951\u7EA6\u4E3A `ok <N> <id>`\uFF08pass \u65E0 detail / fail \u624D ` -- <detail>`\uFF09\uFF0CRunAll \u9875\u89E3\u6790\u5668\u5265\u5E8F\u53F7\u540E\u76F4\u53D6 id\uFF0C\u989D\u5916\u5206\u9694\u7B26\u4F1A\u8BA9 id \u5339\u914D\u5168\u90E8\u5931\u8D25 \u2192 \u6052\u663E 0/16\uFF08codec2 2026-09-15 \u5B9E\u8BC1\uFF0C\u5355\u6761\u9875\u4E0D\u53D7\u5F71\u54CD\u56E0\u5B83\u4E0D\u89E3\u6790 TAP\uFF09\u3002\u4FEE\u6B63\u62FC\u88C5\u4EE3\u7801\u540E\u91CD\u7F16 HAP \u88C5\u673A\u3002\u8BE6\u89C1 demo-wiring-pc.md \u7684 TAP \u884C\u683C\u5F0F\u786C\u5951\u7EA6\u6BB5\u3002']}return[]}},Xb={id:"evidence-channel-unproven",when:e=>e.schemaKey==="adapt"&&(String(e.json.status)==="built-and-verified"||e.json.target_path_covered==="covered")||e.schemaKey==="testdemo"&&["passed","partial"].includes(String(e.json.status)),check:e=>{let t=tb(e.workspaceRoot,e.schemaKey==="testdemo"?"test-demo/verify":"build");return t===null||t==="open"?[]:[`\u8BBE\u5907\u65E5\u5FD7\u53D6\u8BC1\u901A\u9053\u672A\u8BC1\u5B9E\u53EF\u7528\uFF08demo-verify.json \u7684 log_channel=${t}\uFF09\u2014\u2014**\u5148\u4FEE\u901A\u9053\u518D\u8C08\u7ED3\u8BBA**\uFF1A\`hilog -b D\` \u63D0\u7EA7\u522B + \`aa force-stop\` \u51B7\u542F\u52A8\u540E\u91CD\u6355\u83B7\uFF08\u987A\u5E8F\u89C1 pc-knowledge-base platform/\u9E3F\u8499PC-hdc\u80FD\u529B\u8FB9\u754C\u4E0E\u53D6\u8BC1\u901A\u9053.md\uFF09\u3002\u901A\u9053\u6CA1\u901A\u65F6\u300C\u65E5\u5FD7\u4E3A\u7A7A\u300D\u65E2\u4E0D\u80FD\u8BC1\u6210\u4E5F\u4E0D\u80FD\u8BC1\u4F2A\uFF0C\u6B64\u65F6\u7684\u6210\u529F\u7ED3\u8BBA\u7F3A\u4E4F\u53EF\u590D\u6838\u4F9D\u636E\uFF0C\u5E94\u5982\u5B9E\u964D\u7EA7/\u8BB0 blocked\uFF1B\u622A\u56FE\u4EC5\u5B58\u6863\u5F85\u4EBA\u5DE5\u9A8C\u6536\uFF0C\u4E0D\u5F97\u66FF\u4EE3\u673A\u5668\u5224\u636E\u3002`]}},Qb={id:"export-surface-reconciled",when:e=>e.schemaKey==="adapt"&&["built-and-verified","built-pending-verification"].includes(String(e.json.status))&&tr(e.workspaceRoot).length>0&&(So(e.workspaceRoot)?.size??0)>0,check:e=>{let t=So(e.workspaceRoot);if(!t||t.size===0)return[];let n=new Set;for(let c of tr(e.workspaceRoot)){let d=En(c);if(d)for(let l of d)n.add(l)}if(n.size===0)return[];let r=xl(e.workspaceRoot),s=[...t].filter(c=>!wo(c,n)&&!(r?.has(c)??!1)).sort();if(s.length===0)return[];let i=new Set;for(let c of Pl(e.workspaceRoot)){let d=Fl(c);if(d)for(let l of d)i.add(l)}let o=s.filter(c=>wo(c,i)),a=s.slice(0,12).join("\u3001"),u=s.length>12?` \u7B49 ${s.length} \u4E2A`:"";return o.length>0?[`\u516C\u5171\u5934\u6587\u4EF6\u58F0\u660E\u3001\u6E90\u7801\u5DF2\u5B9E\u73B0\uFF0C\u4F46\u4EA7\u7269 .so **\u6CA1\u6709\u5BFC\u51FA**\uFF1A${a}${u}\u2014\u2014\u94FE\u63A5\u5668\u628A\u5DF2\u5B9E\u73B0\u7684\u7B26\u53F7\u85CF\u8D77\u6765\u4E86\uFF0C\u6D88\u8D39\u8005 #include \u540E\u94FE\u63A5\u5FC5\u5931\u8D25\u3002\u8FD9\u662F\u7248\u672C\u811A\u672C/\u7B26\u53F7\u53EF\u89C1\u6027\u914D\u7F6E\u6F0F\u6536\uFF08libbsd \u5B9E\u8BC1\uFF1A\u4E0A\u6E38 0.12.2 \u7684 libbsd.map.in \u6F0F\u5199 sl_delete\uFF0C\u5B9E\u73B0\u4E0E\u5934\u6587\u4EF6\u90FD\u5728\u3001\u56DB\u9053\u9632\u7EBF\u5168\u653E\u884C\uFF0C\u5916\u90E8\u4E00\u81F4\u6027\u6D4B\u8BD5\u624D\u6293\u5230\uFF09\u3002\u5904\u7F6E\uFF1A\u2460 \u6838\u5BF9\u7248\u672C\u811A\u672C\uFF08.map/.def/visibility \u53C2\u6570\uFF09\u8865\u4E0A\u8BE5\u7B26\u53F7\u540E\u91CD\u65B0\u94FE\u63A5\uFF1B\u2461 \u67E5\u4E0A\u6E38 master \u662F\u5426\u5DF2\u4FEE\uFF0C\u672A\u4FEE\u5219\u628A\u8865\u4E01\u56DE\u63A8\u4E0A\u6E38\uFF1B\u2462 \u4FEE\u590D\u843D patches/ \u5E76\u91CD\u8DD1\u6784\u5EFA\u3002\u5224\u5B9A\u7A0B\u5E8F\u4E0E overlay \u59D4\u6258\uFF08asprintf/err \u65CF\u59D4\u6258 libc \u5C5E\u5408\u6CD5\u8BBE\u8BA1\uFF09\u7684\u533A\u5206\u89C1 \`pc-knowledge-base\` adaptation/\u9E3F\u8499PC-\u7248\u672C\u811A\u672C\u88C1\u526A\u5E93\u7684\u5BFC\u51FA\u9762\u5BA1\u8BA1.md`]:[`\u516C\u5171\u5934\u6587\u4EF6\u58F0\u660E\u7684 ${a}${u} \u65E2\u672A\u5728\u4EA7\u7269 .so \u5BFC\u51FA\u3001sysroot libc \u4E5F\u4E0D\u63D0\u4F9B\u2014\u2014\u6D88\u8D39\u8005\u6309\u5934\u6587\u4EF6\u8C03\u7528\u4F1A\u94FE\u63A5\u5931\u8D25\u3002\u82E5\u5176\u4E2D\u786E\u6709\u300C\u59D4\u6258\u7ED9 libc/\u5176\u4ED6\u4F9D\u8D56\u5E93\u63D0\u4F9B\u300D\u7684\u5408\u6CD5\u8BBE\u8BA1\uFF08\u987B\u9010\u4E00\u6838\u5B9E\uFF09\uFF0C\u8BF7\u628A\u6838\u5B9E\u7ED3\u8BBA\u5199\u8FDB notes\uFF1B\u5426\u5219\u5C5E\u7F16\u8BD1\u5355\u5143\u88AB\u88C1\uFF08\u5BF9\u7167 configure/ABI \u5F00\u5173\u662F\u5426\u8BEF\u5173\uFF0CB003 reallocf typo \u540C\u6B3E\uFF09\u6216\u7248\u672C\u811A\u672C\u6F0F\u6536\uFF0C\u9700\u8865\u9F50\u540E\u91CD\u94FE\uFF0C\u6216\u628A\u786E\u4E0D\u53EF\u7528\u7684\u7B26\u53F7\u4ECE\u5934\u6587\u4EF6/\u8BF4\u660E\u4E2D\u663E\u5F0F\u5254\u9664\u3002\u5224\u5B9A\u7A0B\u5E8F\u89C1 pc-knowledge-base adaptation/\u9E3F\u8499PC-\u7248\u672C\u811A\u672C\u88C1\u526A\u5E93\u7684\u5BFC\u51FA\u9762\u5BA1\u8BA1.md`]}};function Pn(e){let t=e.test_run;return Array.isArray(t?.failures)?t.failures:[]}function Zt(e,t){let n=e.trim(),r=t.trim();return n===r||n.length>0&&r.length>0&&(n.includes(r)||r.includes(n))}var ev={id:"failure-registry-accounting",when:e=>e.schemaKey==="adapt",check:e=>{let t=[],n=e.json.test_run??{},r=Q(n.regressions),s=Pn(e.json);if(r.length===0&&s.length===0)return[];let i=s.filter(l=>String(l.resolution??"open")==="open").map(l=>String(l.name??"")).filter(Boolean),o=s.filter(l=>String(l.resolution??"").startsWith("fixed-")).map(l=>String(l.name??"")).filter(Boolean),a=r.filter(l=>!s.some(p=>Zt(String(p.name??""),l)));a.length>0&&t.push(`regressions \u91CC\u7684 ${a.slice(0,5).map(l=>`\u300C${l}\u300D`).join("\u3001")}${a.length>5?" \u7B49":""} \u672A\u767B\u8BB0 test_run.failures[]\u2014\u2014\u6BCF\u6761 FAIL/CRASH \u5FC5\u987B\u9010\u6761\u767B\u8BB0\uFF08result/attribution/resolution\uFF09\u5E76\u6309 enum-semantics \u4E94\u503C\u5F52\u56E0\u5206\u8BCA\uFF0C\u53EA\u585E regressions \u5B57\u7B26\u4E32\u7B49\u4E8E\u5F52\u56E0\u65E0\u4F4D\u7F6E\u3001\u4FEE\u590D\u65E0\u8F68\u8FF9\u3001\u4FEE\u597D\u5373\u84B8\u53D1\uFF08libbsd \u5B9E\u8BC1\uFF1A72 \u4E2A FAIL \u4E2D 43 \u4E2A\u662F\u5E73\u53F0\u5206\u6B67/\u6D4B\u8BD5\u524D\u7F6E\u9650\u5236\uFF0C\u4E0E\u771F\u4EA7\u7269\u7F3A\u9677\u6DF7\u5728\u540C\u4E00\u5F20\u8138\u4E0A\uFF0C\u65E0\u5206\u7C7B\u5B66\u5219\u8981\u4E48\u7A7A\u8017\u8F6E\u6B21\u91CD\u67E5\u5206\u6B67\u3001\u8981\u4E48\u501F\u300C\u5E73\u53F0\u5DEE\u5F02\u300D\u653E\u6C34\u771F\u7F3A\u9677\uFF09`);let u=i.filter(l=>!r.some(p=>Zt(l,p)));u.length>0&&t.push(`failures[] \u91CC resolution=open \u7684 ${u.slice(0,5).map(l=>`\u300C${l}\u300D`).join("\u3001")}${u.length>5?" \u7B49":""} \u4E0D\u5728 regressions \u540D\u518C\u91CC\u2014\u2014open \u5931\u8D25\u5FC5\u987B\u540C\u65F6\u4E0A\u540D\u518C\uFF08regressions \u662F\u672A\u89E3\u51B3\u96C6\u7684\u6D3E\u751F\u540D\u518C\uFF0C\u4E24\u8868\u96F6\u6F02\u79FB\uFF09\uFF0C\u85CF\u8FDB failures \u4E0D\u62A5 regressions \u7B49\u4E8E\u9690\u85CF\u5931\u8D25`);let c=o.filter(l=>r.some(p=>Zt(l,p)));c.length>0&&t.push(`failures[] \u91CC ${c.slice(0,5).map(l=>`\u300C${l}\u300D`).join("\u3001")}${c.length>5?" \u7B49":""} \u5DF2\u6807 resolution=fixed-* \u4F46\u540D\u5B57\u4ECD\u5728 regressions\u2014\u2014\u58F0\u79F0\u5DF2\u4FEE\u5C31\u987B\u590D\u6D4B\u8F6C PASS\uFF08\u540D\u5B57\u4ECE\u4E24\u8868\u6D88\u5931\uFF09\uFF1B\u4FEE\u4E86\u672A\u590D\u6D4B\u7684\u6309 open \u7B97\uFF0C\u4E0D\u5B58\u5728\u300C\u8C41\u514D\u4F46\u4ECD\u7136 FAIL\u300D\u7684\u7EC8\u6001`);let d=s.filter(l=>String(l.attribution??"")==="unknown").map(l=>String(l.name??"")).filter(Boolean);return d.length>0&&["built-and-verified","built-pending-verification"].includes(String(e.json.status))&&t.push(`failures[] \u5B58\u5728 attribution=unknown \u7684\u6761\u76EE\uFF08${d.slice(0,5).map(l=>`\u300C${l}\u300D`).join("\u3001")}${d.length>5?" \u7B49":""}\uFF09\uFF0C\u800C\u672C\u9636\u6BB5\u81EA\u62A5 status=${String(e.json.status)}\u2014\u2014\u672A\u6EAF\u6E90\u9879\u4E0D\u5F97\u6302\u8FDB built-* \u72B6\u6001\uFF1A\u6309 enum-semantics \u5206\u8BCA\u7A0B\u5E8F\u5F52\u56E0\uFF08\u67E5\u4E0D\u52A8\u5C31\u5982\u5B9E\u964D\u7EA7\u72B6\u6001\uFF0C\u4E0D\u8981\u731C\u4E00\u4E2A\u826F\u6027\u5F52\u56E0\u8499\u6DF7\uFF09`),t}},tv={id:"suite-completeness",when:e=>e.schemaKey==="adapt"&&e.json.test_run?.executed===!0,check:e=>{let t=e.json.test_run??{};if(t.completed===!0)return[];let n=`total_cases=${String(t.total_cases??"?")}`;return t.completed===!1?[`test_run.completed=false\u2014\u2014\u6D4B\u8BD5\u5957\u4EF6\u672A\u8DD1\u5230\u5B8C\u6210\u6807\u8BB0\uFF08\u5D29\u6E83/\u65E5\u5FD7\u622A\u65AD\uFF09\uFF0C\u6B64\u524D\u8BA1\u6570\uFF08${n}\uFF09\u4E0D\u662F\u5168\u91CF\u8BC1\u636E\uFF0Ctotal_cases/pass_rate \u4E0D\u5F97\u5145\u5F53\u5B9A\u7A3F\u4F9D\u636E\u3002\u4FEE\u590D\u6D4B\u8BD5\u58F3\u6216\u91C7\u96C6\u94FE\u540E\u5B8C\u6574\u91CD\u8DD1\uFF1B\u5D29\u6E83\u70B9\u5728\u6536\u5C3E\u9636\u6BB5\u4E5F**\u4E0D\u5F97\u8C41\u514D**\uFF08\u6536\u5C3E\u5D29\u6E83\u5728\u522B\u7684\u96C6\u6210\u573A\u666F\u53EF\u80FD\u662F\u771F\u6570\u636E\u635F\u574F\uFF09`]:[`test_run.executed=true \u4F46 completed \u7F3A\u5931\u2014\u2014\u987B\u663E\u5F0F\u4EA4\u4EE3\u6D4B\u8BD5\u5957\u4EF6\u662F\u5426\u8DD1\u5230\u5B8C\u6210\u6807\u8BB0\uFF08SUMMARY \u884C/\u6D4B\u8BD5\u6846\u67B6\u6B63\u5E38\u9000\u51FA\uFF09\u3002\u6D4B\u8BD5\u58F3\u5FC5\u987B\u8F93\u51FA\u5B8C\u6210\u6807\u8BB0\uFF0C\u91C7\u96C6\u672A\u89C1\u6807\u8BB0\u5373 completed=false\uFF08${n} \u4E0D\u53EF\u4F5C\u5168\u91CF\u8BC1\u636E\uFF09`]}},fp=/(musl|glibc|bionic|freebsd|netbsd|openbsd|dragonfly|posix|libc|手册|文档|源码|源文件|头文件)/i,nv={id:"divergence-claim-evidenced",when:e=>e.schemaKey==="adapt"&&Pn(e.json).some(t=>String(t.attribution??"")==="platform-divergence"),check:e=>{let t=Pn(e.json).filter(n=>String(n.attribution??"")==="platform-divergence"&&!fp.test(String(n.evidence??"")));return t.length===0?[]:[`failures[] \u91CC ${t.slice(0,5).map(n=>`\u300C${String(n.name??"?")}\u300D`).join("\u3001")}${t.length>5?" \u7B49":""} \u5F52\u56E0 platform-divergence\uFF0C\u4F46 evidence \u672A\u6307\u56DE\u5206\u6B67\u6765\u6E90\u65B9\uFF08musl/glibc/\u67D0 BSD \u53D8\u4F53\u7684\u6E90\u7801\u884C\u6216\u6587\u6863\u5DEE\u5F02\u70B9\uFF09\u2014\u2014\u300C\u5E73\u53F0\u5DEE\u5F02\u300D\u6B63\u662F\u63A9\u76D6\u4EA7\u7269\u7F3A\u9677\u6700\u987A\u624B\u7684\u501F\u53E3\uFF1Adiff \u4E0A\u6E38\u5B9E\u73B0\u786E\u8BA4\u884C\u4E3A\u4E00\u81F4\u3001\u9884\u671F\u6765\u81EA\u5176\u4ED6\u5E73\u53F0\uFF0C\u624D\u53EF\u5F52\u6B64\u6863\uFF1B\u5B9E\u73B0\u6709\u5DEE\u5F02\u7684\u5F52 product-defect\uFF08\u4FEE\u4EA7\u7269\uFF09\u3002\u5206\u8BCA\u7A0B\u5E8F\u89C1 enum-semantics \u7684 test_run.failures[].attribution \u8282`]}},rv={id:"test-fix-evidenced",when:e=>e.schemaKey==="adapt"&&Pn(e.json).some(t=>String(t.resolution??"").startsWith("fixed-")),check:e=>{let t=[],n=Pn(e.json),r=n.filter(a=>{if(!String(a.resolution??"").startsWith("fixed-"))return!1;let u=String(a.fix_ref??"");if(!u||/^https?:\/\//.test(u))return!1;let c=u.split(/[\s,;、]/)[0]?.split(":")[0]??"";if(!c)return!0;try{return!A.existsSync(ue(e.workspaceRoot,c))}catch{return!0}});r.length>0&&t.push(`failures[] \u91CC ${r.slice(0,5).map(a=>`\u300C${String(a.name??"?")}\u300D`).join("\u3001")}${r.length>5?" \u7B49":""} \u58F0\u79F0 resolution=${String(r[0]?.resolution??"fixed-*")}\uFF0C\u4F46 fix_ref \u6307\u5411\u7684\u8DEF\u5F84\u4E0D\u5B58\u5728\uFF08${String(r[0]?.fix_ref??"")}\uFF09\u2014\u2014\u4FEE\u590D\u843D\u70B9\u5FC5\u987B\u771F\u5728\u76D8\u624D\u80FD\u590D\u6838\u3002\u672A\u843D\u76D8\u7684\u4FEE\u590D\u4E0D\u7B97\u4FEE\u590D\uFF1B\u786E\u5B9E\u6539\u5728\u522B\u5904\u8BF7\u586B\u6B63\u786E\u8DEF\u5F84\u3002`);let i=n.filter(a=>String(a.resolution??"")==="fixed-test").filter(a=>{let u=a.amendment??{},c=String(u.basis??"");return c?/https?:\/\//.test(c)?!1:!fp.test(c):!0});i.length>0&&t.push(`failures[] \u91CC ${i.slice(0,5).map(a=>`\u300C${String(a.name??"?")}\u300D`).join("\u3001")}${i.length>5?" \u7B49":""} \u6539\u4E86\u6D4B\u8BD5\uFF08fixed-test\uFF09\uFF0C\u4F46 amendment.basis \u6307\u4E0D\u56DE\u4EFB\u4F55\u6765\u6E90\u65B9\u2014\u2014\u300C\u5E73\u53F0\u5DEE\u5F02\u300D\u300C\u9884\u671F\u4E0D\u7B26\u300D\u4E0D\u662F\u4F9D\u636E\uFF0Cmusl \u6E90\u7801\u884C / \u8BED\u4E49\u5206\u6B67\u8868\u6761\u76EE / \u4E0A\u6E38 issue / \u6C99\u7BB1\u524D\u7F6E\u4E0D\u53EF\u6EE1\u8DB3\u7684\u8BF4\u660E\u624D\u662F\u3002\u6539\u6D4B\u8BD5\u662F\u63A9\u76D6\u4EA7\u7269\u7F3A\u9677\u6700\u987A\u624B\u7684\u540E\u95E8\uFF0C\u6240\u4EE5\u4F9D\u636E\u5FC5\u987B\u53EF\u590D\u6838\uFF1A\u5148\u8D70 pc-device-verify \u7684\u884C\u4E3A\u5206\u6B67\u4E09\u5411\u5BF9\u7167\uFF08\u67E5 API \u7531\u8C01\u63D0\u4F9B \u2192 diff \u4E0A\u6E38\u5B9E\u73B0 \u2192 \u5B9E\u73B0\u4E00\u81F4\u800C\u9884\u671F\u6765\u81EA\u5176\u4ED6\u5E73\u53F0\u624D\u7B97\u5206\u6B67\uFF09\uFF0C\u5B9E\u73B0\u6709\u5DEE\u5F02\u7684\u5F52 product-defect\u3002`);let o=n.filter(a=>String(a.attribution??"")==="testcase-defect"||String((a.amendment??{}).class??"")==="testcase-defect");if(o.length>0){let a=je(e.workspaceRoot,"02-baseline.json"),u=Array.isArray(a?.cases)?a?.cases:[];if(u.length>0){let c=String((a?.host_run??{}).status??"")==="ran",d=o.filter(l=>{let p=String(l.name??""),f=u.find(g=>Zt(String(g?.name??""),p));return f?ua(f,c)!=="unvalidated":!1});d.length>0&&t.push(`failures[] \u91CC ${d.slice(0,5).map(l=>`\u300C${String(l.name??"?")}\u300D`).join("\u3001")}${d.length>5?" \u7B49":""} \u88AB\u5224\u300C\u7528\u4F8B\u672C\u8EAB\u5199\u9519\u300D\uFF08testcase-defect\uFF09\uFF0C\u4F46\u5B83\u4EEC\u5728 02-baseline \u540D\u518C\u91CC\u4E0D\u662F \`validation=unvalidated\`\u2014\u2014\u4E0A\u6E38\u7528\u4F8B\u5728\u539F\u5E73\u53F0\u662F\u7EFF\u7684\u3001\u5BBF\u4E3B\u81EA\u8BC1\u8FC7\u7684\u7528\u4F8B\u65AD\u8A00\u4E5F\u6210\u7ACB\uFF0C\u5224\u8FD9\u7C7B\u7528\u4F8B\u5199\u9519\u9700\u8981\u6307\u5411\u4E0A\u6E38 issue \u6216 musl \u4E8B\u5B9E\u5DEE\u5F02\uFF08\u90A3\u5C5E platform-divergence\uFF09\uFF0C\u4E0D\u80FD\u81EA\u8BF4\u81EA\u8BDD\u3002\u53EA\u6709\u300C\u8865\u5199\u4E14\u5BBF\u4E3B\u8DD1\u4E0D\u4E86\u3001\u65E0\u4ECE\u81EA\u8BC1\u300D\u7684\u7528\u4F8B\u624D\u53EF\u5F52\u6B64\u6863\u3002`)}}return t}},sv=new Set([".c",".h",".cc",".cpp",".hpp",".cxx",".hh",".m",".mm",".inc",".js",".mjs",".cjs",".ts",".tsx",".jsx",".py",".java",".kt",".go",".rs",".swift",".cs",".rb",".php",".pl",".lua",".scala",".cmake",".mk",".am",".ac",".in",".build",".vcxproj",".filters",".pbxproj",".pro",".pri",".gn",".gni",".bazel",".toml",".cfg",".map",".sym",".def"]),iv=new Set(["CMakeLists.txt","Makefile","makefile","GNUmakefile","BUILD","meson.build"]),ov=new Set([".git","node_modules","CMakeFiles",".deps",".libs"]),av=64*1024*1024,cr=null;function cv(e){if(cr&&cr.root===e)return cr;let t=[],n=av,r=!1,s=(i,o)=>{if(o<0||r)return;let a;try{a=A.readdirSync(i,{withFileTypes:!0})}catch{return}for(let u of a){if(r)return;let c=D.join(i,u.name);if(u.isDirectory())ov.has(u.name)||s(c,o-1);else if(sv.has(D.extname(u.name).toLowerCase())||iv.has(u.name))try{let d=A.readFileSync(c,"utf8");if(n-=d.length,n<=0){r=!0;return}t.push(d)}catch{}}};return s(D.join(e,"source"),8),cr={root:e,text:t.join(`
263
+ `),truncated:r},cr}function uv(e,t){let{text:n,truncated:r}=cv(e);if(n===""||r)return[];let s=new Set;for(let i of t)!i||i.length<3||/^[A-Za-z_][A-Za-z0-9_]*$/.test(i)&&(new RegExp(`\\b${lr(i)}\\b`).test(n)||s.add(i));return[...s].sort()}function lv(e){let n=je(e,"01-scan.json")?.prd,r=Array.isArray(n?.features)?n?.features:[],s=new Set;for(let i of r){let o=i?.covered_apis;for(let a of Q(o?.source))s.add(a)}return s}var dv={id:"baseline-roster-anchored",when:e=>e.schemaKey==="baseline",check:e=>{let t=[],n=e.json.api_surface??{},r=String(n.provenance??""),s=new Set(Q(n.symbols)),i=Array.isArray(e.json.cases)?e.json.cases:[],o=lv(e.workspaceRoot),a=uv(e.workspaceRoot,o);a.length>0&&t.push(`01-scan.json \u7684 prd.features[].covered_apis.source[] \u91CC ${a.slice(0,8).join("\u3001")}${a.length>8?` \u7B49 ${a.length} \u4E2A`:""} \u5728 source/ \u6574\u68F5\u6E90\u7801\u6811\u91CC**\u96F6\u75D5\u8FF9**\u2014\u2014\u8FDE\u6784\u5EFA\u811A\u672C\u90FD\u6CA1\u63D0\u8FC7\u8FD9\u4E2A\u540D\u5B57\uFF0C\u591A\u534A\u662F\u5199\u9519\u6216\u51ED\u7A7A\u5199\u5165\u3002\u56DE\u9636\u6BB5 1 \u66F4\u6B63 PRD\uFF1A\u8FD9\u4E9B\u540D\u5B57\u4F1A\u4E00\u8DEF\u6D41\u8FDB\u9636\u6BB5 5 \u7684 covered_apis_source\uFF0C\u6210\u4E3A\u4E0B\u6E38\u627E\u7B26\u53F7\u7684\u9519\u8BEF\u7EBF\u7D22\u3002`);let u=ko(e.workspaceRoot),c=Do(e.workspaceRoot),d=s;if(u&&u.size>0){d=u,r!=="machine-symbol"&&t.push(`api_surface.provenance=${r||"\u672A\u586B"}\uFF0C\u4F46\u672C\u5DE5\u4F5C\u533A\u4ECE\u300C${c.origin}\u300D\u80FD\u76F4\u63A5\u7B97\u51FA ${u.size} \u4E2A\u7B26\u53F7\u2014\u2014provenance \u4E0D\u662F\u81EA\u9009\u9879\uFF1A\u7B97\u5F97\u51FA\u5C31\u5FC5\u987B\u7528\u673A\u5668\u7B97\u7684\u90A3\u4EFD\u5F53\u5206\u6BCD\uFF08\u586B machine-symbol\uFF09\uFF0C\u5426\u5219\u7B49\u4E8E\u81EA\u5DF1\u7ED9\u81EA\u5DF1\u5B9A\u4E00\u4E2A\u66F4\u5C0F\u7684\u8003\u7EB2\u3002`);let y=[...u].filter(S=>!s.has(S)).sort();y.length>0&&t.push(`\u300C${c.origin}\u300D\u91CC\u6709\u3001api_surface.symbols \u91CC\u5374\u6CA1\u6709\uFF1A${y.slice(0,12).join("\u3001")}${y.length>12?` \u7B49 ${y.length} \u4E2A`:""}\u2014\u2014\u7B26\u53F7\u9762\u6F0F\u679A\u4E3E\u4F1A\u8BA9\u8986\u76D6\u5EA6\u5206\u6BCD\u504F\u5C0F\u3001\u300C100% \u8986\u76D6\u300D\u540D\u4E0D\u526F\u5B9E\u3002\u8865\u8FDB symbols[] \u540E\u91CD\u7B97 uncovered\u3002`)}else{u===null&&r==="machine-symbol"&&t.push(`api_surface.provenance=machine-symbol\uFF0C\u4F46\u672C\u5DE5\u4F5C\u533A**\u7B97\u4E0D\u51FA**\u673A\u5668\u516C\u5F00\u9762\uFF08${c.absent}\uFF09\u2014\u2014\u8FD9\u4E2A\u53D6\u503C\u662F\u53EF\u6838\u5BF9\u7684\u4E8B\u5B9E\u65AD\u8A00\uFF0C\u4E0D\u662F\u81EA\u9009\u6807\u7B7E\u3002\u6539\u586B declared \u5E76\u7ED9 source_refs \u4F9B\u62BD\u67E5\uFF1B\u82E5\u8BE5\u5E93\u786E\u6709\u516C\u5F00\u9762\u800C\u673A\u5668\u6CA1\u627E\u5230\uFF0C\u628A\u5B83\u7684\u5F62\u6001\u53CD\u9988\u7ED9 ${c.extractor}\u3002`),u!==null&&u.size===0&&t.push(`${c.empty}\u2014\u2014api_surface \u5DF2\u964D\u7EA7\u4E3A\u81EA\u62A5\uFF08\u5206\u6BCD\u4E0D\u518D\u7531\u673A\u5668\u7ED9\u51FA\uFF09\u3002\u8BF7\u4EBA\u5DE5\u6838\u5BF9 symbols[] \u662F\u5426\u8986\u76D6\u4E86\u5168\u90E8\u516C\u5171\u5BFC\u51FA\u9762\uFF0C\u5E76\u628A\u8BE5\u5F62\u6001\u53CD\u9988\u7ED9 ${c.extractor}\u3002`);let S=[...o].filter(b=>!a.includes(b)).filter(b=>!s.has(b)).sort();S.length>0&&t.push(`01-scan.json \u7684 prd.features[].covered_apis.source[] \u91CC\u6709 ${S.slice(0,8).join("\u3001")}${S.length>8?` \u7B49 ${S.length} \u4E2A`:""} \u4E0D\u5728 api_surface.symbols \u91CC\u2014\u2014\u9636\u6BB5 1 \u5DF2\u7ECF\u9010\u529F\u80FD\u70B9\u5217\u8FC7\u8FD9\u4E9B\u539F\u5E93\u7B26\u53F7\uFF0C\u7B26\u53F7\u9762\u4E0D\u8BE5\u6BD4\u5B83\u8FD8\u5C0F\u3002\u8865\u9F50\u6216\u8BF4\u660E\u4E3A\u4F55\u4E0D\u5C5E\u516C\u5171\u5BFC\u51FA\u9762\u3002`)}{let y=Q(n.source_refs),S=[];for(let b of y){let E=b.split(":")[0].trim(),j=[ue(e.workspaceRoot,E),ue(e.workspaceRoot,D.join("source",E))].find(T=>A.existsSync(T));if(!j){t.push(`api_surface.source_refs \u91CC\u7684\u51FA\u5904\u4E0D\u5B58\u5728: ${b}\u2014\u2014\u7B26\u53F7\u9762\u7684\u51FA\u5904\u5FC5\u987B\u771F\u5B9E\u843D\u76D8\uFF0C\u5426\u5219\u65E0\u4ECE\u6838\u5BF9`);continue}try{A.statSync(j).isFile()&&S.push(A.readFileSync(j,"utf8"))}catch{}}if(S.length>0){let b=S.join(`
264
+ `),E=[...s].filter(k=>!new RegExp(`\\b${lr(k)}\\b`).test(b));E.length>0&&t.push(`api_surface.symbols \u91CC ${E.slice(0,8).join("\u3001")}${E.length>8?` \u7B49 ${E.length} \u4E2A`:""} \u5728 source_refs \u6307\u7684\u4EFB\u4F55\u6587\u4EF6\u91CC\u90FD\u627E\u4E0D\u5230\u2014\u2014\u51ED\u7A7A\u5199\u8FDB\u7B26\u53F7\u9762\u7684\u540D\u5B57\u4F1A\u8BA9\u8986\u76D6\u5EA6\u5931\u53BB\u610F\u4E49\u3002\u8865\u4E0A\u6B63\u786E\u7684\u51FA\u5904\uFF0C\u6216\u628A\u5B83\u4EEC\u4ECE symbols[] \u79FB\u9664\u3002`)}}let l=new Set;for(let y of i)for(let S of Q(y?.api_refs))l.add(S);let p=[...d].filter(y=>!l.has(y)).sort(),f=Q(n.uncovered).slice().sort();p.join("|")!==f.join("|")&&t.push(`api_surface.uncovered \u4E0E\u73B0\u7B97\u4E0D\u7B26\uFF1A\u73B0\u7B97 ${p.length} \u4E2A\u672A\u8986\u76D6${p.length>0?`\uFF08${p.slice(0,8).join("\u3001")}${p.length>8?" \u7B49":""}\uFF09`:""}\uFF0C\u81EA\u62A5 ${f.length} \u4E2A\u3002\u8986\u76D6\u5EA6\u662F symbols[] \u51CF\u53BB\u6240\u6709 cases[].api_refs \u7684\u5E76\u96C6\uFF0C\u522B\u624B\u5199\u6570\u5B57\u3002`);let g=e.json.feature_coverage??{},m=je(e.workspaceRoot,"01-scan.json")?.prd,_=Array.isArray(m?.features)?m?.features:[];if(_.length>0){let y=_.map(k=>String(k?.id??"")).filter(Boolean),S=new Set;for(let k of i)for(let j of Q(k?.prd_refs))S.add(j);let b=y.filter(k=>!S.has(k)).sort(),E=Q(g.uncovered).slice().sort();b.join("|")!==E.join("|")&&t.push(`feature_coverage.uncovered \u4E0E\u73B0\u7B97\u4E0D\u7B26\uFF1A\u73B0\u7B97 ${b.length} \u4E2A\u529F\u80FD\u70B9\u6CA1\u6709\u540D\u518C\u7528\u4F8B\u8986\u76D6${b.length>0?`\uFF08${b.slice(0,8).join("\u3001")}${b.length>8?" \u7B49":""}\uFF09`:""}\uFF0C\u81EA\u62A5 ${E.length} \u4E2A\u3002PRD \u529F\u80FD\u70B9\u662F\u8986\u76D6\u5EA6\u7684\u7B2C\u4E8C\u4E2A\u951A\u2014\u2014\u7B26\u53F7\u6D4B\u5230\u4E86\u4E0D\u7B49\u4E8E\u7528\u6237\u53EF\u611F\u77E5\u7684\u80FD\u529B\u8FD8\u5728\uFF08GLFW \u6848\uFF1A\u526A\u8D34\u677F/\u5149\u6807\u5F62\u72B6/\u62D6\u653E\u88AB 4 \u4E2A\u7C97\u80FD\u529B\u57DF\u541E\u6389\uFF09\u3002`),Number(g.features_total??-1)!==y.length&&t.push(`feature_coverage.features_total=${String(g.features_total)}\uFF0C\u4F46 01-scan.json \u7684 prd.features[] \u5B9E\u6709 ${y.length} \u6761\u2014\u2014\u5206\u6BCD\u4E0D\u5BF9\uFF0C\u8986\u76D6\u7387\u4E5F\u5C31\u4E0D\u5BF9`)}if(String(e.json.baseline_status??"")==="planned"){let y=_.filter(S=>String(S?.level??"")==="L0").map(S=>String(S?.id??""));if(y.length>0){let S=go(e.workspaceRoot);if(S){let b=y.filter(E=>{let k=String(S[E]?.disposition??"");return k!=="covered"&&k!=="full-case"&&k!=="gap-case"});b.length>0&&t.push(`baseline_status=planned \u4F46 L0 \u529F\u80FD\u70B9 ${b.slice(0,8).join("\u3001")}${b.length>8?` \u7B49 ${b.length} \u4E2A`:""} \u7684 gap-ledger disposition \u4E0D\u662F covered/full-case/gap-case\u2014\u2014planned \u5224\u636E = L0 \u5C42\u96F6\u7F3A\u53E3\uFF08supporting \u662F\u767B\u8BB0\u4E0D\u662F\u627F\u63A5\uFF1BL1/L2 \u7F3A\u53E3\u8D70 cap-out \u53F0\u8D26\u4E0D\u62E6 planned\uFF09`)}}}return t}};function ua(e,t){return String(e?.source??"")!=="generated"?"upstream-backed":t&&String(e?.host_result??"")==="pass"?"self-validated":"unvalidated"}var pv={id:"install-set-selfcontained",when:e=>e.schemaKey==="baseline",check:e=>{let t=e.json.api_surface??{},n=[];for(let o of Q(t.source_refs)){let a=o.split(":")[0].trim(),u=[ue(e.workspaceRoot,a),ue(e.workspaceRoot,D.join("source",a))].find(c=>A.existsSync(c));u&&n.push(u)}let r=Al(e.workspaceRoot,n);if(r.length===0)return[];let s=[...new Set(r.map(o=>`${o.header} \u2192 ${o.include}`))],i=r.some(o=>o.indexTruncated);return[`\u516C\u5171\u5934\u81EA\u5305\u542B\u68C0\u67E5\u672A\u8FC7\uFF1A${s.slice(0,6).join("\uFF1B")}${s.length>6?` \u7B49 ${s.length} \u5904`:""}\u2014\u2014\u8FD9\u4E9B\u88AB\u516C\u5171\u5934 #include \u7684\u5934\u4E0D\u5728\u516C\u5171\u9762\u91CC\uFF08source/ \u4E0B\u5B58\u5728\u4F46\u672A\u968F\u5B89\u88C5\u96C6\u4EA4\u4ED8\uFF09\u3002\u5E93\u81EA\u8EAB\u5728\u6E90\u7801\u6811\u91CC\u7F16\u8BD1\u53D1\u73B0\u4E0D\u4E86\uFF08\u540C\u76EE\u5F55\u5E73\u94FA\u90FD\u627E\u5F97\u5230\uFF09\uFF0C**\u7B2C\u4E00\u4E2A\u6D88\u8D39\u8005\uFF08\u9636\u6BB5 6 demo / \u4EFB\u4F55\u88C5\u5305\u65B9\uFF09\u4E00\u7F16\u5C31\u70B8**\uFF08codec2 \u5B9E\u8BC1\uFF1Afsk.h\u2192kiss_fftr.h\uFF0C\u62D6\u5230 demo \u7F16\u8BD1\u8F6E\u624D\u66B4\u9732\uFF09\u3002\u5904\u7F6E\uFF1A\u628A\u5B83\u7EB3\u5165\u516C\u5171\u9762\uFF08\u8865\u8FDB source_refs \u4E0E\u7B26\u53F7\u53E3\u5F84\uFF09\uFF0C\u6216\u5728 api_surface.notes \u6CE8\u660E\u8C41\u514D\u4F9D\u636E\uFF08\u5982\u8BE5 include \u88AB\u5B8F\u95E8\u63A7\u3001\u6807\u51C6\u6784\u5EFA\u4E0D\u6FC0\u6D3B\uFF09\u3002`+(i?"\u26A0\uFE0F \u5934\u6587\u4EF6\u7D22\u5F15\u5DF2\u8FBE\u4E0A\u9650\u88AB\u622A\u65AD\uFF0C\u672C\u6B21\u7ED3\u8BBA\u53EF\u80FD\u4E0D\u5B8C\u6574\u2014\u2014\u5F53\u7EBF\u7D22\u770B\uFF0C\u522B\u5F53\u5DF2\u67E5\u5168\u3002":"")]}},fv={id:"patch-newline-hygiene",when:e=>e.schemaKey==="adapt"||e.schemaKey==="summary",check:e=>{let t=D.join(e.workspaceRoot,"patches"),n;try{n=A.readdirSync(t,{withFileTypes:!0})}catch{return[]}let r=n.filter(i=>i.isFile()&&i.name.toLowerCase().endsWith(".patch")),s=[];for(let i of r){let o=D.join(t,i.name);try{let a=A.openSync(o,"r"),u=0;try{let c=A.fstatSync(a);if(c.size>0){let d=Buffer.alloc(1);A.readSync(a,d,0,1,c.size-1),u=d[0]}}finally{A.closeSync(a)}u!==10&&s.push(i.name)}catch{}}return s.length===0?[]:[`patches/ \u4E0B\u8865\u4E01\u6587\u4EF6\u672B\u5C3E\u7F3A\u6362\u884C\u7B26\uFF08\u6700\u540E\u5B57\u8282\u2260\\n\uFF09\uFF1A${s.slice(0,5).join("\u3001")}${s.length>5?" \u7B49":""}\u2014\u2014git apply \u4F1A\u628A\u5B83\u4EEC\u5224\u6210 corrupt patch\uFF0C\u4EA4\u4ED8\u7269\u7684\u53EF\u590D\u73B0\u51ED\u636E\u5C31\u5931\u6548\u4E86\u3002\u5728\u6587\u4EF6\u672B\u5C3E\u8865\u4E00\u4E2A LF\uFF080x0a\uFF09\u518D\u91CD\u65B0 \`git apply --check\` \u9A8C\u8BC1\uFF1B\u8FD9\u662F pc-workspace-layout \u7684\u8865\u4E01\u536B\u751F\u786C\u89C4\u5219\uFF0C\u4E0D\u6EE1\u8DB3\u7684\u8865\u4E01\u4E0D\u7B97\u5DF2\u4EA4\u4ED8\u3002`]}},hv={id:"patches-applied-reconciled",when:e=>e.schemaKey==="adapt"||e.schemaKey==="summary",check:e=>{let t=D.join(e.workspaceRoot,"patches"),n;try{n=A.readdirSync(t,{withFileTypes:!0}).filter(i=>i.isFile()&&i.name.toLowerCase().endsWith(".patch")).map(i=>i.name)}catch{return[]}if(n.length===0)return[];let r=new Set(Q(e.json.patches_applied).map(i=>i.replace(/^patches[\\/]/,"").replace(/\\/g,"/")).map(i=>i.split("/").pop()??"")),s=n.filter(i=>!r.has(i));return s.length===0?[]:[`patches/ \u4E0B ${s.slice(0,5).join("\u3001")}${s.length>5?" \u7B49":""} \u672A\u767B\u8BB0\u5728 patches_applied \u91CC\u2014\u2014\u78C1\u76D8\u4E0A\u7684\u8865\u4E01\u6587\u4EF6\u8981\u4E48\u662F\u5DF2\u5E94\u7528\u7684\u4EA4\u4ED8\u7269\uFF08\u767B\u8BB0\u8FDB patches_applied\uFF09\uFF0C\u8981\u4E48\u662F\u5B9E\u9A8C/\u5E9F\u5F03\u6B8B\u7559\uFF08\u79FB\u51FA patches/\uFF09\u3002\u672A\u767B\u8BB0\u7684\u8865\u4E01\u4F1A\u8BA9\u300C\u7167\u7740\u4EA4\u4ED8\u7269\u590D\u73B0\u300D\u7F3A\u4E00\u5757\u62FC\u56FE\uFF0C\u4E5F\u8BA9\u5E9F\u5F03\u65B9\u6848\u4EE5\u5047\u8D27\u8EAB\u4EFD\u6DF7\u8FDB\u4EA4\u4ED8\u6811\u3002`]}},gv=/\b(assert\w*|EXPECT_\w+|ASSERT_\w+|CHECK\w*|REQUIRE\w*|verify\w*|should\w*|expect\s*\(|t\.Error|t\.Fatal|panic!\(|assert_eq!|assert_ne!)/i,mv={id:"baseline-selfvalidation",when:e=>e.schemaKey==="baseline",check:e=>{let t=[],n=Array.isArray(e.json.cases)?e.json.cases:[];if(n.length===0)return[];let r=e.json.host_run??{},s=String(r.status??""),i=s==="ran",o=n.some(p=>String(p?.source??"")==="generated");!o&&(s==="ran"||s==="unavailable")&&t.push(`cases[] \u91CC\u6CA1\u6709 source=generated\uFF08\u5168\u90E8\u6765\u81EA\u4E0A\u6E38\u5957\u4EF6\uFF09\uFF0Chost_run.status \u5374\u586B\u4E86 ${s}\u2014\u2014\u5BBF\u4E3B\u81EA\u8BC1\u662F\u4E3A**\u8865\u5199\u7528\u4F8B**\u670D\u52A1\u7684\uFF1A\u4E0A\u6E38\u7528\u4F8B\u6709\u4E0A\u6E38 CI \u80CC\u4E66\uFF0C\u5BBF\u4E3B\u8DD1\u4E0D\u8DD1\u90FD\u4E0D\u6539\u53D8\u540D\u518C\u3002\u586B not-required \u5373\u53EF\uFF0C\u522B\u628A\u65F6\u95F4\u82B1\u5728\u8BC1\u660E\u5BBF\u4E3B\u7F16\u4E0D\u52A8\u8FD9\u4E2A\u5E93\u4E0A\u3002`),o&&s==="not-required"&&t.push("cases[] \u91CC\u6709 source=generated\uFF0Chost_run.status \u5374\u586B not-required\u2014\u2014\u8865\u5199\u7528\u4F8B\u6CA1\u6709\u4EFB\u4F55\u80CC\u4E66\uFF0C\u300C\u4E0D\u5FC5\u81EA\u8BC1\u300D\u53EA\u5BF9\u5168\u4E0A\u6E38\u540D\u518C\u6210\u7ACB\u3002\u5BBF\u4E3B\u80FD\u8DD1\u5C31\u586B ran \u5E76\u628A\u8865\u5199\u90A3\u6279\u8DD1\u8FC7\uFF0C\u8DD1\u4E0D\u4E86\u5982\u5B9E\u586B unavailable + reason\u3002");let a=n.filter(p=>p.validation!==void 0&&String(p.validation)!==ua(p,i)).map(p=>`${String(p?.name??"?")}\uFF08\u81EA\u62A5 ${String(p.validation)}\uFF0C\u5E94\u4E3A ${ua(p,i)}\uFF09`);a.length>0&&t.push(`cases[].validation \u4E0E\u73B0\u7B97\u4E0D\u7B26\uFF1A${a.slice(0,5).join("\u3001")}${a.length>5?` \u7B49 ${a.length} \u6761`:""}\u2014\u2014\u53EF\u4FE1\u5EA6\u6765\u6E90\u7531\u300C\u7528\u4F8B\u6765\u6E90 + \u5BBF\u4E3B\u662F\u5426\u771F\u8DD1\u8FC7 + \u8BE5\u6761\u662F\u5426\u901A\u8FC7\u300D\u63A8\u5BFC\uFF0C\u4E0D\u662F\u81EA\u9009\u9879\uFF1A\u5B83\u51B3\u5B9A\u9636\u6BB5 3 \u5728\u8FD9\u6761\u7528\u4F8B\u5931\u8D25\u65F6\u5141\u4E0D\u5141\u8BB8\u5224\u300C\u7528\u4F8B\u672C\u8EAB\u5199\u9519\u300D\uFF0C\u5199\u677E\u4E86\u7B49\u4E8E\u7ED9\u81EA\u5DF1\u5F00\u540E\u95E8\u3002`);let u=n.filter(p=>p.validation===void 0).length;if(u>0&&u<n.length&&t.push(`cases[] \u91CC\u6709 ${u} \u6761\u7F3A validation\u2014\u2014\u53EF\u4FE1\u5EA6\u6765\u6E90\u8981\u9010\u6761\u586B\u5168\uFF0C\u7F3A\u4E86\u7684\u9636\u6BB5 3 \u65E0\u4ECE\u5224\u65AD\u80FD\u4E0D\u80FD\u6539\u5B83`),i){let p=n.filter(f=>String(f?.source??"")==="generated"&&String(f?.host_result??"")==="fail").map(f=>String(f?.name??"?"));p.length>0&&t.push(`\u8865\u5199\u7528\u4F8B ${p.slice(0,5).join("\u3001")}${p.length>5?` \u7B49 ${p.length} \u6761`:""} \u5728\u5BBF\u4E3B\u4E0A\u5C31\u6CA1\u901A\u8FC7\u2014\u2014\u81EA\u5DF1\u5199\u7684\u7528\u4F8B\u5728\u4E00\u4E2A\u5DF2\u77E5\u6B63\u786E\u7684\u73AF\u5883\u91CC\u90FD\u4E0D\u8FC7\uFF0C\u8BF4\u660E\u65AD\u8A00\u672C\u8EAB\u6709\u95EE\u9898\u3002**\u5728\u672C\u9636\u6BB5\u4FEE\u5230\u5BBF\u4E3B\u901A\u8FC7**\uFF0C\u6216\u8005\u5224\u5B9A\u5B83\u4E0D\u8BE5\u5B58\u5728\uFF08\u8986\u76D6\u7F3A\u53E3\u5982\u5B9E\u7559\u5728 uncovered[]\u3001\u540D\u518C\u8BB0 partial\uFF09\u3002\u5E26\u7740\u9519\u7684\u65AD\u8A00\u8FDB\u540D\u518C\uFF0C\u9636\u6BB5 3 \u5C31\u4F1A\u4E3A\u4E86\u8BA9\u5B83\u8FC7\u800C\u53BB\u6539\u672C\u6765\u6B63\u786E\u7684\u4EA7\u7269\u3002`)}let c=D.join(e.workspaceRoot,String(e.json.baseline_dir??"tests-generated")),d=[];try{d=A.existsSync(c)?A.readdirSync(c,{withFileTypes:!0}).filter(p=>p.isFile()).map(p=>D.join(c,p.name)):[]}catch{}let l=d.filter(p=>/\.(c|cc|cpp|h|py|rs|go|java|js|ts|mjs)$/i.test(p));if(l.length>0){let p=l.filter(f=>{try{return!gv.test(A.readFileSync(f,"utf8"))}catch{return!1}});p.length>0&&t.push(`\u8865\u5199\u7684\u7528\u4F8B\u6587\u4EF6\u91CC\u627E\u4E0D\u5230\u4EFB\u4F55\u65AD\u8A00\u8BED\u53E5\uFF1A${p.slice(0,4).map(f=>D.basename(f)).join("\u3001")}${p.length>4?` \u7B49 ${p.length} \u4E2A`:""}\u2014\u2014\u53EA\u8C03\u7528\u4E0D\u65AD\u8A00\u7684\u7528\u4F8B\uFF0C\u8DD1\u8FC7\u4E86\u4E5F\u8BC1\u660E\u4E0D\u4E86\u4EFB\u4F55\u4E8B\uFF0C\u7A7A\u5B9E\u73B0\u540C\u6837\u80FD\u8BA9\u5B83\u300C\u901A\u8FC7\u300D\u3002\u6BCF\u6761\u8865\u5199\u7528\u4F8B\u90FD\u8981\u6709\u53EF\u5224\u5B9A\u7684\u65AD\u8A00\uFF08\u8FD4\u56DE\u503C/\u72B6\u6001/\u9519\u8BEF\u7801\uFF09\u3002`)}return o&&i&&!r.stopped_by&&t.push("host_run.status=ran \u5374\u6CA1\u6709 stopped_by\u2014\u2014\u8FD9\u6B21\u5BBF\u4E3B\u8FD0\u884C\u6CA1\u6709\u5C5E\u4E8E\u5B83\u81EA\u5DF1\u7684\u622A\u6B62\u3002\u7528 `ohpt-agent host-run -w <workspace>` \u8DD1\uFF08\u5B83\u628A\u6784\u5EFA\u6BB5\u4E0E\u7528\u4F8B\u6BB5\u5206\u5F00\uFF1A\u6784\u5EFA\u4E0D\u53D7\u9759\u9ED8\u7EA6\u675F\uFF0C\u7528\u4F8B\u6BB5\u6302\u4F4F\u5C31\u505C\u4E0B\u5E76\u7ED9\u51FA hung_after\uFF09\uFF0C\u518D\u628A\u5B83\u8FD4\u56DE\u7684 stopped_by / hung_after \u586B\u8FDB\u6765\u3002\u88F8\u8DD1\u4E00\u65E6\u6302\u4F4F\u5C31\u53EA\u80FD\u7B49\u5DE5\u5177\u515C\u5E95\u8D85\u65F6\uFF0C\u62FF\u56DE\u7684\u8FD8\u662F\u7A7A\u8F93\u51FA\u3002"),t}},yv=["tests","test","spec","testing","t"],_v={id:"upstream-suite-preferred",when:e=>e.schemaKey==="baseline",check:e=>{let t=D.join(e.workspaceRoot,"source"),n=[];for(let i of yv)try{A.existsSync(D.join(t,i))&&A.statSync(D.join(t,i)).isDirectory()&&n.push(`source/${i}/`)}catch{}return n.length===0?[]:(Array.isArray(e.json.cases)?e.json.cases:[]).filter(i=>String(i?.source??"")==="upstream").length>0?[]:[`${n.join("\u3001")} \u5B58\u5728\uFF0C\u4F46\u540D\u518C\u91CC\u6CA1\u6709\u4E00\u6761 source=upstream \u7684\u7528\u4F8B\u2014\u2014\u624B\u5199\u5192\u70DF\u66FF\u4EE3\u4E0A\u6E38\u5957\u4EF6\u5C31\u662F\u81EA\u9009\u5206\u6BCD\u3002\u5B9E\u8BC1\uFF1A\u624B\u6311 25 \u4E2A API \u5192\u70DF\u5168\u7EFF\uFF0C\u540C\u4E00\u4E2A\u5E93\u6362\u6210\u4E0A\u6E38 25 \u4E2A\u5B98\u65B9\u7528\u4F8B\u5B8C\u6574\u79FB\u690D\u6293\u51FA 72 \u4E2A FAIL/CRASH\u3002\u5148\u8BFB\u4E0A\u6E38 CI \u914D\u7F6E\uFF08.github/workflows/*.yml\u3001tox.ini\u3001Makefile\uFF09\u62FF\u5B98\u65B9\u547D\u4EE4\u4E0E\u6392\u9664\u96C6\uFF0C\u628A\u4E0A\u6E38\u7528\u4F8B\u6536\u8FDB\u540D\u518C\uFF1B\u786E\u5B9E\u5168\u90E8\u4E0D\u53EF\u7528\uFF08\u5982\u6574\u5957\u4F9D\u8D56\u67D0\u5E73\u53F0\u4E13\u6709 fixture\uFF09\u8BF7\u9010\u6761\u6807 platform_exclusive + \u8BC1\u636E\u3002\u5224\u5B9A\u7A0B\u5E8F\u89C1 \`pc-knowledge-base\` \u7684 adaptation/\u9E3F\u8499PC-C\u5E93\u8BBE\u5907\u9A8C\u8BC1\u6D4B\u8BD5\u8BBE\u8BA1.md \xA71`]}};function fa(e,t){let n=je(t,"02-baseline.json"),r=ip(n);if(r.length===0)return{missing:[],rosterTotal:0};let s=e.test_run??{},i=new Set;for(let l of Array.isArray(s.failures)?s.failures:[]){let p=String(l?.name??"");p&&i.add(p)}for(let l of Q(s.regressions))i.add(l);let o=new Set;for(let l of Array.isArray(s.exemptions)?s.exemptions:[]){let p=String(l?.name??"");p&&o.add(p)}let a=s.roster??{},u=Number(a.ran??s.total_cases??0),c=r.filter(l=>!o.has(l)&&![...o].some(p=>Zt(l,p)));return u>=c.length?{missing:[],rosterTotal:r.length}:{missing:c.filter(l=>!i.has(l)&&![...i].some(p=>Zt(l,p))).slice(0,50),rosterTotal:r.length}}var bv={id:"roster-accounting",when:e=>e.schemaKey==="adapt"&&e.json.test_run?.executed===!0,check:e=>{let{missing:t,rosterTotal:n}=fa(e.json,e.workspaceRoot);if(n===0)return Is("02-baseline.json")?[]:["test_run.roster \u6CA1\u6709\u5206\u6BCD\uFF0802-baseline.json \u7F3A\u5931\u6216\u540D\u518C\u4E3A\u7A7A\uFF09\uFF0C\u4F46\u9636\u6BB5 2 \u5728\u672C\u8F6E\u62D3\u6251\u4E2D\u662F**\u542F\u7528**\u7684\u2014\u2014\u8FD9\u610F\u5473\u7740\u5FC5\u8DD1\u540D\u518C\u5E94\u8BE5\u5B58\u5728\u5374\u6CA1\u6709\uFF0C\u4E8E\u662F\u300C\u540D\u518C\u9010\u6761\u4EA4\u4EE3\u300D\u9000\u5316\u6210\u771F\u7A7A\u6210\u7ACB\uFF1A`roster.missing` \u4E3A\u7A7A\u4E0D\u662F\u56E0\u4E3A\u90FD\u8DD1\u5230\u4E86\uFF0C\u800C\u662F\u56E0\u4E3A\u538B\u6839\u6CA1\u6709\u5206\u6BCD\u3002\u5148\u786E\u8BA4\u9636\u6BB5 2 \u662F\u5426\u88AB\u9759\u9ED8\u8DF3\u8FC7\uFF08`ohpt-agent gate --stage 2 -w <ws> --json` \u770B contract.toggles_dropped\uFF09\uFF0C\u8865\u9F50 02-baseline.json \u540E\u518D\u5B9A\u7A3F\uFF1B\u786E\u5B9E\u4E0D\u9700\u8981\u5206\u6BCD\u5C31\u663E\u5F0F\u5173\u95ED\uFF08`OHPT_STAGES=-baseline`\uFF09\uFF0C\u522B\u7559\u7A7A\u540D\u518C\u3002"];let r=[],i=(e.json.test_run??{}).roster??{};Number(i.source_total??-1)!==n&&r.push(`test_run.roster.source_total=${String(i.source_total)}\uFF0C\u4F46 02-baseline.json \u7684\u5FC5\u8DD1\u540D\u518C\u5B9E\u6709 ${n} \u6761\uFF08cases[] \u4E2D platform_exclusive!==true \u7684\u6761\u76EE\uFF09\u2014\u2014\u5206\u6BCD\u53D6\u81EA\u9636\u6BB5 2\uFF0C\u4E0D\u624B\u5199\u3002`);let o=Q(i.missing).slice().sort(),a=t.slice().sort();return a.join("|")!==o.join("|")&&r.push(`test_run.roster.missing \u4E0E\u73B0\u7B97\u4E0D\u7B26\uFF1A\u73B0\u7B97 ${a.length} \u6761\u540D\u518C\u7528\u4F8B\u65E2\u6CA1\u8DD1\u4E5F\u6CA1\u8C41\u514D${a.length>0?`\uFF08${a.slice(0,8).join("\u3001")}${a.length>8?" \u7B49":""}\uFF09`:""}\uFF0C\u81EA\u62A5 ${o.length} \u6761\u3002\u540D\u518C\u91CC\u7684\u6BCF\u4E00\u6761\u90FD\u8981\u6709\u4E0B\u843D\uFF1A\u8DD1\u8FC7\uFF08\u8FDB\u8BA1\u6570\uFF09\u3001\u5931\u8D25\uFF08\u8FDB failures[]\uFF09\u3001\u6216\u5E73\u53F0\u72EC\u6709\uFF08\u8FDB exemptions[] \u5E76\u9644\u8BC1\u636E\uFF09\u3002\u6F0F\u6389\u7684\u65E2\u4E0D\u7B97\u8FC7\u4E5F\u4E0D\u7B97\u4E0D\u8FC7\uFF0C\u90A3\u6B63\u662F\u300C\u8DD1\u4E86 3 \u6761\u5168\u8FC7\u300D\u770B\u8D77\u6765\u50CF\u5168\u91CF\u901A\u8FC7\u7684\u8001\u6BDB\u75C5\u3002`),r}},vv={id:"exemption-evidenced",when:e=>e.schemaKey==="adapt"&&Array.isArray(e.json.test_run?.exemptions),check:e=>{let n=(e.json.test_run??{}).exemptions??[];if(n.length===0)return[];let r=[],s=je(e.workspaceRoot,"02-baseline.json"),i=ip(s),o=n.filter(a=>{let u=String(a?.evidence??"");if(/^https?:\/\//.test(u))return!1;let c=u.split(/[\s,;、]/)[0]?.split(":")[0]??"";if(!c)return!0;try{return!A.existsSync(ue(e.workspaceRoot,c))}catch{return!0}});if(o.length>0&&r.push(`test_run.exemptions \u91CC ${o.slice(0,5).map(a=>`\u300C${String(a?.name??"?")}\u300D`).join("\u3001")}${o.length>5?" \u7B49":""} \u7684 evidence \u6307\u4E0D\u56DE\u4EFB\u4F55\u771F\u5B9E\u6587\u4EF6\u2014\u2014\u8C41\u514D\u4E00\u6761\u7528\u4F8B\u7B49\u4E8E\u628A\u5B83\u79FB\u51FA\u5206\u6BCD\uFF0C\u6240\u4EE5\u8BC1\u636E\u5FC5\u987B\u662F\u53EF\u590D\u6838\u7684\uFF1Asource/ \u4E0B\u7684 file:line\uFF08\u5982 tests/win32.c:88 #ifdef _WIN32\uFF09\u3001CI \u914D\u7F6E\u7684\u5E73\u53F0\u77E9\u9635\u6392\u9664\u9879\uFF0C\u6216\u4E0A\u6E38 issue \u94FE\u63A5\u3002\u5199\u4E0D\u51FA\u8BC1\u636E\u7684\uFF0C\u8BF4\u660E\u5B83\u5176\u5B9E\u8BE5\u8DD1\u3002`),i.length>0){let a=n.map(u=>String(u?.name??"")).filter(u=>u&&!i.some(c=>Zt(c,u)));a.length>0&&r.push(`test_run.exemptions \u91CC ${a.slice(0,5).join("\u3001")}${a.length>5?" \u7B49":""} \u4E0D\u5728 02-baseline.json \u7684\u5FC5\u8DD1\u540D\u518C\u91CC\u2014\u2014\u8C41\u514D\u4E00\u4E2A\u540D\u518C\u5916\u7684\u7528\u4F8B\u6CA1\u6709\u610F\u4E49\uFF0C\u591A\u534A\u662F\u540D\u5B57\u5199\u9519\u4E86\uFF08\u540D\u518C\u7528\u4F8B\u540D\u987B\u4E0E run_command \u8F93\u51FA\u4E00\u5B57\u4E0D\u5DEE\uFF09\u3002`)}return r}},Sv={id:"load-contract-consistent",when:e=>e.schemaKey==="adapt"&&["built-and-verified","built-pending-verification"].includes(String(e.json.status??"")),check:e=>{let t=e.workspaceRoot,n=new Map;for(let l of ur(e.json.artifacts)){let p=ue(t,l);if(!A.existsSync(p))continue;let f=As(p);f&&n.set(p,f)}for(let{path:l,cls:p}of Ol(t))n.set(l,p);if(n.size===0)return[];let{ecosystem:r,host:s,form:i}=(()=>{try{let l=JSON.parse(A.readFileSync(D.join(t,R,"manifest.json"),"utf8"));return{ecosystem:typeof l.ecosystem=="string"?l.ecosystem:null,host:typeof l.host_runtime=="string"?l.host_runtime:null,form:typeof l.delivery_form=="string"?l.delivery_form:null}}catch{return{ecosystem:null,host:null,form:null}}})(),o=(typeof e.json.host_runtime=="string"?e.json.host_runtime:null)??s,a=(typeof e.json.ecosystem=="string"?e.json.ecosystem:null)??r,u=(typeof e.json.delivery_form=="string"?e.json.delivery_form:null)??i,c=vt(o,a,u),d=[];for(let[l,p]of[...n].sort((f,g)=>f[0].localeCompare(g[0]))){let f=D.relative(t,l).split(D.sep).join("/"),g=a==="nodejs"||a==="node"?f.startsWith("dist/lib/electron/")||f.startsWith("harmony-demo-electron/")?"electron-oh":f.startsWith("dist/lib/node/")?"device-node":c:c,h=Ve(g),m=h.contract[p];if(!m)continue;let _=D.relative(t,l)||D.basename(l),y=Rl(l),S=Es(l);if(y&&m.requireUndefAny){let{prefixes:b,why:E}=m.requireUndefAny;[...y].some(k=>b.some(j=>k.startsWith(j)))||d.push(`${h.label} \u5951\u7EA6\uFF1A\u4EA7\u7269 ${_} \u7684 .dynsym \u91CC\u6CA1\u6709\u4EFB\u4F55 ${b.join(" / ")} \u672A\u5B9A\u4E49\u7B26\u53F7\u2014\u2014${E}`)}if(y)for(let b of m.forbidUndef??[]){let E=[...y].filter(k=>k.startsWith(b.prefix));E.length!==0&&d.push(`${h.label} \u5951\u7EA6\uFF1A\u4EA7\u7269 ${_} \u7684 .dynsym \u91CC ${b.prefix}* \u4ECD\u662F\u672A\u5B9A\u4E49\uFF08${E.length} \u4E2A\uFF0C\u5982 ${E.slice(0,3).join("\u3001")}\uFF09\u2014\u2014${b.why}`)}for(let b of m.forbidNeeded??[])S?.includes(b.soname)&&d.push(`\u4EA7\u7269 ${_} \u7684 DT_NEEDED \u542B ${b.soname}\u2014\u2014${b.why}\u3002\u8FD9\u6761\u5728\u94FE\u63A5\u671F\u4E0E\u88C5\u673A\u671F\u90FD\u4E0D\u62A5\u9519\uFF0C\u53EA\u5728\u8BBE\u5907 dlopen \u65F6\u5931\u8D25`);if(m.forbidInterp){let b=jl(l),E=b?m.forbidInterp.find(k=>k.path===b):void 0;E&&d.push(`\u4EA7\u7269 ${_} \u7684 PT_INTERP=${b}\u2014\u2014${E.why}`)}}return d}},kv=/(旧(?:的|版)?|原来|先前|之前|原始|剥离|去掉|去除|移除|减少|更小)[^"。,;]{0,24}(HNP|环境|二进制|库|\.so)[^"。,;]{0,40}(通过|正常|成功|不崩|PASS|OK|936)|(新(?:的|版)?|当前|全量|完整|加上|增加|额外|更多)[^"。,;]{0,24}(HNP|环境|二进制|库|\.so)[^"。,;]{0,40}(崩溃|SIGABRT|异常|失败|SIGSEGV|rc=-2|崩)/i,Dv={id:"attribution-masking-open-defect",when:e=>e.schemaKey==="adapt",check:e=>{let n=Pn(e.json).filter(r=>{if(String(r.attribution??"")!=="testenv-limited")return!1;let s=String(r.evidence??"");return kv.test(s)});return n.length===0?[]:[`failures[] \u91CC ${n.slice(0,5).map(r=>`\u300C${String(r.name??"?")}\u300D`).join("\u3001")}${n.length>5?" \u7B49":""} \u5F52\u56E0 testenv-limited\uFF0C\u4F46 evidence \u663E\u793A\u300C\u65E7/\u66F4\u5C0F\u73AF\u5883\u901A\u8FC7\u3001\u65B0/\u5168\u91CF\u73AF\u5883\u5D29\u6E83\u300D\u2014\u2014\u5DEE\u5F02\u53D8\u91CF\u5728\u4EA4\u4ED8\u7269\u914D\u7F6E\uFF08LD_LIBRARY_PATH \u8303\u56F4 / \u4F9D\u8D56\u95ED\u5305 / \u6253\u5305\u5185\u5BB9\uFF09\uFF0C\u4E0D\u662F\u5E73\u53F0\u6C99\u7BB1\u9650\u5236\u3002\u8FD9\u7C7B\u5E94\u5F52 **open-defect**\uFF08\u4EA4\u4ED8\u7269\u7F3A\u9677\uFF09\uFF1A\u4FEE\u7684\u662F HNP \u6253\u5305/\u4F9D\u8D56\u7F16\u6392\uFF0C\u4E0D\u662F\u8C41\u514D\u3002\u5F52\u56E0\u6863\u4F4D\u51B3\u5B9A\u300C\u5F80\u54EA\u4FEE\u300D\u2014\u2014\u628A\u53EF\u4FEE\u590D\u7F3A\u9677\u5224\u6210\u5E73\u53F0\u9650\u5236 = \u653E\u5F03\u4FEE\u590D\uFF08poco \u5B9E\u8BC1\uFF1AFoundation 11 \u6761\u9759\u6001\u521D\u59CB\u5316\u5D29\u6E83\u88AB\u5F52 testenv-limited\uFF0C3 \u8F6E\u4FEE\u590D\u5931\u8D25\u540E\u624D\u7531 pc-03-dev-verify \u7EA0\u6B63\u4E3A open-defect\uFF09\u3002\u5206\u8BCA\u7A0B\u5E8F\u89C1 enum-semantics \u7684 test_run.failures[].attribution \u8282\u3002`]}},Ev={id:"runtime-asset-probe-closed",when:e=>e.schemaKey==="adapt"&&["built-and-verified","built-pending-verification"].includes(String(e.json.status)),check:e=>{let n=(Array.isArray(e.json.runtime_assets)?e.json.runtime_assets:[]).filter(r=>String(r?.probe_status??"")==="pending");return n.length===0?[]:[`runtime_assets[] \u91CC ${n.slice(0,5).map(r=>`\u300C${String(r?.family??"?")}\u300D`).join("\u3001")}${n.length>5?" \u7B49":""} \u7684 probe_status=pending\uFF0C\u800C\u672C\u9636\u6BB5\u5DF2\u81EA\u62A5 status=${String(e.json.status)}\u2014\u2014\u58F0\u660E\u4E86\u8FD0\u884C\u65F6\u6570\u636E\u4F9D\u8D56\u5374\u4EE5\u300C\u63A2\u9488\u672A\u6267\u884C\u300D\u6536\u5C3E = \u628A\u6570\u636E\u7F3A\u5931\u7684\u9759\u9ED8\u964D\u7EA7\u5E26\u8FDB\u7EC8\u6001\u3002\u6570\u636E\u53EF\u8FBE\u6027\u662F\u80FD\u529B\u53EF\u7528\u7684\u524D\u63D0\uFF08\u5982 CA \u4FE1\u4EFB\u5E93\u7F3A\u5931\u4F1A\u8BA9 TLS \u9759\u9ED8\u5931\u8D25\u3001\u4EE3\u7406 403 \u53EA\u662F\u8868\u8C61\uFF09\uFF1A\u8981\u4E48\u968F\u5305\u6570\u636E\uFF08HNP share/ + \u73AF\u5883\u81EA\u4E3E\uFF09\u540E\u8865\u4E09\u6BB5\u5F0F\u63A2\u9488\uFF08\u6570\u636E\u53EF\u8FBE/\u80FD\u529B\u771F\u5B9E/\u884C\u4E3A\u5DEE\u5206\uFF0C\u6A21\u677F\u89C1 pc-test-design case-design-methods \xA76\uFF09\uFF0C\u8981\u4E48\u628A\u8BE5\u6570\u636E\u4F9D\u8D56\u964D\u7EA7\u4E3A\u663E\u5F0F not-required \u5E76\u9644\u7406\u7531\u3002\u7EC8\u6001\u4E0D\u5141\u8BB8\u300C\u63A2\u9488\u6CA1\u8DD1\u300D\u4E0E built-* \u72B6\u6001\u5171\u5B58\u3002`]}},Av=/(?:-D([A-Za-z_]\w*)\s*=\s*(?:OFF|FALSE|NO|0)\b|--(?:disable|without)-([a-z][\w-]*))/gi,rp=e=>e.toLowerCase().replace(/[^a-z0-9]/g,""),wv={id:"build-flags-disable-declared-domain",when:e=>e.schemaKey==="adapt"&&Array.isArray(e.json.build_commands),check:e=>{let t=je(e.workspaceRoot,"01-scan.json"),n=Array.isArray(t?.capability_dependencies)?t?.capability_dependencies:[],r=new Map;for(let a of n){let u=String(a?.domain??"");u&&r.set(rp(u),u)}if(r.size===0)return[];let s=e.json.build_commands.map(a=>String(a)).join(`
265
+ `),i=new Map;for(let a of s.matchAll(Av)){let u=r.get(rp(a[1]??a[2]??""));u&&!i.has(u)&&i.set(u,a[0].trim())}return i.size===0?[]:[`build_commands \u7684\u5173\u95ED\u578B\u5F00\u5173\u628A scan \u5DF2\u58F0\u660E\u7684\u80FD\u529B\u57DF\u7F16\u8BD1\u51FA\u53BB\u4E86\uFF1A${[...i.entries()].map(([a,u])=>`${a}\uFF08${u}\uFF09`).join("\u3001")}\u2014\u2014\u9636\u6BB5 1 \u5224\u8FC7\u8BE5\u80FD\u529B\u300C\u9E3F\u8499\u6709\u300D\uFF0C\u9636\u6BB5 3 \u4E00\u4E2A\u5F00\u5173\u628A\u5B83\u53D8\u300C\u6CA1\u6709\u300D\uFF0C\u4E0B\u6E38\u4F9D\u8D56\u5B83\u7684 PRD \u529F\u80FD\u70B9\u53EA\u80FD blocked\uFF0Ccoverage.capability_gaps \u4F1A\u8BB0\u4E0B\u4E00\u6761\u81EA\u6B8B\u5F0F\u7F3A\u53E3\uFF08\u67D0\u5E93\u5B9E\u8BC1\uFF1A-DNETWORK=OFF \u5173\u6389 scan \u5DF2\u5224 available \u7684 network \u57DF\uFF0CF-06-03 ICY \u6D41\u5143\u6570\u636E\u53EA\u80FD blocked\uFF09\u3002\u8981\u4E48\u53BB\u6389\u8BE5\u5F00\u5173\u4FDD\u7559\u80FD\u529B\uFF1B\u786E\u9700\u88C1\u526A\u65F6\u5728 notes \u5199\u660E\u300C\u4E3B\u52A8\u88C1\u526A + \u53D7\u5F71\u54CD\u529F\u80FD\u70B9\u6E05\u5355\u300D\u5E76\u540C\u6B65\u4E0B\u8C03 PRD/\u540D\u518C\u9884\u671F\u2014\u2014\u522B\u8BA9\u81EA\u6B8B\u7F3A\u53E3\u4EE5\u300C\u5E73\u53F0\u6CA1\u6709\u300D\u7684\u540D\u4E49\u8FDB capability_gaps\u3002`]}},Cv={id:"scope-out-coverage-consistent",when:e=>e.schemaKey==="adapt"&&e.json.target_path_covered==="covered",check:e=>{let t=je(e.workspaceRoot,"01-scan.json");if(!t)return[];let n=t.harmony_adaptation,r=(Array.isArray(n?.blockers)?n.blockers:[]).filter(d=>["partial","unadaptable"].includes(String(d?.adaptability??""))),s=Array.isArray(n?.unadaptable_apis)?n.unadaptable_apis:[];if(r.length===0&&s.length===0)return[];let i=t.prd,a=(Array.isArray(i?.scope_out)?i.scope_out.map(d=>String(d)):[]).join(`
266
+ `).toLowerCase(),u=d=>(d.toLowerCase().match(/[a-z][a-z0-9_.-]{3,}/g)??[]).filter(l=>!/^\d+$/.test(l)),c=[];for(let d of r){let l=String(d?.id??"");a.length>0&&(l!==""&&a.includes(l.toLowerCase())||u(String(d?.issue??"")).some(f=>a.includes(f)))||c.push(l!==""?`${l}\uFF08${String(d?.adaptability)}\uFF09`:String(d?.issue??"").slice(0,40))}for(let d of s){let l=String(d?.api??"");a.length>0&&u(l).some(f=>a.includes(f))||c.push(`unadaptable: ${l.slice(0,40)}`)}return c.length===0?[]:[`scan \u5224\u4E86 ${c.slice(0,5).join("\u3001")} \u7B49 partial/unadaptable \u963B\u585E\uFF0C\u4F46 prd.scope_out \u672A\u6536\u7F16\uFF0C\u800C\u672C\u9636\u6BB5\u81EA\u62A5 target_path_covered=covered\u2014\u2014\u300C\u51FA\u8303\u56F4\u300D\u4E0E\u300C\u5168\u8986\u76D6\u300D\u4E8C\u9009\u4E00\uFF0C\u4E0D\u8BB8\u4E24\u5934\u90FD\u4E0D\u843D\uFF1A\u8981\u4E48\u628A\u53D7\u9650\u8DEF\u5F84\u663E\u5F0F\u5199\u8FDB 01-scan.json \u7684 prd.scope_out\uFF08\u5BF9\u5E94 blockers/unadaptable_apis\uFF0C\u9636\u6BB5 5 \u4E0D\u4E3A\u5B83\u751F\u6210\u7528\u4F8B\uFF09\uFF0C\u8981\u4E48 target_path_covered \u5982\u5B9E\u5224 partial\u3002\u9760\u5F53\u8F6E\u88C1\u91CF\u51B3\u5B9A\u540C\u4E00\u5E73\u53F0\u9650\u5236\u7B97\u300C\u51FA\u8303\u56F4\u300D\u8FD8\u662F\u300C\u6CA1\u8986\u76D6\u300D\uFF0C\u4F1A\u8BA9\u540C\u4E00\u5E93\u5728\u4E0D\u540C\u8F6E\u5224\u51FA\u4E0D\u540C\u7EC8\u6001\uFF08\u67D0\u5E93 0.15.0 \u5B9E\u8BC1\uFF1A\u540C\u4E00 B-01\uFF0C\u4E00\u8F6E scope_out \u6536\u7F16\u5224 success\uFF0C\u4E00\u8F6E\u7559\u7A7A\u5224 partial\uFF09\u3002`]}},hp=new Set(["build",".hvigor","oh_modules","node_modules",".git","mapping","ohosTest",".idea",".preview","dist"]),Rv=new Set([".ets",".ts",".json",".json5"]),jv="helloelectron";function gp(e,t=3){if(t<0)return[];let n=[],r;try{r=A.readdirSync(e,{withFileTypes:!0})}catch{return[]}for(let s of r){if(!s.isDirectory()||hp.has(s.name))continue;let i=D.join(e,s.name);A.existsSync(D.join(i,"AppScope"))?n.push(i):n.push(...gp(i,t-1))}return n}function mp(e,t,n,r=6){if(r<0||n.files<=0)return;let s;try{s=A.readdirSync(e,{withFileTypes:!0})}catch{return}for(let i of s){if(n.files<=0)return;let o=D.join(e,i.name);if(i.isDirectory()){if(hp.has(i.name))continue;mp(o,t,n,r-1)}else Rv.has(D.extname(i.name).toLowerCase())&&(t.push(o),n.files--)}}function Fv(e){let t=[],n=[D.join(e,"AppScope","resources","base","element","string.json"),D.join(e,"electron","src","main","resources","base","element","string.json"),D.join(e,"electron","src","main","resources","en_US","element","string.json"),D.join(e,"electron","src","main","resources","zh_CN","element","string.json")];for(let r of n)try{let s=JSON.parse(A.readFileSync(r,"utf8").replace(/^\uFEFF/,""));for(let i of s.string??[])(i.name==="app_name"||i.name==="EntryAbility_label")&&i.value&&t.push({file:r,label:i.value})}catch{}return t}var xv={id:"hap-identity-foreign",when:e=>e.schemaKey==="adapt"&&e.json.delivery_form==="app",check:e=>{let t=[],n=typeof e.json.package_name=="string"?e.json.package_name:"",r=new Set(n.toLowerCase().split(/[^a-z0-9]+/).filter(a=>a.length>=3)),s=gp(e.workspaceRoot);if(s.length===0)return t;let i=new Set([jv,"opencode","marktext","joplin","yesplaymusic"]);for(let a of[...i])for(let u of r)(a===u||a.includes(u)||u.includes(a))&&i.delete(a);let o=[...i].map(a=>({token:a,re:new RegExp(`\\b${a}\\b`,"i")}));for(let a of s){if(r.size>0)for(let{file:d,label:l}of Fv(a))l.toLowerCase().split(/[^a-z0-9<>]+/).filter(g=>g.length>=2).some(g=>r.has(g))||t.push(`HAP \u5DE5\u7A0B\u5E94\u7528\u663E\u793A\u540D\u300C${l}\u300D\uFF08${D.relative(e.workspaceRoot,d)}\uFF09\u4E0E\u5305\u540D\u300C${n}\u300D\u65E0\u5171\u540C\u8BCD\u6839\u2014\u2014\u7591\u4F3C\u6574\u6587\u4EF6\u590D\u5236\u81EA\u5176\u4ED6\u5E94\u7528\u7684\u5DE5\u7A0B\u9057\u7559\uFF1B\u8BF7\u6309 pc-delivery-forms/references/forms/app.md \u7684\u54C1\u724C\u8D44\u6E90\u66FF\u6362\u6E05\u5355\u6539\u56DE\u672C\u5E94\u7528\u540D\uFF08EntryAbility_label/app_name\uFF0CAppScope+base+en_US+zh_CN \u5404\u4E00\u4EFD\uFF09`);if(o.length===0)continue;let u=[];mp(a,u,{files:600});for(let d of u){let l;try{l=A.readFileSync(d,"utf8").split(/\r?\n/)}catch{continue}for(let p=0;p<l.length;p++){for(let{token:f,re:g}of o)if(g.test(l[p])){t.push(`HAP \u5DE5\u7A0B\u5185\u51FA\u73B0\u5176\u4ED6\u6848\u4F8B\u5E94\u7528\u7684\u8EAB\u4EFD\u8BCD\u300C${f}\u300D\uFF08${D.relative(e.workspaceRoot,d)}:${p+1}\uFF1A${l[p].trim().slice(0,120)}\uFF09\u2014\u2014\u5E94\u7528\u8EAB\u4EFD\uFF08\u6CE8\u91CA/\u5E38\u91CF\u540D/\u6587\u6848\uFF09\u4E0D\u968F\u6848\u4F8B\u6587\u4EF6\u590D\u5236\u8FC1\u79FB\uFF1B\u7167\u6284\u6848\u4F8B\u540E\u8BF7\u66FF\u6362\u4E3A\u672C\u5E94\u7528\u8EAB\u4EFD`);break}if(t.length>=12)return t}}}return t}},Ov=[wb,fv,hv,Dv,Ev,dv,pv,mv,_v,bv,...al,vv,Rb,jb,Fb,{id:"test-design-contract-audit",when:e=>e.schemaKey==="testcases",check:e=>ys(e.workspaceRoot,e.json)},xb,Ob,Nb,Ib,Tb,Bb,Mb,Ub,Hb,Kb,qb,zb,Gb,Wb,Jb,Yb,Zb,Cb,Qb,pb,ev,tv,nv,rv,W_,J_,Y_,Z_,X_,Q_,xv,eb,rb,sb,fb,hb,gb,db,mb,_b,Xb,kb,Db,Eb,wv,Cv,Sb,Sv,{id:"node-library-summary",when:e=>e.schemaKey==="summary"&&e.json.adaptation_status==="success",check:e=>Dn(e.workspaceRoot,3)},{id:"node-library-policy",when:e=>e.schemaKey==="scan",check:e=>nt(e.workspaceRoot)},{id:"node-library-case-hosts",when:e=>e.schemaKey==="baseline"||e.schemaKey==="testcases",check:e=>kn(e.workspaceRoot,e.schemaKey==="baseline"?3:6,e.json)},{id:"node-library-coverage",when:e=>e.schemaKey==="adapt"||e.schemaKey==="testdemo",check:e=>ks(e.workspaceRoot,e.schemaKey==="adapt"?3:6,e.json)},{id:"library-examples-reported",when:e=>e.schemaKey==="adapt"||e.schemaKey==="testdemo",check:e=>vl(e.workspaceRoot,e.schemaKey==="adapt"?3:6,e.json)}];function yp(e){let t=[];for(let n of Ov)try{if(!n.when(e))continue;t.push(...n.check(e))}catch{}return t}function $v(){let e=process.env.PC_ADAPT_KNOWLEDGE_ROOT;return e&&e.trim()?O.resolve(e.trim()):O.join(Pv.homedir(),".local","share","ohos-agent-pc-adapter","knowledge")}var Ct=$v(),ha=O.join(Ct,"memory"),vp=O.join(Ct,"registry"),Lv=O.join(Ct,"artifacts"),HE=O.join(Ct,"capability-domains");function Qt(e,t){try{return C(e)}catch{return t}}function ga(e,t){M.mkdirSync(O.dirname(e),{recursive:!0}),M.writeFileSync(e,JSON.stringify(t,null,2)+`
267
+ `)}function Xt(e){return String(e||"").trim().replace(/[\\/]+/g,"-").replace(/[:*?"<>|]+/g,"").replace(/\s+/g,"-").replace(/-+/g,"-").slice(0,80)||"entry"}function ya(){return new Date().toISOString()}function Nv(e){return`${["---",`name: ${e.name}`,`description: ${e.description.replace(/\n/g," ")}`,"metadata:",` type: ${e.type}`,e.sourceLib?` source_lib: ${e.sourceLib}`:"",e.sourceCommit?` source_commit: ${e.sourceCommit}`:"",e.relatesTo?` relates_to: ${e.relatesTo.replace(/\n/g," ")}`:"",e.possibleDuplicateOf?` possible_duplicate_of: ${e.possibleDuplicateOf.replace(/\n/g," ")}`:"",` proposed_at: ${e.proposedAt||ya()}`,"---",""].filter(n=>n!=="").join(`
268
+ `)}
269
+ ${e.body.trim()}
270
+ `}function Iv(e){let t=e.replace(/^/,"").replace(/\r\n/g,`
271
+ `),n=t.match(/^---\n([\s\S]*?)\n---/),r=n?n[1]:"",s=d=>{let l=r.match(new RegExp(`^\\s*${d}:\\s*(.+)$`,"m"));return l?l[1].trim():""},i=s("type")==="platform"?"platform":"adaptation",o=s("name"),a=s("description");if(!o||!a){let l=t.replace(/^---\n[\s\S]*?\n---\n?/,"").match(/^#+\s*(.+)$/m),p=l?l[1].trim():"";o||(o=p),a||(a=p)}let u=s("possible_duplicate_of"),c=s("relates_to");return{type:i,name:o||"entry",description:a||"",...u?{possibleDuplicateOf:u}:{},...c?{relatesTo:c}:{}}}function Tv(){for(let e of[O.join(ha,"platform"),O.join(ha,"adaptation"),vp,Lv])M.mkdirSync(e,{recursive:!0})}var Bv=["python","cpp","nodejs","rust","java","go","dotnet","other"];function Sp(e){return O.join(vp,`${e}.json`)}function Mv(e){return Qt(Sp(e),{})}var _p=["success","partial"],Hv=[/\b[A-Z][A-Z0-9]*(?:_[A-Z0-9]+)+\b/g,/\b[A-Za-z_][A-Za-z0-9_]*(?:::[A-Za-z_][A-Za-z0-9_]*)+/g,/\b[A-Z][a-z0-9]+(?:[A-Z][a-z0-9]+)+\b/g],bp=4e3,Qs=64*1024*1024;function Kv(e){let t=[],n=0,r=0,s=new Set,i=new Set([R,".git","node_modules","__pycache__",".bin"]),o=(a,u)=>{if(u>8||n>=bp||r>=Qs)return;let c;try{c=M.realpathSync(a)}catch{return}if(s.has(c))return;s.add(c);let d;try{d=M.readdirSync(a,{withFileTypes:!0})}catch{return}for(let l of d){if(n>=bp||r>=Qs)return;if(l.name.startsWith(".")||i.has(l.name))continue;let p=O.join(a,l.name),f;try{f=M.statSync(p)}catch{continue}if(f.isDirectory()){o(p,u+1);continue}if(!(!f.isFile()||f.size>4*1024*1024))try{t.push(M.readFileSync(p,"latin1")),n++,r+=f.size}catch{}}};return o(e,0),{text:`${t.join(`
272
+ `)}
273
+ ${Uv()}`,files:n}}var Xs=null;function Uv(){if(Xs!==null)return Xs;let e=[],t=0,n=(r,s)=>{if(s>8||t>=Qs)return;let i;try{i=M.readdirSync(r,{withFileTypes:!0})}catch{return}for(let o of i){if(t>=Qs)return;if(o.name.startsWith(".")||o.name==="__pycache__")continue;let a=O.join(r,o.name);if(o.isDirectory()){n(a,s+1);continue}if(o.isFile()&&/\.(md|json|txt|ts|js|py|c|cc|cpp|h|hpp|sh|yaml|yml)$/i.test(o.name))try{let u=M.statSync(a);if(u.size>4*1024*1024)continue;e.push(M.readFileSync(a,"latin1")),t+=u.size}catch{}}};return n(ie,0),Xs=e.join(`
274
+ `),Xs}function qv(e,t){let n=new Set;for(let s of Hv)for(let i of e.matchAll(s)){let o=i[0];o.length<6||n.add(o)}let r=[];for(let s of n)if(t.includes(s)||r.push(s),r.length>=8)break;return r}function kp(e){let t=O.join(e,"knowledge","memory"),n=O.join(e,"knowledge","registry");M.mkdirSync(t,{recursive:!0}),M.mkdirSync(n,{recursive:!0});let r=Qt(O.join(e,"01-scan.json"),{}),s=Qt(O.join(e,"03-adapt.json"),{}),i=Qt(O.join(e,"04-summary.json"),{}),o=i.package_name||s.package_name||r?.library?.name||O.basename(O.dirname(e)),a=ya(),u=[];for(let P of ma(t).filter(x=>x.endsWith(".md")))try{let x=Iv(M.readFileSync(O.join(t,P),"utf8"));u.push({path:O.join(t,P),title:x.name,description:x.description,source:"workspace-pending",tier:0})}catch{}let c=0,d=[],l=Array.isArray(i.sediment_suggestions)?i.sediment_suggestions:[],p=String(i.adaptation_status??""),f=_p.includes(p),g=!f&&l.length>0?{count:l.length,status:p||"\u7F3A\u5931"}:void 0,h=[],m=[],_=new Set,y=f&&l.length>0?Kv(O.dirname(e)):{text:"",files:0},S=y.files>0;for(let P of f?l:[]){if(!P||!P.title||P.kind==="capability-domain")continue;if(la(JSON.stringify([P.title,P.summary,P.trigger]))){h.push(String(P.title));continue}let x=S?qv(`${P.title} ${P.summary||""}`,y.text):[];if(x.length>0){m.push(String(P.title));for(let xt of x)_.add(xt);continue}let xe=P.category==="platform"?"platform":"adaptation",ve=Xt(P.title),Ge=`${Xt(o)}-${ve}.md`,ge=typeof P.relates_to=="string"&&P.relates_to.trim()?P.relates_to.trim():void 0,Kn;try{let xt=zu(Vu(`${P.title} ${P.summary||""}`),{extraRoots:[{dir:ha,source:"personal",tier:1}],extraEntries:u.filter(bf=>O.basename(bf.path)!==Ge),limit:1})[0];xt&&xt.score>=2&&(Kn=xt.path.startsWith(ie)?O.relative(ie,xt.path):xt.path,d.push({title:String(P.title),of:Kn}))}catch{}let Sr=`${P.summary||""}
275
+
276
+ **\u9002\u7528\u573A\u666F**\uFF1A${P.trigger||"\u2014"}
277
+ `,_f=Nv({name:ve,description:P.title,type:xe,sourceLib:o,sourceCommit:r?.library?.commit||void 0,proposedAt:a,relatesTo:ge,possibleDuplicateOf:Kn,body:Sr});M.writeFileSync(O.join(t,Ge),_f),c++}let b=0;for(let P of f?l:[]){if(!P||P.kind!=="capability-domain")continue;let x=String(P.domain||"").trim();if(!x)continue;let xe=`# \u80FD\u529B\u57DF\uFF1A${x}
278
+
279
+ > \u6765\u6E90\uFF1A${o} \u9002\u914D\u8F6E\u6B21\u7684\u73B0\u573A\u5224\u65AD\u6C89\u6DC0\uFF08${a}\uFF09\u3002**\u672C\u6587\u4EF6\u662F\u9AA8\u67B6**\u2014\u2014\u8BF7\u5728\u88AB\u4E0B\u4E00\u4E2A\u5E93\u5F15\u7528\u524D\u8865\u9F50\u5B9E\u6D4B\u7EC6\u8282\uFF1B\u5DF2\u9A8C\u8BC1\u7684\u65B9\u6848\u672C\u4F53\uFF08\u53EF\u7F16\u8BD1\u7684\u6E90\u7801/\u8865\u4E01\uFF09\u5E94\u653E solutions/ \u4E0B\uFF0C\u672C\u6587\u4EF6\u53EA\u505A\u8DEF\u7531\u3002
280
+
281
+ ## \u80FD\u529B\u63CF\u8FF0
282
+
283
+ ${P.title||"\u2014"}
284
+
285
+ ## \u9E3F\u8499\u72B6\u6001
286
+
287
+ ${P.summary||"\u2014"}
288
+
289
+ ## \u66FF\u6362\u65B9\u6848
290
+
291
+ ${P.replacement||P.summary||"\u2014"}
292
+
293
+ ## \u53EF\u884C\u6027\u5F71\u54CD
294
+
295
+ ${P.impact||"\u2014"}
296
+
297
+ ## \u5178\u578B\u5E93\u600E\u4E48\u63A5
298
+
299
+ ${P.trigger||"\u2014"}
300
+ `;M.mkdirSync(O.join(e,"knowledge","capability-domains"),{recursive:!0}),M.writeFileSync(O.join(e,"knowledge","capability-domains",`${Xt(x)}.md`),xe),b++}let E=Qt(O.join(e,"manifest.json"),{}),k=i.ecosystem||r?.library?.ecosystem||"other",j=0;if(_p.includes(p)){let P=i.adaptation_status==="success"?"adapted":"partial",x=typeof E.version=="string"&&E.version||r?.library?.version||void 0,xe={name:o,ecosystem:k,status:P,...x?{version:x}:{},reference_url:null,proposed_at:a},ve=O.join(n,k);M.mkdirSync(ve,{recursive:!0}),ga(O.join(ve,`${Xt(o)}.json`),xe),j=1}let T=Array.isArray(s.deps_built)?s.deps_built:[],K=new Set(Bv),le=new Map;for(let P of Array.isArray(E.library_closure)?E.library_closure:[]){let x=P;x&&typeof x.name=="string"&&typeof x.ecosystem=="string"&&x.ecosystem&&le.set(x.name,x.ecosystem)}for(let P of T){let x=P;if(!x||typeof x.name!="string"||x.name.length===0||x.build_status!=="pass"||x.status==="reuse")continue;let xe=le.get(x.name),ve=typeof x.ecosystem=="string"&&x.ecosystem?x.ecosystem:xe||(x.native_class==="native-lib"?"cpp":k),Ge=K.has(ve)?ve:"other",ge=typeof x.workspace_path=="string"?x.workspace_path.replace(/\\/g,"/"):"",Kn={name:x.name,ecosystem:Ge,status:"adapted",...typeof x.version=="string"&&x.version?{version:x.version}:{},...ge?{source_dist:O.posix.join(ge,"dist")}:{},reference_url:null,proposed_at:a},Sr=O.join(n,Ge);M.mkdirSync(Sr,{recursive:!0}),ga(O.join(Sr,`${Xt(x.name)}.json`),Kn),j++}return{memory:c,registry:j,...b>0?{capabilityDomains:b}:{},duplicates:d,...g?{skippedMemory:g}:{},...h.length>0?{skippedUnevidenced:{titles:h}}:{},...m.length>0?{skippedUnverifiable:{titles:m,idents:[..._]}}:{}}}function ma(e){try{return M.readdirSync(e).filter(t=>!t.startsWith("."))}catch{return[]}}function Vv(e){let t=[],n=[],r=(o,a)=>{if(a>4||n.length>=4)return;let u;try{u=M.readdirSync(o,{withFileTypes:!0})}catch{return}for(let c of u)c.name==="registry-staging.json"?n.push(O.join(o,c.name)):c.isDirectory()&&!c.name.startsWith(".")&&r(O.join(o,c.name),a+1)};r(e,0);let s=o=>{let a;try{a=M.openSync(o,"r")}catch{return!1}try{let u=Buffer.alloc(4);return M.readSync(a,u,0,4,0)===4&&u[0]===127&&u[1]===69&&u[2]===76&&u[3]===70}catch{return!1}finally{M.closeSync(a)}},i=o=>!/\.(so(\.\d+)*|a|o|lo|la|pc|h|hpp|json|md|txt|py|sh|version)$/i.test(o);for(let o of n){let a=Qt(o,{}),u=Array.isArray(a.registry_staging)?a.registry_staging:[],c=O.dirname(o),d=new Set;for(let p of u)if(Array.isArray(p.key_artifacts))for(let f of p.key_artifacts){if(typeof f!="string"||!f)continue;let g=O.resolve(c,f);d.add(g),M.existsSync(g)||t.push(`${o}: key_artifacts \u58F0\u660E\u7684 ${f} \u4E0D\u5728\u5236\u54C1\u6811\u2014\u2014\u574F\u58F0\u660E\uFF0C\u4E0B\u6E38\u6309\u56FE\u7D22\u9AA5\u4F1A\u843D\u7A7A`)}let l=(p,f)=>{if(f>6||t.length>=8)return;let g;try{g=M.readdirSync(p,{withFileTypes:!0})}catch{return}for(let h of g){if(t.length>=8)return;let m=O.join(p,h.name);if(h.isDirectory()){!h.name.startsWith(".")&&h.name!=="__pycache__"&&l(m,f+1);continue}!i(h.name)||d.has(m)||!s(m)||t.push(`${O.relative(e,m).replace(/\\/g,"/")}\uFF08ELF \u53EF\u6267\u884C\u7269\u672A\u8FDB registry-staging.json \u7684 key_artifacts\u2014\u2014\u5BF9\u4E0B\u6E38\u590D\u7528\u4E0D\u53EF\u89C1\uFF0C\u5224\u300C\u7EC4\u4EF6\u65E0\u6CD5\u83B7\u5F97\u300D\u524D\u5148\u6838\u5BF9\uFF1B\u786E\u8BA4\u8981\u4EA4\u4ED8\u5C31\u8865\u8FDB\u6E05\u5355\uFF09`)}};l(c,0)}return[...new Set(t)].slice(0,8)}function Dp(e){let t=O.join(e,R,"knowledge","registry");Tv();let n=(o,a)=>{let u=O.resolve(e,a.source_dist||"dist");if(!u.startsWith(O.resolve(e)+O.sep))return null;let c=!1;try{c=M.readdirSync(u).length>0}catch{return null}if(!c)return null;let d=["artifacts",o,Xt(a.name),Xt(a.version||"unversioned")],l=O.join(Ct,...d);return M.rmSync(l,{recursive:!0,force:!0}),M.mkdirSync(O.dirname(l),{recursive:!0}),M.cpSync(u,l,{recursive:!0}),{rel:d.join("/"),dest:l}},r=0,s=0,i=[];for(let o of ma(t)){let a=O.join(t,o);if(!M.statSync(a).isDirectory())continue;let u=Mv(o),c=0;for(let d of ma(a).filter(l=>l.endsWith(".json"))){let l=O.join(a,d),p=Qt(l,{name:""});if(p.name){try{let f=n(o,p);if(f){p.artifact_path=f.rel,s++;for(let g of Vv(f.dest))i.push(`[${p.name}] ${g}`)}}catch{}p.approved_at=ya(),u[p.name]=p,r++,c++}}c>0&&ga(Sp(o),u)}return{registry:r,artifacts:s,...i.length>0?{warnings:i}:{}}}function ei(){let e=(process.env.OHPT_VERIFY||"").trim().toLowerCase();if(e==="lightweight"||e==="off")return"lightweight";if(e==="agent"||e==="on")return"agent";try{let t=C(Oe);if(t.verify==="lightweight")return"lightweight";if(t.verify==="agent")return"agent"}catch{}return"agent"}var Gv="artifact-ledger.json";function Wv(e,t){try{let n=be.join(e,Gv),r={};try{r=C(n)}catch{}let s=$n.readFileSync(t);r[be.basename(t)]={sha256:zv("sha256").update(s).digest("hex"),size:s.length,registeredAt:new Date().toISOString()},$n.writeFileSync(n,JSON.stringify(r,null,2)+`
301
+ `)}catch{}}function Jv(e){let t=be.join(e,"manifest.json"),n=be.join(e,"01-scan.json");if(!$n.existsSync(t)||!$n.existsSync(n))return;let r=C(t),s=C(n),i=s.harmony_adaptation;i&&(r.delivery_form=i.delivery_form??null,i.host_runtime!==void 0&&(r.host_runtime=i.host_runtime??null));let o=s.library;o&&typeof o.ecosystem=="string"&&(r.ecosystem=o.ecosystem);let a=s.capability_dependencies;a&&(r.capability_domains=a.map(c=>c.domain).filter(Boolean));let u=s.library_closure;u&&(r.library_closure=u.nodes??[]),$n.writeFileSync(t,JSON.stringify(r,null,2)+`
302
+ `,"utf8")}function Ep(e){let{filePath:t,workspaceRoot:n}=e,r=be.basename(t),s=Je[r];if(!s)return{triggered:!1};if(!t.includes(R))return{triggered:!1};let i=n||process.cwd(),o=be.isAbsolute(t)?t:be.resolve(i,t);if(!$n.existsSync(o))return{triggered:!1};let a=wr({filePath:o,schemaKey:s,workspaceRoot:i}),u={triggered:!0,schemaKey:s,validation:a};if(a.valid){try{Wv(be.dirname(o),o)}catch{}try{if(s!=="manifest"){let c=e.host??ta();if(Jt({event:"stage_complete",host:c,workspaceRoot:i,stage:s}),s==="summary"||s==="testdemo"){let d=C(o),l=ea(i).created_at,p=l?Date.parse(l):NaN;Jt({event:"pipeline_complete",host:c,workspaceRoot:i,flushNow:!0,track:s==="summary"?"main":"test",status:String(d.adaptation_status??d.status??""),build_status:typeof d.build_status=="string"?d.build_status:null,total_duration_ms:Number.isFinite(p)?Date.now()-p:null})}}}catch{}if(s!=="manifest"){if(u.render=Uu({jsonFilePath:o,schemaKey:s}),s==="scan")try{Jv(be.dirname(o))}catch{}let c=[];if(s==="summary")try{let d=kp(be.dirname(o));for(let g of d.duplicates)c.push(`\u6C89\u6DC0\u5019\u9009\u300C${g.title}\u300D\u7591\u4F3C\u4E0E\u65E2\u6709\u77E5\u8BC6\u91CD\u590D\uFF08${g.of}\uFF09\u2014\u2014\u5DF2\u77E5\u8BA4\u77E5\u4E0D\u91CD\u590D\u6C89\u6DC0\u3002\u786E\u5C5E\u590D\u8FF0\u8BF7\u4ECE 04-summary.json \u7684 sediment_suggestions[] \u5220\u6389\u8BE5\u6761\uFF1B\u786E\u4E3A\u589E\u91CF\u5219\u4FDD\u7559\uFF0C\u7531\u7528\u6237\u5728 promote \u65F6\u51B3\u5B9A\u653E\u884C\uFF08\u9ED8\u8BA4\u8DF3\u8FC7\uFF09`);let l=be.dirname(o),p=String(C(o).adaptation_status??""),f=jn(l)?.verified===!0;if(d.registry>0&&p==="success"&&f)try{let g=Dp(be.dirname(l));c.push(`\u5DF2\u81EA\u52A8\u767B\u8BB0 ${g.registry} \u6761\u590D\u7528\u4EA7\u7269\u5165\u4E2A\u4EBA\u5E93\uFF08\u7269\u5316\u4EA7\u7269 ${g.artifacts} \u6761\uFF09\u2014\u2014\u72EC\u7ACB\u9A8C\u6536\u80CC\u4E66\u7684 success \u4EA7\u7269\u81EA\u52A8\u8FDB\u672C\u5730\u590D\u7528\u6E90\uFF0C\u4E0B\u8F6E scan \u672C\u5730\u4F18\u5148\u547D\u4E2D`);for(let h of g.warnings??[])c.push(`\u5236\u54C1\u6811\u5BF9\u8D26\uFF1A${h}`)}catch{c.push("\u590D\u7528\u4EA7\u7269\u81EA\u52A8\u767B\u8BB0\u5931\u8D25\uFF08\u4E0D\u963B\u585E\uFF09\u2014\u2014\u53EF\u624B\u52A8 `ohpt knowledge -p --registry-only` \u8865\u767B")}else d.registry>0&&c.push(`\u672C\u8F6E ${d.registry} \u6761\u5E93\u767B\u8BB0\u5019\u9009\u672A\u81EA\u52A8\u5165\u5E93\uFF08${p!=="success"?`adaptation_status=${p}`:"\u7F3A\u72EC\u7ACB\u9A8C\u6536\u80CC\u4E66/\u88C1\u51B3\u5DF2\u8FC7\u671F"}\uFF09\u2014\u2014\u786E\u8BA4\u65E0\u8BEF\u53EF\u624B\u52A8 \`ohpt knowledge -p --registry-only\``);d.memory>0&&c.push(`\u672C\u8F6E\u5DF2\u751F\u6210 ${d.memory} \u6761\u7ECF\u9A8C\u5019\u9009\uFF0C\u5F53\u524D\u53EA\u5728\u5DE5\u4F5C\u533A \`.ohos-adaptation-pc/knowledge/\`\u3002**\u6536\u5C3E\u65F6\u5FC5\u987B\u63D0\u793A\u7528\u6237\u8FD0\u884C \`ohpt knowledge -p\`** \u5171\u4EAB\u5230\u4E2A\u4EBA\u77E5\u8BC6\u5E93\uFF08\u7ECF\u9A8C\u7B14\u8BB0\u7531\u7528\u6237\u628A\u5173\uFF0C\u4E0D\u81EA\u52A8\u5165\u5E93\uFF09`),d.skippedMemory&&c.push(`adaptation_status=${d.skippedMemory.status}\uFF0C${d.skippedMemory.count} \u6761 sediment_suggestions **\u672A\u751F\u6210\u5019\u9009**\u2014\u2014\u672A\u9002\u914D\u7684\u8F6E\u6B21\u6CA1\u6709\u300C\u5DF2\u9A8C\u8BC1\u7684\u7ECF\u9A8C\u300D\uFF0C\u6C89\u6DC0\u53EA\u6536 success/partial\uFF08\u4E0E\u5E93\u767B\u8BB0\u540C\u4E00\u6761\u51C6\u5165\u7EBF\uFF09\u3002\u672C\u8F6E\u786E\u5DF2\u9A8C\u8BC1\u7684\u4E8B\u5B9E\u8BF7\u5199\u8FDB solution_overview / remaining_todos\uFF0C\u5B83\u4EEC\u540C\u6837\u4F1A\u968F\u62A5\u544A\u7559\u5B58\u3002`),d.skippedUnevidenced&&c.push(`${d.skippedUnevidenced.titles.map(g=>`\u300C${g}\u300D`).join("\u3001")} **\u672A\u751F\u6210\u5019\u9009**\u2014\u2014\u8BE5\u7ECF\u9A8C\u4EE5\u300C\u8BBE\u5907\u4FA7\u7F3A\u5C11\u67D0\u53EF\u6267\u884C\u300D\u4E3A\u524D\u63D0\uFF0C\u4F46\u5168\u6587\u65E0\u6807\u51C6\u4F4D\u7F6E\u63A2\u6D4B\u75D5\u8FF9\uFF08/data/service/hnp\u3001hnppublic\u3001\u5E94\u7528\u79C1\u6709 hnp/*/\u3001ohpt-agent env --runtime\uFF09\u3002\`which\` \u63A2\u4E0D\u5230\u2260\u4E0D\u5B58\u5728\uFF08git-lfs \u5B9E\u8BC1\uFF1A\u636E\u6B64\u65AD\u8A00\u8BBE\u5907\u65E0 git \u5E76\u9020 fake \u5B58\u6839\u62FF\u5230 7/7 PASS\uFF0C\u800C\u8BBE\u5907\u4E0A git 2.45.2 \u4E00\u76F4\u5728\uFF09\u3002\u8865\u63A2\u6D4B\u8BC1\u636E\u540E\u91CD\u5199\u8BE5\u6761\uFF0C\u6216\u6539\u5199\u4E3A\u4E0D\u4F9D\u8D56\u8BE5\u524D\u63D0\u7684\u8868\u8FF0\u3002`),d.skippedUnverifiable&&c.push(`${d.skippedUnverifiable.titles.map(g=>`\u300C${g}\u300D`).join("\u3001")} **\u672A\u751F\u6210\u5019\u9009**\u2014\u2014\u5176\u4E2D\u7684\u6807\u8BC6\u7B26 ${d.skippedUnverifiable.idents.map(g=>`\`${g}\``).join("\u3001")} \u5728\u5DE5\u4F5C\u533A\u5B9E\u7269\uFF08source/\u3001patches/\u3001build/ \u7B49\uFF09\u4E0E\u5185\u7F6E\u77E5\u8BC6\u5E93\u4E2D**\u4E24\u5904\u7686\u65E0**\u2014\u2014\u4E0D\u542B .ohos-adaptation-pc/ \u91CC\u672C\u8F6E\u7684\u81EA\u8FF0\u3002\u6C89\u6DC0\u7684\u4F9D\u636E\u53EA\u8BA4\u76D8\u4E0A\u5DF2\u6709\u7684\u4E1C\u897F\uFF0C\u4E0D\u80FD\u53EA\u843D\u5728\u53E6\u4E00\u6BB5\u81EA\u5DF1\u5199\u7684\u6587\u5B57\u91CC\u2014\u2014ctemplate \u5B9E\u8BC1\uFF1A\u4E0A\u6E38\u771F\u540D \`GetLastmodTime\` \u88AB\u5199\u6210 \`GetLastModTime\` \u5E76\u539F\u6837\u5165\u5E93\uFF0C\u4E0B\u4E00\u4E2A\u5E93\u68C0\u7D22\u5230\u5B83\u5C31\u4F1A\u7167\u7740\u4E00\u4E2A\u4E0D\u5B58\u5728\u7684\u7B26\u53F7\u6539\u4EE3\u7801\u3002\u6838\u5BF9\u62FC\u5199\u540E\u91CD\u5199\u8BE5\u6761\uFF1B\u786E\u5C5E\u65B0\u9020\u7684\u540D\u5B57\uFF08\u672C\u8F6E\u624D\u5F15\u5165\u7684\u5B8F/\u811A\u672C\uFF09\u8BF7\u5148\u843D\u5230\u5B9E\u7269\u91CC\u518D\u6C89\u6DC0\u3002`)}catch{}try{let d=C(o);c.push(...yp({schemaKey:s,json:d,workspaceRoot:be.dirname(be.dirname(o)),verifyMode:ei()}))}catch{}c.length>0&&(u.warnings=c)}}return u}import Ln from"node:fs";import J from"node:path";var Yv=Object.keys(Je).map(e=>e.replace(/\./g,"\\.")).join("|"),wp=R.replace(/\./g,"\\."),_a="[^\\s\"'`;|&<>()]",Zv=new RegExp(`(?:[A-Za-z]:)?${_a}*[\\\\/]${wp}[\\\\/](?:${Yv})`,"g");function Cp(e){let t=new Set;for(let n of e.matchAll(Zv)){let r=n[0],s=r.search(/(?:[A-Za-z]:)?[\\/]/);if(s<0)continue;let i=r.slice(s);J.isAbsolute(i)&&t.add(J.normalize(i))}return[...t]}var Xv="[^\\s\"'`;|&<>()\\\\/]",Qv=new RegExp(`(?:[A-Za-z]:)?${_a}*[\\\\/]${wp}(?!${Xv})`,"g"),ti=new RegExp(`\\bWORKSPACE=["']?((?:[A-Za-z]:)?[\\\\/]${_a}+)`,"g");function ba(e){ti.lastIndex=0;let t=ti.exec(e);if(ti.lastIndex=0,!t)return null;let n=t[1];return J.isAbsolute(n)?Rp(J.normalize(n)):null}function Rp(e){return e.length>1?e.replace(/[\\/]+$/,""):e}function pr(e){let t=new Set;for(let n of e.matchAll(Qv)){let r=n[0],s=r.search(/(?:[A-Za-z]:)?[\\/]/);if(s<0)continue;let i=r.slice(s);J.isAbsolute(i)&&t.add(J.dirname(J.normalize(i)))}for(let n of e.matchAll(ti)){let r=n[1];J.isAbsolute(r)&&t.add(Rp(J.normalize(r)))}return[...t]}function Ap(e){try{let t=Ln.statSync(e);return`${t.mtimeMs}:${t.size}`}catch{return null}}var eS=512,tS=64,nS=new Set(["node_modules","target",".git",".yarn","__pycache__",".venv"]),rS=6,sS=4e3;function iS(e){let t=0,n=0,r=null,s=(i,o)=>{if(o>rS)return!0;let a;try{a=Ln.readdirSync(i,{withFileTypes:!0})}catch{return!0}for(let u of a){if(++t>sS)return!1;if(u.isDirectory()){if(nS.has(u.name))continue;if(!s(J.join(i,u.name),o+1))return!1;continue}if(!u.isFile())continue;let c=J.join(i,u.name);try{let d=Ln.statSync(c);d.mtimeMs>n&&(n=d.mtimeMs,r=c)}catch{}}return!0};try{if(!Ln.statSync(e).isDirectory())return null}catch{return null}return s(e,0)?{stamp:`${n}:${t}`,newest:r}:null}var ni=class e{candidates=new Map;roots=new Set;subtrees=new Map;register(t){for(let n of t)J.isAbsolute(n)&&(this.candidates.has(n)||(this.candidates.set(n,null),this.prune()))}registerRoots(t){for(let n of t)if(J.isAbsolute(n)&&!this.roots.has(n))for(this.roots.add(n);this.roots.size>tS;){let r=this.roots.values().next().value;if(r===void 0)break;this.roots.delete(r)}}markFresh(t){J.isAbsolute(t)&&(this.candidates.set(J.normalize(t),Ap(t)),this.prune())}collectChanged(){for(let n of this.roots)for(let r of Object.keys(Je)){let s=J.join(n,R,r);this.candidates.has(s)||(this.candidates.set(s,null),this.prune())}let t=[];for(let[n,r]of this.candidates){let s=Ap(n);if(s===null){this.candidates.set(n,null);continue}s!==r&&(t.push(n),this.candidates.set(n,s))}return t}collectOwnedChanges(){let t=[],n=new Set;for(let r of W)for(let s of r.owns)n.add(s.split("/")[0]);for(let r of this.roots)for(let s of n){let i=J.join(r,s),o=`${i}${J.sep}`,a=iS(i),u=a===null?"":a.stamp,c=this.subtrees.get(o);this.subtrees.set(o,u),!(c===void 0||c===u)&&a?.newest&&t.push(a.newest)}return t}prune(){for(;this.candidates.size>eS;){let t=this.candidates.keys().next().value;if(t===void 0)break;this.candidates.delete(t)}}toJSON(){return Object.fromEntries(this.candidates)}rootsToJSON(){return[...this.roots]}subtreesToJSON(){return Object.fromEntries(this.subtrees)}static fromJSON(t,n,r){let s=new e;if(t&&typeof t=="object")for(let[i,o]of Object.entries(t))J.isAbsolute(i)&&s.candidates.set(i,typeof o=="string"?o:null);if(Array.isArray(n)&&s.registerRoots(n.filter(i=>typeof i=="string")),r&&typeof r=="object")for(let[i,o]of Object.entries(r))typeof o=="string"&&s.subtrees.set(i,o);return s}};function va(e){return J.join(J.dirname(e),"hook-state.json")}function Sa(e){try{let t=C(e);return ni.fromJSON(t.candidates,t.roots,t.subtrees)}catch{return new ni}}function ka(e,t){try{Ln.mkdirSync(J.dirname(e),{recursive:!0}),Ln.writeFileSync(e,JSON.stringify({version:1,candidates:t.toJSON(),roots:t.rootsToJSON(),subtrees:t.subtreesToJSON()},null,2)+`
303
+ `,"utf8")}catch{}}import mr from"node:path";import Gp from"node:fs";import ri from"node:fs";import jp from"node:path";var fr=e=>typeof e=="string"&&e.length>0&&!e.startsWith("/")&&!e.includes("\\")&&!/[\x00-\x1f\x7f]/.test(e)&&e.split("/").every(t=>t!==".."&&t!=="."&&t!=="");function si(e){let t=jp.join(ri.realpathSync(e),".ohos-adaptation-pc/remote-build/recipe.json");if(!ri.existsSync(t))return null;if(ri.realpathSync(t)!==jp.resolve(t))throw new Error("\u8FDC\u7A0B\u914D\u65B9\u4E0D\u80FD\u4F7F\u7528\u7B26\u53F7\u94FE\u63A5\u3002");let n=JSON.parse(ri.readFileSync(t,"utf8"));if(n.version!==1||Object.keys(n).some(r=>!["version","inputs","steps","outputs"].includes(r))||!Array.isArray(n.inputs)||!Array.isArray(n.steps)||!n.steps.length||n.steps.length>50||!Array.isArray(n.outputs)||!n.outputs.length||n.outputs.length>100)throw new Error("\u8FDC\u7A0B\u914D\u65B9\u683C\u5F0F\u65E0\u6548\u3002");for(let r of n.inputs)if(!fr(r)||r.split("/").some(s=>["node_modules",".git","dist","oh-signing","runtime-staging"].includes(s))||!/^(source|patches|build|deps|vendor|\.ohos-adaptation-pc\/remote-build\/inputs)(?:\/|$)/.test(r))throw new Error("\u914D\u65B9\u8F93\u5165\u5FC5\u987B\u662F\u5DE5\u4F5C\u533A\u5185\u660E\u786E\u7684 source/patches/build/deps/vendor \u6216 .ohos-adaptation-pc/remote-build/inputs \u5B50\u8DEF\u5F84\uFF08\u5747\u76F8\u5BF9\u4E8E\u5DE5\u4F5C\u533A\u6839\uFF09\u3002");for(let r of n.steps)if(!r||Object.keys(r).some(s=>!["cwd","argv"].includes(s))||r.cwd!=="."&&!fr(r.cwd)||!Array.isArray(r.argv)||!r.argv.length||r.argv.length>200||r.argv.some(s=>typeof s!="string"||s.length>16384||s.includes("\0")))throw new Error("\u914D\u65B9\u547D\u4EE4\u5FC5\u987B\u4E3A cwd \u548C argv \u6570\u7EC4\u3002");if(new Set(n.outputs).size!==n.outputs.length||n.outputs.some(r=>!fr(r)||!/\.(node|so)(\.\d+)*$/.test(r)))throw new Error("\u914D\u65B9\u8F93\u51FA\u5FC5\u987B\u4E3A\u552F\u4E00\u7684\u5DE5\u4F5C\u533A\u76F8\u5BF9 .node/.so \u8DEF\u5F84\u3002");return n}import Da from"node:fs";import oS from"node:os";import Ea from"node:path";import{createHash as aS}from"node:crypto";var Fp=["host","identityFile","workRoot","electronSrc","jobs","electronLine","expectedClangVersion","expectedSource","nodeBinary"],xp=["OHPT_REMOTE_HOST","OHPT_REMOTE_IDENTITY","OHPT_REMOTE_WORKROOT","OHPT_REMOTE_ELECTRON_SRC","OHPT_REMOTE_JOBS","OHPT_REMOTE_ELECTRON_LINE","OHPT_REMOTE_CLANG_VERSION","OHPT_REMOTE_TOOLCHAIN_SOURCE","OHPT_REMOTE_NODE_BINARY"],ze=e=>aS("sha256").update(e).digest("hex");function Op(e=process.env,t=oS.homedir()){let n={},r=Ea.join(t,".ohos-agent-pc-adapter","config.json");if(Da.existsSync(r)){let h;try{h=JSON.parse(Da.readFileSync(r,"utf8"))}catch{throw new Error("\u7528\u6237 config.json \u4E0D\u662F\u6709\u6548 JSON\u3002")}if(!h||typeof h!="object"||Array.isArray(h))throw new Error("\u7528\u6237 config.json \u6839\u5FC5\u987B\u4E3A\u5BF9\u8C61\u3002");if(h.remote!==void 0){if(!h.remote||typeof h.remote!="object"||Array.isArray(h.remote))throw new Error("remote \u914D\u7F6E\u5FC5\u987B\u4E3A\u5BF9\u8C61\u3002");n={...h.remote}}}if(Object.keys(n).some(h=>!Fp.includes(h)))throw new Error("remote \u5B58\u5728\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1B\u4EC5\u63A5\u53D7\u8FDE\u63A5\u5730\u5740\u3001\u79C1\u94A5\u8DEF\u5F84\u3001\u76EE\u5F55\u548C\u5DE5\u5177\u94FE\u9884\u671F\uFF0C\u4E0D\u63A5\u53D7\u53E3\u4EE4\u3001token \u6216\u79C1\u94A5\u5185\u5BB9\u3002");Fp.forEach((h,m)=>{e[xp[m]]!==void 0&&(n[h]=e[xp[m]])}),n.workRoot??="~/ohpt-remote",n.jobs??=2;let s=h=>{let m=n[h];if(typeof m!="string"||!m.trim()||/[\x00-\x1f\x7f]/.test(m))throw new Error(`remote.${h} \u7F3A\u5931\u6216\u65E0\u6548\u3002`);return m},i=s("host");if(!/^(?:[a-zA-Z0-9_][a-zA-Z0-9_.-]*@)?[a-zA-Z0-9_][a-zA-Z0-9_.-]*$/.test(i))throw new Error("remote.host \u5FC5\u987B\u4E3A SSH \u522B\u540D\u6216 user@hostname\uFF08\u7AEF\u53E3\u53EF\u5728 SSH config \u914D\u7F6E\uFF09\u3002");let o=h=>{let m=s(h);if(!(m.startsWith("/")||m.startsWith("~/"))||m.split("/").includes(".."))throw new Error(`remote.${h} \u5FC5\u987B\u4E3A\u7EDD\u5BF9\u8DEF\u5F84\u6216 ~/ \u8DEF\u5F84\uFF0C\u4E0D\u80FD\u5305\u542B ..\u3002`);return m},a=o("workRoot"),u=o("electronSrc");if(typeof n.jobs!="number"&&!(typeof n.jobs=="string"&&/^[1-9]\d*$/.test(n.jobs)))throw new Error("remote.jobs \u5FC5\u987B\u4E3A\u6574\u6570\u6216\u6574\u6570\u5B57\u7B26\u4E32\u3002");let c=Number(n.jobs);if(!Number.isSafeInteger(c)||c<1||c>64)throw new Error("remote.jobs \u5FC5\u987B\u4E3A 1\uFF5E64 \u7684\u6574\u6570\u3002");let d=s("electronLine");if(!/^e[1-9]\d*$/.test(d))throw new Error("remote.electronLine \u5E94\u4E3A e25/e37 \u7B49\u76EE\u6807\u7248\u672C\u7EBF\u3002");let l=s("expectedClangVersion");if(!/^\d+\.\d+\.\d+$/.test(l))throw new Error("remote.expectedClangVersion \u5FC5\u987B\u6307\u5B9A\u5B8C\u6574\u7248\u672C\u53F7\u3002");let p=s("expectedSource");if(p!=="electron-tree-llvm"&&p!=="sdk-ndk-llvm")throw new Error("\u5F53\u524D\u4EC5\u652F\u6301 electron-tree-llvm \u6216 sdk-ndk-llvm\uFF0C\u5176\u4ED6\u6765\u6E90\u4E0D\u9759\u9ED8\u56DE\u9000\u3002");let f;if(n.identityFile!==void 0){if(f=s("identityFile"),f.includes("PRIVATE KEY")||!(Ea.isAbsolute(f)||f.startsWith("~/")))throw new Error("identityFile \u53EA\u63A5\u53D7\u7EDD\u5BF9\u8DEF\u5F84\u6216 ~/ \u8DEF\u5F84\u3002");f.startsWith("~/")&&(f=Ea.join(t,f.slice(2)));try{if(!Da.statSync(f).isFile())throw new Error}catch{throw new Error("identityFile \u4E0D\u662F\u53EF\u7528\u7684\u6587\u4EF6\u8DEF\u5F84\u3002")}}return{nodeBinary:n.nodeBinary===void 0?void 0:o("nodeBinary"),host:i,identityFile:f,workRoot:a,electronSrc:u,jobs:c,electronLine:d,expectedClangVersion:l,expectedSource:p}}var ii=e=>ze(JSON.stringify(e));import jt from"node:fs";import Rt from"node:path";import dt from"node:fs";import en from"node:path";import Nn from"node:fs";import ye from"node:path";import cS from"node:fs";import uS from"node:path";function re(e,t,n,r){let s=uS.join(e,t);if(!cS.existsSync(s))return{exists:!1,valid:!1,data:null};let i=null;try{i=C(s)}catch{return{exists:!0,valid:!1,data:null,errorsBrief:"JSON \u89E3\u6790\u5931\u8D25"}}let o=wr({filePath:s,schemaKey:n,workspaceRoot:r});return{exists:!0,valid:o.valid,data:i,errorsBrief:o.valid?void 0:(o.errors||[]).slice(0,3).map(a=>`${a.path} ${a.message}`).join("; ")}}function oi(e){let t=ye.resolve(e),n=ye.join(t,".ohos-adaptation-pc"),r={applicable:!1},s=(h,m,_=[])=>({schema_version:"1.0",status:h,reason:m,eligibility:r,native_artifacts:_,capabilities:{preflight:!0,plan:!0,environment:!0,build:!0}}),i=re(n,"01-scan.json","scan",t);if(!i.valid||!i.data)return s("prerequisite-blocked","01-scan.json \u7F3A\u5931\u6216\u5951\u7EA6\u65E0\u6548\uFF0C\u8BF7\u5148\u5B8C\u6210\u626B\u63CF\u3002");let o=i.data.library;if(r.ecosystem=o.ecosystem,r.kind=o.kind,!["nodejs","node"].includes(o.ecosystem)||o.kind!=="library")return s("not-applicable","\u9636\u6BB5 7 \u4EC5\u9002\u7528\u4E8E Node.js PC \u4E09\u65B9\u5E93\uFF1B\u5176\u4ED6\u751F\u6001\u7684\u5E93\u53CA\u4EFB\u4F55\u5E94\u7528\u4E0D\u9002\u7528\u3002");let a=i.data.harmony_adaptation;if(a.feasibility==="infeasible")return s("prerequisite-blocked","\u5F53\u524D\u9002\u914D\u65B9\u6848\u4E0D\u53EF\u884C\uFF0C\u8FDC\u7A0B\u9636\u6BB5\u4E0D\u80FD\u7EE7\u7EED\u3002");if(a.delivery_form==="pure-runtime")return s("not-applicable","\u7EAF\u8FD0\u884C\u65F6\u5E93\u6CA1\u6709\u53EF\u91CD\u7F16\u7684\u539F\u751F\u6269\u5C55\u3002");if(a.delivery_form!=="native-extension")return s("not-applicable","\u5F53\u524D\u4EA4\u4ED8\u5F62\u6001\u4E0D\u662F Node.js \u539F\u751F\u6269\u5C55\u5E93\u3002");r.applicable=!0;let u=re(n,"03-adapt.json","adapt",t);if(!u.valid||!u.data)return s("prerequisite-blocked","03-adapt.json \u7F3A\u5931\u6216\u5951\u7EA6\u65E0\u6548\uFF0C\u8BF7\u5148\u5B8C\u6210\u9002\u914D\u3002");if(u.data.status!=="built-and-verified"||u.data.build_status!=="pass")return s("prerequisite-blocked","\u9002\u914D\u5C1A\u672A\u5B8C\u6210\uFF1A\u9700\u8981 built-and-verified \u4E14 build_status=pass\u3002");if(u.data.ecosystem!=="nodejs"||u.data.delivery_form!=="native-extension")return s("prerequisite-blocked","\u626B\u63CF\u4E0E\u9002\u914D\u62A5\u544A\u7684\u751F\u6001\u6216\u4EA4\u4ED8\u5F62\u6001\u4E0D\u4E00\u81F4\u3002");let c=Vt(n,"03-adapt.json");if(c)return s("prerequisite-blocked",c);let d=h=>/\.(node|so)(\.\d+)*$/i.test(h),l=new Set,p=1e4,f=Nn.realpathSync(t),g=(h,m=0)=>{if(--p<0||m>12)throw new Error("\u4EA7\u7269\u6E05\u5355\u8FC7\u5927\u6216\u76EE\u5F55\u8FC7\u6DF1\uFF0C\u8BF7\u660E\u786E\u5217\u51FA\u539F\u751F\u6269\u5C55\u6587\u4EF6\u3002");let _=ye.resolve(t,h);if(ye.isAbsolute(h)||!_.startsWith(t+ye.sep))throw new Error("\u4EA7\u7269\u8DEF\u5F84\u5FC5\u987B\u4F4D\u4E8E\u5DE5\u4F5C\u533A\u5185\u3002");if(!Nn.realpathSync(_).startsWith(f+ye.sep))throw new Error("\u4EA7\u7269\u94FE\u63A5\u6307\u5411\u5DE5\u4F5C\u533A\u5916\u3002");if(Nn.lstatSync(_).isSymbolicLink())return;let S=Nn.statSync(_);if(S.isDirectory())for(let b of Nn.readdirSync(_))["node_modules",".git"].includes(b)||g(ye.join(h,b),m+1);else if(S.isFile()&&S.size>0&&d(h))l.add(h.split(ye.sep).join("/"));else if(d(h))throw new Error(`\u58F0\u660E\u7684\u539F\u751F\u4EA7\u7269\u4E0D\u662F\u975E\u7A7A\u6587\u4EF6\uFF1A${h}`)};try{for(let h of u.data.artifacts??[]){let m=ye.resolve(t,h);if(ye.isAbsolute(h)||!m.startsWith(t+ye.sep))throw new Error("\u4EA7\u7269\u8DEF\u5F84\u5FC5\u987B\u4F4D\u4E8E\u5DE5\u4F5C\u533A\u5185\u3002");let _=ye.relative(t,m).split(ye.sep).join("/");d(_)?g(_):_==="dist"?g("dist/lib"):(_==="dist/lib"||_.startsWith("dist/lib/"))&&!ye.extname(_)&&g(_)}if(!Nn.statSync(ye.join(t,"source")).isDirectory())throw new Error("\u7F3A\u5C11 source/ \u6E90\u7801\u76EE\u5F55\u3002")}catch(h){return s("prerequisite-blocked",`\u672C\u5730\u4EA7\u7269\u6216\u6E90\u7801\u4E0D\u53EF\u7528\uFF1A${h.message}`)}return l.size?s("implementation-pending","\u672C\u5730\u524D\u7F6E\u6821\u9A8C\u901A\u8FC7\uFF1B\u53EF\u663E\u5F0F\u6267\u884C remote plan / remote env\uFF1B\u663E\u5F0F\u914D\u65B9\u53EF\u7EE7\u7EED push/build/fetch/verify\uFF1B\u672C\u673A\u4E0E\u8FDC\u7A0B\u4EA7\u7269\u5206\u522B\u4FDD\u7559\uFF0C\u4E0D\u64CD\u4F5C demo \u6216\u8BBE\u5907\u3002",[...l].sort()):s("prerequisite-blocked","\u58F0\u660E\u4E3A\u539F\u751F\u6269\u5C55\uFF0C\u4F46\u9002\u914D\u6E05\u5355\u4E2D\u6CA1\u6709\u5728\u76D8\u7684\u975E\u7A7A .node/.so \u4EA7\u7269\u3002")}function ai(e,t){let n=oi(e);if(n.status!=="implementation-pending")throw new Error(n.reason);let r=dt.realpathSync(en.resolve(e)),s=[],i=[],o=si(r),a=2e4,u=0,c=new Set,d=(y,S=0)=>{if(c.has(y))return;if(c.add(y),--a<0||S>30)throw new Error("\u8F93\u5165\u6E05\u5355\u8D85\u8FC7\u9650\u5236\uFF0C\u8BF7\u7F29\u5C0F\u6784\u5EFA\u8F93\u5165\u3002");let b=en.join(r,y),E=en.basename(y);if(["node_modules",".git","dist","CMakeFiles",".cache","oh-signing","runtime-staging","logs","test-results","coverage","node_gyp_bins"].includes(E)||/^cmake-build/.test(E)){i.push({path:y,reason:"\u7F13\u5B58\u6216\u751F\u6210\u76EE\u5F55"});return}if(dt.realpathSync(b)!==b)throw new Error(`\u8F93\u5165\u8DEF\u5F84\u5305\u542B\u7B26\u53F7\u94FE\u63A5\uFF1A${y}`);let k=dt.lstatSync(b);if(k.isSymbolicLink())throw new Error(`\u8F93\u5165\u542B\u7B26\u53F7\u94FE\u63A5\uFF1A${y}\uFF1B\u8BF7\u5148\u63D0\u4F9B\u660E\u786E\u7684\u5DE5\u4F5C\u533A\u5185\u8F93\u5165\u3002`);if(k.isDirectory()){if(dt.existsSync(en.join(b,"CMakeCache.txt"))){i.push({path:y,reason:"\u5DF2 configure \u7684\u76EE\u5F55\uFF1B\u7B2C\u4E09\u65B9\u4F9D\u8D56\u8BF7\u63D0\u4F9B tarball"});return}for(let j of dt.readdirSync(b).sort())d(`${y}/${j}`,S+1)}else if(k.isFile()){if(/\.(log|log\.\d+|previous)$/i.test(E)){i.push({path:y,reason:"\u8FD0\u884C\u65E5\u5FD7\u4E0D\u4F5C\u4E3A\u6784\u5EFA\u8F93\u5165"});return}if(!(!!o&&y.startsWith(".ohos-adaptation-pc/remote-build/inputs/")&&/\.a$/i.test(E))&&/\.(node|so|o|a|p12|pfx|pem|key|hap|app)(\.\d+)*$/i.test(E)||/^\.env/.test(E)){i.push({path:y,reason:"\u672C\u5730\u4EA7\u7269\u6216\u51ED\u636E\u4E0D\u4F5C\u4E3A\u6784\u5EFA\u8F93\u5165"});return}if(k.size>512*1024*1024)throw new Error(`\u5355\u4E2A\u8F93\u5165\u6587\u4EF6\u8FC7\u5927\uFF1A${y}`);if(u+=k.size,u>128*1024*1024)throw new Error("\u8F93\u5165\u8D85\u8FC7 128 MiB\uFF0C\u8BF7\u7F29\u5C0F\u6E05\u5355\u3002\u5F53\u524D\u7D2F\u8BA1\u6700\u5927\u6587\u4EF6\uFF1A"+[...s,{path:y,size:k.size}].sort((K,le)=>le.size-K.size).slice(0,5).map(K=>`${K.path} (${(K.size/1024/1024).toFixed(2)} MiB)`).join("\uFF1B"));let T=dt.readFileSync(b);s.push({path:y,size:T.length,mode:k.mode&511,sha256:ze(T)})}else throw new Error(`\u4E0D\u652F\u6301\u7684\u8F93\u5165\u7C7B\u578B\uFF1A${y}`)};for(let y of o?o.inputs:["source","patches","build"])if(dt.existsSync(en.join(r,y)))d(y);else if(o)throw new Error(`\u663E\u5F0F\u6784\u5EFA\u8F93\u5165\u7F3A\u5931\uFF1A${y}`);let l=i.find(y=>o?.inputs.includes(y.path));if(l)throw new Error(`\u663E\u5F0F\u6784\u5EFA\u8F93\u5165\u88AB\u6392\u9664\uFF1A${l.path}\uFF1B${l.reason}\u3002\u9884\u7F16\u8BD1\u9759\u6001\u4F9D\u8D56\u8BF7\u653E\u5165 .ohos-adaptation-pc/remote-build/inputs/ \u5E76\u5728\u914D\u65B9\u4E2D\u58F0\u660E\u3002`);s.sort((y,S)=>y.path<S.path?-1:y.path>S.path?1:0);let p=new Set(s.map(y=>y.path)),f=[{recipe:"node-gyp",entry:"source/binding.gyp"},{recipe:"cmake",entry:"source/CMakeLists.txt"}].filter(y=>p.has(y.entry)&&(!t||t===y.recipe)),g=f.length===1?f[0]:null,h=ze(JSON.stringify({files:s,execution:o})),m=JSON.parse(dt.readFileSync(en.join(r,".ohos-adaptation-pc/01-scan.json"),"utf8")),_=String(m.library.name).replace(/[^a-zA-Z0-9_.-]/g,"-").slice(0,60)||"library";return{schema_version:"1.0",status:o||g?"planned":"plan-blocked",execution_ready:!!o,reason:o?"\u663E\u5F0F\u8FDC\u7A0B\u914D\u65B9\u548C\u8F93\u5165\u5DF2\u56FA\u5B9A\uFF1B\u53EF\u6267\u884C remote push\u3002":g?"\u6784\u5EFA\u5165\u53E3\u5DF2\u8BC6\u522B\uFF1B\u9700\u8981\u663E\u5F0F remote-build/recipe.json \u624D\u80FD\u4E0A\u4F20\u6267\u884C\u3002":"\u672A\u627E\u5230\u552F\u4E00\u652F\u6301\u7684\u6784\u5EFA\u5165\u53E3\uFF1B\u652F\u6301 source/binding.gyp \u6216 source/CMakeLists.txt\uFF0C\u53EF\u7528 --recipe \u6D88\u6B67\u3002",workspace_key:`${_}-${ze(r).slice(0,8)}`,source_hash:h,execution:o??void 0,recipe:o?"explicit":g?.recipe??null,entry:g?.entry??null,files:s,excluded:i,expected_outputs:o?.outputs??n.native_artifacts,adapt_hash:ze(dt.readFileSync(en.join(r,".ohos-adaptation-pc/03-adapt.json")))}}var ci=String.raw`
304
+ import base64, hashlib, json, os, re, shutil, subprocess, sys, tempfile
305
+
306
+ def sha(data): return hashlib.sha256(data).hexdigest()
307
+ def file_hash(p):
308
+ h = hashlib.sha256()
309
+ with open(p, 'rb') as f:
310
+ for block in iter(lambda: f.read(1048576), b''): h.update(block)
311
+ return h.hexdigest()
312
+ def run(args, timeout=10):
313
+ return subprocess.run(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, timeout=timeout)
314
+ def expand(p): return os.path.realpath(os.path.expanduser(p))
315
+ def inspect(req):
316
+ root = expand(req['electronSrc'])
317
+ if not os.path.isdir(root): raise ValueError('electron-tree-missing')
318
+ candidates = []
319
+ for rel in ('ohos_sdk', 'src/ohos_sdk', 'src/third_party/ohos_sdk', 'third_party/ohos_sdk'):
320
+ p = os.path.join(root, rel)
321
+ if os.path.isdir(p): candidates.append(p)
322
+ if not candidates:
323
+ count = 0
324
+ for here, dirs, files in os.walk(root):
325
+ count += 1
326
+ if count > 20000: raise ValueError('sdk-search-limit')
327
+ dirs[:] = [d for d in dirs if d not in ('.git', 'node_modules', 'out')]
328
+ if os.path.relpath(here, root).count(os.sep) >= 5: dirs[:] = []
329
+ if os.path.basename(here) == 'ohos_sdk': candidates.append(here); dirs[:] = []
330
+ candidates = sorted(set(map(os.path.realpath, candidates)))
331
+ if len(candidates) != 1: raise ValueError('sdk-missing-or-ambiguous')
332
+ sdk = candidates[0]
333
+ if os.path.commonpath([root, sdk]) != root: raise ValueError('sdk-outside-electron-tree')
334
+ native = os.path.join(sdk, 'openharmony', 'native')
335
+ clang = os.path.join(native, 'llvm', 'bin', 'clang++')
336
+ readelf = os.path.join(native, 'llvm', 'bin', 'llvm-readelf')
337
+ if not os.path.isfile(clang) or not os.path.isfile(readelf): raise ValueError('llvm-missing')
338
+ for p in (clang, readelf, os.path.join(native, 'sysroot'), os.path.join(native, 'oh-uni-package.json')):
339
+ if os.path.commonpath([root, os.path.realpath(p)]) != root: raise ValueError('toolchain-outside-electron-tree')
340
+ version_run = run([clang, '--version'])
341
+ if version_run.returncode: raise ValueError('clang-version-failed')
342
+ version = version_run.stdout.splitlines()[0]
343
+ match = re.search(r'clang version (\d+\.\d+\.\d+)', version)
344
+ if not match: raise ValueError('clang-version-unknown')
345
+ numeric = match.group(1)
346
+ commit = re.search(r'\b[0-9a-f]{40}\b', version)
347
+ package_path = os.path.join(native, 'oh-uni-package.json')
348
+ with open(package_path, 'r') as f: package = json.load(f)
349
+ sdk_version = str(package.get('version', ''))
350
+ api_version = str(package.get('apiVersion', ''))
351
+ if not sdk_version or not api_version: raise ValueError('sdk-version-missing')
352
+ markers = []
353
+ for p in (os.path.join(sdk, '.version'), os.path.join(root, '.version'), os.path.join(sdk, '.install')):
354
+ if os.path.isfile(p):
355
+ with open(p, 'rb') as f: markers.append({'file': os.path.relpath(p, root), 'sha256': sha(f.read(1048576))})
356
+ archive = any(os.path.isfile(os.path.join(p, 'llvm.tar.gz')) for p in (sdk, root, os.path.dirname(sdk)))
357
+ major = int(numeric.split('.')[0])
358
+ source = 'unknown'
359
+ if archive and any(m['file'].endswith('.version') for m in markers) and major >= 19 and 'OHOS' in version: source = 'electron-tree-llvm'
360
+ elif not archive and major == 15: source = 'sdk-ndk-llvm'
361
+ toolchain = {'clang_version': numeric, 'clang_banner': version, 'llvm_commit': commit.group(0) if commit else None,
362
+ 'sdk_version': sdk_version, 'api_version': api_version, 'source': source,
363
+ 'clang_sha256': file_hash(clang), 'sdk_relative': os.path.relpath(sdk, root), 'llvm_archive_present': archive, 'markers': markers}
364
+ toolchain['fingerprint'] = sha(json.dumps(toolchain, sort_keys=True).encode())
365
+ work = expand(req['workRoot']); existing = work
366
+ while not os.path.exists(existing): existing = os.path.dirname(existing)
367
+ disk = shutil.disk_usage(existing).free
368
+ memory = 0
369
+ try:
370
+ with open('/proc/meminfo') as f:
371
+ for line in f:
372
+ if line.startswith('MemTotal:'): memory = int(line.split()[1]) * 1024
373
+ except OSError: pass
374
+ node = expand(req['nodeBinary']) if req.get('nodeBinary') else shutil.which('node')
375
+ node_version = None
376
+ if node:
377
+ try:
378
+ node_result = run([node, '--version'])
379
+ if node_result.returncode == 0: node_version = node_result.stdout.strip()
380
+ except OSError: pass
381
+ facts = {'platform': sys.platform, 'arch': os.uname().machine, 'disk_free': disk, 'memory_total': memory,
382
+ 'cpus': os.cpu_count() or 1, 'node_version': node_version, 'toolchain': toolchain}
383
+ return facts, native, clang, readelf, work, root
384
+
385
+ def main(req):
386
+ facts, native, clang, readelf, work, root = inspect(req)
387
+ if req['mode'] == 'inspect': return {'ok': True, 'facts': facts}
388
+ tc = facts['toolchain']
389
+ if tc['fingerprint'] != req['probeToken']: raise ValueError('toolchain-changed-before-smoke')
390
+ if facts['platform'] != 'linux' or facts['arch'] != 'x86_64' or facts['disk_free'] < 15 * 1024**3 or facts['memory_total'] < 4 * 1024**3 or not facts['node_version']:
391
+ raise ValueError('environment-changed-before-smoke')
392
+ os.makedirs(work, exist_ok=True)
393
+ with tempfile.TemporaryDirectory(prefix='.ohpt-smoke-', dir=work) as tmp:
394
+ src = os.path.join(tmp, 'smoke.cc'); out = os.path.join(tmp, 'smoke.so')
395
+ with open(src, 'w') as f: f.write('#include <stdexcept>\nextern "C" int smoke() { try { throw std::runtime_error("smoke"); } catch (...) { return 1; } }\n')
396
+ compiled = run([clang, '--target=aarch64-linux-ohos', '--sysroot=' + os.path.join(native, 'sysroot'),
397
+ '-shared', '-fPIC', '-fexceptions', '-static-libstdc++', '-Wl,--build-id=sha1', src, '-o', out], 25)
398
+ if compiled.returncode:
399
+ detail = compiled.stderr[:3000].replace(root, '<electron-tree>').replace(tmp, '<smoke>').replace(os.path.expanduser('~'), '<home>')
400
+ return {'ok': False, 'error': 'smoke-compile-failed', 'detail': detail}
401
+ with open(out, 'rb') as f: header = f.read(64)
402
+ elf = len(header) >= 20 and header[:6] == b'\x7fELF\x02\x01' and int.from_bytes(header[16:18], 'little') == 3 and int.from_bytes(header[18:20], 'little') == 183
403
+ dynamic = run([readelf, '-d', out]); notes = run([readelf, '-n', out])
404
+ needed = re.findall(r'\(NEEDED\).*?\[(.*?)\]', dynamic.stdout)
405
+ build_id = re.search(r'Build ID:\s*([0-9a-f]+)', notes.stdout)
406
+ checks = {'elf_aarch64_shared': elf, 'static_cpp_runtime': dynamic.returncode == 0 and needed == ['libc.so'],
407
+ 'build_id': notes.returncode == 0 and build_id is not None}
408
+ return {'ok': all(checks.values()), 'checks': checks, 'needed': needed,
409
+ 'build_id': build_id.group(1) if build_id else None, 'error': None if all(checks.values()) else 'smoke-artifact-invalid'}
410
+ try:
411
+ request = json.loads(base64.b64decode(sys.argv[1]))
412
+ result = main(request)
413
+ except subprocess.TimeoutExpired:
414
+ result = {'ok': False, 'error': 'probe-command-timeout'}
415
+ except Exception as e:
416
+ # Avoid exporting remote paths, hostnames, or arbitrary exception text.
417
+ known = {'electron-tree-missing', 'sdk-search-limit', 'sdk-missing-or-ambiguous', 'sdk-outside-electron-tree',
418
+ 'llvm-missing', 'toolchain-outside-electron-tree', 'clang-version-failed', 'clang-version-unknown', 'sdk-version-missing',
419
+ 'toolchain-changed-before-smoke', 'environment-changed-before-smoke'}
420
+ result = {'ok': False, 'error': str(e) if str(e) in known else 'probe-metadata-unavailable'}
421
+ print(json.dumps(result))
422
+ `;var lS=ci.slice(0,ci.indexOf(`
423
+ try:
424
+ request =`))+String.raw`
425
+ import io, tarfile, signal, time, uuid, difflib
426
+
427
+ def atomic(p, value):
428
+ temp = p + '.tmp-' + uuid.uuid4().hex
429
+ with open(temp, 'w') as f: json.dump(value, f)
430
+ os.replace(temp, p)
431
+ def relative(p):
432
+ return isinstance(p, str) and p and not p.startswith('/') and '\\' not in p and all(x not in ('', '.', '..') for x in p.split('/'))
433
+ def contained(root, p):
434
+ if not relative(p): raise ValueError('invalid-relative-path')
435
+ full = os.path.join(root, p)
436
+ if os.path.commonpath([root, os.path.realpath(full)]) != root: raise ValueError('path-escape')
437
+ return full
438
+
439
+ def artifacts(req, job):
440
+ facts, native, clang, readelf, work, root = inspect(req)
441
+ if facts['toolchain']['fingerprint'] != req['toolchain_fp']: raise ValueError('toolchain-changed')
442
+ nm = os.path.join(native, 'llvm/bin/llvm-nm')
443
+ result = []; total_size = 0
444
+ for rel in req['plan']['execution']['outputs']:
445
+ p = contained(job, 'tree/' + rel)
446
+ if not os.path.isfile(p) or os.path.islink(p) or os.path.getsize(p) > 128*1024**2: raise ValueError('artifact-missing-or-too-large')
447
+ total_size += os.path.getsize(p)
448
+ if total_size > 128*1024**2: raise ValueError('artifacts-too-large')
449
+ with open(p, 'rb') as f: data = f.read()
450
+ elf = len(data) >= 64 and data[:6] == b'\x7fELF\x02\x01' and int.from_bytes(data[16:18], 'little') == 3 and int.from_bytes(data[18:20], 'little') == 183
451
+ dynamic = run([readelf, '-d', p]); notes = run([readelf, '-n', p]); symbols = run([nm, '-u', p])
452
+ needed = re.findall(r'\(NEEDED\).*?\[(.*?)\]', dynamic.stdout)
453
+ build_id = re.search(r'Build ID:\s*([0-9a-f]+)', notes.stdout)
454
+ undef = len(re.findall(r'\b(?:napi_|uv_)\w+', symbols.stdout))
455
+ linkers = sorted(set(x.decode() for x in re.findall(rb'Linker: LLD ([0-9]+\.[0-9]+\.[0-9]+)', data)))
456
+ checks = {'elf_aarch64_shared': elf, 'static_cpp_runtime': dynamic.returncode == 0 and needed == ['libc.so'],
457
+ 'no_undefined_napi_uv': symbols.returncode == 0 and undef == 0,
458
+ 'build_id': notes.returncode == 0 and build_id is not None,
459
+ 'target_linker': linkers == [req['expectedClangVersion']]}
460
+ result.append({'path': rel, 'size': len(data), 'sha256': sha(data), 'build_id': build_id.group(1) if build_id else '',
461
+ 'needed': needed, 'undef_napi_uv': undef, 'linker': linkers, 'checks': checks})
462
+ return result
463
+
464
+ def worker(req, job):
465
+ status = os.path.join(job, 'state.json')
466
+ try:
467
+ facts, native, clang, readelf, work, root = inspect(req)
468
+ if facts['toolchain']['fingerprint'] != req['toolchain_fp']: raise ValueError('toolchain-changed')
469
+ if facts['platform'] != 'linux' or facts['arch'] != 'x86_64' or facts['disk_free'] < 15*1024**3 or facts['memory_total'] < 4*1024**3 or not facts['node_version']: raise ValueError('environment-changed-before-build')
470
+ req['jobs'] = max(1, min(req['jobs'], facts['cpus'], facts['memory_total'] // (3*1024**3)))
471
+ tree = os.path.join(job, 'tree')
472
+ original = {}
473
+ for meta in req['plan']['files']:
474
+ p = contained(tree, meta['path'])
475
+ if not os.path.isfile(p) or file_hash(p) != meta['sha256']: raise ValueError('input-changed-before-build')
476
+ if meta['path'].startswith('source/') and meta['size'] <= 1024*1024:
477
+ with open(p, 'rb') as f: original[meta['path']] = f.read()
478
+ env = os.environ.copy()
479
+ node = expand(req['nodeBinary']) if req.get('nodeBinary') else shutil.which('node')
480
+ if not node: raise ValueError('node-missing')
481
+ env.update({'PATH': os.path.dirname(node) + ':' + os.path.join(native, 'llvm/bin') + ':' + env.get('PATH', ''),
482
+ 'OHOS_NDK': native, 'CC': os.path.join(native, 'llvm/bin/clang'), 'CXX': clang,
483
+ 'AR': os.path.join(native, 'llvm/bin/llvm-ar'), 'RANLIB': os.path.join(native, 'llvm/bin/llvm-ranlib'),
484
+ 'CFLAGS': '--target=aarch64-linux-ohos --sysroot=' + os.path.join(native, 'sysroot') + ' -fPIC',
485
+ 'CXXFLAGS': '--target=aarch64-linux-ohos --sysroot=' + os.path.join(native, 'sysroot') + ' -fPIC',
486
+ 'LDFLAGS': '-static-libstdc++ -Wl,--build-id=sha1', 'JOBS': str(req['jobs'])})
487
+ values = {'{workspace}': tree, '{ndk}': native, '{jobs}': str(req['jobs']), '{node}': node}
488
+ def substitute(arg):
489
+ for k, v in values.items(): arg = arg.replace(k, v)
490
+ return arg
491
+ deadline = time.monotonic() + 1800
492
+ with open(os.path.join(job, 'build.log'), 'wb') as log:
493
+ for step in req['plan']['execution']['steps']:
494
+ cwd = tree if step['cwd'] == '.' else contained(tree, step['cwd'])
495
+ argv = [substitute(a) for a in step['argv']]
496
+ child = subprocess.Popen(argv, cwd=cwd, env=env, stdout=log, stderr=log, start_new_session=True)
497
+ try:
498
+ while child.poll() is None:
499
+ if time.monotonic() >= deadline or log.tell() > 16*1024**2: raise subprocess.TimeoutExpired(argv, 1800)
500
+ time.sleep(.2)
501
+ if child.returncode: raise ValueError('build-command-failed')
502
+ finally:
503
+ # Also remove background descendants when the command exits.
504
+ try: os.killpg(child.pid, signal.SIGKILL)
505
+ except ProcessLookupError: pass
506
+ child.wait()
507
+ changes = []
508
+ for meta in req['plan']['files']:
509
+ p = contained(tree, meta['path'])
510
+ if not os.path.isfile(p) or file_hash(p) != meta['sha256']:
511
+ change = {'file': meta['path'], 'reason': 'uploaded-input-changed-during-build', 'merged': False}
512
+ if meta['path'] in original:
513
+ with open(p, 'rb') if os.path.isfile(p) else io.BytesIO() as f: updated = f.read(1024*1024)
514
+ try:
515
+ patch = ''.join(difflib.unified_diff(original[meta['path']].decode('utf8').splitlines(True), updated.decode('utf8').splitlines(True), fromfile='a/' + meta['path'], tofile='b/' + meta['path']))
516
+ if len(patch.encode()) <= 262144: change['candidate_patch'] = patch
517
+ except UnicodeError: pass
518
+ changes.append(change)
519
+ if changes:
520
+ atomic(status, {'status': 'needs-source-change', 'source_changes': changes, 'error': 'uploaded-input-changed-during-build'})
521
+ return
522
+ result = artifacts(req, job)
523
+ passed = bool(result) and all(all(a['checks'].values()) for a in result)
524
+ atomic(status, {'status': 'built' if passed else 'failed', 'artifacts': result,
525
+ 'error': None if passed else 'artifact-check-failed'})
526
+ except Exception as e:
527
+ atomic(status, {'status': 'failed', 'error': str(e) if isinstance(e, ValueError) else 'build-execution-failed'})
528
+
529
+ def dispatch(req):
530
+ base = expand(req['workRoot'])
531
+ if not re.fullmatch(r'[a-zA-Z0-9_.-]+', req['plan']['workspace_key']) or not re.fullmatch(r'[a-f0-9]{32}', req['run_id']): raise ValueError('invalid-run-id')
532
+ job = contained(base, req['plan']['workspace_key'] + '/' + req['run_id'])
533
+ mode = req['mode']
534
+ if mode == 'push':
535
+ os.makedirs(os.path.dirname(job), exist_ok=True)
536
+ if os.path.exists(job): raise ValueError('run-already-exists')
537
+ temp = job + '.upload'
538
+ os.mkdir(temp)
539
+ try:
540
+ tree = os.path.join(temp, 'tree'); os.mkdir(tree)
541
+ expected = {f['path']: f for f in req['plan']['files']}
542
+ seen = set(); total = 0
543
+ with tarfile.open(fileobj=sys.stdin.buffer, mode='r|') as archive:
544
+ for member in archive:
545
+ rel = member.name
546
+ if rel not in expected or rel in seen or not member.isfile(): raise ValueError('unexpected-upload-entry')
547
+ meta = expected[rel]; total += member.size
548
+ if member.size != meta['size'] or total > 128*1024**2: raise ValueError('upload-size-mismatch')
549
+ data = archive.extractfile(member).read()
550
+ if sha(data) != meta['sha256']: raise ValueError('upload-hash-mismatch')
551
+ p = contained(tree, rel); os.makedirs(os.path.dirname(p), exist_ok=True)
552
+ with open(p, 'xb') as f: f.write(data)
553
+ os.chmod(p, meta['mode'] & 0o777); seen.add(rel)
554
+ if seen != set(expected): raise ValueError('upload-incomplete')
555
+ for rel in req['plan']['execution']['outputs']:
556
+ if os.path.exists(contained(tree, rel)): raise ValueError('output-already-in-inputs')
557
+ atomic(os.path.join(temp, 'request.json'), req)
558
+ atomic(os.path.join(temp, 'state.json'), {'status': 'uploaded'})
559
+ os.rename(temp, job)
560
+ finally:
561
+ if os.path.exists(temp): shutil.rmtree(temp)
562
+ return {'status': 'uploaded'}
563
+ with open(os.path.join(job, 'request.json')) as f: saved = json.load(f)
564
+ for k in ('config_fp', 'toolchain_fp'):
565
+ if saved[k] != req[k]: raise ValueError('stale-run')
566
+ if saved['plan'] != req['plan']: raise ValueError('stale-plan')
567
+ if mode == 'worker': worker(saved, job); return {'ok': True}
568
+ with open(os.path.join(job, 'state.json')) as f: state = json.load(f)
569
+ if mode == 'build' and state['status'] == 'uploaded':
570
+ lock = os.path.join(job, 'start.lock')
571
+ try: os.mkdir(lock)
572
+ except FileExistsError: raise ValueError('start-in-progress')
573
+ try:
574
+ atomic(os.path.join(job, 'state.json'), {'status': 'building'})
575
+ script = os.path.join(job, 'worker.py')
576
+ with open(script, 'w') as f: f.write(req['runner'])
577
+ child = subprocess.Popen([sys.executable, script, os.path.join(job, 'request.json')],
578
+ stdin=subprocess.DEVNULL, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, start_new_session=True, close_fds=True)
579
+ atomic(os.path.join(job, 'worker.json'), {'pid': child.pid, 'started': time.time()})
580
+ state = {'status': 'building'}
581
+ except Exception:
582
+ atomic(os.path.join(job, 'state.json'), {'status': 'failed', 'error': 'worker-start-failed'})
583
+ raise
584
+ finally: os.rmdir(lock)
585
+ if state['status'] == 'building' and os.path.isfile(os.path.join(job, 'worker.json')):
586
+ with open(os.path.join(job, 'worker.json')) as f: owner = json.load(f)
587
+ try:
588
+ os.kill(owner['pid'], 0)
589
+ dead = False
590
+ if sys.platform == 'linux':
591
+ with open('/proc/' + str(owner['pid']) + '/stat') as f: dead = f.read().split(') ', 1)[1].startswith('Z')
592
+ except (ProcessLookupError, FileNotFoundError): dead = True
593
+ if dead:
594
+ # Re-read in case the worker completed between the initial read and exit check.
595
+ with open(os.path.join(job, 'state.json')) as f: state = json.load(f)
596
+ if state['status'] == 'building':
597
+ state = {'status': 'failed', 'error': 'worker-exited-without-result'}
598
+ atomic(os.path.join(job, 'state.json'), state)
599
+ if mode in ('fetch', 'verify'):
600
+ if state['status'] != 'built': raise ValueError('build-not-ready')
601
+ checked = artifacts(saved, job)
602
+ if checked != state.get('artifacts') or not all(all(a['checks'].values()) for a in checked): raise ValueError('artifact-changed-or-invalid')
603
+ if mode == 'fetch':
604
+ with tarfile.open(fileobj=sys.stdout.buffer, mode='w|', format=tarfile.USTAR_FORMAT) as archive:
605
+ for a in checked: archive.add(contained(job, 'tree/' + a['path']), arcname=a['path'], recursive=False)
606
+ return None
607
+ logfile = os.path.join(job, 'build.log')
608
+ if os.path.exists(logfile):
609
+ with open(logfile, 'rb') as f:
610
+ f.seek(max(0, os.path.getsize(logfile)-65536)); log = f.read().decode('utf8', 'replace')
611
+ for p in (expand(req['electronSrc']), base, os.path.expanduser('~')): log = log.replace(p, '<remote>')
612
+ log = re.sub(r'/Users/[^\s\"\']+', '<local-path>', log)
613
+ state['log_tail'] = log
614
+ return state
615
+ try:
616
+ if len(sys.argv) > 1:
617
+ with open(sys.argv[1]) as f: req = json.load(f)
618
+ req['mode'] = 'worker'
619
+ else: req = json.loads(sys.stdin.buffer.readline(16*1024**2))
620
+ response = dispatch(req)
621
+ if response is not None: print(json.dumps(response))
622
+ except Exception as e:
623
+ print(json.dumps({'status': 'failed', 'error': str(e) if isinstance(e, ValueError) else 'remote-operation-failed'}))
624
+ sys.exit(2)
625
+ `;function Pp(e,t){let n=JSON.parse(jt.readFileSync(Rt.join(e,".ohos-adaptation-pc/remote-build/session.json"),"utf8")),r=ai(e);if(n.config_fp!==ii(t)||n.plan.source_hash!==r.source_hash||n.plan.adapt_hash!==r.adapt_hash||!/^[a-f0-9]{32}$/.test(n.run_id))throw new Error("\u6E90\u7801\u3001\u914D\u65B9\u3001\u9002\u914D\u62A5\u544A\u6216\u8FDE\u63A5\u914D\u7F6E\u5DF2\u53D8\u5316\uFF1B\u8BF7\u91CD\u65B0 push\u3002");return n}var dS=["elf_aarch64_shared","static_cpp_runtime","no_undefined_napi_uv","build_id","target_linker"];function pS(e,t){if(!Array.isArray(e)||e.length!==t.expected_outputs.length||new Set(e.map(n=>n.path)).size!==e.length||e.some(n=>!t.expected_outputs.includes(n.path)||!Number.isSafeInteger(n.size)||n.size<1||!/^[a-f0-9]{64}$/.test(n.sha256)||!/^[a-f0-9]+$/.test(n.build_id)||!dS.every(r=>n.checks?.[r]===!0)))throw new Error("\u4EA7\u7269\u4E94\u9879\u9A8C\u6536\u4E0D\u5B8C\u6574\u6216\u5931\u8D25\u3002")}function fS(e,t,n,r){let s=jt.realpathSync(e),i=Rt.join(s,"dist/remote",t.electronLine,r);if(!i.startsWith(Rt.join(s,"dist/remote")+Rt.sep))throw new Error("\u975E\u6CD5\u843D\u4F4D\u8DEF\u5F84\u3002");let o=s;for(let a of Rt.relative(s,Rt.dirname(i)).split(Rt.sep))if(o=Rt.join(o,a),jt.existsSync(o)&&(jt.lstatSync(o).isSymbolicLink()||!jt.statSync(o).isDirectory()))throw new Error("\u4EA7\u7269\u7236\u76EE\u5F55\u4E0D\u80FD\u662F\u94FE\u63A5\u6216\u6587\u4EF6\u3002");return i}function $p(e,t,n){pS(n.artifacts,n.plan);for(let r of n.artifacts){let s=fS(e,t,n,r.path);if(jt.lstatSync(s).isSymbolicLink()||jt.statSync(s).size!==r.size||ze(jt.readFileSync(s))!==r.sha256)throw new Error("\u672C\u5730\u4EA7\u7269\u7F3A\u5931\u6216\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0 fetch\u3002")}}import Lp from"node:fs";import Np from"node:path";function Ip(e){let t=oi(e),n=(s,i)=>({stage:7,decision:s,reason:i,remote:t});if(t.status!=="implementation-pending")return n("block",t.reason);let r;try{r=Op()}catch{return n("ask","\u8BF7\u5728\u7528\u6237 config.json \u914D\u7F6E remote \u540E\u663E\u5F0F\u8FD0\u884C remote env\uFF1Bgate \u4E0D\u8FDE\u63A5\u670D\u52A1\u5668\u3002")}try{let s=JSON.parse(Lp.readFileSync(Np.join(e,".ohos-adaptation-pc/00-remote-env.json"),"utf8")),i=Date.now()-Date.parse(s.checked_at);if(s.config_fp!==ii(r)||!Number.isFinite(i)||i<0||i>30*60*1e3)return n("ask","\u8FDC\u7A0B\u73AF\u5883\u5FEB\u7167\u7F3A\u5931\u3001\u8FC7\u671F\u6216\u914D\u7F6E\u5DF2\u53D8\uFF1B\u8BF7\u8FD0\u884C remote env \u5237\u65B0\u3002");if(s.status!=="env-ready")return n(s.decision==="block"?"block":"ask","\u8FDC\u7A0B\u73AF\u5883\u672A\u901A\u8FC7\uFF1B\u8BF7\u67E5\u770B 00-remote-env.json \u7684\u7F3A\u5931\u9879\uFF0C\u4FEE\u590D\u540E\u91CD\u8DD1 remote env\u3002");if(!["ssh","platform","disk","memory","node","toolchain-metadata","toolchain-source","clang-version","cross-compile-smoke"].every(a=>s.checks?.some(u=>u.name===a&&u.ok===!0)))return n("ask","\u8FDC\u7A0B\u73AF\u5883\u5FEB\u7167\u68C0\u67E5\u9879\u4E0D\u5B8C\u6574\uFF0C\u8BF7\u91CD\u8DD1 remote env\u3002")}catch{return n("ask","\u7F3A\u5C11\u8FDC\u7A0B\u73AF\u5883\u5FEB\u7167\uFF0C\u8BF7\u663E\u5F0F\u8FD0\u884C remote env\u3002")}try{let s=Pp(e,r),i=JSON.parse(Lp.readFileSync(Np.join(e,".ohos-adaptation-pc/00-remote-env.json"),"utf8"));if(s.status==="verified"&&s.toolchain_fp===i.toolchain?.fingerprint)return $p(e,r,s),n("skip","\u8F93\u5165\u3001\u9002\u914D\u62A5\u544A\u3001\u5DE5\u5177\u94FE\u6307\u7EB9\u4E0E\u672C\u5730\u4EA7\u7269\u54C8\u5E0C\u5747\u672A\u53D8\u5316\uFF1B\u4EA7\u7269\u9A8C\u6536\u5DF2\u901A\u8FC7\uFF08\u4E0D\u4EE3\u8868\u8BBE\u5907\u590D\u9A8C\uFF09\u3002")}catch{}try{if(!si(e))return n("run","\u7F3A\u5C11\u914D\u65B9\uFF0C\u5148\u6267\u884C\u72EC\u7ACB\u8FDC\u7A0B\u51C6\u5907\u4E0E\u6821\u9A8C\uFF0C\u518D\u6267\u884C\u6784\u5EFA\u3002");if(!ai(e).execution_ready)return n("block","\u8BF7\u5148\u63D0\u4F9B remote-build/recipe.json \u663E\u5F0F\u8FDC\u7A0B\u914D\u65B9\u3002")}catch(s){return n("block",s.message)}return n("run","\u8FDC\u7A0B\u73AF\u5883\u548C\u914D\u65B9\u5DF2\u51C6\u5907\uFF0C\u53EF\u7EE7\u7EED push/build/fetch/verify\u3002")}import Up from"node:fs";import hS from"node:fs";import Tp from"node:path";function Bp(e){let t=process.env.USERPROFILE??process.env.HOME??"",n=[ie,...t?[".claude",".agents"].map(r=>Tp.join(t,r,"skills")):[]];for(let r of n)try{if(hS.statSync(Tp.join(r,e,"SKILL.md")).isFile())return!0}catch{}return!1}import Ft from"node:path";import Aa from"node:fs";import wa from"node:path";var Y=5,hr="verify-attempts",gr=2,Ca="port-attempts",Z=2,In="testdesign-attempts",Ra="testdemo-attempts",Tn=6,ui="baseline-attempts";function Ae(e,t){try{let n=parseInt(Aa.readFileSync(wa.join(e,t),"utf8").trim(),10);return Number.isFinite(n)&&n>=0?n:0}catch{return 0}}function Mp(e,t){try{Aa.writeFileSync(wa.join(e,t),String(Ae(e,t)+1)+`
626
+ `)}catch{}}function ja(e,t){try{let n=Ae(e,t);n>0&&Aa.writeFileSync(wa.join(e,t),String(n-1)+`
627
+ `)}catch{}}function gS(e=Oe){let t=(process.env.OHPT_APP_SIGNING||"").trim().toLowerCase();if(t==="manual")return{mode:"manual",source:"env"};if(t==="auto")return{mode:"auto",source:"env"};t&&console.error(`[signing-mode] OHPT_APP_SIGNING=${t} \u975E\u6CD5\uFF08manual|auto\uFF09\uFF0C\u5FFD\u7565\u2014\u2014\u56DE\u843D\u7528\u6237\u914D\u7F6E/\u9ED8\u8BA4 auto`);try{let n=C(e);if(n.appSigning==="manual")return{mode:"manual",source:"config"};if(n.appSigning==="auto")return{mode:"auto",source:"config"};typeof n.appSigning=="string"&&console.error(`[signing-mode] config.json appSigning=${n.appSigning} \u975E\u6CD5\uFF08manual|auto\uFF09\uFF0C\u5FFD\u7565\u2014\u2014\u56DE\u843D\u9ED8\u8BA4 auto`)}catch{}return{mode:"auto",source:"default"}}function Hp(){return gS().mode}import mS from"node:path";var yS=kr(Jo(),1);var _S="human-checkpoint.json";function bS(e){return mS.join(e,R,_S)}function Kp(e){try{let t=C(bS(e));return t&&t.type==="hap-package"?t:null}catch{return null}}var vS={render:"\u7A97\u53E3/\u4E0A\u5C4F\u5E93\u5FC5\u987B**\u771F\u673A\u88C5\u673A\u62C9\u8D77\u3001\u4EE5\u65E5\u5FD7\u5224\u5B9A**\uFF1A`ohpt-agent scaffold --kind python-gui-owb -w <ws>`\uFF08C/C++ GUI \u7528 cpp-gui-owb-demo\uFF0C\u5176\u4ED6\u5F62\u6001 --list\uFF09\u751F\u6210 demo \u5DE5\u7A0B\uFF0C\u518D `ohpt-agent verify-demo -w <ws>` \u6355\u83B7 demo-verify.json\uFF08launched/log_channel/GL \u8EAB\u4EFD\uFF1B\u622A\u56FE\u4EC5\u5B58\u6863\u5F85\u4EBA\u5DE5\u9A8C\u6536\uFF09","audio-output":"\u97F3\u9891\u5E93\u5FC5\u987B**\u8BBE\u5907\u771F\u51FA\u58F0\u5B9E\u6D4B**\uFF1A\u6309 pc-capability-domains \u7684 `solutions/ohaudio-backend` \u63A5\u5165 OHAudio \u540E\u7AEF\u5E76\u6355\u83B7 `build/audio-verify.json`\uFF08renderer \u771F\u62FF\u5230 + \u771F\u5199\u51FA\u5E27\uFF09\u2014\u2014\u53EA\u7F16\u5F97\u51FA\u3001\u540E\u7AEF\u88AB\u88C1\u6389\u4E0D\u7B97\u8FBE\u6807"},SS=900;function kS(e){let t=null;try{t=C(Ft.join(e,"00-env.json"))}catch{t=null}if(!t?.capabilities)return{snapshot:"missing",note:"\u672A\u89C1 00-env.json\u2014\u2014\u5148\u8DD1 `ohpt-agent env -w <workspace> --json` \u843D\u76D8\u73AF\u5883\u5FEB\u7167"};let n=t.capabilities,{form:r,domains:s,ecosystem:i,host:o}=Kt(e),a=vt(o,i,r),u=Ve(a),c=oa(e,[...r?Jd[r]??[]:[],...u.requires]),l=(0,H.isNodeLibrary)(oe(e))?c.filter(m=>!n[m]):[],p=c.filter(m=>!n[m]?.found&&!l.includes(m)),f=u.requires.map(m=>n[m]).find(m=>m?.found&&m.note)?.note,g=Hp()!=="manual"&&(st(r,s)||bo(e).length>0),h;if(t.checked_at){let m=Date.parse(t.checked_at);Number.isNaN(m)||(h=Math.max(0,Math.round((Date.now()-m)/1e3)))}return{snapshot:"fresh",...h!==void 0?{checked_at_age_s:h}:{},device:!!n.device?.found,delivery_form:r,host_runtime:o?a:`${a}\uFF08\u7F3A\u7701\uFF0C\u672A\u58F0\u660E\uFF09`,...f?{host_toolchain:f}:{},missing_required:p,...l.length?{unprobed_required:l}:{},...g?{signing_required:!0,signing:!!n.signing?.found}:{},...r?{verify_carriers:Vl(e)}:{},...(0,H.isNodeLibrary)(oe(e))?{library_examples:bo(e)}:{},...h!==void 0&&h>SS?{note:`\u5FEB\u7167\u5DF2 ${Math.round(h/60)} \u5206\u949F\u672A\u590D\u6D4B\uFF0C\u8BBE\u5907\u9879\u6613\u53D8\u2014\u2014\u8BBE\u5907\u64CD\u4F5C\u524D\u5148 \`ohpt-agent env --device-only\``}:{}}}function DS(e,t){let n=null;try{n=C(Ft.join(e,"env-decision.json"))}catch{return!1}if(n?.decision!=="proceed-degraded")return!1;let r=new Set(Array.isArray(n.missing)?n.missing:[]);return t.every(s=>r.has(s))}function Vp(e,t){let n=Ft.resolve(t),r=Ft.join(n,R),s=W.find(d=>d.stage===e);if(s&&!Lo(e)){let d=id(),l=d.includes(it(s))?s.optional?`\uFF08\u53EF\u9009\u9636\u6BB5\uFF0C\u5F00\u5173 ${s.optional.key} \u672A\u542F\u7528\uFF09`:"":`\uFF08\u6240\u5C5E\u8F68\u9053 ${it(s)} \u672A\u542F\u7528\uFF0C\u672C\u6B21\u53EA\u8DD1 ${d.join("/")||"\u65E0"}\uFF09`;return{stage:e,decision:"skip",reason:`\u9636\u6BB5 ${e}\uFF08${s.name}\uFF09\u672A\u53C2\u4E0E\u672C\u6B21\u6D41\u6C34\u7EBF\u62D3\u6251${l}\u2014\u2014\u4E0D\u8C03\u5B50 agent\uFF0C\u76F4\u63A5\u8FDB\u5165\u4E0B\u4E00\u9636\u6BB5`}}if(e===7)return Ip(n);let i=St()&&[1,2,3,4].includes(e)?ES(e,n,r):null;if(i&&i.decision!=="run")return i;let o=kS(r);if(Ns(e)&&(0,H.isNodeLibrary)(oe(r))){let d;try{d=C(Ft.join(r,"00-env.json")).capabilities?.electron_runtime}catch{}if(Gd(d))return{stage:e,decision:"run",env:o,refresh_env:!0,reason:"Electron \u8FD0\u884C\u65F6\u8DEF\u5F84\u6216\u8D44\u6E90\u72B6\u6001\u5DF2\u53D8\u5316\uFF1A\u5148\u6267\u884C ohpt-agent env -w <workspace> --json\uFF0C\u518D\u91CD\u8DD1 gate\uFF1B\u65E7\u73AF\u5883\u5FEB\u7167\u53CA proceed-degraded \u4E0D\u80FD\u4EE3\u66FF\u91CD\u65B0\u63A2\u6D4B\uFF0C\u672C\u8F6E\u4E0D\u6D3E\u53D1\u9636\u6BB5 agent\u3001\u4E0D\u8BA1\u91CD\u8BD5\u3002"}}if(Ns(e)&&o.unprobed_required?.length)return{stage:e,decision:"run",env:o,refresh_env:!0,reason:`\u73AF\u5883\u5C1A\u672A\u63A2\u6D4B\uFF1A${o.unprobed_required.join("\u3001")}\u3002\u5148\u6267\u884C ohpt-agent env -w <workspace> --json\uFF0C\u518D\u91CD\u8DD1\u672C gate\uFF1B\u672C\u8F6E\u4EC5\u5237\u65B0\u73AF\u5883\uFF0C\u4E0D\u6D3E\u53D1\u9636\u6BB5 agent\u3001\u4E0D\u8BA1\u9002\u914D\u91CD\u8BD5\u3002\u672A\u63A2\u6D4B\u4E0D\u7B49\u4E8E\u7F3A\u5931\uFF0Cproceed-degraded \u4E0D\u80FD\u4EE3\u66FF\u63A2\u6D4B\u3002`};if(Ns(e)&&o.snapshot==="fresh"){let d=[...o.missing_required??[],...o.device?[]:["device"],...o.signing_required&&!o.signing?["signing"]:[]];if(d.length>0&&!DS(r,d)){let l=(o.missing_required??[]).length>0;return{stage:e,decision:"ask",reason:`\u73AF\u5883\u524D\u7F6E\u672A\u6EE1\u8DB3\uFF1A\u7F3A ${d.join("\u3001")}${o.delivery_form?`\uFF08\u4EA4\u4ED8\u5F62\u6001 ${o.delivery_form}\uFF09`:""}\u2014\u2014**\u7ED3\u675F\u56DE\u5408\u5411\u7528\u6237\u62A5\u544A\u5E76\u7B49\u7B54\u590D**\uFF0C\u4E0D\u8981\u81EA\u884C\u63A8\u8FDB\u3002\u9009\u9879\uFF1A\u2460 \u88C5\u9F50/\u8FDE\u4E0A\u9E3F\u8499 PC \u8BBE\u5907\u540E\u91CD\u8DD1\uFF1B\u2461 \u964D\u7EA7\u7EE7\u7EED\uFF08${l?"\u6784\u5EFA\u672C\u4F53\u7F3A\u786C\u524D\u63D0\uFF0C\u4EA7\u7269\u5F88\u53EF\u80FD\u4E0D\u5B8C\u6574\uFF1B":"\u53EF\u4EA7\u8865\u4E01\u4E0E\u6784\u5EFA\u65B9\u6848\uFF0C\u8BBE\u5907\u9A8C\u8BC1\u7559\u5230\u6709\u8BBE\u5907\u65F6"}\uFF09\u3002`+(d.includes("signing")?"\uFF5Csigning=SDK OpenHarmony \u7B7E\u540D\u6750\u6599\u7F3A\u5931\uFF08\u88C5 DevEco / \u8BBE $DEVECO_SDK_HOME\uFF09\uFF1A\u6B63\u5E38\u65F6 `ohpt-agent sign-demo -w <ws> --install` \u7528 SDK \u81EA\u5E26 OpenHarmony \u6750\u6599 headless \u81EA\u7B7E\u88C5\u673A\uFF08\u96F6\u8D26\u53F7/\u96F6\u8BBE\u7F6E/\u4EFB\u610F bundle\uFF09\uFF1B\u786E\u5B9E\u7F3A\u6750\u6599\u5219\u964D\u7EA7\uFF08.so \u4E0E demo HAP \u7167\u5E38\u4EA7\u51FA\uFF0C\u88C5\u673A\u9A8C\u8BC1\u7559\u5F85\u6750\u6599\u5C31\u4F4D\uFF0C\u52FF\u5199 built-and-verified\uFF09\u3002\u89C1 pc-knowledge-base platform/\u9E3F\u8499PC-HAP\u8C03\u8BD5\u7B7E\u540D\u4E0E\u8BBE\u5907\u5B89\u88C5\u4FE1\u4EFB\u94FE.md\u3002":"")+`\u7528\u6237\u7B54\u590D\u540E\u5199 \`.ohos-adaptation-pc/env-decision.json\`\uFF08{"missing":${JSON.stringify(d)},"decision":"proceed-degraded"|"retry-after-setup","decided_at":"<ISO>"}\uFF09\uFF1B\u7528\u6237\u5DF2\u8BF4\u300C\u81EA\u52A8/\u522B\u95EE\u300D\u65F6\u540C\u6837\u5199\u5165 proceed-degraded \u540E\u7EE7\u7EED\u3002\u8BE5\u6587\u4EF6\u8986\u76D6\u5F53\u524D\u7F3A\u53E3\u5373\u4E0D\u518D\u63D0\u95EE\u3002`,env:o}}}let a=i??xS(e,n,r),c={1:{methodology:[],apiLookup:!0,domainAxis:!1},2:{methodology:["pc-roster-generation"],apiLookup:!1,domainAxis:!1},3:{methodology:[],apiLookup:!0,domainAxis:!0},5:{methodology:["pc-test-design"],apiLookup:!1,domainAxis:!1},6:{methodology:["pc-test-design"],apiLookup:!1,domainAxis:!0}}[e]??{methodology:[],apiLookup:!1,domainAxis:!1};if(c&&a.decision==="run"){let d=c.domainAxis?wS(re(r,"01-scan.json","scan",n)):[],l=c.apiLookup?qp.filter(h=>Bp(h)):[],p=c.apiLookup?qp.filter(h=>!l.includes(h)):[],f=[...c.methodology,...l,...d,...(0,H.isNodeLibrary)(oe(r))?["pc-node-library"]:[]],g=p.length?{...a,reason:`${a.reason}
628
+ \u26A0 \u5305\u5185\u53CA\u5168\u5C40\u5747\u7F3A\u5C11\u67E5\u8BC1 skill\uFF1A${p.join("\u3001")}\u2014\u2014\u672C\u9636\u6BB5 API \u8BED\u4E49\u67E5\u8BC1\u964D\u7EA7\u4E3A\u7F51\u7EDC\u641C\u7D22/\u6A21\u578B\u81EA\u5224\uFF1B\u91CD\u65B0\u5B89\u88C5\u5B8C\u6574\u63D2\u4EF6\uFF0C\u6216\u8865\u88C5\u5230 ~/.agents/skills/ \u6216 ~/.claude/skills/ \u540E\u6062\u590D\u6CE8\u5165\uFF08\u89C1 harmonyos-pc-resources\u300C\u9002\u914D\u524D\u7F6E\u300D\u8282\uFF09`}:a;return f.length?{...g,required_skills:f,env:o}:{...g,env:o}}return{...a,env:o}}function ES(e,t,n){if(!re(n,"01-scan.json","scan",t).valid)return null;try{let s=ed(t),i=Vt(n,"01-scan.json");if(i||s.status==="changes-requested")return{stage:e,decision:e===1?"run":"block",reason:`\u5148\u56DE\u9636\u6BB5 1 \u4FEE\u8BA2\u529F\u80FD\u5206\u6790\u4E0E\u65B9\u6848\uFF1A${i||s.response}\uFF1B\u66F4\u65B0\u540E\u91CD\u65B0\u4EBA\u5DE5\u786E\u8BA4`,review:{...s,action:"revise",next_stage:1,agent:"pc-01-analyze"}};if(s.status==="rejected")return e===4&&Up.existsSync(Ft.join(n,"04-summary.json"))&&Up.statSync(Ft.join(n,"04-summary.json")).mtimeMs>=Date.parse(s.decided_at)?null:{stage:e,decision:e===4?"run":"skip",reason:`\u7528\u6237\u9009\u62E9\u4E0D\u9002\u914D\uFF1A${s.response}\u3002\u4EC5\u8FDB\u5165\u9636\u6BB5 4 \u5982\u5B9E\u603B\u7ED3\uFF0C\u4E0D\u662F\u6280\u672F\u4E0D\u53EF\u884C\u7ED3\u8BBA\u3002`,review:{...s,action:"summarize",next_stage:4,agent:"pc-04-summary"}};if(s.status!=="approved")return{stage:e,decision:"ask",reason:"CLI \u529F\u80FD\u5206\u6790\u4E0E\u65B9\u6848\u5F85\u4EBA\u5DE5\u786E\u8BA4\uFF1A\u5C55\u793A\u529F\u80FD\u8303\u56F4\u3001\u63A8\u8350\u65B9\u6848\u3001\u5173\u952E\u4F9D\u8D56\u3001\u98CE\u9669\u548C\u9A8C\u8BC1\u601D\u8DEF\uFF1B\u7B49\u5F85\u7528\u6237\u901A\u8FC7/\u4FEE\u6539/\u4E0D\u9002\u914D\u3002\u7528 human-review --action decide \u8BB0\u5F55\u5F53\u524D review.id \u7684\u771F\u5B9E\u7B54\u590D\uFF1B\u4E0D\u5F97\u5199 env-decision.json\u3002",review:{...s,action:"await"}};let o=nr(t);if(!o)return null;let a=Oo(t,o,!0);if(o.status==="pending"&&a)return{stage:e,decision:"ask",reason:"\u4FEE\u590D\u8BA1\u5212\u9700\u8981\u4FEE\u6539\u7528\u4F8B\uFF1A\u5C55\u793A\u5931\u8D25\u8BC1\u636E\u3001\u5F52\u56E0\u3001\u4FEE\u6539\u524D\u540E\u5DEE\u5F02\u3001\u4F9D\u636E\u548C\u91CD\u6D4B\u8BA1\u5212\uFF1B\u7528\u6237\u660E\u786E\u786E\u8BA4\u524D\u4E0D\u6539\u7528\u4F8B\u3001\u4E0D\u8D77 verifier\u3001\u4E0D\u8FDB\u5165\u603B\u7ED3\u3002",review:{...o,action:"await"}};let u=o.status==="changes-requested"||["pending","approved"].includes(o.status)&&!a||o.status==="applying"&&!Po(t,o),c=u||o.status==="rejected"?3:o.resume_stage,d=c===2?"pc-02-dev-test-cases":"pc-03-dev-adapt-code";return{stage:e,decision:e===c?"run":"block",reason:u?"\u7528\u6237\u8981\u6C42\u8865\u8BC1/\u4FEE\u6539\uFF0C\u6216\u539F\u63D0\u6848\u8F93\u5165\u5DF2\u53D8\u5316\uFF1A\u4EC5\u4FEE\u8BA2\u7528\u4F8B\u4FEE\u6539\u63D0\u6848\u5E76\u91CD\u65B0\u786E\u8BA4\uFF0C\u4E0D\u5E94\u7528\u65E7\u6279\u51C6\u3002":o.status==="rejected"?"\u7528\u6237\u62D2\u7EDD\u6539\u7528\u4F8B\uFF1A\u4FDD\u6301\u539F\u7528\u4F8B\uFF0Chuman-review complete \u5173\u95ED\u672C\u8BF7\u6C42\u540E\u6309\u539F\u6807\u51C6\u4FEE\u4EA7\u54C1\u6216\u5982\u5B9E\u8BB0\u5F55\u963B\u585E\u3002":`\u6062\u590D\u83B7\u51C6\u7528\u4F8B\u4FEE\u6539\uFF1A\u7531 ${d} \u6309\u63D0\u6848\u4ECE\u5FAA\u73AF ${o.proposal.loop} \u7EE7\u7EED\uFF1B\u9996\u6B21\u6784\u5EFA\u5148\u8865\u9F50\u6B65\u9AA4 1/2 \u7684\u7F3A\u53E3\uFF0C\u518D\u8FDB\u5165\u8BE5\u8F6E\u8BBE\u5907\u9A8C\u8BC1\u3002\u4FEE\u6539\u524D human-review begin\uFF0C\u5B8C\u6210\u540E human-review complete\u3002\u4E0D\u91CD\u505A\u5DF2\u6709\u7F16\u8BD1/Demo\uFF0C\u4E0D\u63D0\u524D\u8C03\u7528 verifier\u3002`,review:{...o,action:u?"revise":"resume",next_stage:c,agent:d}}}catch(s){let i=s instanceof Error?s.message:String(s);return{stage:e,decision:"block",review_error:i,reason:`\u4EBA\u5DE5\u8BC4\u5BA1\u8BB0\u5F55\u4E0D\u53EF\u7528\uFF0C\u4FDD\u7559\u73B0\u573A\u5E76\u4FEE\u590D\u8BB0\u5F55\u540E\u6062\u590D\uFF1A${i}`}}}function AS(e){return W.find(t=>t.stage===e)?.artifact}function wS(e){let t=e.data?.harmony_adaptation,n=typeof t?.feasibility_driver=="string"?t.feasibility_driver:"",s=(Array.isArray(e.data?.capability_dependencies)?e.data?.capability_dependencies:[]).some(i=>String(i?.harmony_status??"")!=="available");return n==="capability-domain"||s?["pc-capability-domains"]:[]}var qp=["harmonyos-sdk-api-lookup","harmonyos-docs-lookup"];function CS(e){let t=Array.isArray(e?.capability_dependencies)?e?.capability_dependencies:[];for(let n of t){let r=da(n);if(r)return r}return null}function RS(e,t,n){let r=re(n,"02-baseline.json","baseline",t);if(!r.exists){let s=re(n,"03-adapt.json","adapt",t),i=s.data?.test_run??{};if(s.exists&&i.roster===void 0)return null}return!r.exists||!r.valid?{stage:e,decision:"block",reason:`\u524D\u7F6E 02-baseline.json ${r.exists?`\u6821\u9A8C\u5931\u8D25\uFF08${r.errorsBrief}\uFF09`:"\u7F3A\u5931"}\u2014\u2014\u5148\u5B8C\u6210\u9636\u6BB5 2\u3002\u9636\u6BB5 3 \u8981\u8DD1\u7684\u7528\u4F8B\u96C6\uFF08\u5FC5\u8DD1\u540D\u518C\uFF09\u7531\u9636\u6BB5 2 \u56FA\u5B9A\uFF0C\u6CA1\u6709\u5B83\u8FD9\u4E00\u8F6E\u7684\u300C\u8DD1\u4E86\u591A\u5C11\u300D\u5C31\u6CA1\u6709\u5206\u6BCD\u3002`}:null}function jS(e,t,n,r){if(!r.exists||!r.valid)return{stage:e,decision:"block",reason:`\u524D\u7F6E 01-scan.json ${r.exists?`\u6821\u9A8C\u5931\u8D25\uFF08${r.errorsBrief}\uFF09`:"\u7F3A\u5931"}\u2014\u2014\u5148\u5B8C\u6210\u9636\u6BB5 1`};let s=r.data?.prd,i=Array.isArray(s?.features)?s?.features:[];if(i.length===0)return{stage:e,decision:"block",reason:"01-scan.json \u65E0 `prd.features[]`\u2014\u2014\u6D4B\u8BD5\u8BBE\u8BA1\u4EE5 PRD \u529F\u80FD\u70B9\u6E05\u5355\u4E3A\u9700\u6C42\u9762\u4E0E\u8986\u76D6\u5EA6\u57FA\u51C6\uFF0C\u6CA1\u6709\u5B83\u5C31\u53EA\u80FD\u751F\u6210\u300C\u8DD1\u8D77\u6765\u6CA1\u5D29\u300D\u5F0F\u7684\u5192\u70DF\u7528\u4F8B\uFF08\u7A7A stub \u4E5F\u80FD\u5168\u7EFF\uFF09\u3002\u8865\u6CD5\uFF1A\u56DE\u9636\u6BB5 1 \u8BA9 pc-01-analyze \u6309\u300C\u9002\u914D\u9700\u6C42\u89C4\u683C\u300D\u7EF4\u5EA6\u8865\u51FA `prd`\uFF08\u6A21\u5757 F-xx + \u529F\u80FD\u70B9 F-xx-xx + \u9A8C\u8BC1\u70B9 + \u53EF\u89C2\u6D4B\u8DEF\u5F84\uFF0C\u65B9\u6CD5\u89C1 pc-test-design skill\uFF09\uFF0C\u518D\u91CD\u8DD1\u672C gate\uFF1B\u4E0D\u8865\u5219\u672C\u8F68\u9053\u5230\u6B64\u4E3A\u6B62"};let o=re(n,"05-testcases.json","testcases",t),a=`testdesign-policy-${mn}-attempts`,u=Ae(n,a),c={attempt:u,cap:Z,counter:a};if(o.exists&&o.valid&&!yn(o.data))return u>=Z?{stage:e,decision:"block",reason:"\u6D4B\u8BD5\u8BBE\u8BA1\u5951\u7EA6\u5BA1\u67E5\u5DF2\u8FBE\u6709\u754C\u91CD\u8BD5\u4E0A\u9650\uFF0C\u4FDD\u7559\u771F\u5B9E\u7ED3\u679C"}:{stage:e,decision:"run",resume:c,reason:`\u6D4B\u8BD5\u8BBE\u8BA1\u89C4\u5219\u5DF2\u5347\u7EA7\u81F3 ${mn}\uFF1A\u4FDD\u7559\u6709\u6548\u7528\u4F8B\uFF0C\u9010\u6761\u6838\u5B9E oracle\uFF08\u8F93\u5165/\u53C2\u6570/\u6700\u7EC8\u8F93\u51FA\u5206\u652F\uFF09\uFF1B\u6587\u4EF6\u8DEF\u5F84\u8F93\u5165\u58F0\u660E input.file \u7684 present/absent\u3001\u771F\u5B9E\u8D44\u6E90 source \u4E0E\u957F\u5EA6\u8981\u6C42\uFF1B\u5BA1\u67E5\u65E7\u5931\u8D25\u53CA\u53D7\u963B\u3002\u5DF2\u63A5\u53D7\u4E14\u8BC1\u5B9E\u7684\u4E0A\u6E38\u7F3A\u9677\u5199 exclusions\uFF0C\u4E0D\u8FDB\u5206\u6BCD\uFF1B\u9884\u671F\u9519\u8BEF\u6309\u6E90\u7801\u4FEE\u6B63\uFF0C\u5305\u62EC\u9519\u8BEF checkpoint\uFF0C\u4FDD\u7559 amendment\u3002\u5B8C\u6210\u540E meta.test_policy_version=${mn}\uFF0C\u53EA\u4FEE\u6539\u6D4B\u8BD5\u7EBF\u4EA7\u7269\u3002`};let d=o.valid&&o.data?ys(t,o.data):[];if(d.length)return{stage:e,decision:u>=Z?"block":"run",...u<Z?{resume:c}:{},reason:"\u6D4B\u8BD5\u8BBE\u8BA1\u5951\u7EA6\u5BA1\u67E5\u672A\u5B8C\u6210\uFF1A"+d.join("\uFF1B")};let l=xs(t);if(l.length>0){let f=Ae(n,In);return f>=Z?{stage:e,decision:"skip",reason:`\u9636\u6BB5 6 \u8BF7\u6C42\u4FEE\u6B63 ${l.join("\u3001")}\uFF0C\u4F46\u9636\u6BB5 5 \u5DF2\u8FBE\u91CD\u5F00\u4E0A\u9650 ${Z}\u2014\u2014\u505C\u73AF\u3001\u5982\u5B9E\u4FDD\u7559 fail\uFF0806 \u7684 analysis \u5DF2\u5199\u660E\u5F52\u56E0\uFF0C\u4EA4\u4EBA\u5DE5\u5224\u65AD\uFF09\uFF0C\u4E0D\u518D\u91CD\u5F00`}:{stage:e,decision:"run",reason:`\u9636\u6BB5 6 \u628A ${l.join("\u3001")} \u5224\u4E3A testcase-defect\uFF08\u7528\u4F8B\u8BBE\u8BA1\u672C\u8EAB\u5199\u9519\uFF09\u2014\u2014\u53EA\u4FEE\u8FD9\u51E0\u6761\u7684\u9884\u671F\u5E76\u9010\u6761\u586B cases[].amendment\uFF08class/basis/before/after/evidence_before\uFF0C\u4F9D\u636E\u987B\u6307\u56DE\u4E0A\u6E38 file:line \u4E0E\u7B49\u4EF7\u6761\u4EF6\uFF0C\u4FDD\u7559\u9A8C\u8BC1\u76EE\u6807\uFF1B\u88AB\u8BC1\u4F2A\u7684 checkpoint \u5B57\u9762\u91CF\u53EF\u4FEE\u6B63\u5E76\u7559\u75D5\uFF09\uFF0C\u5176\u4F59\u7528\u4F8B\u4E00\u4E2A\u5B57\u90FD\u4E0D\u52A8\u3002\u7B2C ${f+1}/${Z} \u8F6E`,resume:{attempt:f,cap:Z,counter:In}}}if(o.exists&&o.valid&&String(o.data?.status??"")==="designed")return{stage:e,decision:"skip",reason:"05-testcases.json status=designed\uFF08\u7EC8\u6001\uFF09\u2014\u2014\u8FDB\u5165\u9636\u6BB5 6"};if(o.exists)return{stage:e,decision:"run",reason:`05-testcases.json ${o.valid?`status=${String(o.data?.status??"")||"\u65E0\u6548"}\uFF08\u975E\u7EC8\u6001\uFF09`:`\u6821\u9A8C\u5931\u8D25\uFF08${o.errorsBrief}\uFF09`}\u2014\u2014\u65AD\u70B9\u7EED\u8DD1\uFF1A\u53EA\u8865 coverage.uncovered[] \u91CC\u7684\u529F\u80FD\u70B9\u4E0E review.issues[] \u6307\u540D\u7684\u7528\u4F8B\uFF0C\u4E0D\u6E05\u7A7A\u91CD\u6765`};let p=Ae(n,In);return p>=Z?{stage:e,decision:"block",reason:`05-testcases.json \u8FDE\u7EED ${p} \u6B21\u672A\u4EA7\u51FA\u3001\u5DF2\u8FBE\u4E0A\u9650 ${Z}\u2014\u2014\u5224\u5B9A STAGE 5 FAILED\uFF1B\u6CA1\u6709\u7528\u4F8B\u6E05\u5355\uFF0C\u9636\u6BB5 6 \u65E0\u4ECE\u751F\u6210 demo`}:{stage:e,decision:"run",reason:`05-testcases.json \u4E0D\u5B58\u5728\uFF08\u7B2C ${p+1}/${Z} \u6B21\u8FD0\u884C\u9636\u6BB5 5\uFF09\u2014\u2014\u628A ${i.length} \u4E2A PRD \u529F\u80FD\u70B9\u9010\u6761\u8F6C\u5316\u4E3A 1:1 \u7684\u9ED1\u76D2\u7528\u4F8B\u5E76\u81EA\u8BC4\u5BA1\uFF1B\u5B50 agent \u82E5\u7A7A\u624B\u9000\u51FA\u5C06\u6709\u754C\u7EED\u8DD1`,resume:{attempt:p,cap:Z,counter:In}}}function FS(e,t,n){let r=re(n,"06-testdemo.json","testdemo",t),s=String(r.data?.status??""),i=re(n,"05-testcases.json","testcases",t).data;if(i&&r.data){let h=tl(i,r.data,t);if(h.length){let m=`testdemo-policy-${mn}-attempts`,_=Ae(n,m);return{stage:e,decision:_>=Z?"block":"run",..._<Z?{resume:{attempt:_,cap:Z,counter:m}}:{},reason:"\u6D4B\u8BD5\u7EBF\u8303\u56F4/\u7ED3\u679C/\u672C\u8F6E\u8BC1\u636E\u9700\u540C\u6B65\u5F53\u524D\u8BBE\u8BA1\uFF1A"+h.join("\uFF1B")}}}if(r.exists&&r.valid&&["passed","skipped"].includes(s))return{stage:e,decision:"skip",reason:`06-testdemo.json status=${s}\uFF08\u7EC8\u6001\uFF09\u2014\u2014\u6D4B\u8BD5\u7EBF\u5DF2\u6536\u655B`};if(r.exists&&r.valid&&s==="partial"){let h=r.data?.coverage??{},m=y=>typeof h[y]=="number"?h[y]:-1,_=Array.isArray(h.capability_gaps)?h.capability_gaps.length:-1;if(m("not_run")===0&&m("failed")===0&&_>=0&&m("blocked")===_)return{stage:e,decision:"skip",reason:`06-testdemo.json status=partial \u4F46\u5DF2\u6536\u655B\uFF1Anot_run=0\u3001failed=0\u3001blocked=${_} \u6761\u4E14\u9010\u6761\u5F52\u56E0\u5230 coverage.capability_gaps\uFF08\u80FD\u529B\u7F3A\u53E3\u5C5E\u4E3B\u7EBF\uFF0C\u6D4B\u8BD5\u7EBF\u4FEE\u4E0D\u4E86\u4E5F\u4E0D\u8BE5\u4EE3\u8DD1\uFF09\u2014\u2014\u6BCF\u6761\u7528\u4F8B\u90FD\u6709\u7EC8\u6001\u5224\u5B9A\uFF0C\u7EED\u8DD1\u4E0D\u6539\u53D8\u4EFB\u4F55\u7ED3\u679C`}}let o=re(n,"05-testcases.json","testcases",t);if(!o.exists||!o.valid)return{stage:e,decision:"block",reason:`\u524D\u7F6E 05-testcases.json ${o.exists?`\u6821\u9A8C\u5931\u8D25\uFF08${o.errorsBrief}\uFF09`:"\u7F3A\u5931"}\u2014\u2014\u5148\u5B8C\u6210\u9636\u6BB5 5 \u7684\u6D4B\u8BD5\u8BBE\u8BA1\uFF0Cdemo \u662F\u7167\u7528\u4F8B\u6E05\u5355\u751F\u6210\u7684`};let a=Array.isArray(o.data?.cases)?o.data?.cases:[];if(a.length===0)return{stage:e,decision:"block",reason:"05-testcases.json \u7684 cases[] \u4E3A\u7A7A\u2014\u2014\u6CA1\u6709\u7528\u4F8B\u5C31\u6CA1\u6709\u53EF\u751F\u6210\u7684 demo\uFF0C\u5148\u56DE\u9636\u6BB5 5"};let u=re(n,"03-adapt.json","adapt",t);if(!u.exists||!u.valid)return{stage:e,decision:"block",reason:`\u524D\u7F6E 03-adapt.json ${u.exists?`\u6821\u9A8C\u5931\u8D25\uFF08${u.errorsBrief}\uFF09`:"\u7F3A\u5931"}\u2014\u2014\u5148\u5B8C\u6210\u9636\u6BB5 3`};let c=String(u.data?.status??"");if(c==="skipped")return{stage:e,decision:"skip",reason:"03-adapt.json status=skipped\uFF08infeasible \u5B9A\u8BBA\uFF09\u2014\u2014\u65E0\u53EF\u6D4B\u9762\uFF0C\u8DF3\u8FC7\u9636\u6BB5 6"};if((Array.isArray(u.data?.artifacts)?u.data?.artifacts:[]).length===0)return{stage:e,decision:"block",reason:`03-adapt.json \u7684 artifacts[] \u4E3A\u7A7A\uFF08status=${c||"\u65E0\u6548"}\uFF09\u2014\u2014\u6CA1\u6709\u53EF\u88AB demo \u94FE\u63A5/\u8C03\u7528\u7684\u9002\u914D\u4EA7\u7269\uFF0C\u5148\u8865\u9F50\u9636\u6BB5 3`};let l=u.data?.test_run??{};if(l.executed!==!0)return{stage:e,decision:"block",reason:`03-adapt.json \u7684 test_run.executed\u2260true\uFF08status=${c||"\u65E0\u6548"}\uFF09\u2014\u2014\u4EA7\u7269\u8FD8\u6CA1\u5728\u8BBE\u5907\u4E0A\u8DD1\u8FC7\u4EFB\u4F55\u7528\u4F8B\uFF0C\u6B64\u65F6\u751F\u6210 demo \u6D4B\u51FA\u6765\u7684\u7ED3\u679C\u65E0\u4ECE\u533A\u5206\u300C\u529F\u80FD\u4E22\u4E86\u300D\u4E0E\u300C\u4EA7\u7269\u672C\u6765\u5C31\u6CA1\u8DD1\u8D77\u6765\u8FC7\u300D\u3002\u5148\u8BA9\u9636\u6BB5 3 \u5B8C\u6210\u8BBE\u5907\u4FA7\u81EA\u9A8C\u8BC1`};if(Number(l.passed??0)<1)return{stage:e,decision:"block",reason:`03-adapt.json \u7684 test_run.passed=${String(l.passed??0)}\u2014\u2014\u8BBE\u5907\u4E0A\u4E00\u6761\u7528\u4F8B\u90FD\u6CA1\u901A\u8FC7\uFF0C\u4EA7\u7269\u5C1A\u4E0D\u5177\u5907\u53EF\u6D4B\u6027\uFF1B\u5148\u8BA9\u9636\u6BB5 3 \u628A\u81EA\u9A8C\u8BC1\u6536\u655B\u5230\u81F3\u5C11\u4E00\u6761\u901A\u8FC7\uFF08\u90E8\u5206\u9002\u914D\u53EF\u4EE5\uFF0C\u96F6\u901A\u8FC7\u4E0D\u884C\uFF09`};let p=r,f=s;if(p.exists)return{stage:e,decision:"run",reason:`06-testdemo.json ${p.valid?`status=${f||"\u65E0\u6548"}\uFF08\u975E\u7EC8\u6001\uFF09`:`\u6821\u9A8C\u5931\u8D25\uFF08${p.errorsBrief}\uFF09`}\u2014\u2014\u4FDD\u7559\u5DE5\u7A0B\u4E0E\u63A5\u7EBF\uFF1B\u8BC1\u636E\u4ECD\u6709\u6548\u65F6\u53EA\u8865 result\u2260pass \u4E0E not-run\uFF0C\u8BBE\u8BA1\u4FEE\u8BA2\u6216\u8BC1\u636E\u8FC7\u671F\u65F6\u5168\u91CF\u8FD0\u884C\u5F53\u524D cases\uFF0C\u4E0D\u5F97\u590D\u7528\u65E7 pass`};let g=Ae(n,Ra);return g>=Z?{stage:e,decision:"block",reason:`06-testdemo.json \u8FDE\u7EED ${g} \u6B21\u672A\u4EA7\u51FA\u3001\u5DF2\u8FBE\u4E0A\u9650 ${Z}\u2014\u2014\u5224\u5B9A STAGE 6 FAILED\uFF0C\u6D4B\u8BD5\u7EBF\u5230\u6B64\u4E3A\u6B62`}:{stage:e,decision:"run",reason:`06-testdemo.json \u4E0D\u5B58\u5728\uFF08\u7B2C ${g+1}/${Z} \u6B21\u8FD0\u884C\u9636\u6BB5 6\uFF09\u2014\u2014\u6309 05-testcases.json \u7684 ${a.length} \u6761\u7528\u4F8B\u751F\u6210 demo\u3001\u9010\u6761\u63A5\u7EBF\u5E76\u5728\u8BBE\u5907\u4E0A\u8DD1\uFF1B\u5B50 agent \u82E5\u7A7A\u624B\u9000\u51FA\u5C06\u6709\u754C\u7EED\u8DD1`,resume:{attempt:g,cap:Z,counter:Ra}}}function xS(e,t,n){let r=OS(e,t,n),s=oe(n),i=(0,H.isNodeLibrary)(s)&&s.harmony_adaptation?.feasibility!=="infeasible";if(i&&[2,5].includes(e)&&r.decision==="skip"){let a=re(n,e===2?"02-baseline.json":"05-testcases.json",e===2?"baseline":"testcases",t).data,u=kn(t,e===2?3:6,a);if(u.length){let c=e===2?ui:In,d=e===2?Tn:Z,l=Ae(n,c);return{stage:e,decision:l>=d?"block":"run",reason:"Node.js \u5E93\u7528\u4F8B\u5BBF\u4E3B\u8303\u56F4\u9700\u4FEE\u6B63\uFF1A"+u.join("\uFF1B"),...l<d?{resume:{attempt:l,cap:d,counter:c}}:{}}}}if(i&&[3,6].includes(e)&&["skip","run"].includes(r.decision)){let a=re(n,e===3?"03-adapt.json":"06-testdemo.json",e===3?"adapt":"testdemo",t),u=[...Dn(t,e),...e===6&&a.data?ks(t,e,a.data):[]];if(u.length){let c=r.resume?.counter??(r.verify?hr:`node-demo-${e}-attempts`),d=r.resume?.cap??r.verify?.cap??(e===3?Y:Z),l=Ae(n,c);return{...r,stage:e,decision:l>=d?"block":"run",reason:"Node.js \u5E93\u5FC5\u9700 demo \u672A\u5B8C\u6210\uFF08\u53EA\u7EED\u4FEE\u7F3A\u9879\uFF0C\u4E0D\u91CD\u505A\u6709\u6548\u7ED3\u679C\uFF09\uFF1A"+u.join("\uFF1B")+(l>=d?"\uFF1B\u91CD\u8BD5\u4E0A\u9650\u5DF2\u8FBE\uFF0C\u6309\u90E8\u5206\u5B8C\u6210\u6C47\u603B\uFF0C\u7981\u6B62\u58F0\u660E\u5B8C\u6574\u6210\u529F":""),...l<d?{resume:{attempt:l,cap:d,counter:c}}:{}}}}if(i&&e===4&&r.decision==="skip"&&re(n,"04-summary.json","summary",t).data?.adaptation_status==="success"&&Dn(t,3).length)return{stage:e,decision:"run",reason:"Node.js \u5E93\u5FC5\u9700 demo \u5C1A\u672A\u5B8C\u6210\uFF1A\u4EC5\u66F4\u65B0\u6C47\u603B\u4E3A\u771F\u5B9E\u7684\u90E8\u5206\u5B8C\u6210\u53CA\u5DE5\u7A0B\u7F3A\u53E3\uFF0C\u4FDD\u7559\u5DF2\u6709\u9A8C\u8BC1\u4E8B\u5B9E"};if(r.decision!=="skip")return r;let o=Vt(n,AS(e));return o?{stage:e,decision:"run",reason:o}:r}function OS(e,t,n){let r=re(n,"01-scan.json","scan",t),s=r.data?.harmony_adaptation?.feasibility,i=nt(t);if(i.length&&e!==4)return{stage:e,decision:e===1?"run":"block",reason:"\u4EC5\u8865\u626B Node.js \u5E93\u8FD0\u884C\u6A21\u5F0F\uFF0C\u4FDD\u7559\u5DF2\u6709\u4EA7\u7269\uFF1A"+i.join("\uFF1B")};if(e===1)return r.exists&&r.valid?{stage:e,decision:"skip",reason:"01-scan.json \u5DF2\u5B58\u5728\u4E14 schema \u6821\u9A8C\u901A\u8FC7"}:{stage:e,decision:"run",reason:r.exists?`01-scan.json \u6821\u9A8C\u5931\u8D25\uFF08${r.errorsBrief}\uFF09\u2014\u2014\u91CD\u8DD1\u9636\u6BB5 1`:"01-scan.json \u4E0D\u5B58\u5728"};if(e===2||e===3){if(!r.exists||!r.valid)return{stage:e,decision:"block",reason:`\u524D\u7F6E 01-scan.json ${r.exists?`\u6821\u9A8C\u5931\u8D25\uFF08${r.errorsBrief}\uFF09`:"\u7F3A\u5931"}\u2014\u2014\u5148\u5B8C\u6210\u9636\u6BB5 1`};if(s==="infeasible"){let o=CS(r.data);if(o){let{domain:a,probe:u}=o,c=u.hits.slice(0,3).map(d=>{let l=[d.since?`@since ${d.since}`:"",d.permission?`@permission ${d.permission}`:""].filter(Boolean).join(" ");return` ${d.file}:${d.line} ${d.decl}${l?` [${l}]`:""}`}).join(`
629
+ `);return{stage:e,decision:"ask",reason:`01-scan \u5224 feasibility=infeasible\uFF0C\u9A71\u52A8\u5B83\u7684\u80FD\u529B\u57DF\u300C${a}\u300D\u6807\u4E86 unavailable\uFF0C\u4F46 SDK \u58F0\u660E\u8BED\u6599\u91CC\u6709 ${u.total} \u6761\u5BF9\u5E94\u58F0\u660E\uFF1A
630
+ ${c}
631
+ \u2014\u2014\u8BF7\u7528\u6237\u88C1\u51B3\uFF1A\u2460 \u8FD9\u4E9B\u58F0\u660E\u591F\u5F97\u7740\uFF08@since \u5BF9\u5F97\u4E0A\u8BBE\u5907 API \u7248\u672C\u3001@permission \u662F normal \u7EA7\u3001\u8BED\u4E49\u8986\u76D6\uFF09\u2192 \u56DE\u5230\u9636\u6BB5 1 \u91CD\u626B\uFF0C\u6539 harmony_status \u4E0E feasibility\uFF1B\u2461 \u786E\u5B9E\u591F\u4E0D\u7740 \u2192 \u8BA9 pc-01-analyze \u628A\u547D\u4E2D\u7684\u58F0\u660E\u6587\u4EF6\u8DEF\u5F84\u5199\u8FDB\u8BE5\u6761 capability_dependencies[].evidence[] \u5E76\u8BF4\u660E\u4E3A\u4F55\u4E0D\u9002\u7528\uFF0C\u518D\u91CD\u8DD1\u672C gate \u5373\u653E\u884C\u3002\uFF08extract-file-icon \u5B9E\u8BC1\uFF1A\u636E\u6B64\u5224\u6B7B\u6574\u5E93\uFF0C\u800C getFileIconSync \u6743\u9650\u662F normal\u3001\u771F\u673A 9/9 \u540E\u7F00\u53D6\u5230\u56FE\u6807\u5E76\u4E0A\u5C4F\uFF09`}}return{stage:e,decision:"block",reason:"harmony_adaptation.feasibility=infeasible\u2014\u2014\u8DF3\u8FC7\u9636\u6BB5 2/3\uFF0C\u76F4\u63A5\u6267\u884C\u9636\u6BB5 4"}}}if(e===2){let o=re(n,"02-baseline.json","baseline",t),a=String(o.data?.baseline_status??""),u=Array.isArray(o.data?.cases)?o.data?.cases:[],c=String(r.data?.harmony_adaptation?.delivery_form??""),d=o.exists&&o.data?o.data.baseline_mode:void 0,l=String(d??"full"),p=o.data?.meta?.userRequestedFullsuite===!0;if(o.exists&&o.valid&&c==="app"&&l!=="app-smoke"&&!p)return{stage:e,decision:"run",reason:`02-baseline.json baseline_mode=${l}${d===void 0?"\uFF08\u672A\u586B\uFF0C\u7F3A\u7701 full \u8BED\u4E49\uFF09":""}\uFF0C\u4F46 delivery_form=app \u7684\u540D\u518C\u5951\u7EA6\u662F app-smoke\uFF08baseline-smoke \u56FA\u5B9A 4 \u6761\u5192\u70DF\u3001\u5355\u542F\u52A8\u5468\u671F\uFF1B\u6838\u5FC3\u529F\u80FD\u9A8C\u8BC1\u4E0D\u8FDB\u540D\u518C\uFF0C\u7531 04-summary remaining_todos \u4E0E\u914D\u65B9\u300C\u5F85\u4EBA\u5DE5\u590D\u6838\u300D\u627F\u63A5\uFF09\u2014\u2014\u91CD\u8DD1\u9636\u6BB5 2 \u6536\u7F29\u56DE app-smoke \u9AA8\u67B6\uFF0CPRD \u8986\u76D6\u7F3A\u53E3\u5982\u5B9E\u8BB0 feature_coverage.uncovered\uFF1B\u7528\u6237\u786E\u8981\u5168\u91CF\u65F6\u7531\u7F16\u6392\u5668\u6CE8\u5165\u300C\u7528\u6237\u660E\u793A\u5168\u91CF\u9A8C\u8BC1\u300D\uFF0Cagent \u5728 meta.userRequestedFullsuite=true \u6807\u6CE8\u540E\u672C gate \u653E\u884C`};if(o.exists&&o.valid&&["planned","partial"].includes(a)&&u.length>0){let f=u.filter(g=>g?.platform_exclusive!==!0).length;return{stage:e,decision:"skip",reason:`02-baseline.json \u5DF2\u5408\u683C\uFF08baseline_status=${a}\uFF0C\u7528\u4F8B ${u.length} \u6761\u3001\u5FC5\u8DD1\u540D\u518C ${f} \u6761${c==="app"?`\uFF0Cmode=${l}`:""}\uFF09\u2014\u2014\u76F4\u63A5\u8FDB\u5165\u9636\u6BB5 3`}}if(!o.exists){let f=Ae(n,ui);return f>=Tn?{stage:e,decision:"block",reason:`02-baseline.json \u8FDE\u7EED ${f} \u6B21\u672A\u4EA7\u51FA\u3001\u5DF2\u8FBE\u4E0A\u9650 ${Tn}\u2014\u2014\u5224\u5B9A STAGE 2 FAILED\u3002\u6CA1\u6709\u5FC5\u8DD1\u540D\u518C\u5C31\u6CA1\u6709\u5206\u6BCD\uFF0C\u9636\u6BB5 3 \u7684\u524D\u7F6E\u672C\u5C31\u4F1A\u62E6\u4F4F\u5B83\uFF1B\u8BF7\u76F4\u63A5\u6267\u884C\u9636\u6BB5 4 \u8BDA\u5B9E\u6C89\u6DC0\uFF08\u52FF\u5199\u300C\u9002\u914D\u5B8C\u6210\u300D\uFF09`}:{stage:e,decision:"run",reason:`02-baseline.json \u4E0D\u5B58\u5728\uFF08\u7B2C ${f+1}/${Tn} \u6B21\u8FD0\u884C\u9636\u6BB5 2\uFF09\u2014\u2014\u5B50 agent \u82E5\u7A7A\u624B\u9000\u51FA\u5C06\u6709\u754C\u7EED\u8DD1`,resume:{attempt:f,cap:Tn,counter:ui}}}return o.valid?u.length===0?{stage:e,decision:"run",reason:"\u65E7\u4EA7\u7269\u65E0 cases[]\u2014\u2014\u9636\u6BB5 2 \u91CD\u8DD1\u4E00\u6B21\u8865\u9F50\uFF0C\u5C5E\u9884\u671F\u884C\u4E3A"}:{stage:e,decision:"run",reason:`baseline_status=${a} \u4E0D\u6EE1\u8DB3\u8DF3\u8FC7\u6761\u4EF6\uFF08\u9700 planned/partial\uFF09`}:{stage:e,decision:"run",reason:`02-baseline.json \u6821\u9A8C\u5931\u8D25\uFF08${o.errorsBrief}\uFF09\u2014\u2014\u91CD\u8DD1\u9636\u6BB5 2`}}if(e===3){let o=Lo(2)?RS(e,t,n):null;if(o)return o;let a=re(n,"03-adapt.json","adapt",t),u=String(a.data?.status??"");if(a.exists&&a.data&&u==="skipped")return{stage:e,decision:"skip",reason:"03-adapt.json status=skipped\uFF08\u7EC8\u6001\uFF09\u2014\u2014\u76F4\u63A5\u8FDB\u5165\u9636\u6BB5 4"};let c=Kp(t);if(c&&c.status==="pending")return{stage:e,decision:"ask",reason:`\u4EBA\u5DE5\u7B7E\u540D\u6253\u5305\u68C0\u67E5\u70B9\u7B49\u5F85\u4E2D\uFF08\u7B2C ${c.round} \u8F6E\uFF0Cmanual \u6863 \xA75c\uFF09\uFF1A03-adapt \u6B62\u4E8E\u65E0\u7B7E HAP\uFF0C\u6CA1\u6709\u5DF2\u7B7E\u5305\u5C31\u6CA1\u6709\u8BBE\u5907\u8BC1\u636E\uFF0Cpc-03-dev-verify \u65E0\u6CD5\u6267\u884C\u2014\u2014\u4E0D\u8981\u6D3E\u53D1\u5B50 agent\uFF0C\u6309\u7F16\u6392\u5668 \xA75c \u8F6C\u62A5\u6253\u5305\u6307\u5357\uFF08\u5DE5\u7A0B ${c.project_path}\uFF1ADevEco \u81EA\u52A8\u7B7E\u540D + Build Hap(s) + \u964D\u7EA7\u5165\u53E3\uFF09\u5E76\u7ED3\u675F\u56DE\u5408\uFF0C\u7B49 web \u68C0\u67E5\u70B9\u53CD\u9988\uFF08\u6253\u5305\u5B8C\u6210\u2192verify \u7528\u4EBA\u5DE5 HAP \u6267\u884C\u90E8\u7F72\u4E0E\u9636\u6BB5 2 \u5192\u70DF\u7528\u4F8B\uFF1B\u6253\u5305\u5931\u8D25\u2192\u6CE8\u5165\u5931\u8D25\u65E5\u5FD7\u7EED\u4FEE\uFF1B\u964D\u7EA7\u2192\u5265 kernel ACL \u8F6C\u672C\u5730\u81EA\u7B7E\u5168\u81EA\u52A8\u7EE7\u7EED\uFF09\u540E\u4ECE\u672C gate \u6062\u590D`};if(ei()==="agent"&&a.exists&&a.data){let l=jn(n),p=Ae(n,hr);if(u==="built-and-verified"&&l?.verified===!0){let f=Kt(n),g=st(f.form,f.domains)?"render":Ne(f.domains);if(g!=="device-log"&&!dr(Ft.join(t,"build"),Zs[g]))return p<Y?{stage:e,decision:"run",reason:`\u4EA4\u4ED8\u547D\u4E2D ${g==="render"?"GUI \u9762/\u7A97\u53E3":"\u97F3\u9891"}\u80FD\u529B\u57DF\uFF08${f.domains.join("/")||"app"}\uFF09\uFF1Abuilt-and-verified + verified=true \u4ECD\u7F3A\u8BE5\u57DF\u8FBE\u6807\u8BC1\u636E\u2014\u2014`+vS[g]+`\uFF1B\u7B2C ${p+1}/${Y} \u8F6E\uFF0C\u649E\u4E0A\u9650\u5219\u8BDA\u5B9E\u964D\u7EA7\uFF08partial + \u5C1D\u8BD5\u8BC1\u636E\uFF0C\u7981\u81C6\u6D4B TODO\uFF09`,verify:{attempt:p,cap:Y}}:{stage:e,decision:"skip",reason:`built-and-verified \u4F46${g==="render"?"\u771F\u673A\u4E0A\u5C4F":"\u8BBE\u5907\u51FA\u58F0"}\u672A\u95ED\u73AF\u3001\u5DF2\u8FBE\u4E0A\u9650 ${Y}\u2014\u2014\u8BDA\u5B9E\u63A8\u8FDB\u9636\u6BB5 4\uFF0804 \u987B\u5982\u5B9E\u8BB0\u300C\u8BE5\u80FD\u529B\u57DF\u672A\u5B9E\u6D4B\u9A8C\u8BC1\u3001\u975E\u5B8C\u6574\u9002\u914D\u300D\uFF0C\u5C1D\u8BD5\u8BC1\u636E\u7559 remaining_blockers\uFF0C\u52FF\u5199\u81C6\u6D4B TODO\uFF09`};let h=pa(a.data,f.form,f.domains,t);if(h.length>0){if(p<Y){let _=Ro(n);return{stage:e,decision:"run",reason:`built-and-verified + verified=true\uFF0C\u4F46\u4EA4\u4ED8\u5F62\u6001 ${f.form??"(\u672A\u586B)"} \u9700\u4E24\u79CD\u8F7D\u4F53\u90FD\u8DD1\u8FC7\uFF0C\u7F3A `+h.map(y=>`${y}\uFF08\`ohpt-agent scaffold --kind ${An(y,f.domains,_,f.form)??"?"}\`\uFF09`).join("\u3001")+`\u2014\u2014\u540C\u4E00\u4E2A .so \u88AB HAP \u8FDB\u7A0B dlopen \u4E0E\u88AB\u94FE\u8FDB ELF \u5728 app \u57DF\u5B50\u8FDB\u7A0B\u91CC\u8DD1\u662F\u4E24\u6761\u52A0\u8F7D\u8DEF\u5F84\uFF0C\u4E00\u6761\u8FC7\u4E0D\u4EE3\u8868\u53E6\u4E00\u6761\u8FC7\uFF1B\u8865\u8DD1\u540E\u9010\u8F7D\u4F53\u586B test_run.carriers[]\uFF08evidence \u987B\u771F\u5728\u76D8\uFF09\u3002\u7B2C ${p+1}/${Y} \u8F6E\uFF0C\u649E\u4E0A\u9650\u5219\u8BDA\u5B9E\u964D\u7EA7`,verify:{attempt:p,cap:Y}}}return{stage:e,decision:"skip",reason:`built-and-verified \u4F46\u8F7D\u4F53 ${h.join("/")} \u672A\u95ED\u73AF\u3001\u5DF2\u8FBE\u4E0A\u9650 ${Y}\u2014\u2014\u8BDA\u5B9E\u63A8\u8FDB\u9636\u6BB5 4\uFF0804 \u987B\u5982\u5B9E\u8BB0\u300C\u4EC5\u5355\u8F7D\u4F53\u9A8C\u8BC1\u3001\u975E\u5B8C\u6574\u9002\u914D\u300D\uFF09`}}let m=fa(a.data,t);return m.missing.length>0?p<Y?{stage:e,decision:"run",reason:`built-and-verified + verified=true\uFF0C\u4F46\u9636\u6BB5 2 \u5FC5\u8DD1\u540D\u518C ${m.rosterTotal} \u6761\u91CC\u6709 ${m.missing.length} \u6761\u65E2\u6CA1\u8DD1\u4E5F\u6CA1\u8C41\u514D\uFF1A${m.missing.slice(0,6).join("\u3001")}${m.missing.length>6?" \u7B49":""}\u2014\u2014\u540D\u518C\u662F\u8FD9\u4E00\u8F6E\u7684\u5206\u6BCD\uFF0C\u6F0F\u6389\u7684\u65E2\u4E0D\u7B97\u8FC7\u4E5F\u4E0D\u7B97\u4E0D\u8FC7\u3002\u8865\u8DD1\u540E\u586B test_run.roster\uFF1B\u786E\u5C5E\u5E73\u53F0\u72EC\u6709\u7684\u9010\u6761\u8FDB test_run.exemptions[]\uFF08reason + evidence \u6307\u56DE source/ \u7684 file:line\uFF09\u3002\u7B2C ${p+1}/${Y} \u8F6E\uFF0C\u649E\u4E0A\u9650\u5219\u8BDA\u5B9E\u964D\u7EA7`,verify:{attempt:p,cap:Y}}:{stage:e,decision:"skip",reason:`built-and-verified \u4F46\u540D\u518C\u4ECD\u6709 ${m.missing.length}/${m.rosterTotal} \u6761\u672A\u4EA4\u4EE3\u3001\u5DF2\u8FBE\u4E0A\u9650 ${Y}\u2014\u2014\u8BDA\u5B9E\u63A8\u8FDB\u9636\u6BB5 4\uFF0804 \u987B\u5982\u5B9E\u8BB0\u300C\u672A\u8986\u76D6\u5168\u90E8\u8BA1\u5212\u7528\u4F8B\u3001\u975E\u5B8C\u6574\u9A8C\u8BC1\u300D\uFF09`}:{stage:e,decision:"skip",reason:"03-adapt.json built-and-verified \u4E14\u72EC\u7ACB\u9A8C\u6536 verified=true\uFF08\u7EC8\u6001\uFF09\u2014\u2014\u8FDB\u5165\u9636\u6BB5 4"}}if(l===null)return{stage:e,decision:"run",reason:`03-adapt.json status=${u||"\u65E0\u6548"}\uFF0C\u72EC\u7ACB\u9A8C\u6536\u672A\u8FD0\u884C\uFF08\u6216\u88C1\u51B3\u65E9\u4E8E\u5176\u8BBE\u5907\u8BC1\u636E\u3001\u5DF2\u5931\u6548\uFF09\u2014\u2014\u9636\u6BB5\u672B\u987B\u5148\u8D77 pc-03-dev-verify \u5BF9\u6355\u83B7\u8BC1\u636E\u6838\u9A8C\uFF08ohpt-agent verify-demo \u5DF2\u4EA7 demo-verify.json \u540E\uFF09`};if(l.verified===!0){let f=Un({...a.data,status:"built-and-verified"},"adapt");if(!f.valid){let g=f.errors.filter(m=>m.keyword!=="if").map(m=>`${m.path} ${m.message}`).join("\uFF1B"),h=String(a.data?.target_path_covered??"");return p<Y?{stage:e,decision:"run",reason:`\u72EC\u7ACB\u9A8C\u6536 verified=true\uFF0C\u4F46 built-and-verified \u7684\u524D\u7F6E\u672A\u6EE1\u8DB3\u3001\u4E0D\u80FD\u5B9A\u7A3F\uFF1A${g||f.message}`+(h&&h!=="covered"?`\uFF1B\u4E14 target_path_covered=${h}\uFF08\u76EE\u6807\u8DEF\u5F84\u672A\u9A8C\u6EE1\uFF09`:"")+`\u2014\u2014\u56DE\u5230 01-scan \u7684 \`harmony_adaptation.blockers[]\`\uFF0C\u628A \`adaptability=adaptable\` \u5374\u59CB\u7EC8\u672A\u5904\u7F6E\u7684\u963B\u585E\u771F\u6B63\u89E3\u6389\uFF08\u5BF9\u5E94\u80FD\u529B\u57DF\u65B9\u6848\u89C1 gate \u6CE8\u5165\u7684 required_skills\uFF09\uFF1B\u786E\u5B9E\u89E3\u4E0D\u6389\u5C31\u6539\u5224\u4E3A\u4E0D\u53EF\u9002\u914D\u5E76\u5199\u660E\u8BD5\u8FC7\u4EC0\u4E48\u3002\u7B2C ${p+1}/${Y} \u8F6E\uFF0C\u649E\u4E0A\u9650\u5219\u8BDA\u5B9E\u505C\u5728 partial`,verify:{attempt:p,cap:Y}}:{stage:e,decision:"skip",reason:`built-and-verified \u524D\u7F6E\u59CB\u7EC8\u672A\u6EE1\u8DB3\uFF08${g||f.message}\uFF09\u3001\u5DF2\u8FBE\u4E0A\u9650 ${Y}\u2014\u2014\u505C\u73AF\u3001\u8BDA\u5B9E\u63A8\u8FDB\u9636\u6BB5 4\uFF0C\u72B6\u6001\u4FDD\u6301 partial\uFF0804-summary \u987B\u5982\u5B9E\u53CD\u6620\u672A\u95ED\u73AF\uFF0C\u52FF\u5199\u300C\u9002\u914D\u5B8C\u6210\u300D\uFF09`}}return{stage:e,decision:"run",reason:`\u72EC\u7ACB\u9A8C\u6536 verified=true \u4E14\u7EC8\u6001\u524D\u7F6E\u6EE1\u8DB3\uFF08\u96F6\u56DE\u5F52/\u4EA7\u7269\u5728\u76D8/\u771F\u673A\u5DF2\u8DD1\uFF09\uFF0C\u5F53\u524D status=${u}\u2014\u2014\u628A\u72B6\u6001\u5B9A\u7A3F\u4E3A built-and-verified\uFF08\u5E76\u540C\u6B65 03-adapt-report.md\uFF1B\u65E0\u987B\u91CD\u5EFA\u3001\u65E0\u987B\u91CD\u8DD1\u9A8C\u6536\uFF09`}}return p>=Y?{stage:e,decision:"skip",reason:`\u72EC\u7ACB\u9A8C\u6536 ${p} \u6B21\u672A\u901A\u8FC7\u3001\u5DF2\u8FBE\u786C\u4E0A\u9650 ${Y}\u2014\u2014\u505C\u73AF\u3001\u8BDA\u5B9E\u63A8\u8FDB\u9636\u6BB5 4\uFF0804-summary \u987B\u5982\u5B9E\u53CD\u6620\u672A\u95ED\u73AF\uFF0C\u52FF\u5199 built-and-verified\uFF09`}:{stage:e,decision:"run",reason:`\u72EC\u7ACB\u9A8C\u6536 verified=false\uFF08\u7B2C ${p+1}/${Y} \u8F6E\uFF09\u2014\u2014\u6309 verify-verdict.json \u7684 diagnosis \u7EED\u4FEE\uFF0C\u53EA\u8865\u7F3A\u4E0D\u6E05\u7A7A\u91CD\u6765`+(l.diagnosis?`\uFF1A${String(l.diagnosis).slice(0,120)}`:""),verify:{attempt:p,cap:Y}}}if(a.exists&&a.data&&u==="built-and-verified")return{stage:e,decision:"skip",reason:"03-adapt.json \u5DF2\u5B58\u5728\u4E14 status=built-and-verified\uFF08\u7EC8\u6001\uFF09\u2014\u2014\u76F4\u63A5\u8FDB\u5165\u9636\u6BB5 4"};if(a.exists)return{stage:e,decision:"run",reason:`03-adapt.json status=${u||"\u65E0\u6548"}\uFF08\u975E\u7EC8\u6001\uFF09\u2014\u2014\u9636\u6BB5 3 \u65AD\u70B9\u7EED\u8DD1\uFF0C\u53EA\u8865\u672A\u5B8C\u6210\u7684\u90E8\u5206`};let d=Ae(n,Ca);return d>=gr?{stage:e,decision:"block",reason:`03-adapt.json \u8FDE\u7EED ${d} \u6B21\u672A\u4EA7\u51FA\u3001\u5DF2\u8FBE\u4E0A\u9650 ${gr}\u2014\u2014\u5224\u5B9A STAGE 3 FAILED\uFF0C\u8DF3\u8FC7\u9636\u6BB5 3\u3001\u76F4\u63A5\u6267\u884C\u9636\u6BB5 4\uFF08\u8BDA\u5B9E\u6C89\u6DC0\uFF0C\u52FF\u5199\u300C\u9002\u914D\u5B8C\u6210\u300D\uFF09`}:{stage:e,decision:"run",reason:`03-adapt.json \u4E0D\u5B58\u5728\uFF08\u7B2C ${d+1}/${gr} \u6B21\u8FD0\u884C\u9636\u6BB5 3\uFF09\u2014\u2014\u5B50 agent \u82E5\u7A7A\u624B\u9000\u51FA\u5C06\u6709\u754C\u7EED\u8DD1`,resume:{attempt:d,cap:gr,counter:Ca}}}if(e===5)return jS(e,t,n,r);if(e===6)return FS(e,t,n);if(e===4){if(!r.exists)return{stage:e,decision:"block",reason:"STAGE 1 FAILED\u2014\u201401-scan.json \u4E0D\u5B58\u5728\uFF0C\u9636\u6BB5 4 \u65E0\u8F93\u5165\u53EF\u6C47\u603B\uFF08\u6D41\u6C34\u7EBF\u552F\u4E00\u786C\u505C\uFF09"};let o=re(n,"04-summary.json","summary",t);return o.exists&&o.valid?{stage:e,decision:"skip",reason:"04-summary.json \u5DF2\u5B58\u5728\u4E14 schema \u6821\u9A8C\u901A\u8FC7\uFF08\u4E14\u4E0D\u65E9\u4E8E\u4EFB\u4F55\u4E0A\u6E38\u4EA7\u7269\uFF09"}:{stage:e,decision:"run",reason:"\u9636\u6BB5 4 \u65E0\u6761\u4EF6\u8FD0\u884C\uFF08\u6D41\u6C34\u7EBF\u552F\u4E00\u51FA\u53E3\uFF0C\u6C89\u6DC0\u4E0D\u80FD\u4E22\uFF09"}}return{stage:e,decision:"run",reason:`\u672A\u77E5\u9636\u6BB5 ${e}`}}function zp(...e){for(let t of e)if(typeof t=="string"&&t.length>0)return t;return null}function xa(e){let t=e;if(!t)return null;let n=zp(t.subagent_type,t.subagentType,t.agent);return n?{agent:n,prompt:zp(t.prompt,t.description)??""}:null}var PS="dispatch-ledger.json";function Wp(e){return mr.join(e,PS)}function Jp(e){try{let t=JSON.parse(Gp.readFileSync(Wp(e),"utf8")),n={};for(let[r,s]of Object.entries(t)){if(!s||typeof s!="object")continue;let i=s;if(typeof i.counter=="string"&&typeof i.settled=="boolean"){let o={counter:i.counter,settled:i.settled};typeof i.progressStamp=="string"&&(o.progressStamp=i.progressStamp),typeof i.startedAt=="number"&&(o.startedAt=i.startedAt),i.reviewPause&&typeof i.reviewPause=="object"&&(o.reviewPause=i.reviewPause),typeof i.claimedAt=="string"&&(o.claimedAt=i.claimedAt),typeof i.settledAt=="string"&&(o.settledAt=i.settledAt),n[r]=o}}return n}catch{return{}}}function Fa(e,t){try{Gp.writeFileSync(Wp(e),JSON.stringify(t)+`
632
+ `)}catch{}}function Yp(e,t,n,r){let s=$o(e);if(s===null)return null;let i=pr(t),o=ba(t)??(i.length===1?i[0]:void 0)??n;if(!o)return null;let a;try{a=Vp(s,o)}catch{return null}if(a.review_error||a.review&&(a.decision!=="run"||a.review.agent!==e))throw new Cn(a.reason);if(a.decision!=="run")return null;let u=mr.join(mr.resolve(o),R),c=Jp(u),d=c[e],l=a.review?.action==="resume"&&d?.reviewPause?.refunded&&d.reviewPause.id===a.review.id?d.counter:null,p=a.resume?.counter??(a.verify?hr:null)??l;return p?(d&&!d.settled&&(d.claimedAt&&Jt({event:"agent_dispatch",host:r,workspaceRoot:o,agent:e,stage:s,counter:d.counter,settled:!1,claimedAt:d.claimedAt}),ja(u,d.counter)),Mp(u,p),c[e]={counter:p,settled:!1,claimedAt:new Date().toISOString(),...St()&&e==="pc-03-dev-adapt-code"?{progressStamp:$s(o),startedAt:Date.now()}:{}},Fa(u,c),p):null}function Zp(e,t,n,r){try{let s=$o(e);if(s===null)return;let i=pr(t),o=ba(t)??(i.length===1?i[0]:void 0)??n;if(!o)return;let a=mr.join(mr.resolve(o),R),u=Jp(a),c=u[e],d=St()&&e==="pc-03-dev-adapt-code"?nr(o):void 0;if(c?.settled&&c.reviewPause&&d?.status==="pending"&&c.progressStamp===$s(o)&&(c.reviewPause.id=d.id,Fa(a,u)),c&&!c.settled){if(d?.status==="pending"&&c.startedAt!==void 0&&Date.parse(d.created_at)>=c.startedAt){let f=c.progressStamp===$s(o);f&&ja(a,c.counter),c.reviewPause={id:d.id,refunded:f}}let l=new Date().toISOString();u[e]={...c,settled:!0,settledAt:l},Fa(a,u);let p=c.claimedAt?Date.parse(c.claimedAt):NaN;Jt({event:"agent_dispatch",host:r,workspaceRoot:o,agent:e,stage:s,counter:c.counter,duration_ms:Number.isFinite(p)?Date.parse(l)-p:null,settled:!0})}}catch{}}import Bn from"node:fs";import Mn from"node:path";var $S=2e4,LS=18e3;function NS(){let e=process.env.OHPT_USAGE_LOG;if(e!==void 0){let t=e.trim().toLowerCase();if(t==="0"||t==="false"||t==="off")return!1;if(t==="1"||t==="true"||t==="on")return!0}try{let n=C(Oe)?.usage_log?.enabled;if(typeof n=="boolean")return n}catch{}return!0}function IS(){return process.env.OHPT_USAGE_LOG_DIR||Ot}function TS(e,t){let n=`${e}.${process.pid}.tmp`;Bn.writeFileSync(n,t),Bn.renameSync(n,e)}function Xp(e,t){Bn.mkdirSync(Mn.dirname(e),{recursive:!0}),Bn.appendFileSync(e,t);let n=Bn.readFileSync(e,"utf8").split(`
633
+ `).filter(r=>r.trim().length>0);n.length>$S&&TS(e,n.slice(n.length-LS).join(`
634
+ `)+`
635
+ `)}function Qp(e){let t=Mn.resolve(e);for(;;){try{if(Bn.statSync(Mn.join(t,R)).isDirectory())return t}catch{}let n=Mn.dirname(t);if(n===t)return null;t=n}}function yr(e,t,n){try{if(!NS())return;let r=JSON.stringify(t)+`
636
+ `;try{Xp(Mn.join(IS(),`${e}.jsonl`),r)}catch{}if(n){let s=Qp(n);if(s)try{Xp(Mn.join(s,R,`${e}.jsonl`),r)}catch{}}}catch{}}var BS=/(?:errors|local-errors)[/\\]([EL]\d+)\.md|requirements[/\\](R\d+)\.kv/gi;function Oa(e){let t=[],n=new Set;if(!e)return t;for(let r of e.matchAll(BS)){let s=(r[1]??r[2]).toUpperCase();n.has(s)||(n.add(s),t.push(s))}return t}function ef(e){return e.replace(/\\+/g,"/")}function tf(e,t){let n=[],r=new Set,s=ef(t).replace(/\/+$/,"")+"/";for(let i of e){if(!i||typeof i!="string")continue;let o=ef(i),a=null;if(o.startsWith(s))a=o.slice(s.length);else{let u=o.indexOf("/skills/");u>=0?a=o.slice(u+8):o.startsWith("skills/")&&(a=o.slice(7))}!a||!/\.(md|kv)$/.test(a)||/(^|\/)SKILL\.md$/.test(a)||Oa(a).length>0||r.has(a)||(r.add(a),n.push(a))}return n}function nf(e){return e.split(/[\s"'`|;&<>(){}\[\],]+/).filter(Boolean)}function rf(e,t,n){try{let r=n?.refs??[],s=n?.localHits??0,i=n?.rules??[];yr("knowledge-hits",{ts:new Date().toISOString(),ids:e,...r.length>0?{refs:r}:{},...s>0?{local_hits:s}:{},...i.length>0?{rules:i}:{},source:t,matched_count:e.length,no_match:e.length===0&&r.length===0&&s===0&&i.length===0,...n?.outcome?{outcome:n.outcome}:{},...n?.note?{note:n.note}:{},...typeof n?.sdkApiHits=="number"?{sdk_api_hits:n.sdkApiHits}:{},...typeof n?.sdkApiCorpus=="boolean"?{sdk_api_corpus:n.sdkApiCorpus}:{},...n?.lib?{lib:n.lib}:{},...n?.host?{host:n.host}:{}},n?.cwd)}catch{}}var li={"pc-error-atlas":{keywords:["\u9519\u8BEF\u56FE\u8C31","\u62A5\u9519\u5B9A\u4F4D","E \u7F16\u53F7","undefined reference","undefined symbol","error while loading shared libraries","cannot guess build type","foreign exception"],intentPatterns:["\\b[EL]\\d{3}\\b","(\u7F16\u8BD1|\u94FE\u63A5|\u8FD0\u884C)(\u62A5\u9519|\u5931\u8D25)"],priority:"high"},"pc-knowledge-base":{keywords:["\u4EA4\u53C9\u7F16\u8BD1","sysroot","binary-sign-tool","ELF \u7B7E\u540D","LD_PRELOAD","mount namespace","musl","hdc \u90E8\u7F72"],intentPatterns:["aarch64-unknown-linux-ohos","\u9E3F\u8499.{0,8}(\u5E73\u53F0\u673A\u5236|\u79C1\u6709 ?HNP)"],priority:"high"},"pc-delivery-forms":{keywords:["\u4EA4\u4ED8\u5F62\u6001","delivery_form","pure-runtime","native-extension","cpp-lib","HAP \u6253\u5305","\u4EA4\u4ED8\u5FC5\u505A\u9879"],intentPatterns:["delivery[_ -]?form"],priority:"high"},"pc-device-verify":{keywords:["\u8BBE\u5907\u9A8C\u8BC1","\u771F\u673A\u6D4B\u8BD5","hilog \u53D6\u8BC1","pytest on device","cppcrash","HAP \u9A8C\u8BC1","\u6BB5\u9519\u8BEF"],intentPatterns:["\u771F\u673A.{0,6}(\u8DD1|\u9A8C\u8BC1|\u6D4B\u8BD5)","\u4E0A\u8BBE\u5907"],priority:"medium"},"pc-capability-domains":{keywords:["\u80FD\u529B\u57DF","capability domain","ohos_window_bridge","terminfo","\u4F2A\u7EC8\u7AEF","GLFW","Qt \u5DE5\u5177\u94FE"],intentPatterns:["\u5E73\u53F0\u80FD\u529B.{0,4}(\u4E0D\u5B58\u5728|\u7F3A\u5931)","\u80FD\u529B.{0,4}\u66FF\u6362"],priority:"medium"},"pc-schemas":{keywords:["\u5B57\u6BB5\u5951\u7EA6","01-scan","02-baseline","03-adapt","04-summary","verify-verdict","JSON Schema"],intentPatterns:["0[1-6]-(scan|baseline|adapt|summary|testcases|testdemo)\\.json"],priority:"medium"},"pc-test-design":{keywords:["\u529F\u80FD\u70B9","\u6D4B\u8BD5\u8BBE\u8BA1","\u7528\u4F8B\u8BBE\u8BA1","IBO","\u7B49\u4EF7\u7C7B","\u8FB9\u754C\u503C","\u8986\u76D6\u5EA6","\u9ED1\u76D2\u7528\u4F8B"],intentPatterns:["PRD","\u6D4B\u8BD5\u7528\u4F8B.{0,4}(\u8BBE\u8BA1|\u6E05\u5355)"],priority:"medium"},"pc-registry":{keywords:["\u4F9D\u8D56\u590D\u7528","registry","\u4E2D\u5FC3\u4ED3","\u5236\u54C1\u5E93","adapted-libs","harmony_adapted"],intentPatterns:["\u5DF2\u9002\u914D.{0,4}(\u5E93|\u5236\u54C1)","\u590D\u7528.{0,4}(\u5236\u54C1|\u4EA7\u7269|\u5E93)"],priority:"medium"},"pc-recipe-qt-app":{keywords:["Qt Widgets","Qt5 \u9E3F\u8499","Qt6 \u964D\u7EA7","QPA","AUTOMOC","Qt \u4EA4\u53C9\u7F16\u8BD1","QOpenHarmonyAbility"],intentPatterns:["Qt[56]?.{0,8}(\u9E3F\u8499|OHOS|\u5E94\u7528)"],priority:"medium"},"harmonyos-sdk-api-lookup":{keywords:["@ohos.","@hms.","API \u7B7E\u540D","SystemCapability","\u7CFB\u7EDF\u80FD\u529B","API \u53C2\u8003"],intentPatterns:["@(ohos|hms)\\.[\\w.]+","API.{0,4}(\u7B7E\u540D|\u67E5\u8BE2|\u6743\u9650)"],priority:"medium"},"harmonyos-docs-lookup":{keywords:["\u9E3F\u8499\u6587\u6863","\u9E3F\u8499\u5F00\u53D1","ArkTS \u5F00\u53D1\u6307\u5BFC","Kit \u6587\u6863","\u7EC4\u4EF6\u7528\u6CD5","\u9519\u8BEF\u7801\u67E5\u8BE2","\u5F00\u53D1\u6307\u5357"],intentPatterns:["\u5B98\u65B9\u6587\u6863","(\u5982\u4F55|\u600E\u4E48)\u5B9E\u73B0"],priority:"medium"},"harmonyos-pc-resources":{keywords:["\u4E09\u65B9\u5E93\u9E3F\u8499\u5316","vcpkg","harmonybrew","lycium","\u8FD0\u884C\u65F6\u5D4C\u5165","\u5F00\u6E90\u547D\u4EE4\u884C"],intentPatterns:["(\u54EA\u4E9B|\u6709\u54EA\u4E9B).{0,8}(\u5DE5\u5177|\u4E09\u65B9\u5E93|\u8FD0\u884C\u65F6)"],priority:"low"},"openharmony-device-porting":{keywords:["BUILD.gn","GN \u6784\u5EFA","SELinux \u7B56\u7565","avc denied","init service","seccomp","faultlogger","hidumper"],intentPatterns:["\u8BBE\u5907\u5C42.{0,4}\u79FB\u690D","GN.{0,4}\u6784\u5EFA"],priority:"low"},"pc-node-library":{keywords:["ecosystem=nodejs","Node.js \u4E09\u65B9\u5E93","runtime_mode","node-and-electron","electron-only"],intentPatterns:["node(js)?\\s*(\u4E09\u65B9\u5E93|library)"],priority:"low"},"pc-remote-build":{keywords:["\u8FDC\u7A0B\u6784\u5EFA","remote build","SSH \u73AF\u5883","remote prepare"],intentPatterns:["\u8FDC\u7A0B.{0,4}\u6784\u5EFA"],priority:"low"},"pc-workspace-layout":{keywords:["\u76EE\u5F55\u7ED3\u6784","workspace layout","\u4EA7\u7269\u843D\u54EA","\u521D\u59CB\u5316\u5DE5\u4F5C\u533A","workspace init","\u4EA7\u7269\u5F52\u5C5E"],intentPatterns:["\u5DE5\u4F5C\u533A.{0,4}(\u5E03\u5C40|\u7ED3\u6784|\u521D\u59CB\u5316)"],priority:"low"}},sf={high:0,medium:1,low:2},of=new Map;for(let[e,t]of Object.entries(li)){let n=[];for(let r of t.intentPatterns)try{n.push(new RegExp(r,"i"))}catch{}of.set(e,n)}function af(e){if(!e)return[];let t=e.toLowerCase(),n=[];for(let[r,s]of Object.entries(li)){let i=s.keywords.some(a=>t.includes(a.toLowerCase())),o=(of.get(r)??[]).some(a=>a.test(e));(i||o)&&n.push(r)}return n.sort((r,s)=>sf[li[r].priority]-sf[li[s].priority]||r.localeCompare(s))}async function _r(){return new Promise(e=>{let t=[];process.stdin.on("data",n=>t.push(n)),process.stdin.on("end",()=>e(Buffer.concat(t).toString("utf8"))),process.stdin.on("error",()=>e("")),process.stdin.isTTY&&e("")})}function br(e){if(!e)return null;try{let t=JSON.parse(e),n=t.tool_input?.file_path||t.tool_input?.path||t.tool_input?.filePath;return n?{filePath:n,cwd:t.cwd,raw:e}:{raw:e}}catch{return{raw:e}}}function HS(e){if(e.valid)return`\u2705 ${e.message}`;let t=`\u274C ${e.message}`;if(e.errors&&e.errors.length>0){t+=`
637
+
638
+ \u9700\u8981\u4FEE\u590D\u7684\u95EE\u9898:`;for(let n of e.errors)t+=`
639
+ - \u8DEF\u5F84 \`${n.path}\`: ${n.message} (${n.keyword})`;t+=`
640
+
641
+ \u8BF7\u6839\u636E\u4EE5\u4E0A\u9519\u8BEF\u4FEE\u6539 JSON \u6587\u4EF6\u540E\u91CD\u65B0\u5199\u5165\u3002`}return t}function KS(e){return e.success?`\u2705 ${e.message||"\u62A5\u544A\u5DF2\u751F\u6210"}`:`\u274C \u62A5\u544A\u751F\u6210\u5931\u8D25: ${e.error||"\u672A\u77E5\u9519\u8BEF"}`}function US(e,t){if(Be(`
642
+ \u{1F50D} \u81EA\u52A8\u6821\u9A8C: ${e}`),t.validation&&Be(HS(t.validation)),t.render&&(Be(`
643
+ \u{1F4DD} \u81EA\u52A8\u751F\u6210\u62A5\u544A...`),Be(KS(t.render))),t.warnings&&t.warnings.length>0){Be(`
644
+ \u26A0\uFE0F \u4EA7\u7269\u6838\u5BF9\u544A\u8B66\uFF08\u4E0D\u963B\u585E\uFF0C\u4F46\u4EA4\u4ED8\u524D\u5FC5\u987B\u89E3\u51B3\u6216\u5728 JSON \u4E2D\u5982\u5B9E\u8BB0\u5F55\uFF09:`);for(let n of t.warnings)Be(` - ${n}`)}}function cf(e,t){let n=ad(t);if(n.length!==0){if(e.json){Fn({triggered:!0,ownership_warnings:n},{compact:!0});return}Be(`
645
+ \u26A0\uFE0F \u4EA7\u7269\u5F52\u5C5E\u544A\u8B66\uFF08\u4E0D\u963B\u585E\uFF0C\u6309\u4E0B\u5217\u5404\u6761\u8BF4\u660E\u5904\u7406\uFF09:`);for(let r of n)Be(` - ${r}`)}}function qS(e){return e.json&&Fn({triggered:!1,message:"\u7F3A\u5C11 <file_path> \u53C2\u6570"},{compact:!0}),0}async function uf(e){let t=e.debugLog||(()=>{}),n=e.filePath,r=e.cwd;if(!n){t("waiting for stdin...");let i=br(await _r());i?.raw?t("stdin raw length="+i.raw.length+" preview="+i.raw.slice(0,200)):t("stdin empty"),i?.filePath&&(n=i.filePath,i.cwd&&(r=i.cwd),t("stdin resolved filePath="+n))}if(!n)return qS(e);cf(e,[Hn.isAbsolute(n)?n:Hn.resolve(r,n)]);let s=Hn.basename(n);return Je[s]?lf(e,n,r,t):(t("basename="+s+" not in filenameToSchemaKey, skipping"),0)}function lf(e,t,n,r){let s=Hn.basename(t),i=Hn.isAbsolute(t)?t:Hn.resolve(n,t);if(!MS.existsSync(i))return r("file not found: "+i),0;let o=Ep({filePath:i,workspaceRoot:n,host:"claudecode"});if(o.triggered)try{let a=va(Ct),u=Sa(a);u.markFresh(i),ka(a,u)}catch{}if(e.json){let a={triggered:o.triggered,schemaKey:o.schemaKey,valid:o.validation?.valid,validation:o.validation,render:o.render,warnings:o.warnings};Fn(a,{compact:!0})}else o.triggered&&US(s,o);return 0}async function df(e){let t=e.debugLog||(()=>{}),n=br(await _r()),r,s=e.cwd;if(n?.raw)try{let u=JSON.parse(n.raw);r=u.tool_input?.command,u.cwd&&(s=u.cwd)}catch{}let i=va(Ct),o=Sa(i);if(r){let u=Cp(r);u.length>0&&t("bash candidates registered: "+u.join(", ")),o.register(u);let c=pr(r);c.length>0&&t("bash workspace roots registered: "+c.join(", ")),o.registerRoots(c)}cf(e,o.collectOwnedChanges());let a=o.collectChanged();if(ka(i,o),a.length===0)return 0;t("bash-written stage artifacts detected: "+a.join(", "));for(let u of a)lf(e,u,s,t);return 0}async function pf(e){let t=e.debugLog||(()=>{}),n=br(await _r());if(!n?.raw)return 0;let r;try{r=JSON.parse(n.raw)}catch{return 0}let s=xa(r.tool_input);if(!s)return 0;try{let i=Yp(s.agent,s.prompt,r.cwd||e.cwd,"claudecode");i&&t("dispatch claimed: "+s.agent+" -> "+i)}catch(i){if(!(i instanceof Cn))throw i;return console.error(i.message),2}return 0}async function ff(e){let t=e.debugLog||(()=>{}),n=br(await _r());if(!n?.raw)return 0;let r;try{r=JSON.parse(n.raw)}catch{return 0}let s=xa(r.tool_input);return s&&(Zp(s.agent,s.prompt,r.cwd||e.cwd,"claudecode"),t("dispatch settled: "+s.agent)),0}async function Pa(e){let t=br(await _r());if(!t?.raw)return e("usage hook: stdin empty"),null;try{return JSON.parse(t.raw)}catch{return e("usage hook: stdin not JSON"),null}}async function hf(e){let t=e.debugLog||(()=>{});try{let n=await Pa(t),r=n?.tool_input,s=typeof r?.skill=="string"&&r.skill?r.skill:typeof r?.name=="string"&&r.name?r.name:null;s&&(yr("skill-events",{ts:new Date().toISOString(),event:"used",skill:s,source:"claudecode",host:"claudecode"},n?.cwd),t("usage skill recorded: "+s))}catch{}return 0}async function gf(e){let t=e.debugLog||(()=>{});try{let n=await Pa(t);if(n?.tool_input){let r=JSON.stringify(n.tool_input),s=Oa(r),i=tf(nf(r),ie);(s.length>0||i.length>0)&&(rf(s,"file-read",{host:"claudecode",cwd:n.cwd,refs:i}),t("usage knowledge recorded: "+[...s,...i].join(",")))}}catch{}return 0}async function mf(e){let t=e.debugLog||(()=>{});try{let n=await Pa(t);if(typeof n?.prompt=="string"&&n.prompt){let r=af(n.prompt);for(let s of r)yr("skill-events",{ts:new Date().toISOString(),event:"suggested",skill:s,source:"prompt-match",host:"claudecode"},n.cwd);r.length>0&&t("usage suggest recorded: "+r.join(","))}}catch{}return 0}var JS=GS.join(WS.tmpdir(),"ohpt-hook-debug.log");function Fe(e){try{let t="["+new Date().toISOString()+"] "+e+`
646
+ `;zS.appendFileSync(JS,t)}catch{}}var pt=VS({args:process.argv.slice(2),allowPositionals:!0,strict:!1,options:{cwd:{type:"string",default:process.cwd()},json:{type:"boolean"},bash:{type:"boolean"},dispatch:{type:"boolean"},"dispatch-settle":{type:"boolean"},"usage-skill":{type:"boolean"},"usage-knowledge":{type:"boolean"},"usage-suggest":{type:"boolean"}}}),yf=pt.positionals[0],di=pt.values.cwd,vr=!!pt.values.json,YS=!!pt.values.bash,ZS=!!pt.values.dispatch,XS=!!pt.values["dispatch-settle"],QS=!!pt.values["usage-skill"],e2=!!pt.values["usage-knowledge"],t2=!!pt.values["usage-suggest"];vr&&Kd();Fe("hook invoked | argv="+JSON.stringify(process.argv.slice(2))+" | filePath="+(yf||"(none)"));Fe("env CLAUDE_PLUGIN_ROOT="+(process.env.CLAUDE_PLUGIN_ROOT||"(not set)"));Fe("stdin isTTY="+String(process.stdin.isTTY));var n2=QS?hf({debugLog:Fe}):e2?gf({debugLog:Fe}):t2?mf({debugLog:Fe}):ZS?pf({cwd:di,json:vr,debugLog:Fe}):XS?ff({cwd:di,json:vr,debugLog:Fe}):YS?df({cwd:di,json:vr,debugLog:Fe}):uf({filePath:yf,cwd:di,json:vr,debugLog:Fe});n2.then(async e=>{await ra(),Fe("hook done | exitCode="+String(e)),sa(e)}).catch(async e=>{Fe("hook error: "+(e instanceof Error?e.message:String(e))),await ra(),sa(0)});