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,293 +1,293 @@
|
|
|
1
|
-
# Resource Management Strategies
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
Effective resource management is critical for application performance and stability. This guide covers memory management, connection pooling, thread management, and resource lifecycle patterns.
|
|
6
|
-
|
|
7
|
-
## Memory Management
|
|
8
|
-
|
|
9
|
-
### Memory Allocation
|
|
10
|
-
|
|
11
|
-
**Efficient Allocation:**
|
|
12
|
-
- Pre-allocate when size is known
|
|
13
|
-
- Use object pools for frequent allocations
|
|
14
|
-
- Minimize allocations in hot paths
|
|
15
|
-
- Reuse objects when possible
|
|
16
|
-
|
|
17
|
-
**Example:**
|
|
18
|
-
```python
|
|
19
|
-
# Bad: Allocate in loop
|
|
20
|
-
def process_items(items):
|
|
21
|
-
results = []
|
|
22
|
-
for item in items:
|
|
23
|
-
result = {} # New allocation each iteration
|
|
24
|
-
result['processed'] = process(item)
|
|
25
|
-
results.append(result)
|
|
26
|
-
return results
|
|
27
|
-
|
|
28
|
-
# Good: Pre-allocate or reuse
|
|
29
|
-
def process_items(items):
|
|
30
|
-
results = [None] * len(items) # Pre-allocate
|
|
31
|
-
for i, item in enumerate(items):
|
|
32
|
-
results[i] = {'processed': process(item)}
|
|
33
|
-
return results
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
### Garbage Collection
|
|
37
|
-
|
|
38
|
-
**GC Optimization:**
|
|
39
|
-
- Minimize object creation
|
|
40
|
-
- Reduce object lifetime
|
|
41
|
-
- Use weak references when appropriate
|
|
42
|
-
- Tune GC parameters if needed
|
|
43
|
-
|
|
44
|
-
### Memory Leaks
|
|
45
|
-
|
|
46
|
-
**Prevent Leaks:**
|
|
47
|
-
- Close resources properly
|
|
48
|
-
- Remove event listeners
|
|
49
|
-
- Clear caches periodically
|
|
50
|
-
- Use weak references for observers
|
|
51
|
-
|
|
52
|
-
**Common Leak Patterns:**
|
|
53
|
-
- Unclosed file handles
|
|
54
|
-
- Event listeners not removed
|
|
55
|
-
- Circular references
|
|
56
|
-
- Caches without expiration
|
|
57
|
-
|
|
58
|
-
## Connection Management
|
|
59
|
-
|
|
60
|
-
### Connection Pooling
|
|
61
|
-
|
|
62
|
-
**Reuse Connections:**
|
|
63
|
-
- Database connections
|
|
64
|
-
- HTTP connections
|
|
65
|
-
- Network sockets
|
|
66
|
-
- Reduce connection overhead
|
|
67
|
-
|
|
68
|
-
**Pool Configuration:**
|
|
69
|
-
- Minimum pool size
|
|
70
|
-
- Maximum pool size
|
|
71
|
-
- Connection timeout
|
|
72
|
-
- Idle timeout
|
|
73
|
-
- Health checks
|
|
74
|
-
|
|
75
|
-
**Example:**
|
|
76
|
-
```python
|
|
77
|
-
from sqlalchemy import create_engine
|
|
78
|
-
|
|
79
|
-
# Configure connection pool
|
|
80
|
-
engine = create_engine(
|
|
81
|
-
'postgresql://user:pass@localhost/db',
|
|
82
|
-
pool_size=10, # Minimum connections
|
|
83
|
-
max_overflow=20, # Maximum connections
|
|
84
|
-
pool_timeout=30, # Wait time for connection
|
|
85
|
-
pool_recycle=3600 # Recycle connections after 1 hour
|
|
86
|
-
)
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
### Connection Lifecycle
|
|
90
|
-
|
|
91
|
-
**Proper Lifecycle:**
|
|
92
|
-
1. Acquire from pool
|
|
93
|
-
2. Use connection
|
|
94
|
-
3. Return to pool
|
|
95
|
-
4. Handle errors gracefully
|
|
96
|
-
|
|
97
|
-
**Best Practices:**
|
|
98
|
-
- Always use context managers
|
|
99
|
-
- Handle connection errors
|
|
100
|
-
- Set appropriate timeouts
|
|
101
|
-
- Monitor connection usage
|
|
102
|
-
|
|
103
|
-
## Thread Management
|
|
104
|
-
|
|
105
|
-
### Thread Pools
|
|
106
|
-
|
|
107
|
-
**Manage Threads:**
|
|
108
|
-
- Reuse threads
|
|
109
|
-
- Limit thread count
|
|
110
|
-
- Queue tasks
|
|
111
|
-
- Handle thread lifecycle
|
|
112
|
-
|
|
113
|
-
**Thread Pool Sizing:**
|
|
114
|
-
- CPU-bound: Number of cores
|
|
115
|
-
- I/O-bound: Higher count (2-4x cores)
|
|
116
|
-
- Consider blocking factor
|
|
117
|
-
- Monitor thread utilization
|
|
118
|
-
|
|
119
|
-
**Example:**
|
|
120
|
-
```python
|
|
121
|
-
from concurrent.futures import ThreadPoolExecutor
|
|
122
|
-
import os
|
|
123
|
-
|
|
124
|
-
# Size based on workload
|
|
125
|
-
cpu_count = os.cpu_count()
|
|
126
|
-
io_bound_pool = ThreadPoolExecutor(max_workers=cpu_count * 2)
|
|
127
|
-
cpu_bound_pool = ThreadPoolExecutor(max_workers=cpu_count)
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
### Thread Safety
|
|
131
|
-
|
|
132
|
-
**Concurrent Access:**
|
|
133
|
-
- Use locks for shared state
|
|
134
|
-
- Prefer immutable data
|
|
135
|
-
- Use thread-safe collections
|
|
136
|
-
- Avoid shared mutable state
|
|
137
|
-
|
|
138
|
-
## File Handle Management
|
|
139
|
-
|
|
140
|
-
### Resource Cleanup
|
|
141
|
-
|
|
142
|
-
**Proper Cleanup:**
|
|
143
|
-
- Always close file handles
|
|
144
|
-
- Use context managers
|
|
145
|
-
- Handle exceptions
|
|
146
|
-
- Ensure cleanup in finally blocks
|
|
147
|
-
|
|
148
|
-
**Example:**
|
|
149
|
-
```python
|
|
150
|
-
# Bad: File not closed on exception
|
|
151
|
-
file = open('data.txt', 'r')
|
|
152
|
-
data = file.read()
|
|
153
|
-
file.close() # Not reached if exception occurs
|
|
154
|
-
|
|
155
|
-
# Good: Context manager
|
|
156
|
-
with open('data.txt', 'r') as file:
|
|
157
|
-
data = file.read()
|
|
158
|
-
# File automatically closed
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
### File Handle Limits
|
|
162
|
-
|
|
163
|
-
**System Limits:**
|
|
164
|
-
- Monitor open file handles
|
|
165
|
-
- Set appropriate limits
|
|
166
|
-
- Handle "too many open files" errors
|
|
167
|
-
- Use connection pooling for files
|
|
168
|
-
|
|
169
|
-
## Cache Management
|
|
170
|
-
|
|
171
|
-
### Cache Size Limits
|
|
172
|
-
|
|
173
|
-
**Memory Bounded:**
|
|
174
|
-
- Set maximum cache size
|
|
175
|
-
- Use LRU eviction
|
|
176
|
-
- Monitor memory usage
|
|
177
|
-
- Prevent memory exhaustion
|
|
178
|
-
|
|
179
|
-
**Example:**
|
|
180
|
-
```python
|
|
181
|
-
from functools import lru_cache
|
|
182
|
-
from cachetools import LRUCache
|
|
183
|
-
|
|
184
|
-
# LRU cache with size limit
|
|
185
|
-
cache = LRUCache(maxsize=1000)
|
|
186
|
-
|
|
187
|
-
# Or use functools.lru_cache
|
|
188
|
-
@lru_cache(maxsize=1000)
|
|
189
|
-
def expensive_function(arg):
|
|
190
|
-
return compute(arg)
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
### Cache Eviction
|
|
194
|
-
|
|
195
|
-
**Eviction Strategies:**
|
|
196
|
-
- **LRU**: Least Recently Used
|
|
197
|
-
- **LFU**: Least Frequently Used
|
|
198
|
-
- **TTL**: Time To Live
|
|
199
|
-
- **Size-based**: Evict when size limit reached
|
|
200
|
-
|
|
201
|
-
## Resource Monitoring
|
|
202
|
-
|
|
203
|
-
### Metrics to Track
|
|
204
|
-
|
|
205
|
-
**Key Metrics:**
|
|
206
|
-
- Memory usage (heap, stack, cache)
|
|
207
|
-
- Connection pool usage
|
|
208
|
-
- Thread pool usage
|
|
209
|
-
- File handle count
|
|
210
|
-
- CPU utilization
|
|
211
|
-
- I/O wait time
|
|
212
|
-
|
|
213
|
-
### Monitoring Tools
|
|
214
|
-
|
|
215
|
-
**Common Tools:**
|
|
216
|
-
- Application Performance Monitoring (APM)
|
|
217
|
-
- System monitoring (Prometheus, Grafana)
|
|
218
|
-
- Profilers
|
|
219
|
-
- Resource usage dashboards
|
|
220
|
-
|
|
221
|
-
## Resource Limits
|
|
222
|
-
|
|
223
|
-
### Setting Limits
|
|
224
|
-
|
|
225
|
-
**Configure Limits:**
|
|
226
|
-
- Memory limits
|
|
227
|
-
- CPU limits
|
|
228
|
-
- Connection limits
|
|
229
|
-
- Thread limits
|
|
230
|
-
- File handle limits
|
|
231
|
-
|
|
232
|
-
**Container Limits:**
|
|
233
|
-
```yaml
|
|
234
|
-
# Docker resource limits
|
|
235
|
-
resources:
|
|
236
|
-
limits:
|
|
237
|
-
memory: "512Mi"
|
|
238
|
-
cpu: "500m"
|
|
239
|
-
requests:
|
|
240
|
-
memory: "256Mi"
|
|
241
|
-
cpu: "250m"
|
|
242
|
-
```
|
|
243
|
-
|
|
244
|
-
### Handling Limits
|
|
245
|
-
|
|
246
|
-
**Graceful Degradation:**
|
|
247
|
-
- Monitor resource usage
|
|
248
|
-
- Throttle requests when near limit
|
|
249
|
-
- Return appropriate errors
|
|
250
|
-
- Log resource exhaustion
|
|
251
|
-
|
|
252
|
-
## Best Practices
|
|
253
|
-
|
|
254
|
-
1. **Use Context Managers**: Always use `with` statements
|
|
255
|
-
2. **Monitor Resources**: Track resource usage
|
|
256
|
-
3. **Set Limits**: Configure appropriate limits
|
|
257
|
-
4. **Pool Resources**: Reuse connections, threads, etc.
|
|
258
|
-
5. **Clean Up**: Always release resources
|
|
259
|
-
6. **Handle Errors**: Clean up even on errors
|
|
260
|
-
7. **Test Limits**: Test behavior at resource limits
|
|
261
|
-
8. **Document Limits**: Document resource requirements
|
|
262
|
-
|
|
263
|
-
## Patterns
|
|
264
|
-
|
|
265
|
-
### Resource Pool Pattern
|
|
266
|
-
|
|
267
|
-
**Reusable Resources:**
|
|
268
|
-
- Create pool of resources
|
|
269
|
-
- Acquire from pool
|
|
270
|
-
- Use resource
|
|
271
|
-
- Return to pool
|
|
272
|
-
|
|
273
|
-
### Lazy Initialization
|
|
274
|
-
|
|
275
|
-
**Initialize on Demand:**
|
|
276
|
-
- Defer resource creation
|
|
277
|
-
- Create when first needed
|
|
278
|
-
- Reduce startup overhead
|
|
279
|
-
- Lower initial resource usage
|
|
280
|
-
|
|
281
|
-
### Resource Locator
|
|
282
|
-
|
|
283
|
-
**Centralized Access:**
|
|
284
|
-
- Single point for resource access
|
|
285
|
-
- Consistent configuration
|
|
286
|
-
- Easier monitoring
|
|
287
|
-
- Simplified management
|
|
288
|
-
|
|
289
|
-
## References
|
|
290
|
-
|
|
291
|
-
- [Effective Resource Management](https://docs.oracle.com/javase/tutorial/essential/exceptions/resource.html)
|
|
292
|
-
- [Connection Pooling Best Practices](https://www.baeldung.com/java-connection-pooling-best-practices)
|
|
293
|
-
|
|
1
|
+
# Resource Management Strategies
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Effective resource management is critical for application performance and stability. This guide covers memory management, connection pooling, thread management, and resource lifecycle patterns.
|
|
6
|
+
|
|
7
|
+
## Memory Management
|
|
8
|
+
|
|
9
|
+
### Memory Allocation
|
|
10
|
+
|
|
11
|
+
**Efficient Allocation:**
|
|
12
|
+
- Pre-allocate when size is known
|
|
13
|
+
- Use object pools for frequent allocations
|
|
14
|
+
- Minimize allocations in hot paths
|
|
15
|
+
- Reuse objects when possible
|
|
16
|
+
|
|
17
|
+
**Example:**
|
|
18
|
+
```python
|
|
19
|
+
# Bad: Allocate in loop
|
|
20
|
+
def process_items(items):
|
|
21
|
+
results = []
|
|
22
|
+
for item in items:
|
|
23
|
+
result = {} # New allocation each iteration
|
|
24
|
+
result['processed'] = process(item)
|
|
25
|
+
results.append(result)
|
|
26
|
+
return results
|
|
27
|
+
|
|
28
|
+
# Good: Pre-allocate or reuse
|
|
29
|
+
def process_items(items):
|
|
30
|
+
results = [None] * len(items) # Pre-allocate
|
|
31
|
+
for i, item in enumerate(items):
|
|
32
|
+
results[i] = {'processed': process(item)}
|
|
33
|
+
return results
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Garbage Collection
|
|
37
|
+
|
|
38
|
+
**GC Optimization:**
|
|
39
|
+
- Minimize object creation
|
|
40
|
+
- Reduce object lifetime
|
|
41
|
+
- Use weak references when appropriate
|
|
42
|
+
- Tune GC parameters if needed
|
|
43
|
+
|
|
44
|
+
### Memory Leaks
|
|
45
|
+
|
|
46
|
+
**Prevent Leaks:**
|
|
47
|
+
- Close resources properly
|
|
48
|
+
- Remove event listeners
|
|
49
|
+
- Clear caches periodically
|
|
50
|
+
- Use weak references for observers
|
|
51
|
+
|
|
52
|
+
**Common Leak Patterns:**
|
|
53
|
+
- Unclosed file handles
|
|
54
|
+
- Event listeners not removed
|
|
55
|
+
- Circular references
|
|
56
|
+
- Caches without expiration
|
|
57
|
+
|
|
58
|
+
## Connection Management
|
|
59
|
+
|
|
60
|
+
### Connection Pooling
|
|
61
|
+
|
|
62
|
+
**Reuse Connections:**
|
|
63
|
+
- Database connections
|
|
64
|
+
- HTTP connections
|
|
65
|
+
- Network sockets
|
|
66
|
+
- Reduce connection overhead
|
|
67
|
+
|
|
68
|
+
**Pool Configuration:**
|
|
69
|
+
- Minimum pool size
|
|
70
|
+
- Maximum pool size
|
|
71
|
+
- Connection timeout
|
|
72
|
+
- Idle timeout
|
|
73
|
+
- Health checks
|
|
74
|
+
|
|
75
|
+
**Example:**
|
|
76
|
+
```python
|
|
77
|
+
from sqlalchemy import create_engine
|
|
78
|
+
|
|
79
|
+
# Configure connection pool
|
|
80
|
+
engine = create_engine(
|
|
81
|
+
'postgresql://user:pass@localhost/db',
|
|
82
|
+
pool_size=10, # Minimum connections
|
|
83
|
+
max_overflow=20, # Maximum connections
|
|
84
|
+
pool_timeout=30, # Wait time for connection
|
|
85
|
+
pool_recycle=3600 # Recycle connections after 1 hour
|
|
86
|
+
)
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Connection Lifecycle
|
|
90
|
+
|
|
91
|
+
**Proper Lifecycle:**
|
|
92
|
+
1. Acquire from pool
|
|
93
|
+
2. Use connection
|
|
94
|
+
3. Return to pool
|
|
95
|
+
4. Handle errors gracefully
|
|
96
|
+
|
|
97
|
+
**Best Practices:**
|
|
98
|
+
- Always use context managers
|
|
99
|
+
- Handle connection errors
|
|
100
|
+
- Set appropriate timeouts
|
|
101
|
+
- Monitor connection usage
|
|
102
|
+
|
|
103
|
+
## Thread Management
|
|
104
|
+
|
|
105
|
+
### Thread Pools
|
|
106
|
+
|
|
107
|
+
**Manage Threads:**
|
|
108
|
+
- Reuse threads
|
|
109
|
+
- Limit thread count
|
|
110
|
+
- Queue tasks
|
|
111
|
+
- Handle thread lifecycle
|
|
112
|
+
|
|
113
|
+
**Thread Pool Sizing:**
|
|
114
|
+
- CPU-bound: Number of cores
|
|
115
|
+
- I/O-bound: Higher count (2-4x cores)
|
|
116
|
+
- Consider blocking factor
|
|
117
|
+
- Monitor thread utilization
|
|
118
|
+
|
|
119
|
+
**Example:**
|
|
120
|
+
```python
|
|
121
|
+
from concurrent.futures import ThreadPoolExecutor
|
|
122
|
+
import os
|
|
123
|
+
|
|
124
|
+
# Size based on workload
|
|
125
|
+
cpu_count = os.cpu_count()
|
|
126
|
+
io_bound_pool = ThreadPoolExecutor(max_workers=cpu_count * 2)
|
|
127
|
+
cpu_bound_pool = ThreadPoolExecutor(max_workers=cpu_count)
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### Thread Safety
|
|
131
|
+
|
|
132
|
+
**Concurrent Access:**
|
|
133
|
+
- Use locks for shared state
|
|
134
|
+
- Prefer immutable data
|
|
135
|
+
- Use thread-safe collections
|
|
136
|
+
- Avoid shared mutable state
|
|
137
|
+
|
|
138
|
+
## File Handle Management
|
|
139
|
+
|
|
140
|
+
### Resource Cleanup
|
|
141
|
+
|
|
142
|
+
**Proper Cleanup:**
|
|
143
|
+
- Always close file handles
|
|
144
|
+
- Use context managers
|
|
145
|
+
- Handle exceptions
|
|
146
|
+
- Ensure cleanup in finally blocks
|
|
147
|
+
|
|
148
|
+
**Example:**
|
|
149
|
+
```python
|
|
150
|
+
# Bad: File not closed on exception
|
|
151
|
+
file = open('data.txt', 'r')
|
|
152
|
+
data = file.read()
|
|
153
|
+
file.close() # Not reached if exception occurs
|
|
154
|
+
|
|
155
|
+
# Good: Context manager
|
|
156
|
+
with open('data.txt', 'r') as file:
|
|
157
|
+
data = file.read()
|
|
158
|
+
# File automatically closed
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### File Handle Limits
|
|
162
|
+
|
|
163
|
+
**System Limits:**
|
|
164
|
+
- Monitor open file handles
|
|
165
|
+
- Set appropriate limits
|
|
166
|
+
- Handle "too many open files" errors
|
|
167
|
+
- Use connection pooling for files
|
|
168
|
+
|
|
169
|
+
## Cache Management
|
|
170
|
+
|
|
171
|
+
### Cache Size Limits
|
|
172
|
+
|
|
173
|
+
**Memory Bounded:**
|
|
174
|
+
- Set maximum cache size
|
|
175
|
+
- Use LRU eviction
|
|
176
|
+
- Monitor memory usage
|
|
177
|
+
- Prevent memory exhaustion
|
|
178
|
+
|
|
179
|
+
**Example:**
|
|
180
|
+
```python
|
|
181
|
+
from functools import lru_cache
|
|
182
|
+
from cachetools import LRUCache
|
|
183
|
+
|
|
184
|
+
# LRU cache with size limit
|
|
185
|
+
cache = LRUCache(maxsize=1000)
|
|
186
|
+
|
|
187
|
+
# Or use functools.lru_cache
|
|
188
|
+
@lru_cache(maxsize=1000)
|
|
189
|
+
def expensive_function(arg):
|
|
190
|
+
return compute(arg)
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Cache Eviction
|
|
194
|
+
|
|
195
|
+
**Eviction Strategies:**
|
|
196
|
+
- **LRU**: Least Recently Used
|
|
197
|
+
- **LFU**: Least Frequently Used
|
|
198
|
+
- **TTL**: Time To Live
|
|
199
|
+
- **Size-based**: Evict when size limit reached
|
|
200
|
+
|
|
201
|
+
## Resource Monitoring
|
|
202
|
+
|
|
203
|
+
### Metrics to Track
|
|
204
|
+
|
|
205
|
+
**Key Metrics:**
|
|
206
|
+
- Memory usage (heap, stack, cache)
|
|
207
|
+
- Connection pool usage
|
|
208
|
+
- Thread pool usage
|
|
209
|
+
- File handle count
|
|
210
|
+
- CPU utilization
|
|
211
|
+
- I/O wait time
|
|
212
|
+
|
|
213
|
+
### Monitoring Tools
|
|
214
|
+
|
|
215
|
+
**Common Tools:**
|
|
216
|
+
- Application Performance Monitoring (APM)
|
|
217
|
+
- System monitoring (Prometheus, Grafana)
|
|
218
|
+
- Profilers
|
|
219
|
+
- Resource usage dashboards
|
|
220
|
+
|
|
221
|
+
## Resource Limits
|
|
222
|
+
|
|
223
|
+
### Setting Limits
|
|
224
|
+
|
|
225
|
+
**Configure Limits:**
|
|
226
|
+
- Memory limits
|
|
227
|
+
- CPU limits
|
|
228
|
+
- Connection limits
|
|
229
|
+
- Thread limits
|
|
230
|
+
- File handle limits
|
|
231
|
+
|
|
232
|
+
**Container Limits:**
|
|
233
|
+
```yaml
|
|
234
|
+
# Docker resource limits
|
|
235
|
+
resources:
|
|
236
|
+
limits:
|
|
237
|
+
memory: "512Mi"
|
|
238
|
+
cpu: "500m"
|
|
239
|
+
requests:
|
|
240
|
+
memory: "256Mi"
|
|
241
|
+
cpu: "250m"
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### Handling Limits
|
|
245
|
+
|
|
246
|
+
**Graceful Degradation:**
|
|
247
|
+
- Monitor resource usage
|
|
248
|
+
- Throttle requests when near limit
|
|
249
|
+
- Return appropriate errors
|
|
250
|
+
- Log resource exhaustion
|
|
251
|
+
|
|
252
|
+
## Best Practices
|
|
253
|
+
|
|
254
|
+
1. **Use Context Managers**: Always use `with` statements
|
|
255
|
+
2. **Monitor Resources**: Track resource usage
|
|
256
|
+
3. **Set Limits**: Configure appropriate limits
|
|
257
|
+
4. **Pool Resources**: Reuse connections, threads, etc.
|
|
258
|
+
5. **Clean Up**: Always release resources
|
|
259
|
+
6. **Handle Errors**: Clean up even on errors
|
|
260
|
+
7. **Test Limits**: Test behavior at resource limits
|
|
261
|
+
8. **Document Limits**: Document resource requirements
|
|
262
|
+
|
|
263
|
+
## Patterns
|
|
264
|
+
|
|
265
|
+
### Resource Pool Pattern
|
|
266
|
+
|
|
267
|
+
**Reusable Resources:**
|
|
268
|
+
- Create pool of resources
|
|
269
|
+
- Acquire from pool
|
|
270
|
+
- Use resource
|
|
271
|
+
- Return to pool
|
|
272
|
+
|
|
273
|
+
### Lazy Initialization
|
|
274
|
+
|
|
275
|
+
**Initialize on Demand:**
|
|
276
|
+
- Defer resource creation
|
|
277
|
+
- Create when first needed
|
|
278
|
+
- Reduce startup overhead
|
|
279
|
+
- Lower initial resource usage
|
|
280
|
+
|
|
281
|
+
### Resource Locator
|
|
282
|
+
|
|
283
|
+
**Centralized Access:**
|
|
284
|
+
- Single point for resource access
|
|
285
|
+
- Consistent configuration
|
|
286
|
+
- Easier monitoring
|
|
287
|
+
- Simplified management
|
|
288
|
+
|
|
289
|
+
## References
|
|
290
|
+
|
|
291
|
+
- [Effective Resource Management](https://docs.oracle.com/javase/tutorial/essential/exceptions/resource.html)
|
|
292
|
+
- [Connection Pooling Best Practices](https://www.baeldung.com/java-connection-pooling-best-practices)
|
|
293
|
+
|