@futdevpro/dynamo-e2e 1.17.0 → 1.18.0
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/.dynamo/logs/cicd-pipeline/status.json +67 -0
- package/CHANGELOG.md +98 -0
- package/bin/dye2e.js +170 -0
- package/build/_modules/generators/_collections/form-level-emission.util.d.ts.map +1 -1
- package/build/_modules/generators/_collections/form-level-emission.util.js +3 -1
- package/build/_modules/generators/_collections/form-level-emission.util.js.map +1 -1
- package/build/_modules/generators/_collections/test-case-filter.util.d.ts.map +1 -1
- package/build/_modules/generators/_collections/test-case-filter.util.js +24 -0
- package/build/_modules/generators/_collections/test-case-filter.util.js.map +1 -1
- package/build/_modules/generators/_models/form-settings-shape.interface.d.ts +7 -0
- package/build/_modules/generators/_models/form-settings-shape.interface.d.ts.map +1 -1
- package/build/_modules/generators/_models/form-suite-generate-options.interface.d.ts +19 -0
- package/build/_modules/generators/_models/form-suite-generate-options.interface.d.ts.map +1 -1
- package/build/_modules/generators/form-suite.generator.d.ts.map +1 -1
- package/build/_modules/generators/form-suite.generator.js +8 -3
- package/build/_modules/generators/form-suite.generator.js.map +1 -1
- package/build/_modules/generators/form-suite.generator.spec.js +44 -0
- package/build/_modules/generators/form-suite.generator.spec.js.map +1 -1
- package/build/_modules/generators/test-case-filter-edge.spec.js +37 -4
- package/build/_modules/generators/test-case-filter-edge.spec.js.map +1 -1
- package/build/_modules/vqa/_collections/constants/anti-flake-css.const.d.ts +8 -0
- package/build/_modules/vqa/_collections/constants/anti-flake-css.const.d.ts.map +1 -0
- package/build/_modules/vqa/_collections/constants/anti-flake-css.const.js +21 -0
- package/build/_modules/vqa/_collections/constants/anti-flake-css.const.js.map +1 -0
- package/build/_modules/vqa/_collections/constants/axe-page-script.const.d.ts +21 -0
- package/build/_modules/vqa/_collections/constants/axe-page-script.const.d.ts.map +1 -0
- package/build/_modules/vqa/_collections/constants/axe-page-script.const.js +57 -0
- package/build/_modules/vqa/_collections/constants/axe-page-script.const.js.map +1 -0
- package/build/_modules/vqa/_collections/constants/dom-evidence-page-scripts.const.d.ts +13 -0
- package/build/_modules/vqa/_collections/constants/dom-evidence-page-scripts.const.d.ts.map +1 -0
- package/build/_modules/vqa/_collections/constants/dom-evidence-page-scripts.const.js +318 -0
- package/build/_modules/vqa/_collections/constants/dom-evidence-page-scripts.const.js.map +1 -0
- package/build/_modules/vqa/_collections/constants/vqa-standard-viewports.const.d.ts +14 -0
- package/build/_modules/vqa/_collections/constants/vqa-standard-viewports.const.d.ts.map +1 -0
- package/build/_modules/vqa/_collections/constants/vqa-standard-viewports.const.js +82 -0
- package/build/_modules/vqa/_collections/constants/vqa-standard-viewports.const.js.map +1 -0
- package/build/_modules/vqa/_collections/constants/vqa-tailwind-viewports.const.d.ts +23 -0
- package/build/_modules/vqa/_collections/constants/vqa-tailwind-viewports.const.d.ts.map +1 -0
- package/build/_modules/vqa/_collections/constants/vqa-tailwind-viewports.const.js +37 -0
- package/build/_modules/vqa/_collections/constants/vqa-tailwind-viewports.const.js.map +1 -0
- package/build/_modules/vqa/_collections/index.d.ts +10 -0
- package/build/_modules/vqa/_collections/index.d.ts.map +1 -0
- package/build/_modules/vqa/_collections/index.js +26 -0
- package/build/_modules/vqa/_collections/index.js.map +1 -0
- package/build/_modules/vqa/_collections/utils/deterministic-finding.util.d.ts +23 -0
- package/build/_modules/vqa/_collections/utils/deterministic-finding.util.d.ts.map +1 -0
- package/build/_modules/vqa/_collections/utils/deterministic-finding.util.js +112 -0
- package/build/_modules/vqa/_collections/utils/deterministic-finding.util.js.map +1 -0
- package/build/_modules/vqa/_collections/utils/finding-id.util.d.ts +18 -0
- package/build/_modules/vqa/_collections/utils/finding-id.util.d.ts.map +1 -0
- package/build/_modules/vqa/_collections/utils/finding-id.util.js +42 -0
- package/build/_modules/vqa/_collections/utils/finding-id.util.js.map +1 -0
- package/build/_modules/vqa/_collections/utils/finding-validator.util.d.ts +21 -0
- package/build/_modules/vqa/_collections/utils/finding-validator.util.d.ts.map +1 -0
- package/build/_modules/vqa/_collections/utils/finding-validator.util.js +114 -0
- package/build/_modules/vqa/_collections/utils/finding-validator.util.js.map +1 -0
- package/build/_modules/vqa/_collections/utils/manifest-validator.util.d.ts +27 -0
- package/build/_modules/vqa/_collections/utils/manifest-validator.util.d.ts.map +1 -0
- package/build/_modules/vqa/_collections/utils/manifest-validator.util.js +148 -0
- package/build/_modules/vqa/_collections/utils/manifest-validator.util.js.map +1 -0
- package/build/_modules/vqa/_collections/utils/risk-score.util.d.ts +48 -0
- package/build/_modules/vqa/_collections/utils/risk-score.util.d.ts.map +1 -0
- package/build/_modules/vqa/_collections/utils/risk-score.util.js +77 -0
- package/build/_modules/vqa/_collections/utils/risk-score.util.js.map +1 -0
- package/build/_modules/vqa/_enums/dom-evidence-detector.enum.d.ts +44 -0
- package/build/_modules/vqa/_enums/dom-evidence-detector.enum.d.ts.map +1 -0
- package/build/_modules/vqa/_enums/dom-evidence-detector.enum.js +48 -0
- package/build/_modules/vqa/_enums/dom-evidence-detector.enum.js.map +1 -0
- package/build/_modules/vqa/_enums/finding-severity.enum.d.ts +17 -0
- package/build/_modules/vqa/_enums/finding-severity.enum.d.ts.map +1 -0
- package/build/_modules/vqa/_enums/finding-severity.enum.js +21 -0
- package/build/_modules/vqa/_enums/finding-severity.enum.js.map +1 -0
- package/build/_modules/vqa/_enums/finding-status.enum.d.ts +23 -0
- package/build/_modules/vqa/_enums/finding-status.enum.d.ts.map +1 -0
- package/build/_modules/vqa/_enums/finding-status.enum.js +27 -0
- package/build/_modules/vqa/_enums/finding-status.enum.js.map +1 -0
- package/build/_modules/vqa/_enums/index.d.ts +5 -0
- package/build/_modules/vqa/_enums/index.d.ts.map +1 -0
- package/build/_modules/vqa/_enums/index.js +21 -0
- package/build/_modules/vqa/_enums/index.js.map +1 -0
- package/build/_modules/vqa/_enums/visual-state-type.enum.d.ts +38 -0
- package/build/_modules/vqa/_enums/visual-state-type.enum.d.ts.map +1 -0
- package/build/_modules/vqa/_enums/visual-state-type.enum.js +49 -0
- package/build/_modules/vqa/_enums/visual-state-type.enum.js.map +1 -0
- package/build/_modules/vqa/_models/interfaces/critical-element.interface.d.ts +22 -0
- package/build/_modules/vqa/_models/interfaces/critical-element.interface.d.ts.map +1 -0
- package/build/_modules/vqa/_models/interfaces/critical-element.interface.js +3 -0
- package/build/_modules/vqa/_models/interfaces/critical-element.interface.js.map +1 -0
- package/build/_modules/vqa/_models/interfaces/dom-evidence.interface.d.ts +21 -0
- package/build/_modules/vqa/_models/interfaces/dom-evidence.interface.d.ts.map +1 -0
- package/build/_modules/vqa/_models/interfaces/dom-evidence.interface.js +3 -0
- package/build/_modules/vqa/_models/interfaces/dom-evidence.interface.js.map +1 -0
- package/build/_modules/vqa/_models/interfaces/expected-feedback.interface.d.ts +16 -0
- package/build/_modules/vqa/_models/interfaces/expected-feedback.interface.d.ts.map +1 -0
- package/build/_modules/vqa/_models/interfaces/expected-feedback.interface.js +3 -0
- package/build/_modules/vqa/_models/interfaces/expected-feedback.interface.js.map +1 -0
- package/build/_modules/vqa/_models/interfaces/feature-manifest.interface.d.ts +56 -0
- package/build/_modules/vqa/_models/interfaces/feature-manifest.interface.d.ts.map +1 -0
- package/build/_modules/vqa/_models/interfaces/feature-manifest.interface.js +3 -0
- package/build/_modules/vqa/_models/interfaces/feature-manifest.interface.js.map +1 -0
- package/build/_modules/vqa/_models/interfaces/finding.interface.d.ts +58 -0
- package/build/_modules/vqa/_models/interfaces/finding.interface.d.ts.map +1 -0
- package/build/_modules/vqa/_models/interfaces/finding.interface.js +3 -0
- package/build/_modules/vqa/_models/interfaces/finding.interface.js.map +1 -0
- package/build/_modules/vqa/_models/interfaces/flow-step.interface.d.ts +32 -0
- package/build/_modules/vqa/_models/interfaces/flow-step.interface.d.ts.map +1 -0
- package/build/_modules/vqa/_models/interfaces/flow-step.interface.js +3 -0
- package/build/_modules/vqa/_models/interfaces/flow-step.interface.js.map +1 -0
- package/build/_modules/vqa/_models/interfaces/index.d.ts +8 -0
- package/build/_modules/vqa/_models/interfaces/index.d.ts.map +1 -0
- package/build/_modules/vqa/_models/interfaces/index.js +24 -0
- package/build/_modules/vqa/_models/interfaces/index.js.map +1 -0
- package/build/_modules/vqa/_models/interfaces/visual-state.interface.d.ts +34 -0
- package/build/_modules/vqa/_models/interfaces/visual-state.interface.d.ts.map +1 -0
- package/build/_modules/vqa/_models/interfaces/visual-state.interface.js +3 -0
- package/build/_modules/vqa/_models/interfaces/visual-state.interface.js.map +1 -0
- package/build/_modules/vqa/capture-spec.generator.spec.d.ts +2 -0
- package/build/_modules/vqa/capture-spec.generator.spec.d.ts.map +1 -0
- package/build/_modules/vqa/capture-spec.generator.spec.js +126 -0
- package/build/_modules/vqa/capture-spec.generator.spec.js.map +1 -0
- package/build/_modules/vqa/comparison-bundle.generator.spec.d.ts +2 -0
- package/build/_modules/vqa/comparison-bundle.generator.spec.d.ts.map +1 -0
- package/build/_modules/vqa/comparison-bundle.generator.spec.js +130 -0
- package/build/_modules/vqa/comparison-bundle.generator.spec.js.map +1 -0
- package/build/_modules/vqa/finding-validator.spec.d.ts +2 -0
- package/build/_modules/vqa/finding-validator.spec.d.ts.map +1 -0
- package/build/_modules/vqa/finding-validator.spec.js +136 -0
- package/build/_modules/vqa/finding-validator.spec.js.map +1 -0
- package/build/_modules/vqa/generators/ai-agent-readme.template.d.ts +19 -0
- package/build/_modules/vqa/generators/ai-agent-readme.template.d.ts.map +1 -0
- package/build/_modules/vqa/generators/ai-agent-readme.template.js +179 -0
- package/build/_modules/vqa/generators/ai-agent-readme.template.js.map +1 -0
- package/build/_modules/vqa/generators/bundle-summary.template.d.ts +9 -0
- package/build/_modules/vqa/generators/bundle-summary.template.d.ts.map +1 -0
- package/build/_modules/vqa/generators/bundle-summary.template.js +73 -0
- package/build/_modules/vqa/generators/bundle-summary.template.js.map +1 -0
- package/build/_modules/vqa/generators/capture-spec.generator.d.ts +33 -0
- package/build/_modules/vqa/generators/capture-spec.generator.d.ts.map +1 -0
- package/build/_modules/vqa/generators/capture-spec.generator.js +194 -0
- package/build/_modules/vqa/generators/capture-spec.generator.js.map +1 -0
- package/build/_modules/vqa/generators/comparison-bundle.generator.d.ts +37 -0
- package/build/_modules/vqa/generators/comparison-bundle.generator.d.ts.map +1 -0
- package/build/_modules/vqa/generators/comparison-bundle.generator.js +238 -0
- package/build/_modules/vqa/generators/comparison-bundle.generator.js.map +1 -0
- package/build/_modules/vqa/generators/index.d.ts +6 -0
- package/build/_modules/vqa/generators/index.d.ts.map +1 -0
- package/build/_modules/vqa/generators/index.js +22 -0
- package/build/_modules/vqa/generators/index.js.map +1 -0
- package/build/_modules/vqa/generators/review-bundle.generator.d.ts +49 -0
- package/build/_modules/vqa/generators/review-bundle.generator.d.ts.map +1 -0
- package/build/_modules/vqa/generators/review-bundle.generator.js +127 -0
- package/build/_modules/vqa/generators/review-bundle.generator.js.map +1 -0
- package/build/_modules/vqa/index.d.ts +6 -0
- package/build/_modules/vqa/index.d.ts.map +1 -0
- package/build/_modules/vqa/index.js +25 -0
- package/build/_modules/vqa/index.js.map +1 -0
- package/build/_modules/vqa/manifest-validator.spec.d.ts +2 -0
- package/build/_modules/vqa/manifest-validator.spec.d.ts.map +1 -0
- package/build/_modules/vqa/manifest-validator.spec.js +125 -0
- package/build/_modules/vqa/manifest-validator.spec.js.map +1 -0
- package/build/_modules/vqa/review-bundle.generator.spec.d.ts +2 -0
- package/build/_modules/vqa/review-bundle.generator.spec.d.ts.map +1 -0
- package/build/_modules/vqa/review-bundle.generator.spec.js +166 -0
- package/build/_modules/vqa/review-bundle.generator.spec.js.map +1 -0
- package/build/_modules/vqa/wave-7.spec.d.ts +2 -0
- package/build/_modules/vqa/wave-7.spec.d.ts.map +1 -0
- package/build/_modules/vqa/wave-7.spec.js +203 -0
- package/build/_modules/vqa/wave-7.spec.js.map +1 -0
- package/build/index.d.ts +1 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +1 -0
- package/build/index.js.map +1 -1
- package/coverage/contracts/_collections/index.html +1 -1
- package/coverage/contracts/_collections/index.ts.html +1 -1
- package/coverage/contracts/_collections/utils/index.html +1 -1
- package/coverage/contracts/_collections/utils/test-id.util.ts.html +10 -10
- package/coverage/contracts/_enums/cwv-metric-type.enum.ts.html +1 -1
- package/coverage/contracts/_enums/field-test-case-type.enum.ts.html +1 -1
- package/coverage/contracts/_enums/index.html +1 -1
- package/coverage/contracts/_enums/index.ts.html +1 -1
- package/coverage/contracts/_enums/standard-viewport.enum.ts.html +1 -1
- package/coverage/contracts/_enums/test-expectation-type.enum.ts.html +1 -1
- package/coverage/contracts/_enums/test-run-mode-type.enum.ts.html +1 -1
- package/coverage/contracts/index.html +1 -1
- package/coverage/contracts/index.ts.html +1 -1
- package/coverage/cwv/_collections/cwv-aggregator.util.ts.html +1 -1
- package/coverage/cwv/_collections/cwv-comparison.util.ts.html +4 -4
- package/coverage/cwv/_collections/cwv-diagnose.util.ts.html +1 -1
- package/coverage/cwv/_collections/cwv-emission.util.ts.html +1 -1
- package/coverage/cwv/_collections/cwv-summarize.util.ts.html +1 -1
- package/coverage/cwv/_collections/index.html +7 -7
- package/coverage/cwv/_collections/inp-interaction-script.const.ts.html +1 -1
- package/coverage/cwv/_collections/web-vitals-page-script.const.ts.html +1 -1
- package/coverage/cwv/cwv-suite.generator.ts.html +3 -3
- package/coverage/cwv/index.html +5 -5
- package/coverage/generators/_collections/cli-runner.util.ts.html +1 -1
- package/coverage/generators/_collections/config-validator.util.ts.html +1 -1
- package/coverage/generators/_collections/field-emission.util.ts.html +86 -86
- package/coverage/generators/_collections/form-level-emission.util.ts.html +39 -33
- package/coverage/generators/_collections/index.html +20 -20
- package/coverage/generators/_collections/json-schema.util.ts.html +1 -1
- package/coverage/generators/_collections/preset-configs.const.ts.html +1 -1
- package/coverage/generators/_collections/spec-emission.util.ts.html +35 -35
- package/coverage/generators/_collections/test-case-filter.util.ts.html +159 -57
- package/coverage/generators/_collections/viewport-emission.util.ts.html +1 -1
- package/coverage/generators/form-suite.generator.ts.html +97 -79
- package/coverage/generators/index.html +18 -18
- package/coverage/generators/viewport-suite.generator.ts.html +3 -3
- package/coverage/index.html +83 -38
- package/coverage/lcov-report/contracts/_collections/index.html +1 -1
- package/coverage/lcov-report/contracts/_collections/index.ts.html +1 -1
- package/coverage/lcov-report/contracts/_collections/utils/index.html +1 -1
- package/coverage/lcov-report/contracts/_collections/utils/test-id.util.ts.html +10 -10
- package/coverage/lcov-report/contracts/_enums/cwv-metric-type.enum.ts.html +1 -1
- package/coverage/lcov-report/contracts/_enums/field-test-case-type.enum.ts.html +1 -1
- package/coverage/lcov-report/contracts/_enums/index.html +1 -1
- package/coverage/lcov-report/contracts/_enums/index.ts.html +1 -1
- package/coverage/lcov-report/contracts/_enums/standard-viewport.enum.ts.html +1 -1
- package/coverage/lcov-report/contracts/_enums/test-expectation-type.enum.ts.html +1 -1
- package/coverage/lcov-report/contracts/_enums/test-run-mode-type.enum.ts.html +1 -1
- package/coverage/lcov-report/contracts/index.html +1 -1
- package/coverage/lcov-report/contracts/index.ts.html +1 -1
- package/coverage/lcov-report/cwv/_collections/cwv-aggregator.util.ts.html +1 -1
- package/coverage/lcov-report/cwv/_collections/cwv-comparison.util.ts.html +4 -4
- package/coverage/lcov-report/cwv/_collections/cwv-diagnose.util.ts.html +1 -1
- package/coverage/lcov-report/cwv/_collections/cwv-emission.util.ts.html +1 -1
- package/coverage/lcov-report/cwv/_collections/cwv-summarize.util.ts.html +1 -1
- package/coverage/lcov-report/cwv/_collections/index.html +7 -7
- package/coverage/lcov-report/cwv/_collections/inp-interaction-script.const.ts.html +1 -1
- package/coverage/lcov-report/cwv/_collections/web-vitals-page-script.const.ts.html +1 -1
- package/coverage/lcov-report/cwv/cwv-suite.generator.ts.html +3 -3
- package/coverage/lcov-report/cwv/index.html +5 -5
- package/coverage/lcov-report/generators/_collections/cli-runner.util.ts.html +1 -1
- package/coverage/lcov-report/generators/_collections/config-validator.util.ts.html +1 -1
- package/coverage/lcov-report/generators/_collections/field-emission.util.ts.html +86 -86
- package/coverage/lcov-report/generators/_collections/form-level-emission.util.ts.html +39 -33
- package/coverage/lcov-report/generators/_collections/index.html +20 -20
- package/coverage/lcov-report/generators/_collections/json-schema.util.ts.html +1 -1
- package/coverage/lcov-report/generators/_collections/preset-configs.const.ts.html +1 -1
- package/coverage/lcov-report/generators/_collections/spec-emission.util.ts.html +35 -35
- package/coverage/lcov-report/generators/_collections/test-case-filter.util.ts.html +159 -57
- package/coverage/lcov-report/generators/_collections/viewport-emission.util.ts.html +1 -1
- package/coverage/lcov-report/generators/form-suite.generator.ts.html +97 -79
- package/coverage/lcov-report/generators/index.html +18 -18
- package/coverage/lcov-report/generators/viewport-suite.generator.ts.html +3 -3
- package/coverage/lcov-report/index.html +83 -38
- package/coverage/lcov-report/runtime/_collections/assertion-helpers.util.ts.html +1 -1
- package/coverage/lcov-report/runtime/_collections/index.html +7 -7
- package/coverage/lcov-report/runtime/_collections/unique-generator.util.ts.html +3 -3
- package/coverage/lcov-report/runtime/_collections/wait-helpers.util.ts.html +5 -5
- package/coverage/lcov-report/runtime/_services/dialog-page-object.ts.html +2 -2
- package/coverage/lcov-report/runtime/_services/field-page-object.ts.html +2 -2
- package/coverage/lcov-report/runtime/_services/form-page-object.ts.html +2 -2
- package/coverage/lcov-report/runtime/_services/index.html +9 -9
- package/coverage/lcov-report/runtime/_services/loader-page-object.ts.html +2 -2
- package/coverage/lcov-report/runtime/_services/logger.service.ts.html +5 -5
- package/coverage/lcov-report/runtime/_services/login-flow-helper.base.ts.html +2 -2
- package/coverage/lcov-report/runtime/_services/nav-page-object.ts.html +2 -2
- package/coverage/lcov-report/runtime/_services/toast-page-object.ts.html +1 -1
- package/coverage/lcov-report/runtime/_services/wave-2b-page-objects.ts.html +6 -6
- package/coverage/lcov-report/runtime/index.html +1 -1
- package/coverage/lcov-report/runtime/index.ts.html +1 -1
- package/coverage/lcov-report/vqa/_collections/utils/deterministic-finding.util.ts.html +481 -0
- package/coverage/lcov-report/vqa/_collections/utils/finding-id.util.ts.html +214 -0
- package/coverage/lcov-report/vqa/_collections/utils/finding-validator.util.ts.html +463 -0
- package/coverage/lcov-report/vqa/_collections/utils/index.html +176 -0
- package/coverage/lcov-report/vqa/_collections/utils/manifest-validator.util.ts.html +652 -0
- package/coverage/lcov-report/vqa/_collections/utils/risk-score.util.ts.html +424 -0
- package/coverage/lcov-report/vqa/_enums/dom-evidence-detector.enum.ts.html +214 -0
- package/coverage/lcov-report/vqa/_enums/finding-severity.enum.ts.html +133 -0
- package/coverage/lcov-report/vqa/_enums/finding-status.enum.ts.html +151 -0
- package/coverage/lcov-report/vqa/_enums/index.html +161 -0
- package/coverage/lcov-report/vqa/_enums/visual-state-type.enum.ts.html +235 -0
- package/coverage/lcov-report/vqa/generators/ai-agent-readme.template.ts.html +643 -0
- package/coverage/lcov-report/vqa/generators/bundle-summary.template.ts.html +316 -0
- package/coverage/lcov-report/vqa/generators/capture-spec.generator.ts.html +835 -0
- package/coverage/lcov-report/vqa/generators/comparison-bundle.generator.ts.html +898 -0
- package/coverage/lcov-report/vqa/generators/index.html +176 -0
- package/coverage/lcov-report/vqa/generators/review-bundle.generator.ts.html +559 -0
- package/coverage/lcov.info +2868 -623
- package/coverage/runtime/_collections/assertion-helpers.util.ts.html +1 -1
- package/coverage/runtime/_collections/index.html +7 -7
- package/coverage/runtime/_collections/unique-generator.util.ts.html +3 -3
- package/coverage/runtime/_collections/wait-helpers.util.ts.html +5 -5
- package/coverage/runtime/_services/dialog-page-object.ts.html +2 -2
- package/coverage/runtime/_services/field-page-object.ts.html +2 -2
- package/coverage/runtime/_services/form-page-object.ts.html +2 -2
- package/coverage/runtime/_services/index.html +9 -9
- package/coverage/runtime/_services/loader-page-object.ts.html +2 -2
- package/coverage/runtime/_services/logger.service.ts.html +5 -5
- package/coverage/runtime/_services/login-flow-helper.base.ts.html +2 -2
- package/coverage/runtime/_services/nav-page-object.ts.html +2 -2
- package/coverage/runtime/_services/toast-page-object.ts.html +1 -1
- package/coverage/runtime/_services/wave-2b-page-objects.ts.html +6 -6
- package/coverage/runtime/index.html +1 -1
- package/coverage/runtime/index.ts.html +1 -1
- package/coverage/tmp/coverage-23996-1781139437397-0.json +1 -0
- package/coverage/tmp/coverage-24001-1781139435697-0.json +1 -0
- package/coverage/vqa/_collections/utils/deterministic-finding.util.ts.html +481 -0
- package/coverage/vqa/_collections/utils/finding-id.util.ts.html +214 -0
- package/coverage/vqa/_collections/utils/finding-validator.util.ts.html +463 -0
- package/coverage/vqa/_collections/utils/index.html +176 -0
- package/coverage/vqa/_collections/utils/manifest-validator.util.ts.html +652 -0
- package/coverage/vqa/_collections/utils/risk-score.util.ts.html +424 -0
- package/coverage/vqa/_enums/dom-evidence-detector.enum.ts.html +214 -0
- package/coverage/vqa/_enums/finding-severity.enum.ts.html +133 -0
- package/coverage/vqa/_enums/finding-status.enum.ts.html +151 -0
- package/coverage/vqa/_enums/index.html +161 -0
- package/coverage/vqa/_enums/visual-state-type.enum.ts.html +235 -0
- package/coverage/vqa/generators/ai-agent-readme.template.ts.html +643 -0
- package/coverage/vqa/generators/bundle-summary.template.ts.html +316 -0
- package/coverage/vqa/generators/capture-spec.generator.ts.html +835 -0
- package/coverage/vqa/generators/comparison-bundle.generator.ts.html +898 -0
- package/coverage/vqa/generators/index.html +176 -0
- package/coverage/vqa/generators/review-bundle.generator.ts.html +559 -0
- package/package.json +7 -1
- package/coverage/tmp/coverage-228636-1781075225757-0.json +0 -1
- package/coverage/tmp/coverage-228704-1781075227108-0.json +0 -1
- package/dogfood/generated/date-range-field-new.spec.ts +0 -54
- package/dogfood/generated/password-field-new.spec.ts +0 -97
- package/dogfood/generated/radio-select-field-new.spec.ts +0 -69
- package/dogfood/generated/slider-field-new.spec.ts +0 -47
- package/dogfood/generated/text-field-new.spec.ts +0 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DyE2E_VQA_ManifestValidator_Util = void 0;
|
|
4
|
+
const visual_state_type_enum_1 = require("../../_enums/visual-state-type.enum");
|
|
5
|
+
const VALID_STATE_TYPES = new Set(Object.values(visual_state_type_enum_1.DyE2E_VQA_VisualState_Type));
|
|
6
|
+
const VALID_REGION_TYPES = new Set([
|
|
7
|
+
'modal', 'primary-cta', 'form', 'error', 'nav', 'header', 'footer', 'custom',
|
|
8
|
+
]);
|
|
9
|
+
const VALID_FLOW_ACTIONS = new Set([
|
|
10
|
+
'navigate', 'click', 'fill', 'select', 'press', 'hover',
|
|
11
|
+
'waitForSelector', 'waitForTimeout', 'setViewport',
|
|
12
|
+
'evaluate', 'mockResponse',
|
|
13
|
+
]);
|
|
14
|
+
class DyE2E_VQA_ManifestValidator_Util {
|
|
15
|
+
/** Bemenetre szigorú validátor — minden hibát összegyűjt, nem rövidre zár. */
|
|
16
|
+
static validate(input) {
|
|
17
|
+
const errors = [];
|
|
18
|
+
if (!input || typeof input !== 'object') {
|
|
19
|
+
errors.push({ path: '$', code: 'type-mismatch', message: 'manifest must be an object' });
|
|
20
|
+
return { ok: false, errors };
|
|
21
|
+
}
|
|
22
|
+
const m = input;
|
|
23
|
+
this.checkString(m.featureId, '$.featureId', errors);
|
|
24
|
+
this.checkFilenameFriendly(m.featureId, '$.featureId', errors);
|
|
25
|
+
this.checkString(m.featureName, '$.featureName', errors);
|
|
26
|
+
this.checkString(m.route, '$.route', errors);
|
|
27
|
+
this.checkArrayNonEmpty(m.states, '$.states', errors);
|
|
28
|
+
this.checkArrayNonEmpty(m.viewports, '$.viewports', errors);
|
|
29
|
+
this.checkArrayNonEmpty(m.criticalElements, '$.criticalElements', errors);
|
|
30
|
+
if (Array.isArray(m.states)) {
|
|
31
|
+
const stateIds = new Set();
|
|
32
|
+
m.states.forEach((s, i) => {
|
|
33
|
+
const p = `$.states[${i}]`;
|
|
34
|
+
this.checkString(s?.stateId, `${p}.stateId`, errors);
|
|
35
|
+
this.checkFilenameFriendly(s?.stateId, `${p}.stateId`, errors);
|
|
36
|
+
if (s?.stateId && stateIds.has(s.stateId)) {
|
|
37
|
+
errors.push({ path: `${p}.stateId`, code: 'duplicate-id', message: `duplicate stateId '${s.stateId}'` });
|
|
38
|
+
}
|
|
39
|
+
if (s?.stateId) {
|
|
40
|
+
stateIds.add(s.stateId);
|
|
41
|
+
}
|
|
42
|
+
if (s?.type && !VALID_STATE_TYPES.has(s.type)) {
|
|
43
|
+
errors.push({ path: `${p}.type`, code: 'unknown-enum', message: `unknown state-type '${s.type}'` });
|
|
44
|
+
}
|
|
45
|
+
if (s?.prepareFlow) {
|
|
46
|
+
this.validateFlowSteps(s.prepareFlow, `${p}.prepareFlow`, errors);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
if (Array.isArray(m.viewports)) {
|
|
51
|
+
const viewportKeys = new Set();
|
|
52
|
+
m.viewports.forEach((v, i) => {
|
|
53
|
+
const p = `$.viewports[${i}]`;
|
|
54
|
+
this.checkString(v?.key, `${p}.key`, errors);
|
|
55
|
+
if (v?.key && viewportKeys.has(v.key)) {
|
|
56
|
+
errors.push({ path: `${p}.key`, code: 'duplicate-id', message: `duplicate viewport key '${v.key}'` });
|
|
57
|
+
}
|
|
58
|
+
if (v?.key) {
|
|
59
|
+
viewportKeys.add(v.key);
|
|
60
|
+
}
|
|
61
|
+
if (typeof v?.width !== 'number' || v.width <= 0) {
|
|
62
|
+
errors.push({ path: `${p}.width`, code: 'type-mismatch', message: 'width must be positive number' });
|
|
63
|
+
}
|
|
64
|
+
if (typeof v?.height !== 'number' || v.height <= 0) {
|
|
65
|
+
errors.push({ path: `${p}.height`, code: 'type-mismatch', message: 'height must be positive number' });
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
if (Array.isArray(m.criticalElements)) {
|
|
70
|
+
const ceKeys = new Set();
|
|
71
|
+
m.criticalElements.forEach((c, i) => {
|
|
72
|
+
const p = `$.criticalElements[${i}]`;
|
|
73
|
+
this.checkString(c?.key, `${p}.key`, errors);
|
|
74
|
+
if (c?.key && ceKeys.has(c.key)) {
|
|
75
|
+
errors.push({ path: `${p}.key`, code: 'duplicate-id', message: `duplicate criticalElement key '${c.key}'` });
|
|
76
|
+
}
|
|
77
|
+
if (c?.key) {
|
|
78
|
+
ceKeys.add(c.key);
|
|
79
|
+
}
|
|
80
|
+
this.checkString(c?.selector, `${p}.selector`, errors);
|
|
81
|
+
if (c?.regionType && !VALID_REGION_TYPES.has(c.regionType)) {
|
|
82
|
+
errors.push({ path: `${p}.regionType`, code: 'unknown-enum', message: `unknown regionType '${c.regionType}'` });
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
if (m.flowSteps) {
|
|
87
|
+
this.validateFlowSteps(m.flowSteps, '$.flowSteps', errors);
|
|
88
|
+
}
|
|
89
|
+
if (m.expectedFeedback && Array.isArray(m.expectedFeedback) && Array.isArray(m.states)) {
|
|
90
|
+
const stateIds = new Set(m.states.map((s) => s?.stateId).filter(Boolean));
|
|
91
|
+
m.expectedFeedback.forEach((ef, i) => {
|
|
92
|
+
const p = `$.expectedFeedback[${i}]`;
|
|
93
|
+
if (ef?.stateId && !stateIds.has(ef.stateId)) {
|
|
94
|
+
errors.push({ path: `${p}.stateId`, code: 'invalid-reference', message: `unknown stateId '${ef.stateId}'` });
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
return { ok: errors.length === 0, errors: errors };
|
|
99
|
+
}
|
|
100
|
+
static validateFlowSteps(steps, pathPrefix, errors) {
|
|
101
|
+
if (!Array.isArray(steps)) {
|
|
102
|
+
errors.push({ path: pathPrefix, code: 'type-mismatch', message: 'flow steps must be array' });
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
const stepIds = new Set();
|
|
106
|
+
steps.forEach((s, i) => {
|
|
107
|
+
const p = `${pathPrefix}[${i}]`;
|
|
108
|
+
const step = s;
|
|
109
|
+
this.checkString(step?.stepId, `${p}.stepId`, errors);
|
|
110
|
+
if (step?.stepId && stepIds.has(step.stepId)) {
|
|
111
|
+
errors.push({ path: `${p}.stepId`, code: 'duplicate-id', message: `duplicate stepId '${step.stepId}'` });
|
|
112
|
+
}
|
|
113
|
+
if (step?.stepId) {
|
|
114
|
+
stepIds.add(step.stepId);
|
|
115
|
+
}
|
|
116
|
+
if (!step?.action) {
|
|
117
|
+
errors.push({ path: `${p}.action`, code: 'required-missing', message: 'action is required' });
|
|
118
|
+
}
|
|
119
|
+
else if (!VALID_FLOW_ACTIONS.has(step.action)) {
|
|
120
|
+
errors.push({ path: `${p}.action`, code: 'unknown-enum', message: `unknown action '${step.action}'` });
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
static checkString(v, path, errors) {
|
|
125
|
+
if (typeof v !== 'string' || v.length === 0) {
|
|
126
|
+
errors.push({ path, code: 'required-missing', message: `${path} must be non-empty string` });
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
static checkFilenameFriendly(v, path, errors) {
|
|
130
|
+
if (typeof v !== 'string') {
|
|
131
|
+
return; // already reported as required-missing
|
|
132
|
+
}
|
|
133
|
+
if (!/^[a-z0-9][a-z0-9-]*[a-z0-9]$|^[a-z0-9]$/.test(v)) {
|
|
134
|
+
errors.push({ path, code: 'invalid-format', message: `${path} must be filename-friendly (lowercase kebab-case)` });
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
static checkArrayNonEmpty(v, path, errors) {
|
|
138
|
+
if (!Array.isArray(v)) {
|
|
139
|
+
errors.push({ path, code: 'type-mismatch', message: `${path} must be array` });
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
if (v.length === 0) {
|
|
143
|
+
errors.push({ path, code: 'empty-array', message: `${path} must not be empty` });
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
exports.DyE2E_VQA_ManifestValidator_Util = DyE2E_VQA_ManifestValidator_Util;
|
|
148
|
+
//# sourceMappingURL=manifest-validator.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest-validator.util.js","sourceRoot":"","sources":["../../../../../src/_modules/vqa/_collections/utils/manifest-validator.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `DyE2E_VQA_RiskScore_Util` — evidence-aggregátor risk-score-ra (state×viewport szintén).
|
|
3
|
+
*
|
|
4
|
+
* **Az AI-fókusz-jel** (organizer MP-3 SP-3.5 mintából): a determinisztikus DOM-detektorok
|
|
5
|
+
* `severityHint`-je alapján priorizálja az AI-review-jelölteket.
|
|
6
|
+
*
|
|
7
|
+
* **scope-LOCK**: nem dönt verdict-et — csak SCORE-t ad. Az AI agent dönti el a finding-et.
|
|
8
|
+
*
|
|
9
|
+
* **Score-konvenció** (0..100):
|
|
10
|
+
* - 0 = clean (egyetlen detektor sem detektált semmit)
|
|
11
|
+
* - 1-25 = low (csak low/info-szintű detektor)
|
|
12
|
+
* - 26-50 = medium (medium detektorok)
|
|
13
|
+
* - 51-75 = high (high detektor VAGY több medium)
|
|
14
|
+
* - 76-100 = blocker-jelölt (blocker-hint VAGY 2+ high detektor)
|
|
15
|
+
*/
|
|
16
|
+
export interface DyE2E_VQA_RiskScore_Result {
|
|
17
|
+
/** Aggregált pontszám 0..100. */
|
|
18
|
+
score: number;
|
|
19
|
+
/** Súly-kategória. */
|
|
20
|
+
band: 'clean' | 'low' | 'medium' | 'high' | 'blocker-candidate';
|
|
21
|
+
/** Detektor-szignatúrák, amik a score-hoz hozzájárultak (top 5). */
|
|
22
|
+
contributors: {
|
|
23
|
+
detector: string;
|
|
24
|
+
severityHint: string | null;
|
|
25
|
+
weight: number;
|
|
26
|
+
}[];
|
|
27
|
+
/** Aktív detektorok száma. */
|
|
28
|
+
detectedCount: number;
|
|
29
|
+
/** Összes detektor száma. */
|
|
30
|
+
totalCount: number;
|
|
31
|
+
}
|
|
32
|
+
export declare class DyE2E_VQA_RiskScore_Util {
|
|
33
|
+
/** Egy state×viewport evidence-tömbjéből aggregált risk-score. */
|
|
34
|
+
static fromEvidence(evidence: unknown[]): DyE2E_VQA_RiskScore_Result;
|
|
35
|
+
/** Bundle-szintű aggregátor: minden state×viewport scoring-summary. */
|
|
36
|
+
static fromBundleEvidenceFiles(perStateViewportEvidence: Record<string, unknown[]>): {
|
|
37
|
+
[stateViewportKey: string]: DyE2E_VQA_RiskScore_Result;
|
|
38
|
+
};
|
|
39
|
+
/** Bundle-szinten priorizált AI-fókusz-lista (highest score first, max N). */
|
|
40
|
+
static topPriorities(scoresByKey: {
|
|
41
|
+
[k: string]: DyE2E_VQA_RiskScore_Result;
|
|
42
|
+
}, maxN?: number): {
|
|
43
|
+
key: string;
|
|
44
|
+
score: DyE2E_VQA_RiskScore_Result;
|
|
45
|
+
}[];
|
|
46
|
+
private static toBand;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=risk-score.util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"risk-score.util.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/vqa/_collections/utils/risk-score.util.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,0BAA0B;IACzC,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,IAAI,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,mBAAmB,CAAC;IAChE,oEAAoE;IACpE,YAAY,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAClF,8BAA8B;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;CACpB;AAUD,qBAAa,wBAAwB;IAEnC,kEAAkE;IAClE,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,0BAA0B;IAkCpE,uEAAuE;IACvE,MAAM,CAAC,uBAAuB,CAC5B,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,GAClD;QAAE,CAAC,gBAAgB,EAAE,MAAM,GAAG,0BAA0B,CAAA;KAAE;IAQ7D,8EAA8E;IAC9E,MAAM,CAAC,aAAa,CAClB,WAAW,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAAA;KAAE,EACxD,IAAI,GAAE,MAAW,GAChB;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,0BAA0B,CAAA;KAAE,EAAE;IAOvD,OAAO,CAAC,MAAM,CAAC,MAAM;CAetB"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DyE2E_VQA_RiskScore_Util = void 0;
|
|
4
|
+
const SEVERITY_WEIGHTS = {
|
|
5
|
+
blocker: 50,
|
|
6
|
+
high: 25,
|
|
7
|
+
medium: 12,
|
|
8
|
+
low: 5,
|
|
9
|
+
informational: 1,
|
|
10
|
+
};
|
|
11
|
+
class DyE2E_VQA_RiskScore_Util {
|
|
12
|
+
/** Egy state×viewport evidence-tömbjéből aggregált risk-score. */
|
|
13
|
+
static fromEvidence(evidence) {
|
|
14
|
+
if (!Array.isArray(evidence)) {
|
|
15
|
+
return { score: 0, band: 'clean', contributors: [], detectedCount: 0, totalCount: 0 };
|
|
16
|
+
}
|
|
17
|
+
const contributors = [];
|
|
18
|
+
let total = 0;
|
|
19
|
+
let detectedCount = 0;
|
|
20
|
+
for (const e of evidence) {
|
|
21
|
+
total++;
|
|
22
|
+
const ev = e;
|
|
23
|
+
if (!ev || !ev.detected) {
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
detectedCount++;
|
|
27
|
+
const sev = ev.severityHint ?? 'low';
|
|
28
|
+
const weight = SEVERITY_WEIGHTS[sev] ?? 5;
|
|
29
|
+
contributors.push({
|
|
30
|
+
detector: String(ev.detector ?? 'unknown'),
|
|
31
|
+
severityHint: ev.severityHint ?? null,
|
|
32
|
+
weight: weight,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
const rawScore = contributors.reduce((acc, c) => acc + c.weight, 0);
|
|
36
|
+
const cappedScore = Math.min(100, rawScore);
|
|
37
|
+
return {
|
|
38
|
+
score: cappedScore,
|
|
39
|
+
band: this.toBand(cappedScore),
|
|
40
|
+
contributors: contributors.sort((a, b) => b.weight - a.weight).slice(0, 5),
|
|
41
|
+
detectedCount,
|
|
42
|
+
totalCount: total,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/** Bundle-szintű aggregátor: minden state×viewport scoring-summary. */
|
|
46
|
+
static fromBundleEvidenceFiles(perStateViewportEvidence) {
|
|
47
|
+
const result = {};
|
|
48
|
+
for (const [k, evidence] of Object.entries(perStateViewportEvidence)) {
|
|
49
|
+
result[k] = this.fromEvidence(evidence);
|
|
50
|
+
}
|
|
51
|
+
return result;
|
|
52
|
+
}
|
|
53
|
+
/** Bundle-szinten priorizált AI-fókusz-lista (highest score first, max N). */
|
|
54
|
+
static topPriorities(scoresByKey, maxN = 10) {
|
|
55
|
+
return Object.entries(scoresByKey)
|
|
56
|
+
.map(([key, score]) => ({ key, score }))
|
|
57
|
+
.sort((a, b) => b.score.score - a.score.score)
|
|
58
|
+
.slice(0, maxN);
|
|
59
|
+
}
|
|
60
|
+
static toBand(score) {
|
|
61
|
+
if (score === 0) {
|
|
62
|
+
return 'clean';
|
|
63
|
+
}
|
|
64
|
+
if (score <= 25) {
|
|
65
|
+
return 'low';
|
|
66
|
+
}
|
|
67
|
+
if (score <= 50) {
|
|
68
|
+
return 'medium';
|
|
69
|
+
}
|
|
70
|
+
if (score <= 75) {
|
|
71
|
+
return 'high';
|
|
72
|
+
}
|
|
73
|
+
return 'blocker-candidate';
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.DyE2E_VQA_RiskScore_Util = DyE2E_VQA_RiskScore_Util;
|
|
77
|
+
//# sourceMappingURL=risk-score.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"risk-score.util.js","sourceRoot":"","sources":["../../../../../src/_modules/vqa/_collections/utils/risk-score.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `dynamo-e2e` VQA layer — a 16 DOM evidence-detektor identifier (spec §9).
|
|
3
|
+
*
|
|
4
|
+
* **SCOPE-LOCK (UI-20260611-003)**: minden detektor csak strukturált JSON evidence-t
|
|
5
|
+
* emittál, NEM verdict-et. A `severityHint` AJÁNLÁS az AI-nek.
|
|
6
|
+
*
|
|
7
|
+
* Minden detektor egy enum-érték; a registry-ben (`DyE2E_VQA_DetectorRegistry_Const`)
|
|
8
|
+
* van a per-detector page-script + interpret-config.
|
|
9
|
+
*/
|
|
10
|
+
export declare enum DyE2E_VQA_DOMEvidence_Detector {
|
|
11
|
+
/** Body + modal egyidejű scroll. */
|
|
12
|
+
nestedScroll = "nested-scroll",
|
|
13
|
+
/** Clip-path / overflow:hidden levágott tartalom. */
|
|
14
|
+
overflowClipping = "overflow-clipping",
|
|
15
|
+
/** Primary CTA viewport-fold alatt. */
|
|
16
|
+
viewportOffCTA = "viewport-off-cta",
|
|
17
|
+
/** Z-indexed elem takarja a kattintható célt. */
|
|
18
|
+
occludedTarget = "occluded-target",
|
|
19
|
+
/** Sticky/fixed elem takarja a célt. */
|
|
20
|
+
stickyOccludes = "sticky-occludes",
|
|
21
|
+
/** Kattintható elem < 44×44 px. */
|
|
22
|
+
smallTouchTarget = "small-touch-target",
|
|
23
|
+
/** Ellipsis-elment szöveg / scrollWidth > clientWidth. */
|
|
24
|
+
truncatedText = "truncated-text",
|
|
25
|
+
/** Táblázat túl szélesnek mérve. */
|
|
26
|
+
tableOverflow = "table-overflow",
|
|
27
|
+
/** Modal-content > viewport-méret. */
|
|
28
|
+
modalViewportFit = "modal-viewport-fit",
|
|
29
|
+
/** > 1 scrollbar a viewport-ban. */
|
|
30
|
+
scrollbarCount = "scrollbar-count",
|
|
31
|
+
/** Flow-step után activeElement body-n. */
|
|
32
|
+
focusLoss = "focus-loss",
|
|
33
|
+
/** aria-invalid + nincs látható error-element. */
|
|
34
|
+
hiddenError = "hidden-error",
|
|
35
|
+
/** Error-element kontraszt-ratio < 4.5:1 vagy < 12px. */
|
|
36
|
+
unreadableError = "unreadable-error",
|
|
37
|
+
/** Kattintható elem cursor:pointer NÉLKÜL. */
|
|
38
|
+
ambiguousInteractive = "ambiguous-interactive",
|
|
39
|
+
/** Input-bounding-rect kilóg a parent-formból. */
|
|
40
|
+
formFieldBreak = "form-field-break",
|
|
41
|
+
/** Landscape + primary-CTA < 60px a fold-tól. */
|
|
42
|
+
verticalSpaceShortage = "vertical-space-shortage"
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=dom-evidence-detector.enum.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dom-evidence-detector.enum.d.ts","sourceRoot":"","sources":["../../../../src/_modules/vqa/_enums/dom-evidence-detector.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,oBAAY,8BAA8B;IACxC,oCAAoC;IACpC,YAAY,kBAAkB;IAC9B,qDAAqD;IACrD,gBAAgB,sBAAsB;IACtC,uCAAuC;IACvC,cAAc,qBAAqB;IACnC,iDAAiD;IACjD,cAAc,oBAAoB;IAClC,wCAAwC;IACxC,cAAc,oBAAoB;IAClC,mCAAmC;IACnC,gBAAgB,uBAAuB;IACvC,0DAA0D;IAC1D,aAAa,mBAAmB;IAChC,oCAAoC;IACpC,aAAa,mBAAmB;IAChC,sCAAsC;IACtC,gBAAgB,uBAAuB;IACvC,oCAAoC;IACpC,cAAc,oBAAoB;IAClC,2CAA2C;IAC3C,SAAS,eAAe;IACxB,kDAAkD;IAClD,WAAW,iBAAiB;IAC5B,yDAAyD;IACzD,eAAe,qBAAqB;IACpC,8CAA8C;IAC9C,oBAAoB,0BAA0B;IAC9C,kDAAkD;IAClD,cAAc,qBAAqB;IACnC,iDAAiD;IACjD,qBAAqB,4BAA4B;CAClD"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DyE2E_VQA_DOMEvidence_Detector = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* `dynamo-e2e` VQA layer — a 16 DOM evidence-detektor identifier (spec §9).
|
|
6
|
+
*
|
|
7
|
+
* **SCOPE-LOCK (UI-20260611-003)**: minden detektor csak strukturált JSON evidence-t
|
|
8
|
+
* emittál, NEM verdict-et. A `severityHint` AJÁNLÁS az AI-nek.
|
|
9
|
+
*
|
|
10
|
+
* Minden detektor egy enum-érték; a registry-ben (`DyE2E_VQA_DetectorRegistry_Const`)
|
|
11
|
+
* van a per-detector page-script + interpret-config.
|
|
12
|
+
*/
|
|
13
|
+
var DyE2E_VQA_DOMEvidence_Detector;
|
|
14
|
+
(function (DyE2E_VQA_DOMEvidence_Detector) {
|
|
15
|
+
/** Body + modal egyidejű scroll. */
|
|
16
|
+
DyE2E_VQA_DOMEvidence_Detector["nestedScroll"] = "nested-scroll";
|
|
17
|
+
/** Clip-path / overflow:hidden levágott tartalom. */
|
|
18
|
+
DyE2E_VQA_DOMEvidence_Detector["overflowClipping"] = "overflow-clipping";
|
|
19
|
+
/** Primary CTA viewport-fold alatt. */
|
|
20
|
+
DyE2E_VQA_DOMEvidence_Detector["viewportOffCTA"] = "viewport-off-cta";
|
|
21
|
+
/** Z-indexed elem takarja a kattintható célt. */
|
|
22
|
+
DyE2E_VQA_DOMEvidence_Detector["occludedTarget"] = "occluded-target";
|
|
23
|
+
/** Sticky/fixed elem takarja a célt. */
|
|
24
|
+
DyE2E_VQA_DOMEvidence_Detector["stickyOccludes"] = "sticky-occludes";
|
|
25
|
+
/** Kattintható elem < 44×44 px. */
|
|
26
|
+
DyE2E_VQA_DOMEvidence_Detector["smallTouchTarget"] = "small-touch-target";
|
|
27
|
+
/** Ellipsis-elment szöveg / scrollWidth > clientWidth. */
|
|
28
|
+
DyE2E_VQA_DOMEvidence_Detector["truncatedText"] = "truncated-text";
|
|
29
|
+
/** Táblázat túl szélesnek mérve. */
|
|
30
|
+
DyE2E_VQA_DOMEvidence_Detector["tableOverflow"] = "table-overflow";
|
|
31
|
+
/** Modal-content > viewport-méret. */
|
|
32
|
+
DyE2E_VQA_DOMEvidence_Detector["modalViewportFit"] = "modal-viewport-fit";
|
|
33
|
+
/** > 1 scrollbar a viewport-ban. */
|
|
34
|
+
DyE2E_VQA_DOMEvidence_Detector["scrollbarCount"] = "scrollbar-count";
|
|
35
|
+
/** Flow-step után activeElement body-n. */
|
|
36
|
+
DyE2E_VQA_DOMEvidence_Detector["focusLoss"] = "focus-loss";
|
|
37
|
+
/** aria-invalid + nincs látható error-element. */
|
|
38
|
+
DyE2E_VQA_DOMEvidence_Detector["hiddenError"] = "hidden-error";
|
|
39
|
+
/** Error-element kontraszt-ratio < 4.5:1 vagy < 12px. */
|
|
40
|
+
DyE2E_VQA_DOMEvidence_Detector["unreadableError"] = "unreadable-error";
|
|
41
|
+
/** Kattintható elem cursor:pointer NÉLKÜL. */
|
|
42
|
+
DyE2E_VQA_DOMEvidence_Detector["ambiguousInteractive"] = "ambiguous-interactive";
|
|
43
|
+
/** Input-bounding-rect kilóg a parent-formból. */
|
|
44
|
+
DyE2E_VQA_DOMEvidence_Detector["formFieldBreak"] = "form-field-break";
|
|
45
|
+
/** Landscape + primary-CTA < 60px a fold-tól. */
|
|
46
|
+
DyE2E_VQA_DOMEvidence_Detector["verticalSpaceShortage"] = "vertical-space-shortage";
|
|
47
|
+
})(DyE2E_VQA_DOMEvidence_Detector || (exports.DyE2E_VQA_DOMEvidence_Detector = DyE2E_VQA_DOMEvidence_Detector = {}));
|
|
48
|
+
//# sourceMappingURL=dom-evidence-detector.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dom-evidence-detector.enum.js","sourceRoot":"","sources":["../../../../src/_modules/vqa/_enums/dom-evidence-detector.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;GAQG;AACH,IAAY,8BAiCX;AAjCD,WAAY,8BAA8B;IACxC,oCAAoC;IACpC,gEAA8B,CAAA;IAC9B,qDAAqD;IACrD,wEAAsC,CAAA;IACtC,uCAAuC;IACvC,qEAAmC,CAAA;IACnC,iDAAiD;IACjD,oEAAkC,CAAA;IAClC,wCAAwC;IACxC,oEAAkC,CAAA;IAClC,mCAAmC;IACnC,yEAAuC,CAAA;IACvC,0DAA0D;IAC1D,kEAAgC,CAAA;IAChC,oCAAoC;IACpC,kEAAgC,CAAA;IAChC,sCAAsC;IACtC,yEAAuC,CAAA;IACvC,oCAAoC;IACpC,oEAAkC,CAAA;IAClC,2CAA2C;IAC3C,0DAAwB,CAAA;IACxB,kDAAkD;IAClD,8DAA4B,CAAA;IAC5B,yDAAyD;IACzD,sEAAoC,CAAA;IACpC,8CAA8C;IAC9C,gFAA8C,CAAA;IAC9C,kDAAkD;IAClD,qEAAmC,CAAA;IACnC,iDAAiD;IACjD,mFAAiD,CAAA;AACnD,CAAC,EAjCW,8BAA8B,8CAA9B,8BAA8B,QAiCzC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `dynamo-e2e` VQA layer — finding-severity szintek (spec §12).
|
|
3
|
+
*
|
|
4
|
+
* **blocker**: a user nem tudja befejezni a flow-t.
|
|
5
|
+
* **high**: fő CTA takarásban, modal használhatatlan, hibaüzenet nem látható.
|
|
6
|
+
* **medium**: layout zavaró, de a flow használható.
|
|
7
|
+
* **low**: kisebb vizuális inkonzisztencia.
|
|
8
|
+
* **informational**: fejlesztési javaslat / UX-minőségbeli észrevétel.
|
|
9
|
+
*/
|
|
10
|
+
export declare enum DyE2E_VQA_FindingSeverity_Type {
|
|
11
|
+
blocker = "blocker",
|
|
12
|
+
high = "high",
|
|
13
|
+
medium = "medium",
|
|
14
|
+
low = "low",
|
|
15
|
+
informational = "informational"
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=finding-severity.enum.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"finding-severity.enum.d.ts","sourceRoot":"","sources":["../../../../src/_modules/vqa/_enums/finding-severity.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,oBAAY,8BAA8B;IACxC,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,aAAa,kBAAkB;CAChC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DyE2E_VQA_FindingSeverity_Type = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* `dynamo-e2e` VQA layer — finding-severity szintek (spec §12).
|
|
6
|
+
*
|
|
7
|
+
* **blocker**: a user nem tudja befejezni a flow-t.
|
|
8
|
+
* **high**: fő CTA takarásban, modal használhatatlan, hibaüzenet nem látható.
|
|
9
|
+
* **medium**: layout zavaró, de a flow használható.
|
|
10
|
+
* **low**: kisebb vizuális inkonzisztencia.
|
|
11
|
+
* **informational**: fejlesztési javaslat / UX-minőségbeli észrevétel.
|
|
12
|
+
*/
|
|
13
|
+
var DyE2E_VQA_FindingSeverity_Type;
|
|
14
|
+
(function (DyE2E_VQA_FindingSeverity_Type) {
|
|
15
|
+
DyE2E_VQA_FindingSeverity_Type["blocker"] = "blocker";
|
|
16
|
+
DyE2E_VQA_FindingSeverity_Type["high"] = "high";
|
|
17
|
+
DyE2E_VQA_FindingSeverity_Type["medium"] = "medium";
|
|
18
|
+
DyE2E_VQA_FindingSeverity_Type["low"] = "low";
|
|
19
|
+
DyE2E_VQA_FindingSeverity_Type["informational"] = "informational";
|
|
20
|
+
})(DyE2E_VQA_FindingSeverity_Type || (exports.DyE2E_VQA_FindingSeverity_Type = DyE2E_VQA_FindingSeverity_Type = {}));
|
|
21
|
+
//# sourceMappingURL=finding-severity.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"finding-severity.enum.js","sourceRoot":"","sources":["../../../../src/_modules/vqa/_enums/finding-severity.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;GAQG;AACH,IAAY,8BAMX;AAND,WAAY,8BAA8B;IACxC,qDAAmB,CAAA;IACnB,+CAAa,CAAA;IACb,mDAAiB,CAAA;IACjB,6CAAW,CAAA;IACX,iEAA+B,CAAA;AACjC,CAAC,EANW,8BAA8B,8CAA9B,8BAA8B,QAMzC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `dynamo-e2e` VQA layer — backlog-entry / finding lifecycle státusz-FSM (spec §14).
|
|
3
|
+
*
|
|
4
|
+
* Megengedett tranziciók (state-machine):
|
|
5
|
+
* - `open` → `inProgress` | `ignored` | `acceptedRisk`
|
|
6
|
+
* - `inProgress` → `fixed` | `open`
|
|
7
|
+
* - `fixed` → `readyForReAudit`
|
|
8
|
+
* - `readyForReAudit` → `verified` | `reopened`
|
|
9
|
+
* - `reopened` → `inProgress`
|
|
10
|
+
* - `verified` (terminal)
|
|
11
|
+
* - `ignored` / `acceptedRisk` → `reopened` (decision-reversal)
|
|
12
|
+
*/
|
|
13
|
+
export declare enum DyE2E_VQA_FindingStatus_Type {
|
|
14
|
+
open = "open",
|
|
15
|
+
inProgress = "in-progress",
|
|
16
|
+
fixed = "fixed",
|
|
17
|
+
readyForReAudit = "ready-for-re-audit",
|
|
18
|
+
verified = "verified",
|
|
19
|
+
reopened = "reopened",
|
|
20
|
+
ignored = "ignored",
|
|
21
|
+
acceptedRisk = "accepted-risk"
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=finding-status.enum.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"finding-status.enum.d.ts","sourceRoot":"","sources":["../../../../src/_modules/vqa/_enums/finding-status.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,oBAAY,4BAA4B;IACtC,IAAI,SAAS;IACb,UAAU,gBAAgB;IAC1B,KAAK,UAAU;IACf,eAAe,uBAAuB;IACtC,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,YAAY,kBAAkB;CAC/B"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DyE2E_VQA_FindingStatus_Type = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* `dynamo-e2e` VQA layer — backlog-entry / finding lifecycle státusz-FSM (spec §14).
|
|
6
|
+
*
|
|
7
|
+
* Megengedett tranziciók (state-machine):
|
|
8
|
+
* - `open` → `inProgress` | `ignored` | `acceptedRisk`
|
|
9
|
+
* - `inProgress` → `fixed` | `open`
|
|
10
|
+
* - `fixed` → `readyForReAudit`
|
|
11
|
+
* - `readyForReAudit` → `verified` | `reopened`
|
|
12
|
+
* - `reopened` → `inProgress`
|
|
13
|
+
* - `verified` (terminal)
|
|
14
|
+
* - `ignored` / `acceptedRisk` → `reopened` (decision-reversal)
|
|
15
|
+
*/
|
|
16
|
+
var DyE2E_VQA_FindingStatus_Type;
|
|
17
|
+
(function (DyE2E_VQA_FindingStatus_Type) {
|
|
18
|
+
DyE2E_VQA_FindingStatus_Type["open"] = "open";
|
|
19
|
+
DyE2E_VQA_FindingStatus_Type["inProgress"] = "in-progress";
|
|
20
|
+
DyE2E_VQA_FindingStatus_Type["fixed"] = "fixed";
|
|
21
|
+
DyE2E_VQA_FindingStatus_Type["readyForReAudit"] = "ready-for-re-audit";
|
|
22
|
+
DyE2E_VQA_FindingStatus_Type["verified"] = "verified";
|
|
23
|
+
DyE2E_VQA_FindingStatus_Type["reopened"] = "reopened";
|
|
24
|
+
DyE2E_VQA_FindingStatus_Type["ignored"] = "ignored";
|
|
25
|
+
DyE2E_VQA_FindingStatus_Type["acceptedRisk"] = "accepted-risk";
|
|
26
|
+
})(DyE2E_VQA_FindingStatus_Type || (exports.DyE2E_VQA_FindingStatus_Type = DyE2E_VQA_FindingStatus_Type = {}));
|
|
27
|
+
//# sourceMappingURL=finding-status.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"finding-status.enum.js","sourceRoot":"","sources":["../../../../src/_modules/vqa/_enums/finding-status.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;GAWG;AACH,IAAY,4BASX;AATD,WAAY,4BAA4B;IACtC,6CAAa,CAAA;IACb,0DAA0B,CAAA;IAC1B,+CAAe,CAAA;IACf,sEAAsC,CAAA;IACtC,qDAAqB,CAAA;IACrB,qDAAqB,CAAA;IACrB,mDAAmB,CAAA;IACnB,8DAA8B,CAAA;AAChC,CAAC,EATW,4BAA4B,4CAA5B,4BAA4B,QASvC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/_modules/vqa/_enums/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./visual-state-type.enum"), exports);
|
|
18
|
+
__exportStar(require("./finding-severity.enum"), exports);
|
|
19
|
+
__exportStar(require("./finding-status.enum"), exports);
|
|
20
|
+
__exportStar(require("./dom-evidence-detector.enum"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/_modules/vqa/_enums/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,0DAAwC;AACxC,wDAAsC;AACtC,+DAA6C"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `dynamo-e2e` VQA layer — visual state-típusok a `DyE2E_VQA_Feature_Manifest`-hez.
|
|
3
|
+
*
|
|
4
|
+
* Egy enum-érték EGY auditálandó vizuális állapotot azonosít. Minden manifest
|
|
5
|
+
* `states` mező egy ilyen kategoriából való. Az AI agent ezeket használja a
|
|
6
|
+
* QA-rubric szerinti vizsgálathoz (lásd `specifications/ai-visual-qa-system.md` §5).
|
|
7
|
+
*
|
|
8
|
+
* **Bedrock scope-LOCK (UI-20260611-003)**: a state-típusok csak label-szerepet
|
|
9
|
+
* játszanak — NEM kódolnak vizuális verdict-et. A capture-pipeline minden
|
|
10
|
+
* state-re screenshot+DOM-snapshot-ot készít; az AI agent dönt.
|
|
11
|
+
*/
|
|
12
|
+
export declare enum DyE2E_VQA_VisualState_Type {
|
|
13
|
+
default = "default",
|
|
14
|
+
loading = "loading",
|
|
15
|
+
empty = "empty",
|
|
16
|
+
validInput = "valid-input",
|
|
17
|
+
invalidInput = "invalid-input",
|
|
18
|
+
fieldError = "field-error",
|
|
19
|
+
globalError = "global-error",
|
|
20
|
+
backendError = "backend-error",
|
|
21
|
+
permissionDenied = "permission-denied",
|
|
22
|
+
success = "success",
|
|
23
|
+
partialSuccess = "partial-success",
|
|
24
|
+
timeout = "timeout",
|
|
25
|
+
retry = "retry",
|
|
26
|
+
longContent = "long-content",
|
|
27
|
+
smallScreen = "small-screen",
|
|
28
|
+
largeFont = "large-font",
|
|
29
|
+
darkMode = "dark-mode",
|
|
30
|
+
modalOpen = "modal-open",
|
|
31
|
+
modalOverflow = "modal-overflow",
|
|
32
|
+
wizardStep = "wizard-step",
|
|
33
|
+
wizardPartiallyFilled = "wizard-partially-filled",
|
|
34
|
+
wizardFinalSuccess = "wizard-final-success",
|
|
35
|
+
wizardFinalFailure = "wizard-final-failure",
|
|
36
|
+
wizardCancelled = "wizard-cancelled"
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=visual-state-type.enum.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visual-state-type.enum.d.ts","sourceRoot":"","sources":["../../../../src/_modules/vqa/_enums/visual-state-type.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,oBAAY,0BAA0B;IAEpC,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,KAAK,UAAU;IAGf,UAAU,gBAAgB;IAC1B,YAAY,kBAAkB;IAC9B,UAAU,gBAAgB;IAC1B,WAAW,iBAAiB;IAC5B,YAAY,kBAAkB;IAG9B,gBAAgB,sBAAsB;IAGtC,OAAO,YAAY;IACnB,cAAc,oBAAoB;IAClC,OAAO,YAAY;IACnB,KAAK,UAAU;IAGf,WAAW,iBAAiB;IAC5B,WAAW,iBAAiB;IAC5B,SAAS,eAAe;IACxB,QAAQ,cAAc;IAGtB,SAAS,eAAe;IACxB,aAAa,mBAAmB;IAGhC,UAAU,gBAAgB;IAC1B,qBAAqB,4BAA4B;IACjD,kBAAkB,yBAAyB;IAC3C,kBAAkB,yBAAyB;IAC3C,eAAe,qBAAqB;CACrC"}
|