create-leafmesh 2.7.0__tar.gz → 2.7.1__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.7.0 → create_leafmesh-2.7.1}/PKG-INFO +1 -1
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/__init__.py +1 -1
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/env +32 -19
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/requirements.txt +1 -1
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/main.py +2 -4
- {create_leafmesh-2.7.0/create_leafmesh/templates/bench-management → create_leafmesh-2.7.1/create_leafmesh/templates/ai-dev-squad}/requirements.txt +1 -1
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/main.py +2 -2
- {create_leafmesh-2.7.0/create_leafmesh/templates/customer-support → create_leafmesh-2.7.1/create_leafmesh/templates/bd-proposals}/requirements.txt +1 -1
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/PRD.md +1 -1
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/README.md +1 -1
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/main.py +2 -2
- {create_leafmesh-2.7.0/create_leafmesh/templates/ai-dev-squad → create_leafmesh-2.7.1/create_leafmesh/templates/bench-management}/requirements.txt +1 -1
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/claude_skills/leafmesh/SKILL.md +114 -22
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/claude_skills/leafmesh/agent-config-fields.md +66 -17
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/claude_skills/leafmesh/building-agents-thoroughly.md +1 -1
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/claude_skills/leafmesh/nuances-and-gotchas.md +2 -2
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/claude_skills/leafmesh/reference.md +25 -11
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/main.py +2 -5
- {create_leafmesh-2.7.0/create_leafmesh/templates/marketing-ops → create_leafmesh-2.7.1/create_leafmesh/templates/customer-success}/requirements.txt +1 -1
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/main.py +2 -4
- {create_leafmesh-2.7.0/create_leafmesh/templates/bd-proposals → create_leafmesh-2.7.1/create_leafmesh/templates/customer-support}/requirements.txt +1 -1
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/expense-reimbursement/requirements.txt +1 -1
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/requirements.txt +1 -1
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/main.py +2 -2
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/requirements.txt +1 -1
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/main.py +2 -5
- {create_leafmesh-2.7.0/create_leafmesh/templates/customer-success → create_leafmesh-2.7.1/create_leafmesh/templates/marketing-ops}/requirements.txt +1 -1
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/main.py +2 -4
- create_leafmesh-2.7.1/create_leafmesh/templates/outbound-sdr/requirements.txt +6 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/main.py +2 -4
- create_leafmesh-2.7.1/create_leafmesh/templates/predictive-maintenance/requirements.txt +6 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/procurement-ops/PRD.md +1 -1
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/procurement-ops/requirements.txt +1 -1
- create_leafmesh-2.7.1/create_leafmesh/templates/production-planning/requirements.txt +6 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/main.py +2 -2
- create_leafmesh-2.7.1/create_leafmesh/templates/quality-yield/requirements.txt +6 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/main.py +2 -2
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/requirements.txt +1 -1
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/main.py +2 -2
- create_leafmesh-2.7.1/create_leafmesh/templates/recruiting-ops/requirements.txt +6 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/main.py +2 -2
- create_leafmesh-2.7.1/create_leafmesh/templates/sales-orchestration/requirements.txt +6 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/main.py +2 -5
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/requirements.txt +1 -1
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/starter/main.py +2 -4
- create_leafmesh-2.7.1/create_leafmesh/templates/starter/requirements.txt +6 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/main.py +2 -4
- create_leafmesh-2.7.1/create_leafmesh/templates/warehouse-supply-chain/requirements.txt +6 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh.egg-info/PKG-INFO +1 -1
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/pyproject.toml +1 -1
- create_leafmesh-2.7.0/create_leafmesh/templates/outbound-sdr/requirements.txt +0 -6
- create_leafmesh-2.7.0/create_leafmesh/templates/predictive-maintenance/requirements.txt +0 -6
- create_leafmesh-2.7.0/create_leafmesh/templates/production-planning/requirements.txt +0 -6
- create_leafmesh-2.7.0/create_leafmesh/templates/quality-yield/requirements.txt +0 -6
- create_leafmesh-2.7.0/create_leafmesh/templates/recruiting-ops/requirements.txt +0 -6
- create_leafmesh-2.7.0/create_leafmesh/templates/sales-orchestration/requirements.txt +0 -6
- create_leafmesh-2.7.0/create_leafmesh/templates/starter/requirements.txt +0 -6
- create_leafmesh-2.7.0/create_leafmesh/templates/warehouse-supply-chain/requirements.txt +0 -6
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/MANIFEST.in +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/cli.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/create.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/deploy.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/deploy_providers/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/deploy_providers/_shared.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/deploy_providers/aws.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/deploy_providers/azure.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/deploy_providers/gcp.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/discover.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/search.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/Dockerfile +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/_REFERENCE_ONLY.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/agency/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/agency/advisor_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/agency/external_agents.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/agency/fallback_researcher_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/agency/greeter_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/agency/processor_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/agency/researcher_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/agency/risk_scorer_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/agency/scheduler_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/agency/tools.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/configs/config.yaml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/docker-compose.yml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/dockerignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/gitignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/hitl_stub_receiver.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/main.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/skills/data-handling/SKILL.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/skills/data-handling/examples.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/skills/tone-rules.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/tests/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_inspire/validate_config.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/_registry.yaml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/Dockerfile +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/PRD.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/agency/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/agency/_shared/store.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/agency/code_reviewer_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/agency/dev_planner_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/agency/developer_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/agency/merge_coordinator_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/agency/product_owner_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/agency/qa_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/agency/tools/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/agency/tools/tools.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/configs/config.yaml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/docker-compose.yml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/dockerignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/env +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/gitignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/pytest.ini +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/tests/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/tests/conftest.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/validate_config.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/Dockerfile +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/PRD.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/_prompts.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/agency/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/agency/_shared/store.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/agency/bid_no_bid_decisioner_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/agency/competitive_intel_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/agency/contracts_review_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/agency/opportunity_feed_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/agency/precedent_research_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/agency/pricing_configurator_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/agency/proposal_assembler_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/agency/rfp_intake_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/agency/tools.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/configs/config.yaml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/docker-compose.yml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/dockerignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/env +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/examples/01_new_rfp_received.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/examples/02_win_post_mortem.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/examples/03_loss_with_competitor.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/examples/04_quarterly_win_rate.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/examples/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/examples/run_examples.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/gitignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/pytest.ini +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/requirements-dev.txt +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/tests/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/tests/conftest.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/tests/test_floors.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/validate_config.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/Dockerfile +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/_prompts.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/agency/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/agency/_shared/store.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/agency/allocation_booker_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/agency/candidate_screening_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/agency/esat_survey_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/agency/staffing_coordinator_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/agency/talent_development_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/agency/tools.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/agency/workforce_analytics_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/configs/config.yaml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/docker-compose.yml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/dockerignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/env +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/examples/01_new_project_kickoff.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/examples/02_weekly_bench_review.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/examples/03_promotion_readiness.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/examples/04_person_rolling_off.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/examples/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/examples/run_examples.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/gitignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/pytest.ini +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/requirements-dev.txt +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/tests/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/tests/conftest.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/validate_config.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/claude_skills/leafmesh/agency-development.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/claude_skills/leafmesh/examples.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/Dockerfile +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/PRD.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/_prompts.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/agency/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/agency/_shared/extract.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/agency/_shared/health_math.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/agency/_shared/store.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/agency/account_intel_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/agency/account_sweep_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/agency/health_score_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/agency/play_runner_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/agency/renewals_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/agency/risk_detector_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/agency/save_play_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/agency/tools.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/configs/config.yaml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/docker-compose.yml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/dockerignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/env +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/examples/01_telemetry_dau_drop.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/examples/02_billing_failed_payment.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/examples/03_renewal_window_60d.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/examples/04_executive_change.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/examples/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/examples/run_examples.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/gitignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/pytest.ini +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/requirements-dev.txt +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/tests/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/tests/conftest.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-success/validate_config.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/Dockerfile +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/PRD.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/_prompts.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/agency/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/agency/_shared/store.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/agency/reply_dispatcher_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/agency/tools.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/configs/config.yaml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/docker-compose.yml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/dockerignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/env +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/examples/01_password_reset_routine.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/examples/02_billing_dispute_escalation.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/examples/03_security_incident.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/examples/04_kb_gap_signal.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/examples/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/examples/run_examples.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/gitignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/pytest.ini +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/requirements-dev.txt +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/tests/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/tests/conftest.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/customer-support/validate_config.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/expense-reimbursement/Dockerfile +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/expense-reimbursement/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/expense-reimbursement/_prompts.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/expense-reimbursement/agency/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/expense-reimbursement/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/expense-reimbursement/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/expense-reimbursement/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/expense-reimbursement/agency/_shared/store.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/expense-reimbursement/agency/fern_builder_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/expense-reimbursement/agency/odo_extraction_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/expense-reimbursement/agency/sol_finance_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/expense-reimbursement/agency/tools.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/expense-reimbursement/configs/config.yaml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/expense-reimbursement/docker-compose.yml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/expense-reimbursement/dockerignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/expense-reimbursement/env +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/expense-reimbursement/gitignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/expense-reimbursement/main.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/expense-reimbursement/pytest.ini +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/expense-reimbursement/tests/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/expense-reimbursement/tests/conftest.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/expense-reimbursement/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/expense-reimbursement/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/expense-reimbursement/validate_config.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/Dockerfile +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/PRD.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/_prompts.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/agency/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/agency/_shared/dedupe.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/agency/_shared/erp_poster.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/agency/_shared/matching_math.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/agency/_shared/store.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/agency/erp_poster_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/agency/invoice_intake_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/agency/matching_gl_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/agency/payment_risk_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/agency/tools.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/configs/config.yaml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/docker-compose.yml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/dockerignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/env +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/examples/01_ap_invoice_services.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/examples/02_duplicate_resubmission.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/examples/03_three_way_variance.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/examples/04_invoice_status.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/examples/05_close_sweep_backlog.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/examples/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/examples/run_examples.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/gitignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/main.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/pytest.ini +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/requirements-dev.txt +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/tests/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/tests/conftest.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/tests/test_floors.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/finance-ops/validate_config.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/Dockerfile +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/PRD.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/_prompts.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/agency/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/agency/_shared/store.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/agency/commitments_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/agency/cost_anomaly_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/agency/cost_tuner_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/agency/finops_governance_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/agency/iac_drift_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/agency/regulatory_monitor_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/agency/tools.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/configs/config.yaml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/docker-compose.yml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/dockerignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/env +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/examples/01_ec2_idle_anomaly.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/examples/02_savings_plan_under_utilised.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/examples/03_ri_expiry_30d.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/examples/04_iac_drift_detected.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/examples/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/examples/run_examples.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/gitignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/pytest.ini +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/requirements-dev.txt +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/tests/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/tests/conftest.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/infra-cost-ops/validate_config.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/Dockerfile +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/PRD.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/_prompts.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/agency/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/agency/_shared/store.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/agency/aeo_geo_optimiser_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/agency/brand_guardian_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/agency/campaign_coordinator_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/agency/campaign_strategist_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/agency/compliance_reviewer_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/agency/copywriter_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/agency/market_intelligence_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/agency/publisher_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/agency/tools.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/configs/config.yaml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/docker-compose.yml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/dockerignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/env +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/examples/01_new_campaign_brief.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/examples/02_product_launch_kickoff.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/examples/03_brand_crisis.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/examples/04_competitor_pricing_move.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/examples/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/examples/run_examples.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/gitignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/pytest.ini +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/requirements-dev.txt +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/tests/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/tests/conftest.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/marketing-ops/validate_config.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/Dockerfile +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/PRD.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/agency/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/agency/_shared/store.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/agency/campaign_launcher_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/agency/campaign_strategist_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/agency/gtm_strategist_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/agency/inbox_monitor_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/agency/meeting_scheduler_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/agency/offer_architect_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/agency/outreach_writer_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/agency/prospector_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/agency/records_keeper_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/agency/reply_triager_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/agency/sdr_coordinator_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/agency/tools/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/agency/tools/tools.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/configs/config.yaml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/docker-compose.yml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/dockerignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/env +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/gitignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/pytest.ini +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/tests/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/tests/conftest.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/outbound-sdr/validate_config.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/Dockerfile +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/PRD.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/_prompts.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/agency/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/agency/_shared/store.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/agency/condition_sensor_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/agency/equipment_lifecycle_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/agency/failure_predictor_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/agency/safety_incident_reporter_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/agency/spare_parts_forecaster_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/agency/tools.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/agency/work_order_issuer_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/agency/work_order_scheduler_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/configs/config.yaml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/docker-compose.yml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/dockerignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/env +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/examples/01_routine_sensor_reading.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/examples/02_anomaly_failure_predicted.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/examples/03_safety_critical_shutdown.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/examples/04_weekly_parts_forecast.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/examples/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/examples/run_examples.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/gitignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/pytest.ini +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/requirements-dev.txt +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/tests/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/tests/conftest.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/predictive-maintenance/validate_config.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/procurement-ops/Dockerfile +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/procurement-ops/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/procurement-ops/agency/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/procurement-ops/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/procurement-ops/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/procurement-ops/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/procurement-ops/agency/_shared/store.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/procurement-ops/agency/po_issuer_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/procurement-ops/agency/procurement_planner_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/procurement-ops/agency/sourcing_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/procurement-ops/agency/tools.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/procurement-ops/configs/config.yaml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/procurement-ops/docker-compose.yml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/procurement-ops/dockerignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/procurement-ops/env +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/procurement-ops/gitignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/procurement-ops/main.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/procurement-ops/pytest.ini +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/procurement-ops/tests/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/procurement-ops/tests/conftest.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/procurement-ops/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/procurement-ops/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/procurement-ops/validate_config.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/Dockerfile +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/PRD.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/_prompts.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/agency/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/agency/_shared/store.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/agency/constraint_flagger_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/agency/demand_sensor_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/agency/release_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/agency/scheduler_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/agency/supplier_signal_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/agency/tools.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/configs/config.yaml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/docker-compose.yml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/dockerignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/env +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/examples/01_demand_signal_normal.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/examples/02_supplier_delay.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/examples/03_single_source_slip.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/examples/04_capacity_change.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/examples/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/examples/run_examples.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/gitignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/main.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/pytest.ini +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/requirements-dev.txt +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/tests/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/tests/conftest.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/production-planning/validate_config.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/Dockerfile +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/PRD.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/_prompts.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/agency/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/agency/_shared/batch_release.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/agency/_shared/defect_scoring.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/agency/_shared/spc_math.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/agency/_shared/store.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/agency/batch_inspection_sweeper_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/agency/batch_release_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/agency/corrective_action_tracker_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/agency/inspection_intake_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/agency/quality_engineer_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/agency/recall_traceability_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/agency/regulatory_compliance_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/agency/spc_monitor_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/agency/tools.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/configs/config.yaml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/docker-compose.yml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/dockerignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/env +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/examples/01_routine_inspection.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/examples/02_defect_cluster.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/examples/03_field_complaint_recall.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/examples/04_regulatory_audit_pull.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/examples/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/examples/run_examples.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/gitignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/pytest.ini +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/requirements-dev.txt +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/tests/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/tests/conftest.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quality-yield/validate_config.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/Dockerfile +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/PRD.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/_prompts.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/agency/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/agency/_shared/store.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/agency/billing_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/agency/cass_shaper_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/agency/drafter_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/agency/quote_issuer_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/agency/tools.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/configs/config.yaml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/docker-compose.yml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/dockerignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/env +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/examples/01_rfq_rep_selfapprove.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/examples/02_rfq_deep_discount_cfo.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/examples/03_quote_accepted_invoice.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/examples/04_dunning_sweep.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/examples/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/examples/run_examples.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/gitignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/pytest.ini +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/requirements-dev.txt +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/tests/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/tests/conftest.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/tests/test_floors.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/quote-to-cash/validate_config.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/Dockerfile +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/PRD.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/_prompts.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/agency/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/agency/_shared/store.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/agency/bias_audit_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/agency/correspondence_drafter_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/agency/hiring_assistant_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/agency/interview_coordinator_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/agency/offer_issuer_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/agency/req_intake_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/agency/resume_screener_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/agency/tools.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/configs/config.yaml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/docker-compose.yml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/dockerignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/env +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/examples/01_new_req_filed.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/examples/02_candidate_rejection_letter.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/examples/03_offer_drafting.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/examples/04_ghosted_candidate_close.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/examples/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/examples/run_examples.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/gitignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/pytest.ini +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/requirements-dev.txt +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/tests/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/tests/conftest.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/recruiting-ops/validate_config.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/Dockerfile +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/PRD.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/_prompts.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/agency/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/agency/_shared/store.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/agency/_shared/util.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/agency/deal_desk_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/agency/lead_intake_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/agency/lead_qualification_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/agency/lead_revival_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/agency/sales_research_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/agency/tools.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/configs/config.yaml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/docker-compose.yml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/dockerignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/env +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/examples/01_inbound_demo_request.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/examples/02_cold_lead_revival.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/examples/03_competitor_steal_signal.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/examples/04_event_followup_burst.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/examples/05_enriched_inbound_lead.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/examples/06_deal_nurture_sweep.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/examples/07_abm_account_activation.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/examples/08_competitive_intel_pull.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/examples/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/examples/run_examples.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/gitignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/pytest.ini +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/requirements-dev.txt +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/tests/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/tests/conftest.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/sales-orchestration/validate_config.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/Dockerfile +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/PRD.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/_prompts.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/agency/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/agency/_shared/store.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/agency/brief_intake_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/agency/citation_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/agency/consultant_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/agency/context_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/agency/deliverable_assembler_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/agency/engagement_controller_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/agency/engagement_status_drafter_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/agency/performance_review_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/agency/qa_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/agency/research_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/agency/tools.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/configs/config.yaml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/docker-compose.yml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/dockerignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/env +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/examples/01_new_engagement_memo.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/examples/02_friday_status_pack.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/examples/03_high_stakes_deliverable.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/examples/04_monthly_steering_pack.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/examples/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/examples/run_examples.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/gitignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/pytest.ini +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/requirements-dev.txt +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/tests/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/tests/conftest.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/services-delivery/validate_config.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/starter/Dockerfile +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/starter/PRD.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/starter/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/starter/_prompts.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/starter/agency/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/starter/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/starter/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/starter/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/starter/agency/_shared/store.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/starter/agency/intake_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/starter/agency/resolver_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/starter/agency/tools.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/starter/configs/config.yaml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/starter/docker-compose.yml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/starter/dockerignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/starter/env +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/starter/gitignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/starter/pytest.ini +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/starter/tests/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/starter/tests/conftest.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/starter/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/starter/tests/test_finisher.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/starter/validate_config.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/Dockerfile +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/PRD.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/_prompts.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/agency/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/allocation_math.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/carrier_math.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/shrink_math.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/store.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/agency/allocation_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/agency/carrier_selector_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/agency/exception_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/agency/humanoid_status_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/agency/inspection_humanoid.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/agency/inventory_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/agency/inventory_control_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/agency/loader_humanoid.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/agency/packer_humanoid.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/agency/picker_humanoid.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/agency/replenishment_planner_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/agency/returns_handler_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/agency/shipment_dispatcher_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/agency/supplier_relations_agent.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/agency/tools.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/configs/config.yaml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/docker-compose.yml +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/dockerignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/env +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/examples/01_routine_order.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/examples/02_short_pick_exception.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/examples/03_returns_inspection.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/examples/04_carrier_outage_failover.json +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/examples/README.md +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/examples/run_examples.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/gitignore +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/pytest.ini +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/requirements-dev.txt +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/tests/__init__.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/tests/conftest.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/warehouse-supply-chain/validate_config.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh.egg-info/SOURCES.txt +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh.egg-info/dependency_links.txt +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh.egg-info/entry_points.txt +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh.egg-info/requires.txt +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh.egg-info/top_level.txt +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/setup.cfg +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/tests/test_discover.py +0 -0
- {create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/tests/test_search.py +0 -0
|
@@ -73,23 +73,36 @@ LEAFMESH_ENV_TOKEN=your-env-token-here
|
|
|
73
73
|
# Webhook hardening (HMAC + replay protection).
|
|
74
74
|
# Set to 1 to keep accepting body-only HMAC during a migration window.
|
|
75
75
|
# LEAFMESH_WEBHOOK_ALLOW_LEGACY_HMAC=0
|
|
76
|
-
#
|
|
77
|
-
#
|
|
78
|
-
#
|
|
79
|
-
#
|
|
80
|
-
|
|
81
|
-
#
|
|
82
|
-
#
|
|
83
|
-
#
|
|
84
|
-
#
|
|
85
|
-
#
|
|
86
|
-
#
|
|
87
|
-
|
|
88
|
-
#
|
|
89
|
-
#
|
|
90
|
-
|
|
91
|
-
#
|
|
92
|
-
#
|
|
76
|
+
#
|
|
77
|
+
# ── The tuning knobs below are NOT environment variables any more ──
|
|
78
|
+
# 2.4.131 moved them into configs/config.yaml, where they round-trip and
|
|
79
|
+
# show up in Studio. Setting them here does nothing at all — no error, no
|
|
80
|
+
# effect. Put them in the config instead:
|
|
81
|
+
#
|
|
82
|
+
# limits:
|
|
83
|
+
# webhook_replay_skew_s: 300
|
|
84
|
+
# webhook_rate_limit_max: 60
|
|
85
|
+
# webhook_rate_limit_window_s: 60
|
|
86
|
+
# webhook_max_payload_bytes: 1048576 # 1 MiB
|
|
87
|
+
# knowledge_max_ingest_total_bytes: 52428800 # 50 MiB
|
|
88
|
+
# knowledge_query_rate_limit_max: 120
|
|
89
|
+
# knowledge_query_rate_limit_window_s: 60
|
|
90
|
+
# max_session_history_bytes: 1048576
|
|
91
|
+
# max_parallel_tool_calls: 8
|
|
92
|
+
#
|
|
93
|
+
# timeouts:
|
|
94
|
+
# llm_hard_timeout_s: 300 # stops a stuck provider pinning an agent slot
|
|
95
|
+
#
|
|
96
|
+
# scheduler:
|
|
97
|
+
# cron_min_interval_seconds: 60 # schedules below this are rejected
|
|
98
|
+
# misfire_grace_s: 60
|
|
99
|
+
#
|
|
100
|
+
# runtime:
|
|
101
|
+
# lease_seconds: 30 # raise to ~120 on a flaky remote Redis
|
|
102
|
+
# lease_heartbeat_s: 10
|
|
103
|
+
#
|
|
104
|
+
# (knowledge_max_docs_per_ingest and knowledge_max_doc_bytes were removed
|
|
105
|
+
# outright — there is no replacement for those two.)
|
|
93
106
|
|
|
94
107
|
# MCP subprocess allowlist (comma-separated absolute paths or basenames).
|
|
95
108
|
# Empty = warn-only at startup. Set to "*" for "any command" with explicit
|
|
@@ -100,8 +113,8 @@ LEAFMESH_ENV_TOKEN=your-env-token-here
|
|
|
100
113
|
# behind a tunnel (production must wire a Bot Framework JWT validator).
|
|
101
114
|
# LEAFMESH_TEAMS_ALLOW_UNVERIFIED=0
|
|
102
115
|
|
|
103
|
-
# Conversation history hard byte cap (per session)
|
|
104
|
-
#
|
|
116
|
+
# Conversation history hard byte cap (per session) — moved to config in
|
|
117
|
+
# 2.4.131: limits.max_session_history_bytes: 5242880 # 5 MiB
|
|
105
118
|
|
|
106
119
|
# Security headers.
|
|
107
120
|
# LEAFMESH_HSTS_ENABLED=1
|
{create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/ai-dev-squad/main.py
RENAMED
|
@@ -34,10 +34,8 @@ async def main():
|
|
|
34
34
|
leafmesh.event_bus.subscribe(EventType.MANAGER_INTERVENTION, _on_manager_intervention)
|
|
35
35
|
leafmesh.event_bus.subscribe(EventType.INTERVENTION_NEEDED, _on_intervention_needed)
|
|
36
36
|
leafmesh.event_bus.subscribe(EventType.HUMAN_INPUT_TIMEOUT, _on_human_input_timeout)
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
except AttributeError:
|
|
40
|
-
pass
|
|
37
|
+
# Self-healing is automatic — the SDK enables it during start() on
|
|
38
|
+
# every operator-facing mesh. No call is needed.
|
|
41
39
|
logger.info("{{project_name}} — AI Dev Squad running. API: http://127.0.0.1:18820/docs")
|
|
42
40
|
stop = asyncio.Event(); loop = asyncio.get_running_loop()
|
|
43
41
|
if sys.platform != "win32":
|
{create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bd-proposals/main.py
RENAMED
|
@@ -30,8 +30,8 @@ async def main():
|
|
|
30
30
|
leafmesh.event_bus.subscribe(EventType.MANAGER_INTERVENTION, _on_manager_intervention)
|
|
31
31
|
leafmesh.event_bus.subscribe(EventType.INTERVENTION_NEEDED, _on_intervention_needed)
|
|
32
32
|
leafmesh.event_bus.subscribe(EventType.HUMAN_INPUT_TIMEOUT, _on_human_input_timeout)
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
# Self-healing is automatic — the SDK enables it during start() on
|
|
34
|
+
# every operator-facing mesh. No call is needed.
|
|
35
35
|
logger.info("{{project_name}} — BD Proposals mesh running")
|
|
36
36
|
|
|
37
37
|
stop = asyncio.Event(); loop = asyncio.get_running_loop()
|
{create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/PRD.md
RENAMED
|
@@ -235,7 +235,7 @@ dual→dual — verified 0 dual warnings at load); the `mcp:` block is commented
|
|
|
235
235
|
empty `${VAR:}` url); `max_tool_calls_per_message: 15` on the tool-chaining
|
|
236
236
|
agents; every llm agent fn is `async def f(llm_response, input_data, context)`;
|
|
237
237
|
`super_agent` is dict form; `timeouts.llm_hard_timeout_s` lands with the 2.4.131
|
|
238
|
-
floor. `requirements.txt` is core-only (`leafmesh>=2.4.
|
|
238
|
+
floor. `requirements.txt` is core-only (`leafmesh>=2.4.263` + `apscheduler>=3.10`).
|
|
239
239
|
|
|
240
240
|
## Config pointer
|
|
241
241
|
|
{create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/README.md
RENAMED
|
@@ -83,7 +83,7 @@ against the seed store:
|
|
|
83
83
|
cp env .env && pip install -r requirements.txt && python validate_config.py && python main.py
|
|
84
84
|
```
|
|
85
85
|
|
|
86
|
-
`requirements.txt` pins `leafmesh>=2.4.
|
|
86
|
+
`requirements.txt` pins `leafmesh>=2.4.263` + `apscheduler>=3.10` (for the weekly
|
|
87
87
|
`wake_up` cron). Do **not** install `leafmesh[all]` on Python 3.12+ — it pulls
|
|
88
88
|
`cchardet`, which has no wheel there; add only the specific extras you wire.
|
|
89
89
|
|
{create_leafmesh-2.7.0 → create_leafmesh-2.7.1}/create_leafmesh/templates/bench-management/main.py
RENAMED
|
@@ -50,8 +50,8 @@ async def main():
|
|
|
50
50
|
leafmesh.event_bus.subscribe(EventType.MANAGER_INTERVENTION, _on_manager_intervention)
|
|
51
51
|
leafmesh.event_bus.subscribe(EventType.INTERVENTION_NEEDED, _on_intervention_needed)
|
|
52
52
|
leafmesh.event_bus.subscribe(EventType.HUMAN_INPUT_TIMEOUT, _on_human_input_timeout)
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
# Self-healing is automatic — the SDK enables it during start() on
|
|
54
|
+
# every operator-facing mesh. No call is needed.
|
|
55
55
|
logger.info("{{project_name}} — Bench Management mesh running")
|
|
56
56
|
|
|
57
57
|
stop = asyncio.Event(); loop = asyncio.get_running_loop()
|
|
@@ -44,6 +44,8 @@ You are an expert at building multi-agent orchestration systems with the LeafMes
|
|
|
44
44
|
- [Command Center (the business board)](#command-center-the-business-board) · [Image generation](#image-generation)
|
|
45
45
|
- [STRICT — fields by `agent_type`](#strict--fields-by-agent_type) · [STRICT — `human_interface` rules](#strict--human_interface-rules)
|
|
46
46
|
- [Human-in-the-Loop (HITL)](#human-in-the-loop-hitl)
|
|
47
|
+
- [**THE ROOM RULES**](#the-room-rules--get-these-wrong-and-the-mesh-is-rude-or-deaf) — when a channel message is ours, and which conversation it joins
|
|
48
|
+
- [Credentials — `connection:`, never a literal](#credentials--connection-never-a-literal) · [Per-seat channel fields](#per-seat-channel-fields-worth-knowing) · [Inbox vs connector seats](#inbox-seats-vs-connector-seats)
|
|
47
49
|
- [YAML Agent Config (All Fields)](#yaml-agent-config-all-fields) · [Condition Syntax](#condition-syntax-can_call-conditions)
|
|
48
50
|
- [Decorators — Making an Agent Self-Reliant](#decorators--making-an-agent-self-reliant)
|
|
49
51
|
- [Communication Types](#communication-types) · [Fan-In Patterns (`wait_for`)](#fan-in-patterns-wait_for) · [Tools](#tools)
|
|
@@ -72,7 +74,11 @@ You are an expert at building multi-agent orchestration systems with the LeafMes
|
|
|
72
74
|
| "Add Skills" / "give this agent reusable playbooks" | Add `skills: {sourceName: "...", enabled: true, names: [...]}` on the agent. **Local `.md` files are NOT auto-loaded** — the default source is hosted (Redis). For filesystem skills, register a source via `POST /api/skills/sources` first. See [Skills System](#skills-system) section |
|
|
73
75
|
| "Retry when X fails" / "loop back to re-do upstream work" | NEVER write an unbounded retry back-edge. Add a per-session exhaustion counter in the agent's Python, yield a `*_retry_exhausted` boolean, gate the back-edge on it, add a terminal route. See [Rule 3](#rule-3--bound-every-retry-back-edge) |
|
|
74
76
|
| "Use Grok or Mistral as the model" | Set `model: "grok-2"` (or `grok-3`, `grok-beta`) and `XAI_API_KEY` env var; or `model: "mistral-large"` (or `mistral-small`, `mixtral-8x22b`, `codestral-latest`) and `MISTRAL_API_KEY` env var. Both are native providers — no Bedrock/Vertex routing needed |
|
|
75
|
-
| "
|
|
77
|
+
| "Put this agent on Slack/Teams/Discord/Telegram/Cliq/WhatsApp" | `human_interface: "webhook"` + a `channels:` block. Credentials come from a **connection**, never a literal — the mesh refuses to boot on an inline provider credential. Then read [THE ROOM RULES](#the-room-rules--get-these-wrong-and-the-mesh-is-rude-or-deaf): in a shared room a bare message is IGNORED, a mention opens a NEW conversation, and a thread reply continues one. |
|
|
78
|
+
| "Slack but we have no public URL" | Socket Mode. Put an app-level (`xapp-`) token in the connection and it turns itself on — inbound arrives over an outbound WebSocket. Without it a local/NAT'd mesh can post but will never hear anything. |
|
|
79
|
+
| "Only our staff should answer this seat" | `operators_only: true` on the channel block, plus an `operators` map. Off by default, because a customer-facing seat must accept strangers. Refused senders are logged with the reason. |
|
|
80
|
+
| "Where do credentials go?" | A connection on the Infra page; config references it by name (`connection: "slack-workspace"`). One connection holds the provider's whole credential set. `${ENV_VAR}` also works. A literal token makes the mesh REFUSE TO BOOT (2.4.180). |
|
|
81
|
+
| "Send / receive email from an agent" | Add the Email channel: `channels: {email: {connection, provider, smtp_host, smtp_port, smtp_username, from_address, inbound_domain}}`. Outbound over SMTP; inbound is the **provider's webhook** (Mailgun/SendGrid/Postmark) — there is **no IMAP**, so a mesh with no public URL cannot receive mail. The field is `smtp_username`, not `smtp_user`. |
|
|
76
82
|
|
|
77
83
|
## Current project config
|
|
78
84
|
!`cat configs/config.yaml 2>/dev/null | head -30`
|
|
@@ -658,7 +664,9 @@ manager:
|
|
|
658
664
|
enabled: true
|
|
659
665
|
design_after_runs: 3 # runs to observe before designing (1–50)
|
|
660
666
|
max_metrics: 24
|
|
661
|
-
model: null #
|
|
667
|
+
model: null # falls back to the SUMMARIZER's model
|
|
668
|
+
# (use_model = model or summarizer.config.model);
|
|
669
|
+
# if neither has one the design is skipped
|
|
662
670
|
```
|
|
663
671
|
|
|
664
672
|
What this means when you are building an agency:
|
|
@@ -883,29 +891,107 @@ agents:
|
|
|
883
891
|
post_channel: "${SLACK_POST_CHANNEL}"
|
|
884
892
|
telegram:
|
|
885
893
|
bot_token: "${TELEGRAM_BOT_TOKEN}"
|
|
886
|
-
email:
|
|
887
|
-
#
|
|
888
|
-
|
|
894
|
+
email:
|
|
895
|
+
connection: "email-support" # holds smtp_password + signing_secret
|
|
896
|
+
# Outbound — SMTP
|
|
897
|
+
provider: "mailgun" # mailgun | sendgrid | postmark
|
|
898
|
+
smtp_host: "smtp.mailgun.org" # optional for mailgun: defaults by region
|
|
889
899
|
smtp_port: 587
|
|
890
|
-
|
|
891
|
-
smtp_password: "${SMTP_PASSWORD}"
|
|
900
|
+
smtp_username: "postmaster@mg.example.com" # NOT smtp_user
|
|
892
901
|
from_address: "support@example.com"
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
#
|
|
900
|
-
dkim_private_key: "${DKIM_PRIVATE_KEY}"
|
|
901
|
-
# Optional — provider API mode (skip SMTP)
|
|
902
|
-
# provider: "mailgun" | "sendgrid" | "postmark"
|
|
903
|
-
# provider_api_key: "${MAILGUN_API_KEY}"
|
|
902
|
+
reply_to_address: "support@example.com"
|
|
903
|
+
# Inbound — the PROVIDER'S WEBHOOK, not IMAP. The adapter registers a
|
|
904
|
+
# route and verifies the provider's signature; there is no IMAP client.
|
|
905
|
+
inbound_domain: "mg.example.com"
|
|
906
|
+
inbound_local_part_filter: ["support"] # optional; accept only these
|
|
907
|
+
threading: "references_first" # or reply_to_token
|
|
908
|
+
auto_reply_drop: true # ignore vacation autoresponders
|
|
904
909
|
```
|
|
905
910
|
|
|
906
911
|
The HITL flow works identically across all channels -- the SDK handles transport, the agent handles routing. With multiple channels configured, the SDK tries each in order; if all fail, it falls back to `webhook_config.outbound_url` (when set).
|
|
907
912
|
|
|
908
|
-
**Email channel specifics
|
|
913
|
+
**Email channel specifics.** Email is **asymmetric** — outbound goes over SMTP, inbound arrives as the PROVIDER'S WEBHOOK (Mailgun, SendGrid or Postmark), whose signature the adapter verifies. The email CHANNEL has no IMAP client, so a mesh with no public URL cannot receive mail through it — for that case use the separate **IMAP broker** (`brokers: {name: {type: "imap", host, user, password, folder, poll_interval_s}}`), which polls a mailbox and feeds `listen_events` instead. Threading uses `In-Reply-To` / `References`, and for clients that strip those the adapter sets a plus-addressed `Reply-To` token so a reply still finds its conversation. Reply and signature stripping uses `talon` when it is installed, with a regex fallback when it is not. **Email is direct but NOT continuous:** a reply continues its conversation, a brand-new mail starts a new one — unlike a DM, where every message is one running chat.
|
|
914
|
+
|
|
915
|
+
### Credentials — `connection:`, never a literal
|
|
916
|
+
|
|
917
|
+
**The mesh REFUSES TO BOOT if it finds a provider credential written literally
|
|
918
|
+
in config** (2.4.180). Name a connection made on the Infra page instead:
|
|
919
|
+
|
|
920
|
+
```yaml
|
|
921
|
+
channels:
|
|
922
|
+
slack:
|
|
923
|
+
connection: "slack-workspace" # the vault holds the secret
|
|
924
|
+
post_channel: "C0123456789"
|
|
925
|
+
```
|
|
926
|
+
|
|
927
|
+
`${ENV_VAR}` still passes — the secret is in the environment, not the file.
|
|
928
|
+
A literal `"xoxb-…"` does not. One connection carries the provider's WHOLE
|
|
929
|
+
credential set (Slack: `bot_token` + `signing_secret` + `app_token`), so you
|
|
930
|
+
reference it once and every field it holds comes with it.
|
|
931
|
+
|
|
932
|
+
Connections made while the mesh is running are adopted live — for Slack that
|
|
933
|
+
includes opening Socket Mode from the app token, so inbound starts working
|
|
934
|
+
without a restart.
|
|
935
|
+
|
|
936
|
+
### Per-seat channel fields worth knowing
|
|
937
|
+
|
|
938
|
+
| field | what it does |
|
|
939
|
+
|---|---|
|
|
940
|
+
| `operators` | logical operator id → that channel's user handle, so a step can address a named person |
|
|
941
|
+
| `operators_only` | refuse anyone not in `operators`. **Off by default** — a customer-facing seat must accept strangers. Turn it on for a staff-only seat. |
|
|
942
|
+
| `socket_mode` | Slack: receive events over an outbound WebSocket — **no public URL needed**. Turns itself on when the connection holds an `xapp-` token. |
|
|
943
|
+
| `listen_channels` | channel ids to accept inbound from; empty means all |
|
|
944
|
+
|
|
945
|
+
### THE ROOM RULES — get these wrong and the mesh is rude or deaf
|
|
946
|
+
|
|
947
|
+
Two questions on every inbound: **is this for us**, then **which conversation**.
|
|
948
|
+
|
|
949
|
+
**Is it addressed to the mesh?**
|
|
950
|
+
|
|
951
|
+
```
|
|
952
|
+
DIRECT (a DM, or mail to the mesh's address) → always ours, no mention needed
|
|
953
|
+
SHARED ROOM
|
|
954
|
+
├── @mentions the mesh / names an agent / slash command → ours
|
|
955
|
+
├── posted inside a thread the mesh opened → ours
|
|
956
|
+
└── anything else → IGNORED
|
|
957
|
+
```
|
|
958
|
+
|
|
959
|
+
A bare message in a room is people talking to each other. Having spoken to the
|
|
960
|
+
mesh before does NOT make later messages its business — that is how a "yes, go
|
|
961
|
+
ahead" meant for a colleague gets eaten as an answer to a pending request.
|
|
962
|
+
The mesh also never answers its own messages, on any channel.
|
|
963
|
+
|
|
964
|
+
**Which conversation does it join?**
|
|
965
|
+
|
|
966
|
+
```
|
|
967
|
+
Addressed the mesh (@mention / named agent / slash command)
|
|
968
|
+
→ a NEW conversation, EVEN IF a question is open.
|
|
969
|
+
Nobody @-mentions a bot to answer its question; you just type.
|
|
970
|
+
|
|
971
|
+
Reply inside a thread
|
|
972
|
+
├── something pending → answers THAT message, same session
|
|
973
|
+
└── nothing pending → runs the flow again, SAME session (the Inbox rule)
|
|
974
|
+
|
|
975
|
+
New email (no In-Reply-To, no reply token)
|
|
976
|
+
→ a new conversation. A reply stays in its own.
|
|
977
|
+
```
|
|
978
|
+
|
|
979
|
+
Threads exist on **slack, teams, discord, email**. **telegram, cliq, whatsapp**
|
|
980
|
+
have none — there each person has one continuous conversation, and a question
|
|
981
|
+
asked in a Cliq room can only be answered by naming the mesh or in a DM.
|
|
982
|
+
|
|
983
|
+
**When you design a seat:** if it takes work from strangers, leave
|
|
984
|
+
`operators_only` off and expect mentions. If it is an approval seat for staff,
|
|
985
|
+
turn it on. If the mesh has no public URL, Slack needs `socket_mode` (an
|
|
986
|
+
`xapp-` token) or it will never hear anything.
|
|
987
|
+
|
|
988
|
+
### Inbox seats vs connector seats
|
|
989
|
+
|
|
990
|
+
A seat is **either** an Inbox seat (the hosted console) **or** a connector seat
|
|
991
|
+
(slack/teams/…), never both. Declaring `channels:` makes it a connector seat
|
|
992
|
+
and it gets no Inbox door. Ownership is the login's platform role
|
|
993
|
+
(`operator_role: owner|admin`), and `operator_ids` are the assigned operators;
|
|
994
|
+
a stranger sees no tab at all.
|
|
909
995
|
|
|
910
996
|
## YAML Agent Config (All Fields)
|
|
911
997
|
|
|
@@ -916,7 +1002,11 @@ agents:
|
|
|
916
1002
|
name: my_agent
|
|
917
1003
|
agent_type: "llm" # llm | human | programmatic | external
|
|
918
1004
|
description: "What this agent does"
|
|
919
|
-
model: "gpt-4o-mini" #
|
|
1005
|
+
model: "gpt-4o-mini" # REQUIRED — no default since 2.4.135.
|
|
1006
|
+
# The SDK never picks one for you: boot names
|
|
1007
|
+
# every LLM agent missing one, and the call
|
|
1008
|
+
# raises ModelNotConfiguredError.
|
|
1009
|
+
# Non-LLM agents need no model.
|
|
920
1010
|
prompt: "You are a helpful..." # System prompt
|
|
921
1011
|
temperature: 0.1
|
|
922
1012
|
max_tokens: 800
|
|
@@ -1118,7 +1208,7 @@ rather than being manufactured as `false`/`""`. Two consequences:
|
|
|
1118
1208
|
final answer share one turn) and is wasted on agents with ≤ 1 yields
|
|
1119
1209
|
field — both warn.
|
|
1120
1210
|
- **`reasoning: true` on a non-reasoning-capable model warns** — you
|
|
1121
|
-
probably meant `thinking: true` (see [reasoning vs thinking](#reasoning-vs-thinking)).
|
|
1211
|
+
probably meant `thinking: true` (see [reasoning vs thinking](agent-config-fields.md#reasoning-vs-thinking)).
|
|
1122
1212
|
- **Unknown names warn at load**: `can_call` / `wait_for` referencing
|
|
1123
1213
|
an agent that doesn't exist, and circular *unconditional* `can_call`
|
|
1124
1214
|
edges. `entry_points` targets are stricter — a typo'd target raises
|
|
@@ -1344,7 +1434,9 @@ def format_md(items: list) -> str:
|
|
|
1344
1434
|
manager:
|
|
1345
1435
|
# on by default — omit `enabled` (set `enabled: false` only to kill
|
|
1346
1436
|
# coordination + the summarizer entirely; rare)
|
|
1347
|
-
model: "gpt-4o-mini" # Summarizer model
|
|
1437
|
+
model: "gpt-4o-mini" # Summarizer model — REQUIRED for supervision.
|
|
1438
|
+
# Without it the manager/summarizer are INERT and
|
|
1439
|
+
# boot says so; nothing is guessed.
|
|
1348
1440
|
domain: "generic" # generic | ecommerce | data_analysis
|
|
1349
1441
|
routing:
|
|
1350
1442
|
mode: "learning" # static | learning (adaptive routing)
|
|
@@ -294,7 +294,7 @@ These fields are used when `agent_type` is `"llm"`. Ignored for other types.
|
|
|
294
294
|
|
|
295
295
|
| Field | Type | Default | Accepted Values | Description |
|
|
296
296
|
|-------|------|---------|-----------------|-------------|
|
|
297
|
-
| `model` | string |
|
|
297
|
+
| `model` | string | **none — declare it** | see [Model List](#model-list) below | LLM model name. No default since 2.4.135 — the SDK never picks one for you. Non-LLM agents need none. **Read the note below: nothing stops you booting without it.** |
|
|
298
298
|
| `prompt` | string | `null` | any string (multiline supported) | System prompt |
|
|
299
299
|
| `temperature` | float | `0.1` | `0.0` – `2.0` | LLM temperature (creativity/randomness) |
|
|
300
300
|
| `max_tokens` | int | `800` | 1 – model max | Max output tokens (legacy models) |
|
|
@@ -329,6 +329,24 @@ These fields are used when `agent_type` is `"llm"`. Ignored for other types.
|
|
|
329
329
|
| `output_modality` | string | `"text"` | `"text"`, `"image"` | (declared field since 2.4.121) Output type for the agent. Pair `"image"` with an image-capable model and `image_options`. |
|
|
330
330
|
| `image_options` | dict | `null` | provider image opts | (2.4.104, fixed 2.4.108) Options for image generation when `output_modality: "image"` (size, quality, etc.). **≥2.4.108 required** — earlier versions ran image models as TEXT turns on the mesh path (full token bill, empty content, yields failure). |
|
|
331
331
|
|
|
332
|
+
> **⚠️ A missing `model` is NOT caught where you would expect, and the two
|
|
333
|
+
> validators disagree.** Verified against `leafmesh==2.4.263`:
|
|
334
|
+
>
|
|
335
|
+
> | What you run | LLM agent with no `model` |
|
|
336
|
+
> |---|---|
|
|
337
|
+
> | `load_yaml_config(path)` | **loads fine** — `agent.model` is `None` |
|
|
338
|
+
> | `validate_config(cfg)` | **`valid: True`** — it does not check agent models at all |
|
|
339
|
+
> | Studio / `POST /api/yaml/validate` | **error:** `LLM agent 'x' has no model configured` |
|
|
340
|
+
> | Boot | **starts** — nothing refuses |
|
|
341
|
+
> | The agent's first LLM call | **`ModelNotConfiguredError`** naming the agent and the field |
|
|
342
|
+
>
|
|
343
|
+
> So a template can pass `validate_config` green, boot green, and then fail at
|
|
344
|
+
> the first real message — in front of a user. `validate_config` is NOT a
|
|
345
|
+
> sufficient gate for this; check every LLM agent has a model yourself, or
|
|
346
|
+
> validate through the API path. What 2.4.135 changed is that there is no
|
|
347
|
+
> longer a default to fall back on: before, a missing model silently spent the
|
|
348
|
+
> customer's money on a model they never chose.
|
|
349
|
+
|
|
332
350
|
> **⚠️ Tune Super-Agent with the DICT form — not flat keys.** As of **2.4.123** `super_agent:` accepts either a bool (`true` = on with defaults) **or a dict** of tuning keys, and as of **2.4.131 the dict is the ONLY way to tune it** (the three `LEAFMESH_SUPER_AGENT_*` env vars are dead). The old **flat** keys — `super_agent_cost_ceiling`, `super_agent_step_cap`, `super_agent_reflection_budget`, `super_agent_wall_clock`, `synth_max_tokens_floor/ceiling` — were **never wired** (accepted only as `extra='allow'` and ignored); **do not use them.** Allowed **dict** keys and defaults:
|
|
333
351
|
>
|
|
334
352
|
> | Dict key | Default | Governs |
|
|
@@ -1149,7 +1167,7 @@ Used inside `webhook_config` for human agents.
|
|
|
1149
1167
|
| `response_mapping` | dict | `{}` | Field mapping for webhook response transformation |
|
|
1150
1168
|
| `max_retries` | int | `3` | Max retry attempts for failed outbound webhooks |
|
|
1151
1169
|
| `retry_delay` | int | `5` | Delay between retries (seconds) |
|
|
1152
|
-
| `operators` | dict |
|
|
1170
|
+
| `operators` | dict | `{}` | Declared field (verified in `leafmesh.core.agent_config`). Per-operator routing map (operator name → external address/ID) for directing a human agent's outbound to a specific person. |
|
|
1153
1171
|
|
|
1154
1172
|
---
|
|
1155
1173
|
|
|
@@ -1159,24 +1177,37 @@ Used inside `channels` dict for human agents. Keys are provider names.
|
|
|
1159
1177
|
|
|
1160
1178
|
### Supported Provider Keys
|
|
1161
1179
|
|
|
1162
|
-
| Key | Provider |
|
|
1163
|
-
|
|
1164
|
-
| `slack` | Slack Bot API |
|
|
1165
|
-
| `
|
|
1166
|
-
| `discord` | Discord Bot API |
|
|
1167
|
-
| `
|
|
1168
|
-
| `
|
|
1180
|
+
| Key | Provider | Threads? |
|
|
1181
|
+
|-----|----------|----------|
|
|
1182
|
+
| `slack` | Slack Bot API | yes |
|
|
1183
|
+
| `teams` | Microsoft Teams Bot Framework | yes |
|
|
1184
|
+
| `discord` | Discord Bot API | yes |
|
|
1185
|
+
| `email` | SMTP/IMAP, or Mailgun / SendGrid / Postmark | yes (In-Reply-To / References) |
|
|
1186
|
+
| `telegram` | Telegram Bot API | no |
|
|
1187
|
+
| `cliq` | Zoho Cliq | no |
|
|
1188
|
+
| `whatsapp` | WhatsApp Business API (Meta Cloud API) | no |
|
|
1189
|
+
|
|
1190
|
+
"Threads?" decides how a reply finds its conversation, and whether a question
|
|
1191
|
+
the mesh asks in a shared room can be answered there at all — see THE ROOM
|
|
1192
|
+
RULES in SKILL.md. A channel without threads gives each person one continuous
|
|
1193
|
+
conversation.
|
|
1169
1194
|
|
|
1170
1195
|
### Fields Per Channel
|
|
1171
1196
|
|
|
1172
1197
|
| Field | Type | Default | Description |
|
|
1173
1198
|
|-------|------|---------|-------------|
|
|
1174
|
-
| `
|
|
1175
|
-
| `
|
|
1199
|
+
| `connection` | string | `null` | **Preferred.** Names a connection held in the mesh's vault, carrying the provider's WHOLE credential set. A LITERAL credential in any field below makes the mesh REFUSE TO BOOT (2.4.180); `${ENV_VAR}` is fine. |
|
|
1200
|
+
| `bot_token` | string | `null` | Bot/API token. Prefer `connection:`. |
|
|
1201
|
+
| `signing_secret` | string | `null` | Request verification secret. Prefer `connection:`. |
|
|
1202
|
+
| `app_token` | string | `null` | **Slack only** — app-level (`xapp-`) token. Its presence turns Socket Mode on: inbound arrives over an outbound WebSocket, so **no public URL is needed**. Essential for a local or NAT'd mesh. |
|
|
1203
|
+
| `socket_mode` | bool | auto | **Slack only** — defaults to true when an `app_token` exists. Set `false` to force the webhook route on a mesh that has a public URL. |
|
|
1204
|
+
| `operators` | dict | `{}` | Logical operator id → that channel's user handle, so a step can address a named person. Read in reverse on inbound, so the same person is recognised across channels. |
|
|
1205
|
+
| `operators_only` | bool | `false` | Refuse anyone not listed in `operators` — checked BEFORE addressing, so it holds in a DM too. Off by default: a customer-facing seat must accept strangers. An empty `operators` map with this on fails CLOSED. |
|
|
1206
|
+
| `service_url` | string | `null` | **Teams only** — the Bot Framework endpoint, needed when the mesh SPEAKS FIRST (nothing inbound has arrived to learn it from). Use the global `https://smba.trafficmanager.net/teams/`; Microsoft warns against region-specific URLs. |
|
|
1176
1207
|
| `listen_channels` | list | `[]` | Channel/chat IDs to accept inbound messages from (empty = all) |
|
|
1177
1208
|
| `post_channel` | string | `null` | Default channel/chat ID for outbound messages (see per-provider notes below) |
|
|
1178
1209
|
| `verify_token` | string | `null` | Webhook verification token — **WhatsApp only** (`hub.verify_token`) |
|
|
1179
|
-
| `operators` | dict |
|
|
1210
|
+
| `operators` | dict | `{}` | Declared field (v2.2.44+). Per-operator routing map: operator name → provider address/ID (e.g. Slack user ID for a DM). Used to route a human agent's message to a specific person. See the example below. |
|
|
1180
1211
|
|
|
1181
1212
|
**Note:** `ChannelConfig` allows extra fields (`extra="allow"`) for any provider-specific config.
|
|
1182
1213
|
|
|
@@ -1560,7 +1591,7 @@ escalation:
|
|
|
1560
1591
|
| Field | Type | Default | Accepted Values | Description |
|
|
1561
1592
|
|-------|------|---------|-----------------|-------------|
|
|
1562
1593
|
| `enabled` | bool | `true` | `true`, `false` | Enable manager + summarizer |
|
|
1563
|
-
| `model` | string |
|
|
1594
|
+
| `model` | string | **none — declare it** | same as [Model List](#model-list) | LLM model for Summarizer analysis. No default since 2.4.135 (`ManagerConfig.model` and `SummarizerConfig.model` both default to `None`). With `enabled: true` and no model, `validate_config` DOES flag this one — `"Manager model is required for analysis when enabled"` — unlike a plain agent's missing model, which it lets through. |
|
|
1564
1595
|
| `domain` | string | `"generic"` | `generic`, `ecommerce`, `data_analysis` | Summarizer domain specialization |
|
|
1565
1596
|
| `prompt` | string | `null` | any string (multiline supported) | **Evaluation criteria** — tell the Manager what success looks like, what to escalate on, and what patterns to watch. Injected into every Summarizer analysis call as an `EVALUATION CRITERIA` section, alongside the domain prompt. |
|
|
1566
1597
|
| `can_intervene` | bool | `true` | `true`, `false` | Allow manager interventions (false = read-only) |
|
|
@@ -1575,7 +1606,7 @@ escalation:
|
|
|
1575
1606
|
| `max_tokens` | int | `800` | 1 – model max | Max output tokens for the Manager analysis call. |
|
|
1576
1607
|
| `analysis_style` | string | `"coordination"` | e.g. `coordination` | Style/persona applied to the Summarizer's analysis. |
|
|
1577
1608
|
| `omnipresent_mode` | bool | `true` | `true`, `false` | When true, the Manager observes every agent turn; false narrows its attention. |
|
|
1578
|
-
| `triggers` | dict | `
|
|
1609
|
+
| `triggers` | dict | `null` | arbitrary | Declarative triggers for Manager intervention. |
|
|
1579
1610
|
| `yields` | dict | `null` | yield contract | Optional yields contract for the Manager's own output. |
|
|
1580
1611
|
| `super_agent` | bool | `false` | `true`, `false` | Wrap the Manager's analysis in the Super-Agent orchestrator. |
|
|
1581
1612
|
| `knowledge` | bool \| object | `false` | `false`, or see [Knowledge Config](#knowledge-config) | Knowledge/RAG config available to the Manager. Defaults to `false` (off); set an object to enable. |
|
|
@@ -1770,10 +1801,28 @@ mesh:
|
|
|
1770
1801
|
reply_stream: false # default false; always ON in workers mode regardless
|
|
1771
1802
|
```
|
|
1772
1803
|
|
|
1773
|
-
**Dead env vars
|
|
1804
|
+
**Dead env vars — no longer read. If you find one set anywhere, here is what it became:**
|
|
1805
|
+
|
|
1806
|
+
| Dead env var | Now |
|
|
1807
|
+
|---|---|
|
|
1808
|
+
| `LEAFMESH_LLM_HARD_TIMEOUT_S` | `timeouts.llm_hard_timeout_s` |
|
|
1809
|
+
| `LEAFMESH_CRON_MIN_INTERVAL_SECONDS` | `scheduler.cron_min_interval_seconds` |
|
|
1810
|
+
| `LEAFMESH_WEBHOOK_{MAX_PAYLOAD_BYTES,RATE_LIMIT_MAX,RATE_LIMIT_WINDOW_S,REPLAY_SKEW_S}` | `limits.webhook_*` |
|
|
1811
|
+
| `LEAFMESH_MAX_SESSION_HISTORY_BYTES` | `limits.max_session_history_bytes` |
|
|
1812
|
+
| `LEAFMESH_MAX_PARALLEL_TOOL_CALLS` | `limits.max_parallel_tool_calls` |
|
|
1813
|
+
| `LEAFMESH_KNOWLEDGE_QUERY_RATE_LIMIT_*` | `limits.knowledge_query_rate_limit_*` |
|
|
1814
|
+
| `LEAFMESH_KNOWLEDGE_MAX_INGEST_TOTAL_BYTES` | `limits.knowledge_max_ingest_total_bytes` |
|
|
1815
|
+
| `LEAFMESH_KNOWLEDGE_MAX_DOCS_PER_INGEST` | per-provider `settings.max_docs_per_ingest` |
|
|
1816
|
+
| `LEAFMESH_KNOWLEDGE_MAX_DOC_BYTES` | per-provider `settings.max_doc_bytes` |
|
|
1817
|
+
| `LEAFMESH_MESH_REPLY_STREAM` | `mesh.reply_stream` |
|
|
1818
|
+
| `LEAFMESH_SUPER_AGENT_*` | per-agent `super_agent:` dict |
|
|
1819
|
+
| `LEAFMESH_MANAGER_*_TAIL` | `manager:` block |
|
|
1820
|
+
|
|
1821
|
+
Setting any of these produces no error and no effect — the mesh runs on the
|
|
1822
|
+
default and nothing tells you.
|
|
1774
1823
|
**Still legitimately env:** `LEAFMESH_LICENSE_KEY`, `LEAFMESH_ENV_TOKEN`, `WEBHOOK_SECRET`, `INTERNAL_API_KEY`, `API_URL`/`API_PORT`, `EVOLUTION_API_PORT`, `SSE_COOKIE_SAMESITE`, `WORKERS`(_MODE), `OTEL_REDACT_PII`, `DISABLE_PROMPT_GUARDRAIL`, `WEBHOOK_ALLOW_LEGACY_HMAC`, `MCP_COMMAND_ALLOWLIST`, `TEAMS_ALLOW_UNVERIFIED`, `YAML_ENV_BLOCKLIST(_EXTRA)`, `HSTS_ENABLED`, `REFERRER_POLICY`, `CSP`, `LEAFMESH_SKILLS_DIR`, `LEAFMESH_SKILLS_EAGER`.
|
|
1775
1824
|
|
|
1776
|
-
> ⚠️ **The `timeouts` block is REJECTED by ≤2.4.130** (`from_yaml` raises `ConfigError`) — it is only valid on **2.4.131+**. Ship these blocks only when the template floor is `leafmesh>=2.4.131
|
|
1825
|
+
> ⚠️ **The `timeouts` block is REJECTED by ≤2.4.130** (`from_yaml` raises `ConfigError`) — it is only valid on **2.4.131+**. Ship these blocks only when the template floor is `leafmesh>=2.4.131` or higher (the shipped templates now floor at 2.4.263).
|
|
1777
1826
|
|
|
1778
1827
|
---
|
|
1779
1828
|
|
|
@@ -1821,7 +1870,7 @@ Top-level `api:` block Configures the SDK's HTTP server.
|
|
|
1821
1870
|
| `mutation_rate` | float | `0.1` | 0.0 – 1.0 | Mutation probability |
|
|
1822
1871
|
| `crossover_rate` | float | `0.7` | 0.0 – 1.0 | Crossover probability |
|
|
1823
1872
|
| `elite_size` | int | `2` | 1+ | Elite genomes to preserve per generation |
|
|
1824
|
-
| `mutation_types` | list | `
|
|
1873
|
+
| `mutation_types` | list | all six below | `agent_connections`, `communication_patterns`, `agent_parameters`, `workflow_sequences`, `resource_allocation`, `timeout_settings` | Mutation types. **This is a `Literal` list — any other value is REJECTED at load**, so the three names this table used to list (`prompt_variation`, `temperature_adjustment`, `tool_selection`) do not exist and will fail validation. Evolution mutates the mesh's *shape* (wiring, timeouts, allocation), not an agent's prompt or temperature. |
|
|
1825
1874
|
| `fitness_function` | string | `"task_completion_rate"` | free text | Fitness evaluation function |
|
|
1826
1875
|
| `selection_method` | string | `"tournament"` | free text | Selection method |
|
|
1827
1876
|
| `test_scenarios` | list | `[]` | list of scenario dicts — see below | Weighted test scenarios for fitness evaluation |
|
|
@@ -415,7 +415,7 @@ accept and negotiate an intent is the rare exception that joins as a member.)
|
|
|
415
415
|
|
|
416
416
|
| The user has… | Wire it as |
|
|
417
417
|
|---|---|
|
|
418
|
-
| Outlook / Gmail / mailbox | native email channel (SMTP
|
|
418
|
+
| Outlook / Gmail / mailbox | native email channel (SMTP out, provider webhook in) — or the **IMAP broker** when there is no public URL — or a Graph/MCP connector |
|
|
419
419
|
| Slack / Teams / WhatsApp / Telegram | native `channels:` adapter on the human agent |
|
|
420
420
|
| A SaaS with an API (CRM/ERP/WMS, Box, Jira, SharePoint) | `integration: mcp` / `n8n` connector agent, shaped by `@sdk.intelligence` |
|
|
421
421
|
| A webhook-only system | `programmatic` agent + `connector_config.webhook_url` (n8n), or `/callback/{agent}` |
|
|
@@ -324,7 +324,7 @@ agents:
|
|
|
324
324
|
"Run time of job … was missed by H:MM:SS" warnings on wake. That is
|
|
325
325
|
by design: a 9 AM "assign the day's tasks" run firing at 5 PM is
|
|
326
326
|
worse than not firing. If you WANT one catch-up run on wake, set
|
|
327
|
-
|
|
327
|
+
``scheduler.misfire_grace_s`=none` (ops env knob; coalesce
|
|
328
328
|
guarantees at most ONE catch-up per schedule).
|
|
329
329
|
|
|
330
330
|
## 14. Conditions FAIL CLOSED on missing fields — and `not` does NOT rescue them
|
|
@@ -404,7 +404,7 @@ output contract so the contract is always satisfiable.
|
|
|
404
404
|
`LEAFMESH_*` env vars into the `timeouts`/`scheduler`/`runtime`/`limits`/
|
|
405
405
|
`connectors` YAML blocks (see agent-config-fields.md). The SDK does **not** warn
|
|
406
406
|
— a still-set env var is simply ignored and the default applies. Notably
|
|
407
|
-
|
|
407
|
+
``timeouts.llm_hard_timeout_s`` → `timeouts.llm_hard_timeout_s`, and the default
|
|
408
408
|
dropped **300s → 90s**. The `timeouts` block is **rejected by ≤2.4.130**, so it
|
|
409
409
|
must land *with* the 2.4.131 floor, never before.
|
|
410
410
|
- **`pip install leafmesh` is core + LLM providers only.** Channels, listeners,
|
|
@@ -195,20 +195,34 @@ entry_points:
|
|
|
195
195
|
# agents.<name>.skills.sourceName. See SKILL.md → Skills System.
|
|
196
196
|
|
|
197
197
|
# ── Brokers (v2.3.x — BRD-021 Event Listeners) ──
|
|
198
|
+
# A broker holds ONLY how to REACH the system. What to read from it —
|
|
199
|
+
# topic, consumer group, folder, qos — belongs on the agent's
|
|
200
|
+
# `listen_events`, because two agents may read different topics from one
|
|
201
|
+
# broker. Every broker model is extra="forbid", so putting them here is a
|
|
202
|
+
# load error, not a warning.
|
|
198
203
|
brokers:
|
|
199
204
|
order_events_kafka: # name referenced from agents.<name>.listen_events
|
|
200
205
|
type: "kafka"
|
|
201
|
-
bootstrap_servers: "kafka.internal:9092"
|
|
202
|
-
topic: "orders.created"
|
|
203
|
-
consumer_group: "leafmesh-order-processor"
|
|
206
|
+
bootstrap_servers: ["kafka.internal:9092"] # a LIST, not a string
|
|
204
207
|
support_inbox_imap:
|
|
205
208
|
type: "imap"
|
|
206
209
|
host: "imap.example.com"
|
|
207
210
|
port: 993
|
|
208
|
-
|
|
211
|
+
username: "support@example.com" # `username`, not `user`
|
|
209
212
|
password: "${IMAP_PASSWORD}"
|
|
210
|
-
|
|
211
|
-
|
|
213
|
+
|
|
214
|
+
# …and the agent says what it wants from them:
|
|
215
|
+
#
|
|
216
|
+
# agents:
|
|
217
|
+
# order_processor:
|
|
218
|
+
# listen_events:
|
|
219
|
+
# - broker: order_events_kafka
|
|
220
|
+
# topic: "orders.created"
|
|
221
|
+
# consumer_group: "leafmesh-order-processor"
|
|
222
|
+
# - broker: support_inbox_imap
|
|
223
|
+
# folder: "INBOX"
|
|
224
|
+
# poll_interval_s: 30
|
|
225
|
+
# unseen_only: true
|
|
212
226
|
|
|
213
227
|
# ── Agents ──
|
|
214
228
|
agents:
|
|
@@ -589,15 +603,15 @@ Each feed post contains:
|
|
|
589
603
|
| `COMPOSIO_API_KEY` | For Composio | Composio key |
|
|
590
604
|
| `XAI_API_KEY` | For Grok models | xAI API key |
|
|
591
605
|
| `MISTRAL_API_KEY` | For Mistral models | Mistral API key |
|
|
592
|
-
|
|
|
606
|
+
| ~~``timeouts.llm_hard_timeout_s``~~ | **DEAD (2.4.131)** | Moved to YAML `timeouts.llm_hard_timeout_s` (default **90**s; timed-out calls retry **once**, then fail; super-agent phases get 600s). The env var is **no longer read** — set the YAML block. Raise for long-running agents with big outputs |
|
|
593
607
|
| `LEAFMESH_SKILLS_DIR` | No | Root dir for `filesystem` skill sources when no `config.root` is set (default `./skills/`) |
|
|
594
608
|
| `LEAFMESH_API_PORT` | No | Mesh API port (default **18820**) |
|
|
595
|
-
|
|
|
596
|
-
| ~~`
|
|
609
|
+
| ~~``limits.max_parallel_tool_calls``~~ | **DEAD (2.4.131)** | Moved to YAML `limits.max_parallel_tool_calls` (default **8**). Env var no longer read |
|
|
610
|
+
| ~~`super_agent: {step_concurrency: N} on the agent`~~ | **DEAD (2.4.131)** | Now a per-agent super-agent dict key: `super_agent: {step_concurrency: N}` (default **4**). Env var no longer read |
|
|
597
611
|
| `LEAFMESH_WORKERS_MODE` | No | `1` enables workers/HA mode — required for running more than one instance against one Redis (exactly-once events, singleton runners, cross-instance locks) |
|
|
598
612
|
| `LEAFMESH_WORKERS` | No | Number of worker processes in workers mode |
|
|
599
|
-
|
|
|
600
|
-
|
|
|
613
|
+
| ``runtime.lease_seconds`` | No | Singleton-runner lease window (default **30**). Raise (e.g. `120`) when Redis is remote over a flaky link so connectivity blips shorter than the window never flap leased runners; heartbeat auto-scales to a third of the window (2.4.107) |
|
|
614
|
+
| ``runtime.lease_heartbeat_s`` | No | Explicit lease heartbeat interval override (must be < lease window) |
|
|
601
615
|
|
|
602
616
|
## Webhook HMAC Authentication
|
|
603
617
|
|