tapps-agents 3.5.40__py3-none-any.whl → 3.6.0__py3-none-any.whl
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.
- tapps_agents/__init__.py +2 -2
- tapps_agents/agents/__init__.py +22 -22
- tapps_agents/agents/analyst/__init__.py +5 -5
- tapps_agents/agents/architect/__init__.py +5 -5
- tapps_agents/agents/architect/agent.py +1033 -1033
- tapps_agents/agents/architect/pattern_detector.py +75 -75
- tapps_agents/agents/cleanup/__init__.py +7 -7
- tapps_agents/agents/cleanup/agent.py +445 -445
- tapps_agents/agents/debugger/__init__.py +7 -7
- tapps_agents/agents/debugger/agent.py +310 -310
- tapps_agents/agents/debugger/error_analyzer.py +437 -437
- tapps_agents/agents/designer/__init__.py +5 -5
- tapps_agents/agents/designer/agent.py +786 -786
- tapps_agents/agents/designer/visual_designer.py +638 -638
- tapps_agents/agents/documenter/__init__.py +7 -7
- tapps_agents/agents/documenter/agent.py +531 -531
- tapps_agents/agents/documenter/doc_generator.py +472 -472
- tapps_agents/agents/documenter/doc_validator.py +393 -393
- tapps_agents/agents/documenter/framework_doc_updater.py +493 -493
- tapps_agents/agents/enhancer/__init__.py +7 -7
- tapps_agents/agents/evaluator/__init__.py +7 -7
- tapps_agents/agents/evaluator/agent.py +443 -443
- tapps_agents/agents/evaluator/priority_evaluator.py +641 -641
- tapps_agents/agents/evaluator/quality_analyzer.py +147 -147
- tapps_agents/agents/evaluator/report_generator.py +344 -344
- tapps_agents/agents/evaluator/usage_analyzer.py +192 -192
- tapps_agents/agents/evaluator/workflow_analyzer.py +189 -189
- tapps_agents/agents/implementer/__init__.py +7 -7
- tapps_agents/agents/implementer/agent.py +798 -798
- tapps_agents/agents/implementer/auto_fix.py +1119 -1119
- tapps_agents/agents/implementer/code_generator.py +73 -73
- tapps_agents/agents/improver/__init__.py +1 -1
- tapps_agents/agents/improver/agent.py +753 -753
- tapps_agents/agents/ops/__init__.py +1 -1
- tapps_agents/agents/ops/agent.py +619 -619
- tapps_agents/agents/ops/dependency_analyzer.py +600 -600
- tapps_agents/agents/orchestrator/__init__.py +5 -5
- tapps_agents/agents/orchestrator/agent.py +522 -522
- tapps_agents/agents/planner/__init__.py +7 -7
- tapps_agents/agents/planner/agent.py +1127 -1127
- tapps_agents/agents/reviewer/__init__.py +24 -24
- tapps_agents/agents/reviewer/agent.py +3513 -3513
- tapps_agents/agents/reviewer/aggregator.py +213 -213
- tapps_agents/agents/reviewer/batch_review.py +448 -448
- tapps_agents/agents/reviewer/cache.py +443 -443
- tapps_agents/agents/reviewer/context7_enhancer.py +630 -630
- tapps_agents/agents/reviewer/context_detector.py +203 -203
- tapps_agents/agents/reviewer/docker_compose_validator.py +158 -158
- tapps_agents/agents/reviewer/dockerfile_validator.py +176 -176
- tapps_agents/agents/reviewer/error_handling.py +126 -126
- tapps_agents/agents/reviewer/feedback_generator.py +490 -490
- tapps_agents/agents/reviewer/influxdb_validator.py +316 -316
- tapps_agents/agents/reviewer/issue_tracking.py +169 -169
- tapps_agents/agents/reviewer/library_detector.py +295 -295
- tapps_agents/agents/reviewer/library_patterns.py +268 -268
- tapps_agents/agents/reviewer/maintainability_scorer.py +593 -593
- tapps_agents/agents/reviewer/metric_strategies.py +276 -276
- tapps_agents/agents/reviewer/mqtt_validator.py +160 -160
- tapps_agents/agents/reviewer/output_enhancer.py +105 -105
- tapps_agents/agents/reviewer/pattern_detector.py +241 -241
- tapps_agents/agents/reviewer/performance_scorer.py +357 -357
- tapps_agents/agents/reviewer/phased_review.py +516 -516
- tapps_agents/agents/reviewer/progressive_review.py +435 -435
- tapps_agents/agents/reviewer/react_scorer.py +331 -331
- tapps_agents/agents/reviewer/score_constants.py +228 -228
- tapps_agents/agents/reviewer/score_validator.py +507 -507
- tapps_agents/agents/reviewer/scorer_registry.py +373 -373
- tapps_agents/agents/reviewer/scoring.py +1566 -1566
- tapps_agents/agents/reviewer/service_discovery.py +534 -534
- tapps_agents/agents/reviewer/tools/__init__.py +41 -41
- tapps_agents/agents/reviewer/tools/parallel_executor.py +581 -581
- tapps_agents/agents/reviewer/tools/ruff_grouping.py +250 -250
- tapps_agents/agents/reviewer/tools/scoped_mypy.py +284 -284
- tapps_agents/agents/reviewer/typescript_scorer.py +1142 -1142
- tapps_agents/agents/reviewer/validation.py +208 -208
- tapps_agents/agents/reviewer/websocket_validator.py +132 -132
- tapps_agents/agents/tester/__init__.py +7 -7
- tapps_agents/agents/tester/accessibility_auditor.py +309 -309
- tapps_agents/agents/tester/agent.py +1080 -1080
- tapps_agents/agents/tester/batch_generator.py +54 -54
- tapps_agents/agents/tester/context_learner.py +51 -51
- tapps_agents/agents/tester/coverage_analyzer.py +386 -386
- tapps_agents/agents/tester/coverage_test_generator.py +290 -290
- tapps_agents/agents/tester/debug_enhancer.py +238 -238
- tapps_agents/agents/tester/device_emulator.py +241 -241
- tapps_agents/agents/tester/integration_generator.py +62 -62
- tapps_agents/agents/tester/network_recorder.py +300 -300
- tapps_agents/agents/tester/performance_monitor.py +320 -320
- tapps_agents/agents/tester/test_fixer.py +316 -316
- tapps_agents/agents/tester/test_generator.py +632 -632
- tapps_agents/agents/tester/trace_manager.py +234 -234
- tapps_agents/agents/tester/visual_regression.py +291 -291
- tapps_agents/analysis/pattern_detector.py +36 -36
- tapps_agents/beads/hydration.py +213 -213
- tapps_agents/beads/parse.py +32 -32
- tapps_agents/beads/specs.py +206 -206
- tapps_agents/cli/__init__.py +9 -9
- tapps_agents/cli/__main__.py +8 -8
- tapps_agents/cli/base.py +478 -478
- tapps_agents/cli/command_classifier.py +72 -72
- tapps_agents/cli/commands/__init__.py +2 -2
- tapps_agents/cli/commands/analyst.py +173 -173
- tapps_agents/cli/commands/architect.py +109 -109
- tapps_agents/cli/commands/cleanup_agent.py +92 -92
- tapps_agents/cli/commands/common.py +126 -126
- tapps_agents/cli/commands/debugger.py +90 -90
- tapps_agents/cli/commands/designer.py +112 -112
- tapps_agents/cli/commands/documenter.py +136 -136
- tapps_agents/cli/commands/enhancer.py +110 -110
- tapps_agents/cli/commands/evaluator.py +255 -255
- tapps_agents/cli/commands/health.py +665 -665
- tapps_agents/cli/commands/implementer.py +301 -301
- tapps_agents/cli/commands/improver.py +91 -91
- tapps_agents/cli/commands/knowledge.py +111 -111
- tapps_agents/cli/commands/learning.py +172 -172
- tapps_agents/cli/commands/observability.py +283 -283
- tapps_agents/cli/commands/ops.py +135 -135
- tapps_agents/cli/commands/orchestrator.py +116 -116
- tapps_agents/cli/commands/planner.py +237 -237
- tapps_agents/cli/commands/reviewer.py +1872 -1872
- tapps_agents/cli/commands/status.py +285 -285
- tapps_agents/cli/commands/task.py +227 -219
- tapps_agents/cli/commands/tester.py +191 -191
- tapps_agents/cli/commands/top_level.py +3586 -3586
- tapps_agents/cli/feedback.py +936 -936
- tapps_agents/cli/formatters.py +608 -608
- tapps_agents/cli/help/__init__.py +7 -7
- tapps_agents/cli/help/static_help.py +425 -425
- tapps_agents/cli/network_detection.py +110 -110
- tapps_agents/cli/output_compactor.py +274 -274
- tapps_agents/cli/parsers/__init__.py +2 -2
- tapps_agents/cli/parsers/analyst.py +186 -186
- tapps_agents/cli/parsers/architect.py +167 -167
- tapps_agents/cli/parsers/cleanup_agent.py +228 -228
- tapps_agents/cli/parsers/debugger.py +116 -116
- tapps_agents/cli/parsers/designer.py +182 -182
- tapps_agents/cli/parsers/documenter.py +134 -134
- tapps_agents/cli/parsers/enhancer.py +113 -113
- tapps_agents/cli/parsers/evaluator.py +213 -213
- tapps_agents/cli/parsers/implementer.py +168 -168
- tapps_agents/cli/parsers/improver.py +132 -132
- tapps_agents/cli/parsers/ops.py +159 -159
- tapps_agents/cli/parsers/orchestrator.py +98 -98
- tapps_agents/cli/parsers/planner.py +145 -145
- tapps_agents/cli/parsers/reviewer.py +462 -462
- tapps_agents/cli/parsers/tester.py +124 -124
- tapps_agents/cli/progress_heartbeat.py +254 -254
- tapps_agents/cli/streaming_progress.py +336 -336
- tapps_agents/cli/utils/__init__.py +6 -6
- tapps_agents/cli/utils/agent_lifecycle.py +48 -48
- tapps_agents/cli/utils/error_formatter.py +82 -82
- tapps_agents/cli/utils/error_recovery.py +188 -188
- tapps_agents/cli/utils/output_handler.py +59 -59
- tapps_agents/cli/utils/prompt_enhancer.py +319 -319
- tapps_agents/cli/validators/__init__.py +9 -9
- tapps_agents/cli/validators/command_validator.py +81 -81
- tapps_agents/context7/__init__.py +112 -112
- tapps_agents/context7/agent_integration.py +869 -869
- tapps_agents/context7/analytics.py +382 -382
- tapps_agents/context7/analytics_dashboard.py +299 -299
- tapps_agents/context7/async_cache.py +681 -681
- tapps_agents/context7/backup_client.py +958 -958
- tapps_agents/context7/cache_locking.py +194 -194
- tapps_agents/context7/cache_metadata.py +214 -214
- tapps_agents/context7/cache_prewarm.py +488 -488
- tapps_agents/context7/cache_structure.py +168 -168
- tapps_agents/context7/cache_warming.py +604 -604
- tapps_agents/context7/circuit_breaker.py +376 -376
- tapps_agents/context7/cleanup.py +461 -461
- tapps_agents/context7/commands.py +858 -858
- tapps_agents/context7/credential_validation.py +276 -276
- tapps_agents/context7/cross_reference_resolver.py +168 -168
- tapps_agents/context7/cross_references.py +424 -424
- tapps_agents/context7/doc_manager.py +225 -225
- tapps_agents/context7/fuzzy_matcher.py +369 -369
- tapps_agents/context7/kb_cache.py +404 -404
- tapps_agents/context7/language_detector.py +219 -219
- tapps_agents/context7/library_detector.py +725 -725
- tapps_agents/context7/lookup.py +738 -738
- tapps_agents/context7/metadata.py +258 -258
- tapps_agents/context7/refresh_queue.py +300 -300
- tapps_agents/context7/security.py +373 -373
- tapps_agents/context7/staleness_policies.py +278 -278
- tapps_agents/context7/tiles_integration.py +47 -47
- tapps_agents/continuous_bug_fix/__init__.py +20 -20
- tapps_agents/continuous_bug_fix/bug_finder.py +306 -306
- tapps_agents/continuous_bug_fix/bug_fix_coordinator.py +177 -177
- tapps_agents/continuous_bug_fix/commit_manager.py +178 -178
- tapps_agents/continuous_bug_fix/continuous_bug_fixer.py +322 -322
- tapps_agents/continuous_bug_fix/proactive_bug_finder.py +285 -285
- tapps_agents/core/__init__.py +298 -298
- tapps_agents/core/adaptive_cache_config.py +432 -432
- tapps_agents/core/agent_base.py +647 -647
- tapps_agents/core/agent_cache.py +466 -466
- tapps_agents/core/agent_learning.py +1865 -1865
- tapps_agents/core/analytics_dashboard.py +563 -563
- tapps_agents/core/analytics_enhancements.py +597 -597
- tapps_agents/core/anonymization.py +274 -274
- tapps_agents/core/artifact_context_builder.py +293 -0
- tapps_agents/core/ast_parser.py +228 -228
- tapps_agents/core/async_file_ops.py +402 -402
- tapps_agents/core/best_practice_consultant.py +299 -299
- tapps_agents/core/brownfield_analyzer.py +299 -299
- tapps_agents/core/brownfield_review.py +541 -541
- tapps_agents/core/browser_controller.py +513 -513
- tapps_agents/core/capability_registry.py +418 -418
- tapps_agents/core/change_impact_analyzer.py +190 -190
- tapps_agents/core/checkpoint_manager.py +377 -377
- tapps_agents/core/code_generator.py +329 -329
- tapps_agents/core/code_validator.py +276 -276
- tapps_agents/core/command_registry.py +327 -327
- tapps_agents/core/config.py +33 -0
- tapps_agents/core/context_gathering/__init__.py +2 -2
- tapps_agents/core/context_gathering/repository_explorer.py +28 -28
- tapps_agents/core/context_intelligence/__init__.py +2 -2
- tapps_agents/core/context_intelligence/relevance_scorer.py +24 -24
- tapps_agents/core/context_intelligence/token_budget_manager.py +27 -27
- tapps_agents/core/context_manager.py +240 -240
- tapps_agents/core/cursor_feedback_monitor.py +146 -146
- tapps_agents/core/cursor_verification.py +290 -290
- tapps_agents/core/customization_loader.py +280 -280
- tapps_agents/core/customization_schema.py +260 -260
- tapps_agents/core/customization_template.py +238 -238
- tapps_agents/core/debug_logger.py +124 -124
- tapps_agents/core/design_validator.py +298 -298
- tapps_agents/core/diagram_generator.py +226 -226
- tapps_agents/core/docker_utils.py +232 -232
- tapps_agents/core/document_generator.py +617 -617
- tapps_agents/core/domain_detector.py +30 -30
- tapps_agents/core/error_envelope.py +454 -454
- tapps_agents/core/error_handler.py +270 -270
- tapps_agents/core/estimation_tracker.py +189 -189
- tapps_agents/core/eval_prompt_engine.py +116 -116
- tapps_agents/core/evaluation_base.py +119 -119
- tapps_agents/core/evaluation_models.py +320 -320
- tapps_agents/core/evaluation_orchestrator.py +225 -225
- tapps_agents/core/evaluators/__init__.py +7 -7
- tapps_agents/core/evaluators/architectural_evaluator.py +205 -205
- tapps_agents/core/evaluators/behavioral_evaluator.py +160 -160
- tapps_agents/core/evaluators/performance_profile_evaluator.py +160 -160
- tapps_agents/core/evaluators/security_posture_evaluator.py +148 -148
- tapps_agents/core/evaluators/spec_compliance_evaluator.py +181 -181
- tapps_agents/core/exceptions.py +107 -107
- tapps_agents/core/expert_config_generator.py +293 -293
- tapps_agents/core/export_schema.py +202 -202
- tapps_agents/core/external_feedback_models.py +102 -102
- tapps_agents/core/external_feedback_storage.py +213 -213
- tapps_agents/core/fallback_strategy.py +314 -314
- tapps_agents/core/feedback_analyzer.py +162 -162
- tapps_agents/core/feedback_collector.py +178 -178
- tapps_agents/core/git_operations.py +445 -445
- tapps_agents/core/hardware_profiler.py +151 -151
- tapps_agents/core/instructions.py +324 -324
- tapps_agents/core/io_guardrails.py +69 -69
- tapps_agents/core/issue_manifest.py +249 -249
- tapps_agents/core/issue_schema.py +139 -139
- tapps_agents/core/json_utils.py +128 -128
- tapps_agents/core/knowledge_graph.py +446 -446
- tapps_agents/core/language_detector.py +296 -296
- tapps_agents/core/learning_confidence.py +242 -242
- tapps_agents/core/learning_dashboard.py +246 -246
- tapps_agents/core/learning_decision.py +384 -384
- tapps_agents/core/learning_explainability.py +578 -578
- tapps_agents/core/learning_export.py +287 -287
- tapps_agents/core/learning_integration.py +228 -228
- tapps_agents/core/llm_behavior.py +232 -232
- tapps_agents/core/long_duration_support.py +786 -786
- tapps_agents/core/mcp_setup.py +106 -106
- tapps_agents/core/memory_integration.py +396 -396
- tapps_agents/core/meta_learning.py +666 -666
- tapps_agents/core/module_path_sanitizer.py +199 -199
- tapps_agents/core/multi_agent_orchestrator.py +382 -382
- tapps_agents/core/network_errors.py +125 -125
- tapps_agents/core/nfr_validator.py +336 -336
- tapps_agents/core/offline_mode.py +158 -158
- tapps_agents/core/output_contracts.py +300 -300
- tapps_agents/core/output_formatter.py +300 -300
- tapps_agents/core/path_normalizer.py +174 -174
- tapps_agents/core/path_validator.py +322 -322
- tapps_agents/core/pattern_library.py +250 -250
- tapps_agents/core/performance_benchmark.py +301 -301
- tapps_agents/core/performance_monitor.py +184 -184
- tapps_agents/core/playwright_mcp_controller.py +771 -771
- tapps_agents/core/policy_loader.py +135 -135
- tapps_agents/core/progress.py +166 -166
- tapps_agents/core/project_profile.py +354 -354
- tapps_agents/core/project_type_detector.py +454 -454
- tapps_agents/core/prompt_base.py +223 -223
- tapps_agents/core/prompt_learning/__init__.py +2 -2
- tapps_agents/core/prompt_learning/learning_loop.py +24 -24
- tapps_agents/core/prompt_learning/project_prompt_store.py +25 -25
- tapps_agents/core/prompt_learning/skills_prompt_analyzer.py +35 -35
- tapps_agents/core/prompt_optimization/__init__.py +6 -6
- tapps_agents/core/prompt_optimization/ab_tester.py +114 -114
- tapps_agents/core/prompt_optimization/correlation_analyzer.py +160 -160
- tapps_agents/core/prompt_optimization/progressive_refiner.py +129 -129
- tapps_agents/core/prompt_optimization/prompt_library.py +37 -37
- tapps_agents/core/requirements_evaluator.py +431 -431
- tapps_agents/core/resource_aware_executor.py +449 -449
- tapps_agents/core/resource_monitor.py +343 -343
- tapps_agents/core/resume_handler.py +298 -298
- tapps_agents/core/retry_handler.py +197 -197
- tapps_agents/core/review_checklists.py +479 -479
- tapps_agents/core/role_loader.py +201 -201
- tapps_agents/core/role_template_loader.py +201 -201
- tapps_agents/core/runtime_mode.py +60 -60
- tapps_agents/core/security_scanner.py +342 -342
- tapps_agents/core/skill_agent_registry.py +194 -194
- tapps_agents/core/skill_integration.py +208 -208
- tapps_agents/core/skill_loader.py +492 -492
- tapps_agents/core/skill_template.py +341 -341
- tapps_agents/core/skill_validator.py +478 -478
- tapps_agents/core/stack_analyzer.py +35 -35
- tapps_agents/core/startup.py +174 -174
- tapps_agents/core/storage_manager.py +397 -397
- tapps_agents/core/storage_models.py +166 -166
- tapps_agents/core/story_evaluator.py +410 -410
- tapps_agents/core/subprocess_utils.py +170 -170
- tapps_agents/core/task_duration.py +296 -296
- tapps_agents/core/task_memory.py +582 -582
- tapps_agents/core/task_state.py +226 -226
- tapps_agents/core/tech_stack_priorities.py +208 -208
- tapps_agents/core/temp_directory.py +194 -194
- tapps_agents/core/template_merger.py +600 -600
- tapps_agents/core/template_selector.py +280 -280
- tapps_agents/core/test_generator.py +286 -286
- tapps_agents/core/tiered_context.py +253 -253
- tapps_agents/core/token_monitor.py +345 -345
- tapps_agents/core/traceability.py +254 -254
- tapps_agents/core/trajectory_tracker.py +50 -50
- tapps_agents/core/unicode_safe.py +143 -143
- tapps_agents/core/unified_cache_config.py +170 -170
- tapps_agents/core/unified_state.py +324 -324
- tapps_agents/core/validate_cursor_setup.py +237 -237
- tapps_agents/core/validation_registry.py +136 -136
- tapps_agents/core/validators/__init__.py +4 -4
- tapps_agents/core/validators/python_validator.py +87 -87
- tapps_agents/core/verification_agent.py +90 -90
- tapps_agents/core/visual_feedback.py +644 -644
- tapps_agents/core/workflow_validator.py +197 -197
- tapps_agents/core/worktree.py +367 -367
- tapps_agents/docker/__init__.py +10 -10
- tapps_agents/docker/analyzer.py +186 -186
- tapps_agents/docker/debugger.py +229 -229
- tapps_agents/docker/error_patterns.py +216 -216
- tapps_agents/epic/__init__.py +22 -22
- tapps_agents/epic/beads_sync.py +115 -115
- tapps_agents/epic/markdown_sync.py +105 -105
- tapps_agents/epic/models.py +96 -96
- tapps_agents/experts/__init__.py +163 -163
- tapps_agents/experts/agent_integration.py +243 -243
- tapps_agents/experts/auto_generator.py +331 -331
- tapps_agents/experts/base_expert.py +536 -536
- tapps_agents/experts/builtin_registry.py +261 -261
- tapps_agents/experts/business_metrics.py +565 -565
- tapps_agents/experts/cache.py +266 -266
- tapps_agents/experts/confidence_breakdown.py +306 -306
- tapps_agents/experts/confidence_calculator.py +336 -336
- tapps_agents/experts/confidence_metrics.py +236 -236
- tapps_agents/experts/domain_config.py +311 -311
- tapps_agents/experts/domain_detector.py +550 -550
- tapps_agents/experts/domain_utils.py +84 -84
- tapps_agents/experts/expert_config.py +113 -113
- tapps_agents/experts/expert_engine.py +465 -465
- tapps_agents/experts/expert_registry.py +744 -744
- tapps_agents/experts/expert_synthesizer.py +70 -70
- tapps_agents/experts/governance.py +197 -197
- tapps_agents/experts/history_logger.py +312 -312
- tapps_agents/experts/knowledge/README.md +180 -180
- tapps_agents/experts/knowledge/accessibility/accessible-forms.md +331 -331
- tapps_agents/experts/knowledge/accessibility/aria-patterns.md +344 -344
- tapps_agents/experts/knowledge/accessibility/color-contrast.md +285 -285
- tapps_agents/experts/knowledge/accessibility/keyboard-navigation.md +332 -332
- tapps_agents/experts/knowledge/accessibility/screen-readers.md +282 -282
- tapps_agents/experts/knowledge/accessibility/semantic-html.md +355 -355
- tapps_agents/experts/knowledge/accessibility/testing-accessibility.md +369 -369
- tapps_agents/experts/knowledge/accessibility/wcag-2.1.md +296 -296
- tapps_agents/experts/knowledge/accessibility/wcag-2.2.md +211 -211
- tapps_agents/experts/knowledge/agent-learning/best-practices.md +715 -715
- tapps_agents/experts/knowledge/agent-learning/pattern-extraction.md +282 -282
- tapps_agents/experts/knowledge/agent-learning/prompt-optimization.md +320 -320
- tapps_agents/experts/knowledge/ai-frameworks/model-optimization.md +90 -90
- tapps_agents/experts/knowledge/ai-frameworks/openvino-patterns.md +260 -260
- tapps_agents/experts/knowledge/api-design-integration/api-gateway-patterns.md +309 -309
- tapps_agents/experts/knowledge/api-design-integration/api-security-patterns.md +521 -521
- tapps_agents/experts/knowledge/api-design-integration/api-versioning.md +421 -421
- tapps_agents/experts/knowledge/api-design-integration/async-protocol-patterns.md +61 -61
- tapps_agents/experts/knowledge/api-design-integration/contract-testing.md +221 -221
- tapps_agents/experts/knowledge/api-design-integration/external-api-integration.md +489 -489
- tapps_agents/experts/knowledge/api-design-integration/fastapi-patterns.md +360 -360
- tapps_agents/experts/knowledge/api-design-integration/fastapi-testing.md +262 -262
- tapps_agents/experts/knowledge/api-design-integration/graphql-patterns.md +582 -582
- tapps_agents/experts/knowledge/api-design-integration/grpc-best-practices.md +499 -499
- tapps_agents/experts/knowledge/api-design-integration/mqtt-patterns.md +455 -455
- tapps_agents/experts/knowledge/api-design-integration/rate-limiting.md +507 -507
- tapps_agents/experts/knowledge/api-design-integration/restful-api-design.md +618 -618
- tapps_agents/experts/knowledge/api-design-integration/websocket-patterns.md +480 -480
- tapps_agents/experts/knowledge/cloud-infrastructure/cloud-native-patterns.md +175 -175
- tapps_agents/experts/knowledge/cloud-infrastructure/container-health-checks.md +261 -261
- tapps_agents/experts/knowledge/cloud-infrastructure/containerization.md +222 -222
- tapps_agents/experts/knowledge/cloud-infrastructure/cost-optimization.md +122 -122
- tapps_agents/experts/knowledge/cloud-infrastructure/disaster-recovery.md +153 -153
- tapps_agents/experts/knowledge/cloud-infrastructure/dockerfile-patterns.md +285 -285
- tapps_agents/experts/knowledge/cloud-infrastructure/infrastructure-as-code.md +187 -187
- tapps_agents/experts/knowledge/cloud-infrastructure/kubernetes-patterns.md +253 -253
- tapps_agents/experts/knowledge/cloud-infrastructure/multi-cloud-strategies.md +155 -155
- tapps_agents/experts/knowledge/cloud-infrastructure/serverless-architecture.md +200 -200
- tapps_agents/experts/knowledge/code-quality-analysis/README.md +16 -16
- tapps_agents/experts/knowledge/code-quality-analysis/code-metrics.md +137 -137
- tapps_agents/experts/knowledge/code-quality-analysis/complexity-analysis.md +181 -181
- tapps_agents/experts/knowledge/code-quality-analysis/technical-debt-patterns.md +191 -191
- tapps_agents/experts/knowledge/data-privacy-compliance/anonymization.md +313 -313
- tapps_agents/experts/knowledge/data-privacy-compliance/ccpa.md +255 -255
- tapps_agents/experts/knowledge/data-privacy-compliance/consent-management.md +282 -282
- tapps_agents/experts/knowledge/data-privacy-compliance/data-minimization.md +275 -275
- tapps_agents/experts/knowledge/data-privacy-compliance/data-retention.md +297 -297
- tapps_agents/experts/knowledge/data-privacy-compliance/data-subject-rights.md +383 -383
- tapps_agents/experts/knowledge/data-privacy-compliance/encryption-privacy.md +285 -285
- tapps_agents/experts/knowledge/data-privacy-compliance/gdpr.md +344 -344
- tapps_agents/experts/knowledge/data-privacy-compliance/hipaa.md +385 -385
- tapps_agents/experts/knowledge/data-privacy-compliance/privacy-by-design.md +280 -280
- tapps_agents/experts/knowledge/database-data-management/acid-vs-cap.md +164 -164
- tapps_agents/experts/knowledge/database-data-management/backup-and-recovery.md +182 -182
- tapps_agents/experts/knowledge/database-data-management/data-modeling.md +172 -172
- tapps_agents/experts/knowledge/database-data-management/database-design.md +187 -187
- tapps_agents/experts/knowledge/database-data-management/flux-query-optimization.md +342 -342
- tapps_agents/experts/knowledge/database-data-management/influxdb-connection-patterns.md +432 -432
- tapps_agents/experts/knowledge/database-data-management/influxdb-patterns.md +442 -442
- tapps_agents/experts/knowledge/database-data-management/migration-strategies.md +216 -216
- tapps_agents/experts/knowledge/database-data-management/nosql-patterns.md +259 -259
- tapps_agents/experts/knowledge/database-data-management/scalability-patterns.md +184 -184
- tapps_agents/experts/knowledge/database-data-management/sql-optimization.md +175 -175
- tapps_agents/experts/knowledge/database-data-management/time-series-modeling.md +444 -444
- tapps_agents/experts/knowledge/development-workflow/README.md +16 -16
- tapps_agents/experts/knowledge/development-workflow/automation-best-practices.md +216 -216
- tapps_agents/experts/knowledge/development-workflow/build-strategies.md +198 -198
- tapps_agents/experts/knowledge/development-workflow/deployment-patterns.md +205 -205
- tapps_agents/experts/knowledge/development-workflow/git-workflows.md +205 -205
- tapps_agents/experts/knowledge/documentation-knowledge-management/README.md +16 -16
- tapps_agents/experts/knowledge/documentation-knowledge-management/api-documentation-patterns.md +231 -231
- tapps_agents/experts/knowledge/documentation-knowledge-management/documentation-standards.md +191 -191
- tapps_agents/experts/knowledge/documentation-knowledge-management/knowledge-management.md +171 -171
- tapps_agents/experts/knowledge/documentation-knowledge-management/technical-writing-guide.md +192 -192
- tapps_agents/experts/knowledge/observability-monitoring/alerting-patterns.md +461 -461
- tapps_agents/experts/knowledge/observability-monitoring/apm-tools.md +459 -459
- tapps_agents/experts/knowledge/observability-monitoring/distributed-tracing.md +367 -367
- tapps_agents/experts/knowledge/observability-monitoring/logging-strategies.md +478 -478
- tapps_agents/experts/knowledge/observability-monitoring/metrics-and-monitoring.md +510 -510
- tapps_agents/experts/knowledge/observability-monitoring/observability-best-practices.md +492 -492
- tapps_agents/experts/knowledge/observability-monitoring/open-telemetry.md +573 -573
- tapps_agents/experts/knowledge/observability-monitoring/slo-sli-sla.md +419 -419
- tapps_agents/experts/knowledge/performance/anti-patterns.md +284 -284
- tapps_agents/experts/knowledge/performance/api-performance.md +256 -256
- tapps_agents/experts/knowledge/performance/caching.md +327 -327
- tapps_agents/experts/knowledge/performance/database-performance.md +252 -252
- tapps_agents/experts/knowledge/performance/optimization-patterns.md +327 -327
- tapps_agents/experts/knowledge/performance/profiling.md +297 -297
- tapps_agents/experts/knowledge/performance/resource-management.md +293 -293
- tapps_agents/experts/knowledge/performance/scalability.md +306 -306
- tapps_agents/experts/knowledge/security/owasp-top10.md +209 -209
- tapps_agents/experts/knowledge/security/secure-coding-practices.md +207 -207
- tapps_agents/experts/knowledge/security/threat-modeling.md +220 -220
- tapps_agents/experts/knowledge/security/vulnerability-patterns.md +342 -342
- tapps_agents/experts/knowledge/software-architecture/docker-compose-patterns.md +314 -314
- tapps_agents/experts/knowledge/software-architecture/microservices-patterns.md +379 -379
- tapps_agents/experts/knowledge/software-architecture/service-communication.md +316 -316
- tapps_agents/experts/knowledge/testing/best-practices.md +310 -310
- tapps_agents/experts/knowledge/testing/coverage-analysis.md +293 -293
- tapps_agents/experts/knowledge/testing/mocking.md +256 -256
- tapps_agents/experts/knowledge/testing/test-automation.md +276 -276
- tapps_agents/experts/knowledge/testing/test-data.md +271 -271
- tapps_agents/experts/knowledge/testing/test-design-patterns.md +280 -280
- tapps_agents/experts/knowledge/testing/test-maintenance.md +236 -236
- tapps_agents/experts/knowledge/testing/test-strategies.md +311 -311
- tapps_agents/experts/knowledge/user-experience/information-architecture.md +325 -325
- tapps_agents/experts/knowledge/user-experience/interaction-design.md +363 -363
- tapps_agents/experts/knowledge/user-experience/prototyping.md +293 -293
- tapps_agents/experts/knowledge/user-experience/usability-heuristics.md +337 -337
- tapps_agents/experts/knowledge/user-experience/usability-testing.md +311 -311
- tapps_agents/experts/knowledge/user-experience/user-journeys.md +296 -296
- tapps_agents/experts/knowledge/user-experience/user-research.md +373 -373
- tapps_agents/experts/knowledge/user-experience/ux-principles.md +340 -340
- tapps_agents/experts/knowledge_freshness.py +321 -321
- tapps_agents/experts/knowledge_ingestion.py +438 -438
- tapps_agents/experts/knowledge_need_detector.py +93 -93
- tapps_agents/experts/knowledge_validator.py +382 -382
- tapps_agents/experts/observability.py +440 -440
- tapps_agents/experts/passive_notifier.py +238 -238
- tapps_agents/experts/proactive_orchestrator.py +32 -32
- tapps_agents/experts/rag_chunker.py +205 -205
- tapps_agents/experts/rag_embedder.py +152 -152
- tapps_agents/experts/rag_evaluation.py +299 -299
- tapps_agents/experts/rag_index.py +303 -303
- tapps_agents/experts/rag_metrics.py +293 -293
- tapps_agents/experts/rag_safety.py +263 -263
- tapps_agents/experts/report_generator.py +296 -296
- tapps_agents/experts/setup_wizard.py +441 -441
- tapps_agents/experts/simple_rag.py +431 -431
- tapps_agents/experts/vector_rag.py +354 -354
- tapps_agents/experts/weight_distributor.py +304 -304
- tapps_agents/health/__init__.py +24 -24
- tapps_agents/health/base.py +75 -75
- tapps_agents/health/checks/__init__.py +22 -22
- tapps_agents/health/checks/automation.py +127 -127
- tapps_agents/health/checks/context7_cache.py +210 -210
- tapps_agents/health/checks/environment.py +116 -116
- tapps_agents/health/checks/execution.py +170 -170
- tapps_agents/health/checks/knowledge_base.py +187 -187
- tapps_agents/health/checks/outcomes.py +324 -324
- tapps_agents/health/collector.py +280 -280
- tapps_agents/health/dashboard.py +137 -137
- tapps_agents/health/metrics.py +151 -151
- tapps_agents/health/orchestrator.py +271 -271
- tapps_agents/health/registry.py +166 -166
- tapps_agents/hooks/__init__.py +33 -33
- tapps_agents/hooks/config.py +140 -140
- tapps_agents/hooks/events.py +135 -135
- tapps_agents/hooks/executor.py +128 -128
- tapps_agents/hooks/manager.py +143 -143
- tapps_agents/integration/__init__.py +8 -8
- tapps_agents/integration/service_integrator.py +121 -121
- tapps_agents/integrations/__init__.py +10 -10
- tapps_agents/integrations/clawdbot.py +525 -525
- tapps_agents/integrations/memory_bridge.py +356 -356
- tapps_agents/mcp/__init__.py +18 -18
- tapps_agents/mcp/gateway.py +112 -112
- tapps_agents/mcp/servers/__init__.py +13 -13
- tapps_agents/mcp/servers/analysis.py +204 -204
- tapps_agents/mcp/servers/context7.py +198 -198
- tapps_agents/mcp/servers/filesystem.py +218 -218
- tapps_agents/mcp/servers/git.py +201 -201
- tapps_agents/mcp/tool_registry.py +115 -115
- tapps_agents/quality/__init__.py +54 -54
- tapps_agents/quality/coverage_analyzer.py +379 -379
- tapps_agents/quality/enforcement.py +82 -82
- tapps_agents/quality/gates/__init__.py +37 -37
- tapps_agents/quality/gates/approval_gate.py +255 -255
- tapps_agents/quality/gates/base.py +84 -84
- tapps_agents/quality/gates/exceptions.py +43 -43
- tapps_agents/quality/gates/policy_gate.py +195 -195
- tapps_agents/quality/gates/registry.py +239 -239
- tapps_agents/quality/gates/security_gate.py +156 -156
- tapps_agents/quality/quality_gates.py +369 -369
- tapps_agents/quality/secret_scanner.py +335 -335
- tapps_agents/session/__init__.py +19 -19
- tapps_agents/session/manager.py +256 -256
- tapps_agents/simple_mode/__init__.py +66 -66
- tapps_agents/simple_mode/agent_contracts.py +357 -357
- tapps_agents/simple_mode/beads_hooks.py +151 -151
- tapps_agents/simple_mode/code_snippet_handler.py +382 -382
- tapps_agents/simple_mode/documentation_manager.py +395 -395
- tapps_agents/simple_mode/documentation_reader.py +187 -187
- tapps_agents/simple_mode/file_inference.py +292 -292
- tapps_agents/simple_mode/framework_change_detector.py +268 -268
- tapps_agents/simple_mode/intent_parser.py +510 -510
- tapps_agents/simple_mode/learning_progression.py +358 -358
- tapps_agents/simple_mode/nl_handler.py +700 -700
- tapps_agents/simple_mode/onboarding.py +253 -253
- tapps_agents/simple_mode/orchestrators/__init__.py +38 -38
- tapps_agents/simple_mode/orchestrators/base.py +185 -185
- tapps_agents/simple_mode/orchestrators/breakdown_orchestrator.py +49 -49
- tapps_agents/simple_mode/orchestrators/brownfield_orchestrator.py +135 -135
- tapps_agents/simple_mode/orchestrators/build_orchestrator.py +2700 -2667
- tapps_agents/simple_mode/orchestrators/deliverable_checklist.py +349 -349
- tapps_agents/simple_mode/orchestrators/enhance_orchestrator.py +53 -53
- tapps_agents/simple_mode/orchestrators/epic_orchestrator.py +122 -122
- tapps_agents/simple_mode/orchestrators/explore_orchestrator.py +184 -184
- tapps_agents/simple_mode/orchestrators/fix_orchestrator.py +723 -723
- tapps_agents/simple_mode/orchestrators/plan_analysis_orchestrator.py +206 -206
- tapps_agents/simple_mode/orchestrators/pr_orchestrator.py +237 -237
- tapps_agents/simple_mode/orchestrators/refactor_orchestrator.py +222 -222
- tapps_agents/simple_mode/orchestrators/requirements_tracer.py +262 -262
- tapps_agents/simple_mode/orchestrators/resume_orchestrator.py +210 -210
- tapps_agents/simple_mode/orchestrators/review_orchestrator.py +161 -161
- tapps_agents/simple_mode/orchestrators/test_orchestrator.py +82 -82
- tapps_agents/simple_mode/output_aggregator.py +340 -340
- tapps_agents/simple_mode/result_formatters.py +598 -598
- tapps_agents/simple_mode/step_dependencies.py +382 -382
- tapps_agents/simple_mode/step_results.py +276 -276
- tapps_agents/simple_mode/streaming.py +388 -388
- tapps_agents/simple_mode/variations.py +129 -129
- tapps_agents/simple_mode/visual_feedback.py +238 -238
- tapps_agents/simple_mode/zero_config.py +274 -274
- tapps_agents/suggestions/__init__.py +8 -8
- tapps_agents/suggestions/inline_suggester.py +52 -52
- tapps_agents/templates/__init__.py +8 -8
- tapps_agents/templates/microservice_generator.py +274 -274
- tapps_agents/utils/env_validator.py +291 -291
- tapps_agents/workflow/__init__.py +171 -171
- tapps_agents/workflow/acceptance_verifier.py +132 -132
- tapps_agents/workflow/agent_handlers/__init__.py +41 -41
- tapps_agents/workflow/agent_handlers/analyst_handler.py +75 -75
- tapps_agents/workflow/agent_handlers/architect_handler.py +107 -107
- tapps_agents/workflow/agent_handlers/base.py +84 -84
- tapps_agents/workflow/agent_handlers/debugger_handler.py +100 -100
- tapps_agents/workflow/agent_handlers/designer_handler.py +110 -110
- tapps_agents/workflow/agent_handlers/documenter_handler.py +94 -94
- tapps_agents/workflow/agent_handlers/implementer_handler.py +235 -235
- tapps_agents/workflow/agent_handlers/ops_handler.py +62 -62
- tapps_agents/workflow/agent_handlers/orchestrator_handler.py +43 -43
- tapps_agents/workflow/agent_handlers/planner_handler.py +98 -98
- tapps_agents/workflow/agent_handlers/registry.py +119 -119
- tapps_agents/workflow/agent_handlers/reviewer_handler.py +119 -119
- tapps_agents/workflow/agent_handlers/tester_handler.py +69 -69
- tapps_agents/workflow/analytics_accessor.py +337 -337
- tapps_agents/workflow/analytics_alerts.py +416 -416
- tapps_agents/workflow/analytics_dashboard_cursor.py +281 -281
- tapps_agents/workflow/analytics_dual_write.py +103 -103
- tapps_agents/workflow/analytics_integration.py +119 -119
- tapps_agents/workflow/analytics_query_parser.py +278 -278
- tapps_agents/workflow/analytics_visualizer.py +259 -259
- tapps_agents/workflow/artifact_helper.py +204 -204
- tapps_agents/workflow/audit_logger.py +263 -263
- tapps_agents/workflow/auto_execution_config.py +340 -340
- tapps_agents/workflow/auto_progression.py +586 -586
- tapps_agents/workflow/branch_cleanup.py +349 -349
- tapps_agents/workflow/checkpoint.py +256 -256
- tapps_agents/workflow/checkpoint_manager.py +178 -178
- tapps_agents/workflow/code_artifact.py +179 -179
- tapps_agents/workflow/common_enums.py +96 -96
- tapps_agents/workflow/confirmation_handler.py +130 -130
- tapps_agents/workflow/context_analyzer.py +222 -222
- tapps_agents/workflow/context_artifact.py +230 -230
- tapps_agents/workflow/cursor_chat.py +94 -94
- tapps_agents/workflow/cursor_executor.py +2337 -2196
- tapps_agents/workflow/cursor_skill_helper.py +516 -516
- tapps_agents/workflow/dependency_resolver.py +244 -244
- tapps_agents/workflow/design_artifact.py +156 -156
- tapps_agents/workflow/detector.py +751 -751
- tapps_agents/workflow/direct_execution_fallback.py +301 -301
- tapps_agents/workflow/docs_artifact.py +168 -168
- tapps_agents/workflow/enforcer.py +389 -389
- tapps_agents/workflow/enhancement_artifact.py +142 -142
- tapps_agents/workflow/error_recovery.py +806 -806
- tapps_agents/workflow/event_bus.py +183 -183
- tapps_agents/workflow/event_log.py +612 -612
- tapps_agents/workflow/events.py +63 -63
- tapps_agents/workflow/exceptions.py +43 -43
- tapps_agents/workflow/execution_graph.py +498 -498
- tapps_agents/workflow/execution_plan.py +126 -126
- tapps_agents/workflow/file_utils.py +186 -186
- tapps_agents/workflow/gate_evaluator.py +182 -182
- tapps_agents/workflow/gate_integration.py +200 -200
- tapps_agents/workflow/graph_visualizer.py +130 -130
- tapps_agents/workflow/health_checker.py +206 -206
- tapps_agents/workflow/logging_helper.py +243 -243
- tapps_agents/workflow/manifest.py +582 -582
- tapps_agents/workflow/marker_writer.py +250 -250
- tapps_agents/workflow/message_formatter.py +188 -188
- tapps_agents/workflow/messaging.py +325 -325
- tapps_agents/workflow/metadata_models.py +91 -91
- tapps_agents/workflow/metrics_integration.py +226 -226
- tapps_agents/workflow/migration_utils.py +116 -116
- tapps_agents/workflow/models.py +148 -111
- tapps_agents/workflow/nlp_config.py +198 -198
- tapps_agents/workflow/nlp_error_handler.py +207 -207
- tapps_agents/workflow/nlp_executor.py +163 -163
- tapps_agents/workflow/nlp_parser.py +528 -528
- tapps_agents/workflow/observability_dashboard.py +451 -451
- tapps_agents/workflow/observer.py +170 -170
- tapps_agents/workflow/ops_artifact.py +257 -257
- tapps_agents/workflow/output_passing.py +214 -214
- tapps_agents/workflow/parallel_executor.py +463 -463
- tapps_agents/workflow/planning_artifact.py +179 -179
- tapps_agents/workflow/preset_loader.py +285 -285
- tapps_agents/workflow/preset_recommender.py +270 -270
- tapps_agents/workflow/progress_logger.py +145 -145
- tapps_agents/workflow/progress_manager.py +303 -303
- tapps_agents/workflow/progress_monitor.py +186 -186
- tapps_agents/workflow/progress_updates.py +423 -423
- tapps_agents/workflow/quality_artifact.py +158 -158
- tapps_agents/workflow/quality_loopback.py +101 -101
- tapps_agents/workflow/recommender.py +387 -387
- tapps_agents/workflow/remediation_loop.py +166 -166
- tapps_agents/workflow/result_aggregator.py +300 -300
- tapps_agents/workflow/review_artifact.py +185 -185
- tapps_agents/workflow/schema_validator.py +522 -522
- tapps_agents/workflow/session_handoff.py +178 -178
- tapps_agents/workflow/skill_invoker.py +648 -648
- tapps_agents/workflow/state_manager.py +756 -756
- tapps_agents/workflow/state_persistence_config.py +331 -331
- tapps_agents/workflow/status_monitor.py +449 -449
- tapps_agents/workflow/step_checkpoint.py +314 -314
- tapps_agents/workflow/step_details.py +201 -201
- tapps_agents/workflow/story_models.py +147 -147
- tapps_agents/workflow/streaming.py +416 -416
- tapps_agents/workflow/suggestion_engine.py +552 -552
- tapps_agents/workflow/testing_artifact.py +186 -186
- tapps_agents/workflow/timeline.py +158 -158
- tapps_agents/workflow/token_integration.py +209 -209
- tapps_agents/workflow/validation.py +217 -217
- tapps_agents/workflow/visual_feedback.py +391 -391
- tapps_agents/workflow/workflow_chain.py +95 -95
- tapps_agents/workflow/workflow_summary.py +219 -219
- tapps_agents/workflow/worktree_manager.py +724 -724
- {tapps_agents-3.5.40.dist-info → tapps_agents-3.6.0.dist-info}/METADATA +672 -672
- tapps_agents-3.6.0.dist-info/RECORD +758 -0
- {tapps_agents-3.5.40.dist-info → tapps_agents-3.6.0.dist-info}/licenses/LICENSE +22 -22
- tapps_agents/health/checks/outcomes.backup_20260204_064058.py +0 -324
- tapps_agents/health/checks/outcomes.backup_20260204_064256.py +0 -324
- tapps_agents/health/checks/outcomes.backup_20260204_064600.py +0 -324
- tapps_agents-3.5.40.dist-info/RECORD +0 -760
- {tapps_agents-3.5.40.dist-info → tapps_agents-3.6.0.dist-info}/WHEEL +0 -0
- {tapps_agents-3.5.40.dist-info → tapps_agents-3.6.0.dist-info}/entry_points.txt +0 -0
- {tapps_agents-3.5.40.dist-info → tapps_agents-3.6.0.dist-info}/top_level.txt +0 -0
|
@@ -1,285 +1,285 @@
|
|
|
1
|
-
# Color Contrast Requirements
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
Color contrast is critical for accessibility. Sufficient contrast ensures that text and interactive elements are readable by users with low vision, color blindness, or in various lighting conditions.
|
|
6
|
-
|
|
7
|
-
## WCAG Contrast Requirements
|
|
8
|
-
|
|
9
|
-
### Level AA (Minimum)
|
|
10
|
-
- **Normal text**: 4.5:1 contrast ratio
|
|
11
|
-
- **Large text**: 3:1 contrast ratio (18pt+ or 14pt+ bold)
|
|
12
|
-
- **UI components**: 3:1 contrast ratio
|
|
13
|
-
- **Graphical objects**: 3:1 contrast ratio
|
|
14
|
-
|
|
15
|
-
### Level AAA (Enhanced)
|
|
16
|
-
- **Normal text**: 7:1 contrast ratio
|
|
17
|
-
- **Large text**: 4.5:1 contrast ratio
|
|
18
|
-
- **UI components**: 3:1 contrast ratio
|
|
19
|
-
- **Graphical objects**: 3:1 contrast ratio
|
|
20
|
-
|
|
21
|
-
## Contrast Ratio Calculation
|
|
22
|
-
|
|
23
|
-
### Formula
|
|
24
|
-
```
|
|
25
|
-
Contrast Ratio = (L1 + 0.05) / (L2 + 0.05)
|
|
26
|
-
```
|
|
27
|
-
Where:
|
|
28
|
-
- L1 = Relative luminance of lighter color
|
|
29
|
-
- L2 = Relative luminance of darker color
|
|
30
|
-
|
|
31
|
-
### Relative Luminance
|
|
32
|
-
- Calculated from RGB values
|
|
33
|
-
- Accounts for human perception
|
|
34
|
-
- Uses sRGB color space
|
|
35
|
-
- Standardized formula
|
|
36
|
-
|
|
37
|
-
## Text Contrast
|
|
38
|
-
|
|
39
|
-
### Normal Text
|
|
40
|
-
- Body text
|
|
41
|
-
- Paragraph text
|
|
42
|
-
- Form labels
|
|
43
|
-
- Button text
|
|
44
|
-
- Link text
|
|
45
|
-
- Minimum 4.5:1 (AA) or 7:1 (AAA)
|
|
46
|
-
|
|
47
|
-
### Large Text
|
|
48
|
-
- Headings (18pt+)
|
|
49
|
-
- Bold text (14pt+ bold)
|
|
50
|
-
- Minimum 3:1 (AA) or 4.5:1 (AAA)
|
|
51
|
-
- Easier to read at larger sizes
|
|
52
|
-
|
|
53
|
-
### Decorative Text
|
|
54
|
-
- Logos
|
|
55
|
-
- Decorative text
|
|
56
|
-
- Not required to meet contrast
|
|
57
|
-
- Must not convey information
|
|
58
|
-
|
|
59
|
-
## UI Component Contrast
|
|
60
|
-
|
|
61
|
-
### Interactive Elements
|
|
62
|
-
- Buttons
|
|
63
|
-
- Form controls
|
|
64
|
-
- Links
|
|
65
|
-
- Focus indicators
|
|
66
|
-
- Minimum 3:1 contrast
|
|
67
|
-
|
|
68
|
-
### States
|
|
69
|
-
- Hover states
|
|
70
|
-
- Focus states
|
|
71
|
-
- Active states
|
|
72
|
-
- Disabled states
|
|
73
|
-
- All must meet contrast
|
|
74
|
-
|
|
75
|
-
### Borders
|
|
76
|
-
- Form field borders
|
|
77
|
-
- Button borders
|
|
78
|
-
- Focus outlines
|
|
79
|
-
- Minimum 3:1 contrast
|
|
80
|
-
|
|
81
|
-
## Graphical Objects
|
|
82
|
-
|
|
83
|
-
### Icons
|
|
84
|
-
- Icon graphics
|
|
85
|
-
- UI icons
|
|
86
|
-
- Status indicators
|
|
87
|
-
- Minimum 3:1 contrast
|
|
88
|
-
|
|
89
|
-
### Charts and Graphs
|
|
90
|
-
- Data visualization
|
|
91
|
-
- Chart elements
|
|
92
|
-
- Graph lines
|
|
93
|
-
- Minimum 3:1 contrast
|
|
94
|
-
|
|
95
|
-
### Images of Text
|
|
96
|
-
- Text in images
|
|
97
|
-
- Screenshots with text
|
|
98
|
-
- Minimum 4.5:1 (AA) or 7:1 (AAA)
|
|
99
|
-
- Prefer actual text
|
|
100
|
-
|
|
101
|
-
## Non-Text Contrast (WCAG 2.1)
|
|
102
|
-
|
|
103
|
-
### UI Components
|
|
104
|
-
- Visual information required to identify components
|
|
105
|
-
- Icons
|
|
106
|
-
- Form controls
|
|
107
|
-
- Minimum 3:1 contrast
|
|
108
|
-
|
|
109
|
-
### Graphical Objects
|
|
110
|
-
- Parts of graphics required to understand content
|
|
111
|
-
- Charts
|
|
112
|
-
- Diagrams
|
|
113
|
-
- Minimum 3:1 contrast
|
|
114
|
-
|
|
115
|
-
## Color and Information
|
|
116
|
-
|
|
117
|
-
### Don't Rely on Color Alone
|
|
118
|
-
- Use color plus other indicators
|
|
119
|
-
- Icons with color
|
|
120
|
-
- Text labels
|
|
121
|
-
- Patterns or shapes
|
|
122
|
-
- Underlines for links
|
|
123
|
-
|
|
124
|
-
### Color Blindness
|
|
125
|
-
- Red-green color blindness (most common)
|
|
126
|
-
- Blue-yellow color blindness
|
|
127
|
-
- Complete color blindness (rare)
|
|
128
|
-
- Test with color blindness simulators
|
|
129
|
-
|
|
130
|
-
## Testing Contrast
|
|
131
|
-
|
|
132
|
-
### Tools
|
|
133
|
-
- **WebAIM Contrast Checker**: Online tool
|
|
134
|
-
- **Colour Contrast Analyser**: Desktop tool
|
|
135
|
-
- **Browser DevTools**: Built-in checkers
|
|
136
|
-
- **axe DevTools**: Automated testing
|
|
137
|
-
- **WAVE**: Web accessibility evaluation
|
|
138
|
-
|
|
139
|
-
### Manual Testing
|
|
140
|
-
- Visual inspection
|
|
141
|
-
- Use contrast checkers
|
|
142
|
-
- Test with color blindness simulators
|
|
143
|
-
- Test in different lighting
|
|
144
|
-
- Test on different displays
|
|
145
|
-
|
|
146
|
-
### Automated Testing
|
|
147
|
-
- Use accessibility testing tools
|
|
148
|
-
- Check during development
|
|
149
|
-
- Include in CI/CD
|
|
150
|
-
- Regular audits
|
|
151
|
-
|
|
152
|
-
## Common Issues
|
|
153
|
-
|
|
154
|
-
### Insufficient Text Contrast
|
|
155
|
-
- Light gray text on white
|
|
156
|
-
- Yellow text on white
|
|
157
|
-
- Low contrast combinations
|
|
158
|
-
- Not meeting 4.5:1 ratio
|
|
159
|
-
|
|
160
|
-
### Poor UI Contrast
|
|
161
|
-
- Light buttons on light backgrounds
|
|
162
|
-
- Low contrast borders
|
|
163
|
-
- Invisible focus indicators
|
|
164
|
-
- Not meeting 3:1 ratio
|
|
165
|
-
|
|
166
|
-
### Color-Only Information
|
|
167
|
-
- Red text for errors only
|
|
168
|
-
- Color-coded status only
|
|
169
|
-
- No additional indicators
|
|
170
|
-
- Inaccessible to color blind users
|
|
171
|
-
|
|
172
|
-
### Background Images
|
|
173
|
-
- Text over images
|
|
174
|
-
- Variable contrast
|
|
175
|
-
- Difficult to ensure contrast
|
|
176
|
-
- Need solid backgrounds
|
|
177
|
-
|
|
178
|
-
## Best Practices
|
|
179
|
-
|
|
180
|
-
### 1. Design with Contrast in Mind
|
|
181
|
-
- Choose high-contrast color schemes
|
|
182
|
-
- Test during design phase
|
|
183
|
-
- Use contrast checkers
|
|
184
|
-
- Consider all users
|
|
185
|
-
|
|
186
|
-
### 2. Test Regularly
|
|
187
|
-
- Test all text combinations
|
|
188
|
-
- Test UI components
|
|
189
|
-
- Test interactive states
|
|
190
|
-
- Use automated tools
|
|
191
|
-
|
|
192
|
-
### 3. Provide Alternatives
|
|
193
|
-
- Don't rely on color alone
|
|
194
|
-
- Use icons with color
|
|
195
|
-
- Provide text labels
|
|
196
|
-
- Use patterns or shapes
|
|
197
|
-
|
|
198
|
-
### 4. Consider Context
|
|
199
|
-
- Test in different lighting
|
|
200
|
-
- Test on different displays
|
|
201
|
-
- Consider user preferences
|
|
202
|
-
- Allow customization
|
|
203
|
-
|
|
204
|
-
### 5. Document Standards
|
|
205
|
-
- Define color palette
|
|
206
|
-
- Document contrast ratios
|
|
207
|
-
- Provide guidelines
|
|
208
|
-
- Share with team
|
|
209
|
-
|
|
210
|
-
## Color Palette Guidelines
|
|
211
|
-
|
|
212
|
-
### High Contrast Palette
|
|
213
|
-
- Dark text on light backgrounds
|
|
214
|
-
- Light text on dark backgrounds
|
|
215
|
-
- Avoid similar colors
|
|
216
|
-
- Test all combinations
|
|
217
|
-
|
|
218
|
-
### Accessible Colors
|
|
219
|
-
- Blue: Good for links
|
|
220
|
-
- Red: Use with caution
|
|
221
|
-
- Green: Use with caution
|
|
222
|
-
- Yellow: Low contrast, avoid
|
|
223
|
-
|
|
224
|
-
### Brand Colors
|
|
225
|
-
- Ensure brand colors meet contrast
|
|
226
|
-
- Provide alternative palettes
|
|
227
|
-
- Use brand colors for accents
|
|
228
|
-
- Don't sacrifice accessibility
|
|
229
|
-
|
|
230
|
-
## Implementation
|
|
231
|
-
|
|
232
|
-
### CSS Variables
|
|
233
|
-
```css
|
|
234
|
-
:root {
|
|
235
|
-
--text-primary: #000000; /* 21:1 on white */
|
|
236
|
-
--text-secondary: #333333; /* 12.6:1 on white */
|
|
237
|
-
--bg-primary: #ffffff;
|
|
238
|
-
--bg-secondary: #f5f5f5;
|
|
239
|
-
--accent: #0066cc; /* 7:1 on white */
|
|
240
|
-
}
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
### Focus Indicators
|
|
244
|
-
```css
|
|
245
|
-
:focus {
|
|
246
|
-
outline: 3px solid #0066cc; /* High contrast */
|
|
247
|
-
outline-offset: 2px;
|
|
248
|
-
}
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
### Error States
|
|
252
|
-
```css
|
|
253
|
-
.error {
|
|
254
|
-
color: #d32f2f; /* High contrast red */
|
|
255
|
-
border-color: #d32f2f;
|
|
256
|
-
/* Plus icon or text label */
|
|
257
|
-
}
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
## Testing Checklist
|
|
261
|
-
|
|
262
|
-
- [ ] All text meets 4.5:1 (AA) or 7:1 (AAA)
|
|
263
|
-
- [ ] Large text meets 3:1 (AA) or 4.5:1 (AAA)
|
|
264
|
-
- [ ] UI components meet 3:1
|
|
265
|
-
- [ ] Focus indicators meet 3:1
|
|
266
|
-
- [ ] Interactive states meet 3:1
|
|
267
|
-
- [ ] Icons meet 3:1
|
|
268
|
-
- [ ] Charts/graphs meet 3:1
|
|
269
|
-
- [ ] Don't rely on color alone
|
|
270
|
-
- [ ] Tested with color blindness simulators
|
|
271
|
-
- [ ] Tested in different conditions
|
|
272
|
-
|
|
273
|
-
## Best Practices Summary
|
|
274
|
-
|
|
275
|
-
1. **Meet WCAG Standards**: 4.5:1 for text, 3:1 for UI
|
|
276
|
-
2. **Test Regularly**: Use contrast checkers
|
|
277
|
-
3. **Don't Rely on Color**: Provide additional indicators
|
|
278
|
-
4. **Consider All Users**: Test with color blindness
|
|
279
|
-
5. **Design Accessibly**: Start with high contrast
|
|
280
|
-
6. **Document Standards**: Define accessible palette
|
|
281
|
-
7. **Test States**: All interactive states
|
|
282
|
-
8. **Automate Testing**: Include in CI/CD
|
|
283
|
-
9. **User Feedback**: Test with users
|
|
284
|
-
10. **Continuous Improvement**: Regular audits
|
|
285
|
-
|
|
1
|
+
# Color Contrast Requirements
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Color contrast is critical for accessibility. Sufficient contrast ensures that text and interactive elements are readable by users with low vision, color blindness, or in various lighting conditions.
|
|
6
|
+
|
|
7
|
+
## WCAG Contrast Requirements
|
|
8
|
+
|
|
9
|
+
### Level AA (Minimum)
|
|
10
|
+
- **Normal text**: 4.5:1 contrast ratio
|
|
11
|
+
- **Large text**: 3:1 contrast ratio (18pt+ or 14pt+ bold)
|
|
12
|
+
- **UI components**: 3:1 contrast ratio
|
|
13
|
+
- **Graphical objects**: 3:1 contrast ratio
|
|
14
|
+
|
|
15
|
+
### Level AAA (Enhanced)
|
|
16
|
+
- **Normal text**: 7:1 contrast ratio
|
|
17
|
+
- **Large text**: 4.5:1 contrast ratio
|
|
18
|
+
- **UI components**: 3:1 contrast ratio
|
|
19
|
+
- **Graphical objects**: 3:1 contrast ratio
|
|
20
|
+
|
|
21
|
+
## Contrast Ratio Calculation
|
|
22
|
+
|
|
23
|
+
### Formula
|
|
24
|
+
```
|
|
25
|
+
Contrast Ratio = (L1 + 0.05) / (L2 + 0.05)
|
|
26
|
+
```
|
|
27
|
+
Where:
|
|
28
|
+
- L1 = Relative luminance of lighter color
|
|
29
|
+
- L2 = Relative luminance of darker color
|
|
30
|
+
|
|
31
|
+
### Relative Luminance
|
|
32
|
+
- Calculated from RGB values
|
|
33
|
+
- Accounts for human perception
|
|
34
|
+
- Uses sRGB color space
|
|
35
|
+
- Standardized formula
|
|
36
|
+
|
|
37
|
+
## Text Contrast
|
|
38
|
+
|
|
39
|
+
### Normal Text
|
|
40
|
+
- Body text
|
|
41
|
+
- Paragraph text
|
|
42
|
+
- Form labels
|
|
43
|
+
- Button text
|
|
44
|
+
- Link text
|
|
45
|
+
- Minimum 4.5:1 (AA) or 7:1 (AAA)
|
|
46
|
+
|
|
47
|
+
### Large Text
|
|
48
|
+
- Headings (18pt+)
|
|
49
|
+
- Bold text (14pt+ bold)
|
|
50
|
+
- Minimum 3:1 (AA) or 4.5:1 (AAA)
|
|
51
|
+
- Easier to read at larger sizes
|
|
52
|
+
|
|
53
|
+
### Decorative Text
|
|
54
|
+
- Logos
|
|
55
|
+
- Decorative text
|
|
56
|
+
- Not required to meet contrast
|
|
57
|
+
- Must not convey information
|
|
58
|
+
|
|
59
|
+
## UI Component Contrast
|
|
60
|
+
|
|
61
|
+
### Interactive Elements
|
|
62
|
+
- Buttons
|
|
63
|
+
- Form controls
|
|
64
|
+
- Links
|
|
65
|
+
- Focus indicators
|
|
66
|
+
- Minimum 3:1 contrast
|
|
67
|
+
|
|
68
|
+
### States
|
|
69
|
+
- Hover states
|
|
70
|
+
- Focus states
|
|
71
|
+
- Active states
|
|
72
|
+
- Disabled states
|
|
73
|
+
- All must meet contrast
|
|
74
|
+
|
|
75
|
+
### Borders
|
|
76
|
+
- Form field borders
|
|
77
|
+
- Button borders
|
|
78
|
+
- Focus outlines
|
|
79
|
+
- Minimum 3:1 contrast
|
|
80
|
+
|
|
81
|
+
## Graphical Objects
|
|
82
|
+
|
|
83
|
+
### Icons
|
|
84
|
+
- Icon graphics
|
|
85
|
+
- UI icons
|
|
86
|
+
- Status indicators
|
|
87
|
+
- Minimum 3:1 contrast
|
|
88
|
+
|
|
89
|
+
### Charts and Graphs
|
|
90
|
+
- Data visualization
|
|
91
|
+
- Chart elements
|
|
92
|
+
- Graph lines
|
|
93
|
+
- Minimum 3:1 contrast
|
|
94
|
+
|
|
95
|
+
### Images of Text
|
|
96
|
+
- Text in images
|
|
97
|
+
- Screenshots with text
|
|
98
|
+
- Minimum 4.5:1 (AA) or 7:1 (AAA)
|
|
99
|
+
- Prefer actual text
|
|
100
|
+
|
|
101
|
+
## Non-Text Contrast (WCAG 2.1)
|
|
102
|
+
|
|
103
|
+
### UI Components
|
|
104
|
+
- Visual information required to identify components
|
|
105
|
+
- Icons
|
|
106
|
+
- Form controls
|
|
107
|
+
- Minimum 3:1 contrast
|
|
108
|
+
|
|
109
|
+
### Graphical Objects
|
|
110
|
+
- Parts of graphics required to understand content
|
|
111
|
+
- Charts
|
|
112
|
+
- Diagrams
|
|
113
|
+
- Minimum 3:1 contrast
|
|
114
|
+
|
|
115
|
+
## Color and Information
|
|
116
|
+
|
|
117
|
+
### Don't Rely on Color Alone
|
|
118
|
+
- Use color plus other indicators
|
|
119
|
+
- Icons with color
|
|
120
|
+
- Text labels
|
|
121
|
+
- Patterns or shapes
|
|
122
|
+
- Underlines for links
|
|
123
|
+
|
|
124
|
+
### Color Blindness
|
|
125
|
+
- Red-green color blindness (most common)
|
|
126
|
+
- Blue-yellow color blindness
|
|
127
|
+
- Complete color blindness (rare)
|
|
128
|
+
- Test with color blindness simulators
|
|
129
|
+
|
|
130
|
+
## Testing Contrast
|
|
131
|
+
|
|
132
|
+
### Tools
|
|
133
|
+
- **WebAIM Contrast Checker**: Online tool
|
|
134
|
+
- **Colour Contrast Analyser**: Desktop tool
|
|
135
|
+
- **Browser DevTools**: Built-in checkers
|
|
136
|
+
- **axe DevTools**: Automated testing
|
|
137
|
+
- **WAVE**: Web accessibility evaluation
|
|
138
|
+
|
|
139
|
+
### Manual Testing
|
|
140
|
+
- Visual inspection
|
|
141
|
+
- Use contrast checkers
|
|
142
|
+
- Test with color blindness simulators
|
|
143
|
+
- Test in different lighting
|
|
144
|
+
- Test on different displays
|
|
145
|
+
|
|
146
|
+
### Automated Testing
|
|
147
|
+
- Use accessibility testing tools
|
|
148
|
+
- Check during development
|
|
149
|
+
- Include in CI/CD
|
|
150
|
+
- Regular audits
|
|
151
|
+
|
|
152
|
+
## Common Issues
|
|
153
|
+
|
|
154
|
+
### Insufficient Text Contrast
|
|
155
|
+
- Light gray text on white
|
|
156
|
+
- Yellow text on white
|
|
157
|
+
- Low contrast combinations
|
|
158
|
+
- Not meeting 4.5:1 ratio
|
|
159
|
+
|
|
160
|
+
### Poor UI Contrast
|
|
161
|
+
- Light buttons on light backgrounds
|
|
162
|
+
- Low contrast borders
|
|
163
|
+
- Invisible focus indicators
|
|
164
|
+
- Not meeting 3:1 ratio
|
|
165
|
+
|
|
166
|
+
### Color-Only Information
|
|
167
|
+
- Red text for errors only
|
|
168
|
+
- Color-coded status only
|
|
169
|
+
- No additional indicators
|
|
170
|
+
- Inaccessible to color blind users
|
|
171
|
+
|
|
172
|
+
### Background Images
|
|
173
|
+
- Text over images
|
|
174
|
+
- Variable contrast
|
|
175
|
+
- Difficult to ensure contrast
|
|
176
|
+
- Need solid backgrounds
|
|
177
|
+
|
|
178
|
+
## Best Practices
|
|
179
|
+
|
|
180
|
+
### 1. Design with Contrast in Mind
|
|
181
|
+
- Choose high-contrast color schemes
|
|
182
|
+
- Test during design phase
|
|
183
|
+
- Use contrast checkers
|
|
184
|
+
- Consider all users
|
|
185
|
+
|
|
186
|
+
### 2. Test Regularly
|
|
187
|
+
- Test all text combinations
|
|
188
|
+
- Test UI components
|
|
189
|
+
- Test interactive states
|
|
190
|
+
- Use automated tools
|
|
191
|
+
|
|
192
|
+
### 3. Provide Alternatives
|
|
193
|
+
- Don't rely on color alone
|
|
194
|
+
- Use icons with color
|
|
195
|
+
- Provide text labels
|
|
196
|
+
- Use patterns or shapes
|
|
197
|
+
|
|
198
|
+
### 4. Consider Context
|
|
199
|
+
- Test in different lighting
|
|
200
|
+
- Test on different displays
|
|
201
|
+
- Consider user preferences
|
|
202
|
+
- Allow customization
|
|
203
|
+
|
|
204
|
+
### 5. Document Standards
|
|
205
|
+
- Define color palette
|
|
206
|
+
- Document contrast ratios
|
|
207
|
+
- Provide guidelines
|
|
208
|
+
- Share with team
|
|
209
|
+
|
|
210
|
+
## Color Palette Guidelines
|
|
211
|
+
|
|
212
|
+
### High Contrast Palette
|
|
213
|
+
- Dark text on light backgrounds
|
|
214
|
+
- Light text on dark backgrounds
|
|
215
|
+
- Avoid similar colors
|
|
216
|
+
- Test all combinations
|
|
217
|
+
|
|
218
|
+
### Accessible Colors
|
|
219
|
+
- Blue: Good for links
|
|
220
|
+
- Red: Use with caution
|
|
221
|
+
- Green: Use with caution
|
|
222
|
+
- Yellow: Low contrast, avoid
|
|
223
|
+
|
|
224
|
+
### Brand Colors
|
|
225
|
+
- Ensure brand colors meet contrast
|
|
226
|
+
- Provide alternative palettes
|
|
227
|
+
- Use brand colors for accents
|
|
228
|
+
- Don't sacrifice accessibility
|
|
229
|
+
|
|
230
|
+
## Implementation
|
|
231
|
+
|
|
232
|
+
### CSS Variables
|
|
233
|
+
```css
|
|
234
|
+
:root {
|
|
235
|
+
--text-primary: #000000; /* 21:1 on white */
|
|
236
|
+
--text-secondary: #333333; /* 12.6:1 on white */
|
|
237
|
+
--bg-primary: #ffffff;
|
|
238
|
+
--bg-secondary: #f5f5f5;
|
|
239
|
+
--accent: #0066cc; /* 7:1 on white */
|
|
240
|
+
}
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
### Focus Indicators
|
|
244
|
+
```css
|
|
245
|
+
:focus {
|
|
246
|
+
outline: 3px solid #0066cc; /* High contrast */
|
|
247
|
+
outline-offset: 2px;
|
|
248
|
+
}
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
### Error States
|
|
252
|
+
```css
|
|
253
|
+
.error {
|
|
254
|
+
color: #d32f2f; /* High contrast red */
|
|
255
|
+
border-color: #d32f2f;
|
|
256
|
+
/* Plus icon or text label */
|
|
257
|
+
}
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
## Testing Checklist
|
|
261
|
+
|
|
262
|
+
- [ ] All text meets 4.5:1 (AA) or 7:1 (AAA)
|
|
263
|
+
- [ ] Large text meets 3:1 (AA) or 4.5:1 (AAA)
|
|
264
|
+
- [ ] UI components meet 3:1
|
|
265
|
+
- [ ] Focus indicators meet 3:1
|
|
266
|
+
- [ ] Interactive states meet 3:1
|
|
267
|
+
- [ ] Icons meet 3:1
|
|
268
|
+
- [ ] Charts/graphs meet 3:1
|
|
269
|
+
- [ ] Don't rely on color alone
|
|
270
|
+
- [ ] Tested with color blindness simulators
|
|
271
|
+
- [ ] Tested in different conditions
|
|
272
|
+
|
|
273
|
+
## Best Practices Summary
|
|
274
|
+
|
|
275
|
+
1. **Meet WCAG Standards**: 4.5:1 for text, 3:1 for UI
|
|
276
|
+
2. **Test Regularly**: Use contrast checkers
|
|
277
|
+
3. **Don't Rely on Color**: Provide additional indicators
|
|
278
|
+
4. **Consider All Users**: Test with color blindness
|
|
279
|
+
5. **Design Accessibly**: Start with high contrast
|
|
280
|
+
6. **Document Standards**: Define accessible palette
|
|
281
|
+
7. **Test States**: All interactive states
|
|
282
|
+
8. **Automate Testing**: Include in CI/CD
|
|
283
|
+
9. **User Feedback**: Test with users
|
|
284
|
+
10. **Continuous Improvement**: Regular audits
|
|
285
|
+
|