tapps-agents 3.5.41__py3-none-any.whl → 3.6.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- tapps_agents/__init__.py +2 -2
- tapps_agents/agents/__init__.py +22 -22
- tapps_agents/agents/analyst/__init__.py +5 -5
- tapps_agents/agents/architect/__init__.py +5 -5
- tapps_agents/agents/architect/agent.py +1033 -1033
- tapps_agents/agents/architect/pattern_detector.py +75 -75
- tapps_agents/agents/cleanup/__init__.py +7 -7
- tapps_agents/agents/cleanup/agent.py +445 -445
- tapps_agents/agents/debugger/__init__.py +7 -7
- tapps_agents/agents/debugger/agent.py +310 -310
- tapps_agents/agents/debugger/error_analyzer.py +437 -437
- tapps_agents/agents/designer/__init__.py +5 -5
- tapps_agents/agents/designer/agent.py +786 -786
- tapps_agents/agents/designer/visual_designer.py +638 -638
- tapps_agents/agents/documenter/__init__.py +7 -7
- tapps_agents/agents/documenter/agent.py +531 -531
- tapps_agents/agents/documenter/doc_generator.py +472 -472
- tapps_agents/agents/documenter/doc_validator.py +393 -393
- tapps_agents/agents/documenter/framework_doc_updater.py +493 -493
- tapps_agents/agents/enhancer/__init__.py +7 -7
- tapps_agents/agents/evaluator/__init__.py +7 -7
- tapps_agents/agents/evaluator/agent.py +443 -443
- tapps_agents/agents/evaluator/priority_evaluator.py +641 -641
- tapps_agents/agents/evaluator/quality_analyzer.py +147 -147
- tapps_agents/agents/evaluator/report_generator.py +344 -344
- tapps_agents/agents/evaluator/usage_analyzer.py +192 -192
- tapps_agents/agents/evaluator/workflow_analyzer.py +189 -189
- tapps_agents/agents/implementer/__init__.py +7 -7
- tapps_agents/agents/implementer/agent.py +798 -798
- tapps_agents/agents/implementer/auto_fix.py +1119 -1119
- tapps_agents/agents/implementer/code_generator.py +73 -73
- tapps_agents/agents/improver/__init__.py +1 -1
- tapps_agents/agents/improver/agent.py +753 -753
- tapps_agents/agents/ops/__init__.py +1 -1
- tapps_agents/agents/ops/agent.py +619 -619
- tapps_agents/agents/ops/dependency_analyzer.py +600 -600
- tapps_agents/agents/orchestrator/__init__.py +5 -5
- tapps_agents/agents/orchestrator/agent.py +522 -522
- tapps_agents/agents/planner/__init__.py +7 -7
- tapps_agents/agents/planner/agent.py +1127 -1127
- tapps_agents/agents/reviewer/__init__.py +24 -24
- tapps_agents/agents/reviewer/agent.py +3513 -3513
- tapps_agents/agents/reviewer/aggregator.py +213 -213
- tapps_agents/agents/reviewer/batch_review.py +448 -448
- tapps_agents/agents/reviewer/cache.py +443 -443
- tapps_agents/agents/reviewer/context7_enhancer.py +630 -630
- tapps_agents/agents/reviewer/context_detector.py +203 -203
- tapps_agents/agents/reviewer/docker_compose_validator.py +158 -158
- tapps_agents/agents/reviewer/dockerfile_validator.py +176 -176
- tapps_agents/agents/reviewer/error_handling.py +126 -126
- tapps_agents/agents/reviewer/feedback_generator.py +490 -490
- tapps_agents/agents/reviewer/influxdb_validator.py +316 -316
- tapps_agents/agents/reviewer/issue_tracking.py +169 -169
- tapps_agents/agents/reviewer/library_detector.py +295 -295
- tapps_agents/agents/reviewer/library_patterns.py +268 -268
- tapps_agents/agents/reviewer/maintainability_scorer.py +593 -593
- tapps_agents/agents/reviewer/metric_strategies.py +276 -276
- tapps_agents/agents/reviewer/mqtt_validator.py +160 -160
- tapps_agents/agents/reviewer/output_enhancer.py +105 -105
- tapps_agents/agents/reviewer/pattern_detector.py +241 -241
- tapps_agents/agents/reviewer/performance_scorer.py +357 -357
- tapps_agents/agents/reviewer/phased_review.py +516 -516
- tapps_agents/agents/reviewer/progressive_review.py +435 -435
- tapps_agents/agents/reviewer/react_scorer.py +331 -331
- tapps_agents/agents/reviewer/score_constants.py +228 -228
- tapps_agents/agents/reviewer/score_validator.py +507 -507
- tapps_agents/agents/reviewer/scorer_registry.py +373 -373
- tapps_agents/agents/reviewer/scoring.py +1566 -1566
- tapps_agents/agents/reviewer/service_discovery.py +534 -534
- tapps_agents/agents/reviewer/tools/__init__.py +41 -41
- tapps_agents/agents/reviewer/tools/parallel_executor.py +581 -581
- tapps_agents/agents/reviewer/tools/ruff_grouping.py +250 -250
- tapps_agents/agents/reviewer/tools/scoped_mypy.py +284 -284
- tapps_agents/agents/reviewer/typescript_scorer.py +1142 -1142
- tapps_agents/agents/reviewer/validation.py +208 -208
- tapps_agents/agents/reviewer/websocket_validator.py +132 -132
- tapps_agents/agents/tester/__init__.py +7 -7
- tapps_agents/agents/tester/accessibility_auditor.py +309 -309
- tapps_agents/agents/tester/agent.py +1080 -1080
- tapps_agents/agents/tester/batch_generator.py +54 -54
- tapps_agents/agents/tester/context_learner.py +51 -51
- tapps_agents/agents/tester/coverage_analyzer.py +386 -386
- tapps_agents/agents/tester/coverage_test_generator.py +290 -290
- tapps_agents/agents/tester/debug_enhancer.py +238 -238
- tapps_agents/agents/tester/device_emulator.py +241 -241
- tapps_agents/agents/tester/integration_generator.py +62 -62
- tapps_agents/agents/tester/network_recorder.py +300 -300
- tapps_agents/agents/tester/performance_monitor.py +320 -320
- tapps_agents/agents/tester/test_fixer.py +316 -316
- tapps_agents/agents/tester/test_generator.py +632 -632
- tapps_agents/agents/tester/trace_manager.py +234 -234
- tapps_agents/agents/tester/visual_regression.py +291 -291
- tapps_agents/analysis/pattern_detector.py +36 -36
- tapps_agents/beads/hydration.py +213 -213
- tapps_agents/beads/parse.py +32 -32
- tapps_agents/beads/specs.py +206 -206
- tapps_agents/cli/__init__.py +9 -9
- tapps_agents/cli/__main__.py +8 -8
- tapps_agents/cli/base.py +478 -478
- tapps_agents/cli/command_classifier.py +72 -72
- tapps_agents/cli/commands/__init__.py +2 -2
- tapps_agents/cli/commands/analyst.py +173 -173
- tapps_agents/cli/commands/architect.py +109 -109
- tapps_agents/cli/commands/cleanup_agent.py +92 -92
- tapps_agents/cli/commands/common.py +126 -126
- tapps_agents/cli/commands/debugger.py +90 -90
- tapps_agents/cli/commands/designer.py +112 -112
- tapps_agents/cli/commands/documenter.py +136 -136
- tapps_agents/cli/commands/enhancer.py +110 -110
- tapps_agents/cli/commands/evaluator.py +255 -255
- tapps_agents/cli/commands/health.py +665 -665
- tapps_agents/cli/commands/implementer.py +301 -301
- tapps_agents/cli/commands/improver.py +91 -91
- tapps_agents/cli/commands/knowledge.py +111 -111
- tapps_agents/cli/commands/learning.py +172 -172
- tapps_agents/cli/commands/observability.py +283 -283
- tapps_agents/cli/commands/ops.py +135 -135
- tapps_agents/cli/commands/orchestrator.py +116 -116
- tapps_agents/cli/commands/planner.py +237 -237
- tapps_agents/cli/commands/reviewer.py +1872 -1872
- tapps_agents/cli/commands/status.py +285 -285
- tapps_agents/cli/commands/task.py +227 -227
- tapps_agents/cli/commands/tester.py +191 -191
- tapps_agents/cli/commands/top_level.py +3586 -3586
- tapps_agents/cli/feedback.py +936 -936
- tapps_agents/cli/formatters.py +608 -608
- tapps_agents/cli/help/__init__.py +7 -7
- tapps_agents/cli/help/static_help.py +425 -425
- tapps_agents/cli/network_detection.py +110 -110
- tapps_agents/cli/output_compactor.py +274 -274
- tapps_agents/cli/parsers/__init__.py +2 -2
- tapps_agents/cli/parsers/analyst.py +186 -186
- tapps_agents/cli/parsers/architect.py +167 -167
- tapps_agents/cli/parsers/cleanup_agent.py +228 -228
- tapps_agents/cli/parsers/debugger.py +116 -116
- tapps_agents/cli/parsers/designer.py +182 -182
- tapps_agents/cli/parsers/documenter.py +134 -134
- tapps_agents/cli/parsers/enhancer.py +113 -113
- tapps_agents/cli/parsers/evaluator.py +213 -213
- tapps_agents/cli/parsers/implementer.py +168 -168
- tapps_agents/cli/parsers/improver.py +132 -132
- tapps_agents/cli/parsers/ops.py +159 -159
- tapps_agents/cli/parsers/orchestrator.py +98 -98
- tapps_agents/cli/parsers/planner.py +145 -145
- tapps_agents/cli/parsers/reviewer.py +462 -462
- tapps_agents/cli/parsers/tester.py +124 -124
- tapps_agents/cli/progress_heartbeat.py +254 -254
- tapps_agents/cli/streaming_progress.py +336 -336
- tapps_agents/cli/utils/__init__.py +6 -6
- tapps_agents/cli/utils/agent_lifecycle.py +48 -48
- tapps_agents/cli/utils/error_formatter.py +82 -82
- tapps_agents/cli/utils/error_recovery.py +188 -188
- tapps_agents/cli/utils/output_handler.py +59 -59
- tapps_agents/cli/utils/prompt_enhancer.py +319 -319
- tapps_agents/cli/validators/__init__.py +9 -9
- tapps_agents/cli/validators/command_validator.py +81 -81
- tapps_agents/context7/__init__.py +112 -112
- tapps_agents/context7/agent_integration.py +869 -869
- tapps_agents/context7/analytics.py +382 -382
- tapps_agents/context7/analytics_dashboard.py +299 -299
- tapps_agents/context7/async_cache.py +681 -681
- tapps_agents/context7/backup_client.py +958 -958
- tapps_agents/context7/cache_locking.py +194 -194
- tapps_agents/context7/cache_metadata.py +214 -214
- tapps_agents/context7/cache_prewarm.py +488 -488
- tapps_agents/context7/cache_structure.py +168 -168
- tapps_agents/context7/cache_warming.py +604 -604
- tapps_agents/context7/circuit_breaker.py +376 -376
- tapps_agents/context7/cleanup.py +461 -461
- tapps_agents/context7/commands.py +858 -858
- tapps_agents/context7/credential_validation.py +276 -276
- tapps_agents/context7/cross_reference_resolver.py +168 -168
- tapps_agents/context7/cross_references.py +424 -424
- tapps_agents/context7/doc_manager.py +225 -225
- tapps_agents/context7/fuzzy_matcher.py +369 -369
- tapps_agents/context7/kb_cache.py +404 -404
- tapps_agents/context7/language_detector.py +219 -219
- tapps_agents/context7/library_detector.py +725 -725
- tapps_agents/context7/lookup.py +738 -738
- tapps_agents/context7/metadata.py +258 -258
- tapps_agents/context7/refresh_queue.py +300 -300
- tapps_agents/context7/security.py +373 -373
- tapps_agents/context7/staleness_policies.py +278 -278
- tapps_agents/context7/tiles_integration.py +47 -47
- tapps_agents/continuous_bug_fix/__init__.py +20 -20
- tapps_agents/continuous_bug_fix/bug_finder.py +306 -306
- tapps_agents/continuous_bug_fix/bug_fix_coordinator.py +177 -177
- tapps_agents/continuous_bug_fix/commit_manager.py +178 -178
- tapps_agents/continuous_bug_fix/continuous_bug_fixer.py +322 -322
- tapps_agents/continuous_bug_fix/proactive_bug_finder.py +285 -285
- tapps_agents/core/__init__.py +298 -298
- tapps_agents/core/adaptive_cache_config.py +432 -432
- tapps_agents/core/agent_base.py +647 -647
- tapps_agents/core/agent_cache.py +466 -466
- tapps_agents/core/agent_learning.py +1865 -1865
- tapps_agents/core/analytics_dashboard.py +563 -563
- tapps_agents/core/analytics_enhancements.py +597 -597
- tapps_agents/core/anonymization.py +274 -274
- tapps_agents/core/artifact_context_builder.py +293 -0
- tapps_agents/core/ast_parser.py +228 -228
- tapps_agents/core/async_file_ops.py +402 -402
- tapps_agents/core/best_practice_consultant.py +299 -299
- tapps_agents/core/brownfield_analyzer.py +299 -299
- tapps_agents/core/brownfield_review.py +541 -541
- tapps_agents/core/browser_controller.py +513 -513
- tapps_agents/core/capability_registry.py +418 -418
- tapps_agents/core/change_impact_analyzer.py +190 -190
- tapps_agents/core/checkpoint_manager.py +377 -377
- tapps_agents/core/code_generator.py +329 -329
- tapps_agents/core/code_validator.py +276 -276
- tapps_agents/core/command_registry.py +327 -327
- tapps_agents/core/config.py +33 -0
- tapps_agents/core/context_gathering/__init__.py +2 -2
- tapps_agents/core/context_gathering/repository_explorer.py +28 -28
- tapps_agents/core/context_intelligence/__init__.py +2 -2
- tapps_agents/core/context_intelligence/relevance_scorer.py +24 -24
- tapps_agents/core/context_intelligence/token_budget_manager.py +27 -27
- tapps_agents/core/context_manager.py +240 -240
- tapps_agents/core/cursor_feedback_monitor.py +146 -146
- tapps_agents/core/cursor_verification.py +290 -290
- tapps_agents/core/customization_loader.py +280 -280
- tapps_agents/core/customization_schema.py +260 -260
- tapps_agents/core/customization_template.py +238 -238
- tapps_agents/core/debug_logger.py +124 -124
- tapps_agents/core/design_validator.py +298 -298
- tapps_agents/core/diagram_generator.py +226 -226
- tapps_agents/core/docker_utils.py +232 -232
- tapps_agents/core/document_generator.py +617 -617
- tapps_agents/core/domain_detector.py +30 -30
- tapps_agents/core/error_envelope.py +454 -454
- tapps_agents/core/error_handler.py +270 -270
- tapps_agents/core/estimation_tracker.py +189 -189
- tapps_agents/core/eval_prompt_engine.py +116 -116
- tapps_agents/core/evaluation_base.py +119 -119
- tapps_agents/core/evaluation_models.py +320 -320
- tapps_agents/core/evaluation_orchestrator.py +225 -225
- tapps_agents/core/evaluators/__init__.py +7 -7
- tapps_agents/core/evaluators/architectural_evaluator.py +205 -205
- tapps_agents/core/evaluators/behavioral_evaluator.py +160 -160
- tapps_agents/core/evaluators/performance_profile_evaluator.py +160 -160
- tapps_agents/core/evaluators/security_posture_evaluator.py +148 -148
- tapps_agents/core/evaluators/spec_compliance_evaluator.py +181 -181
- tapps_agents/core/exceptions.py +107 -107
- tapps_agents/core/expert_config_generator.py +293 -293
- tapps_agents/core/export_schema.py +202 -202
- tapps_agents/core/external_feedback_models.py +102 -102
- tapps_agents/core/external_feedback_storage.py +213 -213
- tapps_agents/core/fallback_strategy.py +314 -314
- tapps_agents/core/feedback_analyzer.py +162 -162
- tapps_agents/core/feedback_collector.py +178 -178
- tapps_agents/core/git_operations.py +445 -445
- tapps_agents/core/hardware_profiler.py +151 -151
- tapps_agents/core/instructions.py +324 -324
- tapps_agents/core/io_guardrails.py +69 -69
- tapps_agents/core/issue_manifest.py +249 -249
- tapps_agents/core/issue_schema.py +139 -139
- tapps_agents/core/json_utils.py +128 -128
- tapps_agents/core/knowledge_graph.py +446 -446
- tapps_agents/core/language_detector.py +296 -296
- tapps_agents/core/learning_confidence.py +242 -242
- tapps_agents/core/learning_dashboard.py +246 -246
- tapps_agents/core/learning_decision.py +384 -384
- tapps_agents/core/learning_explainability.py +578 -578
- tapps_agents/core/learning_export.py +287 -287
- tapps_agents/core/learning_integration.py +228 -228
- tapps_agents/core/llm_behavior.py +232 -232
- tapps_agents/core/long_duration_support.py +786 -786
- tapps_agents/core/mcp_setup.py +106 -106
- tapps_agents/core/memory_integration.py +396 -396
- tapps_agents/core/meta_learning.py +666 -666
- tapps_agents/core/module_path_sanitizer.py +199 -199
- tapps_agents/core/multi_agent_orchestrator.py +382 -382
- tapps_agents/core/network_errors.py +125 -125
- tapps_agents/core/nfr_validator.py +336 -336
- tapps_agents/core/offline_mode.py +158 -158
- tapps_agents/core/output_contracts.py +300 -300
- tapps_agents/core/output_formatter.py +300 -300
- tapps_agents/core/path_normalizer.py +174 -174
- tapps_agents/core/path_validator.py +322 -322
- tapps_agents/core/pattern_library.py +250 -250
- tapps_agents/core/performance_benchmark.py +301 -301
- tapps_agents/core/performance_monitor.py +184 -184
- tapps_agents/core/playwright_mcp_controller.py +771 -771
- tapps_agents/core/policy_loader.py +135 -135
- tapps_agents/core/progress.py +166 -166
- tapps_agents/core/project_profile.py +354 -354
- tapps_agents/core/project_type_detector.py +454 -454
- tapps_agents/core/prompt_base.py +223 -223
- tapps_agents/core/prompt_learning/__init__.py +2 -2
- tapps_agents/core/prompt_learning/learning_loop.py +24 -24
- tapps_agents/core/prompt_learning/project_prompt_store.py +25 -25
- tapps_agents/core/prompt_learning/skills_prompt_analyzer.py +35 -35
- tapps_agents/core/prompt_optimization/__init__.py +6 -6
- tapps_agents/core/prompt_optimization/ab_tester.py +114 -114
- tapps_agents/core/prompt_optimization/correlation_analyzer.py +160 -160
- tapps_agents/core/prompt_optimization/progressive_refiner.py +129 -129
- tapps_agents/core/prompt_optimization/prompt_library.py +37 -37
- tapps_agents/core/requirements_evaluator.py +431 -431
- tapps_agents/core/resource_aware_executor.py +449 -449
- tapps_agents/core/resource_monitor.py +343 -343
- tapps_agents/core/resume_handler.py +298 -298
- tapps_agents/core/retry_handler.py +197 -197
- tapps_agents/core/review_checklists.py +479 -479
- tapps_agents/core/role_loader.py +201 -201
- tapps_agents/core/role_template_loader.py +201 -201
- tapps_agents/core/runtime_mode.py +60 -60
- tapps_agents/core/security_scanner.py +342 -342
- tapps_agents/core/skill_agent_registry.py +194 -194
- tapps_agents/core/skill_integration.py +208 -208
- tapps_agents/core/skill_loader.py +492 -492
- tapps_agents/core/skill_template.py +341 -341
- tapps_agents/core/skill_validator.py +478 -478
- tapps_agents/core/stack_analyzer.py +35 -35
- tapps_agents/core/startup.py +174 -174
- tapps_agents/core/storage_manager.py +397 -397
- tapps_agents/core/storage_models.py +166 -166
- tapps_agents/core/story_evaluator.py +410 -410
- tapps_agents/core/subprocess_utils.py +170 -170
- tapps_agents/core/task_duration.py +296 -296
- tapps_agents/core/task_memory.py +582 -582
- tapps_agents/core/task_state.py +226 -226
- tapps_agents/core/tech_stack_priorities.py +208 -208
- tapps_agents/core/temp_directory.py +194 -194
- tapps_agents/core/template_merger.py +600 -600
- tapps_agents/core/template_selector.py +280 -280
- tapps_agents/core/test_generator.py +286 -286
- tapps_agents/core/tiered_context.py +253 -253
- tapps_agents/core/token_monitor.py +345 -345
- tapps_agents/core/traceability.py +254 -254
- tapps_agents/core/trajectory_tracker.py +50 -50
- tapps_agents/core/unicode_safe.py +143 -143
- tapps_agents/core/unified_cache_config.py +170 -170
- tapps_agents/core/unified_state.py +324 -324
- tapps_agents/core/validate_cursor_setup.py +237 -237
- tapps_agents/core/validation_registry.py +136 -136
- tapps_agents/core/validators/__init__.py +4 -4
- tapps_agents/core/validators/python_validator.py +87 -87
- tapps_agents/core/verification_agent.py +90 -90
- tapps_agents/core/visual_feedback.py +644 -644
- tapps_agents/core/workflow_validator.py +197 -197
- tapps_agents/core/worktree.py +367 -367
- tapps_agents/docker/__init__.py +10 -10
- tapps_agents/docker/analyzer.py +186 -186
- tapps_agents/docker/debugger.py +229 -229
- tapps_agents/docker/error_patterns.py +216 -216
- tapps_agents/epic/__init__.py +22 -22
- tapps_agents/epic/beads_sync.py +115 -115
- tapps_agents/epic/markdown_sync.py +105 -105
- tapps_agents/epic/models.py +96 -96
- tapps_agents/experts/__init__.py +163 -163
- tapps_agents/experts/agent_integration.py +243 -243
- tapps_agents/experts/auto_generator.py +331 -331
- tapps_agents/experts/base_expert.py +536 -536
- tapps_agents/experts/builtin_registry.py +261 -261
- tapps_agents/experts/business_metrics.py +565 -565
- tapps_agents/experts/cache.py +266 -266
- tapps_agents/experts/confidence_breakdown.py +306 -306
- tapps_agents/experts/confidence_calculator.py +336 -336
- tapps_agents/experts/confidence_metrics.py +236 -236
- tapps_agents/experts/domain_config.py +311 -311
- tapps_agents/experts/domain_detector.py +550 -550
- tapps_agents/experts/domain_utils.py +84 -84
- tapps_agents/experts/expert_config.py +113 -113
- tapps_agents/experts/expert_engine.py +465 -465
- tapps_agents/experts/expert_registry.py +744 -744
- tapps_agents/experts/expert_synthesizer.py +70 -70
- tapps_agents/experts/governance.py +197 -197
- tapps_agents/experts/history_logger.py +312 -312
- tapps_agents/experts/knowledge/README.md +180 -180
- tapps_agents/experts/knowledge/accessibility/accessible-forms.md +331 -331
- tapps_agents/experts/knowledge/accessibility/aria-patterns.md +344 -344
- tapps_agents/experts/knowledge/accessibility/color-contrast.md +285 -285
- tapps_agents/experts/knowledge/accessibility/keyboard-navigation.md +332 -332
- tapps_agents/experts/knowledge/accessibility/screen-readers.md +282 -282
- tapps_agents/experts/knowledge/accessibility/semantic-html.md +355 -355
- tapps_agents/experts/knowledge/accessibility/testing-accessibility.md +369 -369
- tapps_agents/experts/knowledge/accessibility/wcag-2.1.md +296 -296
- tapps_agents/experts/knowledge/accessibility/wcag-2.2.md +211 -211
- tapps_agents/experts/knowledge/agent-learning/best-practices.md +715 -715
- tapps_agents/experts/knowledge/agent-learning/pattern-extraction.md +282 -282
- tapps_agents/experts/knowledge/agent-learning/prompt-optimization.md +320 -320
- tapps_agents/experts/knowledge/ai-frameworks/model-optimization.md +90 -90
- tapps_agents/experts/knowledge/ai-frameworks/openvino-patterns.md +260 -260
- tapps_agents/experts/knowledge/api-design-integration/api-gateway-patterns.md +309 -309
- tapps_agents/experts/knowledge/api-design-integration/api-security-patterns.md +521 -521
- tapps_agents/experts/knowledge/api-design-integration/api-versioning.md +421 -421
- tapps_agents/experts/knowledge/api-design-integration/async-protocol-patterns.md +61 -61
- tapps_agents/experts/knowledge/api-design-integration/contract-testing.md +221 -221
- tapps_agents/experts/knowledge/api-design-integration/external-api-integration.md +489 -489
- tapps_agents/experts/knowledge/api-design-integration/fastapi-patterns.md +360 -360
- tapps_agents/experts/knowledge/api-design-integration/fastapi-testing.md +262 -262
- tapps_agents/experts/knowledge/api-design-integration/graphql-patterns.md +582 -582
- tapps_agents/experts/knowledge/api-design-integration/grpc-best-practices.md +499 -499
- tapps_agents/experts/knowledge/api-design-integration/mqtt-patterns.md +455 -455
- tapps_agents/experts/knowledge/api-design-integration/rate-limiting.md +507 -507
- tapps_agents/experts/knowledge/api-design-integration/restful-api-design.md +618 -618
- tapps_agents/experts/knowledge/api-design-integration/websocket-patterns.md +480 -480
- tapps_agents/experts/knowledge/cloud-infrastructure/cloud-native-patterns.md +175 -175
- tapps_agents/experts/knowledge/cloud-infrastructure/container-health-checks.md +261 -261
- tapps_agents/experts/knowledge/cloud-infrastructure/containerization.md +222 -222
- tapps_agents/experts/knowledge/cloud-infrastructure/cost-optimization.md +122 -122
- tapps_agents/experts/knowledge/cloud-infrastructure/disaster-recovery.md +153 -153
- tapps_agents/experts/knowledge/cloud-infrastructure/dockerfile-patterns.md +285 -285
- tapps_agents/experts/knowledge/cloud-infrastructure/infrastructure-as-code.md +187 -187
- tapps_agents/experts/knowledge/cloud-infrastructure/kubernetes-patterns.md +253 -253
- tapps_agents/experts/knowledge/cloud-infrastructure/multi-cloud-strategies.md +155 -155
- tapps_agents/experts/knowledge/cloud-infrastructure/serverless-architecture.md +200 -200
- tapps_agents/experts/knowledge/code-quality-analysis/README.md +16 -16
- tapps_agents/experts/knowledge/code-quality-analysis/code-metrics.md +137 -137
- tapps_agents/experts/knowledge/code-quality-analysis/complexity-analysis.md +181 -181
- tapps_agents/experts/knowledge/code-quality-analysis/technical-debt-patterns.md +191 -191
- tapps_agents/experts/knowledge/data-privacy-compliance/anonymization.md +313 -313
- tapps_agents/experts/knowledge/data-privacy-compliance/ccpa.md +255 -255
- tapps_agents/experts/knowledge/data-privacy-compliance/consent-management.md +282 -282
- tapps_agents/experts/knowledge/data-privacy-compliance/data-minimization.md +275 -275
- tapps_agents/experts/knowledge/data-privacy-compliance/data-retention.md +297 -297
- tapps_agents/experts/knowledge/data-privacy-compliance/data-subject-rights.md +383 -383
- tapps_agents/experts/knowledge/data-privacy-compliance/encryption-privacy.md +285 -285
- tapps_agents/experts/knowledge/data-privacy-compliance/gdpr.md +344 -344
- tapps_agents/experts/knowledge/data-privacy-compliance/hipaa.md +385 -385
- tapps_agents/experts/knowledge/data-privacy-compliance/privacy-by-design.md +280 -280
- tapps_agents/experts/knowledge/database-data-management/acid-vs-cap.md +164 -164
- tapps_agents/experts/knowledge/database-data-management/backup-and-recovery.md +182 -182
- tapps_agents/experts/knowledge/database-data-management/data-modeling.md +172 -172
- tapps_agents/experts/knowledge/database-data-management/database-design.md +187 -187
- tapps_agents/experts/knowledge/database-data-management/flux-query-optimization.md +342 -342
- tapps_agents/experts/knowledge/database-data-management/influxdb-connection-patterns.md +432 -432
- tapps_agents/experts/knowledge/database-data-management/influxdb-patterns.md +442 -442
- tapps_agents/experts/knowledge/database-data-management/migration-strategies.md +216 -216
- tapps_agents/experts/knowledge/database-data-management/nosql-patterns.md +259 -259
- tapps_agents/experts/knowledge/database-data-management/scalability-patterns.md +184 -184
- tapps_agents/experts/knowledge/database-data-management/sql-optimization.md +175 -175
- tapps_agents/experts/knowledge/database-data-management/time-series-modeling.md +444 -444
- tapps_agents/experts/knowledge/development-workflow/README.md +16 -16
- tapps_agents/experts/knowledge/development-workflow/automation-best-practices.md +216 -216
- tapps_agents/experts/knowledge/development-workflow/build-strategies.md +198 -198
- tapps_agents/experts/knowledge/development-workflow/deployment-patterns.md +205 -205
- tapps_agents/experts/knowledge/development-workflow/git-workflows.md +205 -205
- tapps_agents/experts/knowledge/documentation-knowledge-management/README.md +16 -16
- tapps_agents/experts/knowledge/documentation-knowledge-management/api-documentation-patterns.md +231 -231
- tapps_agents/experts/knowledge/documentation-knowledge-management/documentation-standards.md +191 -191
- tapps_agents/experts/knowledge/documentation-knowledge-management/knowledge-management.md +171 -171
- tapps_agents/experts/knowledge/documentation-knowledge-management/technical-writing-guide.md +192 -192
- tapps_agents/experts/knowledge/observability-monitoring/alerting-patterns.md +461 -461
- tapps_agents/experts/knowledge/observability-monitoring/apm-tools.md +459 -459
- tapps_agents/experts/knowledge/observability-monitoring/distributed-tracing.md +367 -367
- tapps_agents/experts/knowledge/observability-monitoring/logging-strategies.md +478 -478
- tapps_agents/experts/knowledge/observability-monitoring/metrics-and-monitoring.md +510 -510
- tapps_agents/experts/knowledge/observability-monitoring/observability-best-practices.md +492 -492
- tapps_agents/experts/knowledge/observability-monitoring/open-telemetry.md +573 -573
- tapps_agents/experts/knowledge/observability-monitoring/slo-sli-sla.md +419 -419
- tapps_agents/experts/knowledge/performance/anti-patterns.md +284 -284
- tapps_agents/experts/knowledge/performance/api-performance.md +256 -256
- tapps_agents/experts/knowledge/performance/caching.md +327 -327
- tapps_agents/experts/knowledge/performance/database-performance.md +252 -252
- tapps_agents/experts/knowledge/performance/optimization-patterns.md +327 -327
- tapps_agents/experts/knowledge/performance/profiling.md +297 -297
- tapps_agents/experts/knowledge/performance/resource-management.md +293 -293
- tapps_agents/experts/knowledge/performance/scalability.md +306 -306
- tapps_agents/experts/knowledge/security/owasp-top10.md +209 -209
- tapps_agents/experts/knowledge/security/secure-coding-practices.md +207 -207
- tapps_agents/experts/knowledge/security/threat-modeling.md +220 -220
- tapps_agents/experts/knowledge/security/vulnerability-patterns.md +342 -342
- tapps_agents/experts/knowledge/software-architecture/docker-compose-patterns.md +314 -314
- tapps_agents/experts/knowledge/software-architecture/microservices-patterns.md +379 -379
- tapps_agents/experts/knowledge/software-architecture/service-communication.md +316 -316
- tapps_agents/experts/knowledge/testing/best-practices.md +310 -310
- tapps_agents/experts/knowledge/testing/coverage-analysis.md +293 -293
- tapps_agents/experts/knowledge/testing/mocking.md +256 -256
- tapps_agents/experts/knowledge/testing/test-automation.md +276 -276
- tapps_agents/experts/knowledge/testing/test-data.md +271 -271
- tapps_agents/experts/knowledge/testing/test-design-patterns.md +280 -280
- tapps_agents/experts/knowledge/testing/test-maintenance.md +236 -236
- tapps_agents/experts/knowledge/testing/test-strategies.md +311 -311
- tapps_agents/experts/knowledge/user-experience/information-architecture.md +325 -325
- tapps_agents/experts/knowledge/user-experience/interaction-design.md +363 -363
- tapps_agents/experts/knowledge/user-experience/prototyping.md +293 -293
- tapps_agents/experts/knowledge/user-experience/usability-heuristics.md +337 -337
- tapps_agents/experts/knowledge/user-experience/usability-testing.md +311 -311
- tapps_agents/experts/knowledge/user-experience/user-journeys.md +296 -296
- tapps_agents/experts/knowledge/user-experience/user-research.md +373 -373
- tapps_agents/experts/knowledge/user-experience/ux-principles.md +340 -340
- tapps_agents/experts/knowledge_freshness.py +321 -321
- tapps_agents/experts/knowledge_ingestion.py +438 -438
- tapps_agents/experts/knowledge_need_detector.py +93 -93
- tapps_agents/experts/knowledge_validator.py +382 -382
- tapps_agents/experts/observability.py +440 -440
- tapps_agents/experts/passive_notifier.py +238 -238
- tapps_agents/experts/proactive_orchestrator.py +32 -32
- tapps_agents/experts/rag_chunker.py +205 -205
- tapps_agents/experts/rag_embedder.py +152 -152
- tapps_agents/experts/rag_evaluation.py +299 -299
- tapps_agents/experts/rag_index.py +303 -303
- tapps_agents/experts/rag_metrics.py +293 -293
- tapps_agents/experts/rag_safety.py +263 -263
- tapps_agents/experts/report_generator.py +296 -296
- tapps_agents/experts/setup_wizard.py +441 -441
- tapps_agents/experts/simple_rag.py +431 -431
- tapps_agents/experts/vector_rag.py +354 -354
- tapps_agents/experts/weight_distributor.py +304 -304
- tapps_agents/health/__init__.py +24 -24
- tapps_agents/health/base.py +75 -75
- tapps_agents/health/checks/__init__.py +22 -22
- tapps_agents/health/checks/automation.py +127 -127
- tapps_agents/health/checks/context7_cache.py +210 -210
- tapps_agents/health/checks/environment.py +116 -116
- tapps_agents/health/checks/execution.py +170 -170
- tapps_agents/health/checks/knowledge_base.py +187 -187
- tapps_agents/health/checks/outcomes.py +324 -324
- tapps_agents/health/collector.py +280 -280
- tapps_agents/health/dashboard.py +137 -137
- tapps_agents/health/metrics.py +151 -151
- tapps_agents/health/orchestrator.py +271 -271
- tapps_agents/health/registry.py +166 -166
- tapps_agents/hooks/__init__.py +33 -33
- tapps_agents/hooks/config.py +140 -140
- tapps_agents/hooks/events.py +135 -135
- tapps_agents/hooks/executor.py +128 -128
- tapps_agents/hooks/manager.py +143 -143
- tapps_agents/integration/__init__.py +8 -8
- tapps_agents/integration/service_integrator.py +121 -121
- tapps_agents/integrations/__init__.py +10 -10
- tapps_agents/integrations/clawdbot.py +525 -525
- tapps_agents/integrations/memory_bridge.py +356 -356
- tapps_agents/mcp/__init__.py +18 -18
- tapps_agents/mcp/gateway.py +112 -112
- tapps_agents/mcp/servers/__init__.py +13 -13
- tapps_agents/mcp/servers/analysis.py +204 -204
- tapps_agents/mcp/servers/context7.py +198 -198
- tapps_agents/mcp/servers/filesystem.py +218 -218
- tapps_agents/mcp/servers/git.py +201 -201
- tapps_agents/mcp/tool_registry.py +115 -115
- tapps_agents/quality/__init__.py +54 -54
- tapps_agents/quality/coverage_analyzer.py +379 -379
- tapps_agents/quality/enforcement.py +82 -82
- tapps_agents/quality/gates/__init__.py +37 -37
- tapps_agents/quality/gates/approval_gate.py +255 -255
- tapps_agents/quality/gates/base.py +84 -84
- tapps_agents/quality/gates/exceptions.py +43 -43
- tapps_agents/quality/gates/policy_gate.py +195 -195
- tapps_agents/quality/gates/registry.py +239 -239
- tapps_agents/quality/gates/security_gate.py +156 -156
- tapps_agents/quality/quality_gates.py +369 -369
- tapps_agents/quality/secret_scanner.py +335 -335
- tapps_agents/session/__init__.py +19 -19
- tapps_agents/session/manager.py +256 -256
- tapps_agents/simple_mode/__init__.py +66 -66
- tapps_agents/simple_mode/agent_contracts.py +357 -357
- tapps_agents/simple_mode/beads_hooks.py +151 -151
- tapps_agents/simple_mode/code_snippet_handler.py +382 -382
- tapps_agents/simple_mode/documentation_manager.py +395 -395
- tapps_agents/simple_mode/documentation_reader.py +187 -187
- tapps_agents/simple_mode/file_inference.py +292 -292
- tapps_agents/simple_mode/framework_change_detector.py +268 -268
- tapps_agents/simple_mode/intent_parser.py +510 -510
- tapps_agents/simple_mode/learning_progression.py +358 -358
- tapps_agents/simple_mode/nl_handler.py +700 -700
- tapps_agents/simple_mode/onboarding.py +253 -253
- tapps_agents/simple_mode/orchestrators/__init__.py +38 -38
- tapps_agents/simple_mode/orchestrators/base.py +185 -185
- tapps_agents/simple_mode/orchestrators/breakdown_orchestrator.py +49 -49
- tapps_agents/simple_mode/orchestrators/brownfield_orchestrator.py +135 -135
- tapps_agents/simple_mode/orchestrators/build_orchestrator.py +2700 -2667
- tapps_agents/simple_mode/orchestrators/deliverable_checklist.py +349 -349
- tapps_agents/simple_mode/orchestrators/enhance_orchestrator.py +53 -53
- tapps_agents/simple_mode/orchestrators/epic_orchestrator.py +122 -122
- tapps_agents/simple_mode/orchestrators/explore_orchestrator.py +184 -184
- tapps_agents/simple_mode/orchestrators/fix_orchestrator.py +723 -723
- tapps_agents/simple_mode/orchestrators/plan_analysis_orchestrator.py +206 -206
- tapps_agents/simple_mode/orchestrators/pr_orchestrator.py +237 -237
- tapps_agents/simple_mode/orchestrators/refactor_orchestrator.py +222 -222
- tapps_agents/simple_mode/orchestrators/requirements_tracer.py +262 -262
- tapps_agents/simple_mode/orchestrators/resume_orchestrator.py +210 -210
- tapps_agents/simple_mode/orchestrators/review_orchestrator.py +161 -161
- tapps_agents/simple_mode/orchestrators/test_orchestrator.py +82 -82
- tapps_agents/simple_mode/output_aggregator.py +340 -340
- tapps_agents/simple_mode/result_formatters.py +598 -598
- tapps_agents/simple_mode/step_dependencies.py +382 -382
- tapps_agents/simple_mode/step_results.py +276 -276
- tapps_agents/simple_mode/streaming.py +388 -388
- tapps_agents/simple_mode/variations.py +129 -129
- tapps_agents/simple_mode/visual_feedback.py +238 -238
- tapps_agents/simple_mode/zero_config.py +274 -274
- tapps_agents/suggestions/__init__.py +8 -8
- tapps_agents/suggestions/inline_suggester.py +52 -52
- tapps_agents/templates/__init__.py +8 -8
- tapps_agents/templates/microservice_generator.py +274 -274
- tapps_agents/utils/env_validator.py +291 -291
- tapps_agents/workflow/__init__.py +171 -171
- tapps_agents/workflow/acceptance_verifier.py +132 -132
- tapps_agents/workflow/agent_handlers/__init__.py +41 -41
- tapps_agents/workflow/agent_handlers/analyst_handler.py +75 -75
- tapps_agents/workflow/agent_handlers/architect_handler.py +107 -107
- tapps_agents/workflow/agent_handlers/base.py +84 -84
- tapps_agents/workflow/agent_handlers/debugger_handler.py +100 -100
- tapps_agents/workflow/agent_handlers/designer_handler.py +110 -110
- tapps_agents/workflow/agent_handlers/documenter_handler.py +94 -94
- tapps_agents/workflow/agent_handlers/implementer_handler.py +235 -235
- tapps_agents/workflow/agent_handlers/ops_handler.py +62 -62
- tapps_agents/workflow/agent_handlers/orchestrator_handler.py +43 -43
- tapps_agents/workflow/agent_handlers/planner_handler.py +98 -98
- tapps_agents/workflow/agent_handlers/registry.py +119 -119
- tapps_agents/workflow/agent_handlers/reviewer_handler.py +119 -119
- tapps_agents/workflow/agent_handlers/tester_handler.py +69 -69
- tapps_agents/workflow/analytics_accessor.py +337 -337
- tapps_agents/workflow/analytics_alerts.py +416 -416
- tapps_agents/workflow/analytics_dashboard_cursor.py +281 -281
- tapps_agents/workflow/analytics_dual_write.py +103 -103
- tapps_agents/workflow/analytics_integration.py +119 -119
- tapps_agents/workflow/analytics_query_parser.py +278 -278
- tapps_agents/workflow/analytics_visualizer.py +259 -259
- tapps_agents/workflow/artifact_helper.py +204 -204
- tapps_agents/workflow/audit_logger.py +263 -263
- tapps_agents/workflow/auto_execution_config.py +340 -340
- tapps_agents/workflow/auto_progression.py +586 -586
- tapps_agents/workflow/branch_cleanup.py +349 -349
- tapps_agents/workflow/checkpoint.py +256 -256
- tapps_agents/workflow/checkpoint_manager.py +178 -178
- tapps_agents/workflow/code_artifact.py +179 -179
- tapps_agents/workflow/common_enums.py +96 -96
- tapps_agents/workflow/confirmation_handler.py +130 -130
- tapps_agents/workflow/context_analyzer.py +222 -222
- tapps_agents/workflow/context_artifact.py +230 -230
- tapps_agents/workflow/cursor_chat.py +94 -94
- tapps_agents/workflow/cursor_executor.py +2337 -2337
- tapps_agents/workflow/cursor_skill_helper.py +516 -516
- tapps_agents/workflow/dependency_resolver.py +244 -244
- tapps_agents/workflow/design_artifact.py +156 -156
- tapps_agents/workflow/detector.py +751 -751
- tapps_agents/workflow/direct_execution_fallback.py +301 -301
- tapps_agents/workflow/docs_artifact.py +168 -168
- tapps_agents/workflow/enforcer.py +389 -389
- tapps_agents/workflow/enhancement_artifact.py +142 -142
- tapps_agents/workflow/error_recovery.py +806 -806
- tapps_agents/workflow/event_bus.py +183 -183
- tapps_agents/workflow/event_log.py +612 -612
- tapps_agents/workflow/events.py +63 -63
- tapps_agents/workflow/exceptions.py +43 -43
- tapps_agents/workflow/execution_graph.py +498 -498
- tapps_agents/workflow/execution_plan.py +126 -126
- tapps_agents/workflow/file_utils.py +186 -186
- tapps_agents/workflow/gate_evaluator.py +182 -182
- tapps_agents/workflow/gate_integration.py +200 -200
- tapps_agents/workflow/graph_visualizer.py +130 -130
- tapps_agents/workflow/health_checker.py +206 -206
- tapps_agents/workflow/logging_helper.py +243 -243
- tapps_agents/workflow/manifest.py +582 -582
- tapps_agents/workflow/marker_writer.py +250 -250
- tapps_agents/workflow/message_formatter.py +188 -188
- tapps_agents/workflow/messaging.py +325 -325
- tapps_agents/workflow/metadata_models.py +91 -91
- tapps_agents/workflow/metrics_integration.py +226 -226
- tapps_agents/workflow/migration_utils.py +116 -116
- tapps_agents/workflow/models.py +148 -148
- tapps_agents/workflow/nlp_config.py +198 -198
- tapps_agents/workflow/nlp_error_handler.py +207 -207
- tapps_agents/workflow/nlp_executor.py +163 -163
- tapps_agents/workflow/nlp_parser.py +528 -528
- tapps_agents/workflow/observability_dashboard.py +451 -451
- tapps_agents/workflow/observer.py +170 -170
- tapps_agents/workflow/ops_artifact.py +257 -257
- tapps_agents/workflow/output_passing.py +214 -214
- tapps_agents/workflow/parallel_executor.py +463 -463
- tapps_agents/workflow/planning_artifact.py +179 -179
- tapps_agents/workflow/preset_loader.py +285 -285
- tapps_agents/workflow/preset_recommender.py +270 -270
- tapps_agents/workflow/progress_logger.py +145 -145
- tapps_agents/workflow/progress_manager.py +303 -303
- tapps_agents/workflow/progress_monitor.py +186 -186
- tapps_agents/workflow/progress_updates.py +423 -423
- tapps_agents/workflow/quality_artifact.py +158 -158
- tapps_agents/workflow/quality_loopback.py +101 -101
- tapps_agents/workflow/recommender.py +387 -387
- tapps_agents/workflow/remediation_loop.py +166 -166
- tapps_agents/workflow/result_aggregator.py +300 -300
- tapps_agents/workflow/review_artifact.py +185 -185
- tapps_agents/workflow/schema_validator.py +522 -522
- tapps_agents/workflow/session_handoff.py +178 -178
- tapps_agents/workflow/skill_invoker.py +648 -648
- tapps_agents/workflow/state_manager.py +756 -756
- tapps_agents/workflow/state_persistence_config.py +331 -331
- tapps_agents/workflow/status_monitor.py +449 -449
- tapps_agents/workflow/step_checkpoint.py +314 -314
- tapps_agents/workflow/step_details.py +201 -201
- tapps_agents/workflow/story_models.py +147 -147
- tapps_agents/workflow/streaming.py +416 -416
- tapps_agents/workflow/suggestion_engine.py +552 -552
- tapps_agents/workflow/testing_artifact.py +186 -186
- tapps_agents/workflow/timeline.py +158 -158
- tapps_agents/workflow/token_integration.py +209 -209
- tapps_agents/workflow/validation.py +217 -217
- tapps_agents/workflow/visual_feedback.py +391 -391
- tapps_agents/workflow/workflow_chain.py +95 -95
- tapps_agents/workflow/workflow_summary.py +219 -219
- tapps_agents/workflow/worktree_manager.py +724 -724
- {tapps_agents-3.5.41.dist-info → tapps_agents-3.6.0.dist-info}/METADATA +672 -672
- tapps_agents-3.6.0.dist-info/RECORD +758 -0
- {tapps_agents-3.5.41.dist-info → tapps_agents-3.6.0.dist-info}/licenses/LICENSE +22 -22
- tapps_agents/health/checks/outcomes.backup_20260204_064058.py +0 -324
- tapps_agents/health/checks/outcomes.backup_20260204_064256.py +0 -324
- tapps_agents/health/checks/outcomes.backup_20260204_064600.py +0 -324
- tapps_agents-3.5.41.dist-info/RECORD +0 -760
- {tapps_agents-3.5.41.dist-info → tapps_agents-3.6.0.dist-info}/WHEEL +0 -0
- {tapps_agents-3.5.41.dist-info → tapps_agents-3.6.0.dist-info}/entry_points.txt +0 -0
- {tapps_agents-3.5.41.dist-info → tapps_agents-3.6.0.dist-info}/top_level.txt +0 -0
tapps_agents/core/prompt_base.py
CHANGED
|
@@ -1,223 +1,223 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Base classes for prompt optimization in Tier 1 Enhancement.
|
|
3
|
-
|
|
4
|
-
Provides abstract base classes for prompt optimizers and A/B testing.
|
|
5
|
-
"""
|
|
6
|
-
|
|
7
|
-
from abc import ABC, abstractmethod
|
|
8
|
-
from dataclasses import dataclass
|
|
9
|
-
from datetime import datetime
|
|
10
|
-
from typing import Any
|
|
11
|
-
|
|
12
|
-
from .evaluation_models import PromptVersion
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
@dataclass
|
|
16
|
-
class PromptVariation:
|
|
17
|
-
"""Represents a prompt variation for A/B testing."""
|
|
18
|
-
|
|
19
|
-
id: str
|
|
20
|
-
prompt_text: str
|
|
21
|
-
metadata: dict[str, Any] | None = None
|
|
22
|
-
created_at: datetime | None = None
|
|
23
|
-
|
|
24
|
-
def __post_init__(self) -> None:
|
|
25
|
-
"""Set default created_at if not provided."""
|
|
26
|
-
if self.created_at is None:
|
|
27
|
-
self.created_at = datetime.now()
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
@dataclass
|
|
31
|
-
class PromptOutcome:
|
|
32
|
-
"""Outcome metrics for a prompt variation."""
|
|
33
|
-
|
|
34
|
-
variation_id: str
|
|
35
|
-
usage_count: int
|
|
36
|
-
success_count: int
|
|
37
|
-
failure_count: int
|
|
38
|
-
average_score: float | None = None
|
|
39
|
-
metadata: dict[str, Any] | None = None
|
|
40
|
-
|
|
41
|
-
def success_rate(self) -> float:
|
|
42
|
-
"""Calculate success rate."""
|
|
43
|
-
total = self.usage_count
|
|
44
|
-
if total == 0:
|
|
45
|
-
return 0.0
|
|
46
|
-
return self.success_count / total
|
|
47
|
-
|
|
48
|
-
def to_dict(self) -> dict[str, Any]:
|
|
49
|
-
"""Convert to dictionary."""
|
|
50
|
-
return {
|
|
51
|
-
"variation_id": self.variation_id,
|
|
52
|
-
"usage_count": self.usage_count,
|
|
53
|
-
"success_count": self.success_count,
|
|
54
|
-
"failure_count": self.failure_count,
|
|
55
|
-
"average_score": self.average_score,
|
|
56
|
-
"success_rate": self.success_rate(),
|
|
57
|
-
"metadata": self.metadata or {},
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
class PromptVersionManager:
|
|
62
|
-
"""Manages version tracking for prompts."""
|
|
63
|
-
|
|
64
|
-
def __init__(self, storage_path: str | None = None):
|
|
65
|
-
"""
|
|
66
|
-
Initialize version manager.
|
|
67
|
-
|
|
68
|
-
Args:
|
|
69
|
-
storage_path: Optional path for storing version history
|
|
70
|
-
"""
|
|
71
|
-
self.storage_path = storage_path
|
|
72
|
-
self.versions: dict[str, list[PromptVersion]] = {}
|
|
73
|
-
|
|
74
|
-
def add_version(self, prompt_type: str, version: PromptVersion) -> None:
|
|
75
|
-
"""Add a new prompt version."""
|
|
76
|
-
if prompt_type not in self.versions:
|
|
77
|
-
self.versions[prompt_type] = []
|
|
78
|
-
self.versions[prompt_type].append(version)
|
|
79
|
-
|
|
80
|
-
def get_latest_version(self, prompt_type: str) -> PromptVersion | None:
|
|
81
|
-
"""Get the latest version for a prompt type."""
|
|
82
|
-
if prompt_type not in self.versions or not self.versions[prompt_type]:
|
|
83
|
-
return None
|
|
84
|
-
return max(
|
|
85
|
-
self.versions[prompt_type], key=lambda v: v.created_at, default=None
|
|
86
|
-
)
|
|
87
|
-
|
|
88
|
-
def get_version_history(self, prompt_type: str) -> list[PromptVersion]:
|
|
89
|
-
"""Get version history for a prompt type."""
|
|
90
|
-
return self.versions.get(prompt_type, [])
|
|
91
|
-
|
|
92
|
-
def get_version_by_id(self, prompt_type: str, version_id: str) -> PromptVersion | None:
|
|
93
|
-
"""Get a specific version by ID."""
|
|
94
|
-
for version in self.versions.get(prompt_type, []):
|
|
95
|
-
if version.id == version_id:
|
|
96
|
-
return version
|
|
97
|
-
return None
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
class BasePromptOptimizer(ABC):
|
|
101
|
-
"""
|
|
102
|
-
Abstract base class for prompt optimizers.
|
|
103
|
-
|
|
104
|
-
Prompt optimizers refine prompts based on feedback and outcomes.
|
|
105
|
-
"""
|
|
106
|
-
|
|
107
|
-
@abstractmethod
|
|
108
|
-
def optimize(
|
|
109
|
-
self, current_prompt: str, outcomes: list[PromptOutcome]
|
|
110
|
-
) -> str:
|
|
111
|
-
"""
|
|
112
|
-
Optimize a prompt based on outcomes.
|
|
113
|
-
|
|
114
|
-
Args:
|
|
115
|
-
current_prompt: Current prompt text
|
|
116
|
-
outcomes: List of outcomes from prompt variations
|
|
117
|
-
|
|
118
|
-
Returns:
|
|
119
|
-
Optimized prompt text
|
|
120
|
-
"""
|
|
121
|
-
pass
|
|
122
|
-
|
|
123
|
-
@abstractmethod
|
|
124
|
-
def generate_variations(self, base_prompt: str, count: int = 3) -> list[PromptVariation]:
|
|
125
|
-
"""
|
|
126
|
-
Generate variations of a prompt for A/B testing.
|
|
127
|
-
|
|
128
|
-
Args:
|
|
129
|
-
base_prompt: Base prompt to vary
|
|
130
|
-
count: Number of variations to generate
|
|
131
|
-
|
|
132
|
-
Returns:
|
|
133
|
-
List of prompt variations
|
|
134
|
-
"""
|
|
135
|
-
pass
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
class PromptABTester:
|
|
139
|
-
"""
|
|
140
|
-
A/B testing framework for prompt variations.
|
|
141
|
-
|
|
142
|
-
Tests multiple prompt variations and tracks outcomes.
|
|
143
|
-
"""
|
|
144
|
-
|
|
145
|
-
def __init__(self):
|
|
146
|
-
"""Initialize A/B tester."""
|
|
147
|
-
self.variations: dict[str, PromptVariation] = {}
|
|
148
|
-
self.outcomes: dict[str, PromptOutcome] = {}
|
|
149
|
-
|
|
150
|
-
def register_variation(self, variation: PromptVariation) -> None:
|
|
151
|
-
"""Register a prompt variation for testing."""
|
|
152
|
-
self.variations[variation.id] = variation
|
|
153
|
-
if variation.id not in self.outcomes:
|
|
154
|
-
self.outcomes[variation.id] = PromptOutcome(
|
|
155
|
-
variation_id=variation.id,
|
|
156
|
-
usage_count=0,
|
|
157
|
-
success_count=0,
|
|
158
|
-
failure_count=0,
|
|
159
|
-
)
|
|
160
|
-
|
|
161
|
-
def record_outcome(
|
|
162
|
-
self, variation_id: str, success: bool, score: float | None = None
|
|
163
|
-
) -> None:
|
|
164
|
-
"""
|
|
165
|
-
Record an outcome for a prompt variation.
|
|
166
|
-
|
|
167
|
-
Args:
|
|
168
|
-
variation_id: ID of the variation
|
|
169
|
-
success: Whether the outcome was successful
|
|
170
|
-
score: Optional quality score
|
|
171
|
-
"""
|
|
172
|
-
if variation_id not in self.outcomes:
|
|
173
|
-
self.outcomes[variation_id] = PromptOutcome(
|
|
174
|
-
variation_id=variation_id,
|
|
175
|
-
usage_count=0,
|
|
176
|
-
success_count=0,
|
|
177
|
-
failure_count=0,
|
|
178
|
-
)
|
|
179
|
-
|
|
180
|
-
outcome = self.outcomes[variation_id]
|
|
181
|
-
outcome.usage_count += 1
|
|
182
|
-
if success:
|
|
183
|
-
outcome.success_count += 1
|
|
184
|
-
else:
|
|
185
|
-
outcome.failure_count += 1
|
|
186
|
-
|
|
187
|
-
# Update average score
|
|
188
|
-
if score is not None:
|
|
189
|
-
if outcome.average_score is None:
|
|
190
|
-
outcome.average_score = score
|
|
191
|
-
else:
|
|
192
|
-
# Running average
|
|
193
|
-
outcome.average_score = (
|
|
194
|
-
outcome.average_score * (outcome.usage_count - 1) + score
|
|
195
|
-
) / outcome.usage_count
|
|
196
|
-
|
|
197
|
-
def get_best_variation(self) -> PromptVariation | None:
|
|
198
|
-
"""Get the variation with the best outcomes."""
|
|
199
|
-
if not self.outcomes:
|
|
200
|
-
return None
|
|
201
|
-
|
|
202
|
-
best_id = max(
|
|
203
|
-
self.outcomes.keys(),
|
|
204
|
-
key=lambda vid: (
|
|
205
|
-
self.outcomes[vid].success_rate(),
|
|
206
|
-
self.outcomes[vid].average_score or 0.0,
|
|
207
|
-
),
|
|
208
|
-
)
|
|
209
|
-
return self.variations.get(best_id)
|
|
210
|
-
|
|
211
|
-
def get_statistics(self) -> dict[str, Any]:
|
|
212
|
-
"""Get A/B test statistics."""
|
|
213
|
-
return {
|
|
214
|
-
"variations": len(self.variations),
|
|
215
|
-
"outcomes": {
|
|
216
|
-
vid: outcome.to_dict()
|
|
217
|
-
for vid, outcome in self.outcomes.items()
|
|
218
|
-
},
|
|
219
|
-
"best_variation": (
|
|
220
|
-
self.get_best_variation().id if self.get_best_variation() else None
|
|
221
|
-
),
|
|
222
|
-
}
|
|
223
|
-
|
|
1
|
+
"""
|
|
2
|
+
Base classes for prompt optimization in Tier 1 Enhancement.
|
|
3
|
+
|
|
4
|
+
Provides abstract base classes for prompt optimizers and A/B testing.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from abc import ABC, abstractmethod
|
|
8
|
+
from dataclasses import dataclass
|
|
9
|
+
from datetime import datetime
|
|
10
|
+
from typing import Any
|
|
11
|
+
|
|
12
|
+
from .evaluation_models import PromptVersion
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@dataclass
|
|
16
|
+
class PromptVariation:
|
|
17
|
+
"""Represents a prompt variation for A/B testing."""
|
|
18
|
+
|
|
19
|
+
id: str
|
|
20
|
+
prompt_text: str
|
|
21
|
+
metadata: dict[str, Any] | None = None
|
|
22
|
+
created_at: datetime | None = None
|
|
23
|
+
|
|
24
|
+
def __post_init__(self) -> None:
|
|
25
|
+
"""Set default created_at if not provided."""
|
|
26
|
+
if self.created_at is None:
|
|
27
|
+
self.created_at = datetime.now()
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
@dataclass
|
|
31
|
+
class PromptOutcome:
|
|
32
|
+
"""Outcome metrics for a prompt variation."""
|
|
33
|
+
|
|
34
|
+
variation_id: str
|
|
35
|
+
usage_count: int
|
|
36
|
+
success_count: int
|
|
37
|
+
failure_count: int
|
|
38
|
+
average_score: float | None = None
|
|
39
|
+
metadata: dict[str, Any] | None = None
|
|
40
|
+
|
|
41
|
+
def success_rate(self) -> float:
|
|
42
|
+
"""Calculate success rate."""
|
|
43
|
+
total = self.usage_count
|
|
44
|
+
if total == 0:
|
|
45
|
+
return 0.0
|
|
46
|
+
return self.success_count / total
|
|
47
|
+
|
|
48
|
+
def to_dict(self) -> dict[str, Any]:
|
|
49
|
+
"""Convert to dictionary."""
|
|
50
|
+
return {
|
|
51
|
+
"variation_id": self.variation_id,
|
|
52
|
+
"usage_count": self.usage_count,
|
|
53
|
+
"success_count": self.success_count,
|
|
54
|
+
"failure_count": self.failure_count,
|
|
55
|
+
"average_score": self.average_score,
|
|
56
|
+
"success_rate": self.success_rate(),
|
|
57
|
+
"metadata": self.metadata or {},
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
class PromptVersionManager:
|
|
62
|
+
"""Manages version tracking for prompts."""
|
|
63
|
+
|
|
64
|
+
def __init__(self, storage_path: str | None = None):
|
|
65
|
+
"""
|
|
66
|
+
Initialize version manager.
|
|
67
|
+
|
|
68
|
+
Args:
|
|
69
|
+
storage_path: Optional path for storing version history
|
|
70
|
+
"""
|
|
71
|
+
self.storage_path = storage_path
|
|
72
|
+
self.versions: dict[str, list[PromptVersion]] = {}
|
|
73
|
+
|
|
74
|
+
def add_version(self, prompt_type: str, version: PromptVersion) -> None:
|
|
75
|
+
"""Add a new prompt version."""
|
|
76
|
+
if prompt_type not in self.versions:
|
|
77
|
+
self.versions[prompt_type] = []
|
|
78
|
+
self.versions[prompt_type].append(version)
|
|
79
|
+
|
|
80
|
+
def get_latest_version(self, prompt_type: str) -> PromptVersion | None:
|
|
81
|
+
"""Get the latest version for a prompt type."""
|
|
82
|
+
if prompt_type not in self.versions or not self.versions[prompt_type]:
|
|
83
|
+
return None
|
|
84
|
+
return max(
|
|
85
|
+
self.versions[prompt_type], key=lambda v: v.created_at, default=None
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
def get_version_history(self, prompt_type: str) -> list[PromptVersion]:
|
|
89
|
+
"""Get version history for a prompt type."""
|
|
90
|
+
return self.versions.get(prompt_type, [])
|
|
91
|
+
|
|
92
|
+
def get_version_by_id(self, prompt_type: str, version_id: str) -> PromptVersion | None:
|
|
93
|
+
"""Get a specific version by ID."""
|
|
94
|
+
for version in self.versions.get(prompt_type, []):
|
|
95
|
+
if version.id == version_id:
|
|
96
|
+
return version
|
|
97
|
+
return None
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
class BasePromptOptimizer(ABC):
|
|
101
|
+
"""
|
|
102
|
+
Abstract base class for prompt optimizers.
|
|
103
|
+
|
|
104
|
+
Prompt optimizers refine prompts based on feedback and outcomes.
|
|
105
|
+
"""
|
|
106
|
+
|
|
107
|
+
@abstractmethod
|
|
108
|
+
def optimize(
|
|
109
|
+
self, current_prompt: str, outcomes: list[PromptOutcome]
|
|
110
|
+
) -> str:
|
|
111
|
+
"""
|
|
112
|
+
Optimize a prompt based on outcomes.
|
|
113
|
+
|
|
114
|
+
Args:
|
|
115
|
+
current_prompt: Current prompt text
|
|
116
|
+
outcomes: List of outcomes from prompt variations
|
|
117
|
+
|
|
118
|
+
Returns:
|
|
119
|
+
Optimized prompt text
|
|
120
|
+
"""
|
|
121
|
+
pass
|
|
122
|
+
|
|
123
|
+
@abstractmethod
|
|
124
|
+
def generate_variations(self, base_prompt: str, count: int = 3) -> list[PromptVariation]:
|
|
125
|
+
"""
|
|
126
|
+
Generate variations of a prompt for A/B testing.
|
|
127
|
+
|
|
128
|
+
Args:
|
|
129
|
+
base_prompt: Base prompt to vary
|
|
130
|
+
count: Number of variations to generate
|
|
131
|
+
|
|
132
|
+
Returns:
|
|
133
|
+
List of prompt variations
|
|
134
|
+
"""
|
|
135
|
+
pass
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
class PromptABTester:
|
|
139
|
+
"""
|
|
140
|
+
A/B testing framework for prompt variations.
|
|
141
|
+
|
|
142
|
+
Tests multiple prompt variations and tracks outcomes.
|
|
143
|
+
"""
|
|
144
|
+
|
|
145
|
+
def __init__(self):
|
|
146
|
+
"""Initialize A/B tester."""
|
|
147
|
+
self.variations: dict[str, PromptVariation] = {}
|
|
148
|
+
self.outcomes: dict[str, PromptOutcome] = {}
|
|
149
|
+
|
|
150
|
+
def register_variation(self, variation: PromptVariation) -> None:
|
|
151
|
+
"""Register a prompt variation for testing."""
|
|
152
|
+
self.variations[variation.id] = variation
|
|
153
|
+
if variation.id not in self.outcomes:
|
|
154
|
+
self.outcomes[variation.id] = PromptOutcome(
|
|
155
|
+
variation_id=variation.id,
|
|
156
|
+
usage_count=0,
|
|
157
|
+
success_count=0,
|
|
158
|
+
failure_count=0,
|
|
159
|
+
)
|
|
160
|
+
|
|
161
|
+
def record_outcome(
|
|
162
|
+
self, variation_id: str, success: bool, score: float | None = None
|
|
163
|
+
) -> None:
|
|
164
|
+
"""
|
|
165
|
+
Record an outcome for a prompt variation.
|
|
166
|
+
|
|
167
|
+
Args:
|
|
168
|
+
variation_id: ID of the variation
|
|
169
|
+
success: Whether the outcome was successful
|
|
170
|
+
score: Optional quality score
|
|
171
|
+
"""
|
|
172
|
+
if variation_id not in self.outcomes:
|
|
173
|
+
self.outcomes[variation_id] = PromptOutcome(
|
|
174
|
+
variation_id=variation_id,
|
|
175
|
+
usage_count=0,
|
|
176
|
+
success_count=0,
|
|
177
|
+
failure_count=0,
|
|
178
|
+
)
|
|
179
|
+
|
|
180
|
+
outcome = self.outcomes[variation_id]
|
|
181
|
+
outcome.usage_count += 1
|
|
182
|
+
if success:
|
|
183
|
+
outcome.success_count += 1
|
|
184
|
+
else:
|
|
185
|
+
outcome.failure_count += 1
|
|
186
|
+
|
|
187
|
+
# Update average score
|
|
188
|
+
if score is not None:
|
|
189
|
+
if outcome.average_score is None:
|
|
190
|
+
outcome.average_score = score
|
|
191
|
+
else:
|
|
192
|
+
# Running average
|
|
193
|
+
outcome.average_score = (
|
|
194
|
+
outcome.average_score * (outcome.usage_count - 1) + score
|
|
195
|
+
) / outcome.usage_count
|
|
196
|
+
|
|
197
|
+
def get_best_variation(self) -> PromptVariation | None:
|
|
198
|
+
"""Get the variation with the best outcomes."""
|
|
199
|
+
if not self.outcomes:
|
|
200
|
+
return None
|
|
201
|
+
|
|
202
|
+
best_id = max(
|
|
203
|
+
self.outcomes.keys(),
|
|
204
|
+
key=lambda vid: (
|
|
205
|
+
self.outcomes[vid].success_rate(),
|
|
206
|
+
self.outcomes[vid].average_score or 0.0,
|
|
207
|
+
),
|
|
208
|
+
)
|
|
209
|
+
return self.variations.get(best_id)
|
|
210
|
+
|
|
211
|
+
def get_statistics(self) -> dict[str, Any]:
|
|
212
|
+
"""Get A/B test statistics."""
|
|
213
|
+
return {
|
|
214
|
+
"variations": len(self.variations),
|
|
215
|
+
"outcomes": {
|
|
216
|
+
vid: outcome.to_dict()
|
|
217
|
+
for vid, outcome in self.outcomes.items()
|
|
218
|
+
},
|
|
219
|
+
"best_variation": (
|
|
220
|
+
self.get_best_variation().id if self.get_best_variation() else None
|
|
221
|
+
),
|
|
222
|
+
}
|
|
223
|
+
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"""Prompt learning system for Cursor Skills integration."""
|
|
2
|
-
|
|
1
|
+
"""Prompt learning system for Cursor Skills integration."""
|
|
2
|
+
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
"""Continuous learning loop for prompts."""
|
|
2
|
-
|
|
3
|
-
import logging
|
|
4
|
-
from typing import Any
|
|
5
|
-
|
|
6
|
-
logger = logging.getLogger(__name__)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class LearningLoop:
|
|
10
|
-
"""Manages continuous prompt learning."""
|
|
11
|
-
|
|
12
|
-
def __init__(self):
|
|
13
|
-
self.metrics: dict[str, Any] = {}
|
|
14
|
-
|
|
15
|
-
def track_metrics(self, prompt_version_id: str, metrics: dict[str, Any]) -> None:
|
|
16
|
-
"""Track metrics for a prompt version."""
|
|
17
|
-
self.metrics[prompt_version_id] = metrics
|
|
18
|
-
|
|
19
|
-
def should_optimize(self, prompt_version_id: str) -> bool:
|
|
20
|
-
"""Determine if prompt should be optimized."""
|
|
21
|
-
# Simple heuristic: optimize if enough samples collected
|
|
22
|
-
metrics = self.metrics.get(prompt_version_id, {})
|
|
23
|
-
return metrics.get("sample_count", 0) >= 10
|
|
24
|
-
|
|
1
|
+
"""Continuous learning loop for prompts."""
|
|
2
|
+
|
|
3
|
+
import logging
|
|
4
|
+
from typing import Any
|
|
5
|
+
|
|
6
|
+
logger = logging.getLogger(__name__)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class LearningLoop:
|
|
10
|
+
"""Manages continuous prompt learning."""
|
|
11
|
+
|
|
12
|
+
def __init__(self):
|
|
13
|
+
self.metrics: dict[str, Any] = {}
|
|
14
|
+
|
|
15
|
+
def track_metrics(self, prompt_version_id: str, metrics: dict[str, Any]) -> None:
|
|
16
|
+
"""Track metrics for a prompt version."""
|
|
17
|
+
self.metrics[prompt_version_id] = metrics
|
|
18
|
+
|
|
19
|
+
def should_optimize(self, prompt_version_id: str) -> bool:
|
|
20
|
+
"""Determine if prompt should be optimized."""
|
|
21
|
+
# Simple heuristic: optimize if enough samples collected
|
|
22
|
+
metrics = self.metrics.get(prompt_version_id, {})
|
|
23
|
+
return metrics.get("sample_count", 0) >= 10
|
|
24
|
+
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
"""Project-specific prompt store."""
|
|
2
|
-
|
|
3
|
-
from pathlib import Path
|
|
4
|
-
from typing import Any
|
|
5
|
-
|
|
6
|
-
from ..storage_manager import PromptStorage, StorageManager
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class ProjectPromptStore:
|
|
10
|
-
"""Stores project-specific learned prompts."""
|
|
11
|
-
|
|
12
|
-
def __init__(self, project_root: Path | None = None):
|
|
13
|
-
self.storage_manager = StorageManager(project_root)
|
|
14
|
-
self.prompt_storage = self.storage_manager.prompts
|
|
15
|
-
|
|
16
|
-
def store_learned_prompt(
|
|
17
|
-
self, prompt_type: str, prompt_data: dict[str, Any]
|
|
18
|
-
) -> Path:
|
|
19
|
-
"""Store learned prompt."""
|
|
20
|
-
return self.prompt_storage.save_prompt(prompt_type, prompt_data)
|
|
21
|
-
|
|
22
|
-
def get_latest_prompt(self, prompt_type: str) -> dict[str, Any] | None:
|
|
23
|
-
"""Get latest learned prompt."""
|
|
24
|
-
return self.prompt_storage.get_latest_version(prompt_type)
|
|
25
|
-
|
|
1
|
+
"""Project-specific prompt store."""
|
|
2
|
+
|
|
3
|
+
from pathlib import Path
|
|
4
|
+
from typing import Any
|
|
5
|
+
|
|
6
|
+
from ..storage_manager import PromptStorage, StorageManager
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class ProjectPromptStore:
|
|
10
|
+
"""Stores project-specific learned prompts."""
|
|
11
|
+
|
|
12
|
+
def __init__(self, project_root: Path | None = None):
|
|
13
|
+
self.storage_manager = StorageManager(project_root)
|
|
14
|
+
self.prompt_storage = self.storage_manager.prompts
|
|
15
|
+
|
|
16
|
+
def store_learned_prompt(
|
|
17
|
+
self, prompt_type: str, prompt_data: dict[str, Any]
|
|
18
|
+
) -> Path:
|
|
19
|
+
"""Store learned prompt."""
|
|
20
|
+
return self.prompt_storage.save_prompt(prompt_type, prompt_data)
|
|
21
|
+
|
|
22
|
+
def get_latest_prompt(self, prompt_type: str) -> dict[str, Any] | None:
|
|
23
|
+
"""Get latest learned prompt."""
|
|
24
|
+
return self.prompt_storage.get_latest_version(prompt_type)
|
|
25
|
+
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
"""Analyzer for Cursor Skills prompt learning."""
|
|
2
|
-
|
|
3
|
-
import logging
|
|
4
|
-
from pathlib import Path
|
|
5
|
-
from typing import Any
|
|
6
|
-
|
|
7
|
-
logger = logging.getLogger(__name__)
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class SkillsPromptAnalyzer:
|
|
11
|
-
"""Analyzes Skills system prompts for learning."""
|
|
12
|
-
|
|
13
|
-
def __init__(self, project_root: Path | None = None):
|
|
14
|
-
self.project_root = project_root or Path.cwd()
|
|
15
|
-
self.skills_dir = self.project_root / ".claude" / "skills"
|
|
16
|
-
|
|
17
|
-
def analyze_skills(self) -> dict[str, Any]:
|
|
18
|
-
"""Analyze all Skills prompts."""
|
|
19
|
-
if not self.skills_dir.exists():
|
|
20
|
-
return {}
|
|
21
|
-
|
|
22
|
-
skills_data = {}
|
|
23
|
-
for skill_dir in self.skills_dir.iterdir():
|
|
24
|
-
if skill_dir.is_dir():
|
|
25
|
-
skill_md = skill_dir / "SKILL.md"
|
|
26
|
-
if skill_md.exists():
|
|
27
|
-
content = skill_md.read_text(encoding="utf-8")
|
|
28
|
-
skills_data[skill_dir.name] = {
|
|
29
|
-
"path": str(skill_md),
|
|
30
|
-
"content": content,
|
|
31
|
-
"length": len(content),
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
return skills_data
|
|
35
|
-
|
|
1
|
+
"""Analyzer for Cursor Skills prompt learning."""
|
|
2
|
+
|
|
3
|
+
import logging
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
from typing import Any
|
|
6
|
+
|
|
7
|
+
logger = logging.getLogger(__name__)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class SkillsPromptAnalyzer:
|
|
11
|
+
"""Analyzes Skills system prompts for learning."""
|
|
12
|
+
|
|
13
|
+
def __init__(self, project_root: Path | None = None):
|
|
14
|
+
self.project_root = project_root or Path.cwd()
|
|
15
|
+
self.skills_dir = self.project_root / ".claude" / "skills"
|
|
16
|
+
|
|
17
|
+
def analyze_skills(self) -> dict[str, Any]:
|
|
18
|
+
"""Analyze all Skills prompts."""
|
|
19
|
+
if not self.skills_dir.exists():
|
|
20
|
+
return {}
|
|
21
|
+
|
|
22
|
+
skills_data = {}
|
|
23
|
+
for skill_dir in self.skills_dir.iterdir():
|
|
24
|
+
if skill_dir.is_dir():
|
|
25
|
+
skill_md = skill_dir / "SKILL.md"
|
|
26
|
+
if skill_md.exists():
|
|
27
|
+
content = skill_md.read_text(encoding="utf-8")
|
|
28
|
+
skills_data[skill_dir.name] = {
|
|
29
|
+
"path": str(skill_md),
|
|
30
|
+
"content": content,
|
|
31
|
+
"length": len(content),
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return skills_data
|
|
35
|
+
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Prompt optimization system for A/B testing and refinement.
|
|
3
|
-
|
|
4
|
-
Implements A/B testing, correlation analysis, and progressive refinement.
|
|
5
|
-
"""
|
|
6
|
-
|
|
1
|
+
"""
|
|
2
|
+
Prompt optimization system for A/B testing and refinement.
|
|
3
|
+
|
|
4
|
+
Implements A/B testing, correlation analysis, and progressive refinement.
|
|
5
|
+
"""
|
|
6
|
+
|