@sun-asterisk/sungen 3.3.0-alpha.1 → 3.3.0-alpha.10
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/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/cli/case-triage-hint.d.ts +14 -0
- package/dist/cli/case-triage-hint.d.ts.map +1 -0
- package/dist/cli/case-triage-hint.js +23 -0
- package/dist/cli/case-triage-hint.js.map +1 -0
- package/dist/cli/commands/audit.js +1 -1
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/contract-derive-command.d.ts +4 -2
- package/dist/cli/commands/contract-derive-command.d.ts.map +1 -1
- package/dist/cli/commands/contract-derive-command.js +19 -5
- package/dist/cli/commands/contract-derive-command.js.map +1 -1
- package/dist/cli/commands/contract.d.ts +3 -0
- package/dist/cli/commands/contract.d.ts.map +1 -1
- package/dist/cli/commands/contract.js +40 -7
- package/dist/cli/commands/contract.js.map +1 -1
- package/dist/cli/commands/delivery.d.ts.map +1 -1
- package/dist/cli/commands/delivery.js +59 -18
- package/dist/cli/commands/delivery.js.map +1 -1
- package/dist/cli/commands/gate.d.ts.map +1 -1
- package/dist/cli/commands/gate.js +2 -1
- package/dist/cli/commands/gate.js.map +1 -1
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +14 -2
- 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 +6 -4
- package/dist/cli/commands/journey.js.map +1 -1
- package/dist/cli/commands/next.d.ts +7 -2
- package/dist/cli/commands/next.d.ts.map +1 -1
- package/dist/cli/commands/next.js +41 -10
- package/dist/cli/commands/next.js.map +1 -1
- package/dist/cli/commands/triage.d.ts +2 -1
- package/dist/cli/commands/triage.d.ts.map +1 -1
- package/dist/cli/commands/triage.js +45 -3
- package/dist/cli/commands/triage.js.map +1 -1
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +6 -2
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/index.js +5 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/json-error-on-exit.d.ts +34 -0
- package/dist/cli/json-error-on-exit.d.ts.map +1 -0
- package/dist/cli/json-error-on-exit.js +63 -0
- package/dist/cli/json-error-on-exit.js.map +1 -0
- package/dist/cli/project-sungen-invocation.d.ts +13 -0
- package/dist/cli/project-sungen-invocation.d.ts.map +1 -0
- package/dist/cli/project-sungen-invocation.js +95 -0
- package/dist/cli/project-sungen-invocation.js.map +1 -0
- package/dist/cli/run-command-hints.d.ts +9 -0
- package/dist/cli/run-command-hints.d.ts.map +1 -0
- package/dist/cli/run-command-hints.js +84 -0
- package/dist/cli/run-command-hints.js.map +1 -0
- package/dist/cli/waiting-for-you-block.d.ts +18 -0
- package/dist/cli/waiting-for-you-block.d.ts.map +1 -0
- package/dist/cli/waiting-for-you-block.js +22 -0
- package/dist/cli/waiting-for-you-block.js.map +1 -0
- package/dist/contract/accept-opaque-steps.d.ts +3 -0
- package/dist/contract/accept-opaque-steps.d.ts.map +1 -0
- package/dist/contract/accept-opaque-steps.js +114 -0
- package/dist/contract/accept-opaque-steps.js.map +1 -0
- package/dist/contract/approve-contract.d.ts +8 -1
- package/dist/contract/approve-contract.d.ts.map +1 -1
- package/dist/contract/approve-contract.js +6 -0
- package/dist/contract/approve-contract.js.map +1 -1
- package/dist/contract/build-contract-verdict.js +2 -2
- package/dist/contract/build-contract-verdict.js.map +1 -1
- package/dist/contract/build-trace-conformance.d.ts +5 -1
- package/dist/contract/build-trace-conformance.d.ts.map +1 -1
- package/dist/contract/build-trace-conformance.js +12 -14
- package/dist/contract/build-trace-conformance.js.map +1 -1
- package/dist/contract/classify-contract-change.d.ts +3 -2
- package/dist/contract/classify-contract-change.d.ts.map +1 -1
- package/dist/contract/classify-contract-change.js.map +1 -1
- package/dist/contract/classify-trace-conformance.d.ts +18 -3
- package/dist/contract/classify-trace-conformance.d.ts.map +1 -1
- package/dist/contract/classify-trace-conformance.js +64 -17
- package/dist/contract/classify-trace-conformance.js.map +1 -1
- package/dist/contract/contract-schema.d.ts +21 -0
- package/dist/contract/contract-schema.d.ts.map +1 -1
- package/dist/contract/contract-schema.js +25 -3
- package/dist/contract/contract-schema.js.map +1 -1
- package/dist/contract/contracts-lock-file.d.ts.map +1 -1
- package/dist/contract/contracts-lock-file.js +1 -0
- package/dist/contract/contracts-lock-file.js.map +1 -1
- package/dist/contract/derive-free-feature.d.ts +19 -0
- package/dist/contract/derive-free-feature.d.ts.map +1 -1
- package/dist/contract/derive-free-feature.js +40 -2
- package/dist/contract/derive-free-feature.js.map +1 -1
- package/dist/contract/project-contract-blockers.d.ts.map +1 -1
- package/dist/contract/project-contract-blockers.js +4 -2
- package/dist/contract/project-contract-blockers.js.map +1 -1
- package/dist/contract/record-contract-approval.d.ts +16 -1
- package/dist/contract/record-contract-approval.d.ts.map +1 -1
- package/dist/contract/record-contract-approval.js +29 -1
- package/dist/contract/record-contract-approval.js.map +1 -1
- package/dist/contract/render-free-gherkin.d.ts +2 -0
- package/dist/contract/render-free-gherkin.d.ts.map +1 -1
- package/dist/contract/render-free-gherkin.js +6 -0
- package/dist/contract/render-free-gherkin.js.map +1 -1
- package/dist/contract/resolve-unit-trace-identities.d.ts +12 -0
- package/dist/contract/resolve-unit-trace-identities.d.ts.map +1 -1
- package/dist/contract/resolve-unit-trace-identities.js +33 -49
- package/dist/contract/resolve-unit-trace-identities.js.map +1 -1
- package/dist/contract/trace/collect-trace-evidence.d.ts +16 -5
- package/dist/contract/trace/collect-trace-evidence.d.ts.map +1 -1
- package/dist/contract/trace/collect-trace-evidence.js +101 -43
- package/dist/contract/trace/collect-trace-evidence.js.map +1 -1
- package/dist/contract/trace/read-file-once.d.ts +20 -0
- package/dist/contract/trace/read-file-once.d.ts.map +1 -0
- package/dist/contract/trace/read-file-once.js +135 -0
- package/dist/contract/trace/read-file-once.js.map +1 -0
- package/dist/contract/trace/scenario-id-claims.d.ts +11 -0
- package/dist/contract/trace/scenario-id-claims.d.ts.map +1 -0
- package/dist/contract/trace/scenario-id-claims.js +89 -0
- package/dist/contract/trace/scenario-id-claims.js.map +1 -0
- package/dist/contract/trace/select-final-attempt.d.ts +4 -2
- package/dist/contract/trace/select-final-attempt.d.ts.map +1 -1
- package/dist/contract/trace/select-final-attempt.js +7 -4
- package/dist/contract/trace/select-final-attempt.js.map +1 -1
- package/dist/contract/trace/test-step-join.d.ts +3 -3
- package/dist/contract/trace/test-step-join.d.ts.map +1 -1
- package/dist/contract/trace/test-step-join.js +2 -2
- package/dist/contract/trace/test-step-join.js.map +1 -1
- package/dist/contract/trace/trace-binding.d.ts +3 -2
- package/dist/contract/trace/trace-binding.d.ts.map +1 -1
- package/dist/contract/trace/trace-binding.js +6 -3
- package/dist/contract/trace/trace-binding.js.map +1 -1
- package/dist/contract/trace/trace-file-reader.d.ts +14 -2
- package/dist/contract/trace/trace-file-reader.d.ts.map +1 -1
- package/dist/contract/trace/trace-file-reader.js +27 -45
- package/dist/contract/trace/trace-file-reader.js.map +1 -1
- package/dist/contract/trace/trace-freshness.d.ts +27 -0
- package/dist/contract/trace/trace-freshness.d.ts.map +1 -0
- package/dist/contract/trace/trace-freshness.js +146 -0
- package/dist/contract/trace/trace-freshness.js.map +1 -0
- package/dist/contract/trace/trace-identity-resolution.d.ts +2 -0
- package/dist/contract/trace/trace-identity-resolution.d.ts.map +1 -1
- package/dist/contract/trace/trace-identity-resolution.js +6 -3
- package/dist/contract/trace/trace-identity-resolution.js.map +1 -1
- package/dist/contract/trace/trace-run-record.d.ts +8 -3
- package/dist/contract/trace/trace-run-record.d.ts.map +1 -1
- package/dist/contract/trace/trace-run-record.js +42 -22
- package/dist/contract/trace/trace-run-record.js.map +1 -1
- package/dist/contract/trace/trace-steps.js +1 -1
- package/dist/contract/trace/trace-steps.js.map +1 -1
- package/dist/contract/trace/trace-zip-limits.d.ts +5 -1
- package/dist/contract/trace/trace-zip-limits.d.ts.map +1 -1
- package/dist/contract/trace/trace-zip-limits.js +6 -2
- package/dist/contract/trace/trace-zip-limits.js.map +1 -1
- package/dist/contract/verify-approval-decisions.d.ts.map +1 -1
- package/dist/contract/verify-approval-decisions.js +9 -4
- package/dist/contract/verify-approval-decisions.js.map +1 -1
- package/dist/decisions/confirmed-decision-commands.d.ts +11 -0
- package/dist/decisions/confirmed-decision-commands.d.ts.map +1 -1
- package/dist/decisions/confirmed-decision-commands.js +21 -3
- package/dist/decisions/confirmed-decision-commands.js.map +1 -1
- package/dist/decisions/decision-schema.d.ts +2 -1
- package/dist/decisions/decision-schema.d.ts.map +1 -1
- package/dist/decisions/decision-schema.js +2 -1
- package/dist/decisions/decision-schema.js.map +1 -1
- package/dist/decisions/git-head-trust.d.ts +12 -0
- package/dist/decisions/git-head-trust.d.ts.map +1 -1
- package/dist/decisions/git-head-trust.js +52 -0
- package/dist/decisions/git-head-trust.js.map +1 -1
- package/dist/decisions/human-confirmation.d.ts +2 -0
- package/dist/decisions/human-confirmation.d.ts.map +1 -1
- package/dist/decisions/human-confirmation.js +6 -0
- package/dist/decisions/human-confirmation.js.map +1 -1
- package/dist/decisions/legacy-waiver-migration.d.ts +8 -1
- package/dist/decisions/legacy-waiver-migration.d.ts.map +1 -1
- package/dist/decisions/legacy-waiver-migration.js +13 -4
- package/dist/decisions/legacy-waiver-migration.js.map +1 -1
- package/dist/exporters/csv-exporter.d.ts +11 -2
- package/dist/exporters/csv-exporter.d.ts.map +1 -1
- package/dist/exporters/csv-exporter.js +8 -4
- package/dist/exporters/csv-exporter.js.map +1 -1
- package/dist/exporters/matrix/export.d.ts +6 -1
- package/dist/exporters/matrix/export.d.ts.map +1 -1
- package/dist/exporters/matrix/export.js +11 -4
- package/dist/exporters/matrix/export.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/xlsx-exporter.d.ts +3 -2
- package/dist/exporters/xlsx-exporter.d.ts.map +1 -1
- package/dist/exporters/xlsx-exporter.js +4 -4
- package/dist/exporters/xlsx-exporter.js.map +1 -1
- package/dist/graph/board-human-actions.d.ts +5 -0
- package/dist/graph/board-human-actions.d.ts.map +1 -0
- package/dist/graph/board-human-actions.js +83 -0
- package/dist/graph/board-human-actions.js.map +1 -0
- package/dist/graph/evaluate-graph.d.ts +21 -1
- package/dist/graph/evaluate-graph.d.ts.map +1 -1
- package/dist/graph/evaluate-graph.js +37 -9
- package/dist/graph/evaluate-graph.js.map +1 -1
- package/dist/graph/human-action.d.ts +21 -0
- package/dist/graph/human-action.d.ts.map +1 -0
- package/dist/graph/human-action.js +3 -0
- package/dist/graph/human-action.js.map +1 -0
- package/dist/graph/manual-triage-decisions.d.ts +19 -0
- package/dist/graph/manual-triage-decisions.d.ts.map +1 -0
- package/dist/graph/manual-triage-decisions.js +53 -0
- package/dist/graph/manual-triage-decisions.js.map +1 -0
- package/dist/graph/node-decl.d.ts +16 -0
- package/dist/graph/node-decl.d.ts.map +1 -1
- package/dist/graph/node-decl.js +4 -1
- package/dist/graph/node-decl.js.map +1 -1
- package/dist/graph/nodes/test-case-contract-nodes.d.ts +3 -1
- package/dist/graph/nodes/test-case-contract-nodes.d.ts.map +1 -1
- package/dist/graph/nodes/test-case-contract-nodes.js +22 -6
- package/dist/graph/nodes/test-case-contract-nodes.js.map +1 -1
- package/dist/graph/nodes/test-case-nodes.d.ts +3 -0
- package/dist/graph/nodes/test-case-nodes.d.ts.map +1 -1
- package/dist/graph/nodes/test-case-nodes.js +33 -4
- package/dist/graph/nodes/test-case-nodes.js.map +1 -1
- package/dist/graph/nodes/unit-audit-nodes.d.ts.map +1 -1
- package/dist/graph/nodes/unit-audit-nodes.js +1 -0
- package/dist/graph/nodes/unit-audit-nodes.js.map +1 -1
- package/dist/graph/nodes/unit-contract-node.d.ts +2 -1
- package/dist/graph/nodes/unit-contract-node.d.ts.map +1 -1
- package/dist/graph/nodes/unit-contract-node.js +16 -1
- package/dist/graph/nodes/unit-contract-node.js.map +1 -1
- package/dist/graph/nodes/unit-design-nodes.d.ts.map +1 -1
- package/dist/graph/nodes/unit-design-nodes.js +2 -1
- package/dist/graph/nodes/unit-design-nodes.js.map +1 -1
- package/dist/graph/test-case-results.d.ts +1 -0
- package/dist/graph/test-case-results.d.ts.map +1 -1
- package/dist/graph/test-case-results.js +27 -3
- package/dist/graph/test-case-results.js.map +1 -1
- package/dist/graph/test-case-satisfied.d.ts +5 -4
- package/dist/graph/test-case-satisfied.d.ts.map +1 -1
- package/dist/graph/test-case-satisfied.js +4 -0
- package/dist/graph/test-case-satisfied.js.map +1 -1
- package/dist/graph/test-case-state-shape.d.ts +7 -1
- package/dist/graph/test-case-state-shape.d.ts.map +1 -1
- package/dist/graph/unit-artifact-probes.d.ts.map +1 -1
- package/dist/graph/unit-artifact-probes.js +3 -1
- package/dist/graph/unit-artifact-probes.js.map +1 -1
- package/dist/graph/unit-results-freshness.d.ts +29 -0
- package/dist/graph/unit-results-freshness.d.ts.map +1 -0
- package/dist/graph/unit-results-freshness.js +213 -0
- package/dist/graph/unit-results-freshness.js.map +1 -0
- package/dist/harness/audit.d.ts +3 -2
- package/dist/harness/audit.d.ts.map +1 -1
- package/dist/harness/audit.js +4 -17
- package/dist/harness/audit.js.map +1 -1
- package/dist/harness/catalog/gate-rules.yaml +3 -3
- package/dist/harness/defect-draft.d.ts.map +1 -1
- package/dist/harness/defect-draft.js +12 -2
- package/dist/harness/defect-draft.js.map +1 -1
- package/dist/harness/defects.d.ts +14 -0
- package/dist/harness/defects.d.ts.map +1 -1
- package/dist/harness/defects.js +14 -10
- package/dist/harness/defects.js.map +1 -1
- package/dist/harness/flow-check.d.ts +9 -0
- package/dist/harness/flow-check.d.ts.map +1 -1
- package/dist/harness/flow-check.js +11 -0
- package/dist/harness/flow-check.js.map +1 -1
- package/dist/harness/gates/audit-gate-verdict.d.ts.map +1 -1
- package/dist/harness/gates/audit-gate-verdict.js +2 -1
- package/dist/harness/gates/audit-gate-verdict.js.map +1 -1
- package/dist/harness/gates/audit-input-hash.d.ts +2 -0
- package/dist/harness/gates/audit-input-hash.d.ts.map +1 -1
- package/dist/harness/gates/audit-input-hash.js +30 -2
- package/dist/harness/gates/audit-input-hash.js.map +1 -1
- package/dist/harness/gates/audit-report-verification.d.ts +17 -6
- package/dist/harness/gates/audit-report-verification.d.ts.map +1 -1
- package/dist/harness/gates/audit-report-verification.js +55 -21
- package/dist/harness/gates/audit-report-verification.js.map +1 -1
- package/dist/harness/gates/delivery-checklist.d.ts +3 -0
- package/dist/harness/gates/delivery-checklist.d.ts.map +1 -1
- package/dist/harness/gates/delivery-checklist.js +39 -6
- package/dist/harness/gates/delivery-checklist.js.map +1 -1
- package/dist/harness/gates/delivery-decision-gate.d.ts +4 -0
- package/dist/harness/gates/delivery-decision-gate.d.ts.map +1 -1
- package/dist/harness/gates/delivery-decision-gate.js +26 -1
- package/dist/harness/gates/delivery-decision-gate.js.map +1 -1
- package/dist/harness/gates/delivery-decision-step.d.ts +4 -1
- package/dist/harness/gates/delivery-decision-step.d.ts.map +1 -1
- package/dist/harness/gates/delivery-decision-step.js +17 -2
- package/dist/harness/gates/delivery-decision-step.js.map +1 -1
- package/dist/harness/gates/in-run-decision-check.d.ts.map +1 -1
- package/dist/harness/gates/in-run-decision-check.js +40 -12
- package/dist/harness/gates/in-run-decision-check.js.map +1 -1
- package/dist/harness/gates/migrated-waiver-import-bounds.d.ts +13 -0
- package/dist/harness/gates/migrated-waiver-import-bounds.d.ts.map +1 -0
- package/dist/harness/gates/migrated-waiver-import-bounds.js +141 -0
- package/dist/harness/gates/migrated-waiver-import-bounds.js.map +1 -0
- package/dist/harness/gates/migrated-waiver-review.d.ts +14 -4
- package/dist/harness/gates/migrated-waiver-review.d.ts.map +1 -1
- package/dist/harness/gates/migrated-waiver-review.js +78 -80
- package/dist/harness/gates/migrated-waiver-review.js.map +1 -1
- package/dist/harness/journey.d.ts +40 -0
- package/dist/harness/journey.d.ts.map +1 -1
- package/dist/harness/journey.js +155 -22
- package/dist/harness/journey.js.map +1 -1
- package/dist/harness/next-step.d.ts +19 -0
- package/dist/harness/next-step.d.ts.map +1 -1
- package/dist/harness/next-step.js +21 -0
- package/dist/harness/next-step.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/triage-manual-classification.d.ts +32 -0
- package/dist/harness/triage-manual-classification.d.ts.map +1 -0
- package/dist/harness/triage-manual-classification.js +56 -0
- package/dist/harness/triage-manual-classification.js.map +1 -0
- package/dist/harness/unit-paths.d.ts +8 -0
- package/dist/harness/unit-paths.d.ts.map +1 -1
- package/dist/harness/unit-paths.js +23 -1
- package/dist/harness/unit-paths.js.map +1 -1
- package/dist/hooks/bash-read-only-segment.d.ts +9 -0
- package/dist/hooks/bash-read-only-segment.d.ts.map +1 -0
- package/dist/hooks/bash-read-only-segment.js +168 -0
- package/dist/hooks/bash-read-only-segment.js.map +1 -0
- package/dist/hooks/bash-write-targets.d.ts +12 -2
- package/dist/hooks/bash-write-targets.d.ts.map +1 -1
- package/dist/hooks/bash-write-targets.js +122 -29
- package/dist/hooks/bash-write-targets.js.map +1 -1
- package/dist/hooks/guard-protected-paths.d.ts +4 -0
- package/dist/hooks/guard-protected-paths.d.ts.map +1 -1
- package/dist/hooks/guard-protected-paths.js +13 -3
- package/dist/hooks/guard-protected-paths.js.map +1 -1
- package/dist/hooks/guard-rules.d.ts +0 -17
- package/dist/hooks/guard-rules.d.ts.map +1 -1
- package/dist/hooks/guard-rules.js +79 -10
- package/dist/hooks/guard-rules.js.map +1 -1
- package/dist/hooks/guard-tty-spoof-rule.d.ts +3 -1
- package/dist/hooks/guard-tty-spoof-rule.d.ts.map +1 -1
- package/dist/hooks/guard-tty-spoof-rule.js +3 -2
- package/dist/hooks/guard-tty-spoof-rule.js.map +1 -1
- package/dist/hooks/hand-back-core.d.ts +9 -4
- package/dist/hooks/hand-back-core.d.ts.map +1 -1
- package/dist/hooks/hand-back-core.js +24 -11
- package/dist/hooks/hand-back-core.js.map +1 -1
- package/dist/hooks/session-start-unit-state-hook.d.ts +2 -1
- package/dist/hooks/session-start-unit-state-hook.d.ts.map +1 -1
- package/dist/hooks/session-start-unit-state-hook.js +9 -4
- package/dist/hooks/session-start-unit-state-hook.js.map +1 -1
- package/dist/hooks/stop-next-step-hook.d.ts.map +1 -1
- package/dist/hooks/stop-next-step-hook.js +1 -0
- package/dist/hooks/stop-next-step-hook.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/project-initializer.d.ts.map +1 -1
- package/dist/orchestrator/project-initializer.js +1 -0
- package/dist/orchestrator/project-initializer.js.map +1 -1
- package/dist/orchestrator/templates/ai-src/commands/create-test.md +6 -3
- package/dist/orchestrator/templates/ai-src/commands/delivery.md +2 -0
- package/dist/orchestrator/templates/ai-src/commands/review.md +2 -0
- package/dist/orchestrator/templates/ai-src/commands/run-test.md +1 -1
- package/dist/orchestrator/templates/ai-src/partials/waiting-for-you.claude.md +11 -0
- package/dist/orchestrator/templates/ai-src/partials/waiting-for-you.codex.md +11 -0
- package/dist/orchestrator/templates/ai-src/partials/waiting-for-you.copilot.md +11 -0
- package/package.json +3 -3
- package/src/capabilities/discover.ts +15 -2
- package/src/cli/case-triage-hint.ts +31 -0
- package/src/cli/commands/audit.ts +1 -1
- package/src/cli/commands/contract-derive-command.ts +20 -8
- package/src/cli/commands/contract.ts +41 -7
- package/src/cli/commands/delivery.ts +56 -18
- package/src/cli/commands/gate.ts +2 -1
- package/src/cli/commands/generate.ts +13 -2
- package/src/cli/commands/journey.ts +8 -6
- package/src/cli/commands/next.ts +41 -12
- package/src/cli/commands/triage.ts +41 -3
- package/src/cli/commands/update.ts +6 -2
- package/src/cli/index.ts +5 -1
- package/src/cli/json-error-on-exit.ts +72 -0
- package/src/cli/project-sungen-invocation.ts +59 -0
- package/src/cli/run-command-hints.ts +47 -0
- package/src/cli/waiting-for-you-block.ts +27 -0
- package/src/contract/accept-opaque-steps.ts +114 -0
- package/src/contract/approve-contract.ts +10 -3
- package/src/contract/build-contract-verdict.ts +2 -2
- package/src/contract/build-trace-conformance.ts +11 -8
- package/src/contract/classify-contract-change.ts +3 -3
- package/src/contract/classify-trace-conformance.ts +76 -22
- package/src/contract/contract-schema.ts +31 -2
- package/src/contract/contracts-lock-file.ts +1 -0
- package/src/contract/derive-free-feature.ts +46 -3
- package/src/contract/project-contract-blockers.ts +4 -2
- package/src/contract/record-contract-approval.ts +41 -1
- package/src/contract/render-free-gherkin.ts +5 -0
- package/src/contract/resolve-unit-trace-identities.ts +35 -12
- package/src/contract/trace/collect-trace-evidence.ts +105 -36
- package/src/contract/trace/read-file-once.ts +95 -0
- package/src/contract/trace/scenario-id-claims.ts +60 -0
- package/src/contract/trace/select-final-attempt.ts +12 -5
- package/src/contract/trace/test-step-join.ts +6 -5
- package/src/contract/trace/trace-binding.ts +7 -4
- package/src/contract/trace/trace-file-reader.ts +34 -13
- package/src/contract/trace/trace-freshness.ts +110 -0
- package/src/contract/trace/trace-identity-resolution.ts +7 -4
- package/src/contract/trace/trace-run-record.ts +37 -15
- package/src/contract/trace/trace-steps.ts +1 -1
- package/src/contract/trace/trace-zip-limits.ts +6 -2
- package/src/contract/verify-approval-decisions.ts +9 -5
- package/src/decisions/confirmed-decision-commands.ts +25 -4
- package/src/decisions/decision-schema.ts +2 -1
- package/src/decisions/git-head-trust.ts +44 -0
- package/src/decisions/human-confirmation.ts +5 -0
- package/src/decisions/legacy-waiver-migration.ts +14 -3
- package/src/exporters/csv-exporter.ts +12 -4
- package/src/exporters/matrix/export.ts +11 -4
- package/src/exporters/matrix/xlsx-cells.ts +1 -1
- package/src/exporters/xlsx-exporter.ts +5 -4
- package/src/graph/board-human-actions.ts +80 -0
- package/src/graph/evaluate-graph.ts +45 -10
- package/src/graph/human-action.ts +33 -0
- package/src/graph/manual-triage-decisions.ts +55 -0
- package/src/graph/node-decl.ts +18 -0
- package/src/graph/nodes/test-case-contract-nodes.ts +28 -7
- package/src/graph/nodes/test-case-nodes.ts +37 -5
- package/src/graph/nodes/unit-audit-nodes.ts +2 -1
- package/src/graph/nodes/unit-contract-node.ts +20 -2
- package/src/graph/nodes/unit-design-nodes.ts +2 -1
- package/src/graph/test-case-results.ts +25 -4
- package/src/graph/test-case-satisfied.ts +7 -4
- package/src/graph/test-case-state-shape.ts +7 -2
- package/src/graph/unit-artifact-probes.ts +3 -1
- package/src/graph/unit-results-freshness.ts +165 -0
- package/src/harness/audit.ts +4 -13
- package/src/harness/catalog/gate-rules.yaml +3 -3
- package/src/harness/defect-draft.ts +13 -2
- package/src/harness/defects.ts +22 -9
- package/src/harness/flow-check.ts +11 -0
- package/src/harness/gates/audit-gate-verdict.ts +2 -1
- package/src/harness/gates/audit-input-hash.ts +27 -3
- package/src/harness/gates/audit-report-verification.ts +57 -24
- package/src/harness/gates/delivery-checklist.ts +39 -7
- package/src/harness/gates/delivery-decision-gate.ts +29 -1
- package/src/harness/gates/delivery-decision-step.ts +19 -3
- package/src/harness/gates/in-run-decision-check.ts +38 -13
- package/src/harness/gates/migrated-waiver-import-bounds.ts +103 -0
- package/src/harness/gates/migrated-waiver-review.ts +90 -37
- package/src/harness/journey.ts +174 -21
- package/src/harness/next-step.ts +34 -1
- package/src/harness/provenance.ts +99 -11
- package/src/harness/triage-manual-classification.ts +76 -0
- package/src/harness/unit-paths.ts +19 -0
- package/src/hooks/bash-read-only-segment.ts +130 -0
- package/src/hooks/bash-write-targets.ts +109 -23
- package/src/hooks/guard-protected-paths.ts +13 -3
- package/src/hooks/guard-rules.ts +37 -18
- package/src/hooks/guard-tty-spoof-rule.ts +6 -3
- package/src/hooks/hand-back-core.ts +24 -12
- package/src/hooks/session-start-unit-state-hook.ts +9 -4
- package/src/hooks/stop-next-step-hook.ts +1 -0
- package/src/orchestrator/assets-drift.ts +12 -5
- package/src/orchestrator/project-initializer.ts +1 -0
- package/src/orchestrator/templates/ai-src/commands/create-test.md +6 -3
- package/src/orchestrator/templates/ai-src/commands/delivery.md +2 -0
- package/src/orchestrator/templates/ai-src/commands/review.md +2 -0
- package/src/orchestrator/templates/ai-src/commands/run-test.md +1 -1
- package/src/orchestrator/templates/ai-src/partials/waiting-for-you.claude.md +11 -0
- package/src/orchestrator/templates/ai-src/partials/waiting-for-you.codex.md +11 -0
- package/src/orchestrator/templates/ai-src/partials/waiting-for-you.copilot.md +11 -0
package/dist/harness/journey.js
CHANGED
|
@@ -33,8 +33,13 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.CREATE_OBLIGATION = exports.signoffCommand = exports.SIGNOFF_OBLIGATION = void 0;
|
|
36
37
|
exports.runJourney = runJourney;
|
|
38
|
+
exports.readJourneyHumanAsks = readJourneyHumanAsks;
|
|
39
|
+
exports.assertWaivable = assertWaivable;
|
|
37
40
|
exports.waive = waive;
|
|
41
|
+
exports.assertCanSignOff = assertCanSignOff;
|
|
42
|
+
exports.signoffSigner = signoffSigner;
|
|
38
43
|
exports.signoff = signoff;
|
|
39
44
|
exports.writeJourneyFileBestEffort = writeJourneyFileBestEffort;
|
|
40
45
|
exports.renderJourneyBoard = renderJourneyBoard;
|
|
@@ -65,6 +70,7 @@ const read_text_1 = require("./read-text");
|
|
|
65
70
|
const migration_sentinel_1 = require("../basis/migration-sentinel");
|
|
66
71
|
const legacy_waiver_migration_1 = require("../decisions/legacy-waiver-migration");
|
|
67
72
|
const append_decision_1 = require("../decisions/append-decision");
|
|
73
|
+
const decision_source_1 = require("../decisions/decision-source");
|
|
68
74
|
const resolve_rule_1 = require("./gates/resolve-rule");
|
|
69
75
|
const journey_gate_inputs_1 = require("./gates/journey-gate-inputs");
|
|
70
76
|
const in_run_decision_check_1 = require("./gates/in-run-decision-check");
|
|
@@ -104,6 +110,25 @@ function extractAnchor(text) {
|
|
|
104
110
|
return { vpId: vp ? vp[0] : undefined, file: fl ? fl[1] : undefined, line: fl ? Number(fl[2]) : undefined };
|
|
105
111
|
}
|
|
106
112
|
const SAT = 0.8; // axis at/above this = satisfied (below = needs-work)
|
|
113
|
+
/**
|
|
114
|
+
* OB-coverage IS the audit's viewpoint gate (#934): the registry maps it to `audit.viewpoint-coverage`,
|
|
115
|
+
* whose condition is "no critical theme missing or shallow" (audit-gate-terms.ts). The coverage
|
|
116
|
+
* percentage alone can read 83% with a critical theme missing, so a gap the rule blocks on keeps the
|
|
117
|
+
* obligation open and names the themes. An override the audit applied is credited later by
|
|
118
|
+
* applyAuditOverrides — journey never re-applies one, so the rule is resolved from the catalog here.
|
|
119
|
+
*/
|
|
120
|
+
function coverageObligation(coverage, audit) {
|
|
121
|
+
const id = 'OB-coverage';
|
|
122
|
+
const title = 'Viewpoint coverage';
|
|
123
|
+
const pct = coverage === undefined ? '' : `${Math.round(coverage * 100)}% (need ${Math.round(SAT * 100)}%) — `;
|
|
124
|
+
const gaps = Array.isArray(audit.gate?.gaps) ? audit.gate.gaps : [];
|
|
125
|
+
if (gaps.length && (0, resolve_rule_1.resolveRule)(journey_gate_inputs_1.OBLIGATION_RULE[id]).blocking) {
|
|
126
|
+
const themes = gaps.map((g) => `${String(g.theme)} (${g.status === 'shallow' ? 'shallow' : 'missing'})`).join(', ');
|
|
127
|
+
return { id, title, status: 'needs-work', detail: `${pct}critical theme(s) not covered: ${themes} — the audit's viewpoint gate fails on them` };
|
|
128
|
+
}
|
|
129
|
+
const status = coverage === undefined ? 'pending' : coverage >= SAT ? 'satisfied' : 'needs-work';
|
|
130
|
+
return { id, title, status, detail: `${pct}critical themes covered` };
|
|
131
|
+
}
|
|
107
132
|
function computeFresh(projectRoot, unit) {
|
|
108
133
|
const slug = (0, unit_paths_1.reportSlug)(unit);
|
|
109
134
|
// T3: the report is an output — read through the checks; stale or untrusted counts as never audited.
|
|
@@ -138,7 +163,7 @@ function computeFresh(projectRoot, unit) {
|
|
|
138
163
|
detail: val === undefined ? detail : `${Math.round(val * 100)}% (need ${Math.round(thr * 100)}%) — ${detail}`,
|
|
139
164
|
});
|
|
140
165
|
obligations.push(ob('OB-spec', 'Spec readiness', ax.specFR, 1, 'FR/sections sufficient to design from'));
|
|
141
|
-
obligations.push(
|
|
166
|
+
obligations.push(coverageObligation(ax.coverage, audit));
|
|
142
167
|
obligations.push(ob('OB-depth', 'Assertion depth', ax.businessDepth, depthThreshold, 'business-critical scenarios assert data'));
|
|
143
168
|
obligations.push(ob('OB-trace', 'Traceability', ax.taxonomy ?? ax.traceability, SAT, 'scenarios trace to viewpoints'));
|
|
144
169
|
// Automation obligation: automatable @manual still pending a driver = needs-work.
|
|
@@ -230,6 +255,34 @@ function computeNext(r, unit) {
|
|
|
230
255
|
* A read-only checkout gets the same board without throwing.
|
|
231
256
|
*/
|
|
232
257
|
function runJourney(projectRoot, unit) {
|
|
258
|
+
const r = reconcileJourney(projectRoot, unit);
|
|
259
|
+
try {
|
|
260
|
+
(0, legacy_waiver_migration_1.commitWaiverSync)(projectRoot, unit, r.slug, r.sync, r.statePath, JSON.stringify(r.next, null, 2));
|
|
261
|
+
}
|
|
262
|
+
catch (err) {
|
|
263
|
+
if (!(err instanceof append_decision_1.DecisionConflictError))
|
|
264
|
+
throw err;
|
|
265
|
+
const rel = path.relative(projectRoot, err.path).split(path.sep).join('/');
|
|
266
|
+
if (!r.decisionFindings.some((f) => f.path === rel))
|
|
267
|
+
r.decisionFindings.push({ rule: 'decision.mutated', path: rel, message: err.message });
|
|
268
|
+
}
|
|
269
|
+
return finishReport(r, unit);
|
|
270
|
+
}
|
|
271
|
+
/** The board's asks, read-only: no import, no dual-write, no state file — the same reconcile `runJourney` commits. */
|
|
272
|
+
function readJourneyHumanAsks(projectRoot, unit) {
|
|
273
|
+
const r = reconcileJourney(projectRoot, unit);
|
|
274
|
+
const report = finishReport(r, unit);
|
|
275
|
+
let canSignOff = report.obligations.some((o) => o.id === exports.SIGNOFF_OBLIGATION);
|
|
276
|
+
try {
|
|
277
|
+
assertCanSignOff(report);
|
|
278
|
+
}
|
|
279
|
+
catch {
|
|
280
|
+
canSignOff = false;
|
|
281
|
+
}
|
|
282
|
+
return { report, redecide: r.redecide, signoff: r.signoff, canSignOff };
|
|
283
|
+
}
|
|
284
|
+
/** Compute fresh, apply the waivers and the sign-off in force — read-only; `runJourney` commits the plan. */
|
|
285
|
+
function reconcileJourney(projectRoot, unit) {
|
|
233
286
|
const slug = (0, unit_paths_1.reportSlug)(unit);
|
|
234
287
|
(0, migration_sentinel_1.assertNoPendingMigration)(projectRoot, slug);
|
|
235
288
|
const report = computeFresh(projectRoot, unit);
|
|
@@ -237,48 +290,57 @@ function runJourney(projectRoot, unit) {
|
|
|
237
290
|
const state = loadState(sp) || { unit, auditHash: '', waivers: {} };
|
|
238
291
|
const curHash = auditHashOf(projectRoot, slug);
|
|
239
292
|
const sync = (0, legacy_waiver_migration_1.planWaiverSync)(projectRoot, unit, slug, sp, state.waivers);
|
|
293
|
+
const redecide = [];
|
|
240
294
|
for (const u of sync.untrusted) {
|
|
241
295
|
const title = report.obligations.find((o) => o.id === u.obligation)?.title ?? u.obligation;
|
|
242
|
-
|
|
296
|
+
const ignored = unwaivableWhy(u.obligation, unit);
|
|
297
|
+
if (!ignored)
|
|
298
|
+
redecide.push({ obligation: u.obligation, title, reason: u.waiver.reason, why: 'untrusted' });
|
|
299
|
+
report.needsYou.unshift({ text: ignored ? ignoredWaiverText(u.obligation, ignored, u.waiver.reason) : (0, legacy_waiver_migration_1.untrustedWaiverText)(unit, slug, title, u), anchor: { vpId: u.obligation } });
|
|
243
300
|
}
|
|
244
301
|
for (const ob of report.obligations) {
|
|
245
302
|
const w = sync.waivers[ob.id];
|
|
246
303
|
if (!w)
|
|
247
304
|
continue;
|
|
305
|
+
// A waiver recorded before `--waive` refused this obligation never opens it (review W1).
|
|
306
|
+
const ignored = unwaivableWhy(ob.id, unit);
|
|
307
|
+
if (ignored) {
|
|
308
|
+
report.needsYou.unshift({ text: ignoredWaiverText(ob.id, ignored, w.reason), anchor: { vpId: ob.id } });
|
|
309
|
+
continue;
|
|
310
|
+
}
|
|
248
311
|
if (w.auditHashAtWaive === curHash) {
|
|
249
312
|
ob.status = 'waived';
|
|
250
313
|
ob.waivedReason = w.reason;
|
|
251
314
|
ob.detail = `waived — ${w.reason}`;
|
|
252
315
|
}
|
|
253
316
|
else {
|
|
317
|
+
redecide.push({ obligation: ob.id, title: ob.title, reason: w.reason, why: 'stale' });
|
|
254
318
|
report.needsYou.unshift({ text: `⚠️ Waiver on "${ob.title}" is STALE (evidence changed since ${w.at}) — re-decide. Was: ${w.reason}`, anchor: { vpId: ob.id } });
|
|
255
319
|
}
|
|
256
320
|
}
|
|
257
321
|
// S5 — sign-off reconcile: a recorded sign-off satisfies OB-signoff while its evidence holds;
|
|
258
322
|
// if the audit changed since, the sign-off is STALE → re-surface for re-review (anti-amnesia).
|
|
259
323
|
const signoffOb = report.obligations.find((o) => o.id === 'OB-signoff');
|
|
324
|
+
let signoff = { status: 'pending' };
|
|
260
325
|
if (signoffOb && state.signoff) {
|
|
261
326
|
if (state.signoff.auditHashAtSignoff === curHash) {
|
|
327
|
+
signoff = { status: 'given', at: state.signoff.at };
|
|
262
328
|
signoffOb.status = 'satisfied';
|
|
263
|
-
signoffOb.detail = `signed off${state.signoff.by ? ' by ' + state.signoff.by : ''} at ${state.signoff.at}`;
|
|
329
|
+
signoffOb.detail = `signed off${state.signoff.by ? ' by ' + state.signoff.by : ''}${state.signoff.recordedBy ? ` (recorded by ${state.signoff.recordedBy})` : ''} at ${state.signoff.at}`;
|
|
264
330
|
}
|
|
265
331
|
else {
|
|
332
|
+
signoff = { status: 'stale', at: state.signoff.at };
|
|
266
333
|
report.needsYou.unshift({ text: `⚠️ Sign-off is STALE (suite changed since ${state.signoff.at}) — re-review and sign off again.`, anchor: { vpId: 'OB-signoff' } });
|
|
267
334
|
}
|
|
268
335
|
}
|
|
269
336
|
// Phase-03 carry-over: a decision that does not verify is a FINDING the gate blocks on, not a crash.
|
|
270
337
|
const decisionFindings = (0, journey_gate_inputs_1.journeyDecisionFindings)(projectRoot, (0, journey_gate_inputs_1.unitOverrides)(projectRoot, unit));
|
|
271
338
|
const next = { unit, auditHash: curHash, waivers: sync.stateWaivers, signoff: state.signoff };
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
throw err;
|
|
278
|
-
const rel = path.relative(projectRoot, err.path).split(path.sep).join('/');
|
|
279
|
-
if (!decisionFindings.some((f) => f.path === rel))
|
|
280
|
-
decisionFindings.push({ rule: 'decision.mutated', path: rel, message: err.message });
|
|
281
|
-
}
|
|
339
|
+
return { report, slug, statePath: sp, sync, next, decisionFindings, redecide, signoff };
|
|
340
|
+
}
|
|
341
|
+
/** The decision findings on the board, then the next suggestion — after the waivers and the sign-off. */
|
|
342
|
+
function finishReport(r, unit) {
|
|
343
|
+
const { report, decisionFindings } = r;
|
|
282
344
|
if (decisionFindings.length) {
|
|
283
345
|
report.decisionFindings = decisionFindings;
|
|
284
346
|
for (const f of [...decisionFindings].reverse())
|
|
@@ -287,6 +349,40 @@ function runJourney(projectRoot, unit) {
|
|
|
287
349
|
report.nextSuggested = computeNext(report, unit);
|
|
288
350
|
return report;
|
|
289
351
|
}
|
|
352
|
+
/** The single human gate (DOS §3.4, S5): given with `--signoff`, never waived (#936). */
|
|
353
|
+
exports.SIGNOFF_OBLIGATION = 'OB-signoff';
|
|
354
|
+
const signoffCommand = (unit) => `sungen journey --screen ${unit} --signoff --by "<name>"`;
|
|
355
|
+
exports.signoffCommand = signoffCommand;
|
|
356
|
+
/** "Never audited" (T3): a unit is measured by `sungen audit`, never waived through (review W2). */
|
|
357
|
+
exports.CREATE_OBLIGATION = 'OB-create';
|
|
358
|
+
/** Why a waiver can never accept `obId` (and what does instead), or null when it can. */
|
|
359
|
+
function unwaivableWhy(obId, unit) {
|
|
360
|
+
if (obId === exports.SIGNOFF_OBLIGATION)
|
|
361
|
+
return `sign-off is given with --signoff, never waived (${(0, exports.signoffCommand)(unit)})`;
|
|
362
|
+
if (obId === exports.CREATE_OBLIGATION)
|
|
363
|
+
return `an unaudited unit cannot be waived through — re-run \`sungen audit --screen ${unit}\``;
|
|
364
|
+
return null;
|
|
365
|
+
}
|
|
366
|
+
/** The review-queue line for a recorded waiver the board does not honour. */
|
|
367
|
+
const ignoredWaiverText = (obId, why, reason) => `⚠️ waiver on ${obId} ignored: ${why}. Was: ${reason}`;
|
|
368
|
+
/**
|
|
369
|
+
* Throws unless `obId` is an obligation of the board that a waiver can accept. Refused in every state,
|
|
370
|
+
* each with what does it instead: OB-signoff (before any audit it is not on the board, after one a
|
|
371
|
+
* waiver would let the human gate be waived away) and OB-create (an unaudited unit would pass every
|
|
372
|
+
* gate on a waiver; the audit measures it).
|
|
373
|
+
*/
|
|
374
|
+
function assertWaivable(report, unit, obId) {
|
|
375
|
+
if (obId === exports.SIGNOFF_OBLIGATION) {
|
|
376
|
+
throw new Error(`${exports.SIGNOFF_OBLIGATION} is the human sign-off — it is given, not waived. Once every other obligation is satisfied or waived, a human runs: ${(0, exports.signoffCommand)(unit)}`);
|
|
377
|
+
}
|
|
378
|
+
if (obId === exports.CREATE_OBLIGATION) {
|
|
379
|
+
throw new Error(`${exports.CREATE_OBLIGATION} means the unit has no audit that counts — an unaudited unit cannot be waived through. Run: sungen audit --screen ${unit}`);
|
|
380
|
+
}
|
|
381
|
+
const valid = report.obligations.map((o) => o.id).filter((id) => id !== exports.SIGNOFF_OBLIGATION && id !== exports.CREATE_OBLIGATION);
|
|
382
|
+
if (!valid.includes(obId)) {
|
|
383
|
+
throw new Error(`Unknown obligation "${obId}". Valid: ${valid.join(', ') || `none — the unit has no audit that counts; run sungen audit --screen ${unit}`}`);
|
|
384
|
+
}
|
|
385
|
+
}
|
|
290
386
|
/**
|
|
291
387
|
* Waive an obligation — REQUIRES a reason (anti-amnesia: a waiver leaves a recorded "why").
|
|
292
388
|
* Records the current evidence cursor so reconcile can invalidate it if the audit changes.
|
|
@@ -297,10 +393,7 @@ function waive(projectRoot, unit, obId, reason) {
|
|
|
297
393
|
}
|
|
298
394
|
const slug = (0, unit_paths_1.reportSlug)(unit);
|
|
299
395
|
const fresh = runJourney(projectRoot, unit); // stops on a pending migration; imports legacy waivers first
|
|
300
|
-
|
|
301
|
-
if (!valid.includes(obId)) {
|
|
302
|
-
throw new Error(`Unknown obligation "${obId}". Valid: ${valid.join(', ')}`);
|
|
303
|
-
}
|
|
396
|
+
assertWaivable(fresh, unit, obId);
|
|
304
397
|
const given = { reason: reason.trim(), at: new Date().toISOString(), auditHashAtWaive: auditHashOf(projectRoot, slug) };
|
|
305
398
|
(0, legacy_waiver_migration_1.recordWaiver)(projectRoot, unit, obId, given); // DOS-13.5: the decision layer is the record …
|
|
306
399
|
return runJourney(projectRoot, unit); // … and runJourney dual-writes it to the legacy file
|
|
@@ -310,8 +403,8 @@ function waive(projectRoot, unit, obId, reason) {
|
|
|
310
403
|
* obligation is satisfied or waived (you cannot sign off an unclean suite). Records who/when +
|
|
311
404
|
* the evidence cursor; reconcile invalidates it (stale → re-review) if the suite later changes.
|
|
312
405
|
*/
|
|
313
|
-
|
|
314
|
-
|
|
406
|
+
/** Throws unless the board may be signed off: no decision problem, every other obligation accepted. */
|
|
407
|
+
function assertCanSignOff(before) {
|
|
315
408
|
const blockers = before.obligations.filter((o) => o.id !== 'OB-signoff' && !accepted(o.status));
|
|
316
409
|
if (before.decisionFindings?.length) {
|
|
317
410
|
throw new Error(`Cannot sign off — ${before.decisionFindings.length} decision problem(s): ${before.decisionFindings.map((f) => `${f.rule} ${f.path}`).join(', ')}.`);
|
|
@@ -319,10 +412,24 @@ function signoff(projectRoot, unit, by) {
|
|
|
319
412
|
if (blockers.length) {
|
|
320
413
|
throw new Error(`Cannot sign off — still open: ${blockers.map((b) => b.id).join(', ')}. Fix, or waive each with a reason, first.`);
|
|
321
414
|
}
|
|
415
|
+
}
|
|
416
|
+
/** Who signs off: `--by`, else the git user; throws when neither names anyone (never `by: unknown`). */
|
|
417
|
+
function signoffSigner(projectRoot, unit, by) {
|
|
418
|
+
const gitUser = (0, decision_source_1.gitUserName)(projectRoot);
|
|
419
|
+
const signer = by?.trim() || gitUser;
|
|
420
|
+
if (signer === 'unknown') {
|
|
421
|
+
throw new Error(`Cannot sign off — no git user.name is set and no --by was given, so the sign-off would name nobody. Say who signs: ${(0, exports.signoffCommand)(unit)}`);
|
|
422
|
+
}
|
|
423
|
+
return { signer, gitUser };
|
|
424
|
+
}
|
|
425
|
+
function signoff(projectRoot, unit, by) {
|
|
426
|
+
// Attribution is not self-declared (review item 4): the git user is always on the record.
|
|
427
|
+
const { signer, gitUser } = signoffSigner(projectRoot, unit, by);
|
|
428
|
+
assertCanSignOff(runJourney(projectRoot, unit));
|
|
322
429
|
const slug = (0, unit_paths_1.reportSlug)(unit);
|
|
323
430
|
const sp = statePath(projectRoot, slug);
|
|
324
431
|
const state = loadState(sp) || { unit, auditHash: '', waivers: {} };
|
|
325
|
-
state.signoff = { by, at: new Date().toISOString(), auditHashAtSignoff: auditHashOf(projectRoot, slug) };
|
|
432
|
+
state.signoff = { by: signer, ...(signer !== gitUser ? { recordedBy: gitUser } : {}), at: new Date().toISOString(), auditHashAtSignoff: auditHashOf(projectRoot, slug) };
|
|
326
433
|
saveState(sp, state);
|
|
327
434
|
return runJourney(projectRoot, unit);
|
|
328
435
|
}
|
|
@@ -344,11 +451,30 @@ function writeJourneyFileBestEffort(file, text) {
|
|
|
344
451
|
}
|
|
345
452
|
}
|
|
346
453
|
const ICON = { satisfied: '✅', 'needs-work': '⚠️ ', pending: '⏳', waived: '🚫', overridden: '🔓' };
|
|
454
|
+
/** `ms` as a person reads a duration: `850 ms`, `45 s`, `8 min 40 s`. */
|
|
455
|
+
function elapsedLabel(ms) {
|
|
456
|
+
if (ms < 1000)
|
|
457
|
+
return `${ms} ms`;
|
|
458
|
+
const s = Math.round(ms / 1000);
|
|
459
|
+
return s < 60 ? `${s} s` : `${Math.floor(s / 60)} min${s % 60 ? ` ${s % 60} s` : ''}`;
|
|
460
|
+
}
|
|
461
|
+
/**
|
|
462
|
+
* A ledger step as the board shows it (#939 item 8). A step recorded with its elapsed milliseconds in the
|
|
463
|
+
* NAME (`--step "viewpoint 45000"`, the time meant for `--ms`) printed as a bare number; it reads
|
|
464
|
+
* `viewpoint (45 s)` now, and `timed` says the line needs its legend.
|
|
465
|
+
*/
|
|
466
|
+
function phaseLabel(step) {
|
|
467
|
+
const m = step.match(/^(.*\S)\s+(\d+)$/);
|
|
468
|
+
return m ? { label: `${m[1]} (${elapsedLabel(Number(m[2]))})`, timed: true } : { label: step, timed: false };
|
|
469
|
+
}
|
|
347
470
|
function renderJourneyBoard(r) {
|
|
348
471
|
const L = [];
|
|
349
472
|
L.push(`# Journey — ${r.unit}`);
|
|
350
473
|
L.push('');
|
|
351
|
-
|
|
474
|
+
const phases = r.phasesDone.map(phaseLabel);
|
|
475
|
+
const legend = phases.some((p) => p.timed) || phaseLabel(r.youAreHere).timed
|
|
476
|
+
? ` — a time is that phase's elapsed time, from the ledger (\`sungen ledger report --screen ${r.unit}\`)` : '';
|
|
477
|
+
L.push(`📍 **You are here:** ${phaseLabel(r.youAreHere).label}` + (phases.length ? ` (phases: ${phases.map((p) => p.label).join(' → ')})${legend}` : ''));
|
|
352
478
|
if (r.gateStatus)
|
|
353
479
|
L.push(` gate: **${r.gateStatus}** · score: ${r.score ?? '—'}/10`);
|
|
354
480
|
L.push('');
|
|
@@ -423,7 +549,14 @@ function renderGate(v) {
|
|
|
423
549
|
L.push(v.phaseOverriddenBy ? ' Open obligations:' : ' Blocking obligations (must be satisfied or explicitly waived):');
|
|
424
550
|
for (const b of v.blockers)
|
|
425
551
|
L.push(` • ${b.id} ${b.title} — ${b.detail}`);
|
|
426
|
-
|
|
552
|
+
// Name what each kind of blocker takes (#936): never offer to waive the sign-off or "never audited".
|
|
553
|
+
const waivable = v.blockers.map((b) => b.id).filter((id) => id.startsWith('OB-') && id !== exports.SIGNOFF_OBLIGATION && id !== 'OB-create');
|
|
554
|
+
if (waivable.length) {
|
|
555
|
+
L.push(` → Self-correct (repair / run-test), or, if accepted, waive with a reason: \`sungen journey --screen ${v.unit} --waive ${waivable.length === 1 ? waivable[0] : `<${waivable.join('|')}>`} --reason "..."\`.`);
|
|
556
|
+
}
|
|
557
|
+
if (v.blockers.some((b) => b.id === exports.SIGNOFF_OBLIGATION)) {
|
|
558
|
+
L.push(` → Human sign-off: once everything else is satisfied or waived, a human runs \`${(0, exports.signoffCommand)(v.unit)}\`.`);
|
|
559
|
+
}
|
|
427
560
|
}
|
|
428
561
|
else {
|
|
429
562
|
L.push(' All required obligations satisfied' + (v.waivedCredit.length ? ` (${v.waivedCredit.length} accepted via waiver)` : '') + '.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journey.js","sourceRoot":"","sources":["../../src/harness/journey.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"journey.js","sourceRoot":"","sources":["../../src/harness/journey.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoPA,gCAUC;AAgBD,oDAMC;AAmGD,wCAWC;AAMD,sBAUC;AAQD,4CAQC;AAGD,sCAOC;AAED,0BAUC;AAQD,gEASC;AAqBD,gDA0BC;AAoCD,0BA8BC;AAED,gCAqBC;AAuBD,8BAcC;AAGD,sCAaC;AAUD,8CA0BC;AA1qBD;;;;;;;;;;;;;GAaG;AACH,uCAAyB;AACzB,2CAA6B;AAC7B,+CAAiC;AACjC,6CAA0C;AAC1C,2CAA2C;AAC3C,oEAAuE;AACvE,kFAA2H;AAC3H,kEAAqE;AACrE,kEAA2D;AAC3D,uDAAmD;AACnD,qEAA4M;AAC5M,yEAAyF;AACzF,8DAA2D;AAkC3D,SAAS,QAAQ,CAAC,CAAS;IACzB,IAAI,CAAC;QAAC,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAA,wBAAY,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AAC9F,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAS;IACjC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,IAAA,wBAAY,EAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,SAAS;QAC3B,IAAI,CAAC;YAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAAC,IAAI,CAAC,CAAC,IAAI;gBAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,oGAAoG;AACpG,SAAS,cAAc,CAAC,CAAS;IAC/B,OAAO,2FAA2F,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7G,CAAC;AAED,+FAA+F;AAC/F,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAClE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AAC9G,CAAC;AAED,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,sDAAsD;AAEvE;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,QAA4B,EAAE,KAAU;IAClE,MAAM,EAAE,GAAG,aAAa,CAAC;IACzB,MAAM,KAAK,GAAG,oBAAoB,CAAC;IACnC,MAAM,GAAG,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC;IAC/G,MAAM,IAAI,GAAiD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAClH,IAAI,IAAI,CAAC,MAAM,IAAI,IAAA,0BAAW,EAAC,qCAAe,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpH,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,GAAG,kCAAkC,MAAM,6CAA6C,EAAE,CAAC;IAClJ,CAAC;IACD,MAAM,MAAM,GAAa,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;IAC3G,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,yBAAyB,EAAE,CAAC;AACxE,CAAC;AAED,SAAS,YAAY,CAAC,WAAmB,EAAE,IAAY;IACrD,MAAM,IAAI,GAAG,IAAA,uBAAU,EAAC,IAAI,CAAC,CAAC;IAC9B,qGAAqG;IACrG,MAAM,IAAI,GAAG,IAAA,sCAAgB,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;IAC/C,0GAA0G;IAC1G,MAAM,KAAK,GAAG,IAAI,CAAC,KAAY,CAAC;IAChC,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC;IAE9F,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,KAAK;QAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,MAAM,CAAC,MAAM;QAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEvC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;IAC7E,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1E,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAiB,EAAE,CAAC;IAElC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,0DAA0D;QAC1D,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,IAAI,gDAAgD,EAAE,CAAC,CAAC;QACrK,OAAO;YACL,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ;YAC/G,aAAa,EAAE,gBAAgB,IAAI,2BAA2B,GAAG,IAAI,GAAG,aAAa;YACrF,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/D,MAAM,cAAc,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC;IACrE,MAAM,EAAE,GAAG,CAAC,EAAU,EAAE,KAAa,EAAE,GAAuB,EAAE,GAAW,EAAE,MAAc,EAAc,EAAE,CAAC,CAAC;QAC3G,EAAE,EAAE,KAAK;QACT,MAAM,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY;QAC/E,MAAM,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,MAAM,EAAE;KAC9G,CAAC,CAAC;IAEH,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,gBAAgB,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,uCAAuC,CAAC,CAAC,CAAC;IACzG,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IACzD,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,yCAAyC,CAAC,CAAC,CAAC;IACjI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,+BAA+B,CAAC,CAAC,CAAC;IAEvH,kFAAkF;IAClF,MAAM,WAAW,GAAG,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,iBAAiB,CAAC,WAAW,GAAG,CAAC,CAAC;IACvF,WAAW,CAAC,IAAI,CAAC;QACf,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,qBAAqB;QACjD,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW;QAChD,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,WAAW,8CAA8C,CAAC,CAAC,CAAC,yCAAyC;KACvJ,CAAC,CAAC;IACH,oGAAoG;IACpG,MAAM,OAAO,GAAG,IAAA,yCAAmB,EAAC,WAAW,EAAE,KAAK,EAAE,IAAA,mCAAa,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;IAElG,2FAA2F;IAC3F,kGAAkG;IAClG,2FAA2F;IAC3F,yDAAyD;IACzD,MAAM,SAAS,GAA0C,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;IACpH,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,aAAa,CAAC,CAAC,IAAI,wIAAwI;YACjK,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;SAC9B,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAA,yCAAmB,EAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IACrF,MAAM,mBAAmB,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YAAE,SAAS;QACjC,IAAI,mBAAmB,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,SAAS,CAAC,6CAA6C;QAC1G,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,sGAAsG;IACtG,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9G,WAAW,CAAC,IAAI,CAAC;QACf,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS;QAC5D,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,qCAAqC,WAAW,sBAAsB;KACjG,CAAC,CAAC;IAEH,iGAAiG;IACjG,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,KAAK,YAAY,IAAI,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC;IACzH,IAAI,aAAqB,CAAC;IAC1B,IAAI,QAAQ;QAAE,aAAa,GAAG,WAAW,QAAQ,CAAC,KAAK,MAAM,QAAQ,CAAC,MAAM,IAAI,CAAC;SAC5E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,aAAa,GAAG,8CAA8C,IAAI,KAAK,CAAC;;QACzF,aAAa,GAAG,0CAA0C,QAAQ,CAAC,MAAM,2CAA2C,CAAC;IAE1H,OAAO;QACL,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM;QACzD,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI;QACzF,WAAW,EAAE,QAAQ,EAAE,aAAa;KACrC,CAAC;AACJ,CAAC;AASD,SAAS,SAAS,CAAC,WAAmB,EAAE,IAAY;IAClD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,aAAa,CAAC,CAAC;AAC5E,CAAC;AACD,mGAAmG;AACnG,SAAS,WAAW,CAAC,WAAmB,EAAE,IAAY;IACpD,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,aAAa,CAAC,CAAC;IAC7E,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtG,CAAC;AACD,SAAS,SAAS,CAAC,CAAS,IAAyB,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,SAAS,SAAS,CAAC,CAAS,EAAE,CAAe;IAC3C,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC;AAED,6GAA6G;AAC7G,MAAM,QAAQ,GAAG,CAAC,CAAW,EAAW,EAAE,CAAC,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,YAAY,CAAC;AAErG,4FAA4F;AAC5F,SAAS,WAAW,CAAC,CAAgB,EAAE,IAAY;IACjD,MAAM,GAAG,GAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,GAAG;QAAE,OAAO,WAAW,CAAC,CAAC,gBAAiB,CAAC,MAAM,gCAAgC,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC;IAChH,MAAM,GAAG,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC;IACpF,IAAI,GAAG;QAAE,OAAO,WAAW,GAAG,CAAC,KAAK,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC;IACzD,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,8CAA8C,IAAI,KAAK,CAAC;IAClI,OAAO,iDAAiD,CAAC,CAAC,QAAQ,CAAC,MAAM,2CAA2C,CAAC;AACvH,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,UAAU,CAAC,WAAmB,EAAE,IAAY;IAC1D,MAAM,CAAC,GAAG,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,IAAA,0CAAgB,EAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACpG,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,CAAC,GAAG,YAAY,uCAAqB,CAAC;YAAE,MAAM,GAAG,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3E,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC;YAAE,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9I,CAAC;IACD,OAAO,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC;AAeD,sHAAsH;AACtH,SAAgB,oBAAoB,CAAC,WAAmB,EAAE,IAAY;IACpE,MAAM,CAAC,GAAG,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACrC,IAAI,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,0BAAkB,CAAC,CAAC;IAC7E,IAAI,CAAC;QAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,UAAU,GAAG,KAAK,CAAC;IAAC,CAAC;IAC/D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;AAC1E,CAAC;AAaD,6GAA6G;AAC7G,SAAS,gBAAgB,CAAC,WAAmB,EAAE,IAAY;IACzD,MAAM,IAAI,GAAG,IAAA,uBAAU,EAAC,IAAI,CAAC,CAAC;IAC9B,IAAA,6CAAwB,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,EAAE,GAAG,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACpE,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAA,wCAAc,EAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACxE,MAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,UAAU,CAAC;QAC3F,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO;YAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QAC5G,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,6CAAmB,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACrL,CAAC;IAED,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,yFAAyF;QACzF,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,OAAO,EAAE,CAAC;YAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QACnI,IAAI,CAAC,CAAC,gBAAgB,KAAK,OAAO,EAAE,CAAC;YACnC,EAAE,CAAC,MAAM,GAAG,QAAQ,CAAC;YACrB,EAAE,CAAC,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;YAC3B,EAAE,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;YACtF,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,KAAK,sCAAsC,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACnK,CAAC;IACH,CAAC;IACD,8FAA8F;IAC9F,+FAA+F;IAC/F,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC;IACxE,IAAI,OAAO,GAA0B,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC3D,IAAI,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,kBAAkB,KAAK,OAAO,EAAE,CAAC;YACjD,OAAO,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YACpD,SAAS,CAAC,MAAM,GAAG,WAAW,CAAC;YAC/B,SAAS,CAAC,MAAM,GAAG,aAAa,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,KAAK,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAC5L,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YACpD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,6CAA6C,KAAK,CAAC,OAAO,CAAC,EAAE,mCAAmC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QACtK,CAAC;IACH,CAAC;IACD,qGAAqG;IACrG,MAAM,gBAAgB,GAAG,IAAA,6CAAuB,EAAC,WAAW,EAAE,IAAA,mCAAa,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IAChG,MAAM,IAAI,GAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;IAC5G,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC1F,CAAC;AAED,yGAAyG;AACzG,SAAS,YAAY,CAAC,CAAa,EAAE,IAAY;IAC/C,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC;IACvC,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC,OAAO,EAAE;YAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAA,yCAAmB,EAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACvI,CAAC;IACD,MAAM,CAAC,aAAa,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,yFAAyF;AAC5E,QAAA,kBAAkB,GAAG,YAAY,CAAC;AACxC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,2BAA2B,IAAI,0BAA0B,CAAC;AAArG,QAAA,cAAc,kBAAuF;AAElH,oGAAoG;AACvF,QAAA,iBAAiB,GAAG,WAAW,CAAC;AAE7C,yFAAyF;AACzF,SAAS,aAAa,CAAC,IAAY,EAAE,IAAY;IAC/C,IAAI,IAAI,KAAK,0BAAkB;QAAE,OAAO,mDAAmD,IAAA,sBAAc,EAAC,IAAI,CAAC,GAAG,CAAC;IACnH,IAAI,IAAI,KAAK,yBAAiB;QAAE,OAAO,+EAA+E,IAAI,IAAI,CAAC;IAC/H,OAAO,IAAI,CAAC;AACd,CAAC;AAED,6EAA6E;AAC7E,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,GAAW,EAAE,MAAc,EAAU,EAAE,CAAC,gBAAgB,IAAI,aAAa,GAAG,UAAU,MAAM,EAAE,CAAC;AAExI;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,MAAqB,EAAE,IAAY,EAAE,IAAY;IAC9E,IAAI,IAAI,KAAK,0BAAkB,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,GAAG,0BAAkB,uHAAuH,IAAA,sBAAc,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtL,CAAC;IACD,IAAI,IAAI,KAAK,yBAAiB,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,GAAG,yBAAiB,qHAAqH,IAAI,EAAE,CAAC,CAAC;IACnK,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,0BAAkB,IAAI,EAAE,KAAK,yBAAiB,CAAC,CAAC;IACxH,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,aAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,uEAAuE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/J,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,KAAK,CAAC,WAAmB,EAAE,IAAY,EAAE,IAAY,EAAE,MAAc;IACnF,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,6FAA6F,CAAC,CAAC;IACjH,CAAC;IACD,MAAM,IAAI,GAAG,IAAA,uBAAU,EAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAG,6DAA6D;IAC5G,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,gBAAgB,EAAE,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC;IACxH,IAAA,sCAAY,EAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAG,+CAA+C;IAC/F,OAAO,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAW,qDAAqD;AACvG,CAAC;AAED;;;;GAIG;AACH,uGAAuG;AACvG,SAAgB,gBAAgB,CAAC,MAAqB;IACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAChG,IAAI,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,CAAC,gBAAgB,CAAC,MAAM,yBAAyB,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvK,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,iCAAiC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IACrI,CAAC;AACH,CAAC;AAED,wGAAwG;AACxG,SAAgB,aAAa,CAAC,WAAmB,EAAE,IAAY,EAAE,EAAW;IAC1E,MAAM,OAAO,GAAG,IAAA,6BAAW,EAAC,WAAW,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC;IACrC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,sHAAsH,IAAA,sBAAc,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChK,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC;AAED,SAAgB,OAAO,CAAC,WAAmB,EAAE,IAAY,EAAE,EAAW;IACpE,0FAA0F;IAC1F,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACjE,gBAAgB,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,IAAA,uBAAU,EAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACpE,KAAK,CAAC,OAAO,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,kBAAkB,EAAE,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC;IACzK,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACrB,OAAO,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAEnE;;;GAGG;AACH,SAAgB,0BAA0B,CAAC,IAAY,EAAE,IAAY;IACnE,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,UAAU,CAAC,GAAG,CAAE,GAA6B,EAAE,IAAI,IAAI,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5E,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,IAAI,GAA6B,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AAE7H,yEAAyE;AACzE,SAAS,YAAY,CAAC,EAAU;IAC9B,IAAI,EAAE,GAAG,IAAI;QAAE,OAAO,GAAG,EAAE,KAAK,CAAC;IACjC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACxF,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACzC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC/G,CAAC;AAED,SAAgB,kBAAkB,CAAC,CAAgB;IACjD,MAAM,CAAC,GAAa,EAAE,CAAC;IACvB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK;QAC1E,CAAC,CAAC,4FAA4F,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACjH,CAAC,CAAC,IAAI,CAAC,wBAAwB,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3J,IAAI,CAAC,CAAC,UAAU;QAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,UAAU,eAAe,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,CAAC;IACvF,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW;QAAE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1F,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,CAAC,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1E,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;YACpB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;;QAAM,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACpC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAwBD,MAAM,cAAc,GAAgC;IAClD,kFAAkF;IAClF,MAAM,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,CAAC;IAC1D,oDAAoD;IACpD,GAAG,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,CAAC;IACxE,0EAA0E;IAC1E,OAAO,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,CAAC;CAC3F,CAAC;AAEF,2GAA2G;AAC3G,MAAM,UAAU,GAA8B,EAAE,MAAM,EAAE,sBAAsB,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAE7I,SAAgB,OAAO,CAAC,WAAmB,EAAE,IAAY,EAAE,KAAgB;IACzE,MAAM,CAAC,GAAG,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACvC,2GAA2G;IAC3G,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;IAC5F,MAAM,SAAS,GAAG,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,oFAAoF;IACpF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC9F,MAAM,SAAS,GAAG,IAAA,mCAAa,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACnD,8FAA8F;IAC9F,mGAAmG;IACnG,MAAM,MAAM,GAAG,CAAC,6BAAa,EAAE,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtF,MAAM,IAAI,GAAG;QACX,GAAG,CAAC,CAAC,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,0BAAW,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;aACtE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAChG,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,IAAA,0BAAW,EAAC,mCAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,mDAA2B,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAClH,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,mCAAW,EAAE,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACnI,GAAG,YAAY;KAChB,CAAC;IACF,MAAM,SAAS,GAAG,IAAA,0BAAW,EAAC,UAAU,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5G,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9I,OAAO;QACL,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY;QAC7E,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChG,CAAC;AACJ,CAAC;AAED,SAAgB,UAAU,CAAC,CAAc;IACvC,MAAM,CAAC,GAAa,EAAE,CAAC;IACvB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC;IACtG,IAAI,CAAC,CAAC,iBAAiB;QAAE,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,iBAAiB,kEAAkE,CAAC,CAAC;IAClJ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,kEAAkE,CAAC,CAAC;QACzH,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ;YAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5E,qGAAqG;QACrG,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,0BAAkB,IAAI,EAAE,KAAK,WAAW,CAAC,CAAC;QACrI,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,CAAC,CAAC,IAAI,CAAC,yGAAyG,CAAC,CAAC,IAAI,YAAY,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,CAAC;QACzN,CAAC;QACD,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,0BAAkB,CAAC,EAAE,CAAC;YACxD,CAAC,CAAC,IAAI,CAAC,mFAAmF,IAAA,sBAAc,EAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,CAAC,CAAC,IAAI,CAAC,sCAAsC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,MAAM,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;IAC1I,CAAC;IACD,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAsBD,kFAAkF;AAClF,SAAgB,SAAS,CAAC,WAAmB;IAC3C,MAAM,GAAG,GAAuC,EAAE,CAAC;IACnD,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,IAAc,EAAE,EAAE;QAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAAE,OAAO;QAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC3D,yFAAyF;YACzF,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAClG,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC1B,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACtB,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACnB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,wFAAwF;AACxF,SAAgB,aAAa,CAAC,WAAmB;IAC/C,OAAO,SAAS,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;QACnD,MAAM,CAAC,GAAG,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,MAAM,KAAK,WAAW,CAAC;QAC3F,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CACpD,CAAC,MAAM,CAAC;QACT,OAAO;YACL,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU;YAC9E,eAAe,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS;YAC1D,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC;SAC3C,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,CAAc;IACrC,IAAI,CAAC,CAAC,CAAC,OAAO;QAAE,OAAO,gBAAgB,CAAC;IACxC,IAAI,CAAC,CAAC,SAAS;QAAE,OAAO,cAAc,CAAC;IACvC,IAAI,CAAC,CAAC,eAAe,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,eAAe,qBAAqB,CAAC;IAC9E,IAAI,CAAC,CAAC,WAAW,GAAG,CAAC;QAAE,OAAO,aAAa,CAAC,CAAC,WAAW,UAAU,CAAC;IACnE,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED,SAAgB,iBAAiB,CAAC,IAAmB;IACnD,MAAM,CAAC,GAAa,EAAE,CAAC;IACvB,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACxC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,CAAC,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QACtE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,CAAC,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IACzD,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,CAAC,UAAU,IAAI,GAAG,MAAM,CAAC,CAAC,UAAU,MAAM,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7H,CAAC;IACD,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;IAChH,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,mBAAmB,OAAO,CAAC,MAAM,4BAA4B,UAAU,CAAC,MAAM,eAAe,CAAC,CAAC;IAChK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,CAAC,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC,IAAI;QAAE,CAAC,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;SACpE,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,8BAA8B,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;;QAC/F,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,OAAO,eAAe,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,IAAI,oBAAoB,CAAC,CAAC;IAC7H,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { HeadSnapshot } from '../contract/contract-git';
|
|
2
2
|
import { EvaluateOptions } from '../graph/evaluate-graph';
|
|
3
|
+
import type { HumanAction } from '../graph/human-action';
|
|
3
4
|
import type { TestCaseState } from '../graph/test-case-state-shape';
|
|
4
5
|
import { AuditNotCounted, ContractSummary } from '../graph/unit-state-facts';
|
|
6
|
+
import { ResultsFreshness } from '../graph/unit-results-freshness';
|
|
5
7
|
export interface NextStep {
|
|
6
8
|
/** The command to run, as the operator would type it. */
|
|
7
9
|
command: string;
|
|
@@ -65,7 +67,22 @@ export interface UnitState {
|
|
|
65
67
|
contract?: ContractSummary;
|
|
66
68
|
/** Per-test-case state (DOS-11.1); absent when not read from disk or unreadable. */
|
|
67
69
|
testCases?: TestCaseState[];
|
|
70
|
+
/** Which run the results come from and what they are older than (#942); absent without results. Advisory, decides no step. */
|
|
71
|
+
results?: ResultsFreshness;
|
|
68
72
|
steps: NextStep[];
|
|
73
|
+
/**
|
|
74
|
+
* Every pending HUMAN-ONLY action ("Waiting for you", #954): the frontier's decisions (deriveHumanActions)
|
|
75
|
+
* and the board's asks (sign-off, a waiver to give again, a decision recorded during the run). Set by
|
|
76
|
+
* readUnitState; commands canonical (`sungen …`). An agent presents them and never runs them.
|
|
77
|
+
*/
|
|
78
|
+
humanActions?: HumanAction[];
|
|
79
|
+
/**
|
|
80
|
+
* The title of the blocking step that cut the frontier: past it only actions that do not depend on it
|
|
81
|
+
* are listed (sign-off, accept-in-run and the first contract approval wait). Absent when nothing cuts.
|
|
82
|
+
*/
|
|
83
|
+
humanActionsHeldBy?: string;
|
|
84
|
+
/** The canonical command of that blocking step (#966) — what clears the hold. */
|
|
85
|
+
humanActionsHeldByCommand?: string;
|
|
69
86
|
}
|
|
70
87
|
export interface ReadUnitStateOptions {
|
|
71
88
|
/** git HEAD read once for many units (`sungen next` with no unit). */
|
|
@@ -84,4 +101,6 @@ export declare function readUnitState(projectRoot: string, unitDir: string, unit
|
|
|
84
101
|
* is one node, and an open blocking node cuts everything after it, exactly as the `return`s did.
|
|
85
102
|
*/
|
|
86
103
|
export declare function deriveSteps(s: UnitState, opts?: EvaluateOptions): NextStep[];
|
|
104
|
+
/** The human-only actions of the same frontier (#954) — the graph's part of `humanActions`, without the board. */
|
|
105
|
+
export declare function deriveHumanActions(s: UnitState): HumanAction[];
|
|
87
106
|
//# sourceMappingURL=next-step.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next-step.d.ts","sourceRoot":"","sources":["../../src/harness/next-step.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"next-step.d.ts","sourceRoot":"","sources":["../../src/harness/next-step.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.readUnitState = readUnitState;
|
|
37
37
|
exports.deriveSteps = deriveSteps;
|
|
38
|
+
exports.deriveHumanActions = deriveHumanActions;
|
|
38
39
|
/**
|
|
39
40
|
* "What now?" — one deterministic resolver over the project's own state.
|
|
40
41
|
*
|
|
@@ -55,11 +56,13 @@ const fs = __importStar(require("fs"));
|
|
|
55
56
|
const path = __importStar(require("path"));
|
|
56
57
|
const unit_paths_1 = require("./unit-paths");
|
|
57
58
|
const assets_drift_1 = require("../orchestrator/assets-drift");
|
|
59
|
+
const board_human_actions_1 = require("../graph/board-human-actions");
|
|
58
60
|
const evaluate_graph_1 = require("../graph/evaluate-graph");
|
|
59
61
|
const core_node_catalog_1 = require("../graph/nodes/core-node-catalog");
|
|
60
62
|
const test_case_states_1 = require("../graph/test-case-states");
|
|
61
63
|
const unit_artifact_probes_1 = require("../graph/unit-artifact-probes");
|
|
62
64
|
const unit_state_facts_1 = require("../graph/unit-state-facts");
|
|
65
|
+
const unit_results_freshness_1 = require("../graph/unit-results-freshness");
|
|
63
66
|
const exists = (p) => fs.existsSync(p);
|
|
64
67
|
/**
|
|
65
68
|
* Everything the resolver needs, read from disk. `unit` is the catalog id
|
|
@@ -124,7 +127,21 @@ function readUnitState(projectRoot, unitDir, unit, kind, opts = {}) {
|
|
|
124
127
|
.map((tc) => (contract?.cases.has(tc.id) ? { ...tc, contract: contract.cases.get(tc.id) } : tc));
|
|
125
128
|
}
|
|
126
129
|
catch { /* an unparseable .feature — the unit-level nodes still answer, as before test-case state */ }
|
|
130
|
+
try {
|
|
131
|
+
const results = (0, unit_results_freshness_1.resultsFreshness)(projectRoot, unitDir, unit);
|
|
132
|
+
if (results)
|
|
133
|
+
state.results = results;
|
|
134
|
+
}
|
|
135
|
+
catch { /* advisory: results that cannot be dated add nothing */ }
|
|
127
136
|
state.steps = deriveSteps(state);
|
|
137
|
+
const graph = (0, evaluate_graph_1.evaluateHumanActions)(core_node_catalog_1.CORE_NODES, state, state.testCases);
|
|
138
|
+
const seen = new Set();
|
|
139
|
+
state.humanActions = [...graph.actions, ...(0, board_human_actions_1.boardHumanActions)(projectRoot, unitDir, state, graph.cut)]
|
|
140
|
+
.filter((a) => !seen.has(a.command) && Boolean(seen.add(a.command)));
|
|
141
|
+
if (graph.heldBy)
|
|
142
|
+
state.humanActionsHeldBy = graph.heldBy;
|
|
143
|
+
if (graph.heldByCommand)
|
|
144
|
+
state.humanActionsHeldByCommand = graph.heldByCommand;
|
|
128
145
|
return state;
|
|
129
146
|
}
|
|
130
147
|
/**
|
|
@@ -135,4 +152,8 @@ function readUnitState(projectRoot, unitDir, unit, kind, opts = {}) {
|
|
|
135
152
|
function deriveSteps(s, opts = {}) {
|
|
136
153
|
return (0, evaluate_graph_1.evaluateGraph)(core_node_catalog_1.CORE_NODES, s, s.testCases, opts);
|
|
137
154
|
}
|
|
155
|
+
/** The human-only actions of the same frontier (#954) — the graph's part of `humanActions`, without the board. */
|
|
156
|
+
function deriveHumanActions(s) {
|
|
157
|
+
return (0, evaluate_graph_1.evaluateHumanActions)(core_node_catalog_1.CORE_NODES, s, s.testCases).actions;
|
|
158
|
+
}
|
|
138
159
|
//# sourceMappingURL=next-step.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next-step.js","sourceRoot":"","sources":["../../src/harness/next-step.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"next-step.js","sourceRoot":"","sources":["../../src/harness/next-step.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The version of the audit's SCORING CODE. Bump it (by one) in the same change whenever what
|
|
3
|
+
* `runAudit` computes for the same project can change: a sensor, a threshold, a gate term
|
|
4
|
+
* (audit-gate-terms.ts), the score model or weights, a finding that feeds the verdict, or the
|
|
5
|
+
* audit sensor of a bundled driver. Every report scored before the bump then reads stale and asks
|
|
6
|
+
* for one `sungen audit`. Catalog edits (harness/catalog/*.yaml) and bundled-driver changes (their
|
|
7
|
+
* sources and catalogs are hashed) need no bump.
|
|
8
|
+
* A release that changes none of these keeps every report trusted across the upgrade.
|
|
9
|
+
* Enforced by tests/audit/run.ts: its rules lock (tests/audit/audit-rules.lock.json) fails when the
|
|
10
|
+
* fixtures' audit output changes under an unchanged rules hash. After the bump, re-record it:
|
|
11
|
+
* npx tsx tests/audit/run.ts --record-rules-lock
|
|
12
|
+
*/
|
|
13
|
+
export declare const AUDIT_RULES_VERSION = 1;
|
|
1
14
|
export interface Provenance {
|
|
2
15
|
sungenVersion: string;
|
|
3
16
|
catalogHash: string;
|
|
17
|
+
rulesHash: string;
|
|
4
18
|
}
|
|
19
|
+
/** A bundled driver as an input of the rules: its package dir, or null when it is not installed. */
|
|
20
|
+
export interface DriverRulesInput {
|
|
21
|
+
name: string;
|
|
22
|
+
version?: string;
|
|
23
|
+
dir: string | null;
|
|
24
|
+
}
|
|
25
|
+
/** Each bundled driver as discovery would load it (project anchor, then core's), or `absent`. */
|
|
26
|
+
export declare function bundledDriverRulesInputs(): DriverRulesInput[];
|
|
27
|
+
/**
|
|
28
|
+
* The rules hash: the scoring version, every *.yaml of the catalog dir (by name), and each bundled
|
|
29
|
+
* driver — every source / catalog file of its package (by relative path; build output, tests and
|
|
30
|
+
* dependencies excluded), or a stable `absent` marker when it is not installed. A driver's version is
|
|
31
|
+
* deliberately left out: releases bump every package in lockstep, and only content changes the rules.
|
|
32
|
+
*/
|
|
33
|
+
export declare function rulesHashOf(rulesVersion: number, catalogDir?: string, drivers?: DriverRulesInput[]): string;
|
|
5
34
|
export declare function getProvenance(): Provenance;
|
|
6
35
|
//# sourceMappingURL=provenance.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../../src/harness/provenance.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../../src/harness/provenance.ts"],"names":[],"mappings":"AAqBA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,oGAAoG;AACpG,MAAM,WAAW,gBAAgB;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE;AA6BxF,iGAAiG;AACjG,wBAAgB,wBAAwB,IAAI,gBAAgB,EAAE,CAQ7D;AAKD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,GAAE,MAAoB,EAAE,OAAO,GAAE,gBAAgB,EAA+B,GAAG,MAAM,CAUpJ;AAID,wBAAgB,aAAa,IAAI,UAAU,CAe1C"}
|