tapps-agents 3.5.40__tar.gz → 3.5.41__tar.gz
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-3.5.40 → tapps_agents-3.5.41}/PKG-INFO +1 -1
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/pyproject.toml +1 -1
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/__init__.py +2 -2
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/commands/task.py +9 -1
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/cursor_executor.py +181 -40
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/models.py +38 -1
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/LICENSE +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/MANIFEST.in +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/README.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/setup.cfg +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/setup.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/analyst/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/analyst/agent.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/architect/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/architect/agent.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/architect/pattern_detector.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/cleanup/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/cleanup/agent.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/debugger/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/debugger/agent.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/debugger/error_analyzer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/designer/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/designer/agent.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/designer/visual_designer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/documenter/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/documenter/agent.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/documenter/doc_generator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/documenter/doc_validator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/documenter/framework_doc_updater.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/enhancer/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/enhancer/agent.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/evaluator/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/evaluator/agent.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/evaluator/priority_evaluator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/evaluator/quality_analyzer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/evaluator/report_generator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/evaluator/usage_analyzer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/evaluator/workflow_analyzer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/implementer/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/implementer/agent.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/implementer/auto_fix.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/implementer/code_generator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/improver/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/improver/agent.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/ops/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/ops/agent.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/ops/dependency_analyzer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/orchestrator/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/orchestrator/agent.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/planner/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/planner/agent.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/adaptive_scorer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/agent.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/aggregator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/batch_review.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/cache.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/context7_enhancer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/context_detector.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/docker_compose_validator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/dockerfile_validator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/error_handling.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/feedback_generator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/influxdb_validator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/issue_tracking.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/library_detector.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/library_patterns.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/maintainability_scorer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/metric_strategies.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/mqtt_validator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/output_enhancer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/pattern_detector.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/performance_scorer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/phased_review.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/progressive_review.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/react_scorer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/report_generator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/score_constants.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/score_validator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/scorer_registry.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/scoring.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/service_discovery.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/tools/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/tools/parallel_executor.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/tools/ruff_grouping.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/tools/scoped_mypy.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/typescript_scorer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/validation.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/websocket_validator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/tester/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/tester/accessibility_auditor.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/tester/agent.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/tester/batch_generator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/tester/context_learner.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/tester/coverage_analyzer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/tester/coverage_test_generator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/tester/debug_enhancer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/tester/device_emulator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/tester/integration_generator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/tester/network_recorder.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/tester/performance_monitor.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/tester/test_fixer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/tester/test_generator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/tester/trace_manager.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/tester/visual_regression.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/analysis/pattern_detector.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/beads/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/beads/client.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/beads/hydration.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/beads/parse.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/beads/specs.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/__main__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/base.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/command_classifier.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/commands/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/commands/analyst.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/commands/architect.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/commands/cleanup_agent.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/commands/common.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/commands/debugger.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/commands/designer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/commands/documenter.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/commands/enhancer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/commands/evaluator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/commands/health.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/commands/implementer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/commands/improver.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/commands/knowledge.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/commands/learning.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/commands/observability.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/commands/ops.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/commands/orchestrator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/commands/planner.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/commands/reviewer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/commands/simple_mode.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/commands/status.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/commands/tester.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/commands/top_level.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/feedback.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/formatters.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/help/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/help/static_help.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/main.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/network_detection.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/output_compactor.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/parsers/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/parsers/analyst.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/parsers/architect.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/parsers/cleanup_agent.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/parsers/debugger.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/parsers/designer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/parsers/documenter.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/parsers/enhancer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/parsers/evaluator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/parsers/implementer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/parsers/improver.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/parsers/ops.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/parsers/orchestrator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/parsers/planner.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/parsers/reviewer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/parsers/tester.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/parsers/top_level.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/progress_heartbeat.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/streaming_progress.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/utils/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/utils/agent_lifecycle.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/utils/error_formatter.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/utils/error_recovery.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/utils/output_handler.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/utils/prompt_enhancer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/utils/status_reporter.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/validators/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/cli/validators/command_validator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/agent_integration.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/analytics.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/analytics_dashboard.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/async_cache.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/backup_client.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/cache_locking.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/cache_metadata.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/cache_prewarm.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/cache_structure.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/cache_warming.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/circuit_breaker.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/cleanup.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/commands.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/credential_validation.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/cross_reference_resolver.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/cross_references.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/doc_manager.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/fuzzy_matcher.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/kb_cache.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/language_detector.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/library_detector.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/lookup.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/metadata.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/refresh_queue.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/security.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/staleness_policies.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/context7/tiles_integration.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/continuous_bug_fix/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/continuous_bug_fix/bug_finder.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/continuous_bug_fix/bug_fix_coordinator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/continuous_bug_fix/commit_manager.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/continuous_bug_fix/continuous_bug_fixer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/continuous_bug_fix/proactive_bug_finder.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/adaptive_cache_config.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/adaptive_scoring.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/agent_base.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/agent_cache.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/agent_learning.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/analytics_dashboard.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/analytics_enhancements.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/anonymization.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/ast_parser.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/async_file_ops.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/best_practice_consultant.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/brownfield_analyzer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/brownfield_review.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/browser_controller.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/cache_router.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/capability_registry.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/change_impact_analyzer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/checkpoint_manager.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/cleanup_tool.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/code_generator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/code_validator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/command_registry.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/config.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/context_gathering/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/context_gathering/repository_explorer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/context_intelligence/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/context_intelligence/relevance_scorer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/context_intelligence/token_budget_manager.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/context_manager.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/cursor_feedback_monitor.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/cursor_verification.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/customization_loader.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/customization_schema.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/customization_template.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/debug_logger.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/design_validator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/diagram_generator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/docker_utils.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/doctor.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/document_generator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/domain_detector.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/error_envelope.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/error_handler.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/estimation_tracker.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/eval_prompt_engine.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/evaluation_base.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/evaluation_models.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/evaluation_orchestrator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/evaluators/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/evaluators/architectural_evaluator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/evaluators/behavioral_evaluator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/evaluators/performance_profile_evaluator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/evaluators/security_posture_evaluator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/evaluators/spec_compliance_evaluator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/exceptions.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/expert_config_generator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/export_schema.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/external_feedback_models.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/external_feedback_storage.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/fallback_strategy.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/feedback_analyzer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/feedback_collector.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/git_operations.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/hardware_profiler.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/init_project.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/instructions.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/io_guardrails.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/issue_manifest.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/issue_schema.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/iteration_reducer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/json_utils.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/knowledge_graph.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/language_detector.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/learning_confidence.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/learning_dashboard.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/learning_decision.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/learning_explainability.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/learning_export.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/learning_integration.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/llm_behavior.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/llm_communicator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/long_duration_support.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/mcp_setup.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/memory_integration.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/meta_learning.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/module_path_sanitizer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/multi_agent_orchestrator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/network_errors.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/nfr_validator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/offline_mode.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/outcome_tracker.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/output_contracts.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/output_formatter.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/path_normalizer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/path_validator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/pattern_library.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/performance_benchmark.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/performance_monitor.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/playwright_mcp_controller.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/policy_loader.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/predictive_gates.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/progress.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/project_profile.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/project_type_detector.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/prompt_base.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/prompt_learning/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/prompt_learning/learning_loop.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/prompt_learning/project_prompt_store.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/prompt_learning/skills_prompt_analyzer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/prompt_optimization/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/prompt_optimization/ab_tester.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/prompt_optimization/correlation_analyzer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/prompt_optimization/progressive_refiner.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/prompt_optimization/prompt_library.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/prompt_quality.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/requirements_evaluator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/resource_aware_executor.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/resource_monitor.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/resume_handler.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/retry_handler.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/review_checklists.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/role_loader.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/role_template_loader.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/runtime_mode.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/security_scanner.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/session_manager.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/skill_agent_registry.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/skill_integration.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/skill_loader.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/skill_template.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/skill_validator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/stack_analyzer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/startup.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/storage_manager.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/storage_models.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/story_evaluator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/subprocess_utils.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/task_duration.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/task_memory.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/task_state.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/tech_stack_priorities.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/temp_directory.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/template_merger.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/template_selector.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/test_generator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/tiered_context.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/token_monitor.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/traceability.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/trajectory_tracker.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/unicode_safe.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/unified_cache.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/unified_cache_config.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/unified_state.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/validate_cursor_setup.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/validation_registry.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/validators/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/validators/python_validator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/verification_agent.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/visual_feedback.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/workflow_validator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/core/worktree.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/docker/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/docker/analyzer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/docker/debugger.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/docker/error_patterns.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/epic/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/epic/beads_sync.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/epic/markdown_sync.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/epic/models.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/epic/orchestrator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/epic/parser.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/adaptive_domain_detector.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/adaptive_voting.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/agent_integration.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/auto_generator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/base_expert.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/builtin_registry.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/business_metrics.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/cache.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/confidence_breakdown.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/confidence_calculator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/confidence_metrics.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/domain_config.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/domain_detector.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/domain_utils.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/expert_config.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/expert_engine.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/expert_registry.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/expert_suggester.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/expert_synthesizer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/governance.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/history_logger.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/README.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/accessibility/accessible-forms.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/accessibility/aria-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/accessibility/color-contrast.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/accessibility/keyboard-navigation.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/accessibility/screen-readers.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/accessibility/semantic-html.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/accessibility/testing-accessibility.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/accessibility/wcag-2.1.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/accessibility/wcag-2.2.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/agent-learning/adaptive-learning-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/agent-learning/best-practices.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/agent-learning/pattern-extraction.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/agent-learning/prompt-optimization.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/ai-frameworks/agent-orchestration-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/ai-frameworks/model-optimization.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/ai-frameworks/openvino-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/api-design-integration/api-gateway-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/api-design-integration/api-security-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/api-design-integration/api-versioning.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/api-design-integration/async-protocol-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/api-design-integration/contract-testing.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/api-design-integration/external-api-integration.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/api-design-integration/fastapi-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/api-design-integration/fastapi-testing.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/api-design-integration/graphql-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/api-design-integration/grpc-best-practices.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/api-design-integration/mqtt-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/api-design-integration/rate-limiting.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/api-design-integration/restful-api-design.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/api-design-integration/websocket-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/cloud-infrastructure/cloud-native-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/cloud-infrastructure/container-health-checks.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/cloud-infrastructure/containerization.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/cloud-infrastructure/cost-optimization.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/cloud-infrastructure/disaster-recovery.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/cloud-infrastructure/dockerfile-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/cloud-infrastructure/infrastructure-as-code.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/cloud-infrastructure/kubernetes-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/cloud-infrastructure/multi-cloud-strategies.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/cloud-infrastructure/serverless-architecture.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/code-quality-analysis/README.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/code-quality-analysis/code-metrics.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/code-quality-analysis/complexity-analysis.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/code-quality-analysis/quality-gates.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/code-quality-analysis/static-analysis-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/code-quality-analysis/technical-debt-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/data-privacy-compliance/anonymization.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/data-privacy-compliance/ccpa.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/data-privacy-compliance/consent-management.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/data-privacy-compliance/data-minimization.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/data-privacy-compliance/data-retention.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/data-privacy-compliance/data-subject-rights.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/data-privacy-compliance/encryption-privacy.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/data-privacy-compliance/gdpr.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/data-privacy-compliance/hipaa.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/data-privacy-compliance/privacy-by-design.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/database-data-management/acid-vs-cap.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/database-data-management/backup-and-recovery.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/database-data-management/data-modeling.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/database-data-management/database-design.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/database-data-management/flux-query-optimization.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/database-data-management/influxdb-connection-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/database-data-management/influxdb-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/database-data-management/migration-strategies.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/database-data-management/nosql-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/database-data-management/scalability-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/database-data-management/sql-optimization.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/database-data-management/time-series-modeling.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/development-workflow/README.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/development-workflow/automation-best-practices.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/development-workflow/build-strategies.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/development-workflow/ci-cd-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/development-workflow/deployment-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/development-workflow/git-workflows.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/documentation-knowledge-management/README.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/documentation-knowledge-management/api-documentation-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/documentation-knowledge-management/documentation-standards.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/documentation-knowledge-management/knowledge-management.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/documentation-knowledge-management/technical-writing-guide.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/observability-monitoring/alerting-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/observability-monitoring/apm-tools.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/observability-monitoring/distributed-tracing.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/observability-monitoring/logging-strategies.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/observability-monitoring/metrics-and-monitoring.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/observability-monitoring/observability-best-practices.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/observability-monitoring/open-telemetry.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/observability-monitoring/slo-sli-sla.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/performance/anti-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/performance/api-performance.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/performance/caching.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/performance/database-performance.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/performance/optimization-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/performance/profiling.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/performance/resource-management.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/performance/scalability.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/security/owasp-top10.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/security/secure-coding-practices.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/security/threat-modeling.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/security/vulnerability-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/software-architecture/docker-compose-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/software-architecture/microservices-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/software-architecture/service-communication.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/testing/best-practices.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/testing/coverage-analysis.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/testing/mocking.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/testing/test-automation.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/testing/test-data.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/testing/test-design-patterns.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/testing/test-maintenance.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/testing/test-strategies.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/user-experience/information-architecture.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/user-experience/interaction-design.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/user-experience/prototyping.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/user-experience/usability-heuristics.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/user-experience/usability-testing.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/user-experience/user-journeys.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/user-experience/user-research.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge/user-experience/ux-principles.md +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge_enhancer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge_freshness.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge_ingestion.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge_need_detector.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/knowledge_validator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/observability.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/passive_notifier.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/performance_tracker.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/proactive_orchestrator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/rag_chunker.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/rag_embedder.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/rag_evaluation.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/rag_index.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/rag_metrics.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/rag_safety.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/report_generator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/setup_wizard.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/simple_rag.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/vector_rag.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/experts/weight_distributor.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/health/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/health/base.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/health/checks/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/health/checks/automation.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/health/checks/context7_cache.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/health/checks/environment.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/health/checks/execution.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/health/checks/knowledge_base.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/health/checks/outcomes.backup_20260204_064058.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/health/checks/outcomes.backup_20260204_064256.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/health/checks/outcomes.backup_20260204_064600.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/health/checks/outcomes.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/health/collector.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/health/dashboard.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/health/metrics.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/health/orchestrator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/health/registry.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/hooks/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/hooks/config.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/hooks/events.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/hooks/executor.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/hooks/manager.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/integration/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/integration/service_integrator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/integrations/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/integrations/clawdbot.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/integrations/memory_bridge.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/mcp/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/mcp/gateway.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/mcp/servers/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/mcp/servers/analysis.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/mcp/servers/context7.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/mcp/servers/filesystem.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/mcp/servers/git.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/mcp/tool_registry.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/quality/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/quality/coverage_analyzer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/quality/enforcement.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/quality/gates/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/quality/gates/approval_gate.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/quality/gates/base.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/quality/gates/exceptions.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/quality/gates/policy_gate.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/quality/gates/registry.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/quality/gates/security_gate.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/quality/quality_gates.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/quality/secret_scanner.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/session/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/session/manager.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/agent_contracts.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/beads_hooks.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/checkpoint_manager.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/code_snippet_handler.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/documentation_manager.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/documentation_reader.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/error_handling.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/file_inference.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/formatters/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/formatters/optimization_report_formatter.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/framework_change_detector.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/intent_parser.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/learning_progression.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/metrics/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/metrics/workflow_metrics_tracker.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/nl_handler.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/onboarding.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/orchestrators/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/orchestrators/base.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/orchestrators/breakdown_orchestrator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/orchestrators/brownfield_orchestrator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/orchestrators/build_orchestrator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/orchestrators/deliverable_checklist.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/orchestrators/enhance_orchestrator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/orchestrators/epic_orchestrator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/orchestrators/explore_orchestrator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/orchestrators/fix_orchestrator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/orchestrators/plan_analysis_orchestrator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/orchestrators/pr_orchestrator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/orchestrators/refactor_orchestrator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/orchestrators/requirements_tracer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/orchestrators/resume_orchestrator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/orchestrators/review_orchestrator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/orchestrators/test_orchestrator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/orchestrators/todo_orchestrator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/orchestrators/validate_orchestrator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/output_aggregator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/prompt_analyzer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/result_formatters.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/step_dependencies.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/step_results.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/streaming.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/variations.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/visual_feedback.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/workflow_selector.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/workflow_suggester.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/workflows/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/workflows/quick_wins_workflow.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/workflows/validation_workflow.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/simple_mode/zero_config.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/suggestions/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/suggestions/inline_suggester.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/templates/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/templates/microservice_generator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/utils/env_validator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/utils/project_cleanup_agent.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/acceptance_verifier.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/agent_handlers/__init__.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/agent_handlers/analyst_handler.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/agent_handlers/architect_handler.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/agent_handlers/base.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/agent_handlers/debugger_handler.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/agent_handlers/designer_handler.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/agent_handlers/documenter_handler.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/agent_handlers/enhancer_handler.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/agent_handlers/implementer_handler.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/agent_handlers/ops_handler.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/agent_handlers/orchestrator_handler.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/agent_handlers/planner_handler.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/agent_handlers/registry.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/agent_handlers/reviewer_handler.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/agent_handlers/tester_handler.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/analytics_accessor.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/analytics_alerts.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/analytics_dashboard_cursor.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/analytics_dual_write.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/analytics_integration.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/analytics_query_parser.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/analytics_visualizer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/artifact_helper.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/audit_logger.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/auto_execution_config.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/auto_progression.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/branch_cleanup.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/checkpoint.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/checkpoint_manager.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/code_artifact.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/common_enums.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/confirmation_handler.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/context_analyzer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/context_artifact.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/cursor_chat.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/cursor_skill_helper.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/dependency_resolver.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/design_artifact.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/detector.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/direct_execution_fallback.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/docs_artifact.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/durable_state.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/enforcer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/enhancement_artifact.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/error_recovery.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/event_bus.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/event_log.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/events.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/exceptions.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/execution_graph.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/execution_metrics.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/execution_plan.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/executor.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/file_utils.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/gate_evaluator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/gate_integration.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/graph_visualizer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/health_checker.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/intent_detector.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/logging_helper.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/manifest.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/marker_writer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/message_formatter.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/messaging.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/metadata_models.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/metrics_enhancements.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/metrics_integration.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/migration_utils.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/nlp_config.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/nlp_error_handler.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/nlp_executor.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/nlp_parser.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/observability_dashboard.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/observer.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/ops_artifact.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/output_passing.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/parallel_executor.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/parser.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/planning_artifact.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/preset_loader.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/preset_recommender.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/progress_logger.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/progress_manager.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/progress_monitor.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/progress_updates.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/quality_artifact.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/quality_loopback.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/recommender.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/remediation_loop.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/result_aggregator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/review_artifact.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/rules_generator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/schema_validator.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/session_handoff.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/skill_invoker.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/state_manager.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/state_persistence_config.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/status_monitor.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/step_checkpoint.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/step_details.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/story_models.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/streaming.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/suggestion_engine.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/testing_artifact.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/timeline.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/token_integration.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/validation.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/visual_feedback.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/workflow_chain.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/workflow_summary.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/workflow/worktree_manager.py +0 -0
- {tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents.egg-info/SOURCES.txt +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "tapps-agents"
|
|
7
|
-
version = "3.5.
|
|
7
|
+
version = "3.5.41"
|
|
8
8
|
description = "A specification framework for defining, configuring, and orchestrating coding agents"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.12"
|
|
@@ -24,8 +24,8 @@ Example:
|
|
|
24
24
|
```
|
|
25
25
|
"""
|
|
26
26
|
|
|
27
|
-
__version__: str = "3.5.
|
|
27
|
+
__version__: str = "3.5.41"
|
|
28
28
|
|
|
29
29
|
# Also expose as _version_ for compatibility with some import mechanisms
|
|
30
30
|
# This helps with editable installs where __version__ might not be importable
|
|
31
|
-
_version_: str = "3.5.
|
|
31
|
+
_version_: str = "3.5.41"
|
|
@@ -207,13 +207,21 @@ def _handle_run(args: object) -> None:
|
|
|
207
207
|
spec = spec.model_copy(update={"status": "done"})
|
|
208
208
|
save_task_spec(spec, root)
|
|
209
209
|
print(f"Task {task_id} completed.")
|
|
210
|
+
elif final_state.status == "blocked":
|
|
211
|
+
# BUG-003B fix: Set status to "blocked" when workflow fails
|
|
212
|
+
spec = spec.model_copy(update={"status": "blocked"})
|
|
213
|
+
save_task_spec(spec, root)
|
|
214
|
+
print(f"Workflow blocked: {final_state.error or 'Required step failed'}", file=sys.stderr)
|
|
215
|
+
sys.exit(1)
|
|
210
216
|
else:
|
|
217
|
+
# Other statuses (paused, etc.) - set to todo for retry
|
|
211
218
|
spec = spec.model_copy(update={"status": "todo"})
|
|
212
219
|
save_task_spec(spec, root)
|
|
213
220
|
print(f"Workflow ended with status: {final_state.status}", file=sys.stderr)
|
|
214
221
|
sys.exit(1)
|
|
215
222
|
except Exception as e:
|
|
216
|
-
|
|
223
|
+
# BUG-003B fix: Set status to "blocked" on exception
|
|
224
|
+
spec = spec.model_copy(update={"status": "blocked"})
|
|
217
225
|
save_task_spec(spec, root)
|
|
218
226
|
print(f"Error running workflow: {e}", file=sys.stderr)
|
|
219
227
|
sys.exit(1)
|
|
@@ -27,6 +27,7 @@ from __future__ import annotations
|
|
|
27
27
|
import asyncio
|
|
28
28
|
import hashlib
|
|
29
29
|
import os
|
|
30
|
+
import traceback
|
|
30
31
|
from collections.abc import AsyncIterator
|
|
31
32
|
from contextlib import asynccontextmanager
|
|
32
33
|
from dataclasses import asdict
|
|
@@ -52,7 +53,7 @@ from .event_bus import FileBasedEventBus
|
|
|
52
53
|
from .events import EventType, WorkflowEvent
|
|
53
54
|
from .logging_helper import WorkflowLogger
|
|
54
55
|
from .marker_writer import MarkerWriter
|
|
55
|
-
from .models import Artifact, StepExecution, Workflow, WorkflowState, WorkflowStep
|
|
56
|
+
from .models import Artifact, StepExecution, StepResult, Workflow, WorkflowState, WorkflowStep
|
|
56
57
|
from .parallel_executor import ParallelStepExecutor
|
|
57
58
|
from .progress_manager import ProgressUpdateManager
|
|
58
59
|
from .skill_invoker import SkillInvoker
|
|
@@ -602,11 +603,74 @@ class CursorWorkflowExecutor:
|
|
|
602
603
|
|
|
603
604
|
# Execute ready steps in parallel
|
|
604
605
|
running_step_ids.update(step.id for step in ready_steps)
|
|
605
|
-
|
|
606
|
+
|
|
607
|
+
# Store completed steps with their results for dependency validation (BUG-003B)
|
|
608
|
+
completed_step_results: dict[str, StepResult] = {}
|
|
609
|
+
|
|
606
610
|
async def execute_step_wrapper(step: WorkflowStep) -> dict[str, Any]:
|
|
607
|
-
"""Wrapper to adapt _execute_step_for_parallel to parallel executor interface."""
|
|
608
|
-
|
|
609
|
-
|
|
611
|
+
"""Wrapper to adapt _execute_step_for_parallel to parallel executor interface (BUG-003B fix)."""
|
|
612
|
+
# Validate dependencies before execution (BUG-003B)
|
|
613
|
+
can_execute, skip_reason = self._can_execute_step(step, completed_step_results)
|
|
614
|
+
|
|
615
|
+
if not can_execute:
|
|
616
|
+
# Create skipped StepResult
|
|
617
|
+
now = datetime.now()
|
|
618
|
+
skipped_result = StepResult(
|
|
619
|
+
step_id=step.id,
|
|
620
|
+
status="skipped",
|
|
621
|
+
success=False,
|
|
622
|
+
duration=0.0,
|
|
623
|
+
started_at=now,
|
|
624
|
+
completed_at=now,
|
|
625
|
+
skip_reason=skip_reason,
|
|
626
|
+
artifacts=[],
|
|
627
|
+
)
|
|
628
|
+
completed_step_results[step.id] = skipped_result
|
|
629
|
+
|
|
630
|
+
# Print skip message
|
|
631
|
+
from ..core.unicode_safe import safe_print
|
|
632
|
+
safe_print(f"\n⏭️ Skipping step '{step.id}': {skip_reason}\n")
|
|
633
|
+
|
|
634
|
+
# Return empty artifacts (step was skipped)
|
|
635
|
+
return {}
|
|
636
|
+
|
|
637
|
+
# Execute step
|
|
638
|
+
step_result = await self._execute_step_for_parallel(step=step, target_path=target_path)
|
|
639
|
+
completed_step_results[step.id] = step_result
|
|
640
|
+
|
|
641
|
+
# Check if step failed (BUG-003B)
|
|
642
|
+
if not step_result.success:
|
|
643
|
+
# Check if step is required
|
|
644
|
+
is_required = step.condition == "required"
|
|
645
|
+
|
|
646
|
+
if is_required:
|
|
647
|
+
# Halt workflow for required step failure
|
|
648
|
+
from ..core.unicode_safe import safe_print
|
|
649
|
+
safe_print(
|
|
650
|
+
f"\n❌ Workflow halted: Required step '{step.id}' failed\n"
|
|
651
|
+
f"Error: {step_result.error}\n"
|
|
652
|
+
)
|
|
653
|
+
|
|
654
|
+
# Update workflow status
|
|
655
|
+
if self.state:
|
|
656
|
+
self.state.status = "blocked"
|
|
657
|
+
self.state.error = step_result.error
|
|
658
|
+
|
|
659
|
+
# Raise error to stop execution
|
|
660
|
+
raise RuntimeError(step_result.error or "Step failed")
|
|
661
|
+
|
|
662
|
+
# Convert StepResult artifacts (list of names) back to dict format for compatibility
|
|
663
|
+
artifacts_dict: dict[str, dict[str, Any]] = {}
|
|
664
|
+
for artifact_name in step_result.artifacts:
|
|
665
|
+
artifacts_dict[artifact_name] = {
|
|
666
|
+
"name": artifact_name,
|
|
667
|
+
"path": artifact_name,
|
|
668
|
+
"status": "complete",
|
|
669
|
+
"created_by": step.id,
|
|
670
|
+
"created_at": step_result.completed_at.isoformat(),
|
|
671
|
+
}
|
|
672
|
+
|
|
673
|
+
return artifacts_dict
|
|
610
674
|
|
|
611
675
|
try:
|
|
612
676
|
results = await self.parallel_executor.execute_parallel(
|
|
@@ -1325,11 +1389,14 @@ class CursorWorkflowExecutor:
|
|
|
1325
1389
|
|
|
1326
1390
|
async def _execute_step_for_parallel(
|
|
1327
1391
|
self, step: WorkflowStep, target_path: Path | None
|
|
1328
|
-
) ->
|
|
1392
|
+
) -> StepResult:
|
|
1329
1393
|
"""
|
|
1330
|
-
Execute a single workflow step using Cursor Skills and return
|
|
1331
|
-
|
|
1332
|
-
This
|
|
1394
|
+
Execute a single workflow step using Cursor Skills and return result (BUG-003B fix).
|
|
1395
|
+
|
|
1396
|
+
This method now returns StepResult with proper error handling:
|
|
1397
|
+
- success=True + artifacts on success
|
|
1398
|
+
- success=False + error details on failure (no exception raised)
|
|
1399
|
+
|
|
1333
1400
|
State updates (step_execution tracking) are handled by ParallelStepExecutor.
|
|
1334
1401
|
"""
|
|
1335
1402
|
if not self.state or not self.workflow:
|
|
@@ -1356,8 +1423,17 @@ class CursorWorkflowExecutor:
|
|
|
1356
1423
|
|
|
1357
1424
|
# Handle completion/finalization steps that don't require agent execution
|
|
1358
1425
|
if agent_name == "orchestrator" and action in ["finalize", "complete"]:
|
|
1359
|
-
# Return
|
|
1360
|
-
|
|
1426
|
+
# Return successful result for completion steps (no artifacts)
|
|
1427
|
+
now = datetime.now()
|
|
1428
|
+
return StepResult(
|
|
1429
|
+
step_id=step.id,
|
|
1430
|
+
status="completed",
|
|
1431
|
+
success=True,
|
|
1432
|
+
duration=0.0,
|
|
1433
|
+
started_at=now,
|
|
1434
|
+
completed_at=now,
|
|
1435
|
+
artifacts=[],
|
|
1436
|
+
)
|
|
1361
1437
|
|
|
1362
1438
|
# Track step start time for duration calculation
|
|
1363
1439
|
step_started_at = datetime.now()
|
|
@@ -1407,16 +1483,12 @@ class CursorWorkflowExecutor:
|
|
|
1407
1483
|
# Worktree is only used for skill invocation fallback
|
|
1408
1484
|
created_artifacts_list = await handler.execute(step, action, target_path)
|
|
1409
1485
|
|
|
1410
|
-
# Convert handler artifacts to dict format
|
|
1411
|
-
artifacts_dict: dict[str, dict[str, Any]] = {}
|
|
1412
|
-
for art in (created_artifacts_list or []):
|
|
1413
|
-
artifacts_dict[art["name"]] = art
|
|
1414
|
-
|
|
1415
1486
|
# Write success marker
|
|
1416
1487
|
step_completed_at = datetime.now()
|
|
1417
1488
|
duration = (step_completed_at - step_started_at).total_seconds()
|
|
1418
1489
|
|
|
1419
1490
|
found_artifact_paths = [art["path"] for art in (created_artifacts_list or [])]
|
|
1491
|
+
artifact_names = [art["name"] for art in (created_artifacts_list or [])]
|
|
1420
1492
|
|
|
1421
1493
|
marker_path = self.marker_writer.write_done_marker(
|
|
1422
1494
|
workflow_id=self.state.workflow_id,
|
|
@@ -1438,7 +1510,16 @@ class CursorWorkflowExecutor:
|
|
|
1438
1510
|
marker_path=str(marker_path),
|
|
1439
1511
|
)
|
|
1440
1512
|
|
|
1441
|
-
|
|
1513
|
+
# Return successful StepResult (BUG-003B fix)
|
|
1514
|
+
return StepResult(
|
|
1515
|
+
step_id=step.id,
|
|
1516
|
+
status="completed",
|
|
1517
|
+
success=True,
|
|
1518
|
+
duration=duration,
|
|
1519
|
+
started_at=step_started_at,
|
|
1520
|
+
completed_at=step_completed_at,
|
|
1521
|
+
artifacts=artifact_names,
|
|
1522
|
+
)
|
|
1442
1523
|
else:
|
|
1443
1524
|
# Fall back to SkillInvoker for steps without handlers
|
|
1444
1525
|
safe_print(f"\n[EXEC] Executing {agent_name}/{action} via skill...", flush=True)
|
|
@@ -1459,19 +1540,12 @@ class CursorWorkflowExecutor:
|
|
|
1459
1540
|
step=step,
|
|
1460
1541
|
)
|
|
1461
1542
|
|
|
1462
|
-
#
|
|
1463
|
-
artifacts_dict: dict[str, dict[str, Any]] = {}
|
|
1543
|
+
# Extract artifact paths and names
|
|
1464
1544
|
found_artifact_paths = []
|
|
1545
|
+
artifact_names = []
|
|
1465
1546
|
for artifact in artifacts:
|
|
1466
|
-
artifacts_dict[artifact.name] = {
|
|
1467
|
-
"name": artifact.name,
|
|
1468
|
-
"path": artifact.path,
|
|
1469
|
-
"status": artifact.status,
|
|
1470
|
-
"created_by": artifact.created_by,
|
|
1471
|
-
"created_at": artifact.created_at.isoformat() if artifact.created_at else None,
|
|
1472
|
-
"metadata": artifact.metadata or {},
|
|
1473
|
-
}
|
|
1474
1547
|
found_artifact_paths.append(artifact.path)
|
|
1548
|
+
artifact_names.append(artifact.name)
|
|
1475
1549
|
|
|
1476
1550
|
# Write DONE marker for successful completion
|
|
1477
1551
|
step_completed_at = datetime.now()
|
|
@@ -1497,8 +1571,17 @@ class CursorWorkflowExecutor:
|
|
|
1497
1571
|
marker_path=str(marker_path),
|
|
1498
1572
|
)
|
|
1499
1573
|
|
|
1574
|
+
# Return successful StepResult (BUG-003B fix)
|
|
1500
1575
|
# Worktree cleanup is handled by context manager
|
|
1501
|
-
return
|
|
1576
|
+
return StepResult(
|
|
1577
|
+
step_id=step.id,
|
|
1578
|
+
status="completed",
|
|
1579
|
+
success=True,
|
|
1580
|
+
duration=duration,
|
|
1581
|
+
started_at=step_started_at,
|
|
1582
|
+
completed_at=step_completed_at,
|
|
1583
|
+
artifacts=artifact_names,
|
|
1584
|
+
)
|
|
1502
1585
|
|
|
1503
1586
|
except (TimeoutError, RuntimeError) as e:
|
|
1504
1587
|
# Write FAILED marker for timeout or execution errors
|
|
@@ -1506,7 +1589,8 @@ class CursorWorkflowExecutor:
|
|
|
1506
1589
|
duration = (step_failed_at - step_started_at).total_seconds()
|
|
1507
1590
|
error_type = type(e).__name__
|
|
1508
1591
|
error_msg = str(e)
|
|
1509
|
-
|
|
1592
|
+
error_tb = traceback.format_exc()
|
|
1593
|
+
|
|
1510
1594
|
# Try to get completion status if available (for missing artifacts)
|
|
1511
1595
|
found_artifact_paths = []
|
|
1512
1596
|
try:
|
|
@@ -1518,7 +1602,7 @@ class CursorWorkflowExecutor:
|
|
|
1518
1602
|
found_artifact_paths = completion_status.get("found_artifacts", [])
|
|
1519
1603
|
except Exception:
|
|
1520
1604
|
pass
|
|
1521
|
-
|
|
1605
|
+
|
|
1522
1606
|
marker_path = self.marker_writer.write_failed_marker(
|
|
1523
1607
|
workflow_id=self.state.workflow_id,
|
|
1524
1608
|
step_id=step.id,
|
|
@@ -1537,30 +1621,41 @@ class CursorWorkflowExecutor:
|
|
|
1537
1621
|
"marker_location": f".tapps-agents/workflows/markers/{self.state.workflow_id}/step-{step.id}/FAILED.json",
|
|
1538
1622
|
},
|
|
1539
1623
|
)
|
|
1540
|
-
|
|
1624
|
+
|
|
1541
1625
|
if self.logger:
|
|
1542
1626
|
self.logger.warning(
|
|
1543
1627
|
f"FAILED marker written for step {step.id}",
|
|
1544
1628
|
marker_path=str(marker_path),
|
|
1545
1629
|
error=error_msg,
|
|
1546
1630
|
)
|
|
1547
|
-
|
|
1631
|
+
|
|
1548
1632
|
# Include marker location in error message for better troubleshooting
|
|
1549
1633
|
from ..core.unicode_safe import safe_print
|
|
1550
1634
|
safe_print(
|
|
1551
1635
|
f"\n[INFO] Failure marker written to: {marker_path}",
|
|
1552
1636
|
flush=True,
|
|
1553
1637
|
)
|
|
1554
|
-
|
|
1555
|
-
#
|
|
1556
|
-
|
|
1638
|
+
|
|
1639
|
+
# Return failed StepResult (BUG-003B fix - don't raise)
|
|
1640
|
+
return StepResult(
|
|
1641
|
+
step_id=step.id,
|
|
1642
|
+
status="failed",
|
|
1643
|
+
success=False,
|
|
1644
|
+
duration=duration,
|
|
1645
|
+
started_at=step_started_at,
|
|
1646
|
+
completed_at=step_failed_at,
|
|
1647
|
+
error=error_msg,
|
|
1648
|
+
error_traceback=error_tb,
|
|
1649
|
+
artifacts=[],
|
|
1650
|
+
)
|
|
1557
1651
|
except Exception as e:
|
|
1558
1652
|
# Write FAILED marker for unexpected errors
|
|
1559
1653
|
step_failed_at = datetime.now()
|
|
1560
1654
|
duration = (step_failed_at - step_started_at).total_seconds()
|
|
1561
1655
|
error_type = type(e).__name__
|
|
1562
1656
|
error_msg = str(e)
|
|
1563
|
-
|
|
1657
|
+
error_tb = traceback.format_exc()
|
|
1658
|
+
|
|
1564
1659
|
marker_path = self.marker_writer.write_failed_marker(
|
|
1565
1660
|
workflow_id=self.state.workflow_id,
|
|
1566
1661
|
step_id=step.id,
|
|
@@ -1579,7 +1674,7 @@ class CursorWorkflowExecutor:
|
|
|
1579
1674
|
"marker_location": f".tapps-agents/workflows/markers/{self.state.workflow_id}/step-{step.id}/FAILED.json",
|
|
1580
1675
|
},
|
|
1581
1676
|
)
|
|
1582
|
-
|
|
1677
|
+
|
|
1583
1678
|
if self.logger:
|
|
1584
1679
|
self.logger.error(
|
|
1585
1680
|
f"FAILED marker written for step {step.id} (unexpected error)",
|
|
@@ -1587,9 +1682,19 @@ class CursorWorkflowExecutor:
|
|
|
1587
1682
|
error=error_msg,
|
|
1588
1683
|
exc_info=True,
|
|
1589
1684
|
)
|
|
1590
|
-
|
|
1591
|
-
#
|
|
1592
|
-
|
|
1685
|
+
|
|
1686
|
+
# Return failed StepResult (BUG-003B fix - don't raise)
|
|
1687
|
+
return StepResult(
|
|
1688
|
+
step_id=step.id,
|
|
1689
|
+
status="failed",
|
|
1690
|
+
success=False,
|
|
1691
|
+
duration=duration,
|
|
1692
|
+
started_at=step_started_at,
|
|
1693
|
+
completed_at=step_failed_at,
|
|
1694
|
+
error=error_msg,
|
|
1695
|
+
error_traceback=error_tb,
|
|
1696
|
+
artifacts=[],
|
|
1697
|
+
)
|
|
1593
1698
|
|
|
1594
1699
|
@asynccontextmanager
|
|
1595
1700
|
async def _worktree_context(
|
|
@@ -1843,6 +1948,42 @@ class CursorWorkflowExecutor:
|
|
|
1843
1948
|
finally:
|
|
1844
1949
|
self.save_state()
|
|
1845
1950
|
|
|
1951
|
+
def _can_execute_step(
|
|
1952
|
+
self,
|
|
1953
|
+
step: WorkflowStep,
|
|
1954
|
+
completed_steps: dict[str, StepResult]
|
|
1955
|
+
) -> tuple[bool, str]:
|
|
1956
|
+
"""
|
|
1957
|
+
Check if step can execute based on dependencies (BUG-003B fix).
|
|
1958
|
+
|
|
1959
|
+
Validates that all required dependencies have been executed and succeeded.
|
|
1960
|
+
If any dependency is missing or failed, the step cannot execute.
|
|
1961
|
+
|
|
1962
|
+
Args:
|
|
1963
|
+
step: Step to check
|
|
1964
|
+
completed_steps: Results of previously executed steps
|
|
1965
|
+
|
|
1966
|
+
Returns:
|
|
1967
|
+
(can_execute, skip_reason) tuple:
|
|
1968
|
+
- (True, "") if all dependencies met
|
|
1969
|
+
- (False, reason) if dependencies not met
|
|
1970
|
+
|
|
1971
|
+
Example:
|
|
1972
|
+
can_run, reason = self._can_execute_step(step, completed_steps)
|
|
1973
|
+
if not can_run:
|
|
1974
|
+
# Skip step with reason
|
|
1975
|
+
skip_result = StepResult(status="skipped", skip_reason=reason, ...)
|
|
1976
|
+
"""
|
|
1977
|
+
for dep in step.requires or []:
|
|
1978
|
+
if dep not in completed_steps:
|
|
1979
|
+
return False, f"Dependency '{dep}' not executed"
|
|
1980
|
+
|
|
1981
|
+
dep_result = completed_steps[dep]
|
|
1982
|
+
if not dep_result.success:
|
|
1983
|
+
return False, f"Dependency '{dep}' failed: {dep_result.error}"
|
|
1984
|
+
|
|
1985
|
+
return True, ""
|
|
1986
|
+
|
|
1846
1987
|
def _normalize_action(self, action: str) -> str:
|
|
1847
1988
|
"""
|
|
1848
1989
|
Normalize action name to use underscores (Python convention).
|
|
@@ -5,7 +5,7 @@ Workflow models - Data structures for workflow definitions.
|
|
|
5
5
|
from dataclasses import dataclass, field
|
|
6
6
|
from datetime import datetime
|
|
7
7
|
from enum import Enum
|
|
8
|
-
from typing import Any
|
|
8
|
+
from typing import Any, Literal
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
class WorkflowType(Enum):
|
|
@@ -95,6 +95,43 @@ class StepExecution:
|
|
|
95
95
|
error: str | None = None
|
|
96
96
|
|
|
97
97
|
|
|
98
|
+
@dataclass
|
|
99
|
+
class StepResult:
|
|
100
|
+
"""Result of step execution with proper error handling.
|
|
101
|
+
|
|
102
|
+
This class represents the outcome of executing a workflow step,
|
|
103
|
+
including success/failure status, error details, and artifacts created.
|
|
104
|
+
Used by CursorExecutor to properly track step outcomes and halt
|
|
105
|
+
workflows when required steps fail.
|
|
106
|
+
"""
|
|
107
|
+
|
|
108
|
+
step_id: str
|
|
109
|
+
status: Literal["completed", "failed", "skipped"]
|
|
110
|
+
success: bool
|
|
111
|
+
duration: float
|
|
112
|
+
started_at: datetime
|
|
113
|
+
completed_at: datetime
|
|
114
|
+
error: str | None = None
|
|
115
|
+
error_traceback: str | None = None
|
|
116
|
+
artifacts: list[str] = field(default_factory=list)
|
|
117
|
+
skip_reason: str | None = None
|
|
118
|
+
|
|
119
|
+
def to_dict(self) -> dict[str, Any]:
|
|
120
|
+
"""Convert to dictionary for serialization."""
|
|
121
|
+
return {
|
|
122
|
+
"step_id": self.step_id,
|
|
123
|
+
"status": self.status,
|
|
124
|
+
"success": self.success,
|
|
125
|
+
"duration": self.duration,
|
|
126
|
+
"started_at": self.started_at.isoformat(),
|
|
127
|
+
"completed_at": self.completed_at.isoformat(),
|
|
128
|
+
"error": self.error,
|
|
129
|
+
"error_traceback": self.error_traceback,
|
|
130
|
+
"artifacts": self.artifacts,
|
|
131
|
+
"skip_reason": self.skip_reason,
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
|
|
98
135
|
@dataclass
|
|
99
136
|
class WorkflowState:
|
|
100
137
|
"""Workflow execution state."""
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/architect/pattern_detector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/documenter/framework_doc_updater.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/evaluator/priority_evaluator.py
RENAMED
|
File without changes
|
{tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/evaluator/quality_analyzer.py
RENAMED
|
File without changes
|
{tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/evaluator/report_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
{tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/evaluator/workflow_analyzer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/implementer/code_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/context7_enhancer.py
RENAMED
|
File without changes
|
{tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/context_detector.py
RENAMED
|
File without changes
|
{tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/docker_compose_validator.py
RENAMED
|
File without changes
|
{tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/dockerfile_validator.py
RENAMED
|
File without changes
|
|
File without changes
|
{tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/feedback_generator.py
RENAMED
|
File without changes
|
{tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/influxdb_validator.py
RENAMED
|
File without changes
|
|
File without changes
|
{tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/library_detector.py
RENAMED
|
File without changes
|
{tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/library_patterns.py
RENAMED
|
File without changes
|
{tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/maintainability_scorer.py
RENAMED
|
File without changes
|
{tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/metric_strategies.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/pattern_detector.py
RENAMED
|
File without changes
|
{tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/performance_scorer.py
RENAMED
|
File without changes
|
|
File without changes
|
{tapps_agents-3.5.40 → tapps_agents-3.5.41}/tapps_agents/agents/reviewer/progressive_review.py
RENAMED
|
File without changes
|
|
File without changes
|