@sun-asterisk/sungen 3.2.34 → 3.3.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/basis/anchor-grammar.d.ts +32 -0
- package/dist/basis/anchor-grammar.d.ts.map +1 -0
- package/dist/basis/anchor-grammar.js +82 -0
- package/dist/basis/anchor-grammar.js.map +1 -0
- package/dist/basis/anchor-hash.d.ts +6 -0
- package/dist/basis/anchor-hash.d.ts.map +1 -0
- package/dist/basis/anchor-hash.js +28 -0
- package/dist/basis/anchor-hash.js.map +1 -0
- package/dist/basis/bm51-tables.d.ts +20 -0
- package/dist/basis/bm51-tables.d.ts.map +1 -0
- package/dist/basis/bm51-tables.js +71 -0
- package/dist/basis/bm51-tables.js.map +1 -0
- package/dist/basis/extract-spec-anchors.d.ts +39 -0
- package/dist/basis/extract-spec-anchors.d.ts.map +1 -0
- package/dist/basis/extract-spec-anchors.js +81 -0
- package/dist/basis/extract-spec-anchors.js.map +1 -0
- package/dist/basis/migration-sentinel.d.ts +47 -0
- package/dist/basis/migration-sentinel.d.ts.map +1 -0
- package/dist/basis/migration-sentinel.js +219 -0
- package/dist/basis/migration-sentinel.js.map +1 -0
- package/dist/basis/spec-frontmatter.d.ts +18 -0
- package/dist/basis/spec-frontmatter.d.ts.map +1 -0
- package/dist/basis/spec-frontmatter.js +55 -0
- package/dist/basis/spec-frontmatter.js.map +1 -0
- package/dist/basis/spec-sections.d.ts +18 -0
- package/dist/basis/spec-sections.d.ts.map +1 -0
- package/dist/basis/spec-sections.js +27 -0
- package/dist/basis/spec-sections.js.map +1 -0
- package/dist/basis/test-basis-schema.d.ts +28 -0
- package/dist/basis/test-basis-schema.d.ts.map +1 -0
- package/dist/basis/test-basis-schema.js +141 -0
- package/dist/basis/test-basis-schema.js.map +1 -0
- package/dist/capabilities/discover.d.ts +4 -0
- package/dist/capabilities/discover.d.ts.map +1 -1
- package/dist/capabilities/discover.js +16 -2
- package/dist/capabilities/discover.js.map +1 -1
- package/dist/capabilities/registry.d.ts +15 -0
- package/dist/capabilities/registry.d.ts.map +1 -1
- package/dist/capabilities/registry.js.map +1 -1
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/audit.js +10 -5
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/capability.d.ts.map +1 -1
- package/dist/cli/commands/capability.js +6 -2
- package/dist/cli/commands/capability.js.map +1 -1
- package/dist/cli/commands/contract-derive-command.d.ts +11 -0
- package/dist/cli/commands/contract-derive-command.d.ts.map +1 -0
- package/dist/cli/commands/contract-derive-command.js +99 -0
- package/dist/cli/commands/contract-derive-command.js.map +1 -0
- package/dist/cli/commands/contract.d.ts +17 -0
- package/dist/cli/commands/contract.d.ts.map +1 -0
- package/dist/cli/commands/contract.js +162 -0
- package/dist/cli/commands/contract.js.map +1 -0
- package/dist/cli/commands/defect.d.ts +7 -0
- package/dist/cli/commands/defect.d.ts.map +1 -0
- package/dist/cli/commands/defect.js +68 -0
- package/dist/cli/commands/defect.js.map +1 -0
- package/dist/cli/commands/delivery.d.ts.map +1 -1
- package/dist/cli/commands/delivery.js +96 -12
- package/dist/cli/commands/delivery.js.map +1 -1
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +3 -1
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/journey.d.ts.map +1 -1
- package/dist/cli/commands/journey.js +43 -15
- package/dist/cli/commands/journey.js.map +1 -1
- package/dist/cli/commands/next.d.ts +8 -0
- package/dist/cli/commands/next.d.ts.map +1 -1
- package/dist/cli/commands/next.js +68 -8
- package/dist/cli/commands/next.js.map +1 -1
- package/dist/cli/commands/triage.d.ts +7 -0
- package/dist/cli/commands/triage.d.ts.map +1 -0
- package/dist/cli/commands/triage.js +98 -0
- package/dist/cli/commands/triage.js.map +1 -0
- package/dist/cli/commands/update.d.ts +11 -0
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +31 -6
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/index.js +24 -33
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/project-sungen-invocation.d.ts +7 -0
- package/dist/cli/project-sungen-invocation.d.ts.map +1 -0
- package/dist/cli/project-sungen-invocation.js +76 -0
- package/dist/cli/project-sungen-invocation.js.map +1 -0
- package/dist/contract/approve-contract.d.ts +31 -0
- package/dist/contract/approve-contract.d.ts.map +1 -0
- package/dist/contract/approve-contract.js +87 -0
- package/dist/contract/approve-contract.js.map +1 -0
- package/dist/contract/assertion-matcher-vocabulary.d.ts +24 -0
- package/dist/contract/assertion-matcher-vocabulary.d.ts.map +1 -0
- package/dist/contract/assertion-matcher-vocabulary.js +100 -0
- package/dist/contract/assertion-matcher-vocabulary.js.map +1 -0
- package/dist/contract/build-contract-verdict.d.ts +32 -0
- package/dist/contract/build-contract-verdict.d.ts.map +1 -0
- package/dist/contract/build-contract-verdict.js +123 -0
- package/dist/contract/build-contract-verdict.js.map +1 -0
- package/dist/contract/build-trace-conformance.d.ts +18 -0
- package/dist/contract/build-trace-conformance.d.ts.map +1 -0
- package/dist/contract/build-trace-conformance.js +153 -0
- package/dist/contract/build-trace-conformance.js.map +1 -0
- package/dist/contract/classify-contract-change.d.ts +23 -0
- package/dist/contract/classify-contract-change.d.ts.map +1 -0
- package/dist/contract/classify-contract-change.js +98 -0
- package/dist/contract/classify-contract-change.js.map +1 -0
- package/dist/contract/classify-contract-unit.d.ts +18 -0
- package/dist/contract/classify-contract-unit.d.ts.map +1 -0
- package/dist/contract/classify-contract-unit.js +49 -0
- package/dist/contract/classify-contract-unit.js.map +1 -0
- package/dist/contract/classify-trace-conformance.d.ts +32 -0
- package/dist/contract/classify-trace-conformance.d.ts.map +1 -0
- package/dist/contract/classify-trace-conformance.js +117 -0
- package/dist/contract/classify-trace-conformance.js.map +1 -0
- package/dist/contract/contract-git.d.ts +24 -0
- package/dist/contract/contract-git.d.ts.map +1 -0
- package/dist/contract/contract-git.js +144 -0
- package/dist/contract/contract-git.js.map +1 -0
- package/dist/contract/contract-hash.d.ts +7 -0
- package/dist/contract/contract-hash.d.ts.map +1 -0
- package/dist/contract/contract-hash.js +38 -0
- package/dist/contract/contract-hash.js.map +1 -0
- package/dist/contract/contract-report-file.d.ts +4 -0
- package/dist/contract/contract-report-file.d.ts.map +1 -0
- package/dist/contract/contract-report-file.js +60 -0
- package/dist/contract/contract-report-file.js.map +1 -0
- package/dist/contract/contract-schema.d.ts +71 -0
- package/dist/contract/contract-schema.d.ts.map +1 -0
- package/dist/contract/contract-schema.js +102 -0
- package/dist/contract/contract-schema.js.map +1 -0
- package/dist/contract/contract-units.d.ts +12 -0
- package/dist/contract/contract-units.d.ts.map +1 -0
- package/dist/contract/contract-units.js +96 -0
- package/dist/contract/contract-units.js.map +1 -0
- package/dist/contract/contracts-lock-file.d.ts +24 -0
- package/dist/contract/contracts-lock-file.d.ts.map +1 -0
- package/dist/contract/contracts-lock-file.js +140 -0
- package/dist/contract/contracts-lock-file.js.map +1 -0
- package/dist/contract/data-normalize.d.ts +10 -0
- package/dist/contract/data-normalize.d.ts.map +1 -0
- package/dist/contract/data-normalize.js +110 -0
- package/dist/contract/data-normalize.js.map +1 -0
- package/dist/contract/derive-free-feature.d.ts +38 -0
- package/dist/contract/derive-free-feature.d.ts.map +1 -0
- package/dist/contract/derive-free-feature.js +154 -0
- package/dist/contract/derive-free-feature.js.map +1 -0
- package/dist/contract/field-semantic-redaction.d.ts +21 -0
- package/dist/contract/field-semantic-redaction.d.ts.map +1 -0
- package/dist/contract/field-semantic-redaction.js +118 -0
- package/dist/contract/field-semantic-redaction.js.map +1 -0
- package/dist/contract/free-feature-blocks.d.ts +10 -0
- package/dist/contract/free-feature-blocks.d.ts.map +1 -0
- package/dist/contract/free-feature-blocks.js +94 -0
- package/dist/contract/free-feature-blocks.js.map +1 -0
- package/dist/contract/lock-secret-guard.d.ts +22 -0
- package/dist/contract/lock-secret-guard.d.ts.map +1 -0
- package/dist/contract/lock-secret-guard.js +134 -0
- package/dist/contract/lock-secret-guard.js.map +1 -0
- package/dist/contract/lock-vs-git-head.d.ts +26 -0
- package/dist/contract/lock-vs-git-head.d.ts.map +1 -0
- package/dist/contract/lock-vs-git-head.js +28 -0
- package/dist/contract/lock-vs-git-head.js.map +1 -0
- package/dist/contract/normalize-contract-step.d.ts +21 -0
- package/dist/contract/normalize-contract-step.d.ts.map +1 -0
- package/dist/contract/normalize-contract-step.js +70 -0
- package/dist/contract/normalize-contract-step.js.map +1 -0
- package/dist/contract/normalize-feature-steps.d.ts +7 -0
- package/dist/contract/normalize-feature-steps.d.ts.map +1 -0
- package/dist/contract/normalize-feature-steps.js +127 -0
- package/dist/contract/normalize-feature-steps.js.map +1 -0
- package/dist/contract/oracle-strength.d.ts +12 -0
- package/dist/contract/oracle-strength.d.ts.map +1 -0
- package/dist/contract/oracle-strength.js +88 -0
- package/dist/contract/oracle-strength.js.map +1 -0
- package/dist/contract/project-contract-blockers.d.ts +10 -0
- package/dist/contract/project-contract-blockers.d.ts.map +1 -0
- package/dist/contract/project-contract-blockers.js +73 -0
- package/dist/contract/project-contract-blockers.js.map +1 -0
- package/dist/contract/record-contract-approval.d.ts +21 -0
- package/dist/contract/record-contract-approval.d.ts.map +1 -0
- package/dist/contract/record-contract-approval.js +98 -0
- package/dist/contract/record-contract-approval.js.map +1 -0
- package/dist/contract/render-free-gherkin.d.ts +40 -0
- package/dist/contract/render-free-gherkin.d.ts.map +1 -0
- package/dist/contract/render-free-gherkin.js +141 -0
- package/dist/contract/render-free-gherkin.js.map +1 -0
- package/dist/contract/render-trace-sentence.d.ts +20 -0
- package/dist/contract/render-trace-sentence.d.ts.map +1 -0
- package/dist/contract/render-trace-sentence.js +109 -0
- package/dist/contract/render-trace-sentence.js.map +1 -0
- package/dist/contract/render-trace-target.d.ts +14 -0
- package/dist/contract/render-trace-target.d.ts.map +1 -0
- package/dist/contract/render-trace-target.js +70 -0
- package/dist/contract/render-trace-target.js.map +1 -0
- package/dist/contract/resolve-unit-trace-identities.d.ts +8 -0
- package/dist/contract/resolve-unit-trace-identities.d.ts.map +1 -0
- package/dist/contract/resolve-unit-trace-identities.js +78 -0
- package/dist/contract/resolve-unit-trace-identities.js.map +1 -0
- package/dist/contract/trace/collect-trace-evidence.d.ts +33 -0
- package/dist/contract/trace/collect-trace-evidence.d.ts.map +1 -0
- package/dist/contract/trace/collect-trace-evidence.js +161 -0
- package/dist/contract/trace/collect-trace-evidence.js.map +1 -0
- package/dist/contract/trace/identity-cache.d.ts +19 -0
- package/dist/contract/trace/identity-cache.d.ts.map +1 -0
- package/dist/contract/trace/identity-cache.js +104 -0
- package/dist/contract/trace/identity-cache.js.map +1 -0
- package/dist/contract/trace/select-final-attempt.d.ts +27 -0
- package/dist/contract/trace/select-final-attempt.d.ts.map +1 -0
- package/dist/contract/trace/select-final-attempt.js +116 -0
- package/dist/contract/trace/select-final-attempt.js.map +1 -0
- package/dist/contract/trace/snapshot-html-renderer.d.ts +31 -0
- package/dist/contract/trace/snapshot-html-renderer.d.ts.map +1 -0
- package/dist/contract/trace/snapshot-html-renderer.js +172 -0
- package/dist/contract/trace/snapshot-html-renderer.js.map +1 -0
- package/dist/contract/trace/snapshot-resolver.d.ts +21 -0
- package/dist/contract/trace/snapshot-resolver.d.ts.map +1 -0
- package/dist/contract/trace/snapshot-resolver.js +65 -0
- package/dist/contract/trace/snapshot-resolver.js.map +1 -0
- package/dist/contract/trace/snapshot-store.d.ts +66 -0
- package/dist/contract/trace/snapshot-store.d.ts.map +1 -0
- package/dist/contract/trace/snapshot-store.js +173 -0
- package/dist/contract/trace/snapshot-store.js.map +1 -0
- package/dist/contract/trace/target-identity.d.ts +74 -0
- package/dist/contract/trace/target-identity.d.ts.map +1 -0
- package/dist/contract/trace/target-identity.js +68 -0
- package/dist/contract/trace/target-identity.js.map +1 -0
- package/dist/contract/trace/test-step-join.d.ts +65 -0
- package/dist/contract/trace/test-step-join.d.ts.map +1 -0
- package/dist/contract/trace/test-step-join.js +80 -0
- package/dist/contract/trace/test-step-join.js.map +1 -0
- package/dist/contract/trace/trace-binding.d.ts +21 -0
- package/dist/contract/trace/trace-binding.d.ts.map +1 -0
- package/dist/contract/trace/trace-binding.js +88 -0
- package/dist/contract/trace/trace-binding.js.map +1 -0
- package/dist/contract/trace/trace-file-reader.d.ts +41 -0
- package/dist/contract/trace/trace-file-reader.d.ts.map +1 -0
- package/dist/contract/trace/trace-file-reader.js +161 -0
- package/dist/contract/trace/trace-file-reader.js.map +1 -0
- package/dist/contract/trace/trace-fingerprint.d.ts +22 -0
- package/dist/contract/trace/trace-fingerprint.d.ts.map +1 -0
- package/dist/contract/trace/trace-fingerprint.js +96 -0
- package/dist/contract/trace/trace-fingerprint.js.map +1 -0
- package/dist/contract/trace/trace-identity-resolution.d.ts +26 -0
- package/dist/contract/trace/trace-identity-resolution.d.ts.map +1 -0
- package/dist/contract/trace/trace-identity-resolution.js +84 -0
- package/dist/contract/trace/trace-identity-resolution.js.map +1 -0
- package/dist/contract/trace/trace-run-record.d.ts +30 -0
- package/dist/contract/trace/trace-run-record.d.ts.map +1 -0
- package/dist/contract/trace/trace-run-record.js +121 -0
- package/dist/contract/trace/trace-run-record.js.map +1 -0
- package/dist/contract/trace/trace-steps.d.ts +19 -0
- package/dist/contract/trace/trace-steps.d.ts.map +1 -0
- package/dist/contract/trace/trace-steps.js +79 -0
- package/dist/contract/trace/trace-steps.js.map +1 -0
- package/dist/contract/trace/trace-zip-limits.d.ts +45 -0
- package/dist/contract/trace/trace-zip-limits.d.ts.map +1 -0
- package/dist/contract/trace/trace-zip-limits.js +52 -0
- package/dist/contract/trace/trace-zip-limits.js.map +1 -0
- package/dist/contract/trace/trace-zip-reader.d.ts +10 -0
- package/dist/contract/trace/trace-zip-reader.d.ts.map +1 -0
- package/dist/contract/trace/trace-zip-reader.js +186 -0
- package/dist/contract/trace/trace-zip-reader.js.map +1 -0
- package/dist/contract/verify-approval-decisions.d.ts +5 -0
- package/dist/contract/verify-approval-decisions.d.ts.map +1 -0
- package/dist/contract/verify-approval-decisions.js +104 -0
- package/dist/contract/verify-approval-decisions.js.map +1 -0
- package/dist/decisions/append-decision.d.ts +12 -0
- package/dist/decisions/append-decision.d.ts.map +1 -0
- package/dist/decisions/append-decision.js +73 -0
- package/dist/decisions/append-decision.js.map +1 -0
- package/dist/decisions/confirmed-decision-commands.d.ts +41 -0
- package/dist/decisions/confirmed-decision-commands.d.ts.map +1 -0
- package/dist/decisions/confirmed-decision-commands.js +190 -0
- package/dist/decisions/confirmed-decision-commands.js.map +1 -0
- package/dist/decisions/decision-file.d.ts +31 -0
- package/dist/decisions/decision-file.d.ts.map +1 -0
- package/dist/decisions/decision-file.js +139 -0
- package/dist/decisions/decision-file.js.map +1 -0
- package/dist/decisions/decision-identity.d.ts +12 -0
- package/dist/decisions/decision-identity.d.ts.map +1 -0
- package/dist/decisions/decision-identity.js +78 -0
- package/dist/decisions/decision-identity.js.map +1 -0
- package/dist/decisions/decision-integrity-check.d.ts +12 -0
- package/dist/decisions/decision-integrity-check.d.ts.map +1 -0
- package/dist/decisions/decision-integrity-check.js +102 -0
- package/dist/decisions/decision-integrity-check.js.map +1 -0
- package/dist/decisions/decision-schema.d.ts +42 -0
- package/dist/decisions/decision-schema.d.ts.map +1 -0
- package/dist/decisions/decision-schema.js +75 -0
- package/dist/decisions/decision-schema.js.map +1 -0
- package/dist/decisions/decision-source.d.ts +2 -0
- package/dist/decisions/decision-source.d.ts.map +1 -0
- package/dist/decisions/decision-source.js +18 -0
- package/dist/decisions/decision-source.js.map +1 -0
- package/dist/decisions/exclusive-file-create.d.ts +3 -0
- package/dist/decisions/exclusive-file-create.d.ts.map +1 -0
- package/dist/decisions/exclusive-file-create.js +84 -0
- package/dist/decisions/exclusive-file-create.js.map +1 -0
- package/dist/decisions/git-head-trust.d.ts +7 -0
- package/dist/decisions/git-head-trust.d.ts.map +1 -0
- package/dist/decisions/git-head-trust.js +76 -0
- package/dist/decisions/git-head-trust.js.map +1 -0
- package/dist/decisions/human-confirmation.d.ts +35 -0
- package/dist/decisions/human-confirmation.d.ts.map +1 -0
- package/dist/decisions/human-confirmation.js +161 -0
- package/dist/decisions/human-confirmation.js.map +1 -0
- package/dist/decisions/legacy-waiver-migration.d.ts +31 -0
- package/dist/decisions/legacy-waiver-migration.d.ts.map +1 -0
- package/dist/decisions/legacy-waiver-migration.js +170 -0
- package/dist/decisions/legacy-waiver-migration.js.map +1 -0
- package/dist/decisions/read-decisions.d.ts +19 -0
- package/dist/decisions/read-decisions.d.ts.map +1 -0
- package/dist/decisions/read-decisions.js +90 -0
- package/dist/decisions/read-decisions.js.map +1 -0
- package/dist/decisions/viewpoint-baseline-adapter.d.ts +7 -0
- package/dist/decisions/viewpoint-baseline-adapter.d.ts.map +1 -0
- package/dist/decisions/viewpoint-baseline-adapter.js +109 -0
- package/dist/decisions/viewpoint-baseline-adapter.js.map +1 -0
- package/dist/decisions/waiver-decisions.d.ts +24 -0
- package/dist/decisions/waiver-decisions.d.ts.map +1 -0
- package/dist/decisions/waiver-decisions.js +46 -0
- package/dist/decisions/waiver-decisions.js.map +1 -0
- package/dist/exporters/csv-exporter.d.ts +4 -0
- package/dist/exporters/csv-exporter.d.ts.map +1 -1
- package/dist/exporters/csv-exporter.js +1 -1
- package/dist/exporters/csv-exporter.js.map +1 -1
- package/dist/exporters/feature-parser.d.ts +8 -0
- package/dist/exporters/feature-parser.d.ts.map +1 -1
- package/dist/exporters/feature-parser.js +12 -0
- package/dist/exporters/feature-parser.js.map +1 -1
- package/dist/exporters/matrix/build.d.ts +3 -0
- package/dist/exporters/matrix/build.d.ts.map +1 -1
- package/dist/exporters/matrix/build.js +59 -19
- package/dist/exporters/matrix/build.js.map +1 -1
- package/dist/exporters/matrix/carry-manual-results.d.ts +19 -0
- package/dist/exporters/matrix/carry-manual-results.d.ts.map +1 -1
- package/dist/exporters/matrix/carry-manual-results.js +76 -6
- package/dist/exporters/matrix/carry-manual-results.js.map +1 -1
- package/dist/exporters/matrix/export.d.ts +8 -2
- package/dist/exporters/matrix/export.d.ts.map +1 -1
- package/dist/exporters/matrix/export.js +16 -3
- package/dist/exporters/matrix/export.js.map +1 -1
- package/dist/exporters/matrix/gates.d.ts +6 -1
- package/dist/exporters/matrix/gates.d.ts.map +1 -1
- package/dist/exporters/matrix/gates.js +57 -128
- package/dist/exporters/matrix/gates.js.map +1 -1
- package/dist/exporters/matrix/render-csv.d.ts.map +1 -1
- package/dist/exporters/matrix/render-csv.js +4 -1
- package/dist/exporters/matrix/render-csv.js.map +1 -1
- package/dist/exporters/matrix/render-gate-overrides-sheet.d.ts +13 -0
- package/dist/exporters/matrix/render-gate-overrides-sheet.d.ts.map +1 -0
- package/dist/exporters/matrix/render-gate-overrides-sheet.js +44 -0
- package/dist/exporters/matrix/render-gate-overrides-sheet.js.map +1 -0
- package/dist/exporters/matrix/render-xlsx.d.ts +1 -0
- package/dist/exporters/matrix/render-xlsx.d.ts.map +1 -1
- package/dist/exporters/matrix/render-xlsx.js +6 -0
- package/dist/exporters/matrix/render-xlsx.js.map +1 -1
- package/dist/exporters/matrix/types.d.ts +9 -1
- package/dist/exporters/matrix/types.d.ts.map +1 -1
- package/dist/exporters/matrix/types.js.map +1 -1
- package/dist/exporters/matrix/xlsx-cells.js +1 -1
- package/dist/exporters/matrix/xlsx-cells.js.map +1 -1
- package/dist/exporters/playwright-report-parser.d.ts.map +1 -1
- package/dist/exporters/playwright-report-parser.js +1 -0
- package/dist/exporters/playwright-report-parser.js.map +1 -1
- package/dist/exporters/scenario-merger.d.ts.map +1 -1
- package/dist/exporters/scenario-merger.js +2 -0
- package/dist/exporters/scenario-merger.js.map +1 -1
- package/dist/exporters/types.d.ts +5 -0
- package/dist/exporters/types.d.ts.map +1 -1
- package/dist/generators/test-generator/code-generator.d.ts.map +1 -1
- package/dist/generators/test-generator/code-generator.js +13 -0
- package/dist/generators/test-generator/code-generator.js.map +1 -1
- package/dist/graph/evaluate-graph.d.ts +23 -0
- package/dist/graph/evaluate-graph.d.ts.map +1 -0
- package/dist/graph/evaluate-graph.js +52 -0
- package/dist/graph/evaluate-graph.js.map +1 -0
- package/dist/graph/locate-finding.d.ts +20 -0
- package/dist/graph/locate-finding.d.ts.map +1 -0
- package/dist/graph/locate-finding.js +137 -0
- package/dist/graph/locate-finding.js.map +1 -0
- package/dist/graph/node-decl.d.ts +66 -0
- package/dist/graph/node-decl.d.ts.map +1 -0
- package/dist/graph/node-decl.js +8 -0
- package/dist/graph/node-decl.js.map +1 -0
- package/dist/graph/nodes/core-node-catalog.d.ts +7 -0
- package/dist/graph/nodes/core-node-catalog.d.ts.map +1 -0
- package/dist/graph/nodes/core-node-catalog.js +13 -0
- package/dist/graph/nodes/core-node-catalog.js.map +1 -0
- package/dist/graph/nodes/test-case-contract-nodes.d.ts +21 -0
- package/dist/graph/nodes/test-case-contract-nodes.d.ts.map +1 -0
- package/dist/graph/nodes/test-case-contract-nodes.js +59 -0
- package/dist/graph/nodes/test-case-contract-nodes.js.map +1 -0
- package/dist/graph/nodes/test-case-nodes.d.ts +26 -0
- package/dist/graph/nodes/test-case-nodes.d.ts.map +1 -0
- package/dist/graph/nodes/test-case-nodes.js +66 -0
- package/dist/graph/nodes/test-case-nodes.js.map +1 -0
- package/dist/graph/nodes/unit-audit-nodes.d.ts +18 -0
- package/dist/graph/nodes/unit-audit-nodes.d.ts.map +1 -0
- package/dist/graph/nodes/unit-audit-nodes.js +95 -0
- package/dist/graph/nodes/unit-audit-nodes.js.map +1 -0
- package/dist/graph/nodes/unit-contract-node.d.ts +21 -0
- package/dist/graph/nodes/unit-contract-node.d.ts.map +1 -0
- package/dist/graph/nodes/unit-contract-node.js +88 -0
- package/dist/graph/nodes/unit-contract-node.js.map +1 -0
- package/dist/graph/nodes/unit-design-nodes.d.ts +14 -0
- package/dist/graph/nodes/unit-design-nodes.d.ts.map +1 -0
- package/dist/graph/nodes/unit-design-nodes.js +91 -0
- package/dist/graph/nodes/unit-design-nodes.js.map +1 -0
- package/dist/graph/nodes/unit-execution-nodes.d.ts +16 -0
- package/dist/graph/nodes/unit-execution-nodes.d.ts.map +1 -0
- package/dist/graph/nodes/unit-execution-nodes.js +79 -0
- package/dist/graph/nodes/unit-execution-nodes.js.map +1 -0
- package/dist/graph/test-case-identity.d.ts +13 -0
- package/dist/graph/test-case-identity.d.ts.map +1 -0
- package/dist/graph/test-case-identity.js +106 -0
- package/dist/graph/test-case-identity.js.map +1 -0
- package/dist/graph/test-case-results.d.ts +11 -0
- package/dist/graph/test-case-results.d.ts.map +1 -0
- package/dist/graph/test-case-results.js +137 -0
- package/dist/graph/test-case-results.js.map +1 -0
- package/dist/graph/test-case-satisfied.d.ts +25 -0
- package/dist/graph/test-case-satisfied.d.ts.map +1 -0
- package/dist/graph/test-case-satisfied.js +51 -0
- package/dist/graph/test-case-satisfied.js.map +1 -0
- package/dist/graph/test-case-state-shape.d.ts +67 -0
- package/dist/graph/test-case-state-shape.d.ts.map +1 -0
- package/dist/graph/test-case-state-shape.js +3 -0
- package/dist/graph/test-case-state-shape.js.map +1 -0
- package/dist/graph/test-case-states.d.ts +9 -0
- package/dist/graph/test-case-states.d.ts.map +1 -0
- package/dist/graph/test-case-states.js +116 -0
- package/dist/graph/test-case-states.js.map +1 -0
- package/dist/graph/unit-artifact-probes.d.ts +19 -0
- package/dist/graph/unit-artifact-probes.d.ts.map +1 -0
- package/dist/graph/unit-artifact-probes.js +133 -0
- package/dist/graph/unit-artifact-probes.js.map +1 -0
- package/dist/graph/unit-state-facts.d.ts +43 -0
- package/dist/graph/unit-state-facts.d.ts.map +1 -0
- package/dist/graph/unit-state-facts.js +87 -0
- package/dist/graph/unit-state-facts.js.map +1 -0
- package/dist/harness/audit.d.ts +11 -0
- package/dist/harness/audit.d.ts.map +1 -1
- package/dist/harness/audit.js +34 -9
- package/dist/harness/audit.js.map +1 -1
- package/dist/harness/catalog/gate-rules.yaml +647 -0
- package/dist/harness/counted-assertions.d.ts +2 -0
- package/dist/harness/counted-assertions.d.ts.map +1 -0
- package/dist/harness/counted-assertions.js +38 -0
- package/dist/harness/counted-assertions.js.map +1 -0
- package/dist/harness/defect-draft.d.ts +14 -0
- package/dist/harness/defect-draft.d.ts.map +1 -0
- package/dist/harness/defect-draft.js +143 -0
- package/dist/harness/defect-draft.js.map +1 -0
- package/dist/harness/defects.d.ts +24 -0
- package/dist/harness/defects.d.ts.map +1 -0
- package/dist/harness/defects.js +118 -0
- package/dist/harness/defects.js.map +1 -0
- package/dist/harness/gates/audit-gate-terms.d.ts +41 -0
- package/dist/harness/gates/audit-gate-terms.d.ts.map +1 -0
- package/dist/harness/gates/audit-gate-terms.js +72 -0
- package/dist/harness/gates/audit-gate-terms.js.map +1 -0
- package/dist/harness/gates/audit-gate-verdict.d.ts +31 -0
- package/dist/harness/gates/audit-gate-verdict.d.ts.map +1 -0
- package/dist/harness/gates/audit-gate-verdict.js +101 -0
- package/dist/harness/gates/audit-gate-verdict.js.map +1 -0
- package/dist/harness/gates/audit-input-hash.d.ts +4 -0
- package/dist/harness/gates/audit-input-hash.d.ts.map +1 -0
- package/dist/harness/gates/audit-input-hash.js +96 -0
- package/dist/harness/gates/audit-input-hash.js.map +1 -0
- package/dist/harness/gates/audit-report-verification.d.ts +41 -0
- package/dist/harness/gates/audit-report-verification.d.ts.map +1 -0
- package/dist/harness/gates/audit-report-verification.js +236 -0
- package/dist/harness/gates/audit-report-verification.js.map +1 -0
- package/dist/harness/gates/decisions-hash.d.ts +13 -0
- package/dist/harness/gates/decisions-hash.d.ts.map +1 -0
- package/dist/harness/gates/decisions-hash.js +72 -0
- package/dist/harness/gates/decisions-hash.js.map +1 -0
- package/dist/harness/gates/delivery-checklist.d.ts +21 -0
- package/dist/harness/gates/delivery-checklist.d.ts.map +1 -0
- package/dist/harness/gates/delivery-checklist.js +128 -0
- package/dist/harness/gates/delivery-checklist.js.map +1 -0
- package/dist/harness/gates/delivery-decision-gate.d.ts +33 -0
- package/dist/harness/gates/delivery-decision-gate.d.ts.map +1 -0
- package/dist/harness/gates/delivery-decision-gate.js +116 -0
- package/dist/harness/gates/delivery-decision-gate.js.map +1 -0
- package/dist/harness/gates/delivery-decision-step.d.ts +19 -0
- package/dist/harness/gates/delivery-decision-step.d.ts.map +1 -0
- package/dist/harness/gates/delivery-decision-step.js +86 -0
- package/dist/harness/gates/delivery-decision-step.js.map +1 -0
- package/dist/harness/gates/gate-override-report.d.ts +59 -0
- package/dist/harness/gates/gate-override-report.d.ts.map +1 -0
- package/dist/harness/gates/gate-override-report.js +86 -0
- package/dist/harness/gates/gate-override-report.js.map +1 -0
- package/dist/harness/gates/gate-override-scope.d.ts +18 -0
- package/dist/harness/gates/gate-override-scope.d.ts.map +1 -0
- package/dist/harness/gates/gate-override-scope.js +98 -0
- package/dist/harness/gates/gate-override-scope.js.map +1 -0
- package/dist/harness/gates/gate-override-validation.d.ts +25 -0
- package/dist/harness/gates/gate-override-validation.d.ts.map +1 -0
- package/dist/harness/gates/gate-override-validation.js +81 -0
- package/dist/harness/gates/gate-override-validation.js.map +1 -0
- package/dist/harness/gates/gate-rule-catalog.d.ts +24 -0
- package/dist/harness/gates/gate-rule-catalog.d.ts.map +1 -0
- package/dist/harness/gates/gate-rule-catalog.js +112 -0
- package/dist/harness/gates/gate-rule-catalog.js.map +1 -0
- package/dist/harness/gates/gate-terms.d.ts +33 -0
- package/dist/harness/gates/gate-terms.d.ts.map +1 -0
- package/dist/harness/gates/gate-terms.js +41 -0
- package/dist/harness/gates/gate-terms.js.map +1 -0
- package/dist/harness/gates/in-run-decision-check.d.ts +21 -0
- package/dist/harness/gates/in-run-decision-check.d.ts.map +1 -0
- package/dist/harness/gates/in-run-decision-check.js +138 -0
- package/dist/harness/gates/in-run-decision-check.js.map +1 -0
- package/dist/harness/gates/journey-gate-inputs.d.ts +37 -0
- package/dist/harness/gates/journey-gate-inputs.d.ts.map +1 -0
- package/dist/harness/gates/journey-gate-inputs.js +81 -0
- package/dist/harness/gates/journey-gate-inputs.js.map +1 -0
- package/dist/harness/gates/migrated-waiver-review.d.ts +6 -0
- package/dist/harness/gates/migrated-waiver-review.d.ts.map +1 -0
- package/dist/harness/gates/migrated-waiver-review.js +116 -0
- package/dist/harness/gates/migrated-waiver-review.js.map +1 -0
- package/dist/harness/gates/resolve-rule.d.ts +59 -0
- package/dist/harness/gates/resolve-rule.d.ts.map +1 -0
- package/dist/harness/gates/resolve-rule.js +41 -0
- package/dist/harness/gates/resolve-rule.js.map +1 -0
- package/dist/harness/gates/unit-gate-overrides.d.ts +25 -0
- package/dist/harness/gates/unit-gate-overrides.d.ts.map +1 -0
- package/dist/harness/gates/unit-gate-overrides.js +122 -0
- package/dist/harness/gates/unit-gate-overrides.js.map +1 -0
- package/dist/harness/journey.d.ts +43 -1
- package/dist/harness/journey.d.ts.map +1 -1
- package/dist/harness/journey.js +207 -33
- package/dist/harness/journey.js.map +1 -1
- package/dist/harness/manifest.d.ts +12 -0
- package/dist/harness/manifest.d.ts.map +1 -1
- package/dist/harness/manifest.js +73 -45
- package/dist/harness/manifest.js.map +1 -1
- package/dist/harness/next-step.d.ts +37 -6
- package/dist/harness/next-step.d.ts.map +1 -1
- package/dist/harness/next-step.js +34 -174
- package/dist/harness/next-step.js.map +1 -1
- package/dist/harness/parse.d.ts +25 -0
- package/dist/harness/parse.d.ts.map +1 -1
- package/dist/harness/parse.js +38 -13
- package/dist/harness/parse.js.map +1 -1
- package/dist/harness/provenance.d.ts +29 -0
- package/dist/harness/provenance.d.ts.map +1 -1
- package/dist/harness/provenance.js +109 -9
- package/dist/harness/provenance.js.map +1 -1
- package/dist/harness/script-check.d.ts.map +1 -1
- package/dist/harness/script-check.js +29 -6
- package/dist/harness/script-check.js.map +1 -1
- package/dist/harness/sensors.d.ts +14 -3
- package/dist/harness/sensors.d.ts.map +1 -1
- package/dist/harness/sensors.js +64 -44
- package/dist/harness/sensors.js.map +1 -1
- package/dist/harness/triage-signals.d.ts +20 -0
- package/dist/harness/triage-signals.d.ts.map +1 -0
- package/dist/harness/triage-signals.js +30 -0
- package/dist/harness/triage-signals.js.map +1 -0
- package/dist/harness/triage-unit.d.ts +23 -0
- package/dist/harness/triage-unit.d.ts.map +1 -0
- package/dist/harness/triage-unit.js +142 -0
- package/dist/harness/triage-unit.js.map +1 -0
- package/dist/harness/triage.d.ts +28 -0
- package/dist/harness/triage.d.ts.map +1 -0
- package/dist/harness/triage.js +99 -0
- package/dist/harness/triage.js.map +1 -0
- package/dist/harness/viewpoint-ledger.d.ts.map +1 -1
- package/dist/harness/viewpoint-ledger.js +2 -1
- package/dist/harness/viewpoint-ledger.js.map +1 -1
- package/dist/hooks/bash-write-targets.d.ts +15 -0
- package/dist/hooks/bash-write-targets.d.ts.map +1 -0
- package/dist/hooks/bash-write-targets.js +173 -0
- package/dist/hooks/bash-write-targets.js.map +1 -0
- package/dist/hooks/claude-hook-entry.d.ts +11 -0
- package/dist/hooks/claude-hook-entry.d.ts.map +1 -0
- package/dist/hooks/claude-hook-entry.js +137 -0
- package/dist/hooks/claude-hook-entry.js.map +1 -0
- package/dist/hooks/claude-transcript-turn.d.ts +11 -0
- package/dist/hooks/claude-transcript-turn.d.ts.map +1 -0
- package/dist/hooks/claude-transcript-turn.js +143 -0
- package/dist/hooks/claude-transcript-turn.js.map +1 -0
- package/dist/hooks/guard-delivery-contract-rule.d.ts +10 -0
- package/dist/hooks/guard-delivery-contract-rule.d.ts.map +1 -0
- package/dist/hooks/guard-delivery-contract-rule.js +152 -0
- package/dist/hooks/guard-delivery-contract-rule.js.map +1 -0
- package/dist/hooks/guard-protected-paths.d.ts +9 -0
- package/dist/hooks/guard-protected-paths.d.ts.map +1 -0
- package/dist/hooks/guard-protected-paths.js +107 -0
- package/dist/hooks/guard-protected-paths.js.map +1 -0
- package/dist/hooks/guard-rules.d.ts +37 -0
- package/dist/hooks/guard-rules.d.ts.map +1 -0
- package/dist/hooks/guard-rules.js +61 -0
- package/dist/hooks/guard-rules.js.map +1 -0
- package/dist/hooks/guard-tty-spoof-rule.d.ts +15 -0
- package/dist/hooks/guard-tty-spoof-rule.d.ts.map +1 -0
- package/dist/hooks/guard-tty-spoof-rule.js +21 -0
- package/dist/hooks/guard-tty-spoof-rule.js.map +1 -0
- package/dist/hooks/hand-back-core.d.ts +39 -0
- package/dist/hooks/hand-back-core.d.ts.map +1 -0
- package/dist/hooks/hand-back-core.js +122 -0
- package/dist/hooks/hand-back-core.js.map +1 -0
- package/dist/hooks/hook-cli-command.d.ts +9 -0
- package/dist/hooks/hook-cli-command.d.ts.map +1 -0
- package/dist/hooks/hook-cli-command.js +46 -0
- package/dist/hooks/hook-cli-command.js.map +1 -0
- package/dist/hooks/hook-registry.d.ts +10 -0
- package/dist/hooks/hook-registry.d.ts.map +1 -0
- package/dist/hooks/hook-registry.js +24 -0
- package/dist/hooks/hook-registry.js.map +1 -0
- package/dist/hooks/hook-result-contract.d.ts +50 -0
- package/dist/hooks/hook-result-contract.d.ts.map +1 -0
- package/dist/hooks/hook-result-contract.js +80 -0
- package/dist/hooks/hook-result-contract.js.map +1 -0
- package/dist/hooks/hook-toggles.d.ts +10 -0
- package/dist/hooks/hook-toggles.d.ts.map +1 -0
- package/dist/hooks/hook-toggles.js +107 -0
- package/dist/hooks/hook-toggles.js.map +1 -0
- package/dist/hooks/pre-tool-guard-hook.d.ts +10 -0
- package/dist/hooks/pre-tool-guard-hook.d.ts.map +1 -0
- package/dist/hooks/pre-tool-guard-hook.js +105 -0
- package/dist/hooks/pre-tool-guard-hook.js.map +1 -0
- package/dist/hooks/session-start-unit-state-hook.d.ts +13 -0
- package/dist/hooks/session-start-unit-state-hook.d.ts.map +1 -0
- package/dist/hooks/session-start-unit-state-hook.js +57 -0
- package/dist/hooks/session-start-unit-state-hook.js.map +1 -0
- package/dist/hooks/stop-next-step-hook.d.ts +16 -0
- package/dist/hooks/stop-next-step-hook.d.ts.map +1 -0
- package/dist/hooks/stop-next-step-hook.js +42 -0
- package/dist/hooks/stop-next-step-hook.js.map +1 -0
- package/dist/hooks/sungen-project-root.d.ts +19 -0
- package/dist/hooks/sungen-project-root.d.ts.map +1 -0
- package/dist/hooks/sungen-project-root.js +130 -0
- package/dist/hooks/sungen-project-root.js.map +1 -0
- package/dist/orchestrator/ai-skills/command-partial-includes.d.ts +15 -0
- package/dist/orchestrator/ai-skills/command-partial-includes.d.ts.map +1 -0
- package/dist/orchestrator/ai-skills/command-partial-includes.js +106 -0
- package/dist/orchestrator/ai-skills/command-partial-includes.js.map +1 -0
- package/dist/orchestrator/ai-skills/commands.d.ts +5 -1
- package/dist/orchestrator/ai-skills/commands.d.ts.map +1 -1
- package/dist/orchestrator/ai-skills/commands.js +16 -6
- package/dist/orchestrator/ai-skills/commands.js.map +1 -1
- package/dist/orchestrator/ai-skills/golden-skills.test.js +29 -0
- package/dist/orchestrator/ai-skills/golden-skills.test.js.map +1 -1
- package/dist/orchestrator/assets-drift.d.ts +5 -0
- package/dist/orchestrator/assets-drift.d.ts.map +1 -1
- package/dist/orchestrator/assets-drift.js +12 -3
- package/dist/orchestrator/assets-drift.js.map +1 -1
- package/dist/orchestrator/claude-hooks-install.d.ts +27 -0
- package/dist/orchestrator/claude-hooks-install.d.ts.map +1 -0
- package/dist/orchestrator/claude-hooks-install.js +203 -0
- package/dist/orchestrator/claude-hooks-install.js.map +1 -0
- package/dist/orchestrator/lockstep-version.d.ts +15 -5
- package/dist/orchestrator/lockstep-version.d.ts.map +1 -1
- package/dist/orchestrator/lockstep-version.js +30 -17
- package/dist/orchestrator/lockstep-version.js.map +1 -1
- package/dist/orchestrator/project-initializer.d.ts +6 -0
- package/dist/orchestrator/project-initializer.d.ts.map +1 -1
- package/dist/orchestrator/project-initializer.js +24 -0
- package/dist/orchestrator/project-initializer.js.map +1 -1
- package/dist/orchestrator/screen-manager.d.ts.map +1 -1
- package/dist/orchestrator/screen-manager.js +4 -2
- package/dist/orchestrator/screen-manager.js.map +1 -1
- package/dist/orchestrator/templates/ai-src/commands/add-api.md +2 -0
- package/dist/orchestrator/templates/ai-src/commands/add-flow.md +2 -0
- package/dist/orchestrator/templates/ai-src/commands/add-screen.md +2 -0
- package/dist/orchestrator/templates/ai-src/commands/create-data-test.md +1 -0
- package/dist/orchestrator/templates/ai-src/commands/create-test.md +14 -16
- package/dist/orchestrator/templates/ai-src/commands/dashboard.md +2 -0
- package/dist/orchestrator/templates/ai-src/commands/delivery.md +2 -0
- package/dist/orchestrator/templates/ai-src/commands/design.md +2 -0
- package/dist/orchestrator/templates/ai-src/commands/feedback.md +2 -0
- package/dist/orchestrator/templates/ai-src/commands/locale.md +2 -0
- package/dist/orchestrator/templates/ai-src/commands/review.md +2 -0
- package/dist/orchestrator/templates/ai-src/commands/run-test.md +14 -10
- package/dist/orchestrator/templates/ai-src/config/claude.md +20 -7
- package/dist/orchestrator/templates/ai-src/config/copilot.md +20 -7
- package/dist/orchestrator/templates/ai-src/partials/hand-back-rule.claude.md +20 -0
- package/dist/orchestrator/templates/ai-src/partials/hand-back-rule.codex.md +20 -0
- package/dist/orchestrator/templates/ai-src/partials/hand-back-rule.copilot.md +20 -0
- package/dist/orchestrator/templates/ai-src/skills/sungen-api-coverage-model/SKILL.md +1 -1
- package/dist/orchestrator/templates/ai-src/skills/sungen-capture-mobile/SKILL.md +3 -3
- package/dist/orchestrator/templates/ai-src/skills/sungen-data-factory/SKILL.md +9 -0
- package/dist/orchestrator/templates/ai-src/skills/sungen-error-mapping/SKILL.md +2 -0
- package/dist/orchestrator/templates/ai-src/skills/sungen-gherkin-syntax/SKILL.md +1 -1
- package/dist/orchestrator/templates/ai-src/skills/sungen-harness-audit/SKILL.md +2 -0
- package/dist/orchestrator/templates/claude-hooks/sungen-hook.cjs +64 -0
- package/dist/utils/safe-yaml-parse.d.ts +8 -0
- package/dist/utils/safe-yaml-parse.d.ts.map +1 -0
- package/dist/utils/safe-yaml-parse.js +51 -0
- package/dist/utils/safe-yaml-parse.js.map +1 -0
- package/package.json +3 -3
- package/src/basis/anchor-grammar.ts +83 -0
- package/src/basis/anchor-hash.ts +27 -0
- package/src/basis/bm51-tables.ts +65 -0
- package/src/basis/extract-spec-anchors.ts +95 -0
- package/src/basis/migration-sentinel.ts +175 -0
- package/src/basis/spec-frontmatter.ts +68 -0
- package/src/basis/spec-sections.ts +35 -0
- package/src/basis/test-basis-schema.ts +81 -0
- package/src/capabilities/discover.ts +15 -2
- package/src/capabilities/registry.ts +16 -0
- package/src/cli/commands/audit.ts +10 -5
- package/src/cli/commands/capability.ts +4 -2
- package/src/cli/commands/contract-derive-command.ts +61 -0
- package/src/cli/commands/contract.ts +130 -0
- package/src/cli/commands/defect.ts +49 -0
- package/src/cli/commands/delivery.ts +92 -15
- package/src/cli/commands/generate.ts +3 -1
- package/src/cli/commands/journey.ts +41 -16
- package/src/cli/commands/next.ts +64 -10
- package/src/cli/commands/triage.ts +57 -0
- package/src/cli/commands/update.ts +35 -8
- package/src/cli/index.ts +24 -30
- package/src/cli/project-sungen-invocation.ts +39 -0
- package/src/contract/approve-contract.ts +94 -0
- package/src/contract/assertion-matcher-vocabulary.ts +93 -0
- package/src/contract/build-contract-verdict.ts +108 -0
- package/src/contract/build-trace-conformance.ts +100 -0
- package/src/contract/classify-contract-change.ts +92 -0
- package/src/contract/classify-contract-unit.ts +47 -0
- package/src/contract/classify-trace-conformance.ts +116 -0
- package/src/contract/contract-git.ts +106 -0
- package/src/contract/contract-hash.ts +34 -0
- package/src/contract/contract-report-file.ts +25 -0
- package/src/contract/contract-schema.ts +137 -0
- package/src/contract/contract-units.ts +52 -0
- package/src/contract/contracts-lock-file.ts +97 -0
- package/src/contract/data-normalize.ts +66 -0
- package/src/contract/derive-free-feature.ts +120 -0
- package/src/contract/field-semantic-redaction.ts +80 -0
- package/src/contract/free-feature-blocks.ts +56 -0
- package/src/contract/lock-secret-guard.ts +95 -0
- package/src/contract/lock-vs-git-head.ts +38 -0
- package/src/contract/normalize-contract-step.ts +74 -0
- package/src/contract/normalize-feature-steps.ts +93 -0
- package/src/contract/oracle-strength.ts +80 -0
- package/src/contract/project-contract-blockers.ts +36 -0
- package/src/contract/record-contract-approval.ts +70 -0
- package/src/contract/render-free-gherkin.ts +113 -0
- package/src/contract/render-trace-sentence.ts +98 -0
- package/src/contract/render-trace-target.ts +68 -0
- package/src/contract/resolve-unit-trace-identities.ts +35 -0
- package/src/contract/trace/collect-trace-evidence.ts +109 -0
- package/src/contract/trace/identity-cache.ts +61 -0
- package/src/contract/trace/select-final-attempt.ts +70 -0
- package/src/contract/trace/snapshot-html-renderer.ts +136 -0
- package/src/contract/trace/snapshot-resolver.ts +66 -0
- package/src/contract/trace/snapshot-store.ts +151 -0
- package/src/contract/trace/target-identity.ts +104 -0
- package/src/contract/trace/test-step-join.ts +104 -0
- package/src/contract/trace/trace-binding.ts +56 -0
- package/src/contract/trace/trace-file-reader.ts +133 -0
- package/src/contract/trace/trace-fingerprint.ts +68 -0
- package/src/contract/trace/trace-identity-resolution.ts +74 -0
- package/src/contract/trace/trace-run-record.ts +80 -0
- package/src/contract/trace/trace-steps.ts +88 -0
- package/src/contract/trace/trace-zip-limits.ts +77 -0
- package/src/contract/trace/trace-zip-reader.ts +127 -0
- package/src/contract/verify-approval-decisions.ts +60 -0
- package/src/decisions/append-decision.ts +35 -0
- package/src/decisions/confirmed-decision-commands.ts +149 -0
- package/src/decisions/decision-file.ts +93 -0
- package/src/decisions/decision-identity.ts +73 -0
- package/src/decisions/decision-integrity-check.ts +61 -0
- package/src/decisions/decision-schema.ts +76 -0
- package/src/decisions/decision-source.ts +14 -0
- package/src/decisions/exclusive-file-create.ts +42 -0
- package/src/decisions/git-head-trust.ts +32 -0
- package/src/decisions/human-confirmation.ts +119 -0
- package/src/decisions/legacy-waiver-migration.ts +135 -0
- package/src/decisions/read-decisions.ts +61 -0
- package/src/decisions/viewpoint-baseline-adapter.ts +74 -0
- package/src/decisions/waiver-decisions.ts +56 -0
- package/src/exporters/csv-exporter.ts +5 -1
- package/src/exporters/feature-parser.ts +12 -0
- package/src/exporters/matrix/build.ts +62 -18
- package/src/exporters/matrix/carry-manual-results.ts +70 -7
- package/src/exporters/matrix/export.ts +17 -2
- package/src/exporters/matrix/gates.ts +62 -129
- package/src/exporters/matrix/render-csv.ts +4 -1
- package/src/exporters/matrix/render-gate-overrides-sheet.ts +50 -0
- package/src/exporters/matrix/render-xlsx.ts +6 -0
- package/src/exporters/matrix/types.ts +9 -1
- package/src/exporters/matrix/xlsx-cells.ts +1 -1
- package/src/exporters/playwright-report-parser.ts +1 -0
- package/src/exporters/scenario-merger.ts +2 -1
- package/src/exporters/types.ts +5 -0
- package/src/generators/test-generator/code-generator.ts +13 -0
- package/src/graph/evaluate-graph.ts +66 -0
- package/src/graph/locate-finding.ts +93 -0
- package/src/graph/node-decl.ts +72 -0
- package/src/graph/nodes/core-node-catalog.ts +15 -0
- package/src/graph/nodes/test-case-contract-nodes.ts +74 -0
- package/src/graph/nodes/test-case-nodes.ts +68 -0
- package/src/graph/nodes/unit-audit-nodes.ts +95 -0
- package/src/graph/nodes/unit-contract-node.ts +89 -0
- package/src/graph/nodes/unit-design-nodes.ts +89 -0
- package/src/graph/nodes/unit-execution-nodes.ts +77 -0
- package/src/graph/test-case-identity.ts +75 -0
- package/src/graph/test-case-results.ts +90 -0
- package/src/graph/test-case-satisfied.ts +55 -0
- package/src/graph/test-case-state-shape.ts +62 -0
- package/src/graph/test-case-states.ts +84 -0
- package/src/graph/unit-artifact-probes.ts +77 -0
- package/src/graph/unit-state-facts.ts +112 -0
- package/src/harness/audit.ts +46 -11
- package/src/harness/catalog/gate-rules.yaml +647 -0
- package/src/harness/counted-assertions.ts +33 -0
- package/src/harness/defect-draft.ts +115 -0
- package/src/harness/defects.ts +94 -0
- package/src/harness/gates/audit-gate-terms.ts +80 -0
- package/src/harness/gates/audit-gate-verdict.ts +78 -0
- package/src/harness/gates/audit-input-hash.ts +55 -0
- package/src/harness/gates/audit-report-verification.ts +201 -0
- package/src/harness/gates/decisions-hash.ts +42 -0
- package/src/harness/gates/delivery-checklist.ts +120 -0
- package/src/harness/gates/delivery-decision-gate.ts +139 -0
- package/src/harness/gates/delivery-decision-step.ts +89 -0
- package/src/harness/gates/gate-override-report.ts +114 -0
- package/src/harness/gates/gate-override-scope.ts +66 -0
- package/src/harness/gates/gate-override-validation.ts +75 -0
- package/src/harness/gates/gate-rule-catalog.ts +82 -0
- package/src/harness/gates/gate-terms.ts +59 -0
- package/src/harness/gates/in-run-decision-check.ts +99 -0
- package/src/harness/gates/journey-gate-inputs.ts +89 -0
- package/src/harness/gates/migrated-waiver-review.ts +68 -0
- package/src/harness/gates/resolve-rule.ts +94 -0
- package/src/harness/gates/unit-gate-overrides.ts +99 -0
- package/src/harness/journey.ts +215 -38
- package/src/harness/manifest.ts +69 -45
- package/src/harness/next-step.ts +60 -170
- package/src/harness/parse.ts +40 -13
- package/src/harness/provenance.ts +99 -11
- package/src/harness/script-check.ts +27 -6
- package/src/harness/sensors.ts +73 -47
- package/src/harness/triage-signals.ts +46 -0
- package/src/harness/triage-unit.ts +113 -0
- package/src/harness/triage.ts +127 -0
- package/src/harness/viewpoint-ledger.ts +2 -2
- package/src/hooks/bash-write-targets.ts +109 -0
- package/src/hooks/claude-hook-entry.ts +85 -0
- package/src/hooks/claude-transcript-turn.ts +96 -0
- package/src/hooks/guard-delivery-contract-rule.ts +110 -0
- package/src/hooks/guard-protected-paths.ts +71 -0
- package/src/hooks/guard-rules.ts +98 -0
- package/src/hooks/guard-tty-spoof-rule.ts +31 -0
- package/src/hooks/hand-back-core.ts +112 -0
- package/src/hooks/hook-cli-command.ts +17 -0
- package/src/hooks/hook-registry.ts +24 -0
- package/src/hooks/hook-result-contract.ts +114 -0
- package/src/hooks/hook-toggles.ts +66 -0
- package/src/hooks/pre-tool-guard-hook.ts +67 -0
- package/src/hooks/session-start-unit-state-hook.ts +56 -0
- package/src/hooks/stop-next-step-hook.ts +37 -0
- package/src/hooks/sungen-project-root.ts +80 -0
- package/src/orchestrator/ai-skills/command-partial-includes.ts +72 -0
- package/src/orchestrator/ai-skills/commands.ts +22 -8
- package/src/orchestrator/ai-skills/golden-skills.test.ts +23 -0
- package/src/orchestrator/assets-drift.ts +12 -5
- package/src/orchestrator/claude-hooks-install.ts +168 -0
- package/src/orchestrator/lockstep-version.ts +28 -15
- package/src/orchestrator/project-initializer.ts +22 -0
- package/src/orchestrator/screen-manager.ts +3 -1
- package/src/orchestrator/templates/ai-src/commands/add-api.md +2 -0
- package/src/orchestrator/templates/ai-src/commands/add-flow.md +2 -0
- package/src/orchestrator/templates/ai-src/commands/add-screen.md +2 -0
- package/src/orchestrator/templates/ai-src/commands/create-data-test.md +1 -0
- package/src/orchestrator/templates/ai-src/commands/create-test.md +14 -16
- package/src/orchestrator/templates/ai-src/commands/dashboard.md +2 -0
- package/src/orchestrator/templates/ai-src/commands/delivery.md +2 -0
- package/src/orchestrator/templates/ai-src/commands/design.md +2 -0
- package/src/orchestrator/templates/ai-src/commands/feedback.md +2 -0
- package/src/orchestrator/templates/ai-src/commands/locale.md +2 -0
- package/src/orchestrator/templates/ai-src/commands/review.md +2 -0
- package/src/orchestrator/templates/ai-src/commands/run-test.md +14 -10
- package/src/orchestrator/templates/ai-src/config/claude.md +20 -7
- package/src/orchestrator/templates/ai-src/config/copilot.md +20 -7
- package/src/orchestrator/templates/ai-src/partials/hand-back-rule.claude.md +20 -0
- package/src/orchestrator/templates/ai-src/partials/hand-back-rule.codex.md +20 -0
- package/src/orchestrator/templates/ai-src/partials/hand-back-rule.copilot.md +20 -0
- package/src/orchestrator/templates/ai-src/skills/sungen-api-coverage-model/SKILL.md +1 -1
- package/src/orchestrator/templates/ai-src/skills/sungen-capture-mobile/SKILL.md +3 -3
- package/src/orchestrator/templates/ai-src/skills/sungen-data-factory/SKILL.md +9 -0
- package/src/orchestrator/templates/ai-src/skills/sungen-error-mapping/SKILL.md +2 -0
- package/src/orchestrator/templates/ai-src/skills/sungen-gherkin-syntax/SKILL.md +1 -1
- package/src/orchestrator/templates/ai-src/skills/sungen-harness-audit/SKILL.md +2 -0
- package/src/orchestrator/templates/claude-hooks/sungen-hook.cjs +64 -0
- package/src/utils/safe-yaml-parse.ts +44 -0
package/dist/harness/sensors.js
CHANGED
|
@@ -58,6 +58,9 @@ const yaml_1 = require("yaml");
|
|
|
58
58
|
const parse_1 = require("./parse");
|
|
59
59
|
const read_text_1 = require("./read-text");
|
|
60
60
|
const keyword_match_1 = require("./keyword-match");
|
|
61
|
+
const counted_assertions_1 = require("./counted-assertions");
|
|
62
|
+
const resolve_rule_1 = require("./gates/resolve-rule");
|
|
63
|
+
const gate_terms_1 = require("./gates/gate-terms");
|
|
61
64
|
// Business-critical category keywords (matched by CONTAINMENT against the VP category, so a
|
|
62
65
|
// compound category like LIST-DISPLAY / ADD-TO-CART / PRODUCT-DISCOVERY classifies correctly).
|
|
63
66
|
const BUSINESS_CRITICAL_CATS = [
|
|
@@ -266,7 +269,9 @@ function depthWarnOnly(focus) {
|
|
|
266
269
|
* (category NAV) are excluded — landing on a page IS their correct assertion.
|
|
267
270
|
* This avoids the old keyword-based false-positives (e.g. "API list page").
|
|
268
271
|
*/
|
|
269
|
-
function assertionDepth(scenarios, dataThemes = [], focus = 'functional'
|
|
272
|
+
function assertionDepth(scenarios, dataThemes = [], focus = 'functional',
|
|
273
|
+
/** The unit's gate rules; the catalog alone (today's levels) by default. */
|
|
274
|
+
rules = resolve_rule_1.CATALOG_GATE_RULES) {
|
|
270
275
|
const nonManual = scenarios.filter((s) => !s.manual);
|
|
271
276
|
const shallow = nonManual.filter((s) => s.shallow);
|
|
272
277
|
// Precise depth keywords come from each data-theme's depth.keywords (fallback: theme keywords).
|
|
@@ -284,9 +289,7 @@ function assertionDepth(scenarios, dataThemes = [], focus = 'functional') {
|
|
|
284
289
|
// (the viewpoint gate already flags missing data themes). Don't double-penalize.
|
|
285
290
|
const ratio = required.length ? 1 - reqShallow.length / required.length : 1;
|
|
286
291
|
const threshold = DEPTH_THRESHOLDS[focus] ?? DEPTH_THRESHOLDS.functional;
|
|
287
|
-
|
|
288
|
-
if (ratio < threshold)
|
|
289
|
-
verdict = WARN_ONLY_FOCUS.has(focus) ? 'warn' : 'fail';
|
|
292
|
+
const verdict = (0, gate_terms_1.ruleVerdict)(rules, 'audit.assertion-depth', ratio < threshold, WARN_ONLY_FOCUS.has(focus));
|
|
290
293
|
return {
|
|
291
294
|
total: nonManual.length,
|
|
292
295
|
shallowTotal: shallow.length,
|
|
@@ -575,29 +578,30 @@ const CLAIM_RULES = [
|
|
|
575
578
|
// catch, so proving it with a substring proves the opposite of what the title says. Found on
|
|
576
579
|
// a real basic flow whose seven confirmation rows all used `contains` while claiming the six
|
|
577
580
|
// values "survive unchanged" (#599).
|
|
581
|
+
rule: 'claim.unchanged-preserved',
|
|
578
582
|
claim: 'unchanged/preserved',
|
|
579
583
|
title: /\b(unchanged|unmodified|un-?edited|identical|preserved|intact|verbatim|as entered|without (?:any )?(?:change|modification))\b/,
|
|
580
584
|
proof: /^(?![\s\S]*\bcontains \{\{)/,
|
|
581
585
|
need: 'exact-value assertions (`see [X] text with {{v}}` / `field with {{v}}`) for the values the title says are unchanged',
|
|
582
586
|
hint: 'swap `contains {{v}}` for `with {{v}}` on the continuity rows. A substring match cannot distinguish "unchanged" from "changed by adding a prefix" — and if the screen genuinely renders extra text around the value, say so in the title instead of claiming exactness.',
|
|
583
|
-
severity: 'warn',
|
|
584
587
|
},
|
|
585
588
|
{
|
|
586
589
|
// An ORDER claim ("sorted by date descending", "ties broken by last-updated") is invisible to
|
|
587
590
|
// a presence check: `see [List] table` passes whatever order the rows are in. It sits ahead of
|
|
588
591
|
// the generic rules so "all results sorted …" is judged as an ordering claim, not an all-claim.
|
|
589
592
|
// A tiebreaker is a Tier-1 guard in the tc-generation skill, yet no rule recognised it (#810).
|
|
593
|
+
rule: 'claim.ordering-sort',
|
|
590
594
|
claim: 'ordering/sort',
|
|
591
595
|
title: /\b(ascending|descending|sorted|sorts|sort order|ordered by|order by|in (?:chronological|alphabetical|reverse|numeric) order|(?:newest|oldest|latest|earliest|highest|lowest) first|tie-?break(?:s|er|ers)?|ties?)\b|降順|昇順|並び順|giảm dần|tăng dần|sắp xếp/,
|
|
592
596
|
proof: /match data|is sorted|sorted (?:ascending|descending)|\brow \d+\b|\.first\.|\.last\.|\[\d+\]\.|order by/,
|
|
593
597
|
need: 'an order-sensitive assertion (`table match data:` rows in the expected order, `is sorted ascending|descending`, or positional `row N` checks)',
|
|
594
598
|
hint: 'a presence check passes in any order — assert the rows in their expected sequence (`User see [T] table match data:`), or the column sort state; a tiebreak needs two rows sharing the primary key.',
|
|
595
|
-
severity: 'fail',
|
|
596
599
|
},
|
|
597
600
|
{
|
|
598
601
|
// A LIMIT claim ("never exceeds 10", "at most 5 files") is a count claim in disguise.
|
|
599
602
|
// Ahead of 'no-side-effect', whose negation+effect pattern would otherwise swallow
|
|
600
603
|
// "never exceeds 10 records" and ask for a duplicate-count proof.
|
|
604
|
+
rule: 'claim.limit-cap',
|
|
601
605
|
claim: 'limit/cap',
|
|
602
606
|
// The quantity must be ≥2 ("at most ONE order" is a no-duplicate claim — left to the rules
|
|
603
607
|
// below) and not a duration ("up to 30 seconds" is a timing claim, not a cap).
|
|
@@ -605,51 +609,50 @@ const CLAIM_RULES = [
|
|
|
605
609
|
proof: /\bcount\b|tohavecount|table with|row with \{\{|match data|is at most|\bexactly\b|field with \{\{|\berror\b|invalid|is disabled/,
|
|
606
610
|
need: 'a count/boundary assertion (count is N, `is at most`, the N+1th input rejected or truncated)',
|
|
607
611
|
hint: 'assert the boundary itself — the count at the cap, or the value/error when one more is attempted — not just that the list or field is present.',
|
|
608
|
-
severity: 'fail',
|
|
609
612
|
},
|
|
610
613
|
{
|
|
614
|
+
rule: 'claim.all-every-each',
|
|
611
615
|
claim: 'all/every/each',
|
|
612
616
|
title: /\b(all|every|each)\b/,
|
|
613
617
|
proof: /\bsee all\b/,
|
|
614
618
|
need: 'a `User see all …` assertion (every element, not one)',
|
|
615
619
|
hint: 'assert across all matched elements — for per-card structure use the all-card DSL (roadmap Q2).',
|
|
616
|
-
severity: 'fail',
|
|
617
620
|
// singular action presence under an "each/every" claim = partial proof
|
|
618
621
|
underproof: /\bsee \[[^\]]+\] (link|button)\b/,
|
|
619
622
|
underNeed: 'an all-card assertion for the claimed action (not single presence)',
|
|
620
623
|
underHint: 'the actions are asserted once, not per-card — wrap them with the all-card DSL `User see all [Card] contain [Action]` (roadmap Q2).',
|
|
621
624
|
},
|
|
622
625
|
{
|
|
626
|
+
rule: 'claim.only-belong-to',
|
|
623
627
|
claim: 'only/belong-to',
|
|
624
628
|
title: /\b(only|belongs? to|exclusively)\b/,
|
|
625
629
|
proof: /\bsee all\b[^.]*\bcontain/,
|
|
626
630
|
need: 'all-match (`User see all … contains …`)',
|
|
627
631
|
hint: 'all displayed items must match the facet; "no items OUTSIDE" is UI-limited → verify via hybrid API/DB or mark @manual with reason.',
|
|
628
|
-
severity: 'warn',
|
|
629
632
|
},
|
|
630
633
|
{
|
|
634
|
+
rule: 'claim.single-exactly-one',
|
|
631
635
|
claim: 'single/exactly-one',
|
|
632
636
|
title: /\b(a single|single|exactly one|just one|only one)\b/,
|
|
633
637
|
proof: /\bcount\b|\btable with\b|\bexactly\b|tohavecount/,
|
|
634
638
|
need: 'a count assertion (e.g. count is 1)',
|
|
635
639
|
hint: 'assert the quantity, not just presence.',
|
|
636
|
-
severity: 'fail',
|
|
637
640
|
},
|
|
638
641
|
{
|
|
642
|
+
rule: 'claim.correct-matching-identity',
|
|
639
643
|
claim: 'correct/matching/identity',
|
|
640
644
|
title: /\b(correct|matching|the same|same (product|name|price|value|item)|consistency|identity|lands? in|is the (product|item))\b/,
|
|
641
645
|
proof: /\bremember\b/,
|
|
642
646
|
need: 'capture + compare (`User remember … as {{v}}` then assert {{v}})',
|
|
643
647
|
hint: 'remember the value on the source, then assert it on the target (cross-screen → defer to a flow as @manual).',
|
|
644
|
-
severity: 'fail',
|
|
645
648
|
},
|
|
646
649
|
{
|
|
650
|
+
rule: 'claim.changes-toggles',
|
|
647
651
|
claim: 'changes/toggles',
|
|
648
652
|
title: /\b(changes?|toggles?|updates?|reflects?|reopens?)\b/,
|
|
649
653
|
proof: /\bremember\b|\bis hidden\b/,
|
|
650
654
|
need: 'a state delta (before ≠ after, or a visible→hidden contrast)',
|
|
651
655
|
hint: 'capture the before-state and assert the after-state differs, or assert the visible/hidden transition.',
|
|
652
|
-
severity: 'warn',
|
|
653
656
|
},
|
|
654
657
|
{
|
|
655
658
|
// GENERAL — mutation-absence. A title asserts that a STATE-CHANGING action does NOT
|
|
@@ -660,6 +663,7 @@ const CLAIM_RULES = [
|
|
|
660
663
|
// count/contrast (record count unchanged) or defer to @manual. This is the general
|
|
661
664
|
// category behind "browser back does not re-submit", "does not re-charge the card",
|
|
662
665
|
// "double-click does not create two orders" — not a per-feature keyword.
|
|
666
|
+
rule: 'claim.no-side-effect',
|
|
663
667
|
claim: 'no-side-effect/no-duplicate',
|
|
664
668
|
// The negation must attach to an EFFECT — something created, sent, stored, charged, fired
|
|
665
669
|
// twice — not to the INPUT being refused. "duplicate address is rejected" is an observable
|
|
@@ -677,33 +681,33 @@ const CLAIM_RULES = [
|
|
|
677
681
|
proof: /\bcount\b|ok_count|status_counts|row with \{\{|table with|tohavecount|is hidden|are hidden|is disabled|are disabled|not complete|no longer/,
|
|
678
682
|
need: 'a record/request-count proof (count stays at one, e.g. `User see [Table] row with {{count}}`, an API `{{name.ok_count}}` invariant, or a `@query` DB count) or @manual with a request-count oracle',
|
|
679
683
|
hint: 'a "does-not-happen / does-not-repeat" claim about a state-changing action is NOT proven by a terminal `see [...] page` — that page is identical whether or not the action (re-)fired. Prove the side-effect count is unchanged, or mark @manual with a setup→action→assert-no-duplicate oracle.',
|
|
680
|
-
severity: 'fail',
|
|
681
684
|
},
|
|
682
685
|
{
|
|
686
|
+
rule: 'claim.hidden-rejected',
|
|
683
687
|
claim: 'hidden/rejected/not-complete',
|
|
684
688
|
title: /\b(hidden|closed|dismiss(es|ed)?|not complete|rejected|inert)\b/,
|
|
685
689
|
proof: /\bis hidden\b|\bare hidden\b|message is hidden|not complete|\bhidden\b/,
|
|
686
690
|
need: 'a negative / hidden assertion (`… is hidden`)',
|
|
687
691
|
hint: 'assert the absence/hidden state that the title claims, not just an unrelated visible element.',
|
|
688
|
-
severity: 'fail',
|
|
689
692
|
},
|
|
690
693
|
{
|
|
694
|
+
rule: 'claim.cleared-emptied',
|
|
691
695
|
claim: 'cleared/emptied',
|
|
692
696
|
title: /\b(cleared|clears|emptied|empties|reset to empty|wiped)\b/,
|
|
693
697
|
proof: /\bis empty\b|with \{\{empty|with ['"]?['"]?\s*$|\bempty\b/,
|
|
694
698
|
need: 'an empty/cleared assertion after the action (e.g. `field with {{empty_value}}` / `is empty`)',
|
|
695
699
|
hint: 'prove the value is actually gone — return to the screen and assert the field is empty, not just that the action ran.',
|
|
696
|
-
severity: 'fail',
|
|
697
700
|
},
|
|
698
701
|
{
|
|
702
|
+
rule: 'claim.restored-preserved',
|
|
699
703
|
claim: 'restored/preserved',
|
|
700
704
|
title: /\b(restored|preserved|persists?|retained|remembered|kept)\b/,
|
|
701
705
|
proof: /\bremember\b|with \{\{|field with/,
|
|
702
706
|
need: 'the value re-asserted after the transition (capture or `field with {{v}}` after returning)',
|
|
703
707
|
hint: 'prove the value survives — assert the field still holds the typed value after the reload/return, not just that it was typed.',
|
|
704
|
-
severity: 'warn',
|
|
705
708
|
},
|
|
706
709
|
{
|
|
710
|
+
rule: 'claim.independent-separate',
|
|
707
711
|
claim: 'independent/separate',
|
|
708
712
|
title: /\b(independent|separate|isolat(ed|es)|per[- ]tab|two tabs|each tab)\b/,
|
|
709
713
|
// A storage `does not exist` check on the OTHER tenant's key proves isolation
|
|
@@ -712,23 +716,22 @@ const CLAIM_RULES = [
|
|
|
712
716
|
proof: /\bcontext\b|tab a|tab b|second (tab|context)|does not exist/,
|
|
713
717
|
need: 'a multi-context proof (tab A vs tab B)',
|
|
714
718
|
hint: 'independence across tabs/contexts is rarely DSL-expressible — mark @manual with a clear setup/action/oracle.',
|
|
715
|
-
severity: 'warn',
|
|
716
719
|
},
|
|
717
720
|
{
|
|
721
|
+
rule: 'claim.sanitized-inert',
|
|
718
722
|
claim: 'sanitized/inert',
|
|
719
723
|
title: /\b(sanitized|sanitised|escaped|inert|not executed|not rendered|stripped)\b/,
|
|
720
724
|
proof: /field with \{\{|payload|inert|toContainText|is hidden/,
|
|
721
725
|
need: 'the payload echoed as inert text (`field with {{payload}}`) + no execution',
|
|
722
726
|
hint: 'prove the payload round-trips as literal text and triggers nothing — assert the field value and the absence of any effect.',
|
|
723
|
-
severity: 'warn',
|
|
724
727
|
},
|
|
725
728
|
{
|
|
729
|
+
rule: 'claim.announces-aria',
|
|
726
730
|
claim: 'announces/aria',
|
|
727
731
|
title: /\b(announce[sd]?|aria|screen[- ]reader|programmatically associated)\b/,
|
|
728
732
|
proof: /aria|role|@manual|describedby|is focused|tab order/,
|
|
729
733
|
need: 'an aria/role assertion (or @manual with a screen-reader oracle)',
|
|
730
734
|
hint: 'ARIA announcement is usually not DSL-expressible — assert aria attributes if possible, else @manual with an NVDA/VoiceOver oracle.',
|
|
731
|
-
severity: 'warn',
|
|
732
735
|
},
|
|
733
736
|
{
|
|
734
737
|
// GENERAL CATCH-ALL (last) — any negative/absence title not handled by a specific
|
|
@@ -738,6 +741,7 @@ const CLAIM_RULES = [
|
|
|
738
741
|
// only a positive presence. WARN, because a positive proxy is sometimes a valid
|
|
739
742
|
// negative proof (e.g. "stayed on the login page"); the semantic reviewer is the
|
|
740
743
|
// authoritative recall layer for the residue this can't judge structurally.
|
|
744
|
+
rule: 'claim.negative-absence',
|
|
741
745
|
claim: 'negative-claim/absence',
|
|
742
746
|
title: /(\bno\b|\bnot\b|n['’]t\b|\bnever\b|\bwithout\b|\bcannot\b|prevent|block|avoid|reject|disabl|\bdeny\b|denies|\bkhông\b|\bchưa\b)/i,
|
|
743
747
|
// `does not exist` covers the storage-absence shape — the broad "any storage
|
|
@@ -747,10 +751,15 @@ const CLAIM_RULES = [
|
|
|
747
751
|
proof: /is hidden|are hidden|is empty|no longer|not complete|disabl|invalid|rejected|\berror\b|\bcount\b|row with \{\{|table with|\bremember\b|\bexactly\b|tohavecount|does not exist|tab order/i,
|
|
748
752
|
need: 'a proof of the ABSENCE — a contrast/empty/hidden/error/count assertion, or @manual with an oracle',
|
|
749
753
|
hint: 'a negative claim ("no / not / không …") is not proven by a positive `see [X]` that looks the same whether or not the claim holds. Assert the contrast (state hidden/empty, error shown, count unchanged), or mark @manual.',
|
|
750
|
-
severity: 'warn',
|
|
751
754
|
},
|
|
752
755
|
];
|
|
753
756
|
const TAXONOMY_KNOWN = new Set(['LIST', 'PRODUCT', 'CART', 'FILTER', 'NAV', 'VAL', 'SEC']);
|
|
757
|
+
/**
|
|
758
|
+
* Words of ACCESS — a title about who may reach something. They make the robustness/routing words
|
|
759
|
+
* below security evidence ("deep link without authentication"); alone those words describe routing.
|
|
760
|
+
*/
|
|
761
|
+
const ACCESS_CONTEXT = /\b(xss|sql|injection|without authentication|unauthenticated|unauthori[sz]ed|without an? (?:authenticated|valid|active) \w+|without (?:permission|login|logging in|signing in|an? account|access)|not (?:logged|signed) in|logged[- ]out|direct(?:ly)? access\w*|auth[- ]?guard|forbidden|\b403\b|(?:no|insufficient|missing) permissions?|permission required|session expired|expired session|tamper\w*)\b/;
|
|
762
|
+
/** `requires`: the signal counts only when the title ALSO matches it (#888). */
|
|
754
763
|
const CATEGORY_SIGNALS = [
|
|
755
764
|
{ cat: 'FILTER', re: /\b(categor(y|ies)|sub-?categor\w*|expand\w*|collaps\w*|\bfacet\b|filter\w*|belongs? to)\b/ },
|
|
756
765
|
{ cat: 'CART', re: /\b(add(ed|ing)? to cart|added (dialog|modal|message|confirmation)|cart (page|table|line|item)|view cart|continue shopping|quantit)\b/ },
|
|
@@ -763,8 +772,13 @@ const CATEGORY_SIGNALS = [
|
|
|
763
772
|
// SEC, so the linter told QA to re-tag genuine auth-gate tests as navigation — diluting the
|
|
764
773
|
// visibility of the security suite (QA field report, 3.2.23). The guard vocabulary below is
|
|
765
774
|
// what makes the INTENT matchable, and GUARD_INTENT then wins over a mere observable.
|
|
766
|
-
{ cat: 'SEC', re: /\b(xss|sql|injection|payload|without authentication|unauthenticated|without an? (?:authenticated|valid|active) \w+|direct(?:ly)? access\w*|
|
|
775
|
+
{ cat: 'SEC', re: /\b(xss|sql|injection|payload|without authentication|unauthenticated|without an? (?:authenticated|valid|active) \w+|direct(?:ly)? access\w*|auth[- ]?guard|not skippable|without having (?:completed|submitted|logged)|remains? unauthenticated|\binert\b|tamper\w*|malformed|special character|abuse)\b/ },
|
|
776
|
+
// Robustness and routing words are SEC evidence only beside an ACCESS word. Alone they describe
|
|
777
|
+
// routing — "Unknown route shows the 404 page", "Deep link opens the item", "the tab from the url
|
|
778
|
+
// parameter" — and the linter told QA to re-tag those navigation tests as VP-SEC (#888).
|
|
779
|
+
{ cat: 'SEC', re: /\b(deep[- ]link\w*|url parameter|query param\w*|falls? back|gracefull?y|without a crash|not[- ]found|\b404\b)\b/, requires: ACCESS_CONTEXT },
|
|
767
780
|
];
|
|
781
|
+
const signalMatches = (c, title) => c.re.test(title) && (!c.requires || c.requires.test(title));
|
|
768
782
|
/**
|
|
769
783
|
* Categories whose signal describes the test's INTENT/risk rather than the observable action.
|
|
770
784
|
* When one of these matches, a competing observable-only category (NAV: "redirects", "navigates")
|
|
@@ -782,22 +796,33 @@ function taxonomyLint(scenarios) {
|
|
|
782
796
|
continue;
|
|
783
797
|
checked++;
|
|
784
798
|
const title = s.name.toLowerCase();
|
|
785
|
-
const matched = [...new Set(CATEGORY_SIGNALS.filter((c) => c
|
|
799
|
+
const matched = [...new Set(CATEGORY_SIGNALS.filter((c) => signalMatches(c, title)).map((c) => c.cat))];
|
|
786
800
|
if (matched.includes(cat))
|
|
787
801
|
continue; // title supports its own category → fine
|
|
802
|
+
// A gate (`requires`) only stops a word from SUGGESTING its category. An author who already
|
|
803
|
+
// chose that category is supported by the word alone: a VP-SEC "Deep link to the filtered
|
|
804
|
+
// list …" stays SEC instead of being pushed toward FILTER (#888 review).
|
|
805
|
+
if (CATEGORY_SIGNALS.some((c) => c.cat === cat && c.requires && c.re.test(title)))
|
|
806
|
+
continue;
|
|
788
807
|
// The declared category may be an INTENT category whose signal this title spells
|
|
789
808
|
// differently; never "correct" it toward a category that only names the observable.
|
|
790
809
|
const suppressed = INTENT_OVER_OBSERVABLE[cat];
|
|
791
810
|
const others = matched.filter((c) => c !== cat && !(suppressed && suppressed.has(c)));
|
|
792
811
|
if (others.length === 1) { // unambiguous mismatch
|
|
793
|
-
|
|
812
|
+
// The entry that MATCHED — a category can have several (SEC: guard words, gated robustness words).
|
|
813
|
+
const sig = CATEGORY_SIGNALS.find((c) => c.cat === others[0] && signalMatches(c, title));
|
|
794
814
|
const m = title.match(sig.re);
|
|
795
815
|
mislabeled.push({ name: s.name, current: cat, suggested: others[0], signal: m ? m[0] : others[0] });
|
|
796
816
|
}
|
|
797
817
|
}
|
|
798
818
|
return { total: scenarios.length, checked, mislabeled };
|
|
799
819
|
}
|
|
800
|
-
|
|
820
|
+
/**
|
|
821
|
+
* `rules` resolves each row's catalog rule for the unit being audited (the catalog alone by default —
|
|
822
|
+
* today's levels). A rule switched `off` by a gate-override is not measured: its unproven claim is
|
|
823
|
+
* neither counted nor reported (a partial-proof switched off leaves the claim proven).
|
|
824
|
+
*/
|
|
825
|
+
function claimProof(scenarios, focus = 'functional', rules = resolve_rule_1.CATALOG_GATE_RULES) {
|
|
801
826
|
const measured = scenarios.filter((s) => !s.manual);
|
|
802
827
|
const unproven = [];
|
|
803
828
|
let withClaims = 0;
|
|
@@ -806,29 +831,25 @@ function claimProof(scenarios, focus = 'functional') {
|
|
|
806
831
|
const rule = CLAIM_RULES.find((r) => r.title.test(title));
|
|
807
832
|
if (!rule)
|
|
808
833
|
continue; // no claim → not measured
|
|
834
|
+
const miss = !rule.proof.test(s.stepsText)
|
|
835
|
+
// proof shape entirely absent → the claim's own rule decides the level
|
|
836
|
+
? { rule: rule.rule, need: rule.need, hint: rule.hint }
|
|
837
|
+
: rule.underproof && rule.underproof.test(s.stepsText)
|
|
838
|
+
// right shape exists but only as a partial proof
|
|
839
|
+
? { rule: 'claim.partial-proof', need: rule.underNeed ?? rule.need, hint: rule.underHint ?? rule.hint }
|
|
840
|
+
: null;
|
|
841
|
+
const severity = miss ? (0, gate_terms_1.sensorSeverityOf)(rules.resolve(miss.rule)) : undefined;
|
|
842
|
+
if (miss && severity === null && miss.rule === rule.rule)
|
|
843
|
+
continue; // the claim's rule is off for this unit
|
|
809
844
|
withClaims++;
|
|
810
|
-
if (
|
|
811
|
-
|
|
812
|
-
unproven.push({ name: s.name, claim: rule.claim, need: rule.need, hint: rule.hint, severity: rule.severity });
|
|
813
|
-
}
|
|
814
|
-
else if (rule.underproof && rule.underproof.test(s.stepsText)) {
|
|
815
|
-
// right shape exists but only as a partial proof → warn
|
|
816
|
-
unproven.push({
|
|
817
|
-
name: s.name, claim: rule.claim,
|
|
818
|
-
need: rule.underNeed ?? rule.need,
|
|
819
|
-
hint: rule.underHint ?? rule.hint,
|
|
820
|
-
severity: 'warn',
|
|
821
|
-
});
|
|
822
|
-
}
|
|
845
|
+
if (miss && severity)
|
|
846
|
+
unproven.push({ name: s.name, claim: rule.claim, need: miss.need, hint: miss.hint, severity, rule: miss.rule });
|
|
823
847
|
}
|
|
824
848
|
const proven = withClaims - unproven.length;
|
|
825
849
|
const ratio = withClaims ? proven / withClaims : 1;
|
|
826
850
|
const threshold = DEPTH_THRESHOLDS[focus] ?? DEPTH_THRESHOLDS.functional;
|
|
827
851
|
const hasFail = unproven.some((u) => u.severity === 'fail');
|
|
828
|
-
|
|
829
|
-
if (ratio < threshold) {
|
|
830
|
-
verdict = WARN_ONLY_FOCUS.has(focus) || !hasFail ? 'warn' : 'fail';
|
|
831
|
-
}
|
|
852
|
+
const verdict = (0, gate_terms_1.ruleVerdict)(rules, 'audit.claim-proof', ratio < threshold, WARN_ONLY_FOCUS.has(focus) || !hasFail);
|
|
832
853
|
return { total: measured.length, withClaims, proven, unproven, ratio, focus, threshold, verdict };
|
|
833
854
|
}
|
|
834
855
|
// ---------- Numeric claims, and priority that disagrees with the declaration ----------
|
|
@@ -860,9 +881,8 @@ function numericClaimGaps(scenarios) {
|
|
|
860
881
|
const claimed = NUMBER_WORDS[m[1]] ?? Number(m[1]);
|
|
861
882
|
if (!Number.isFinite(claimed) || claimed < 2)
|
|
862
883
|
continue;
|
|
863
|
-
//
|
|
864
|
-
|
|
865
|
-
const asserted = (s.stepsText.match(/\bsee \[[^\]]+\][^|]*?\b(?:with|contains) \{\{/g) ?? []).length;
|
|
884
|
+
// Values, positive states and indicator presence count; plain text visibility does not (#866).
|
|
885
|
+
const asserted = (0, counted_assertions_1.countedAssertions)(s.stepsText);
|
|
866
886
|
if (asserted > 0 && asserted < claimed)
|
|
867
887
|
out.push({ name: s.name, claimed, asserted, noun: m[2] });
|
|
868
888
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sensors.js","sourceRoot":"","sources":["../../src/harness/sensors.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDA,8CAYC;AAiBD,kCAGC;AAkCD,4CAKC;AAED,sCAgGC;AAkCD,8CAEC;AAED,sCAEC;AASD,wCA2CC;AA0BD,8CAQC;AAWD,8CAUC;AAmBD,kDAiBC;AAuBD,wCA2CC;AAGD,sCAKC;AAcD,0CA6BC;AAUD,8CAwBC;AAiDD,0CAmBC;AA0CD,oCA6BC;AAoRD,oCAqBC;AAED,gCAmCC;AAoBD,4CAeC;AAaD,gDAuBC;AArkCD,2CAA6B;AAC7B,+BAA0C;AAC1C,mCAAiE;AACjE,2CAA2C;AAC3C,mDAAyD;AAEzD,4FAA4F;AAC5F,+FAA+F;AAC/F,MAAM,sBAAsB,GAAG;IAC7B,oBAAoB;IACpB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa;IAChI,6FAA6F;IAC7F,KAAK,EAAE,QAAQ;IACf,qFAAqF;IACrF,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU;CAC3D,CAAC;AAEF,+FAA+F;AAC/F,gGAAgG;AAChG,6FAA6F;AAC7F,MAAM,YAAY,GAA8B;IAC9C,CAAC,eAAe,EAAE,sBAAsB,CAAC;IACzC,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IACjD,sFAAsF;IACtF,qFAAqF;IACrF,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;CAC3G,CAAC;AACF,MAAM,OAAO,GAA6B,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;AAE3E,qFAAqF;AACrF,qFAAqF;AACrF,iFAAiF;AACjF,MAAM,aAAa,GAA2B;IAC5C,EAAE,EAAE,eAAe,EAAW,wCAAwC;IACtE,EAAE,EAAE,qBAAqB,EAAK,wDAAwD;IACtF,EAAE,EAAE,qBAAqB,EAAK,kDAAkD;IAChF,mFAAmF;IACnF,oGAAoG;IACpG,EAAE,EAAE,eAAe;IACnB,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,qBAAqB;CAC1B,CAAC;AAEF,6FAA6F;AAC7F,SAAgB,iBAAiB,CAAC,QAA4B;IAC5D,MAAM,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3C,IAAI,CAAC,GAAG;QAAE,OAAO,OAAO,CAAC;IACzB,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,4EAA4E;QAC5E,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,aAAa,CAAC,KAAK,CAAC;YAAE,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IACD,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC;QACzC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,MAAM,CAAC;IACtD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAiBD,SAAgB,WAAW;IACzB,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,2BAA2B,CAAC,CAAC;IACvE,OAAO,IAAA,YAAS,EAAC,IAAA,wBAAY,EAAC,CAAC,CAAC,CAAY,CAAC;AAC/C,CAAC;AAED,6FAA6F;AAC7F,gGAAgG;AAChG,+FAA+F;AAC/F,8FAA8F;AAC9F,MAAM,GAAG,GAAG,0BAAU,CAAC;AAwBvB;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,aAAqB,EAAE,OAAgB;IACtE,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACjG,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9B,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAClE,CAAC;AAED,SAAgB,aAAa,CAAC,SAAyB,EAAE,UAA4B,EAAE,OAAgB,EAAE,QAAQ,GAAG,KAAK,EAAE,aAAa,GAAG,EAAE;IAC3I,MAAM,SAAS,GAAG;QAChB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QACnC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;KAC9D,CAAC;IAEF,+FAA+F;IAC/F,+FAA+F;IAC/F,4FAA4F;IAC5F,iGAAiG;IACjG,mFAAmF;IACnF,oFAAoF;IACpF,oFAAoF;IACpF,kFAAkF;IAClF,qFAAqF;IACrF,mFAAmF;IACnF,mFAAmF;IACnF,qEAAqE;IACrE,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAQ,iCAAiC;IAC5D,MAAM,UAAU,GAAG,CAAC,CAAC,CAAM,sCAAsC;IACjE,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,IAAI,MAAM,GAAiC,cAAc,CAAC;IAC1D,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC1D,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,GAAG,QAAQ,CAAC;QACpB,MAAM,GAAG,UAAU,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3D,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACpD,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACzE,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;gBAAC,QAAQ,GAAG,IAAI,CAAC;gBAAC,IAAI,GAAG,IAAI,CAAC;gBAAC,QAAQ,GAAG,EAAE,CAAC;YAAC,CAAC;iBAC5D,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;gBAAC,QAAQ,GAAG,IAAI,CAAC;YAAC,CAAC;QAChD,CAAC;QACD,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,GAAG,QAAQ,IAAI,UAAU;YAAE,MAAM,GAAG,UAAU,CAAC;aAClF,CAAC;YAAC,QAAQ,GAAG,IAAI,CAAC;YAAC,MAAM,GAAG,cAAc,CAAC;QAAC,CAAC;IACpD,CAAC;IAED,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC1C,MAAM,IAAI,GAAuB,EAAE,CAAC;IACpC,MAAM,SAAS,GAA4B,EAAE,CAAC;IAC9C,IAAI,KAAK,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC;IAC3B,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;YACxD,KAAK,EAAE,CAAC;YACR,yEAAyE;YACzE,yEAAyE;YACzE,wFAAwF;YACxF,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,0BAAU,EAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5F,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YAChH,oFAAoF;YACpF,uFAAuF;YACvF,oEAAoE;YACpE,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,KAAK,gBAAgB,CAAC;YAC1D,yFAAyF;YACzF,yFAAyF;YACzF,MAAM,KAAK,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;YACjG,MAAM,MAAM,GAAG,GAAS,EAAE;gBACxB,OAAO,EAAE,CAAC;gBACV,SAAS,CAAC,IAAI,CAAC;oBACb,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,EAAE,EAAE,KAAK,CAAC,QAAQ;oBAClB,yFAAyF;oBACzF,yFAAyF;oBACzF,uDAAuD;oBACvD,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,0BAAU,EAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAE;iBAChE,CAAC,CAAC;YACL,CAAC,CAAC;YACF,IAAI,CAAC,UAAU,EAAE,CAAC;gBAAC,MAAM,EAAE,CAAC;gBAAC,SAAS;YAAC,CAAC;YACxC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;gBAAE,MAAM,EAAE,CAAC;;gBAClD,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED,0FAA0F;IAC1F,0EAA0E;IAC1E,MAAM,cAAc,GAAG,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnG,MAAM,aAAa,GAAG,cAAc;SACjC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAChF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAEvB,OAAO;QACL,QAAQ;QACR,cAAc,EAAE,MAAM;QACtB,gBAAgB,EAAE,QAAQ;QAC1B,WAAW,EAAE,KAAK;QAClB,aAAa,EAAE,OAAO;QACtB,gFAAgF;QAChF,+EAA+E;QAC/E,uBAAuB;QACvB,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI;QACJ,aAAa;QACb,SAAS;KACV,CAAC;AACJ,CAAC;AAyBD,kFAAkF;AAClF,4EAA4E;AAC5E,MAAM,gBAAgB,GAA2B;IAC/C,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG;CAC9D,CAAC;AACF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAE3C;sGACsG;AACtG,SAAgB,iBAAiB,CAAC,KAAa;IAC7C,OAAO,gBAAgB,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,UAAU,CAAC;AAChE,CAAC;AACD,sEAAsE;AACtE,SAAgB,aAAa,CAAC,KAAa;IACzC,OAAO,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,cAAc,CAC5B,SAAyB,EACzB,aAA6B,EAAE,EAC/B,KAAK,GAAG,YAAY;IAEpB,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAEnD,gGAAgG;IAChG,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7G,uFAAuF;IACvF,qFAAqF;IACrF,yFAAyF;IACzF,MAAM,iBAAiB,GAAG,CAAC,CAAe,EAAE,EAAE,CAC5C,4JAA4J,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChL,MAAM,eAAe,GAAG,CAAC,CAAe,EAAE,EAAE,CAC1C,CAAC,CAAC,QAAQ,KAAK,KAAK,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,0BAAU,EAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAExG,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACrD,2FAA2F;IAC3F,MAAM,wBAAwB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAChG,+EAA+E;IAC/E,iFAAiF;IACjF,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5E,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,UAAU,CAAC;IACzE,IAAI,OAAO,GAAiB,MAAM,CAAC;IACnC,IAAI,KAAK,GAAG,SAAS;QAAE,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAE9E,OAAO;QACL,KAAK,EAAE,SAAS,CAAC,MAAM;QACvB,YAAY,EAAE,OAAO,CAAC,MAAM;QAC5B,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACtE,qBAAqB,EAAE,QAAQ,CAAC,MAAM;QACtC,uBAAuB,EAAE,UAAU,CAAC,MAAM;QAC1C,YAAY,EAAE,KAAK;QACnB,uBAAuB,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxF,wBAAwB;QACxB,KAAK;QACL,SAAS;QACT,OAAO;KACR,CAAC;AACJ,CAAC;AAUD,sFAAsF;AACtF,oFAAoF;AACpF,sFAAsF;AACtF,uFAAuF;AACvF,uFAAuF;AACvF,6CAA6C;AAC7C,MAAM,eAAe,GACnB,6XAA6X,CAAC;AAEhY;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,SAAyB;IACzD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClG,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,MAAM;QAC1B,WAAW,EAAE,WAAW,CAAC,MAAM;QAC/B,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;KAC5E,CAAC;AACJ,CAAC;AAED,6DAA6D;AAE7D;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAC/B,IAA6C,EAC7C,aAAkE;IAElE,MAAM,GAAG,GAAsC,EAAE,CAAC;IAClD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,0BAAU,EAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACnG,IAAI,GAAG;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAaD;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,SAAyB;IAC3D,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,GAAG,CAAC,4EAA4E,CAAC,CAAC;IACrG,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,6BAA6B,CAAC,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC,kDAAkD,CAAC,CAAC,CAAC,CAAC;IACjI,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAEzH,sFAAsF;IACtF,MAAM,UAAU,GAAG,GAAG,CAAC,iHAAiH,CAAC,CAAC;IAC1I,4FAA4F;IAC5F,MAAM,QAAQ,GAAG,GAAG,CAAC,2CAA2C,CAAC,IAAI,GAAG,CAAC,4DAA4D,CAAC,CAAC;IACvI,mGAAmG;IACnG,MAAM,WAAW,GAAG,GAAG,CAAC,iDAAiD,CAAC,IAAI,UAAU,CAAC;IAEzF,MAAM,IAAI,GAA6B,CAAC,CAAC,aAAa,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;IAC5H,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7H,CAAC;AAWD,sGAAsG;AACtG,uGAAuG;AACvG,uGAAuG;AACvG,uDAAuD;AACvD,6GAA6G;AAC7G,MAAM,aAAa,GAAG,4DAA4D,CAAC;AACnF,sGAAsG;AACtG,MAAM,UAAU,GAAG,2IAA2I,CAAC;AAE/J,MAAM,iBAAiB,GAAG,yHAAyH,CAAC;AACpJ,MAAM,SAAS,GAAG,wEAAwE,CAAC;AAE3F,SAAgB,cAAc,CAAC,SAAyB;IACtD,MAAM,IAAI,GAAoD,EAAE,CAAC;IACjE,gGAAgG;IAChG,iGAAiG;IACjG,kGAAkG;IAClG,8FAA8F;IAC9F,8FAA8F;IAC9F,6CAA6C;IAC7C,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,MAAM;YAAE,SAAS;QACvB,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACnE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACjC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAAE,SAAS;QAChE,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACzB,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,oCAAoC,SAAS,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,EAAE,kFAAkF,SAAS,CAAC,CAAC,CAAC,4EAA4E,CAAC,CAAC,CAAC,EAAE,iNAAiN;SAC/d,CAAC,CAAC;IACL,CAAC;IACD,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,MAAM;YAAE,SAAS,CAAC,8EAA8E;QACtG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,SAAS,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBACzB,IAAI,EAAE,iPAAiP;aACxP,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1G,4FAA4F;IAC5F,6FAA6F;IAC7F,iGAAiG;IACjG,iGAAiG;IACjG,4FAA4F;IAC5F,2FAA2F;IAC3F,4FAA4F;IAC5F,6FAA6F;IAC7F,sFAAsF;IACtF,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACjD,CAAC;AAED,oFAAoF;AACpF,SAAgB,aAAa,CAAC,OAAgB,EAAE,QAAuB;IACrE,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,IAAI,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC;IACtG,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,KAAK,gBAAgB,CAAC,CAAC;AACtE,CAAC;AAcD,SAAgB,eAAe,CAAC,SAAyB;IACvD,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACtD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEtB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC;QACjC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7C,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;IAC5C,CAAC;IAED,+EAA+E;IAC/E,oFAAoF;IACpF,oFAAoF;IACpF,4EAA4E;IAC5E,8EAA8E;IAC9E,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,qBAAqB,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACtG,MAAM,UAAU,GAAG,SAAS,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC;IACtD,MAAM,iBAAiB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,iGAAiG;IACjG,wFAAwF;IACxF,MAAM,IAAI,GAAG,iBAAiB,GAAG,GAAG;QAClC,CAAC,CAAC,mBAAmB,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,MAAM,iIAAiI;QAC3L,CAAC,CAAC,UAAU;YACV,CAAC,CAAC,4DAA4D,SAAS,6BAA6B,IAAI,aAAa;YACrH,CAAC,CAAC,WAAW,CAAC;IAClB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;AACnH,CAAC;AAUD,SAAgB,iBAAiB,CAAC,SAAyB;IACzD,MAAM,GAAG,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC9C,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,4FAA4F;QAC5F,iGAAiG;QACjG,mFAAmF;QACnF,IAAI,CAAC,CAAC,MAAM;YAAE,SAAS;QACvB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAC1C,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACZ,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IAC/B,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;SAChC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;SACnC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACzB,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ;QAC3E,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACjC,iGAAiG;QACjG,cAAc,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;KACzC,CAAC,CAAC,CAAC;IACN,OAAO;QACL,QAAQ;QACR,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/G,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;KACrE,CAAC;AACJ,CAAC;AAiDD,SAAgB,eAAe,CAAC,SAAyB;IACvD,6FAA6F;IAC7F,sFAAsF;IACtF,MAAM,WAAW,GAAG,IAAI,GAAG,EAA0B,CAAC;IACtD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,CAAC,IAAI;YAAE,SAAS,CAAiB,6CAA6C;QACpF,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,UAAU,IAAI,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACjE,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD,iFAAiF;IACjF,OAAO,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;SAC7B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;SACnC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACf,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAK,CAAC,WAAW,EAAE;QAChC,KAAK,EAAE,KAAK,CAAC,MAAM;QACnB,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAChC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;KACpE,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACnE,CAAC;AAgBD;;;;;GAKG;AACH,MAAM,UAAU,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AAExF;;;;;GAKG;AACH,SAAS,SAAS,CAAC,KAAa,EAAE,QAAgB,EAAE,MAAc,EAAE,QAAgB,EAAE,SAAkB;IACtG,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,mZAAmZ,CAAC;IAC7Z,CAAC;IACD,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,6EAA6E,CAAC;IACtG,IAAI,MAAM,IAAI,KAAK,GAAG,GAAG;QAAE,OAAO,YAAY,CAAC;IAC/C,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,0GAA0G,OAAO,GAAG,CAAC;IAChJ,IAAI,MAAM,GAAG,QAAQ,GAAG,GAAG;QAAE,OAAO,iHAAiH,CAAC;IACtJ,OAAO,QAAQ,MAAM,OAAO,KAAK,8CAA8C,KAAK,GAAG,QAAQ,sDAAsD,OAAO,GAAG,CAAC;AAClK,CAAC;AAED,SAAgB,YAAY,CAAC,SAAyB,EAAE,UAA4B;IAClF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtE,0FAA0F;IAC1F,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;IAC7D,0FAA0F;IAC1F,uFAAuF;IACvF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACnC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACpD,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACtE,wFAAwF;QACxF,qFAAqF;QACrF,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,OAAO,IAAI,CAAC;QACxE,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/E,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAChG,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1I,CAAC,CAAC,CAAC;IACH,OAAO;QACL,KAAK,EAAE,SAAS,CAAC,MAAM;QACvB,UAAU,EAAE,QAAQ,CAAC,MAAM;QAC3B,gBAAgB,EAAE,MAAM,CAAC,MAAM;QAC/B,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1E,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACpE,WAAW,EAAE,WAAW,CAAC,IAAI;QAC7B,6FAA6F;QAC7F,6FAA6F;QAC7F,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;KACvG,CAAC;AACJ,CAAC;AA6CD,qEAAqE;AACrE,MAAM,WAAW,GAAgB;IAC/B;QACE,qFAAqF;QACrF,0FAA0F;QAC1F,6FAA6F;QAC7F,6FAA6F;QAC7F,qCAAqC;QACrC,KAAK,EAAE,qBAAqB;QAC5B,KAAK,EAAE,+HAA+H;QACtI,KAAK,EAAE,6BAA6B;QACpC,IAAI,EAAE,qHAAqH;QAC3H,IAAI,EAAE,yQAAyQ;QAC/Q,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,8FAA8F;QAC9F,+FAA+F;QAC/F,gGAAgG;QAChG,+FAA+F;QAC/F,KAAK,EAAE,eAAe;QACtB,KAAK,EAAE,yPAAyP;QAChQ,KAAK,EAAE,wGAAwG;QAC/G,IAAI,EAAE,+IAA+I;QACrJ,IAAI,EAAE,oMAAoM;QAC1M,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,sFAAsF;QACtF,mFAAmF;QACnF,kEAAkE;QAClE,KAAK,EAAE,WAAW;QAClB,2FAA2F;QAC3F,+EAA+E;QAC/E,KAAK,EAAE,mXAAmX;QAC1X,KAAK,EAAE,gIAAgI;QACvI,IAAI,EAAE,8FAA8F;QACpG,IAAI,EAAE,gJAAgJ;QACtJ,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,KAAK,EAAE,gBAAgB;QACvB,KAAK,EAAE,sBAAsB;QAC7B,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,uDAAuD;QAC7D,IAAI,EAAE,gGAAgG;QACtG,QAAQ,EAAE,MAAM;QAChB,uEAAuE;QACvE,UAAU,EAAE,kCAAkC;QAC9C,SAAS,EAAE,oEAAoE;QAC/E,SAAS,EAAE,oIAAoI;KAChJ;IACD;QACE,KAAK,EAAE,gBAAgB;QACvB,KAAK,EAAE,oCAAoC;QAC3C,KAAK,EAAE,2BAA2B;QAClC,IAAI,EAAE,yCAAyC;QAC/C,IAAI,EAAE,oIAAoI;QAC1I,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,KAAK,EAAE,oBAAoB;QAC3B,KAAK,EAAE,qDAAqD;QAC5D,KAAK,EAAE,kDAAkD;QACzD,IAAI,EAAE,qCAAqC;QAC3C,IAAI,EAAE,yCAAyC;QAC/C,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,KAAK,EAAE,2BAA2B;QAClC,KAAK,EAAE,2HAA2H;QAClI,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,kEAAkE;QACxE,IAAI,EAAE,6GAA6G;QACnH,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,KAAK,EAAE,iBAAiB;QACxB,KAAK,EAAE,qDAAqD;QAC5D,KAAK,EAAE,4BAA4B;QACnC,IAAI,EAAE,8DAA8D;QACpE,IAAI,EAAE,uGAAuG;QAC7G,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,oFAAoF;QACpF,sFAAsF;QACtF,qFAAqF;QACrF,oFAAoF;QACpF,mFAAmF;QACnF,mFAAmF;QACnF,oFAAoF;QACpF,yEAAyE;QACzE,KAAK,EAAE,6BAA6B;QACpC,0FAA0F;QAC1F,2FAA2F;QAC3F,yFAAyF;QACzF,2FAA2F;QAC3F,+FAA+F;QAC/F,4FAA4F;QAC5F,6FAA6F;QAC7F,8EAA8E;QAC9E,KAAK,EAAE,wwBAAwwB;QAC/wB,uFAAuF;QACvF,0FAA0F;QAC1F,yFAAyF;QACzF,2BAA2B;QAC3B,KAAK,EAAE,4IAA4I;QACnJ,IAAI,EAAE,oMAAoM;QAC1M,IAAI,EAAE,iSAAiS;QACvS,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,KAAK,EAAE,8BAA8B;QACrC,KAAK,EAAE,iEAAiE;QACxE,KAAK,EAAE,wEAAwE;QAC/E,IAAI,EAAE,+CAA+C;QACrD,IAAI,EAAE,+FAA+F;QACrG,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,KAAK,EAAE,iBAAiB;QACxB,KAAK,EAAE,2DAA2D;QAClE,KAAK,EAAE,2DAA2D;QAClE,IAAI,EAAE,8FAA8F;QACpG,IAAI,EAAE,sHAAsH;QAC5H,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,KAAK,EAAE,oBAAoB;QAC3B,KAAK,EAAE,6DAA6D;QACpE,KAAK,EAAE,mCAAmC;QAC1C,IAAI,EAAE,4FAA4F;QAClG,IAAI,EAAE,8HAA8H;QACpI,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,KAAK,EAAE,sBAAsB;QAC7B,KAAK,EAAE,uEAAuE;QAC9E,8EAA8E;QAC9E,+EAA+E;QAC/E,yEAAyE;QACzE,KAAK,EAAE,6DAA6D;QACpE,IAAI,EAAE,wCAAwC;QAC9C,IAAI,EAAE,8GAA8G;QACpH,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,KAAK,EAAE,iBAAiB;QACxB,KAAK,EAAE,4EAA4E;QACnF,KAAK,EAAE,uDAAuD;QAC9D,IAAI,EAAE,4EAA4E;QAClF,IAAI,EAAE,4HAA4H;QAClI,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,KAAK,EAAE,gBAAgB;QACvB,KAAK,EAAE,uEAAuE;QAC9E,KAAK,EAAE,oDAAoD;QAC3D,IAAI,EAAE,iEAAiE;QACvE,IAAI,EAAE,oIAAoI;QAC1I,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,kFAAkF;QAClF,mFAAmF;QACnF,iFAAiF;QACjF,sFAAsF;QACtF,gFAAgF;QAChF,iFAAiF;QACjF,4EAA4E;QAC5E,KAAK,EAAE,wBAAwB;QAC/B,KAAK,EAAE,kIAAkI;QACzI,6EAA6E;QAC7E,iFAAiF;QACjF,iFAAiF;QACjF,6BAA6B;QAC7B,KAAK,EAAE,0LAA0L;QACjM,IAAI,EAAE,mGAAmG;QACzG,IAAI,EAAE,4NAA4N;QAClO,QAAQ,EAAE,MAAM;KACjB;CACF,CAAC;AAuBF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAE3F,MAAM,gBAAgB,GAAkC;IACtD,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,2FAA2F,EAAE;IAClH,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,sIAAsI,EAAE;IAC3J,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,mIAAmI,EAAE;IAC3J,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,sGAAsG,EAAE;IAC3H,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,2EAA2E,EAAE;IAC/F,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,qHAAqH,EAAE;IACzI,0FAA0F;IAC5F,6FAA6F;IAC7F,4FAA4F;IAC5F,4FAA4F;IAC5F,sFAAsF;IACpF,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,mZAAmZ,EAAE;CACxa,CAAC;AAEF;;;;GAIG;AACH,MAAM,sBAAsB,GAAgC;IAC1D,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;CACtB,CAAC;AAEF,SAAgB,YAAY,CAAC,SAAyB;IACpD,MAAM,UAAU,GAAsB,EAAE,CAAC;IACzC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC;QACvB,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC/C,OAAO,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjG,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS,CAAa,yCAAyC;QAC1F,iFAAiF;QACjF,oFAAoF;QACpF,MAAM,UAAU,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAwB,uBAAuB;YACvE,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAE,CAAC;YAC/D,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9B,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AAC1D,CAAC;AAED,SAAgB,UAAU,CAAC,SAAyB,EAAE,KAAK,GAAG,YAAY;IACxE,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI;YAAE,SAAS,CAAU,0BAA0B;QACxD,UAAU,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,4DAA4D;YAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChH,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;YAChE,wDAAwD;YACxD,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI;gBACjC,IAAI,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI;gBACjC,QAAQ,EAAE,MAAM;aACjB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC5C,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,UAAU,CAAC;IAEzE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;IAC5D,IAAI,OAAO,GAAiB,MAAM,CAAC;IACnC,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;QACtB,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IACrE,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AACpG,CAAC;AAED,yFAAyF;AAEzF,MAAM,YAAY,GAA2B;IAC3C,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;CACjF,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,SAAgB,gBAAgB,CAAC,SAAyB;IACxD,MAAM,GAAG,GAA6E,EAAE,CAAC;IACzF,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,MAAM;YAAE,SAAS,CAAkC,6BAA6B;QACtF,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAAE,SAAS,CAAY,gCAAgC;QAC1F,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,0FAA0F,CAAC,CAAC;QACjI,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC;YAAE,SAAS;QACvD,2FAA2F;QAC3F,wCAAwC;QACxC,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,iDAAiD,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACrG,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,OAAO;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,kBAAkB,CAChC,UAA4B,EAAE,SAAyB;IAEvD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,UAAU;QAAE,IAAI,CAAC,CAAC,YAAY;YAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;IACjG,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,mFAAmF;IACnF,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,GAAG,GAA8E,EAAE,CAAC;IAC1F,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC,EAAE;YAAE,SAAS;QAClB,wDAAwD;QACxD,MAAM,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACnD,6FAA6F;QAC7F,yBAAyB;QACzB,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,MAAM;YAAE,SAAS;QAC5E,IAAI,IAAI,KAAK,GAAG;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAE,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"sensors.js","sourceRoot":"","sources":["../../src/harness/sensors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Triage signal library — the ordered message patterns `sungen triage` matches a red scenario's
|
|
3
|
+
* error against. Seeded from the repair rules (`harness/repair.ts`, driver-mobile `mobile-repair.ts`);
|
|
4
|
+
* the patterns are COPIED, not imported, because core never loads a driver at runtime. The parity
|
|
5
|
+
* check in tests/harness/triage-classification.run.ts keeps the environment rules in step.
|
|
6
|
+
*
|
|
7
|
+
* Order matters and is the classification order: environment first (nothing about the test or the
|
|
8
|
+
* app can be judged when the session never started), then test defects (the test never reached the
|
|
9
|
+
* app). Assertions are decided in triage.ts from the parsed Expected/Received, not here.
|
|
10
|
+
*/
|
|
11
|
+
export type SignalClass = 'environment' | 'test-defect';
|
|
12
|
+
export interface TriageSignal {
|
|
13
|
+
id: string;
|
|
14
|
+
class: SignalClass;
|
|
15
|
+
match: RegExp;
|
|
16
|
+
}
|
|
17
|
+
export declare const TRIAGE_SIGNALS: TriageSignal[];
|
|
18
|
+
/** A failure that is only Playwright's test-level timeout — no locator, no assertion detail (→ unclassified). */
|
|
19
|
+
export declare const BARE_TIMEOUT: RegExp;
|
|
20
|
+
//# sourceMappingURL=triage-signals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triage-signals.d.ts","sourceRoot":"","sources":["../../src/harness/triage-signals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,aAAa,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,cAAc,EAAE,YAAY,EAwBxC,CAAC;AAEF,iHAAiH;AACjH,eAAO,MAAM,YAAY,QAAsD,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BARE_TIMEOUT = exports.TRIAGE_SIGNALS = void 0;
|
|
4
|
+
exports.TRIAGE_SIGNALS = [
|
|
5
|
+
// --- environment: the run could not reach a usable app/session -----------------------------------
|
|
6
|
+
{ id: 'env-network', class: 'environment', match: /net::ERR_[A-Z_]+|\bECONNREFUSED\b|\bENOTFOUND\b|\bEAI_AGAIN\b|\bETIMEDOUT\b/ },
|
|
7
|
+
// mirrors mobile-session-not-created
|
|
8
|
+
{ id: 'env-session-not-created', class: 'environment', match: /A new session could not be created|session not created/i },
|
|
9
|
+
// mirrors mobile-driver-proxy-lost
|
|
10
|
+
{ id: 'env-driver-proxy-lost', class: 'environment', match: /Could not proxy command to (?:the )?remote server|socket hang up|ECONNRESET/ },
|
|
11
|
+
// mirrors mobile-instrumentation-failed
|
|
12
|
+
{ id: 'env-instrumentation-failed', class: 'environment', match: /instrumentation process (?:cannot|could not) be (?:initialized|started)|Cannot start the instrumentation process/ },
|
|
13
|
+
// mirrors mobile-chromedriver-mismatch
|
|
14
|
+
{ id: 'env-chromedriver-mismatch', class: 'environment', match: /No Chromedriver found|chromedriver.*(?:version|mismatch)|Chrome version must be/i },
|
|
15
|
+
// mirrors mobile-webview-context-absent
|
|
16
|
+
{ id: 'env-webview-context-absent', class: 'environment', match: /no WEBVIEW\/CHROMIUM context appeared within/ },
|
|
17
|
+
{ id: 'env-auth-state-missing', class: 'environment', match: /storageState|\.auth\/[\w.-]+\.json|ENOENT[^\n]*\.auth/ },
|
|
18
|
+
{ id: 'env-base-url-unresolved', class: 'environment', match: /Cannot navigate to invalid URL|baseURL (?:is )?(?:not set|undefined)|Invalid URL/ },
|
|
19
|
+
{ id: 'env-browser-closed', class: 'environment', match: /Target page, context or browser has been closed|browserType\.launch/ },
|
|
20
|
+
// --- test defect: the test could not reach the element or its data -------------------------------
|
|
21
|
+
{ id: 'test-strict-mode', class: 'test-defect', match: /strict mode violation/ },
|
|
22
|
+
{ id: 'test-locator-unresolved', class: 'test-defect', match: /locator\.\w+: [^\n]*(?:Timeout|timeout)[^\n]*exceeded[\s\S]*waiting for |resolved to 0 elements/ },
|
|
23
|
+
{ id: 'test-element-absent', class: 'test-defect', match: /no such element|Element not found:|An element could not be located/ },
|
|
24
|
+
{ id: 'test-data-missing', class: 'test-defect', match: /Test data key not found:|@cases dataset "[^"]+" not found/ },
|
|
25
|
+
{ id: 'test-step-unmatched', class: 'test-defect', match: /\[sungen\] step "[^"]*" matched no pattern|\bSG\d{3}\b/ },
|
|
26
|
+
{ id: 'test-tap-intercepted', class: 'test-defect', match: /element click intercepted|is not clickable at point|element is obscured|intercepts pointer events/i },
|
|
27
|
+
];
|
|
28
|
+
/** A failure that is only Playwright's test-level timeout — no locator, no assertion detail (→ unclassified). */
|
|
29
|
+
exports.BARE_TIMEOUT = /^(?:Error:\s*)?Test timeout of \d+ms exceeded\.?$/;
|
|
30
|
+
//# sourceMappingURL=triage-signals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triage-signals.js","sourceRoot":"","sources":["../../src/harness/triage-signals.ts"],"names":[],"mappings":";;;AAkBa,QAAA,cAAc,GAAmB;IAC5C,oGAAoG;IACpG,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,6EAA6E,EAAE;IACjI,qCAAqC;IACrC,EAAE,EAAE,EAAE,yBAAyB,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,yDAAyD,EAAE;IACzH,mCAAmC;IACnC,EAAE,EAAE,EAAE,uBAAuB,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,6EAA6E,EAAE;IAC3I,wCAAwC;IACxC,EAAE,EAAE,EAAE,4BAA4B,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,kHAAkH,EAAE;IACrL,uCAAuC;IACvC,EAAE,EAAE,EAAE,2BAA2B,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,kFAAkF,EAAE;IACpJ,wCAAwC;IACxC,EAAE,EAAE,EAAE,4BAA4B,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,8CAA8C,EAAE;IACjH,EAAE,EAAE,EAAE,wBAAwB,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,uDAAuD,EAAE;IACtH,EAAE,EAAE,EAAE,yBAAyB,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,kFAAkF,EAAE;IAClJ,EAAE,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,qEAAqE,EAAE;IAEhI,oGAAoG;IACpG,EAAE,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,uBAAuB,EAAE;IAChF,EAAE,EAAE,EAAE,yBAAyB,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,iGAAiG,EAAE;IACjK,EAAE,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,oEAAoE,EAAE;IAChI,EAAE,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,2DAA2D,EAAE;IACrH,EAAE,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,wDAAwD,EAAE;IACpH,EAAE,EAAE,EAAE,sBAAsB,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,oGAAoG,EAAE;CAClK,CAAC;AAEF,iHAAiH;AACpG,QAAA,YAAY,GAAG,mDAAmD,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ResolvedUnit } from '../cli/resolve-unit';
|
|
2
|
+
import { TriageClass, TriageRow } from './triage';
|
|
3
|
+
export interface TriageReport {
|
|
4
|
+
unit: string;
|
|
5
|
+
generatedAt: string;
|
|
6
|
+
/** Result files read, relative to the project root. Empty → nothing has run yet. */
|
|
7
|
+
resultFiles: string[];
|
|
8
|
+
counts: Partial<Record<TriageClass, number>>;
|
|
9
|
+
rows: TriageRow[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Values that must never reach a triage evidence line or a defect record: the resolved `${QA_*}`
|
|
13
|
+
* secrets AND the literal values of credential-named test-data keys — an assertion on a password
|
|
14
|
+
* field prints that value in its Expected/Received.
|
|
15
|
+
*/
|
|
16
|
+
export declare function unitSecrets(testData: Record<string, string>, cwd: string): string[];
|
|
17
|
+
export declare function triageUnit(cwd: string, u: ResolvedUnit): TriageReport;
|
|
18
|
+
export declare function triageReportPath(cwd: string, unitId: string): string;
|
|
19
|
+
/** The last triage of a unit, or null when `sungen triage` has not run for it. */
|
|
20
|
+
export declare function readTriageReport(cwd: string, unitId: string): TriageReport | null;
|
|
21
|
+
/** Persist under `.sungen/triage/<unit>.json` (a flow `flows/x` → `flows-x.json`); returns the path. */
|
|
22
|
+
export declare function writeTriageReport(cwd: string, report: TriageReport): string;
|
|
23
|
+
//# sourceMappingURL=triage-unit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triage-unit.d.ts","sourceRoot":"","sources":["../../src/harness/triage-unit.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAoB,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEpE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7C,IAAI,EAAE,SAAS,EAAE,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAKnF;AA2BD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,GAAG,YAAY,CA+BrE;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAEjF;AAED,wGAAwG;AACxG,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,CAK3E"}
|