empathy-framework 4.4.0__py3-none-any.whl → 4.5.1__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.
- {empathy_framework-4.4.0.dist-info → empathy_framework-4.5.1.dist-info}/METADATA +52 -5
- {empathy_framework-4.4.0.dist-info → empathy_framework-4.5.1.dist-info}/RECORD +14 -13
- empathy_os/cli_unified.py +262 -0
- empathy_os/memory/__init__.py +21 -0
- empathy_os/memory/cross_session.py +849 -0
- empathy_os/memory/short_term.py +186 -0
- empathy_os/meta_workflows/builtin_templates.py +20 -20
- empathy_os/meta_workflows/cli_meta_workflows.py +70 -15
- empathy_os/meta_workflows/workflow.py +30 -1
- empathy_os/orchestration/agent_templates.py +192 -1
- {empathy_framework-4.4.0.dist-info → empathy_framework-4.5.1.dist-info}/WHEEL +0 -0
- {empathy_framework-4.4.0.dist-info → empathy_framework-4.5.1.dist-info}/entry_points.txt +0 -0
- {empathy_framework-4.4.0.dist-info → empathy_framework-4.5.1.dist-info}/licenses/LICENSE +0 -0
- {empathy_framework-4.4.0.dist-info → empathy_framework-4.5.1.dist-info}/top_level.txt +0 -0
|
@@ -232,7 +232,7 @@ def get_all_templates() -> list[AgentTemplate]:
|
|
|
232
232
|
|
|
233
233
|
Example:
|
|
234
234
|
>>> templates = get_all_templates()
|
|
235
|
-
>>> len(templates) >=
|
|
235
|
+
>>> len(templates) >= 13
|
|
236
236
|
True
|
|
237
237
|
"""
|
|
238
238
|
return list(_TEMPLATE_REGISTRY.values())
|
|
@@ -503,6 +503,191 @@ _REFACTORING_SPECIALIST = AgentTemplate(
|
|
|
503
503
|
)
|
|
504
504
|
|
|
505
505
|
|
|
506
|
+
# Template 8: Test Generator
|
|
507
|
+
_TEST_GENERATOR = AgentTemplate(
|
|
508
|
+
id="test_generator",
|
|
509
|
+
role="Test Generator",
|
|
510
|
+
capabilities=[
|
|
511
|
+
"generate_unit_tests",
|
|
512
|
+
"generate_integration_tests",
|
|
513
|
+
"create_test_fixtures",
|
|
514
|
+
],
|
|
515
|
+
tier_preference="CAPABLE",
|
|
516
|
+
tools=["ast_parser", "pytest", "test_framework"],
|
|
517
|
+
default_instructions=(
|
|
518
|
+
"You are a test generator. Create comprehensive tests:\n"
|
|
519
|
+
"1. Generate unit tests for uncovered code paths\n"
|
|
520
|
+
"2. Create integration tests for component interactions\n"
|
|
521
|
+
"3. Include edge cases and boundary conditions\n"
|
|
522
|
+
"4. Use appropriate assertions and fixtures\n"
|
|
523
|
+
"Focus on high-value tests that catch real bugs."
|
|
524
|
+
),
|
|
525
|
+
quality_gates={
|
|
526
|
+
"min_assertions_per_test": 1,
|
|
527
|
+
"max_test_complexity": 10,
|
|
528
|
+
},
|
|
529
|
+
resource_requirements=ResourceRequirements(
|
|
530
|
+
min_tokens=2000,
|
|
531
|
+
max_tokens=20000,
|
|
532
|
+
timeout_seconds=600,
|
|
533
|
+
memory_mb=1024,
|
|
534
|
+
),
|
|
535
|
+
)
|
|
536
|
+
|
|
537
|
+
# Template 9: Test Validator
|
|
538
|
+
_TEST_VALIDATOR = AgentTemplate(
|
|
539
|
+
id="test_validator",
|
|
540
|
+
role="Test Validator",
|
|
541
|
+
capabilities=[
|
|
542
|
+
"validate_tests",
|
|
543
|
+
"run_tests",
|
|
544
|
+
"verify_coverage",
|
|
545
|
+
],
|
|
546
|
+
tier_preference="CHEAP",
|
|
547
|
+
tools=["pytest", "coverage_analyzer"],
|
|
548
|
+
default_instructions=(
|
|
549
|
+
"You are a test validator. Verify test quality:\n"
|
|
550
|
+
"1. Run generated tests to verify they pass\n"
|
|
551
|
+
"2. Check that tests actually test the intended behavior\n"
|
|
552
|
+
"3. Verify coverage improvements\n"
|
|
553
|
+
"4. Identify flaky or unreliable tests\n"
|
|
554
|
+
"Focus on ensuring test reliability and correctness."
|
|
555
|
+
),
|
|
556
|
+
quality_gates={
|
|
557
|
+
"min_pass_rate": 100,
|
|
558
|
+
"max_flaky_tests": 0,
|
|
559
|
+
},
|
|
560
|
+
resource_requirements=ResourceRequirements(
|
|
561
|
+
min_tokens=1000,
|
|
562
|
+
max_tokens=8000,
|
|
563
|
+
timeout_seconds=300,
|
|
564
|
+
memory_mb=512,
|
|
565
|
+
),
|
|
566
|
+
)
|
|
567
|
+
|
|
568
|
+
# Template 10: Report Generator
|
|
569
|
+
_REPORT_GENERATOR = AgentTemplate(
|
|
570
|
+
id="report_generator",
|
|
571
|
+
role="Report Generator",
|
|
572
|
+
capabilities=[
|
|
573
|
+
"generate_reports",
|
|
574
|
+
"summarize_findings",
|
|
575
|
+
"create_recommendations",
|
|
576
|
+
],
|
|
577
|
+
tier_preference="CHEAP",
|
|
578
|
+
tools=["markdown_writer"],
|
|
579
|
+
default_instructions=(
|
|
580
|
+
"You are a report generator. Create clear, actionable reports:\n"
|
|
581
|
+
"1. Summarize key findings from analysis\n"
|
|
582
|
+
"2. Prioritize issues by severity and impact\n"
|
|
583
|
+
"3. Provide specific recommendations\n"
|
|
584
|
+
"4. Include metrics and progress indicators\n"
|
|
585
|
+
"Focus on clarity and actionability for the reader."
|
|
586
|
+
),
|
|
587
|
+
quality_gates={
|
|
588
|
+
"min_sections": 3,
|
|
589
|
+
"max_report_length": 5000,
|
|
590
|
+
},
|
|
591
|
+
resource_requirements=ResourceRequirements(
|
|
592
|
+
min_tokens=500,
|
|
593
|
+
max_tokens=5000,
|
|
594
|
+
timeout_seconds=180,
|
|
595
|
+
memory_mb=256,
|
|
596
|
+
),
|
|
597
|
+
)
|
|
598
|
+
|
|
599
|
+
# Template 11: Documentation Analyst
|
|
600
|
+
_DOCUMENTATION_ANALYST = AgentTemplate(
|
|
601
|
+
id="documentation_analyst",
|
|
602
|
+
role="Documentation Analyst",
|
|
603
|
+
capabilities=[
|
|
604
|
+
"analyze_docs",
|
|
605
|
+
"find_gaps",
|
|
606
|
+
"check_freshness",
|
|
607
|
+
],
|
|
608
|
+
tier_preference="CAPABLE",
|
|
609
|
+
tools=["ast_parser", "doc_analyzer", "pydocstyle"],
|
|
610
|
+
default_instructions=(
|
|
611
|
+
"You are a documentation analyst. Analyze documentation quality:\n"
|
|
612
|
+
"1. Identify missing docstrings and documentation\n"
|
|
613
|
+
"2. Find outdated documentation that needs updates\n"
|
|
614
|
+
"3. Check documentation completeness for public APIs\n"
|
|
615
|
+
"4. Verify README and guides are current\n"
|
|
616
|
+
"Focus on finding gaps that impact developer experience."
|
|
617
|
+
),
|
|
618
|
+
quality_gates={
|
|
619
|
+
"min_doc_coverage": 80,
|
|
620
|
+
"max_stale_docs": 5,
|
|
621
|
+
},
|
|
622
|
+
resource_requirements=ResourceRequirements(
|
|
623
|
+
min_tokens=1500,
|
|
624
|
+
max_tokens=12000,
|
|
625
|
+
timeout_seconds=450,
|
|
626
|
+
memory_mb=768,
|
|
627
|
+
),
|
|
628
|
+
)
|
|
629
|
+
|
|
630
|
+
# Template 12: Synthesizer
|
|
631
|
+
_SYNTHESIZER = AgentTemplate(
|
|
632
|
+
id="synthesizer",
|
|
633
|
+
role="Information Synthesizer",
|
|
634
|
+
capabilities=[
|
|
635
|
+
"synthesize_findings",
|
|
636
|
+
"create_action_plans",
|
|
637
|
+
"prioritize_work",
|
|
638
|
+
],
|
|
639
|
+
tier_preference="CAPABLE",
|
|
640
|
+
tools=["markdown_writer"],
|
|
641
|
+
default_instructions=(
|
|
642
|
+
"You are an information synthesizer. Combine and prioritize findings:\n"
|
|
643
|
+
"1. Consolidate findings from multiple analyses\n"
|
|
644
|
+
"2. Identify patterns and common themes\n"
|
|
645
|
+
"3. Create prioritized action plans\n"
|
|
646
|
+
"4. Provide clear next steps with owners\n"
|
|
647
|
+
"Focus on actionable synthesis that drives improvements."
|
|
648
|
+
),
|
|
649
|
+
quality_gates={
|
|
650
|
+
"min_action_items": 3,
|
|
651
|
+
"max_priority_levels": 3,
|
|
652
|
+
},
|
|
653
|
+
resource_requirements=ResourceRequirements(
|
|
654
|
+
min_tokens=1500,
|
|
655
|
+
max_tokens=10000,
|
|
656
|
+
timeout_seconds=400,
|
|
657
|
+
memory_mb=512,
|
|
658
|
+
),
|
|
659
|
+
)
|
|
660
|
+
|
|
661
|
+
# Template 13: Generic Agent
|
|
662
|
+
_GENERIC_AGENT = AgentTemplate(
|
|
663
|
+
id="generic_agent",
|
|
664
|
+
role="General Purpose Agent",
|
|
665
|
+
capabilities=[
|
|
666
|
+
"analyze",
|
|
667
|
+
"generate",
|
|
668
|
+
"review",
|
|
669
|
+
],
|
|
670
|
+
tier_preference="CAPABLE",
|
|
671
|
+
tools=["read", "write", "grep"],
|
|
672
|
+
default_instructions=(
|
|
673
|
+
"You are a general purpose agent. Complete the assigned task:\n"
|
|
674
|
+
"1. Understand the task requirements thoroughly\n"
|
|
675
|
+
"2. Gather necessary information and context\n"
|
|
676
|
+
"3. Execute the task systematically\n"
|
|
677
|
+
"4. Verify the results meet success criteria\n"
|
|
678
|
+
"Focus on quality and completeness."
|
|
679
|
+
),
|
|
680
|
+
quality_gates={
|
|
681
|
+
"min_quality_score": 7,
|
|
682
|
+
},
|
|
683
|
+
resource_requirements=ResourceRequirements(
|
|
684
|
+
min_tokens=1000,
|
|
685
|
+
max_tokens=15000,
|
|
686
|
+
timeout_seconds=600,
|
|
687
|
+
memory_mb=1024,
|
|
688
|
+
),
|
|
689
|
+
)
|
|
690
|
+
|
|
506
691
|
# Register all pre-built templates
|
|
507
692
|
_register_template(_TEST_COVERAGE_ANALYZER)
|
|
508
693
|
_register_template(_SECURITY_AUDITOR)
|
|
@@ -511,6 +696,12 @@ _register_template(_DOCUMENTATION_WRITER)
|
|
|
511
696
|
_register_template(_PERFORMANCE_OPTIMIZER)
|
|
512
697
|
_register_template(_ARCHITECTURE_ANALYST)
|
|
513
698
|
_register_template(_REFACTORING_SPECIALIST)
|
|
699
|
+
_register_template(_TEST_GENERATOR)
|
|
700
|
+
_register_template(_TEST_VALIDATOR)
|
|
701
|
+
_register_template(_REPORT_GENERATOR)
|
|
702
|
+
_register_template(_DOCUMENTATION_ANALYST)
|
|
703
|
+
_register_template(_SYNTHESIZER)
|
|
704
|
+
_register_template(_GENERIC_AGENT)
|
|
514
705
|
|
|
515
706
|
|
|
516
707
|
logger.info(f"Registered {len(_TEMPLATE_REGISTRY)} agent templates")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|