create-leafmesh 2.2.3__tar.gz → 2.2.6__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.
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/PKG-INFO +1 -1
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/__init__.py +1 -1
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/cli.py +8 -4
- create_leafmesh-2.2.6/create_leafmesh/templates/bd-proposals/agency/bid_no_bid_decisioner_agent.py +87 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/bd-proposals/agency/competitor_intel_archive_agent.py +136 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bd-proposals/configs/config.yaml +125 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/bd-proposals/examples/01_new_rfp_received.json +13 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/bd-proposals/examples/02_win_post_mortem.json +23 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/bd-proposals/examples/03_loss_with_competitor.json +16 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/bd-proposals/examples/04_quarterly_win_rate.json +17 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/bd-proposals/examples/README.md +23 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/bd-proposals/examples/run_examples.py +85 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/bench-management/agency/skills_inventory_agent.py +138 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/bench-management/agency/utilisation_calculator_agent.py +145 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bench-management/configs/config.yaml +95 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/bench-management/examples/01_new_project_kickoff.json +19 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/bench-management/examples/02_weekly_bench_review.json +10 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/bench-management/examples/03_promotion_readiness.json +14 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/bench-management/examples/04_person_rolling_off.json +20 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/bench-management/examples/README.md +23 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/bench-management/examples/run_examples.py +85 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/customer-success/agency/expansion_signal_agent.py +111 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/customer-success/agency/usage_analytics_agent.py +164 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/configs/config.yaml +106 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/customer-success/examples/01_telemetry_dau_drop.json +21 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/customer-success/examples/02_billing_failed_payment.json +19 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/customer-success/examples/03_renewal_window_60d.json +21 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/customer-success/examples/04_executive_change.json +26 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/customer-success/examples/README.md +23 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/customer-success/examples/run_examples.py +85 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/customer-support/agency/csat_collector_agent.py +150 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/customer-support/agency/ticket_clustering_agent.py +151 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/configs/config.yaml +99 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/customer-support/examples/01_password_reset_routine.json +12 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/customer-support/examples/02_billing_dispute_escalation.json +12 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/customer-support/examples/03_security_incident.json +12 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/customer-support/examples/04_kb_gap_signal.json +21 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/customer-support/examples/README.md +23 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/customer-support/examples/run_examples.py +85 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/engineering-sdlc/agency/regression_detector_agent.py +138 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/engineering-sdlc/agency/release_notes_drafter_agent.py +126 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/engineering-sdlc/configs/config.yaml +128 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/engineering-sdlc/examples/01_simple_feature_ticket.json +16 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/engineering-sdlc/examples/02_security_sensitive_change.json +17 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/engineering-sdlc/examples/03_oncall_pager_alert.json +18 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/engineering-sdlc/examples/04_refactor_proposal.json +13 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/engineering-sdlc/examples/README.md +23 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/engineering-sdlc/examples/run_examples.py +85 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/finance-ops/agency/_shared/erp_poster.py +135 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/finance-ops/agency/duplicate_detector_agent.py +160 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/agency/erp_poster_agent.py +9 -5
- create_leafmesh-2.2.6/create_leafmesh/templates/finance-ops/agency/payment_scheduler_agent.py +151 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/finance-ops/agency/vendor_onboarding_agent.py +183 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/configs/config.yaml +177 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/finance-ops/examples/01_happy_path_subscription.json +26 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/finance-ops/examples/02_fraud_signal_round_number.json +26 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/finance-ops/examples/03_po_mismatch_exception.json +26 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/finance-ops/examples/04_high_value_cfo_signoff.json +32 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/finance-ops/examples/05_vendor_inquiry.json +14 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/finance-ops/examples/README.md +62 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/finance-ops/examples/run_examples.py +85 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/infra-cost-ops/agency/budget_alert_agent.py +167 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/infra-cost-ops/agency/tag_compliance_agent.py +136 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/infra-cost-ops/configs/config.yaml +82 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/infra-cost-ops/examples/01_ec2_idle_anomaly.json +21 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/infra-cost-ops/examples/02_savings_plan_under_utilised.json +13 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/infra-cost-ops/examples/03_ri_expiry_30d.json +14 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/infra-cost-ops/examples/04_iac_drift_detected.json +17 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/infra-cost-ops/examples/README.md +23 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/infra-cost-ops/examples/run_examples.py +85 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/marketing-ops/agency/brand_sentiment_tracker_agent.py +140 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/marketing-ops/agency/email_engagement_analyzer_agent.py +163 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/configs/config.yaml +118 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/marketing-ops/examples/01_new_campaign_brief.json +18 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/marketing-ops/examples/02_product_launch_kickoff.json +17 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/marketing-ops/examples/03_brand_crisis.json +17 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/marketing-ops/examples/04_competitor_pricing_move.json +17 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/marketing-ops/examples/README.md +23 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/marketing-ops/examples/run_examples.py +85 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/predictive-maintenance/agency/maintenance_history_agent.py +158 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/predictive-maintenance/agency/pm_compliance_tracker_agent.py +105 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/predictive-maintenance/configs/config.yaml +94 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/predictive-maintenance/examples/01_routine_sensor_reading.json +15 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/predictive-maintenance/examples/02_anomaly_failure_predicted.json +17 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/predictive-maintenance/examples/03_safety_critical_shutdown.json +12 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/predictive-maintenance/examples/04_weekly_parts_forecast.json +13 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/predictive-maintenance/examples/README.md +23 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/predictive-maintenance/examples/run_examples.py +85 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/production-planning/agency/material_requirements_agent.py +151 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/production-planning/agency/production_kpi_tracker_agent.py +155 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/production-planning/configs/config.yaml +86 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/production-planning/examples/01_demand_signal_normal.json +12 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/production-planning/examples/02_supplier_delay.json +16 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/production-planning/examples/03_emergency_constraint_alert.json +12 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/production-planning/examples/04_supplier_capacity_change.json +12 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/production-planning/examples/README.md +23 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/production-planning/examples/run_examples.py +85 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/quality-yield/agency/corrective_action_tracker_agent.py +141 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/quality-yield/agency/spc_chart_agent.py +159 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quality-yield/configs/config.yaml +104 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/quality-yield/examples/01_routine_inspection.json +11 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/quality-yield/examples/02_defect_cluster.json +19 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/quality-yield/examples/03_field_complaint_recall.json +12 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/quality-yield/examples/04_regulatory_audit_pull.json +15 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/quality-yield/examples/README.md +23 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/quality-yield/examples/run_examples.py +85 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/quote-to-cash/agency/contract_redline_tracker_agent.py +138 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/quote-to-cash/agency/revenue_recognition_classifier_agent.py +83 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quote-to-cash/configs/config.yaml +127 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/quote-to-cash/examples/01_rfq_standard.json +20 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/quote-to-cash/examples/02_steep_discount_finance.json +22 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/quote-to-cash/examples/03_competitor_price_change.json +13 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/quote-to-cash/examples/04_renewal_uplift_bundle.json +15 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/quote-to-cash/examples/README.md +23 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/quote-to-cash/examples/run_examples.py +85 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/recruiting-ops/agency/interview_loop_designer_agent.py +100 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/recruiting-ops/agency/time_to_hire_tracker_agent.py +153 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/configs/config.yaml +110 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/recruiting-ops/examples/01_new_req_filed.json +23 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/recruiting-ops/examples/02_candidate_rejection_letter.json +13 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/recruiting-ops/examples/03_offer_drafting.json +15 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/recruiting-ops/examples/04_ghosted_candidate_close.json +14 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/recruiting-ops/examples/README.md +23 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/recruiting-ops/examples/run_examples.py +85 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/sales-orchestration/agency/account_research_agent.py +82 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/sales-orchestration/agency/pipeline_health_monitor_agent.py +175 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/sales-orchestration/configs/config.yaml +126 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/sales-orchestration/examples/01_inbound_demo_request.json +23 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/sales-orchestration/examples/02_cold_lead_revival.json +21 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/sales-orchestration/examples/03_competitor_steal_signal.json +15 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/sales-orchestration/examples/04_event_followup_burst.json +13 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/sales-orchestration/examples/README.md +23 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/sales-orchestration/examples/run_examples.py +85 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/services-delivery/agency/scope_creep_detector_agent.py +88 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/services-delivery/agency/time_tracker_agent.py +143 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/configs/config.yaml +119 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/services-delivery/examples/01_new_engagement_memo.json +14 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/services-delivery/examples/02_friday_status_pack.json +33 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/services-delivery/examples/03_high_stakes_deliverable.json +17 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/services-delivery/examples/04_monthly_steering_pack.json +17 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/services-delivery/examples/README.md +23 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/services-delivery/examples/run_examples.py +85 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/warehouse-supply-chain/agency/inventory_reconciler_agent.py +135 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/warehouse-supply-chain/agency/replenishment_planner_agent.py +135 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/configs/config.yaml +109 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/warehouse-supply-chain/examples/01_routine_order.json +24 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/warehouse-supply-chain/examples/02_short_pick_exception.json +22 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/warehouse-supply-chain/examples/03_returns_inspection.json +13 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/warehouse-supply-chain/examples/04_carrier_outage_failover.json +28 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/warehouse-supply-chain/examples/README.md +23 -0
- create_leafmesh-2.2.6/create_leafmesh/templates/warehouse-supply-chain/examples/run_examples.py +85 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh.egg-info/PKG-INFO +1 -1
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh.egg-info/SOURCES.txt +130 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/pyproject.toml +1 -1
- create_leafmesh-2.2.3/create_leafmesh/templates/finance-ops/agency/_shared/erp_poster.py +0 -61
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/README.md +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/create.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/_inspire/Dockerfile +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/_inspire/README.md +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/_inspire/_REFERENCE_ONLY.md +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/_inspire/agency/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/_inspire/agency/advisor_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/_inspire/agency/external_agents.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/_inspire/agency/fallback_researcher_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/_inspire/agency/greeter_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/_inspire/agency/processor_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/_inspire/agency/researcher_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/_inspire/agency/scheduler_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/_inspire/agency/tools.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/_inspire/configs/config.yaml +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/_inspire/docker-compose.yml +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/_inspire/dockerignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/_inspire/env +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/_inspire/gitignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/_inspire/hitl_stub_receiver.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/_inspire/main.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/_inspire/requirements.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/_inspire/skills/data-handling/SKILL.md +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/_inspire/skills/data-handling/examples.json +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/_inspire/skills/tone-rules.md +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/_registry.yaml +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bd-proposals/Dockerfile +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bd-proposals/README.md +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bd-proposals/_prompts.json +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bd-proposals/agency/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bd-proposals/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bd-proposals/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bd-proposals/agency/compliance_reviewer_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bd-proposals/agency/past_proposal_retriever_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bd-proposals/agency/pricing_configurator_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bd-proposals/agency/rfp_ingester_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bd-proposals/agency/section_drafter_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bd-proposals/agency/win_loss_analyzer_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bd-proposals/docker-compose.yml +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bd-proposals/dockerignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bd-proposals/env +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bd-proposals/gitignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bd-proposals/main.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bd-proposals/pytest.ini +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bd-proposals/requirements-dev.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bd-proposals/requirements.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bd-proposals/tests/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bd-proposals/tests/conftest.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bd-proposals/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bd-proposals/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bench-management/Dockerfile +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bench-management/README.md +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bench-management/_prompts.json +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bench-management/agency/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bench-management/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bench-management/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bench-management/agency/allocation_planner_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bench-management/agency/capacity_forecaster_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bench-management/agency/career_path_recommender_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bench-management/agency/idle_detector_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bench-management/agency/reskilling_recommender_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bench-management/agency/skills_matcher_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bench-management/agency/weekly_bench_sweep_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bench-management/docker-compose.yml +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bench-management/dockerignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bench-management/env +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bench-management/gitignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bench-management/main.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bench-management/pytest.ini +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bench-management/requirements-dev.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bench-management/requirements.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bench-management/tests/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bench-management/tests/conftest.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bench-management/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/bench-management/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/claude_skills/leafmesh/SKILL.md +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/claude_skills/leafmesh/agent-config-fields.md +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/claude_skills/leafmesh/examples.md +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/claude_skills/leafmesh/reference.md +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/Dockerfile +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/README.md +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/_prompts.json +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/agency/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/agency/exec_alignment_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/agency/health_score_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/agency/health_score_explainer_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/agency/health_sweep_orchestrator_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/agency/playbook_trigger_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/agency/qbr_drafter_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/agency/renewal_forecaster_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/agency/renewal_window_monitor_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/agency/risk_detector_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/agency/save_play_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/docker-compose.yml +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/dockerignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/env +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/gitignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/main.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/pytest.ini +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/requirements-dev.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/requirements.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/tests/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/tests/conftest.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-success/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/Dockerfile +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/README.md +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/_prompts.json +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/agency/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/agency/kb_gap_filler_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/agency/knowledge_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/agency/qa_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/agency/response_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/agency/sentiment_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/agency/sla_watchdog_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/agency/ticket_intake_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/agency/triage_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/docker-compose.yml +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/dockerignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/env +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/gitignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/main.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/pytest.ini +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/requirements-dev.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/requirements.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/tests/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/tests/conftest.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/customer-support/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/engineering-sdlc/Dockerfile +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/engineering-sdlc/README.md +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/engineering-sdlc/_prompts.json +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/engineering-sdlc/agency/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/engineering-sdlc/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/engineering-sdlc/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/engineering-sdlc/agency/code_reviewer_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/engineering-sdlc/agency/junior_engineer_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/engineering-sdlc/agency/oncall_alert_triager_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/engineering-sdlc/agency/refactor_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/engineering-sdlc/agency/security_scanner_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/engineering-sdlc/agency/spec_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/engineering-sdlc/agency/test_engineer_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/engineering-sdlc/docker-compose.yml +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/engineering-sdlc/dockerignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/engineering-sdlc/env +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/engineering-sdlc/gitignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/engineering-sdlc/main.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/engineering-sdlc/pytest.ini +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/engineering-sdlc/requirements-dev.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/engineering-sdlc/requirements.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/engineering-sdlc/tests/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/engineering-sdlc/tests/conftest.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/engineering-sdlc/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/engineering-sdlc/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/Dockerfile +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/README.md +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/_prompts.json +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/agency/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/agency/approval_router_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/agency/close_cycle_orchestrator_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/agency/exception_drafter_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/agency/extraction_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/agency/fraud_check_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/agency/gl_coding_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/agency/invoice_intake_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/agency/po_match_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/agency/reconciliation_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/agency/vendor_query_handler_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/docker-compose.yml +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/dockerignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/env +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/gitignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/main.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/pytest.ini +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/requirements-dev.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/requirements.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/tests/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/tests/conftest.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/finance-ops/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/infra-cost-ops/Dockerfile +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/infra-cost-ops/README.md +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/infra-cost-ops/_prompts.json +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/infra-cost-ops/agency/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/infra-cost-ops/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/infra-cost-ops/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/infra-cost-ops/agency/commitment_utilisation_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/infra-cost-ops/agency/cost_anomaly_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/infra-cost-ops/agency/cost_tuner_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/infra-cost-ops/agency/iac_drift_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/infra-cost-ops/agency/reserved_capacity_planner_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/infra-cost-ops/agency/right_sizer_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/infra-cost-ops/docker-compose.yml +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/infra-cost-ops/dockerignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/infra-cost-ops/env +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/infra-cost-ops/gitignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/infra-cost-ops/main.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/infra-cost-ops/pytest.ini +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/infra-cost-ops/requirements-dev.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/infra-cost-ops/requirements.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/infra-cost-ops/tests/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/infra-cost-ops/tests/conftest.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/infra-cost-ops/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/infra-cost-ops/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/Dockerfile +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/README.md +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/_prompts.json +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/agency/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/agency/attribution_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/agency/audience_intelligence_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/agency/brief_intake_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/agency/campaign_orchestrator_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/agency/campaign_strategist_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/agency/competitor_intel_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/agency/compliance_reviewer_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/agency/copywriter_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/agency/crisis_responder_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/agency/marketing_audit_logger_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/agency/performance_analyzer_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/agency/publisher_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/agency/visual_briefer_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/docker-compose.yml +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/dockerignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/env +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/gitignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/main.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/pytest.ini +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/requirements-dev.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/requirements.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/tests/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/tests/conftest.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/marketing-ops/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/predictive-maintenance/Dockerfile +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/predictive-maintenance/README.md +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/predictive-maintenance/_prompts.json +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/predictive-maintenance/agency/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/predictive-maintenance/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/predictive-maintenance/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/predictive-maintenance/agency/condition_sensor_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/predictive-maintenance/agency/dispatcher_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/predictive-maintenance/agency/failure_predictor_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/predictive-maintenance/agency/parts_requestor_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/predictive-maintenance/agency/recurrence_watchdog_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/predictive-maintenance/agency/spare_parts_forecaster_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/predictive-maintenance/agency/work_order_scheduler_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/predictive-maintenance/docker-compose.yml +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/predictive-maintenance/dockerignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/predictive-maintenance/env +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/predictive-maintenance/gitignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/predictive-maintenance/main.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/predictive-maintenance/pytest.ini +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/predictive-maintenance/requirements-dev.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/predictive-maintenance/requirements.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/predictive-maintenance/tests/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/predictive-maintenance/tests/conftest.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/predictive-maintenance/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/predictive-maintenance/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/production-planning/Dockerfile +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/production-planning/README.md +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/production-planning/_prompts.json +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/production-planning/agency/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/production-planning/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/production-planning/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/production-planning/agency/capacity_model_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/production-planning/agency/constraint_flagger_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/production-planning/agency/demand_sensor_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/production-planning/agency/release_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/production-planning/agency/rolling_reopt_orchestrator_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/production-planning/agency/scheduler_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/production-planning/agency/supplier_signal_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/production-planning/docker-compose.yml +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/production-planning/dockerignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/production-planning/env +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/production-planning/gitignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/production-planning/main.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/production-planning/pytest.ini +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/production-planning/requirements-dev.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/production-planning/requirements.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/production-planning/tests/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/production-planning/tests/conftest.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/production-planning/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/production-planning/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quality-yield/Dockerfile +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quality-yield/README.md +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quality-yield/_prompts.json +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quality-yield/agency/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quality-yield/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quality-yield/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quality-yield/agency/batch_traceability_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quality-yield/agency/corrective_action_drafter_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quality-yield/agency/defect_detector_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quality-yield/agency/inspection_intake_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quality-yield/agency/root_cause_analyzer_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quality-yield/agency/spc_monitor_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quality-yield/docker-compose.yml +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quality-yield/dockerignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quality-yield/env +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quality-yield/gitignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quality-yield/main.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quality-yield/pytest.ini +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quality-yield/requirements-dev.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quality-yield/requirements.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quality-yield/tests/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quality-yield/tests/conftest.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quality-yield/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quality-yield/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quote-to-cash/Dockerfile +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quote-to-cash/README.md +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quote-to-cash/_prompts.json +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quote-to-cash/agency/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quote-to-cash/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quote-to-cash/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quote-to-cash/agency/approval_router_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quote-to-cash/agency/bundle_recommender_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quote-to-cash/agency/competitor_watch_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quote-to-cash/agency/cost_calculator_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quote-to-cash/agency/discount_policy_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quote-to-cash/agency/quote_drafter_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quote-to-cash/agency/rfq_ingester_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quote-to-cash/docker-compose.yml +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quote-to-cash/dockerignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quote-to-cash/env +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quote-to-cash/gitignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quote-to-cash/main.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quote-to-cash/pytest.ini +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quote-to-cash/requirements-dev.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quote-to-cash/requirements.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quote-to-cash/tests/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quote-to-cash/tests/conftest.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quote-to-cash/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/quote-to-cash/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/Dockerfile +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/README.md +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/_prompts.json +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/agency/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/agency/offer_drafter_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/agency/outreach_drafter_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/agency/pipeline_health_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/agency/rejection_letter_drafter_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/agency/req_intake_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/agency/resume_screener_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/agency/scheduling_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/agency/sourcing_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/docker-compose.yml +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/dockerignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/env +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/gitignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/main.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/pytest.ini +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/requirements-dev.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/requirements.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/tests/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/tests/conftest.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/recruiting-ops/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/sales-orchestration/Dockerfile +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/sales-orchestration/README.md +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/sales-orchestration/_prompts.json +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/sales-orchestration/agency/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/sales-orchestration/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/sales-orchestration/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/sales-orchestration/agency/lead_intake_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/sales-orchestration/agency/lead_revival_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/sales-orchestration/agency/lead_scorer_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/sales-orchestration/agency/personalisation_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/sales-orchestration/agency/pipeline_health_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/sales-orchestration/agency/sequence_orchestrator_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/sales-orchestration/docker-compose.yml +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/sales-orchestration/dockerignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/sales-orchestration/env +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/sales-orchestration/gitignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/sales-orchestration/main.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/sales-orchestration/pytest.ini +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/sales-orchestration/requirements-dev.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/sales-orchestration/requirements.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/sales-orchestration/tests/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/sales-orchestration/tests/conftest.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/sales-orchestration/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/sales-orchestration/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/Dockerfile +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/README.md +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/_prompts.json +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/agency/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/agency/analysis_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/agency/brief_intake_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/agency/citation_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/agency/context_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/agency/delivery_router_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/agency/draft_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/agency/engagement_status_drafter_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/agency/qa_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/agency/research_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/agency/status_sweep_orchestrator_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/docker-compose.yml +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/dockerignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/env +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/gitignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/main.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/pytest.ini +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/requirements-dev.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/requirements.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/tests/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/tests/conftest.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/services-delivery/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/Dockerfile +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/README.md +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/_prompts.json +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/agency/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/agency/allocation_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/agency/carrier_selector_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/agency/cycle_count_orchestrator_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/agency/exception_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/agency/humanoid_status_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/agency/inspection_humanoid.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/agency/inventory_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/agency/loader_humanoid.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/agency/packer_humanoid.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/agency/picker_humanoid.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/agency/returns_handler_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/agency/routing_agent.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/docker-compose.yml +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/dockerignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/env +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/gitignore +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/main.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/pytest.ini +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/requirements-dev.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/requirements.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/tests/__init__.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/tests/conftest.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh/templates/warehouse-supply-chain/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh.egg-info/dependency_links.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh.egg-info/entry_points.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh.egg-info/requires.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/create_leafmesh.egg-info/top_level.txt +0 -0
- {create_leafmesh-2.2.3 → create_leafmesh-2.2.6}/setup.cfg +0 -0
|
@@ -232,7 +232,11 @@ def _prompt_template_choice_interactive() -> str:
|
|
|
232
232
|
label = f"{cat} ({n} template{'s' if n != 1 else ''})"
|
|
233
233
|
cat_choices.append(questionary.Choice(title=label, value=cat))
|
|
234
234
|
cat_choices.append(questionary.Separator())
|
|
235
|
-
|
|
235
|
+
# NOTE: `value=None` causes questionary to fall back to the title
|
|
236
|
+
# string (treats None as "unset"), which then crashes our
|
|
237
|
+
# cat_to_items lookup with KeyError: 'Quit'. Use an explicit
|
|
238
|
+
# sentinel string instead.
|
|
239
|
+
cat_choices.append(questionary.Choice(title="Quit", value="__quit__"))
|
|
236
240
|
|
|
237
241
|
chosen_cat = questionary.select(
|
|
238
242
|
"Choose a business area:",
|
|
@@ -242,7 +246,7 @@ def _prompt_template_choice_interactive() -> str:
|
|
|
242
246
|
use_indicator=True,
|
|
243
247
|
).ask()
|
|
244
248
|
|
|
245
|
-
if chosen_cat is None:
|
|
249
|
+
if chosen_cat is None or chosen_cat == "__quit__":
|
|
246
250
|
print("\n Cancelled.\n")
|
|
247
251
|
sys.exit(0)
|
|
248
252
|
|
|
@@ -260,7 +264,7 @@ def _prompt_template_choice_interactive() -> str:
|
|
|
260
264
|
tpl_choices.append(questionary.Separator())
|
|
261
265
|
tpl_choices.append(questionary.Choice(title="← Back to categories",
|
|
262
266
|
value="__back__"))
|
|
263
|
-
tpl_choices.append(questionary.Choice(title="Quit", value=
|
|
267
|
+
tpl_choices.append(questionary.Choice(title="Quit", value="__quit__"))
|
|
264
268
|
|
|
265
269
|
chosen = questionary.select(
|
|
266
270
|
f"Template in {chosen_cat}:",
|
|
@@ -270,7 +274,7 @@ def _prompt_template_choice_interactive() -> str:
|
|
|
270
274
|
use_indicator=True,
|
|
271
275
|
).ask()
|
|
272
276
|
|
|
273
|
-
if chosen is None:
|
|
277
|
+
if chosen is None or chosen == "__quit__":
|
|
274
278
|
print("\n Cancelled.\n")
|
|
275
279
|
sys.exit(0)
|
|
276
280
|
if chosen == "__back__":
|
create_leafmesh-2.2.6/create_leafmesh/templates/bd-proposals/agency/bid_no_bid_decisioner_agent.py
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"""bid_no_bid_decisioner_agent — pre-bid go/no-go scorer.
|
|
2
|
+
|
|
3
|
+
Cheaper-than-bidding triage. LLM scores fit on five axes; deterministic
|
|
4
|
+
threshold maps to bid / qualify-further / no-bid. The hard rule
|
|
5
|
+
underneath: any score below 0.4 OR confidence below 0.5 → mandatory
|
|
6
|
+
partner review. We never silently no-bid a high-confidence customer
|
|
7
|
+
opportunity because the LLM was conservative.
|
|
8
|
+
"""
|
|
9
|
+
from __future__ import annotations
|
|
10
|
+
|
|
11
|
+
from typing import Any
|
|
12
|
+
|
|
13
|
+
from leafmesh import LeafMeshLogger
|
|
14
|
+
|
|
15
|
+
logger = LeafMeshLogger(__name__)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
async def bid_no_bid_decisioner_agent(llm_response, input_data, context):
|
|
19
|
+
if isinstance(llm_response, str):
|
|
20
|
+
try:
|
|
21
|
+
import json
|
|
22
|
+
llm_response = json.loads(llm_response)
|
|
23
|
+
except (ValueError, TypeError):
|
|
24
|
+
llm_response = {}
|
|
25
|
+
if not isinstance(llm_response, dict):
|
|
26
|
+
llm_response = {}
|
|
27
|
+
|
|
28
|
+
upstream = input_data.get("upstream_yields") or {}
|
|
29
|
+
rfp_id = str(upstream.get("rfp_id") or input_data.get("rfp_id") or "")
|
|
30
|
+
|
|
31
|
+
fit_strategic = float(llm_response.get("fit_strategic") or 0)
|
|
32
|
+
fit_capability = float(llm_response.get("fit_capability") or 0)
|
|
33
|
+
fit_economics = float(llm_response.get("fit_economics") or 0)
|
|
34
|
+
fit_relationship = float(llm_response.get("fit_relationship") or 0)
|
|
35
|
+
fit_competitive = float(llm_response.get("fit_competitive") or 0)
|
|
36
|
+
confidence = float(llm_response.get("confidence") or 0)
|
|
37
|
+
|
|
38
|
+
overall_score = (
|
|
39
|
+
fit_strategic * 0.25 + fit_capability * 0.25 +
|
|
40
|
+
fit_economics * 0.20 + fit_relationship * 0.20 +
|
|
41
|
+
fit_competitive * 0.10
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
if overall_score >= 0.65 and confidence >= 0.6:
|
|
45
|
+
recommendation = "bid"
|
|
46
|
+
elif overall_score >= 0.40:
|
|
47
|
+
recommendation = "qualify_further"
|
|
48
|
+
else:
|
|
49
|
+
recommendation = "no_bid"
|
|
50
|
+
|
|
51
|
+
# Mandatory partner review on weak signal — never silently no-bid
|
|
52
|
+
requires_partner_review = (
|
|
53
|
+
recommendation == "no_bid" or confidence < 0.5 or overall_score < 0.4
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
risk_flags = list(llm_response.get("risk_flags") or [])
|
|
57
|
+
win_themes = list(llm_response.get("win_themes") or [])
|
|
58
|
+
|
|
59
|
+
briefing = str(llm_response.get("decision_briefing") or "").strip()
|
|
60
|
+
if not briefing:
|
|
61
|
+
briefing = (
|
|
62
|
+
f"RFP {rfp_id}: recommendation={recommendation} "
|
|
63
|
+
f"(overall {overall_score:.2f}, confidence {confidence:.2f}). "
|
|
64
|
+
f"{len(risk_flags)} risks, {len(win_themes)} win themes. "
|
|
65
|
+
f"{'Partner review required.' if requires_partner_review else 'Proceed with kickoff.'}"
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
logger.info(
|
|
69
|
+
f"[bid-no-bid] {rfp_id} score={overall_score:.2f} "
|
|
70
|
+
f"conf={confidence:.2f} rec={recommendation}"
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
return {
|
|
74
|
+
"rfp_id": rfp_id,
|
|
75
|
+
"fit_strategic": round(fit_strategic, 2),
|
|
76
|
+
"fit_capability": round(fit_capability, 2),
|
|
77
|
+
"fit_economics": round(fit_economics, 2),
|
|
78
|
+
"fit_relationship": round(fit_relationship, 2),
|
|
79
|
+
"fit_competitive": round(fit_competitive, 2),
|
|
80
|
+
"overall_score": round(overall_score, 2),
|
|
81
|
+
"confidence": round(confidence, 2),
|
|
82
|
+
"recommendation": recommendation,
|
|
83
|
+
"risk_flags": risk_flags,
|
|
84
|
+
"win_themes": win_themes,
|
|
85
|
+
"requires_partner_review": requires_partner_review,
|
|
86
|
+
"decision_briefing": briefing,
|
|
87
|
+
}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"""competitor_intel_archive_agent — real competitor knowledge ledger.
|
|
2
|
+
|
|
3
|
+
Real SQLite archive (./data/competitor_intel.db) of every observed
|
|
4
|
+
competitor move — pricing, launches, RFP wins, hires. Queryable by
|
|
5
|
+
competitor name + tag.
|
|
6
|
+
|
|
7
|
+
Two modes:
|
|
8
|
+
· ingest — record one signal (RSS feed, sales-team submission,
|
|
9
|
+
win/loss feedback)
|
|
10
|
+
· query — return the most relevant rows for a competitor or for
|
|
11
|
+
a deal under consideration
|
|
12
|
+
|
|
13
|
+
Production: connect to your real intel store (Crayon, Klue, Notion) —
|
|
14
|
+
same return shape.
|
|
15
|
+
"""
|
|
16
|
+
from __future__ import annotations
|
|
17
|
+
|
|
18
|
+
import os
|
|
19
|
+
import sqlite3
|
|
20
|
+
import threading
|
|
21
|
+
import uuid
|
|
22
|
+
from datetime import datetime, timedelta, timezone
|
|
23
|
+
from pathlib import Path
|
|
24
|
+
from typing import Any
|
|
25
|
+
|
|
26
|
+
from leafmesh import LeafMeshLogger
|
|
27
|
+
|
|
28
|
+
logger = LeafMeshLogger(__name__)
|
|
29
|
+
|
|
30
|
+
DB_PATH = Path(os.environ.get("BD_COMPETITOR_DB", "./data/competitor_intel.db"))
|
|
31
|
+
DB_PATH.parent.mkdir(parents=True, exist_ok=True)
|
|
32
|
+
_LOCK = threading.Lock()
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def _conn() -> sqlite3.Connection:
|
|
36
|
+
c = sqlite3.connect(str(DB_PATH), timeout=10)
|
|
37
|
+
c.row_factory = sqlite3.Row
|
|
38
|
+
return c
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def _ensure_schema() -> None:
|
|
42
|
+
with _LOCK, _conn() as c:
|
|
43
|
+
c.execute("""
|
|
44
|
+
CREATE TABLE IF NOT EXISTS competitor_signals (
|
|
45
|
+
signal_id TEXT PRIMARY KEY,
|
|
46
|
+
competitor_name TEXT NOT NULL,
|
|
47
|
+
signal_kind TEXT NOT NULL,
|
|
48
|
+
summary TEXT NOT NULL,
|
|
49
|
+
source TEXT,
|
|
50
|
+
tags TEXT,
|
|
51
|
+
impact_score REAL,
|
|
52
|
+
observed_at_utc TEXT NOT NULL
|
|
53
|
+
)
|
|
54
|
+
""")
|
|
55
|
+
c.execute("CREATE INDEX IF NOT EXISTS idx_comp_ts "
|
|
56
|
+
"ON competitor_signals(competitor_name, observed_at_utc)")
|
|
57
|
+
c.commit()
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
_ensure_schema()
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
async def competitor_intel_archive_agent(
|
|
64
|
+
llm_response: dict[str, Any] | str | None,
|
|
65
|
+
input_data: dict[str, Any],
|
|
66
|
+
context: dict[str, Any],
|
|
67
|
+
) -> dict[str, Any]:
|
|
68
|
+
mode = str(input_data.get("mode") or "query").lower()
|
|
69
|
+
|
|
70
|
+
if mode == "ingest":
|
|
71
|
+
with _LOCK, _conn() as c:
|
|
72
|
+
c.execute("""
|
|
73
|
+
INSERT INTO competitor_signals (signal_id, competitor_name,
|
|
74
|
+
signal_kind, summary, source, tags, impact_score,
|
|
75
|
+
observed_at_utc)
|
|
76
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
77
|
+
""", (
|
|
78
|
+
f"sig-{uuid.uuid4().hex[:10]}",
|
|
79
|
+
str(input_data.get("competitor_name") or "unknown"),
|
|
80
|
+
str(input_data.get("signal_kind") or "general"),
|
|
81
|
+
str(input_data.get("summary") or ""),
|
|
82
|
+
str(input_data.get("source") or ""),
|
|
83
|
+
",".join(str(t) for t in (input_data.get("tags") or [])),
|
|
84
|
+
float(input_data.get("impact_score") or 0.5),
|
|
85
|
+
datetime.now(timezone.utc).isoformat(),
|
|
86
|
+
))
|
|
87
|
+
c.commit()
|
|
88
|
+
|
|
89
|
+
# Query mode
|
|
90
|
+
competitor = str(input_data.get("competitor_name") or "")
|
|
91
|
+
horizon_days = int(input_data.get("horizon_days") or 180)
|
|
92
|
+
cutoff = (datetime.now(timezone.utc) - timedelta(days=horizon_days)).isoformat()
|
|
93
|
+
|
|
94
|
+
where = "WHERE observed_at_utc>=?"
|
|
95
|
+
params: tuple[Any, ...] = (cutoff,)
|
|
96
|
+
if competitor:
|
|
97
|
+
where += " AND competitor_name=?"
|
|
98
|
+
params = params + (competitor,)
|
|
99
|
+
|
|
100
|
+
with _LOCK, _conn() as c:
|
|
101
|
+
rows = [dict(r) for r in c.execute(
|
|
102
|
+
f"SELECT * FROM competitor_signals {where} "
|
|
103
|
+
f"ORDER BY observed_at_utc DESC LIMIT 25",
|
|
104
|
+
params,
|
|
105
|
+
).fetchall()]
|
|
106
|
+
# Top competitors by signal-count
|
|
107
|
+
top_comps = [dict(r) for r in c.execute(
|
|
108
|
+
"SELECT competitor_name, COUNT(*) AS n, "
|
|
109
|
+
"AVG(impact_score) AS avg_impact "
|
|
110
|
+
"FROM competitor_signals WHERE observed_at_utc>=? "
|
|
111
|
+
"GROUP BY competitor_name ORDER BY n DESC LIMIT 10",
|
|
112
|
+
(cutoff,),
|
|
113
|
+
).fetchall()]
|
|
114
|
+
|
|
115
|
+
avg_impact = (sum(r["impact_score"] for r in rows) / len(rows)
|
|
116
|
+
if rows else 0.0)
|
|
117
|
+
high_impact_count = sum(1 for r in rows if r["impact_score"] >= 0.7)
|
|
118
|
+
|
|
119
|
+
briefing = (
|
|
120
|
+
f"{len(rows)} signals in last {horizon_days}d"
|
|
121
|
+
f"{' for ' + competitor if competitor else ''}. "
|
|
122
|
+
f"{high_impact_count} high-impact. "
|
|
123
|
+
f"Top tracked competitor: "
|
|
124
|
+
f"{top_comps[0]['competitor_name'] if top_comps else 'none'}."
|
|
125
|
+
)
|
|
126
|
+
|
|
127
|
+
return {
|
|
128
|
+
"mode": mode,
|
|
129
|
+
"competitor_queried": competitor,
|
|
130
|
+
"horizon_days": horizon_days,
|
|
131
|
+
"signals": rows,
|
|
132
|
+
"top_competitors": top_comps,
|
|
133
|
+
"avg_impact_score": round(avg_impact, 2),
|
|
134
|
+
"high_impact_count": high_impact_count,
|
|
135
|
+
"intel_briefing": briefing,
|
|
136
|
+
}
|
|
@@ -117,6 +117,18 @@ entry_points:
|
|
|
117
117
|
target: "rfp_ingester_agent"
|
|
118
118
|
description: "BD-initiated"
|
|
119
119
|
|
|
120
|
+
- name: "competitor_signal_ingest"
|
|
121
|
+
target: "competitor_intel_archive_agent"
|
|
122
|
+
description: "Record one competitor signal (ingest mode)"
|
|
123
|
+
|
|
124
|
+
- name: "competitor_intel_query"
|
|
125
|
+
target: "competitor_intel_archive_agent"
|
|
126
|
+
description: "Query competitor intel — by competitor or by horizon"
|
|
127
|
+
|
|
128
|
+
- name: "bid_no_bid_review"
|
|
129
|
+
target: "bid_no_bid_decisioner_agent"
|
|
130
|
+
description: "Pre-bid go/no-go decisioning on an RFP"
|
|
131
|
+
|
|
120
132
|
- name: "decision_received"
|
|
121
133
|
target: "win_loss_analyzer_agent"
|
|
122
134
|
description: "RFP decision (won/lost) — produce structured post-mortem"
|
|
@@ -129,6 +141,27 @@ entry_points:
|
|
|
129
141
|
target: "win_loss_analyzer_agent"
|
|
130
142
|
description: "QBR cadence — aggregate win/loss patterns for sales leadership"
|
|
131
143
|
|
|
144
|
+
|
|
145
|
+
# ── Direct-call entry points (every non-human, non-terminal
|
|
146
|
+
# agent is API-addressable; bypasses the upstream chain).
|
|
147
|
+
# Use for ad-hoc invocation, debugging, programmatic ingest.
|
|
148
|
+
- name: "direct_call_past_proposal_retriever"
|
|
149
|
+
target: "past_proposal_retriever_agent"
|
|
150
|
+
description: "On-demand direct call to past_proposal_retriever (llm) — bypasses upstream chain"
|
|
151
|
+
|
|
152
|
+
- name: "direct_call_section_drafter"
|
|
153
|
+
target: "section_drafter_agent"
|
|
154
|
+
description: "On-demand direct call to section_drafter (llm) — bypasses upstream chain"
|
|
155
|
+
|
|
156
|
+
- name: "direct_call_pricing_configurator"
|
|
157
|
+
target: "pricing_configurator_agent"
|
|
158
|
+
description: "On-demand direct call to pricing_configurator (programmatic) — bypasses upstream chain"
|
|
159
|
+
|
|
160
|
+
- name: "direct_call_compliance_reviewer"
|
|
161
|
+
target: "compliance_reviewer_agent"
|
|
162
|
+
description: "On-demand direct call to compliance_reviewer (llm) — bypasses upstream chain"
|
|
163
|
+
|
|
164
|
+
|
|
132
165
|
agents:
|
|
133
166
|
|
|
134
167
|
rfp_ingester_agent:
|
|
@@ -469,3 +502,95 @@ agents:
|
|
|
469
502
|
|
|
470
503
|
can_call:
|
|
471
504
|
- agent: "practice_lead_human"
|
|
505
|
+
|
|
506
|
+
# ────────────────────────────────────────────────────────────
|
|
507
|
+
# competitor_intel_archive_agent — competitor knowledge ledger (SQLite)
|
|
508
|
+
# ────────────────────────────────────────────────────────────
|
|
509
|
+
competitor_intel_archive_agent:
|
|
510
|
+
name: "competitor_intel_archive_agent"
|
|
511
|
+
agent_type: "programmatic"
|
|
512
|
+
description: "Real SQLite ledger of competitor signals — ingest or query by competitor / horizon"
|
|
513
|
+
communication_type: "chain"
|
|
514
|
+
yields:
|
|
515
|
+
mode: "string"
|
|
516
|
+
competitor_queried: "string"
|
|
517
|
+
horizon_days: "number"
|
|
518
|
+
signals: "list"
|
|
519
|
+
top_competitors: "list"
|
|
520
|
+
avg_impact_score: "number"
|
|
521
|
+
high_impact_count: "number"
|
|
522
|
+
intel_briefing: "string"
|
|
523
|
+
inputs:
|
|
524
|
+
mode: "string"
|
|
525
|
+
competitor_name: "string"
|
|
526
|
+
signal_kind: "string"
|
|
527
|
+
summary: "string"
|
|
528
|
+
source: "string"
|
|
529
|
+
tags: "list"
|
|
530
|
+
impact_score: "number"
|
|
531
|
+
horizon_days: "number"
|
|
532
|
+
can_call: []
|
|
533
|
+
|
|
534
|
+
auto_store_response: true
|
|
535
|
+
auto_store_yields: true
|
|
536
|
+
|
|
537
|
+
# ────────────────────────────────────────────────────────────
|
|
538
|
+
# bid_no_bid_decisioner_agent — pre-bid go/no-go scorer (LLM)
|
|
539
|
+
# ────────────────────────────────────────────────────────────
|
|
540
|
+
bid_no_bid_decisioner_agent:
|
|
541
|
+
name: "bid_no_bid_decisioner_agent"
|
|
542
|
+
agent_type: "llm"
|
|
543
|
+
description: "Scores RFP fit on 5 axes → bid / qualify further / no-bid; partner review on low confidence"
|
|
544
|
+
model: "gpt-4o-mini"
|
|
545
|
+
temperature: 0.1
|
|
546
|
+
max_tokens: 1500
|
|
547
|
+
communication_type: "chain"
|
|
548
|
+
|
|
549
|
+
prompt: |
|
|
550
|
+
Score the fit on this RFP. Return JSON with these keys (all
|
|
551
|
+
required; do not omit any):
|
|
552
|
+
- fit_strategic: 0..1
|
|
553
|
+
- fit_capability: 0..1
|
|
554
|
+
- fit_economics: 0..1 (cost-to-bid vs deal size)
|
|
555
|
+
- fit_relationship: 0..1 (incumbent or relationship strength)
|
|
556
|
+
- fit_competitive: 0..1 (likelihood to win vs likely incumbents)
|
|
557
|
+
- confidence: 0..1 (how confident you are in these scores)
|
|
558
|
+
- risk_flags: list of objects (kind, note)
|
|
559
|
+
- win_themes: list of strings (the 3-5 narratives we'd lead with)
|
|
560
|
+
- decision_briefing: 2-3 sentence narrative for the partner
|
|
561
|
+
|
|
562
|
+
enforce_yields: true
|
|
563
|
+
enforce_yields_retry: 2
|
|
564
|
+
|
|
565
|
+
knowledge:
|
|
566
|
+
serviceName: "mongo_main"
|
|
567
|
+
enabled: true
|
|
568
|
+
groupName: "rfp_decision_playbook"
|
|
569
|
+
|
|
570
|
+
yields:
|
|
571
|
+
rfp_id: "string"
|
|
572
|
+
fit_strategic: "number"
|
|
573
|
+
fit_capability: "number"
|
|
574
|
+
fit_economics: "number"
|
|
575
|
+
fit_relationship: "number"
|
|
576
|
+
fit_competitive: "number"
|
|
577
|
+
overall_score: "number"
|
|
578
|
+
confidence: "number"
|
|
579
|
+
recommendation: "string"
|
|
580
|
+
risk_flags: "list"
|
|
581
|
+
win_themes: "list"
|
|
582
|
+
requires_partner_review: "boolean"
|
|
583
|
+
decision_briefing: "string"
|
|
584
|
+
|
|
585
|
+
inputs:
|
|
586
|
+
upstream_yields: "object"
|
|
587
|
+
rfp_id: "string"
|
|
588
|
+
|
|
589
|
+
can_call:
|
|
590
|
+
- agent: "partner_human"
|
|
591
|
+
condition: "calling_agent_response.requires_partner_review == true"
|
|
592
|
+
- agent: "section_drafter_agent"
|
|
593
|
+
condition: "calling_agent_response.recommendation == 'bid' and calling_agent_response.requires_partner_review == false"
|
|
594
|
+
|
|
595
|
+
auto_store_response: true
|
|
596
|
+
auto_store_yields: true
|
create_leafmesh-2.2.6/create_leafmesh/templates/bd-proposals/examples/01_new_rfp_received.json
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_entry_point": "manual_action",
|
|
3
|
+
"_description": "RFP arrives from a regional government \u2014 rfp_ingester extracts key requirements, past_proposal_retriever finds 2 similar prior wins.",
|
|
4
|
+
"payload": {
|
|
5
|
+
"rfp_id": "RFP-2026-08813",
|
|
6
|
+
"client_org": "State Department of Transportation \u2014 Region IV",
|
|
7
|
+
"received_at_utc": "2026-06-04T11:00:00Z",
|
|
8
|
+
"deadline_utc": "2026-07-09T17:00:00Z",
|
|
9
|
+
"practice_area": "infrastructure_advisory",
|
|
10
|
+
"estimated_value_cents": 95000000,
|
|
11
|
+
"scope_summary": "Five-year roadmap consulting for I-95 corridor modernisation \u2014 traffic modelling, environmental review, federal funding strategy."
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_entry_point": "decision_received",
|
|
3
|
+
"_description": "Won the deal \u2014 win_loss_analyzer produces a structured retro: what worked, what almost lost it, who internally championed.",
|
|
4
|
+
"payload": {
|
|
5
|
+
"rfp_id": "RFP-2026-07712",
|
|
6
|
+
"client_org": "Atlantic Power Cooperative",
|
|
7
|
+
"outcome": "won",
|
|
8
|
+
"deal_value_cents": 47000000,
|
|
9
|
+
"competition": [
|
|
10
|
+
"RivalConsult Group",
|
|
11
|
+
"GlobalAdvise Partners"
|
|
12
|
+
],
|
|
13
|
+
"win_score": 0.83,
|
|
14
|
+
"decision_signals": [
|
|
15
|
+
"incumbent strength",
|
|
16
|
+
"named partner relationship",
|
|
17
|
+
"lower price by ~6%"
|
|
18
|
+
],
|
|
19
|
+
"internal_champions": [
|
|
20
|
+
"partner.singh@example"
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
}
|
create_leafmesh-2.2.6/create_leafmesh/templates/bd-proposals/examples/03_loss_with_competitor.json
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_entry_point": "competitor_takeaway",
|
|
3
|
+
"_description": "Lost to a known competitor \u2014 focused analysis on price, scope, and timing trade-offs.",
|
|
4
|
+
"payload": {
|
|
5
|
+
"rfp_id": "RFP-2026-07734",
|
|
6
|
+
"client_org": "Midwest Healthcare Alliance",
|
|
7
|
+
"outcome": "lost",
|
|
8
|
+
"winning_competitor": "GlobalAdvise Partners",
|
|
9
|
+
"deal_value_cents": 28500000,
|
|
10
|
+
"loss_reasons_known": [
|
|
11
|
+
"winning_bid_price_lower_pct: 14",
|
|
12
|
+
"incumbent_relationship: 3_years"
|
|
13
|
+
],
|
|
14
|
+
"client_feedback_received": "Quote was strong on methodology; bid was 14% above the winner."
|
|
15
|
+
}
|
|
16
|
+
}
|
create_leafmesh-2.2.6/create_leafmesh/templates/bd-proposals/examples/04_quarterly_win_rate.json
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_entry_point": "quarterly_win_rate_review",
|
|
3
|
+
"_description": "Cadence \u2014 aggregate win/loss across the quarter for sales-leadership review.",
|
|
4
|
+
"payload": {
|
|
5
|
+
"review_period": "2026-Q2",
|
|
6
|
+
"rfp_count": 28,
|
|
7
|
+
"wins": 9,
|
|
8
|
+
"losses": 14,
|
|
9
|
+
"no_decision": 5,
|
|
10
|
+
"average_deal_size_cents": 38400000,
|
|
11
|
+
"top_competitors": [
|
|
12
|
+
"GlobalAdvise Partners",
|
|
13
|
+
"RivalConsult Group",
|
|
14
|
+
"Strategy 5"
|
|
15
|
+
]
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# bd-proposals — example scenarios
|
|
2
|
+
|
|
3
|
+
Four realistic scenarios that exercise the major paths through this mesh.
|
|
4
|
+
|
|
5
|
+
## How to run
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
python examples/run_examples.py # all scenarios
|
|
9
|
+
python examples/run_examples.py 01_ # one scenario (substring match)
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Scenario map
|
|
13
|
+
|
|
14
|
+
- **01_new_rfp_received** — `manual_action` — RFP arrives from a regional government — rfp_ingester extracts key requirements, past_proposal_retriever finds 2 similar prior wins.
|
|
15
|
+
- **02_win_post_mortem** — `decision_received` — Won the deal — win_loss_analyzer produces a structured retro: what worked, what almost lost it, who internally championed.
|
|
16
|
+
- **03_loss_with_competitor** — `competitor_takeaway` — Lost to a known competitor — focused analysis on price, scope, and timing trade-offs.
|
|
17
|
+
- **04_quarterly_win_rate** — `quarterly_win_rate_review` — Cadence — aggregate win/loss across the quarter for sales-leadership review.
|
|
18
|
+
|
|
19
|
+
## Audit trail
|
|
20
|
+
|
|
21
|
+
Every scenario appends one hash-chained entry to the template's
|
|
22
|
+
`logs/<audit>.jsonl` file. Tail it during a run to see the
|
|
23
|
+
ledger build up across scenarios.
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""Run each example payload end-to-end through this mesh.
|
|
3
|
+
|
|
4
|
+
Usage:
|
|
5
|
+
cd <this template's project root>
|
|
6
|
+
python examples/run_examples.py # all scenarios
|
|
7
|
+
python examples/run_examples.py 01_happy_path # one scenario
|
|
8
|
+
"""
|
|
9
|
+
from __future__ import annotations
|
|
10
|
+
|
|
11
|
+
import asyncio
|
|
12
|
+
import json
|
|
13
|
+
import sys
|
|
14
|
+
from pathlib import Path
|
|
15
|
+
|
|
16
|
+
# Make agency/ importable
|
|
17
|
+
PROJECT_ROOT = Path(__file__).resolve().parent.parent
|
|
18
|
+
sys.path.insert(0, str(PROJECT_ROOT))
|
|
19
|
+
|
|
20
|
+
# Register the audit connector before SDK start
|
|
21
|
+
import agency._shared.audit_logger # noqa: F401
|
|
22
|
+
|
|
23
|
+
from leafmesh import LeafMesh, LeafMeshLogger
|
|
24
|
+
|
|
25
|
+
logger = LeafMeshLogger(__name__)
|
|
26
|
+
EXAMPLES_DIR = Path(__file__).parent
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
async def run_scenario(sdk: LeafMesh, scenario_path: Path) -> None:
|
|
30
|
+
scenario = scenario_path.stem
|
|
31
|
+
payload = json.loads(scenario_path.read_text())
|
|
32
|
+
entry_point = payload.pop("_entry_point", "manual_action")
|
|
33
|
+
description = payload.pop("_description", "")
|
|
34
|
+
print()
|
|
35
|
+
print("=" * 78)
|
|
36
|
+
print(f" SCENARIO: {scenario}")
|
|
37
|
+
print(f" ENTRY: {entry_point}")
|
|
38
|
+
if description:
|
|
39
|
+
print(f" WHAT: {description}")
|
|
40
|
+
print("=" * 78)
|
|
41
|
+
session_id = f"example-{scenario}"
|
|
42
|
+
try:
|
|
43
|
+
result = await asyncio.wait_for(
|
|
44
|
+
sdk.mesh_call(entry_point, payload, session_id=session_id),
|
|
45
|
+
timeout=120,
|
|
46
|
+
)
|
|
47
|
+
print(f"\n → result type: {type(result).__name__}")
|
|
48
|
+
try:
|
|
49
|
+
print(f" → result: {json.dumps(result, indent=2, default=str)[:600]}")
|
|
50
|
+
except Exception:
|
|
51
|
+
print(f" → result (repr): {repr(result)[:400]}")
|
|
52
|
+
except asyncio.TimeoutError:
|
|
53
|
+
print(f"\n ✗ TIMED OUT after 120s — the chain may have stalled at HITL.")
|
|
54
|
+
print(f" Check logs/<audit>.jsonl and any HITL queue for pending requests.")
|
|
55
|
+
except Exception as e:
|
|
56
|
+
print(f"\n ✗ ERROR: {type(e).__name__}: {e}")
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
async def main() -> int:
|
|
60
|
+
pattern = sys.argv[1] if len(sys.argv) > 1 else None
|
|
61
|
+
scenarios = sorted(EXAMPLES_DIR.glob("*.json"))
|
|
62
|
+
if pattern:
|
|
63
|
+
scenarios = [s for s in scenarios if pattern in s.stem]
|
|
64
|
+
if not scenarios:
|
|
65
|
+
print("No scenarios matched.")
|
|
66
|
+
return 1
|
|
67
|
+
|
|
68
|
+
sdk = LeafMesh.from_yaml("configs/config.yaml")
|
|
69
|
+
await sdk.start()
|
|
70
|
+
try:
|
|
71
|
+
for scenario_path in scenarios:
|
|
72
|
+
await run_scenario(sdk, scenario_path)
|
|
73
|
+
await asyncio.sleep(2) # let async chain settle between scenarios
|
|
74
|
+
finally:
|
|
75
|
+
await sdk.stop()
|
|
76
|
+
print()
|
|
77
|
+
print("=" * 78)
|
|
78
|
+
print(f" Done — ran {len(scenarios)} scenario(s).")
|
|
79
|
+
print(" Audit trail: check logs/*.jsonl for the hash-chained record.")
|
|
80
|
+
print("=" * 78)
|
|
81
|
+
return 0
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
if __name__ == "__main__":
|
|
85
|
+
sys.exit(asyncio.run(main()))
|