cgraphx 2.0.2 → 2.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.claude-template/FLOW-MAP.md +13 -3
- package/dist/.claude-template/agents/task-history.md +186 -0
- package/dist/.claude-template/commands/end.md +1 -0
- package/dist/.claude-template/skills/cgraphx-guide/SKILL.md +5 -3
- package/dist/.claude-template/skills/cgraphx-guide/how-to-use.html +8 -8
- package/dist/.claude-template/skills/cgraphx-guide/how-to-use.md +8 -8
- package/dist/.claude-template/skills/clarify-requirements/SKILL.md +13 -9
- package/dist/.claude-template/skills/db-query/SKILL.md +19 -2
- package/dist/.claude-template/skills/iboc-check/SKILL.md +51 -23
- package/dist/.claude-template/skills/iboc-check/filler-prompt.md +3 -4
- package/dist/.claude-template/skills/run-api-test/SKILL.md +15 -15
- package/dist/.claude-template/skills/run-api-test/assets/{template-test-report.md → template-/346/216/245/345/217/243/346/265/213/350/257/225/346/212/245/345/221/212.md} +4 -4
- package/dist/.claude-template/skills/run-api-test/references/bru-run.md +1 -1
- package/dist/.claude-template/skills/run-api-test/references/db-verification.md +2 -2
- package/dist/.claude-template/skills/run-api-test/references/report-format.md +6 -6
- package/dist/.claude-template/skills/run-api-test/references/service-readiness.md +1 -1
- package/dist/.claude-template/skills/run-api-test/references/test-scope.md +6 -6
- package/dist/.claude-template/skills/run-ui-test/SKILL.md +186 -0
- package/dist/.claude-template/skills/run-ui-test/references/report-format.md +77 -0
- package/dist/.claude-template/skills/subagent-implement/SKILL.md +3 -2
- package/dist/.claude-template/skills/write-api/SKILL.md +18 -18
- package/dist/.claude-template/skills/write-api/assets/{template-api-spec.md → template-/346/216/245/345/217/243/346/265/213/350/257/225-spec.md} +1 -1
- package/dist/.claude-template/skills/write-api/references/{api-spec-format.md → /346/216/245/345/217/243/346/265/213/350/257/225-spec-format.md} +3 -3
- package/dist/.claude-template/skills/write-plan/SKILL.md +4 -2
- package/dist/.claude-template/skills/write-ui-test/SKILL.md +125 -0
- package/dist/.claude-template/skills/write-ui-test/references//347/224/250/344/276/213/350/247/204/346/240/274-format.md +94 -0
- package/dist/core/code/engine/cli/analyze-config.js +320 -0
- package/dist/core/code/engine/cli/analyze.js +1086 -0
- package/dist/core/code/engine/cli/cli-message.js +83 -0
- package/dist/core/code/engine/cli/detect-changes-format.js +58 -0
- package/dist/core/code/engine/cli/embedding-dims.js +43 -0
- package/dist/core/code/engine/cli/format-elapsed.js +12 -0
- package/dist/core/code/engine/cli/help-i18n.js +144 -0
- package/dist/core/code/engine/cli/i18n/en.js +110 -0
- package/dist/core/code/engine/cli/i18n/index.js +47 -0
- package/dist/core/code/engine/cli/i18n/resources.js +9 -0
- package/dist/core/code/engine/cli/i18n/zh-CN.js +110 -0
- package/dist/core/code/engine/cli/lazy-action.js +67 -0
- package/dist/core/code/engine/cli/optional-grammars.js +136 -0
- package/dist/core/code/engine/cli/resolve-invocation.js +76 -0
- package/dist/core/code/engine/cli/status.js +156 -0
- package/dist/core/code/engine/cli/tool.js +384 -0
- package/dist/core/code/engine/config/ignore-service.js +511 -0
- package/dist/core/code/engine/config/supported-languages.js +17 -0
- package/dist/core/code/engine/core/analysis-features.js +64 -0
- package/dist/core/code/engine/core/analyzer-identity.js +2171 -0
- package/dist/core/code/engine/core/git-staleness.js +180 -0
- package/dist/core/code/engine/core/graph/graph.js +180 -0
- package/dist/core/code/engine/core/graph/import-cycles.js +106 -0
- package/dist/core/code/engine/core/graph/types.js +2 -0
- package/dist/core/code/engine/core/index-freshness.js +12 -0
- package/dist/core/code/engine/core/ingestion/binding-accumulator.js +341 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/c-cpp.js +168 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/csharp.js +9 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/dart.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/go.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/jvm.js +54 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/php.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/python.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/ruby.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/rust.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/swift.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/typescript-javascript.js +11 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/generic.js +62 -0
- package/dist/core/code/engine/core/ingestion/call-processor.js +503 -0
- package/dist/core/code/engine/core/ingestion/call-routing.js +98 -0
- package/dist/core/code/engine/core/ingestion/call-types.js +3 -0
- package/dist/core/code/engine/core/ingestion/cfg/callee-cell-format.js +45 -0
- package/dist/core/code/engine/core/ingestion/cfg/cfg-builder.js +202 -0
- package/dist/core/code/engine/core/ingestion/cfg/collect.js +81 -0
- package/dist/core/code/engine/core/ingestion/cfg/control-dependence.js +185 -0
- package/dist/core/code/engine/core/ingestion/cfg/control-flow-context.js +130 -0
- package/dist/core/code/engine/core/ingestion/cfg/emit.js +646 -0
- package/dist/core/code/engine/core/ingestion/cfg/post-dominators.js +182 -0
- package/dist/core/code/engine/core/ingestion/cfg/reaching-def-reason-codec.js +139 -0
- package/dist/core/code/engine/core/ingestion/cfg/reaching-defs-graph.js +322 -0
- package/dist/core/code/engine/core/ingestion/cfg/reaching-defs.js +792 -0
- package/dist/core/code/engine/core/ingestion/cfg/synthetic-escape.js +305 -0
- package/dist/core/code/engine/core/ingestion/cfg/traversal-result.js +6 -0
- package/dist/core/code/engine/core/ingestion/cfg/types.js +14 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/c-cpp-harvest.js +545 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/c-cpp.js +590 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/call-site-harvest.js +356 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/csharp-harvest.js +593 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/csharp.js +871 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/dart-harvest.js +874 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/dart.js +840 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/go-harvest.js +625 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/go.js +642 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/java-harvest.js +517 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/java.js +816 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/kotlin-harvest.js +723 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/kotlin.js +813 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/php-harvest.js +630 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/php.js +725 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/python-harvest.js +776 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/python.js +562 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/ruby-harvest.js +591 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/ruby.js +760 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/rust-harvest.js +877 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/rust.js +562 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/scope-tree-harvest.js +120 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/swift-harvest.js +683 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/swift.js +791 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/typescript-harvest.js +1060 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/typescript.js +587 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/c-cpp.js +77 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/csharp.js +24 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/dart.js +10 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/go.js +28 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/jvm.js +67 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/php.js +10 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/python.js +10 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/ruby.js +13 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/rust.js +10 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/swift.js +21 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/typescript-javascript.js +31 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/generic.js +144 -0
- package/dist/core/code/engine/core/ingestion/class-types.js +2 -0
- package/dist/core/code/engine/core/ingestion/cluster-enricher.js +174 -0
- package/dist/core/code/engine/core/ingestion/community-processor.js +604 -0
- package/dist/core/code/engine/core/ingestion/constants.js +26 -0
- package/dist/core/code/engine/core/ingestion/cpp-ue-preprocessor.js +263 -0
- package/dist/core/code/engine/core/ingestion/csharp-namespace-gate.js +133 -0
- package/dist/core/code/engine/core/ingestion/di-extractors/index.js +38 -0
- package/dist/core/code/engine/core/ingestion/di-extractors/spring.js +310 -0
- package/dist/core/code/engine/core/ingestion/emit-references.js +244 -0
- package/dist/core/code/engine/core/ingestion/entry-point-scoring.js +201 -0
- package/dist/core/code/engine/core/ingestion/export-detection.js +244 -0
- package/dist/core/code/engine/core/ingestion/field-extractor.js +29 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/c-cpp.js +107 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/csharp.js +124 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/dart.js +99 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/go.js +102 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/helpers.js +198 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/jvm.js +172 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/php.js +67 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/python.js +94 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/ruby.js +79 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/rust.js +55 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/swift.js +93 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/typescript-javascript.js +59 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/generic.js +147 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/typescript.js +266 -0
- package/dist/core/code/engine/core/ingestion/field-types.js +3 -0
- package/dist/core/code/engine/core/ingestion/filesystem-walker.js +136 -0
- package/dist/core/code/engine/core/ingestion/finalize-orchestrator.js +159 -0
- package/dist/core/code/engine/core/ingestion/framework-detection.js +432 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/analysis-features.js +38 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/annotation-arguments.js +234 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/aop-candidates.js +88 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/aop.js +487 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/auto-configuration.js +21 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-candidates.js +189 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-catalog.js +32 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-factories.js +73 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/conditionals.js +323 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/config-bindings.js +119 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/di-metadata.js +385 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/resource-injection.js +96 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/c-cpp.js +17 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/csharp.js +46 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/dart.js +59 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/go.js +30 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/jvm.js +73 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/php.js +19 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/python.js +45 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/ruby.js +20 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/rust.js +58 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/swift.js +94 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/typescript-javascript.js +26 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/csharp.js +128 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/go.js +50 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/jvm.js +112 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/php.js +80 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/python.js +75 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/resolver-factory.js +36 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/ruby.js +20 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/rust.js +79 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/standard.js +180 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/types.js +7 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/utils.js +153 -0
- package/dist/core/code/engine/core/ingestion/import-target-adapter.js +99 -0
- package/dist/core/code/engine/core/ingestion/language-config.js +391 -0
- package/dist/core/code/engine/core/ingestion/language-provider.js +25 -0
- package/dist/core/code/engine/core/ingestion/languages/c/arity-metadata.js +98 -0
- package/dist/core/code/engine/core/ingestion/languages/c/arity.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/c/capture-side-channel.js +69 -0
- package/dist/core/code/engine/core/ingestion/languages/c/captures.js +189 -0
- package/dist/core/code/engine/core/ingestion/languages/c/header-scan.js +58 -0
- package/dist/core/code/engine/core/ingestion/languages/c/import-decomposer.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/c/import-target.js +103 -0
- package/dist/core/code/engine/core/ingestion/languages/c/index.js +33 -0
- package/dist/core/code/engine/core/ingestion/languages/c/interpret.js +53 -0
- package/dist/core/code/engine/core/ingestion/languages/c/merge-bindings.js +26 -0
- package/dist/core/code/engine/core/ingestion/languages/c/query.js +210 -0
- package/dist/core/code/engine/core/ingestion/languages/c/scope-resolver.js +112 -0
- package/dist/core/code/engine/core/ingestion/languages/c/simple-hooks.js +24 -0
- package/dist/core/code/engine/core/ingestion/languages/c/static-linkage.js +109 -0
- package/dist/core/code/engine/core/ingestion/languages/c-cpp.js +506 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/adl.js +804 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/arity-metadata.js +258 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/arity.js +37 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/capture-side-channel.js +89 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/captures.js +1975 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/constraint-extractor.js +311 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/constraint-filter.js +210 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/conversion-rank.js +163 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/file-local-linkage.js +327 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/header-scan.js +53 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/import-decomposer.js +134 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/import-target.js +16 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/index.js +33 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/inline-namespaces.js +379 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/interpret.js +239 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/member-lookup.js +470 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/merge-bindings.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/query.js +763 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/range-bindings.js +230 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/scope-resolver.js +354 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/simple-hooks.js +67 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/two-phase-lookup.js +348 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/type-classifier.js +56 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/user-defined-conversions.js +128 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/accessor-unwrap.js +67 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/arity-metadata.js +49 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/arity.js +40 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/cache-stats.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/captures.js +557 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/import-decomposer.js +96 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/import-target.js +176 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/index.js +95 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/interpret.js +150 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/merge-bindings.js +58 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/namespace-siblings.js +708 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/qualified-type-names.js +62 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/query.js +578 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/receiver-binding.js +142 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/resolution-config.js +18 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/scope-resolver.js +84 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/simple-hooks.js +81 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp.js +204 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/arity-metadata.js +38 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/arity.js +34 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/built-ins.js +37 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/cache-stats.js +30 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/captures.js +1096 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/expand-wildcards.js +34 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/extension-type-preprocess.js +33 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/import-target.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/index.js +45 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/interpret.js +101 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/merge-bindings.js +42 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/query.js +246 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/receiver-binding.js +90 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/scope-resolver.js +197 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/signature-bindings.js +54 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/simple-hooks.js +61 -0
- package/dist/core/code/engine/core/ingestion/languages/dart.js +138 -0
- package/dist/core/code/engine/core/ingestion/languages/go/arity-metadata.js +71 -0
- package/dist/core/code/engine/core/ingestion/languages/go/arity.js +17 -0
- package/dist/core/code/engine/core/ingestion/languages/go/cache-stats.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/go/captures.js +492 -0
- package/dist/core/code/engine/core/ingestion/languages/go/expand-wildcards.js +97 -0
- package/dist/core/code/engine/core/ingestion/languages/go/generic-type-parameters.js +146 -0
- package/dist/core/code/engine/core/ingestion/languages/go/import-decomposer.js +47 -0
- package/dist/core/code/engine/core/ingestion/languages/go/import-target.js +70 -0
- package/dist/core/code/engine/core/ingestion/languages/go/index.js +39 -0
- package/dist/core/code/engine/core/ingestion/languages/go/interface-impls.js +955 -0
- package/dist/core/code/engine/core/ingestion/languages/go/interpret.js +177 -0
- package/dist/core/code/engine/core/ingestion/languages/go/merge-bindings.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/go/method-owners.js +131 -0
- package/dist/core/code/engine/core/ingestion/languages/go/namespace-mirror.js +56 -0
- package/dist/core/code/engine/core/ingestion/languages/go/package-clause.js +79 -0
- package/dist/core/code/engine/core/ingestion/languages/go/package-siblings.js +83 -0
- package/dist/core/code/engine/core/ingestion/languages/go/query.js +298 -0
- package/dist/core/code/engine/core/ingestion/languages/go/range-binding.js +127 -0
- package/dist/core/code/engine/core/ingestion/languages/go/receiver-binding.js +24 -0
- package/dist/core/code/engine/core/ingestion/languages/go/scope-resolver.js +75 -0
- package/dist/core/code/engine/core/ingestion/languages/go/simple-hooks.js +31 -0
- package/dist/core/code/engine/core/ingestion/languages/go/type-binding.js +279 -0
- package/dist/core/code/engine/core/ingestion/languages/go.js +160 -0
- package/dist/core/code/engine/core/ingestion/languages/index.js +66 -0
- package/dist/core/code/engine/core/ingestion/languages/java/analysis-features.js +16 -0
- package/dist/core/code/engine/core/ingestion/languages/java/arity-metadata.js +43 -0
- package/dist/core/code/engine/core/ingestion/languages/java/arity.js +27 -0
- package/dist/core/code/engine/core/ingestion/languages/java/cache-stats.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/java/capture-side-channel.js +123 -0
- package/dist/core/code/engine/core/ingestion/languages/java/captures.js +791 -0
- package/dist/core/code/engine/core/ingestion/languages/java/import-decomposer.js +88 -0
- package/dist/core/code/engine/core/ingestion/languages/java/import-target.js +103 -0
- package/dist/core/code/engine/core/ingestion/languages/java/index.js +43 -0
- package/dist/core/code/engine/core/ingestion/languages/java/interpret.js +146 -0
- package/dist/core/code/engine/core/ingestion/languages/java/merge-bindings.js +43 -0
- package/dist/core/code/engine/core/ingestion/languages/java/package-facts.js +16 -0
- package/dist/core/code/engine/core/ingestion/languages/java/package-siblings.js +11 -0
- package/dist/core/code/engine/core/ingestion/languages/java/query.js +319 -0
- package/dist/core/code/engine/core/ingestion/languages/java/receiver-binding.js +98 -0
- package/dist/core/code/engine/core/ingestion/languages/java/scope-resolver.js +213 -0
- package/dist/core/code/engine/core/ingestion/languages/java/simple-hooks.js +39 -0
- package/dist/core/code/engine/core/ingestion/languages/java/spring-aop.js +53 -0
- package/dist/core/code/engine/core/ingestion/languages/java/spring-bean-metadata.js +11 -0
- package/dist/core/code/engine/core/ingestion/languages/java/spring-conditionals.js +52 -0
- package/dist/core/code/engine/core/ingestion/languages/java/spring-config-bindings.js +222 -0
- package/dist/core/code/engine/core/ingestion/languages/java/spring-di.js +165 -0
- package/dist/core/code/engine/core/ingestion/languages/java.js +192 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/arity.js +15 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/captures.js +1122 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/import-target.js +56 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/index.js +109 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/interpret.js +45 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/merge-bindings.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/query.js +659 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/scope-resolver.js +78 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/simple-hooks.js +44 -0
- package/dist/core/code/engine/core/ingestion/languages/jvm/package-facts.js +46 -0
- package/dist/core/code/engine/core/ingestion/languages/jvm/package-siblings.js +200 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/arity-metadata.js +23 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/arity.js +18 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/cache-stats.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/capture-side-channel.js +160 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/captures.js +1262 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/companion-scopes.js +72 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/import-decomposer.js +40 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/import-target.js +135 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/index.js +26 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/interpret.js +75 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/merge-bindings.js +28 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/owners.js +134 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/package-facts.js +16 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/package-siblings.js +11 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/query.js +243 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/receiver-binding.js +103 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/scope-resolver.js +207 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/simple-hooks.js +42 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-aop.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-bean-metadata.js +11 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-conditionals.js +53 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-di.js +304 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin.js +189 -0
- package/dist/core/code/engine/core/ingestion/languages/php/arity-metadata.js +66 -0
- package/dist/core/code/engine/core/ingestion/languages/php/arity.js +43 -0
- package/dist/core/code/engine/core/ingestion/languages/php/cache-stats.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/php/captures.js +1166 -0
- package/dist/core/code/engine/core/ingestion/languages/php/import-decomposer.js +238 -0
- package/dist/core/code/engine/core/ingestion/languages/php/import-target.js +213 -0
- package/dist/core/code/engine/core/ingestion/languages/php/index.js +85 -0
- package/dist/core/code/engine/core/ingestion/languages/php/interpret.js +256 -0
- package/dist/core/code/engine/core/ingestion/languages/php/merge-bindings.js +50 -0
- package/dist/core/code/engine/core/ingestion/languages/php/namespace-siblings.js +353 -0
- package/dist/core/code/engine/core/ingestion/languages/php/query.js +391 -0
- package/dist/core/code/engine/core/ingestion/languages/php/receiver-binding.js +135 -0
- package/dist/core/code/engine/core/ingestion/languages/php/scope-resolver.js +361 -0
- package/dist/core/code/engine/core/ingestion/languages/php/simple-hooks.js +116 -0
- package/dist/core/code/engine/core/ingestion/languages/php.js +302 -0
- package/dist/core/code/engine/core/ingestion/languages/python/arity-metadata.js +49 -0
- package/dist/core/code/engine/core/ingestion/languages/python/arity.js +41 -0
- package/dist/core/code/engine/core/ingestion/languages/python/cache-stats.js +34 -0
- package/dist/core/code/engine/core/ingestion/languages/python/captures.js +299 -0
- package/dist/core/code/engine/core/ingestion/languages/python/depends-references.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/python/import-decomposer.js +115 -0
- package/dist/core/code/engine/core/ingestion/languages/python/import-target.js +440 -0
- package/dist/core/code/engine/core/ingestion/languages/python/index-stats.js +30 -0
- package/dist/core/code/engine/core/ingestion/languages/python/index.js +96 -0
- package/dist/core/code/engine/core/ingestion/languages/python/interpret.js +430 -0
- package/dist/core/code/engine/core/ingestion/languages/python/merge-bindings.js +47 -0
- package/dist/core/code/engine/core/ingestion/languages/python/query.js +323 -0
- package/dist/core/code/engine/core/ingestion/languages/python/receiver-binding.js +310 -0
- package/dist/core/code/engine/core/ingestion/languages/python/scope-resolver.js +80 -0
- package/dist/core/code/engine/core/ingestion/languages/python/simple-hooks.js +53 -0
- package/dist/core/code/engine/core/ingestion/languages/python.js +140 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/arity.js +41 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/cache-stats.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/captures.js +864 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/import-target.js +88 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/index.js +29 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/interpret.js +115 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/merge-bindings.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/query.js +349 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/receiver-binding.js +70 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/scope-resolver.js +263 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/simple-hooks.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby.js +215 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/arity.js +16 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/cache-stats.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/captures.js +304 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/import-decomposer.js +167 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/import-target.js +108 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/index.js +29 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/interpret.js +201 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/merge-bindings.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/method-owners.js +76 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/module-path.js +222 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/qualified-call.js +482 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/query.js +280 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/range-binding.js +687 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/receiver-binding.js +148 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/scope-resolver.js +151 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/simple-hooks.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/rust.js +183 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/arity-metadata.js +44 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/arity.js +45 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/base-type.js +30 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/cache-stats.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/captures.js +594 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/conditional-directive-preprocess.js +256 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/implicit-imports.js +60 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/import-decomposer.js +87 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/import-target.js +84 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/index.js +56 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/interpret.js +93 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/merge-bindings.js +51 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/query.js +226 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/receiver-binding.js +169 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/scope-resolver.js +192 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/sibling-type-bindings.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/signature-bindings.js +69 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/simple-hooks.js +65 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/target-grouping.js +97 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/target-siblings.js +74 -0
- package/dist/core/code/engine/core/ingestion/languages/swift.js +246 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/arity-metadata.js +106 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/arity.js +57 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/array-callback.js +58 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/cache-stats.js +34 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/captures.js +956 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/cjs-export-assignment.js +535 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/cjs-module-exports.js +196 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/import-decomposer.js +374 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/import-target.js +65 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/index.js +108 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/interpret.js +344 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/merge-bindings.js +161 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/nuxt-auto-imports.js +325 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/query.js +1328 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/receiver-binding.js +201 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/scope-resolver.js +293 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/simple-hooks.js +139 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript.js +455 -0
- package/dist/core/code/engine/core/ingestion/languages/vue/captures.js +70 -0
- package/dist/core/code/engine/core/ingestion/languages/vue/import-target.js +61 -0
- package/dist/core/code/engine/core/ingestion/languages/vue/index.js +55 -0
- package/dist/core/code/engine/core/ingestion/languages/vue/scope-resolver.js +295 -0
- package/dist/core/code/engine/core/ingestion/languages/vue.js +96 -0
- package/dist/core/code/engine/core/ingestion/local-symbol-pruner.js +68 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/c-cpp.js +387 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/csharp.js +290 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/dart.js +392 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/go.js +179 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/jvm.js +350 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/php.js +306 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/python.js +312 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/ruby.js +289 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/rust.js +198 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/swift.js +286 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/typescript-javascript.js +341 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/generic.js +209 -0
- package/dist/core/code/engine/core/ingestion/method-types.js +3 -0
- package/dist/core/code/engine/core/ingestion/model/field-registry.js +41 -0
- package/dist/core/code/engine/core/ingestion/model/index.js +52 -0
- package/dist/core/code/engine/core/ingestion/model/method-registry.js +138 -0
- package/dist/core/code/engine/core/ingestion/model/owned-members-lookup.js +46 -0
- package/dist/core/code/engine/core/ingestion/model/registration-table.js +234 -0
- package/dist/core/code/engine/core/ingestion/model/resolve.js +183 -0
- package/dist/core/code/engine/core/ingestion/model/scope-resolution-indexes.js +43 -0
- package/dist/core/code/engine/core/ingestion/model/semantic-model.js +179 -0
- package/dist/core/code/engine/core/ingestion/model/symbol-table.js +216 -0
- package/dist/core/code/engine/core/ingestion/model/type-registry.js +84 -0
- package/dist/core/code/engine/core/ingestion/mro-processor.js +709 -0
- package/dist/core/code/engine/core/ingestion/parsing-processor.js +312 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/communities.js +69 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/cross-file.js +71 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/di.js +338 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/http-api-calls.js +312 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/index.js +54 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/mro.js +40 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/orm.js +78 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/parse-impl.js +1286 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/parse.js +41 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/processes.js +193 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/prune-local-symbols.js +29 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/registry.js +52 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/routes.js +409 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/rpc-edges.js +301 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/runner.js +207 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/scan.js +49 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-aop.js +442 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-auto-configuration.js +264 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-config.js +440 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/structure.js +38 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/tools.js +89 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/types.js +40 -0
- package/dist/core/code/engine/core/ingestion/pipeline.js +152 -0
- package/dist/core/code/engine/core/ingestion/process-processor.js +325 -0
- package/dist/core/code/engine/core/ingestion/resolve-references.js +205 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/constant-resolver.js +135 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/django-root-discovery.js +221 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/django.js +428 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/expo.js +39 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/fastapi-router-bindings.js +264 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/laravel.js +501 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/middleware.js +175 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/nextjs.js +81 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/php.js +25 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/python-const-resolver.js +307 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/response-shapes.js +299 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/route-path.js +71 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/spring-shared.js +310 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/spring.js +441 -0
- package/dist/core/code/engine/core/ingestion/scope-extractor-bridge.js +60 -0
- package/dist/core/code/engine/core/ingestion/scope-extractor.js +1373 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/contract/scope-resolver.js +282 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/callee-id-sink.js +72 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/edges.js +194 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/ids.js +472 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/imports-to-edges.js +49 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/method-dispatch.js +43 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/node-lookup.js +274 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/references-to-edges.js +93 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/callable-value-flow.js +1240 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/compound-receiver.js +1174 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/free-call-fallback.js +873 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/imported-return-types.js +226 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/mro.js +107 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/overload-narrowing.js +441 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/property-dispatch.js +122 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/receiver-bound-calls.js +1720 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/phase.js +395 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/reconcile-ownership.js +208 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/registry.js +49 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/run.js +632 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/validate-bindings-immutability.js +112 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/resolution-outcome.js +41 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/scope/namespace-targets.js +81 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/scope/walkers.js +1835 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/unresolved-receivers.js +242 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/utils/definition-id.js +22 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/workspace-index.js +151 -0
- package/dist/core/code/engine/core/ingestion/structure-processor.js +40 -0
- package/dist/core/code/engine/core/ingestion/tree-sitter-queries.js +2244 -0
- package/dist/core/code/engine/core/ingestion/ts-js-hoc-utils.js +115 -0
- package/dist/core/code/engine/core/ingestion/type-env.js +1136 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/c-cpp.js +555 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/csharp.js +570 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/dart.js +372 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/go.js +508 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/jvm.js +875 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/php.js +537 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/python.js +477 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/ruby.js +380 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/rust.js +502 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/shared.js +843 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/swift.js +490 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/types.js +2 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/typescript.js +690 -0
- package/dist/core/code/engine/core/ingestion/utils/ast-helpers.js +1693 -0
- package/dist/core/code/engine/core/ingestion/utils/call-analysis.js +779 -0
- package/dist/core/code/engine/core/ingestion/utils/callable-flow-captures.js +932 -0
- package/dist/core/code/engine/core/ingestion/utils/callable-labels.js +49 -0
- package/dist/core/code/engine/core/ingestion/utils/deferred-resolution-profile.js +151 -0
- package/dist/core/code/engine/core/ingestion/utils/effective-ram.js +67 -0
- package/dist/core/code/engine/core/ingestion/utils/env.js +60 -0
- package/dist/core/code/engine/core/ingestion/utils/event-loop.js +9 -0
- package/dist/core/code/engine/core/ingestion/utils/graph-sort.js +103 -0
- package/dist/core/code/engine/core/ingestion/utils/heap-probe.js +45 -0
- package/dist/core/code/engine/core/ingestion/utils/heritage-marker.js +47 -0
- package/dist/core/code/engine/core/ingestion/utils/line-base.js +24 -0
- package/dist/core/code/engine/core/ingestion/utils/max-file-size.js +59 -0
- package/dist/core/code/engine/core/ingestion/utils/method-props.js +198 -0
- package/dist/core/code/engine/core/ingestion/utils/qualified-name.js +73 -0
- package/dist/core/code/engine/core/ingestion/utils/receiver-chain-captures.js +60 -0
- package/dist/core/code/engine/core/ingestion/utils/receiver-chain-codec.js +188 -0
- package/dist/core/code/engine/core/ingestion/utils/scope-tree-walk.js +36 -0
- package/dist/core/code/engine/core/ingestion/utils/symbol-labels.js +48 -0
- package/dist/core/code/engine/core/ingestion/utils/template-arguments.js +187 -0
- package/dist/core/code/engine/core/ingestion/utils/type-parameters.js +209 -0
- package/dist/core/code/engine/core/ingestion/utils/verbose.js +6 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/c-cpp.js +133 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/csharp.js +66 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/dart.js +111 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/go.js +153 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/jvm.js +145 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/php.js +61 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/python.js +104 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/ruby.js +55 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/rust.js +79 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/swift.js +91 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/typescript-javascript.js +86 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/generic.js +111 -0
- package/dist/core/code/engine/core/ingestion/variable-types.js +3 -0
- package/dist/core/code/engine/core/ingestion/vue-sfc-extractor.js +544 -0
- package/dist/core/code/engine/core/ingestion/workers/callable-id.js +122 -0
- package/dist/core/code/engine/core/ingestion/workers/clone-safety.js +470 -0
- package/dist/core/code/engine/core/ingestion/workers/parse-worker.js +2456 -0
- package/dist/core/code/engine/core/ingestion/workers/post-result.js +90 -0
- package/dist/core/code/engine/core/ingestion/workers/quarantine.js +41 -0
- package/dist/core/code/engine/core/ingestion/workers/result-merge.js +59 -0
- package/dist/core/code/engine/core/ingestion/workers/worker-pool.js +1725 -0
- package/dist/core/code/engine/core/ingestion/workspace-config.js +139 -0
- package/dist/core/code/engine/core/lbug/conn-lock.js +72 -0
- package/dist/core/code/engine/core/lbug/csv-generator.js +710 -0
- package/dist/core/code/engine/core/lbug/cypher-escape.js +24 -0
- package/dist/core/code/engine/core/lbug/extension-load-error.js +339 -0
- package/dist/core/code/engine/core/lbug/extension-loader.js +261 -0
- package/dist/core/code/engine/core/lbug/graph-emit-sink.js +584 -0
- package/dist/core/code/engine/core/lbug/lbug-adapter.js +2703 -0
- package/dist/core/code/engine/core/lbug/lbug-config.js +1029 -0
- package/dist/core/code/engine/core/lbug/native-check.js +435 -0
- package/dist/core/code/engine/core/lbug/pool-adapter.js +973 -0
- package/dist/core/code/engine/core/lbug/query-params.js +25 -0
- package/dist/core/code/engine/core/lbug/query-result-utils.js +31 -0
- package/dist/core/code/engine/core/lbug/rel-pair-routing.js +373 -0
- package/dist/core/code/engine/core/lbug/schema.js +771 -0
- package/dist/core/code/engine/core/lbug/shutdown-helpers.js +40 -0
- package/dist/core/code/engine/core/lbug/sidecar-recovery.js +716 -0
- package/dist/core/code/engine/core/lbug/stdio-capture.js +49 -0
- package/dist/core/code/engine/core/lbug/sync-csv-writer.js +115 -0
- package/dist/core/code/engine/core/lbug/wal-checkpoint-driver.js +215 -0
- package/dist/core/code/engine/core/lbug/wal-driver-state.js +28 -0
- package/dist/core/code/engine/core/logger.js +339 -0
- package/dist/core/code/engine/core/platform/capabilities.js +91 -0
- package/dist/core/code/engine/core/run-analyze.js +1098 -0
- package/dist/core/code/engine/core/tree-sitter/parser-loader.js +281 -0
- package/dist/core/code/engine/core/tree-sitter/safe-parse.js +258 -0
- package/dist/core/code/engine/core/tree-sitter/vendored-grammars.js +64 -0
- package/dist/core/code/engine/lib/utils.js +121 -0
- package/dist/core/code/engine/mcp/core/lbug-adapter.js +27 -0
- package/dist/core/code/engine/mcp/local/aop-metadata.js +230 -0
- package/dist/core/code/engine/mcp/local/bean-metadata.js +49 -0
- package/dist/core/code/engine/mcp/local/limits.js +15 -0
- package/dist/core/code/engine/mcp/local/line-display.js +6 -0
- package/dist/core/code/engine/mcp/local/local-backend.js +4142 -0
- package/dist/core/code/engine/storage/branch-index.js +72 -0
- package/dist/core/code/engine/storage/file-hash.js +95 -0
- package/dist/core/code/engine/storage/fs-atomic.js +34 -0
- package/dist/core/code/engine/storage/git.js +555 -0
- package/dist/core/code/engine/storage/index-lock.js +664 -0
- package/dist/core/code/engine/storage/parse-cache.js +650 -0
- package/dist/core/code/engine/storage/parsedfile-store.js +620 -0
- package/dist/core/code/engine/storage/repo-manager.js +1061 -0
- package/dist/core/code/engine/storage/scope-index-store.js +247 -0
- package/dist/core/code/engine/types/pipeline.js +2 -0
- package/dist/core/code/scripts/install-duckdb-extension.mjs +125 -0
- package/dist/core/code/scripts/resolve-analyze-cmd.cjs +346 -0
- package/dist/core/code/shared/graph/types.js +8 -0
- package/dist/core/code/shared/index.js +105 -0
- package/dist/core/code/shared/integrations/circuit-breaker.js +242 -0
- package/dist/core/code/shared/integrations/resilient-fetch.js +224 -0
- package/dist/core/code/shared/integrations/retry.js +70 -0
- package/dist/core/code/shared/integrations/understand-quickly.js +145 -0
- package/dist/core/code/shared/language-detection.js +162 -0
- package/dist/core/code/shared/languages.js +27 -0
- package/dist/core/code/shared/lbug/schema-constants.js +98 -0
- package/dist/core/code/shared/mro-strategy.js +2 -0
- package/dist/core/code/shared/pipeline.js +5 -0
- package/dist/core/code/shared/scope-resolution/callable-flow-site.js +11 -0
- package/dist/core/code/shared/scope-resolution/def-index.js +53 -0
- package/dist/core/code/shared/scope-resolution/evidence-weights.js +87 -0
- package/dist/core/code/shared/scope-resolution/finalize-algorithm.js +807 -0
- package/dist/core/code/shared/scope-resolution/language-classification.js +46 -0
- package/dist/core/code/shared/scope-resolution/method-dispatch-index.js +100 -0
- package/dist/core/code/shared/scope-resolution/module-scope-index.js +59 -0
- package/dist/core/code/shared/scope-resolution/origin-priority.js +23 -0
- package/dist/core/code/shared/scope-resolution/parsed-file.js +54 -0
- package/dist/core/code/shared/scope-resolution/position-index.js +136 -0
- package/dist/core/code/shared/scope-resolution/qualified-name-index.js +77 -0
- package/dist/core/code/shared/scope-resolution/reference-site.js +24 -0
- package/dist/core/code/shared/scope-resolution/registries/class-registry.js +32 -0
- package/dist/core/code/shared/scope-resolution/registries/context.js +52 -0
- package/dist/core/code/shared/scope-resolution/registries/evidence.js +152 -0
- package/dist/core/code/shared/scope-resolution/registries/field-registry.js +33 -0
- package/dist/core/code/shared/scope-resolution/registries/lookup-core.js +392 -0
- package/dist/core/code/shared/scope-resolution/registries/lookup-qualified.js +58 -0
- package/dist/core/code/shared/scope-resolution/registries/macro-registry.js +34 -0
- package/dist/core/code/shared/scope-resolution/registries/method-registry.js +34 -0
- package/dist/core/code/shared/scope-resolution/registries/tie-breaks.js +63 -0
- package/dist/core/code/shared/scope-resolution/resolve-type-ref.js +128 -0
- package/dist/core/code/shared/scope-resolution/scope-id.js +49 -0
- package/dist/core/code/shared/scope-resolution/scope-tree.js +225 -0
- package/dist/core/code/shared/scope-resolution/symbol-definition.js +12 -0
- package/dist/core/code/shared/scope-resolution/types.js +25 -0
- package/dist/core/code/shared/test-helpers.js +17 -0
- package/dist/core/code/vendor/leiden/index.cjs +355 -0
- package/dist/core/code/vendor/leiden/utils.cjs +419 -0
- package/dist/core/dbquery/cli.d.ts.map +1 -1
- package/dist/core/dbquery/cli.js +5 -4
- package/dist/core/dbquery/cli.js.map +1 -1
- package/dist/core/dbquery/config.d.ts.map +1 -1
- package/dist/core/dbquery/config.js +39 -3
- package/dist/core/dbquery/config.js.map +1 -1
- package/dist/core/dbquery/drivers/http.d.ts +23 -0
- package/dist/core/dbquery/drivers/http.d.ts.map +1 -0
- package/dist/core/dbquery/drivers/http.js +125 -0
- package/dist/core/dbquery/drivers/http.js.map +1 -0
- package/dist/core/dbquery/drivers/mysql.js +1 -1
- package/dist/core/dbquery/drivers/mysql.js.map +1 -1
- package/dist/core/dbquery/drivers/postgres.js +1 -1
- package/dist/core/dbquery/drivers/postgres.js.map +1 -1
- package/dist/core/dbquery/executor.d.ts.map +1 -1
- package/dist/core/dbquery/executor.js +46 -12
- package/dist/core/dbquery/executor.js.map +1 -1
- package/dist/core/dbquery/format.d.ts.map +1 -1
- package/dist/core/dbquery/format.js +2 -1
- package/dist/core/dbquery/format.js.map +1 -1
- package/dist/core/dbquery/init.d.ts.map +1 -1
- package/dist/core/dbquery/init.js +7 -0
- package/dist/core/dbquery/init.js.map +1 -1
- package/dist/core/dbquery/types.d.ts +55 -7
- package/dist/core/dbquery/types.d.ts.map +1 -1
- package/dist/core/directory.d.ts +17 -0
- package/dist/core/directory.d.ts.map +1 -1
- package/dist/core/directory.js +37 -0
- package/dist/core/directory.js.map +1 -1
- package/dist/core/features/cli.d.ts.map +1 -1
- package/dist/core/features/cli.js +3 -2
- package/dist/core/features/cli.js.map +1 -1
- package/dist/core/features/scanner.d.ts +1 -1
- package/dist/core/features/scanner.d.ts.map +1 -1
- package/dist/core/features/scanner.js +20 -4
- package/dist/core/features/scanner.js.map +1 -1
- package/dist/core/markdown/cli.d.ts.map +1 -1
- package/dist/core/markdown/cli.js +9 -8
- package/dist/core/markdown/cli.js.map +1 -1
- package/dist/core/timeline/cli.d.ts.map +1 -1
- package/dist/core/timeline/cli.js +13 -6
- package/dist/core/timeline/cli.js.map +1 -1
- package/dist/core/timeline/debris.d.ts +20 -0
- package/dist/core/timeline/debris.d.ts.map +1 -0
- package/dist/core/timeline/debris.js +124 -0
- package/dist/core/timeline/debris.js.map +1 -0
- package/dist/core/timeline/hook-runner.d.ts.map +1 -1
- package/dist/core/timeline/hook-runner.js +3 -1
- package/dist/core/timeline/hook-runner.js.map +1 -1
- package/dist/core/timeline/hooks.d.ts.map +1 -1
- package/dist/core/timeline/hooks.js +13 -5
- package/dist/core/timeline/hooks.js.map +1 -1
- package/dist/core/timeline/installer.d.ts +2 -0
- package/dist/core/timeline/installer.d.ts.map +1 -1
- package/dist/core/timeline/installer.js +12 -0
- package/dist/core/timeline/installer.js.map +1 -1
- package/dist/core/timeline/project-root.d.ts +21 -0
- package/dist/core/timeline/project-root.d.ts.map +1 -0
- package/dist/core/timeline/project-root.js +83 -0
- package/dist/core/timeline/project-root.js.map +1 -0
- package/dist/web/register.d.ts.map +1 -1
- package/dist/web/register.js +2 -1
- package/dist/web/register.js.map +1 -1
- package/package.json +1 -1
- package/dist/.claude-template/.cgraphx/timeline-current-turn.json +0 -1
- package/dist/.claude-template/skills/.cgraphx/timeline-current-turn.json +0 -1
- package/dist/.claude-template/skills/handdrawn-deck/.cgraphx/timeline-current-turn.json +0 -1
- package/dist/.claude-template/skills/handdrawn-deck/references/.cgraphx/timeline-current-turn.json +0 -1
- package/dist/.claude-template/skills/handdrawn-sketch-engine/.cgraphx/timeline-current-turn.json +0 -1
- /package/dist/.claude-template/skills/run-api-test/assets/{template-test-verify.jsonl → template-/346/216/245/345/217/243/346/265/213/350/257/225/351/252/214/350/257/201.jsonl"} +0 -0
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
# filler 子 agent prompt 模板
|
|
2
2
|
|
|
3
|
-
> 主 agent 通过 Agent tool 调用本文件时,把这份完整内容作为 prompt 传给 `general-purpose` 子 agent,后接任务三件套:`\n\n---\n\n① 需求: <feature-id + 需求目录路径 + 文件前缀>`、`\n\n② 缺失产物: <单元测试规格 / 单元测试报告 /
|
|
3
|
+
> 主 agent 通过 Agent tool 调用本文件时,把这份完整内容作为 prompt 传给 `general-purpose` 子 agent,后接任务三件套:`\n\n---\n\n① 需求: <feature-id + 需求目录路径 + 文件前缀>`、`\n\n② 缺失产物: <单元测试规格 / 单元测试报告 / 收口档案 中缺哪些>`、`\n\n③ 上下文: <git 用户名;对该需求的已知说明,如实现代码位置、备注>`。
|
|
4
4
|
|
|
5
5
|
## 你的角色
|
|
6
6
|
|
|
7
7
|
你是 filler 子 agent,在**隔离上下文**里补全**单个需求**缺失的文档产物。主 agent 是 controller,只拿到你的最终返回,**看不到你的中间过程**(读文件、跑测试、试错等)。
|
|
8
8
|
|
|
9
|
-
补账背景:该需求代码已完成,但文档产物(
|
|
9
|
+
补账背景:该需求代码已完成,但文档产物(单元测试规格/报告、收口档案)在规范建立前没产——你的职责是补齐产物,不是重新开发。
|
|
10
10
|
|
|
11
11
|
## 工作流
|
|
12
12
|
|
|
13
13
|
### 1. 复核缺失项
|
|
14
14
|
|
|
15
|
-
controller
|
|
15
|
+
controller 已核过缺失项(已按用户勾选的产物范围过滤),缺失清单在 prompt 里。开工前再验一次文件是否真不存在(防误报);已存在的产物**不重产、不覆盖**。
|
|
16
16
|
|
|
17
17
|
### 2. 按依赖顺序补全
|
|
18
18
|
|
|
@@ -20,7 +20,6 @@ controller 已核过四样,缺失清单在 prompt 里。开工前再验一次文
|
|
|
20
20
|
|---|---|
|
|
21
21
|
| 单元测试规格 | `/write-unit-test-spec` |
|
|
22
22
|
| 单元测试报告 | `/write-unit-test-code`(依赖规格;规格是本次刚补的,接着跑) |
|
|
23
|
-
| 设计文档 | `/write-design-doc` |
|
|
24
23
|
| 收口档案 | `/end` |
|
|
25
24
|
|
|
26
25
|
逐个调用对应 skill,**完整遵循该 skill 自己的规则**——它怎么要求你怎么做:实现缺失的场景 `it.skip` 占位、测试失败如实报告、不写业务实现代码、不修实现 bug、不假装通过。skill 的边界就是你的边界,不越权替它判断。
|
|
@@ -36,8 +36,8 @@ description: 在 write-api 生成 .bru 后,跑接口测试 + 核实写接口 DB
|
|
|
36
36
|
|
|
37
37
|
| skill | 关系 | 说明 |
|
|
38
38
|
|---|---|---|
|
|
39
|
-
| `write-api` | 上游 | 产 .bru +
|
|
40
|
-
| `write-api-doc` | 独立并列 | 不互相调用;本 skill
|
|
39
|
+
| `write-api` | 上游 | 产 .bru + 接口测试规格 + environments;本 skill 消费这些产物跑测试,不调它也不改 .bru |
|
|
40
|
+
| `write-api-doc` | 独立并列 | 不互相调用;本 skill 产接口测试报告 + JSONL,write-api-doc 产 HTML 接口文档 |
|
|
41
41
|
| `db-query` | 复用 | R4 核实写接口 DB 副作用;受 db-query 既有只读约束 |
|
|
42
42
|
| `implementation` / `subagent-implement` | 下游 | 测试失败后由用户决定是否调起修 bug |
|
|
43
43
|
| `write-design-doc` | 独立 | 发布后按需产设计文档 |
|
|
@@ -58,8 +58,8 @@ description: 在 write-api 生成 .bru 后,跑接口测试 + 核实写接口 DB
|
|
|
58
58
|
- 文件名不得包含 `/`、`:`、`*`、`?`、`"`、`<`、`>`、`|`
|
|
59
59
|
|
|
60
60
|
产物文件名(归用户指定的 feature 目录):
|
|
61
|
-
- Markdown 报告:`docs/features/<feature-id
|
|
62
|
-
- JSONL 验证记录:`docs/features/<feature-id
|
|
61
|
+
- Markdown 报告:`docs/features/<feature-id>/<文件前缀>-接口测试报告.md`
|
|
62
|
+
- JSONL 验证记录:`docs/features/<feature-id>/<文件前缀>-接口测试验证.jsonl`
|
|
63
63
|
|
|
64
64
|
格式见 `references/report-format.md`。
|
|
65
65
|
|
|
@@ -72,7 +72,7 @@ description: 在 write-api 生成 .bru 后,跑接口测试 + 核实写接口 DB
|
|
|
72
72
|
↓
|
|
73
73
|
用户给的是什么?
|
|
74
74
|
├─ 指定了需求(feature-id / spec / 需求名)
|
|
75
|
-
│ → AI 查该需求的
|
|
75
|
+
│ → AI 查该需求的 <文件前缀>-接口测试-spec.md,拿到接口清单 + 场景
|
|
76
76
|
│ → 提示用户确认"本次测试需求 X,涉及 N 接口 M 场景,确认?"
|
|
77
77
|
│ → 用户确认后进入 R1
|
|
78
78
|
│
|
|
@@ -80,7 +80,7 @@ description: 在 write-api 生成 .bru 后,跑接口测试 + 核实写接口 DB
|
|
|
80
80
|
│ → skill 主动问"测哪个需求?"
|
|
81
81
|
│ → AI 扫 docs/bruno/<服务>*/<需求前缀>/<接口名>/ 哪些存在,列出测过该接口的需求
|
|
82
82
|
│ → 列出来让用户选(若 0 个需求,提示用户先跑 /write-api)
|
|
83
|
-
│ → 选定后,AI 查该需求
|
|
83
|
+
│ → 选定后,AI 查该需求 接口测试-spec.md 拿该接口的场景
|
|
84
84
|
│ → 提示用户确认后进入 R1
|
|
85
85
|
│
|
|
86
86
|
└─ 都没指定
|
|
@@ -101,10 +101,10 @@ description: 在 write-api 生成 .bru 后,跑接口测试 + 核实写接口 DB
|
|
|
101
101
|
|
|
102
102
|
- **前置**:触发逻辑锁定一个 feature-id
|
|
103
103
|
- **行为**:按 `references/test-scope.md` 拿到本次测试的 .bru 清单
|
|
104
|
-
- 查
|
|
104
|
+
- 查 `<文件前缀>-接口测试-spec.md` 拿接口清单 + 场景 + .bru 路径
|
|
105
105
|
- 交叉校验 .bru 文件实际存在
|
|
106
106
|
- 显示测试范围给用户确认
|
|
107
|
-
- **校验失败**(
|
|
107
|
+
- **校验失败**(接口测试规格不存在 / .bru 缺失)→ 报错并退出
|
|
108
108
|
- **用户取消** → 退出
|
|
109
109
|
- **结果**:得到本次跑的 .bru 清单
|
|
110
110
|
|
|
@@ -131,15 +131,15 @@ description: 在 write-api 生成 .bru 后,跑接口测试 + 核实写接口 DB
|
|
|
131
131
|
- **db-query skill 失败** → 该接口记"无法核实" + 状态 `失败-DB副作用`,**不阻塞其他接口**
|
|
132
132
|
- **结果**:逐接口 DB 核实记录写入 JSONL
|
|
133
133
|
|
|
134
|
-
### R5.
|
|
134
|
+
### R5. 产出接口测试报告
|
|
135
135
|
|
|
136
136
|
- **前置**:R3 + R4 完成
|
|
137
137
|
- **行为**:按 `references/report-format.md` 汇总产出
|
|
138
|
-
- Markdown 报告
|
|
138
|
+
- Markdown 报告 `<文件前缀>-接口测试报告.md`(汇总 + 逐接口结果 + 失败分类 + DB 核实小结 + 下一步建议)
|
|
139
139
|
- **按接口聚合**:同接口的场景先展示摘要,再展示详情
|
|
140
140
|
- **展示级别**:主场景/涉及业务规则的异常=详细展示;简单边界=简单展示;失败场景=必须详细展示
|
|
141
141
|
- **约束**:一个接口最多 2 个详细展示的场景
|
|
142
|
-
- JSONL
|
|
142
|
+
- JSONL `<文件前缀>-接口测试验证.jsonl`(R4 写接口记录 + R5 补齐查询接口记录)
|
|
143
143
|
- JSON 中间结果丢弃
|
|
144
144
|
- **报告归属**:归用户指定的 feature 目录,即使接口关联多 feature 也不混
|
|
145
145
|
- **结果**:报告落盘;skill 结束
|
|
@@ -148,10 +148,10 @@ description: 在 write-api 生成 .bru 后,跑接口测试 + 核实写接口 DB
|
|
|
148
148
|
|
|
149
149
|
| 场景 | 行为 |
|
|
150
150
|
|---|---|
|
|
151
|
-
|
|
|
151
|
+
| 用户指定需求但接口测试规格不存在 | 报"需求 X 无接口测试规格,请先跑 /write-api"并退出 |
|
|
152
152
|
| 用户指定接口但 .bru 不存在 | 报"接口 Y 无 .bru,请先跑 /write-api"并退出 |
|
|
153
153
|
| 用户指定接口但扫目录发现 0 个需求测过 | 提示"未在 docs/bruno/ 下找到测过接口 Y 的需求,请先跑 /write-api" |
|
|
154
|
-
|
|
|
154
|
+
| 接口测试规格 §5 列出的 .bru 实际不存在 | 报"需求 X 接口 Y 场景 Z 的 .bru 缺失,请先跑 /write-api"并退出 |
|
|
155
155
|
| 本地服务未启动 | 暂停 + 提示用户启动,等待回车继续 |
|
|
156
156
|
| env 文件缺失 | 报"环境缺失,请先跑 /write-api"并退出,不自动生成 |
|
|
157
157
|
| 服务起了但接口 404 | 记 `失败-HTTP`,标注可能路由未注册或路径不对 |
|
|
@@ -164,7 +164,7 @@ description: 在 write-api 生成 .bru 后,跑接口测试 + 核实写接口 DB
|
|
|
164
164
|
## 质量检查
|
|
165
165
|
|
|
166
166
|
跑完后自检:
|
|
167
|
-
- 报告归指定的 feature 目录(
|
|
167
|
+
- 报告归指定的 feature 目录(`<文件前缀>-接口测试报告.md` + `<文件前缀>-接口测试验证.jsonl`)
|
|
168
168
|
- 写接口 DB 核实到位,不存在"只看 HTTP 200 就算过"的写接口
|
|
169
169
|
- 服务未就绪时没盲跑,没产 connection refused 失败报告
|
|
170
170
|
- 失败接口有原因分类(数据问题 / 代码 bug / 服务问题 / 断言过严)
|
|
@@ -177,7 +177,7 @@ description: 在 write-api 生成 .bru 后,跑接口测试 + 核实写接口 DB
|
|
|
177
177
|
## 收尾
|
|
178
178
|
|
|
179
179
|
提示用户:
|
|
180
|
-
1.
|
|
180
|
+
1. 接口测试报告位置(`<文件前缀>-接口测试报告.md`)
|
|
181
181
|
2. 通过 / 失败 / 跳过汇总
|
|
182
182
|
3. 失败接口清单 + 原因分类
|
|
183
183
|
4. 下一步建议:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 接口测试报告模板
|
|
2
2
|
|
|
3
|
-
适用于 `run-api-test` skill 在 R5 生成。默认输出到 `docs/features/<feature-id
|
|
3
|
+
适用于 `run-api-test` skill 在 R5 生成。默认输出到 `docs/features/<feature-id>/<文件前缀>-接口测试报告.md`。
|
|
4
4
|
|
|
5
5
|
本模板由 skill 在 R5 填充:汇总 + 逐接口结果 + 失败原因分类 + 下一步建议。
|
|
6
6
|
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
> feature-id: <feature-id>
|
|
24
24
|
> 生成时间: <YYYY-MM-DD HH:MM>
|
|
25
|
-
>
|
|
25
|
+
> 关联接口测试规格: <文件前缀>-接口测试-spec.md
|
|
26
26
|
> 关联 .bru 集合: docs/bruno/<服务>/<需求前缀>/
|
|
27
27
|
|
|
28
28
|
## 1. 汇总
|
|
@@ -400,10 +400,10 @@ Content-Type: application/json
|
|
|
400
400
|
|
|
401
401
|
## 6. 产物清单
|
|
402
402
|
|
|
403
|
-
-
|
|
403
|
+
- 接口测试规格: `<文件前缀>-接口测试-spec.md`
|
|
404
404
|
- .bru collection: `docs/bruno/<服务>/<需求前缀>/<接口名>/`
|
|
405
405
|
- Markdown 报告: 本文件
|
|
406
|
-
- JSONL 验证记录:
|
|
406
|
+
- JSONL 验证记录: `<文件前缀>-接口测试验证.jsonl`
|
|
407
407
|
```
|
|
408
408
|
|
|
409
409
|
## 填写说明
|
|
@@ -10,7 +10,7 @@ bru run docs/bruno/<服务>/<接口名>/ --env local --output <临时 JSON 路
|
|
|
10
10
|
|
|
11
11
|
| 参数 | 说明 |
|
|
12
12
|
|---|---|
|
|
13
|
-
| 路径参数 | R1 清单涉及的接口目录(
|
|
13
|
+
| 路径参数 | R1 清单涉及的接口目录(从接口测试规格 §5 取),不是全项目 `docs/bruno/` |
|
|
14
14
|
| `--env local` | 使用 `docs/bruno/environments/local.bru` 的变量(用户切换时透传 `--env staging` / `--env production`) |
|
|
15
15
|
| `--output <path>` | JSON 中间结果输出路径(临时,跑完即丢,不归档) |
|
|
16
16
|
| `-r` | 递归跑目录下所有 .bru |
|
|
@@ -16,7 +16,7 @@ R1 清单里若没有写接口,**整个 R4 跳过**,直接 R5。
|
|
|
16
16
|
|
|
17
17
|
- 写接口的 `.bru` — 含 docs 段业务说明 + tests 段 DB 副作用预期注释(write-api S3 写的)
|
|
18
18
|
- 跑测试后的响应 — R3 JSON 中间结果里的响应体
|
|
19
|
-
- 接口语义 —
|
|
19
|
+
- 接口语义 — 从接口测试规格 §2 或代码拿(预期应该写什么)
|
|
20
20
|
- DB 状态 — 通过 `db-query` 查实际数据
|
|
21
21
|
|
|
22
22
|
### AI 动作
|
|
@@ -42,7 +42,7 @@ R1 清单里若没有写接口,**整个 R4 跳过**,直接 R5。
|
|
|
42
42
|
|
|
43
43
|
### 输出
|
|
44
44
|
|
|
45
|
-
每个写接口的每个跑过场景,输出一条 JSON,写入
|
|
45
|
+
每个写接口的每个跑过场景,输出一条 JSON,写入 `<文件前缀>-接口测试验证.jsonl`(字段格式见 `report-format.md` § JSONL 字段)。
|
|
46
46
|
|
|
47
47
|
## 失败处理
|
|
48
48
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
# R5
|
|
1
|
+
# R5 接口测试报告规范
|
|
2
2
|
|
|
3
3
|
## 产物(两类)
|
|
4
4
|
|
|
5
5
|
| 产物 | 路径 | 用途 |
|
|
6
6
|
|---|---|---|
|
|
7
|
-
| Markdown 报告 | `docs/features/<feature-id
|
|
8
|
-
| JSONL 验证记录 | `docs/features/<feature-id
|
|
7
|
+
| Markdown 报告 | `docs/features/<feature-id>/<文件前缀>-接口测试报告.md` | 给人看:汇总 + 逐场景详细结果 + 失败汇总 + DB 核实小结 + 下一步建议 |
|
|
8
|
+
| JSONL 验证记录 | `docs/features/<feature-id>/<文件前缀>-接口测试验证.jsonl` | AI 逐接口 DB 验证记录,供下游 skill 程序化处理 |
|
|
9
9
|
|
|
10
10
|
**JSON 中间结果**(R3 `bru run --output` 产的)临时,**不归档**——跑完即丢。
|
|
11
11
|
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
## Markdown 报告章节
|
|
19
19
|
|
|
20
|
-
完整骨架见 `assets/template
|
|
20
|
+
完整骨架见 `assets/template-接口测试报告.md`。AI 生成时按以下章节填:
|
|
21
21
|
|
|
22
22
|
### §1. 汇总
|
|
23
23
|
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
|
|
92
92
|
### §6. 产物清单
|
|
93
93
|
|
|
94
|
-
|
|
94
|
+
固定四项:接口测试规格、.bru collection、Markdown 报告(本文件)、JSONL 验证记录。
|
|
95
95
|
|
|
96
96
|
## JSONL 字段
|
|
97
97
|
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
|
|
112
112
|
查询接口 `db_verification.required = false, conclusion = "not_required"`。
|
|
113
113
|
|
|
114
|
-
完整示例见 `assets/template
|
|
114
|
+
完整示例见 `assets/template-接口测试验证.jsonl`。
|
|
115
115
|
|
|
116
116
|
## 状态枚举
|
|
117
117
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
按以下优先级检测,**任一通过即视为就绪**:
|
|
6
6
|
|
|
7
|
-
1.
|
|
7
|
+
1. **接口测试规格声明的服务地址** — `<文件前缀>-接口测试-spec.md` §1 接口清单声明的"服务地址"(由 write-api S2 生成)能 TCP 连通
|
|
8
8
|
2. **bruno env 的 baseUrl** — `docs/bruno/environments/local.bru` 里的 `baseUrl`(或对应服务端口变量)能 TCP 连通
|
|
9
9
|
|
|
10
10
|
两者都失败 → 视为未就绪,进入暂停等待。
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
## 输入
|
|
4
4
|
|
|
5
|
-
R1 的输入由 SKILL.md 触发逻辑(三分支)锁定一个 feature-id 后,从该 feature
|
|
5
|
+
R1 的输入由 SKILL.md 触发逻辑(三分支)锁定一个 feature-id 后,从该 feature 的接口测试规格文档拿:
|
|
6
6
|
|
|
7
|
-
- 路径:`docs/features/<feature-id
|
|
7
|
+
- 路径:`docs/features/<feature-id>/<文件前缀>-接口测试-spec.md`
|
|
8
8
|
- §1 接口清单:方法 + 路径 + 是否写接口
|
|
9
9
|
- §2 测试场景:每接口要测的场景名(正常/缺字段/不存在等)
|
|
10
10
|
- §5 接口映射:场景 → 接口 → .bru 文件路径
|
|
@@ -17,7 +17,7 @@ R1 的输入由 SKILL.md 触发逻辑(三分支)锁定一个 feature-id 后,从
|
|
|
17
17
|
|---|---|
|
|
18
18
|
| 全部存在 | 进入用户确认环节 |
|
|
19
19
|
| 部分缺失 | 报"需求 X 接口 Y 场景 Z 的 .bru 缺失,请先跑 /write-api"并退出 |
|
|
20
|
-
| 全部缺失(该 feature 没跑过 write-api) | 报"需求 X
|
|
20
|
+
| 全部缺失(该 feature 没跑过 write-api) | 报"需求 X 无接口测试规格或 .bru 全缺失,请先跑 /write-api"并退出 |
|
|
21
21
|
|
|
22
22
|
**理由**:跑测试前确保 .bru 都在,避免跑到一半才发现缺文件,浪费已跑的测试时间。
|
|
23
23
|
|
|
@@ -38,7 +38,7 @@ R1 的输入由 SKILL.md 触发逻辑(三分支)锁定一个 feature-id 后,从
|
|
|
38
38
|
确认后回车继续,或 Ctrl+C 取消。
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
-
**为什么不能省**:AI 反查"接口关联哪些需求"
|
|
41
|
+
**为什么不能省**:AI 反查"接口关联哪些需求"、读接口测试规格拿场景等过程中可能理解偏差;用户确认环节让用户兜底,避免跑错需求或跑错接口集合。
|
|
42
42
|
|
|
43
43
|
## 输出
|
|
44
44
|
|
|
@@ -57,8 +57,8 @@ docs/bruno/common/login/正常.bru
|
|
|
57
57
|
|
|
58
58
|
| 情况 | 处理 |
|
|
59
59
|
|---|---|
|
|
60
|
-
| 用户指定需求但
|
|
60
|
+
| 用户指定需求但 接口测试-spec.md 不存在 | 报"需求 X 无接口测试规格,请先跑 /write-api"并退出 |
|
|
61
61
|
| 用户指定接口但接口目录不存在 | 报"接口 Y 无 .bru,请先跑 /write-api"并退出 |
|
|
62
62
|
| 用户指定接口但扫目录发现 0 个需求测过 | 提示"未在 docs/bruno/ 下找到测过接口 Y 的需求,请先跑 /write-api" |
|
|
63
|
-
|
|
|
63
|
+
| 接口测试规格 §5 列出的 .bru 实际不存在 | 报"需求 X 接口 Y 场景 Z 的 .bru 缺失,请先跑 /write-api"并退出 |
|
|
64
64
|
| 用户确认环节用户取消 | 退出,不进入 R2 |
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: run-ui-test
|
|
3
|
+
description: 在 write-ui-test 生成用例规格后,通过 Playwright MCP 驱动浏览器执行 UI 功能测试——逐用例操作页面 + 预期验证点截图(按功能点命名)+ 出报告。触发时由用户指定需求;用例规格缺失报错退出。执行前五道关:playwright MCP 可用 → 需求锁定 → 执行模式与入口 URL 人工给 → 服务就绪人工确认 → 数据前提人工备齐;登录由 agent 用用例记录的账号自己走,验证码/SSO 暂停找人。不验库(写操作也只验 UI 表现);失败只报告不修代码不用例不重跑,交用户决定。不调 write-ui-test、不改用例规格。Use when 用户要求跑 UI 功能测试 / 界面上验一下需求 / 跑下页面测试 / run-ui-test;write-ui-test 跑完后用户要求执行。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Run UI Test
|
|
7
|
+
|
|
8
|
+
## 定位
|
|
9
|
+
|
|
10
|
+
打靶 skill:在 `write-ui-test` 生成用例规格之后,通过 Playwright MCP 驱动浏览器执行 + 截图 + 出报告。不改用例、不修代码、不重跑,失败交用户决定。
|
|
11
|
+
|
|
12
|
+
`write-ui-test` 负责"造弹药",`run-ui-test` 负责"打靶"。两者独立,同一份用例规格可被多次复用(改代码或改用例后重跑)。
|
|
13
|
+
|
|
14
|
+
与接口测试的分工:**接口测试验接口契约与数据层(查库),本流程只验页面表现与交互(渲染/跳转/提示/回显),不验库**——两层各司其职。
|
|
15
|
+
|
|
16
|
+
## HARD-GATE
|
|
17
|
+
|
|
18
|
+
- **不验库** —— 写操作用例也只验 UI 表现,数据层正确性归 `/run-api-test`
|
|
19
|
+
- **失败只报告** —— 不修代码、不改用例、不自动重跑,交用户决定
|
|
20
|
+
- **MCP 缺失不盲跑** —— 当前会话无 playwright MCP 工具 → 输出安装指引并退出
|
|
21
|
+
- **数据前提未备齐不跑** —— 用例规格 §3 清单逐项请用户确认,未备齐暂停等待
|
|
22
|
+
- **报告永远归一个 feature 目录** —— 归用户触发时指定的需求目录,不混
|
|
23
|
+
|
|
24
|
+
## Trigger
|
|
25
|
+
|
|
26
|
+
**使用此 skill 当**:
|
|
27
|
+
- 用户完成 `/write-ui-test` 后,要求"跑 UI 功能测试""界面上验一下"
|
|
28
|
+
- 用户说"run-ui-test""跑下需求 X 的页面测试"
|
|
29
|
+
- 代码改完后,用户要重跑验证修复
|
|
30
|
+
|
|
31
|
+
**不要使用此 skill 当**:
|
|
32
|
+
- 生成用例 → 用 `/write-ui-test`(本 skill 假设用例规格已存在)
|
|
33
|
+
- 接口测试 → 用 `/run-api-test`
|
|
34
|
+
- 视觉回归 / 跨浏览器兼容 / 性能测试 → 非本流程目标,不接
|
|
35
|
+
- 修代码 / 改用例 → 用户手动或走 `/implementation`(本 skill 只测不修)
|
|
36
|
+
|
|
37
|
+
## 与既有 skill 边界
|
|
38
|
+
|
|
39
|
+
| skill | 关系 | 说明 |
|
|
40
|
+
|---|---|---|
|
|
41
|
+
| `write-ui-test` | 上游 | 产用例规格;本 skill 消费它跑测试,不调它也不改用例 |
|
|
42
|
+
| `run-api-test` | 平行(推荐先跑) | 接口层验证 + 查库;本流程不重复验库;先接口后 UI 仅推荐顺序,非硬前置 |
|
|
43
|
+
| `implementation` / `subagent-implement` | 下游 | 测试失败后由用户决定是否调起修 bug |
|
|
44
|
+
|
|
45
|
+
## 依赖
|
|
46
|
+
|
|
47
|
+
- 用例规格已存在(由 `/write-ui-test` 生成,在 `docs/features/<feature-id>/ui功能测试/<文件前缀>-ui功能测试-spec.md`)
|
|
48
|
+
- 目标项目已安装 Playwright MCP(R0 校验,缺失给安装指引)
|
|
49
|
+
- 服务已由人工启动(本地或已部署测试环境);入口 URL 明确(用例规格记录或用户给)
|
|
50
|
+
- 用例规格 §3 数据前提已由人工备齐
|
|
51
|
+
|
|
52
|
+
## feature-id 与文件前缀规则
|
|
53
|
+
|
|
54
|
+
复用既有规则(同 `/write-api` / `/run-api-test` 的算法):
|
|
55
|
+
|
|
56
|
+
- feature-id 格式:`YYYY-MM-DD-[业务ID-]<标题>`
|
|
57
|
+
- 文件前缀:有业务ID = `<业务ID>-<标题>`,无业务ID = `<标题>`
|
|
58
|
+
- 文件名不得包含 `/`、`:`、`*`、`?`、`"`、`<`、`>`、`|`
|
|
59
|
+
|
|
60
|
+
产物文件名(归用户指定的 feature 目录):
|
|
61
|
+
|
|
62
|
+
- 测试报告:`docs/features/<feature-id>/ui功能测试/<文件前缀>-ui功能测试报告.md`
|
|
63
|
+
- 截图:`docs/features/<feature-id>/ui功能测试/<功能点名>.png`(同功能点多张追加 `-2`/`-3`)
|
|
64
|
+
|
|
65
|
+
格式见 `references/report-format.md`。
|
|
66
|
+
|
|
67
|
+
## 触发逻辑(用户给的是什么?)
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
用户触发 /run-ui-test
|
|
71
|
+
↓
|
|
72
|
+
用户给的是什么?
|
|
73
|
+
├─ 指定了需求(feature-id / spec / 需求名)
|
|
74
|
+
│ → 查该需求的 ui功能测试/<文件前缀>-ui功能测试-spec.md
|
|
75
|
+
│ → 不存在 → 报"需求 X 无 UI 用例规格,请先跑 /write-ui-test"并退出
|
|
76
|
+
│
|
|
77
|
+
└─ 未指定
|
|
78
|
+
→ 主动问"请指定需求(feature-id/spec/需求名)"
|
|
79
|
+
→ 拿到后回到上面分支
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**关键约束**:锁定一个 feature-id,报告归该 feature 目录;用例清单必须显示给用户确认后才执行。
|
|
83
|
+
|
|
84
|
+
## 工作流
|
|
85
|
+
|
|
86
|
+
按 R0-R6 顺序执行,报告规范见 `references/report-format.md`。
|
|
87
|
+
|
|
88
|
+
### R0. Playwright MCP 就绪
|
|
89
|
+
|
|
90
|
+
- **行为**:确认当前会话可用 playwright MCP 工具(浏览器导航/点击/输入/截图能力)
|
|
91
|
+
- **缺失** → 输出安装指引并退出,不盲跑:
|
|
92
|
+
```
|
|
93
|
+
claude mcp add playwright npx @playwright/mcp@latest
|
|
94
|
+
```
|
|
95
|
+
(安装后重启会话再触发本 skill;本 skill 不替目标项目写 MCP 配置)
|
|
96
|
+
|
|
97
|
+
### R1. 锁定需求与用例范围
|
|
98
|
+
|
|
99
|
+
- **前置**:R0 通过
|
|
100
|
+
- **行为**:按触发逻辑读用例规格;显示用例清单(功能点名 + 步骤摘要)给用户确认
|
|
101
|
+
- **用户取消** → 退出
|
|
102
|
+
|
|
103
|
+
### R2. 执行参数确认
|
|
104
|
+
|
|
105
|
+
- **行为**:
|
|
106
|
+
- **运行模式**:问用户 headed(可视)还是无头——由人工定,不默认
|
|
107
|
+
- **入口 URL**:默认读用例规格 §1 记录值;用户触发时给了新值 → 以用户为准;两处都没有 → 向用户要。**不得隐式假设**
|
|
108
|
+
|
|
109
|
+
### R3. 服务就绪 + 数据前提确认
|
|
110
|
+
|
|
111
|
+
- **行为**:暂停请用户确认两项:
|
|
112
|
+
1. 服务已启动(本地或已部署测试环境),入口 URL 可访问
|
|
113
|
+
2. 用例规格 §3 数据前提清单已逐项备齐(全人工备)
|
|
114
|
+
- **任一不满足** → 等待,不执行、不盲跑
|
|
115
|
+
|
|
116
|
+
### R4. 登录
|
|
117
|
+
|
|
118
|
+
- **前置**:用例规格 §4 标注需要登录
|
|
119
|
+
- **行为**:agent 用 §4 记录的测试账号自己走登录动线
|
|
120
|
+
- **卡住**(验证码/SSO/账号失效)→ 暂停请人工介入;人工处理完继续
|
|
121
|
+
- **无需登录** → 跳过本步
|
|
122
|
+
|
|
123
|
+
### R5. 逐用例执行
|
|
124
|
+
|
|
125
|
+
- **行为**:按用例规格 §2 逐条执行:
|
|
126
|
+
1. 按操作步骤驱动页面
|
|
127
|
+
2. 验证预期表现(只验 UI,不查库)
|
|
128
|
+
3. 预期验证点截图,存 `ui功能测试/<功能点名>.png`
|
|
129
|
+
- **单条失败** → 记录状态与原因,**继续下一条**,不阻塞
|
|
130
|
+
- **浏览器 / MCP 崩溃** → 记「失败-环境」;能继续则继续,不能则停止执行出报告,如实标注未完成部分
|
|
131
|
+
|
|
132
|
+
### R6. 产出测试报告
|
|
133
|
+
|
|
134
|
+
- **前置**:R5 完成
|
|
135
|
+
- **行为**:按 `references/report-format.md` 汇总产出 `<文件前缀>-ui功能测试报告.md`(汇总 + 逐用例结果 + 失败汇总 + 下一步建议 + 产物清单)
|
|
136
|
+
- **报告归属**:归用户指定的 feature 目录
|
|
137
|
+
- **同需求重复触发**:覆盖该需求报告,不增量合并
|
|
138
|
+
|
|
139
|
+
## 状态枚举
|
|
140
|
+
|
|
141
|
+
| 状态 | 含义 |
|
|
142
|
+
|---|---|
|
|
143
|
+
| `通过` | 步骤执行通 + 预期表现验证通 |
|
|
144
|
+
| `失败-预期不符` | 步骤执行通,但 UI 表现与预期不符(疑似功能 bug) |
|
|
145
|
+
| `失败-元素缺失` | 页面结构不符/定位不到元素(改版或实现缺失) |
|
|
146
|
+
| `失败-环境` | 服务中途不可用 / 浏览器或 MCP 异常 |
|
|
147
|
+
| `失败-登录` | 登录无法完成(账号/验证码/SSO) |
|
|
148
|
+
| `跳过` | 用户取消该用例 / 前置不满足主动跳过 |
|
|
149
|
+
|
|
150
|
+
## 异常速查
|
|
151
|
+
|
|
152
|
+
| 场景 | 行为 |
|
|
153
|
+
|---|---|
|
|
154
|
+
| 用例规格缺失 | 报"需求 X 无 UI 用例规格,请先跑 /write-ui-test"并退出 |
|
|
155
|
+
| playwright MCP 不可用 | 输出安装指引(`claude mcp add playwright npx @playwright/mcp@latest`)并退出 |
|
|
156
|
+
| 入口 URL 不明 | 向用户要,不隐式假设 |
|
|
157
|
+
| 服务未就绪 | 暂停等待人工启动,不盲跑 |
|
|
158
|
+
| 数据前提未备齐 | 暂停等待人工准备 |
|
|
159
|
+
| 登录卡住(验证码/SSO) | 暂停请人工介入 |
|
|
160
|
+
| 单条用例失败 | 记状态 + 原因,继续其他用例 |
|
|
161
|
+
| 浏览器 / MCP 崩溃 | 记「失败-环境」,出报告如实标注,不产误导性结论 |
|
|
162
|
+
| 同需求重复触发 | 覆盖该需求报告,不增量合并 |
|
|
163
|
+
|
|
164
|
+
## 质量检查
|
|
165
|
+
|
|
166
|
+
跑完后自检:
|
|
167
|
+
- 报告归指定的 feature 目录 `ui功能测试/`,截图同目录按功能点命名
|
|
168
|
+
- 每条用例都有状态(六枚举之一),失败用例有原因分类
|
|
169
|
+
- 全程没查库、没修代码、没改用例、没自动重跑
|
|
170
|
+
- 五道前置关都过了才执行,没盲跑(MCP/URL/服务/数据)
|
|
171
|
+
- 登录失败时暂停找了人,没硬闯
|
|
172
|
+
- 用户确认环节有执行(用例清单显示给用户)
|
|
173
|
+
|
|
174
|
+
## 收尾
|
|
175
|
+
|
|
176
|
+
提示用户:
|
|
177
|
+
1. 测试报告位置(`<文件前缀>-ui功能测试报告.md`)与截图目录
|
|
178
|
+
2. 通过 / 失败 / 跳过汇总
|
|
179
|
+
3. 失败用例清单 + 原因分类
|
|
180
|
+
4. 下一步建议:
|
|
181
|
+
- 失败-预期不符 → 疑似功能 bug,走 `/implementation` 修,修完重跑 `/run-ui-test`
|
|
182
|
+
- 失败-元素缺失 → 确认页面结构是否改版;用例过时 → 走 `/write-ui-test` 重新派生
|
|
183
|
+
- 失败-环境 → 服务/浏览器问题,恢复后重跑
|
|
184
|
+
- 失败-登录 → 核对用例规格 §4 的测试账号
|
|
185
|
+
|
|
186
|
+
不主动调用 `/implementation` 或其他下游 skill。不写 knowledge 文件。不修改用例规格 / spec / plan / 代码。
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# R6 UI 功能测试报告规范
|
|
2
|
+
|
|
3
|
+
## 产物
|
|
4
|
+
|
|
5
|
+
| 产物 | 路径 | 用途 |
|
|
6
|
+
|---|---|---|
|
|
7
|
+
| Markdown 报告 | `docs/features/<feature-id>/ui功能测试/<文件前缀>-ui功能测试报告.md` | 给人看:汇总 + 逐用例结果 + 失败汇总 + 下一步建议 |
|
|
8
|
+
| 截图 | `docs/features/<feature-id>/ui功能测试/<功能点名>.png` | 预期验证点留证,报告内相对路径引用 |
|
|
9
|
+
|
|
10
|
+
**不产 JSONL**——本流程不验库,无程序化消费方。
|
|
11
|
+
|
|
12
|
+
## 报告归属规则
|
|
13
|
+
|
|
14
|
+
报告永远归用户触发时指定的需求目录。同需求重复触发 → 覆盖,不增量合并。
|
|
15
|
+
|
|
16
|
+
## Markdown 报告章节
|
|
17
|
+
|
|
18
|
+
### §1. 汇总
|
|
19
|
+
|
|
20
|
+
| 指标 | 值 |
|
|
21
|
+
|---|---|
|
|
22
|
+
| 总用例数 | N |
|
|
23
|
+
| 通过 | N |
|
|
24
|
+
| 失败 | N |
|
|
25
|
+
| 跳过 | N |
|
|
26
|
+
| 通过率 | % |
|
|
27
|
+
| 运行模式 | headed / 无头 |
|
|
28
|
+
| 入口 URL | … |
|
|
29
|
+
|
|
30
|
+
### §2. 逐用例结果 ⭐ 核心
|
|
31
|
+
|
|
32
|
+
每用例一节。失败用例必须详细(步骤执行到哪一步、预期 vs 实际、截图);通过用例可简写。
|
|
33
|
+
|
|
34
|
+
```markdown
|
|
35
|
+
### 用例 1:新建客户 —— ✅ 通过
|
|
36
|
+
|
|
37
|
+
步骤全部执行,预期验证通过。截图:
|
|
38
|
+
|
|
39
|
+
### 用例 2:编辑客户 —— ❌ 失败-预期不符
|
|
40
|
+
|
|
41
|
+
- 执行到:步骤 3(点「保存」)
|
|
42
|
+
- 预期:提示「保存成功」,列表联系电话更新为 13900139000
|
|
43
|
+
- 实际:提示「保存成功」,但列表联系电话仍显示旧值;刷新后才更新
|
|
44
|
+
- 截图:
|
|
45
|
+
- 原因分类:失败-预期不符(疑似保存后列表未重新拉取)
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### §3. 失败汇总
|
|
49
|
+
|
|
50
|
+
| 状态 | 数量 | 用例 |
|
|
51
|
+
|---|---|---|
|
|
52
|
+
| 失败-预期不符 | N | 用例名 |
|
|
53
|
+
| 失败-元素缺失 | N | 用例名 |
|
|
54
|
+
| 失败-环境 | N | 用例名 |
|
|
55
|
+
| 失败-登录 | N | 用例名 |
|
|
56
|
+
| **合计** | **N** | |
|
|
57
|
+
|
|
58
|
+
无失败则写「本次无失败用例」。
|
|
59
|
+
|
|
60
|
+
### §4. 下一步建议
|
|
61
|
+
|
|
62
|
+
按失败类型给建议,不自动调下游 skill:
|
|
63
|
+
|
|
64
|
+
- 失败-预期不符 → 疑似功能 bug,走 `/implementation` 修,修完重跑 `/run-ui-test`
|
|
65
|
+
- 失败-元素缺失 → 确认页面结构是否改版;用例过时 → 走 `/write-ui-test` 重新派生
|
|
66
|
+
- 失败-环境 → 服务/浏览器问题,恢复后重跑
|
|
67
|
+
- 失败-登录 → 核对用例规格 §4 的测试账号
|
|
68
|
+
|
|
69
|
+
### §5. 产物清单
|
|
70
|
+
|
|
71
|
+
固定三项:用例规格、本报告、截图(列文件名)。
|
|
72
|
+
|
|
73
|
+
## 状态枚举(与 SKILL.md 一致)
|
|
74
|
+
|
|
75
|
+
`通过` / `失败-预期不符` / `失败-元素缺失` / `失败-环境` / `失败-登录` / `跳过`
|
|
76
|
+
|
|
77
|
+
**前置暂停不记入报告,不算失败**(MCP 缺失/服务未就绪/数据未备齐时 skill 在 R0/R3 暂停,根本没进 R5)。
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: subagent-implement
|
|
3
|
-
description:
|
|
3
|
+
description: 大规模 plan 的子 agent 实现流程 — 主 agent 作为 controller,按依赖批次派 implementer 子 agent 实现 + 按风险做 spec 审查,所有任务完成后派 final quality reviewer 整体审查。Use when 执行计划/跑计划/按 plan 实现/派子 agent 实现/复杂实现/多任务实现/系统化实现/subagent 实现。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Subagent-Implement
|
|
@@ -9,7 +9,8 @@ description: 复杂 plan 的子 agent 实现流程 — 主 agent 作为 controll
|
|
|
9
9
|
|
|
10
10
|
- **主 agent 是统帅不是先锋**:只协调、把关、收口;实现全部派隔离上下文的 implementer 子 agent。
|
|
11
11
|
- **质量靠结构,不靠自觉**:四件套注入让执行者无法漂移,sanity check 把每任务关,quality-reviewer 把最终关。
|
|
12
|
-
- **门槛**:有 plan(或明确任务清单)+ ≥3
|
|
12
|
+
- **门槛**:有 plan(或明确任务清单)+ 需求规模达「明显大」(跨 ≥3 个相互独立的模块、预估变更文件 ≥10、任务可独立派任),或主 agent 上下文装不下。单点/单模块/小规模变更 → 走 `implementation`;任务强耦合(后任务依赖前任务实时反馈)→ 走 `implementation`。反例:小全栈需求(加 1 字段 + 改 1 接口 + 1 页面展示,跨 3 域)→ `implementation`,不进本流程。
|
|
13
|
+
- **拆细防线**:plan 任务明显过细(大量「改 1 字段 / 加 1 参数」级微任务)→ 先向用户提出合并建议再派任。
|
|
13
14
|
|
|
14
15
|
## 流程
|
|
15
16
|
|