create-leafmesh 2.5.0__tar.gz → 2.5.2__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.5.0 → create_leafmesh-2.5.2}/PKG-INFO +1 -1
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/__init__.py +1 -1
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_registry.yaml +26 -1
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/claude_skills/leafmesh/SKILL.md +99 -7
- create_leafmesh-2.5.2/create_leafmesh/templates/starter/README.md +112 -0
- create_leafmesh-2.5.2/create_leafmesh/templates/starter/_prompts.json +1 -0
- create_leafmesh-2.5.2/create_leafmesh/templates/starter/agency/__init__.py +2 -0
- create_leafmesh-2.5.2/create_leafmesh/templates/starter/agency/_shared/__init__.py +1 -0
- create_leafmesh-2.5.2/create_leafmesh/templates/starter/configs/config.yaml +352 -0
- create_leafmesh-2.5.2/create_leafmesh/templates/starter/docker-compose.yml +34 -0
- create_leafmesh-2.5.2/create_leafmesh/templates/starter/env +19 -0
- create_leafmesh-2.5.2/create_leafmesh/templates/starter/main.py +77 -0
- create_leafmesh-2.5.2/create_leafmesh/templates/starter/tests/__pycache__/__init__.cpython-314.pyc +0 -0
- create_leafmesh-2.5.2/create_leafmesh/templates/starter/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
- create_leafmesh-2.5.2/create_leafmesh/templates/starter/tests/__pycache__/test_config_shape.cpython-314-pytest-9.0.2.pyc +0 -0
- create_leafmesh-2.5.2/create_leafmesh/templates/starter/tests/conftest.py +24 -0
- create_leafmesh-2.5.2/create_leafmesh/templates/starter/tests/test_config_shape.py +67 -0
- create_leafmesh-2.5.2/create_leafmesh/templates/warehouse-supply-chain/Dockerfile +9 -0
- create_leafmesh-2.5.2/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/audit_logger.py +149 -0
- create_leafmesh-2.5.2/create_leafmesh/templates/warehouse-supply-chain/dockerignore +13 -0
- create_leafmesh-2.5.2/create_leafmesh/templates/warehouse-supply-chain/gitignore +15 -0
- create_leafmesh-2.5.2/create_leafmesh/templates/warehouse-supply-chain/pytest.ini +5 -0
- create_leafmesh-2.5.2/create_leafmesh/templates/warehouse-supply-chain/requirements.txt +6 -0
- create_leafmesh-2.5.2/create_leafmesh/templates/warehouse-supply-chain/tests/__init__.py +0 -0
- create_leafmesh-2.5.2/create_leafmesh/templates/warehouse-supply-chain/validate_config.py +181 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh.egg-info/PKG-INFO +1 -1
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh.egg-info/SOURCES.txt +21 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/pyproject.toml +1 -1
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/cli.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/create.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/deploy.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/deploy_providers/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/deploy_providers/_shared.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/deploy_providers/aws.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/deploy_providers/azure.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/deploy_providers/gcp.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/Dockerfile +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/_REFERENCE_ONLY.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/__pycache__/main.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/agency/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/agency/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/agency/__pycache__/advisor_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/agency/__pycache__/external_agents.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/agency/__pycache__/fallback_researcher_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/agency/__pycache__/greeter_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/agency/__pycache__/processor_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/agency/__pycache__/researcher_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/agency/__pycache__/risk_scorer_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/agency/__pycache__/scheduler_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/agency/__pycache__/tools.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/agency/advisor_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/agency/external_agents.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/agency/fallback_researcher_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/agency/greeter_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/agency/processor_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/agency/researcher_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/agency/risk_scorer_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/agency/scheduler_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/agency/tools.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/configs/config.yaml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/docker-compose.yml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/dockerignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/env +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/gitignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/hitl_stub_receiver.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/logs/leafmesh_2026-06-11.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/main.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/requirements.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/skills/data-handling/SKILL.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/skills/data-handling/examples.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/skills/tone-rules.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/tests/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/tests/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/tests/__pycache__/test_config_shape.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/_inspire/validate_config.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/Dockerfile +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/_prompts.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/agency/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/agency/_shared/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/agency/_shared/__pycache__/audit_logger.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/configs/config.yaml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/docker-compose.yml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/dockerignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/env +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/examples/01_new_rfp_received.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/examples/02_win_post_mortem.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/examples/03_loss_with_competitor.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/examples/04_quarterly_win_rate.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/examples/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/examples/run_examples.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/gitignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/main.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/pytest.ini +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/requirements-dev.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/requirements.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/tests/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/tests/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/tests/__pycache__/test_config_shape.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/tests/conftest.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bd-proposals/validate_config.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/Dockerfile +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/__pycache__/main.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/_prompts.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/agency/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/agency/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/agency/__pycache__/esat_survey_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/agency/_shared/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/agency/_shared/__pycache__/audit_logger.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/agency/esat_survey_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/configs/config.yaml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/docker-compose.yml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/dockerignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/env +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/examples/01_new_project_kickoff.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/examples/02_weekly_bench_review.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/examples/03_promotion_readiness.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/examples/04_person_rolling_off.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/examples/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/examples/run_examples.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/gitignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/main.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/pytest.ini +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/requirements-dev.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/requirements.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/tests/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/tests/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/tests/__pycache__/test_agent_logic.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/tests/__pycache__/test_config_shape.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/tests/conftest.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/bench-management/validate_config.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/claude_skills/leafmesh/agent-config-fields.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/claude_skills/leafmesh/examples.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/claude_skills/leafmesh/reference.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/Dockerfile +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/_prompts.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/agency/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/agency/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/agency/_shared/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/agency/_shared/__pycache__/audit_logger.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/configs/config.yaml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/docker-compose.yml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/dockerignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/env +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/examples/01_telemetry_dau_drop.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/examples/02_billing_failed_payment.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/examples/03_renewal_window_60d.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/examples/04_executive_change.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/examples/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/examples/run_examples.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/gitignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/logs/leafmesh_2026-06-11.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/main.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/pytest.ini +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/requirements-dev.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/requirements.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/tests/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/tests/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/tests/__pycache__/test_agent_logic.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/tests/__pycache__/test_config_shape.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/tests/conftest.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-success/validate_config.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/Dockerfile +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/_prompts.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/agency/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/agency/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/agency/_shared/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/agency/_shared/__pycache__/audit_logger.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/configs/config.yaml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/docker-compose.yml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/dockerignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/env +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/examples/01_password_reset_routine.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/examples/02_billing_dispute_escalation.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/examples/03_security_incident.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/examples/04_kb_gap_signal.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/examples/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/examples/run_examples.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/gitignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/logs/leafmesh_2026-06-11.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/logs/leafmesh_2026-06-12.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/main.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/pytest.ini +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/requirements-dev.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/requirements.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/tests/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/tests/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/tests/__pycache__/test_agent_logic.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/tests/__pycache__/test_config_shape.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/tests/conftest.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/customer-support/validate_config.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/Dockerfile +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/__pycache__/main.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/_prompts.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/agency/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/agency/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/agency/__pycache__/code_reviewer_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/agency/__pycache__/spec_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/agency/_shared/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/agency/_shared/__pycache__/audit_logger.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/agency/_shared/__pycache__/session_stash.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/agency/code_reviewer_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/agency/spec_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/configs/config.yaml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/docker-compose.yml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/dockerignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/env +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/examples/01_simple_feature_ticket.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/examples/02_security_sensitive_change.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/examples/03_oncall_pager_alert.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/examples/04_refactor_proposal.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/examples/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/examples/run_examples.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/gitignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/logs/leafmesh_2026-06-09.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/logs/leafmesh_2026-06-10.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/logs/leafmesh_2026-06-11.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/main.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/pytest.ini +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/requirements-dev.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/requirements.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/tests/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/tests/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/tests/__pycache__/test_agent_logic.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/tests/__pycache__/test_config_shape.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/tests/conftest.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/engineering-sdlc/validate_config.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/Dockerfile +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/__pycache__/main.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/_prompts.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/agency/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/agency/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/agency/__pycache__/erp_poster_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/agency/__pycache__/gl_coding_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/agency/__pycache__/matching_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/agency/_shared/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/agency/_shared/__pycache__/erp_poster.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/agency/_shared/__pycache__/session_stash.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/agency/_shared/erp_poster.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/agency/erp_poster_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/agency/gl_coding_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/agency/loan_origination_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/agency/loan_servicing_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/agency/matching_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/configs/config.yaml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/docker-compose.yml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/dockerignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/env +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/examples/01_happy_path_subscription.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/examples/02_fraud_signal_round_number.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/examples/03_po_mismatch_exception.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/examples/04_high_value_cfo_signoff.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/examples/05_vendor_inquiry.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/examples/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/examples/run_examples.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/gitignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/logs/leafmesh_2026-06-12.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/main.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/pytest.ini +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/requirements-dev.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/requirements.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/tests/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/tests/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/tests/__pycache__/test_agent_logic.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/tests/__pycache__/test_config_shape.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/tests/conftest.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/finance-ops/validate_config.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/Dockerfile +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/__pycache__/main.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/_prompts.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/agency/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/agency/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/agency/__pycache__/commitments_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/agency/__pycache__/cost_anomaly_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/agency/__pycache__/cost_tuner_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/agency/__pycache__/finops_governance_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/agency/__pycache__/iac_drift_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/agency/__pycache__/regulatory_monitor_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/agency/_shared/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/agency/_shared/__pycache__/audit_logger.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/agency/_shared/__pycache__/session_stash.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/agency/cost_anomaly_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/agency/cost_tuner_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/configs/config.yaml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/docker-compose.yml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/dockerignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/env +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/examples/01_ec2_idle_anomaly.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/examples/02_savings_plan_under_utilised.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/examples/03_ri_expiry_30d.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/examples/04_iac_drift_detected.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/examples/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/examples/run_examples.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/gitignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/logs/leafmesh_2026-06-11.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/logs/leafmesh_2026-06-12.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/main.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/pytest.ini +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/requirements-dev.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/requirements.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/tests/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/tests/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/tests/__pycache__/test_agent_logic.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/tests/__pycache__/test_config_shape.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/tests/conftest.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/infra-cost-ops/validate_config.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/Dockerfile +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/__pycache__/main.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/_prompts.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/agency/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/agency/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/agency/__pycache__/compliance_reviewer_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/agency/__pycache__/marketing_audit_logger_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/agency/__pycache__/publisher_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/agency/_shared/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/agency/_shared/__pycache__/audit_logger.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/agency/_shared/__pycache__/session_stash.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/agency/compliance_reviewer_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/agency/marketing_audit_logger_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/agency/publisher_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/configs/config.yaml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/docker-compose.yml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/dockerignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/env +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/examples/01_new_campaign_brief.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/examples/02_product_launch_kickoff.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/examples/03_brand_crisis.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/examples/04_competitor_pricing_move.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/examples/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/examples/__pycache__/run_examples.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/examples/run_examples.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/gitignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/logs/leafmesh_2026-06-12.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/main.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/pytest.ini +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/requirements-dev.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/requirements.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/tests/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/tests/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/tests/__pycache__/test_agent_logic.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/tests/__pycache__/test_config_shape.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/tests/conftest.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/marketing-ops/validate_config.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/Dockerfile +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/_prompts.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/agency/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/agency/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/agency/__pycache__/safety_incident_reporter_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/agency/__pycache__/work_order_scheduler_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/agency/_shared/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/agency/_shared/__pycache__/audit_logger.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/agency/safety_incident_reporter_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/agency/work_order_scheduler_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/configs/config.yaml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/docker-compose.yml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/dockerignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/env +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/examples/01_routine_sensor_reading.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/examples/02_anomaly_failure_predicted.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/examples/03_safety_critical_shutdown.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/examples/04_weekly_parts_forecast.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/examples/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/examples/run_examples.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/gitignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/logs/leafmesh_2026-06-09.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/logs/leafmesh_2026-06-10.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/logs/leafmesh_2026-06-11.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/logs/leafmesh_2026-06-12.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/main.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/pytest.ini +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/requirements-dev.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/requirements.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/tests/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/tests/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/tests/__pycache__/test_agent_logic.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/tests/__pycache__/test_config_shape.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/tests/conftest.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/predictive-maintenance/validate_config.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/Dockerfile +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/TESTING_GUIDE.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/WORKFLOW_GUIDE.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/__pycache__/main.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/__pycache__/data_loader.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/__pycache__/grn_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/__pycache__/inventory_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/__pycache__/logistics_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/__pycache__/order_intake_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/__pycache__/purchase_order_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/__pycache__/supplier_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/__pycache__/supply_report_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/__pycache__/tariff_classifier_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/__pycache__/tools.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/__pycache__/trade_compliance_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/_shared/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/_shared/__pycache__/session_stash.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/data_loader.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/grn_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/inventory_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/logistics_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/order_intake_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/purchase_order_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/supplier_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/supply_report_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/tariff_classifier_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/tools.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/agency/trade_compliance_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/configs/config.yaml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/configs/inventory.yaml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/configs/open_pos.yaml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/configs/suppliers.yaml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/docker-compose.yml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/dockerignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/env +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/gitignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/main.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/requirements.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/tests/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/tests/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/tests/__pycache__/test_config_shape.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/procurement-ops/validate_config.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/Dockerfile +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/__pycache__/main.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/_prompts.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/agency/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/agency/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/agency/__pycache__/constraint_flagger_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/agency/_shared/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/agency/_shared/__pycache__/audit_logger.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/agency/_shared/__pycache__/session_stash.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/agency/constraint_flagger_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/agency/release_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/agency/scheduler_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/configs/config.yaml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/docker-compose.yml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/dockerignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/env +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/examples/01_demand_signal_normal.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/examples/02_supplier_delay.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/examples/03_emergency_constraint_alert.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/examples/04_supplier_capacity_change.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/examples/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/examples/run_examples.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/gitignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/logs/leafmesh_2026-06-09.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/logs/leafmesh_2026-06-10.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/logs/leafmesh_2026-06-11.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/logs/leafmesh_2026-06-12.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/main.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/pytest.ini +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/requirements-dev.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/requirements.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/tests/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/tests/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/tests/__pycache__/test_agent_logic.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/tests/__pycache__/test_config_shape.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/tests/conftest.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/production-planning/validate_config.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/Dockerfile +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/__pycache__/main.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/_prompts.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/agency/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/agency/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/agency/__pycache__/corrective_action_tracker_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/agency/__pycache__/inspection_intake_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/agency/__pycache__/quality_engineer_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/agency/__pycache__/recall_traceability_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/agency/__pycache__/regulatory_compliance_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/agency/__pycache__/spc_monitor_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/agency/_shared/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/agency/_shared/__pycache__/audit_logger.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/agency/recall_traceability_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/agency/spc_monitor_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/configs/config.yaml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/data/spc_measurements.db +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/docker-compose.yml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/dockerignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/env +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/examples/01_routine_inspection.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/examples/02_defect_cluster.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/examples/03_field_complaint_recall.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/examples/04_regulatory_audit_pull.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/examples/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/examples/run_examples.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/gitignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/logs/leafmesh_2026-06-12.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/main.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/pytest.ini +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/requirements-dev.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/requirements.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/tests/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/tests/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/tests/__pycache__/test_agent_logic.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/tests/__pycache__/test_config_shape.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/tests/conftest.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quality-yield/validate_config.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/Dockerfile +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/__pycache__/main.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/_prompts.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/agency/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/agency/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/agency/__pycache__/discount_policy_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/agency/__pycache__/quote_drafter_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/agency/_shared/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/agency/_shared/__pycache__/audit_logger.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/agency/_shared/__pycache__/session_stash.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/agency/discount_policy_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/agency/quote_drafter_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/configs/config.yaml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/docker-compose.yml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/dockerignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/env +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/examples/01_rfq_standard.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/examples/02_steep_discount_finance.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/examples/03_competitor_price_change.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/examples/04_renewal_uplift_bundle.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/examples/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/examples/run_examples.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/gitignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/logs/leafmesh_2026-06-09.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/logs/leafmesh_2026-06-10.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/logs/leafmesh_2026-06-11.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/logs/leafmesh_2026-06-12.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/main.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/pytest.ini +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/requirements-dev.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/requirements.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/tests/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/tests/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/tests/__pycache__/test_agent_logic.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/tests/__pycache__/test_config_shape.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/tests/conftest.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/quote-to-cash/validate_config.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/Dockerfile +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/__pycache__/main.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/_prompts.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/agency/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/agency/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/agency/__pycache__/bias_audit_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/agency/_shared/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/agency/_shared/__pycache__/audit_logger.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/agency/bias_audit_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/configs/config.yaml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/docker-compose.yml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/dockerignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/env +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/examples/01_new_req_filed.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/examples/02_candidate_rejection_letter.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/examples/03_offer_drafting.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/examples/04_ghosted_candidate_close.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/examples/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/examples/run_examples.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/gitignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/logs/leafmesh_2026-06-11.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/logs/leafmesh_2026-06-12.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/main.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/pytest.ini +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/requirements-dev.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/requirements.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/tests/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/tests/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/tests/__pycache__/test_agent_logic.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/tests/__pycache__/test_config_shape.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/tests/conftest.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/recruiting-ops/validate_config.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/Dockerfile +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/__pycache__/main.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/_prompts.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/agency/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/agency/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/agency/_shared/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/agency/_shared/__pycache__/audit_logger.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/configs/config.yaml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/docker-compose.yml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/dockerignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/env +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/examples/01_inbound_demo_request.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/examples/02_cold_lead_revival.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/examples/03_competitor_steal_signal.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/examples/04_event_followup_burst.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/examples/05_enriched_inbound_lead.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/examples/06_deal_nurture_sweep.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/examples/07_abm_account_activation.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/examples/08_competitive_intel_pull.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/examples/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/examples/run_examples.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/gitignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/main.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/pytest.ini +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/requirements-dev.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/requirements.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/tests/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/tests/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/tests/__pycache__/test_agent_logic.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/tests/__pycache__/test_config_shape.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/tests/conftest.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/sales-orchestration/validate_config.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/Dockerfile +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/__pycache__/main.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/_prompts.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/agency/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/agency/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/agency/__pycache__/brief_intake_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/agency/__pycache__/citation_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/agency/__pycache__/consultant_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/agency/__pycache__/context_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/agency/__pycache__/delivery_router_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/agency/__pycache__/doc_extraction_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/agency/__pycache__/engagement_controller_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/agency/__pycache__/engagement_status_drafter_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/agency/__pycache__/performance_review_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/agency/__pycache__/qa_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/agency/__pycache__/research_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/agency/__pycache__/status_sweep_orchestrator_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/agency/_shared/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/agency/_shared/__pycache__/audit_logger.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/agency/_shared/__pycache__/session_stash.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/agency/citation_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/agency/context_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/agency/qa_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/configs/config.yaml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/docker-compose.yml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/dockerignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/env +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/examples/01_new_engagement_memo.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/examples/02_friday_status_pack.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/examples/03_high_stakes_deliverable.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/examples/04_monthly_steering_pack.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/examples/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/examples/run_examples.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/gitignore +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/logs/leafmesh_2026-06-11.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/logs/leafmesh_2026-06-12.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/main.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/pytest.ini +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/requirements-dev.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/requirements.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/tests/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/tests/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/tests/__pycache__/test_agent_logic.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/tests/__pycache__/test_config_shape.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/tests/conftest.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/services-delivery/validate_config.py +0 -0
- {create_leafmesh-2.5.0/create_leafmesh/templates/warehouse-supply-chain → create_leafmesh-2.5.2/create_leafmesh/templates/starter}/Dockerfile +0 -0
- {create_leafmesh-2.5.0/create_leafmesh/templates/warehouse-supply-chain → create_leafmesh-2.5.2/create_leafmesh/templates/starter}/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.5.0/create_leafmesh/templates/warehouse-supply-chain → create_leafmesh-2.5.2/create_leafmesh/templates/starter}/dockerignore +0 -0
- {create_leafmesh-2.5.0/create_leafmesh/templates/warehouse-supply-chain → create_leafmesh-2.5.2/create_leafmesh/templates/starter}/gitignore +0 -0
- {create_leafmesh-2.5.0/create_leafmesh/templates/warehouse-supply-chain → create_leafmesh-2.5.2/create_leafmesh/templates/starter}/pytest.ini +0 -0
- {create_leafmesh-2.5.0/create_leafmesh/templates/warehouse-supply-chain → create_leafmesh-2.5.2/create_leafmesh/templates/starter}/requirements.txt +0 -0
- {create_leafmesh-2.5.0/create_leafmesh/templates/warehouse-supply-chain → create_leafmesh-2.5.2/create_leafmesh/templates/starter}/tests/__init__.py +0 -0
- {create_leafmesh-2.5.0/create_leafmesh/templates/warehouse-supply-chain → create_leafmesh-2.5.2/create_leafmesh/templates/starter}/validate_config.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/__pycache__/main.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/_prompts.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/agency/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/agency/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/agency/__pycache__/allocation_agent.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/agency/__pycache__/inspection_humanoid.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/agency/__pycache__/loader_humanoid.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/agency/__pycache__/packer_humanoid.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/agency/__pycache__/picker_humanoid.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/__pycache__/audit_logger.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/agency/allocation_agent.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/agency/inspection_humanoid.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/agency/loader_humanoid.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/agency/packer_humanoid.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/agency/picker_humanoid.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/configs/config.yaml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/docker-compose.yml +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/env +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/examples/01_routine_order.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/examples/02_short_pick_exception.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/examples/03_returns_inspection.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/examples/04_carrier_outage_failover.json +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/examples/README.md +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/examples/run_examples.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/logs/leafmesh_2026-06-11.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/logs/leafmesh_2026-06-12.log +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/main.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/requirements-dev.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/tests/__pycache__/__init__.cpython-314.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/tests/__pycache__/test_agent_logic.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/tests/__pycache__/test_config_shape.cpython-314-pytest-9.0.2.pyc +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/tests/conftest.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh/templates/warehouse-supply-chain/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh.egg-info/dependency_links.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh.egg-info/entry_points.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh.egg-info/requires.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/create_leafmesh.egg-info/top_level.txt +0 -0
- {create_leafmesh-2.5.0 → create_leafmesh-2.5.2}/setup.cfg +0 -0
|
@@ -25,9 +25,34 @@ version: 2
|
|
|
25
25
|
templates:
|
|
26
26
|
|
|
27
27
|
# ──────────────────────────────────────────────────────────────
|
|
28
|
-
#
|
|
28
|
+
# START HERE
|
|
29
29
|
# ──────────────────────────────────────────────────────────────
|
|
30
30
|
|
|
31
|
+
- slug: starter
|
|
32
|
+
status: ready
|
|
33
|
+
category: "Start here"
|
|
34
|
+
short_name: "Starter"
|
|
35
|
+
full_name: "Starter — build a mesh from scratch"
|
|
36
|
+
one_line: "Blank canvas: 1 LLM intake → human review gate → WORM audit, with copy-paste patterns to grow."
|
|
37
|
+
industries: ["any"]
|
|
38
|
+
roi_cells: []
|
|
39
|
+
agent_count: 3
|
|
40
|
+
cron_count: 0
|
|
41
|
+
trust_lead: "human-review gate on sensitive requests; hash-chained audit terminus; default-deny on reviewer timeout"
|
|
42
|
+
complexity: "low"
|
|
43
|
+
decision_tree_path: "start_from_scratch"
|
|
44
|
+
description: >
|
|
45
|
+
The template to pick when none of the business templates fit —
|
|
46
|
+
a minimal, working 3-agent mesh whose configs/config.yaml is
|
|
47
|
+
written as a guided tutorial. Read it top to bottom: an LLM
|
|
48
|
+
intake agent classifies a request and routes (via readable
|
|
49
|
+
can_call wires) either to a human reviewer or straight to the
|
|
50
|
+
hash-chained audit log. Ships three commented, copy-paste
|
|
51
|
+
patterns to grow into — a second LLM agent, a connector agent
|
|
52
|
+
for your system of record (MCP/Zapier/n8n), and a scheduled
|
|
53
|
+
cron. YAML-first: the only Python is the shared WORM audit sink.
|
|
54
|
+
Includes validate_config.py for pre-flight checks.
|
|
55
|
+
|
|
31
56
|
- slug: finance-ops
|
|
32
57
|
status: ready
|
|
33
58
|
category: "Finance & back-office"
|
|
@@ -1013,9 +1013,49 @@ rather than being manufactured as `false`/`""`. Two consequences:
|
|
|
1013
1013
|
edges. `entry_points` targets are stricter — a typo'd target raises
|
|
1014
1014
|
`ConfigError` at load.
|
|
1015
1015
|
|
|
1016
|
-
## Decorators
|
|
1017
|
-
|
|
1018
|
-
|
|
1016
|
+
## Decorators — Making an Agent Self-Reliant
|
|
1017
|
+
|
|
1018
|
+
**We are not wiring a workflow of nodes. We are building an OPERATION —
|
|
1019
|
+
a team of self-reliant agents.** A node waits to be handed clean inputs
|
|
1020
|
+
and emits a fixed output. An AGENT, like a capable hire, does its own
|
|
1021
|
+
job end to end: it gathers what it needs before it decides, makes sense
|
|
1022
|
+
of what a system hands back, finishes its own work before passing it
|
|
1023
|
+
on, and addresses each colleague in the language that colleague needs.
|
|
1024
|
+
The decorators below are how an agent becomes self-reliant instead of a
|
|
1025
|
+
step in a pipe.
|
|
1026
|
+
|
|
1027
|
+
An agent may call peers (`can_call`) — that *is* the operation. But it
|
|
1028
|
+
owns its own preparation and post-processing; it never leans on the next
|
|
1029
|
+
agent to clean up after it. **Self-reliant first, collaborative second.**
|
|
1030
|
+
|
|
1031
|
+
(Most pure-LLM agents need NONE of these — the SDK derives behaviour
|
|
1032
|
+
from `yields`. Reach for a decorator only when the agent must do real
|
|
1033
|
+
work *around* the model.)
|
|
1034
|
+
|
|
1035
|
+
| The agent needs to… | Reach for | When it runs |
|
|
1036
|
+
|---|---|---|
|
|
1037
|
+
| gather facts/inputs it needs BEFORE reasoning (fetch a CRM tier, clean the input, load policy) | `@pre_compose` | before the LLM |
|
|
1038
|
+
| make sense of a system-of-record's RAW response (a connector returned JSON → turn it into yields) | `@sdk.intelligence` | *is* the agent's logic |
|
|
1039
|
+
| finish its OWN work after deciding (validate, score, format, bound a retry) | `@chain` | after the LLM, in order |
|
|
1040
|
+
| keep each step's result, not just the final (a derivation with an audit trail of stages) | `@chain_with_results` | after the LLM |
|
|
1041
|
+
| do extra work ONLY in some cases (escalate + approve only when flagged) | `@conditional_chain` | after the LLM, if-condition |
|
|
1042
|
+
| hand a DIFFERENT shape to each peer it calls (billing wants the invoice, support the summary) | `@compose` | shaping the handoff |
|
|
1043
|
+
|
|
1044
|
+
One judgment to keep straight: an agent that **always** needs a fact
|
|
1045
|
+
should `@pre_compose` it — don't make the model *decide* to fetch a
|
|
1046
|
+
thing it always needs. Pre-fetched facts the model reasons over; a
|
|
1047
|
+
**tool call** is the opposite (optional, model-chosen, for things it
|
|
1048
|
+
*may* reach for). Confusing the two is the most common modelling error.
|
|
1049
|
+
|
|
1050
|
+
### @pre_compose — gather what you need before you decide
|
|
1051
|
+
*Essence: run fetch / clean / enrich BEFORE the model sees the prompt,
|
|
1052
|
+
so the agent reasons over already-resolved facts instead of choosing to
|
|
1053
|
+
go get them. The professional pulls the file before the meeting.*
|
|
1054
|
+
*Reach for it when* the agent must cite a live external fact (CRM tier,
|
|
1055
|
+
account balance, today's rate) or a normalised input in its reasoning,
|
|
1056
|
+
every time it runs.
|
|
1057
|
+
*Instead of* a tool call (optional, model-decided) or a fetch buried in
|
|
1058
|
+
the agent body (runs after the model already guessed).
|
|
1019
1059
|
```python
|
|
1020
1060
|
from leafmesh import pre_compose
|
|
1021
1061
|
|
|
@@ -1029,7 +1069,39 @@ async def my_agent(llm_response, input_data, context):
|
|
|
1029
1069
|
return {"result": llm_response}
|
|
1030
1070
|
```
|
|
1031
1071
|
|
|
1032
|
-
### @
|
|
1072
|
+
### @sdk.intelligence — make sense of what a system hands back
|
|
1073
|
+
*Essence: a connector (`integration:` / `framework:`) returns its
|
|
1074
|
+
system's RAW response; the intelligence function IS the agent's logic
|
|
1075
|
+
that turns that raw payload into the agent's declared `yields`. Without
|
|
1076
|
+
it the connector response passes through as-is — fine ONLY when the
|
|
1077
|
+
system's shape already matches your contract (it rarely does).*
|
|
1078
|
+
*Reach for it when* a programmatic/external agent calls a real system of
|
|
1079
|
+
record (CRM/ERP/WMS via MCP/Zapier/n8n) and you must map its response
|
|
1080
|
+
into the fields your wires and downstream agents expect.
|
|
1081
|
+
*Instead of* trusting the connector's shape to match your yields, or
|
|
1082
|
+
making a downstream agent reshape it (that's the next agent cleaning up
|
|
1083
|
+
after this one — not self-reliant).
|
|
1084
|
+
```python
|
|
1085
|
+
# Programmatic/external agent: the connector runs, then THIS shapes its
|
|
1086
|
+
# raw result into the agent's yields. Registered via the SDK (see the
|
|
1087
|
+
# audit sink in agency/_shared/ for the registration form).
|
|
1088
|
+
async def crm_lookup_agent(connector_response, input_data, context):
|
|
1089
|
+
# connector_response = the CRM's raw JSON
|
|
1090
|
+
return {
|
|
1091
|
+
"customer_id": connector_response.get("id", ""),
|
|
1092
|
+
"tier": connector_response.get("account", {}).get("tier", "standard"),
|
|
1093
|
+
}
|
|
1094
|
+
```
|
|
1095
|
+
|
|
1096
|
+
### @chain — finish your own work before handing off
|
|
1097
|
+
*Essence: run validate / score / format / bound-a-retry AFTER the model,
|
|
1098
|
+
in order, as part of THIS agent's job — so what it hands a colleague is
|
|
1099
|
+
already finished, not half-done.*
|
|
1100
|
+
*Reach for it when* the agent must clamp or validate its output, compute
|
|
1101
|
+
a deterministic field from the model's judgment, or bound a retry
|
|
1102
|
+
back-edge before it routes.
|
|
1103
|
+
*Instead of* leaving cleanup to the downstream agent, or scattering
|
|
1104
|
+
post-processing inline with no order guarantee.
|
|
1033
1105
|
```python
|
|
1034
1106
|
from leafmesh import chain
|
|
1035
1107
|
|
|
@@ -1039,7 +1111,13 @@ async def my_agent(llm_response, input_data, context):
|
|
|
1039
1111
|
# Runs: agent() -> validate() -> format_output()
|
|
1040
1112
|
```
|
|
1041
1113
|
|
|
1042
|
-
### @chain_with_results
|
|
1114
|
+
### @chain_with_results — keep the trail, not just the answer
|
|
1115
|
+
*Essence: like `@chain`, but preserves EACH stage's result, not only the
|
|
1116
|
+
final one — for when the operation needs an audit trail of how the agent
|
|
1117
|
+
got there.*
|
|
1118
|
+
*Reach for it when* a multi-stage derivation must be inspectable after
|
|
1119
|
+
the fact (compliance, debugging a scored decision).
|
|
1120
|
+
*Instead of* `@chain`, when the intermediate results are throwaway.
|
|
1043
1121
|
```python
|
|
1044
1122
|
from leafmesh import chain_with_results
|
|
1045
1123
|
|
|
@@ -1049,7 +1127,14 @@ async def my_agent(llm_response, input_data, context):
|
|
|
1049
1127
|
# Returns: {"main_result": ..., "chain_results": [step1_result, step2_result, step3_result]}
|
|
1050
1128
|
```
|
|
1051
1129
|
|
|
1052
|
-
### @conditional_chain
|
|
1130
|
+
### @conditional_chain — do the extra work only when it's warranted
|
|
1131
|
+
*Essence: run a follow-on pipeline ONLY if a condition on the result
|
|
1132
|
+
holds — the agent enriches/escalates itself when needed and skips the
|
|
1133
|
+
cost when not.*
|
|
1134
|
+
*Reach for it when* extra steps (a second review, an approval pass)
|
|
1135
|
+
apply to some results, not all.
|
|
1136
|
+
*Instead of* always running the steps (waste), or pushing the branch
|
|
1137
|
+
onto a `can_call` wire when it's really part of THIS agent's own job.
|
|
1053
1138
|
```python
|
|
1054
1139
|
from leafmesh import conditional_chain
|
|
1055
1140
|
|
|
@@ -1061,7 +1146,14 @@ async def my_agent(llm_response, input_data, context):
|
|
|
1061
1146
|
return {"needs_review": True, "data": llm_response}
|
|
1062
1147
|
```
|
|
1063
1148
|
|
|
1064
|
-
### @compose
|
|
1149
|
+
### @compose — speak to each colleague in their language
|
|
1150
|
+
*Essence: shape a DIFFERENT payload for each downstream agent this one
|
|
1151
|
+
calls — billing gets the invoice, support gets the summary — instead of
|
|
1152
|
+
broadcasting one fat dict and making each peer dig for its part.*
|
|
1153
|
+
*Reach for it when* one agent fans out to several peers that each need a
|
|
1154
|
+
different slice or shape of its result.
|
|
1155
|
+
*Instead of* emitting one combined dict and relying on every downstream
|
|
1156
|
+
agent to extract its part (which couples them all to your shape).
|
|
1065
1157
|
```python
|
|
1066
1158
|
from leafmesh import compose
|
|
1067
1159
|
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# {{project_name}} — Starter Mesh
|
|
2
|
+
|
|
3
|
+
A **blank canvas** for building a LeafMesh agent mesh from scratch. It
|
|
4
|
+
ships a tiny, working 3-agent mesh and — more importantly — a
|
|
5
|
+
`configs/config.yaml` written as a guided tutorial. Read that file top
|
|
6
|
+
to bottom; this README is the 5-minute quick start.
|
|
7
|
+
|
|
8
|
+
> New here? This is the template to pick when none of the business
|
|
9
|
+
> templates (finance-ops, customer-support, …) match what you're
|
|
10
|
+
> building. Start from this and grow it into your own department.
|
|
11
|
+
|
|
12
|
+
## What's in the box
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
configs/config.yaml ← the mesh + the tutorial (READ THIS)
|
|
16
|
+
main.py ← boots the mesh, registers the audit sink
|
|
17
|
+
agency/_shared/ ← the WORM audit sink (the only Python shipped)
|
|
18
|
+
validate_config.py ← pre-flight checker — run before main.py
|
|
19
|
+
env ← copy to .env and fill in
|
|
20
|
+
Dockerfile / compose ← container assets
|
|
21
|
+
tests/ ← a config-shape test you can extend
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
The mesh itself is three agents:
|
|
25
|
+
|
|
26
|
+
| Agent | Kind | Role |
|
|
27
|
+
|---|---|---|
|
|
28
|
+
| `intake_agent` | LLM | Reads a request, classifies it, decides if a human is needed |
|
|
29
|
+
| `reviewer_human` | Human | Approves/rejects sensitive requests (HITL gate) |
|
|
30
|
+
| `audit_logger_agent` | External | Hash-chained, append-only audit log (terminus) |
|
|
31
|
+
|
|
32
|
+
Routine requests: `intake → audit`. Sensitive ones: `intake → reviewer → audit`.
|
|
33
|
+
|
|
34
|
+
## Run it
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
pip install -r requirements.txt
|
|
38
|
+
|
|
39
|
+
# state store
|
|
40
|
+
docker run -d -p 6379:6379 redis:7-alpine
|
|
41
|
+
|
|
42
|
+
# config
|
|
43
|
+
cp env .env # then edit: LEAFMESH_LICENSE_KEY, OPENAI_API_KEY
|
|
44
|
+
|
|
45
|
+
# pre-flight — catches YAML / wiring / contract mistakes before boot
|
|
46
|
+
python validate_config.py
|
|
47
|
+
|
|
48
|
+
# go — API + docs at http://127.0.0.1:18820/docs
|
|
49
|
+
python main.py
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Fire a request (new terminal):
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
# routine → answered + logged, no human
|
|
56
|
+
curl -X POST http://127.0.0.1:18820/api/mesh/call \
|
|
57
|
+
-H "Content-Type: application/json" \
|
|
58
|
+
-d '{"entry_point":"new_request",
|
|
59
|
+
"input_data":{"source":"manual","message":"What are your hours?"}}'
|
|
60
|
+
|
|
61
|
+
# sensitive → parked at the reviewer (approve it from the Studio inbox)
|
|
62
|
+
curl -X POST http://127.0.0.1:18820/api/mesh/call \
|
|
63
|
+
-H "Content-Type: application/json" \
|
|
64
|
+
-d '{"entry_point":"new_request",
|
|
65
|
+
"input_data":{"source":"manual","message":"Please refund order 1234"}}'
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Watch the audit trail build:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
tail -f logs/audit.jsonl
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## How to grow it
|
|
75
|
+
|
|
76
|
+
Everything you add is a few lines of YAML. The config file has three
|
|
77
|
+
ready-to-uncomment patterns:
|
|
78
|
+
|
|
79
|
+
- **PATTERN A — a second LLM agent.** Add a teammate (e.g. a reply
|
|
80
|
+
writer) and a `can_call` wire to hand off to it.
|
|
81
|
+
- **PATTERN B — a connector agent.** Point an agent at *your* system of
|
|
82
|
+
record (CRM/ERP/ticketing) via `integration: mcp` (or zapier / n8n /
|
|
83
|
+
composio). No Python — the mesh never keeps a private copy of your data.
|
|
84
|
+
- **PATTERN C — a scheduled agent.** Give an agent a `wake_up:` cron and
|
|
85
|
+
a matching entry point for time-driven work.
|
|
86
|
+
|
|
87
|
+
The golden rules (from the LeafMesh skill):
|
|
88
|
+
|
|
89
|
+
1. **One role, multiple responsibilities** — an agent is a person you'd
|
|
90
|
+
hire. Don't split one job across two agents.
|
|
91
|
+
2. **Wires are the policy** — put routing rules in `can_call` conditions
|
|
92
|
+
where anyone can read them, not in code.
|
|
93
|
+
3. **YAML-first** — reach for a Python module only for actuators with
|
|
94
|
+
side effects, domain math that must not be hallucinated, or controls
|
|
95
|
+
like the audit sink. If you find yourself writing glue, the SDK
|
|
96
|
+
probably already does it.
|
|
97
|
+
|
|
98
|
+
After any change: `python validate_config.py` → `python main.py`.
|
|
99
|
+
|
|
100
|
+
## Deploy
|
|
101
|
+
|
|
102
|
+
When you're ready for the cloud, the bundled `leafmesh-deploy` pushes
|
|
103
|
+
this project to AWS / Azure / GCP:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
leafmesh-deploy --plan # see what would be created
|
|
107
|
+
leafmesh-deploy --apply # build + deploy
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
*Built with `create-leafmesh`. The config is the department.*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"env_vars": []}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""starter — shared utilities (WORM audit sink)."""
|
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
# {{project_name}} — Starter mesh (build from scratch)
|
|
2
|
+
#
|
|
3
|
+
# ─────────────────────────────────────────────────────────────────────
|
|
4
|
+
# READ THIS FILE TOP TO BOTTOM. It is a working 3-agent mesh AND a
|
|
5
|
+
# tutorial. Every block is commented so you can copy a pattern, rename
|
|
6
|
+
# it, and grow your own department. Run it as-is first:
|
|
7
|
+
#
|
|
8
|
+
# pip install -r requirements.txt
|
|
9
|
+
# docker run -d -p 6379:6379 redis:7-alpine # state store
|
|
10
|
+
# cp env .env && edit .env (LEAFMESH_LICENSE_KEY, OPENAI_API_KEY)
|
|
11
|
+
# python validate_config.py # pre-flight check
|
|
12
|
+
# python main.py # API at :18820/docs
|
|
13
|
+
#
|
|
14
|
+
# Then trigger the example flow:
|
|
15
|
+
#
|
|
16
|
+
# curl -X POST http://127.0.0.1:18820/api/mesh/call \
|
|
17
|
+
# -H "Content-Type: application/json" \
|
|
18
|
+
# -d '{"entry_point": "new_request",
|
|
19
|
+
# "input_data": {"source": "manual",
|
|
20
|
+
# "message": "Please refund order 1234"}}'
|
|
21
|
+
#
|
|
22
|
+
# ─────────────────────────────────────────────────────────────────────
|
|
23
|
+
# THE MENTAL MODEL (the one thing to internalise)
|
|
24
|
+
#
|
|
25
|
+
# A mesh is a TEAM of agents that talk peer-to-peer, not a pipeline.
|
|
26
|
+
# • An agent is a person you'd HIRE — its name is a job title, its
|
|
27
|
+
# prompt is the job description, its yields are what it hands back.
|
|
28
|
+
# • Agents call each other via `can_call:` with a `condition:` on the
|
|
29
|
+
# wire — that condition IS the business rule, written where anyone
|
|
30
|
+
# can read it (no logic hidden in Python).
|
|
31
|
+
# • The Manager hovers above and only steps in on exceptions.
|
|
32
|
+
# • YAML-FIRST: most agents need NO Python. The SDK turns `yields:`
|
|
33
|
+
# into structured output automatically. Add a Python module only
|
|
34
|
+
# for things YAML can't do — see agency/README notes below.
|
|
35
|
+
#
|
|
36
|
+
# This starter has 3 agents: one LLM intake, one human review gate, one
|
|
37
|
+
# WORM audit sink. Plus commented-out patterns (a second LLM agent, a
|
|
38
|
+
# connector to your system of record, a scheduled cron) for you to
|
|
39
|
+
# uncomment as you grow.
|
|
40
|
+
# ─────────────────────────────────────────────────────────────────────
|
|
41
|
+
|
|
42
|
+
name: "{{project_name}}"
|
|
43
|
+
version: "1.0.0"
|
|
44
|
+
architecture: "managed_mesh"
|
|
45
|
+
environment: "development"
|
|
46
|
+
debug: true
|
|
47
|
+
log_level: "INFO"
|
|
48
|
+
|
|
49
|
+
# ── State store. Sessions, conversation history, dedup windows live in
|
|
50
|
+
# Redis. localhost works for dev; point at your managed Redis in prod.
|
|
51
|
+
redis:
|
|
52
|
+
host: "${REDIS_HOST:localhost}"
|
|
53
|
+
port: ${REDIS_PORT:6379}
|
|
54
|
+
db: 0
|
|
55
|
+
password: "${REDIS_PASSWORD:}"
|
|
56
|
+
auto_storage: true
|
|
57
|
+
decode_responses: true
|
|
58
|
+
default_ttl: 86400
|
|
59
|
+
session_ttl: 86400
|
|
60
|
+
|
|
61
|
+
# ── Agent auto-discovery. Any agency/<name>_agent.py whose function
|
|
62
|
+
# name matches an agent in this file is auto-wired. Pure-YAML agents
|
|
63
|
+
# (no module) just work — the SDK derives their behaviour from the
|
|
64
|
+
# prompt + yields below.
|
|
65
|
+
auto_discover:
|
|
66
|
+
directory: "./agency"
|
|
67
|
+
pattern: "*_agent.py"
|
|
68
|
+
recursive: false
|
|
69
|
+
|
|
70
|
+
# ── The Manager — supervisor, NOT a router. It watches the event
|
|
71
|
+
# stream via the Summarizer and intervenes only on escalations,
|
|
72
|
+
# narration hints, and contract violations. The agents route
|
|
73
|
+
# themselves through can_call wires.
|
|
74
|
+
manager:
|
|
75
|
+
enabled: true
|
|
76
|
+
model: "gpt-4o-mini"
|
|
77
|
+
domain: "generic"
|
|
78
|
+
can_intervene: true
|
|
79
|
+
prompt: |
|
|
80
|
+
This is a starter mesh. A request comes in, intake_agent reads it
|
|
81
|
+
and decides whether it needs a human; routine items it answers
|
|
82
|
+
itself, sensitive ones go to reviewer_human. Everything ends in
|
|
83
|
+
the audit log.
|
|
84
|
+
|
|
85
|
+
Escalate when:
|
|
86
|
+
- intake_agent fails to classify after its retries
|
|
87
|
+
- reviewer_human does not respond within the timeout
|
|
88
|
+
routing:
|
|
89
|
+
mode: "learning" # "static" for regulated/safety paths
|
|
90
|
+
confidence_threshold: 0.7
|
|
91
|
+
fallback: "all"
|
|
92
|
+
|
|
93
|
+
mesh:
|
|
94
|
+
call_timeout: 120
|
|
95
|
+
|
|
96
|
+
# ─────────────────────────────────────────────────────────────────────
|
|
97
|
+
# DATA STRUCTURES — the canonical shape of things flowing through the
|
|
98
|
+
# mesh. Optional, but declaring them documents your domain and lets the
|
|
99
|
+
# SDK validate inputs. `required:` lists the fields an entry payload
|
|
100
|
+
# MUST carry.
|
|
101
|
+
# ─────────────────────────────────────────────────────────────────────
|
|
102
|
+
data_structures:
|
|
103
|
+
Request:
|
|
104
|
+
type: "object"
|
|
105
|
+
properties:
|
|
106
|
+
request_id: { type: "string" }
|
|
107
|
+
source: { type: "string" } # manual | email | webform | api
|
|
108
|
+
message: { type: "string" }
|
|
109
|
+
received_at_utc: { type: "string" }
|
|
110
|
+
required: ["source"]
|
|
111
|
+
|
|
112
|
+
# ─────────────────────────────────────────────────────────────────────
|
|
113
|
+
# ENTRY POINTS — every real-world trigger that can START a workflow.
|
|
114
|
+
# Name them after the TRIGGER (what happened in the world), point them
|
|
115
|
+
# at the agent that owns the first decision. A mesh has many doors.
|
|
116
|
+
# ─────────────────────────────────────────────────────────────────────
|
|
117
|
+
entry_points:
|
|
118
|
+
- name: "new_request"
|
|
119
|
+
target: "intake_agent"
|
|
120
|
+
description: "A new request arrives (form, email, manual entry)"
|
|
121
|
+
|
|
122
|
+
# Direct-call door — hit one agent directly, bypassing the chain.
|
|
123
|
+
# Handy for debugging / replay / programmatic ingest.
|
|
124
|
+
- name: "direct_call_intake"
|
|
125
|
+
target: "intake_agent"
|
|
126
|
+
description: "Run intake on one payload directly (debug / replay)"
|
|
127
|
+
|
|
128
|
+
# ── PATTERN: a scheduled entry point (cron). Uncomment the agent's
|
|
129
|
+
# `wake_up:` below to enable. A door that time opens, not a person.
|
|
130
|
+
# - name: "nightly_sweep"
|
|
131
|
+
# target: "your_cron_agent"
|
|
132
|
+
# description: "Nightly housekeeping sweep"
|
|
133
|
+
|
|
134
|
+
# ─────────────────────────────────────────────────────────────────────
|
|
135
|
+
# AGENTS — the team.
|
|
136
|
+
# ─────────────────────────────────────────────────────────────────────
|
|
137
|
+
agents:
|
|
138
|
+
|
|
139
|
+
# ── 1) LLM AGENT ────────────────────────────────────────────────
|
|
140
|
+
# The most common kind. No Python needed: the SDK sends the prompt to
|
|
141
|
+
# the model, forces a JSON response matching `yields:`, and fills any
|
|
142
|
+
# missing key with a type default so the wires below always evaluate.
|
|
143
|
+
#
|
|
144
|
+
# The wires under `can_call:` ARE the routing policy. Read them like
|
|
145
|
+
# business rules: "if it needs a human, send it to the reviewer;
|
|
146
|
+
# otherwise log it and finish."
|
|
147
|
+
intake_agent:
|
|
148
|
+
name: "intake_agent"
|
|
149
|
+
agent_type: "llm"
|
|
150
|
+
description: "Reads an incoming request, classifies it, decides if a human must review"
|
|
151
|
+
model: "gpt-4o-mini"
|
|
152
|
+
temperature: 0.1
|
|
153
|
+
communication_type: "chain"
|
|
154
|
+
prompt: |
|
|
155
|
+
You are the intake desk. Read the incoming request and classify it.
|
|
156
|
+
|
|
157
|
+
Decide:
|
|
158
|
+
- category: one of [question, complaint, refund, other]
|
|
159
|
+
- priority: one of [low, normal, high]
|
|
160
|
+
- needs_human: true ONLY when the request involves money,
|
|
161
|
+
a complaint, or anything you are not confident answering.
|
|
162
|
+
- draft_reply: a short, polite reply IF needs_human is false;
|
|
163
|
+
otherwise leave it empty (a human will write it).
|
|
164
|
+
- summary: one sentence a human reviewer could act on.
|
|
165
|
+
|
|
166
|
+
Echo `request_id` from the input unchanged so downstream steps
|
|
167
|
+
stay addressable.
|
|
168
|
+
|
|
169
|
+
OUTPUT CONTRACT — respond with ONLY valid JSON containing exactly
|
|
170
|
+
these keys:
|
|
171
|
+
{"category": "", "priority": "", "needs_human": false, "draft_reply": "", "summary": "", "request_id": ""}
|
|
172
|
+
|
|
173
|
+
# enforce_yields makes `yields:` a hard contract: on a bad-shape
|
|
174
|
+
# response the Manager retries the agent with the validation error.
|
|
175
|
+
enforce_yields: true
|
|
176
|
+
enforce_yields_retry: 2
|
|
177
|
+
|
|
178
|
+
# `yields:` doubles as the structured-output schema AND the set of
|
|
179
|
+
# fields the wires below (and downstream agents) may reference.
|
|
180
|
+
yields:
|
|
181
|
+
category: "string"
|
|
182
|
+
priority: "string"
|
|
183
|
+
needs_human: "boolean"
|
|
184
|
+
draft_reply: "string"
|
|
185
|
+
summary: "string"
|
|
186
|
+
request_id: "string"
|
|
187
|
+
|
|
188
|
+
inputs:
|
|
189
|
+
message: "string"
|
|
190
|
+
source: "string"
|
|
191
|
+
|
|
192
|
+
# ── The routing policy, as wires. Conditions reference THIS agent's
|
|
193
|
+
# own yields. Exactly one fires per run here, but a mesh can
|
|
194
|
+
# fan out to several at once.
|
|
195
|
+
can_call:
|
|
196
|
+
# Needs a human → hand to the reviewer gate.
|
|
197
|
+
- agent: "reviewer_human"
|
|
198
|
+
condition: "calling_agent_response.needs_human == true"
|
|
199
|
+
|
|
200
|
+
# Routine → straight to the audit log (intake already drafted it).
|
|
201
|
+
- agent: "audit_logger_agent"
|
|
202
|
+
condition: "calling_agent_response.needs_human == false"
|
|
203
|
+
|
|
204
|
+
auto_store_response: true
|
|
205
|
+
auto_store_yields: true
|
|
206
|
+
|
|
207
|
+
# ── 2) HUMAN AGENT (HITL gate) ──────────────────────────────────
|
|
208
|
+
# A real person in the loop. `human_interface: default` routes the
|
|
209
|
+
# task to the hosted Studio inbox; swap in Slack/Teams/webhook later.
|
|
210
|
+
# The person replies with one of the words the wires expect (below).
|
|
211
|
+
#
|
|
212
|
+
# IMPORTANT: when a human responds, the SDK delivers their reply as
|
|
213
|
+
# `human_message` (and other human_* meta fields) — NOT as your
|
|
214
|
+
# declared yields. So wire conditions on a human agent must read
|
|
215
|
+
# `calling_agent_response.human_message`, never `.decision`.
|
|
216
|
+
reviewer_human:
|
|
217
|
+
name: "reviewer_human"
|
|
218
|
+
agent_type: "human"
|
|
219
|
+
is_human_powered: true
|
|
220
|
+
description: "Reviews sensitive requests before any reply is sent"
|
|
221
|
+
human_interface: "default"
|
|
222
|
+
communication_type: "dual"
|
|
223
|
+
human_timeout_seconds: 3600 # 1 hour, then the fallback fires
|
|
224
|
+
|
|
225
|
+
# operator_ids: ["you@yourcompany.com"] # optional. UNSET = shared
|
|
226
|
+
# inbox (everyone sees it). Only set REAL emails — a placeholder
|
|
227
|
+
# assigns the task to a nonexistent person and it shows up in no
|
|
228
|
+
# inbox at all.
|
|
229
|
+
|
|
230
|
+
# Default-deny on silence: if no one answers in time, the workflow
|
|
231
|
+
# does NOT auto-approve — it records the timeout and stops.
|
|
232
|
+
fallback_on_timeout: true
|
|
233
|
+
fallback_response:
|
|
234
|
+
decision: "halt_for_review"
|
|
235
|
+
message: "halt_for_review" # must match a wire token below
|
|
236
|
+
note: "Reviewer did not respond — held for manual review"
|
|
237
|
+
|
|
238
|
+
yields:
|
|
239
|
+
decision: "string"
|
|
240
|
+
notes: "string"
|
|
241
|
+
inputs:
|
|
242
|
+
summary: "string"
|
|
243
|
+
request_id: "string"
|
|
244
|
+
|
|
245
|
+
human_prompt_template: |
|
|
246
|
+
Review this request before any reply goes out.
|
|
247
|
+
Reply "approve" to send, "reject" to decline.
|
|
248
|
+
Summary: {{summary}}
|
|
249
|
+
|
|
250
|
+
can_call:
|
|
251
|
+
# The person's reply arrives as human_message. Route on it.
|
|
252
|
+
- agent: "audit_logger_agent"
|
|
253
|
+
condition: "calling_agent_response.human_message == 'approve' or calling_agent_response.human_message == 'reject' or calling_agent_response.human_message == 'halt_for_review'"
|
|
254
|
+
|
|
255
|
+
# ── 3) AUDIT SINK (external, WORM) ──────────────────────────────
|
|
256
|
+
# The terminus of every flow. Hash-chained, append-only — tamper
|
|
257
|
+
# evident. This is the ONE bit of Python the starter ships
|
|
258
|
+
# (agency/_shared/audit_logger.py), registered in main.py. Leave it;
|
|
259
|
+
# it's your compliance backbone.
|
|
260
|
+
audit_logger_agent:
|
|
261
|
+
name: "audit_logger_agent"
|
|
262
|
+
agent_type: "external"
|
|
263
|
+
description: "Hash-chained WORM audit — the immutable terminus of every flow"
|
|
264
|
+
framework: "custom"
|
|
265
|
+
communication_type: "execute"
|
|
266
|
+
connector_config:
|
|
267
|
+
sink_type: "local_file"
|
|
268
|
+
local_file_path: "./logs/audit.jsonl"
|
|
269
|
+
yields:
|
|
270
|
+
audit_event_id: "string"
|
|
271
|
+
written_at_utc: "string"
|
|
272
|
+
hash_chain_prev: "string"
|
|
273
|
+
hash_chain_current: "string"
|
|
274
|
+
inputs:
|
|
275
|
+
session_id: "string"
|
|
276
|
+
payload: "object"
|
|
277
|
+
can_call: [] # terminal — the buck stops here
|
|
278
|
+
|
|
279
|
+
# ─────────────────────────────────────────────────────────────────
|
|
280
|
+
# PATTERNS TO GROW INTO — copy, uncomment, rename. (Commented out so
|
|
281
|
+
# the starter runs clean; `validate_config.py` will check them once
|
|
282
|
+
# you enable them.)
|
|
283
|
+
# ─────────────────────────────────────────────────────────────────
|
|
284
|
+
|
|
285
|
+
# ── PATTERN A: a second LLM agent the intake can hand off to.
|
|
286
|
+
# e.g. a drafter that writes the customer-facing reply. Add a wire
|
|
287
|
+
# on intake_agent: → responder_agent when needs_human == false,
|
|
288
|
+
# and have responder_agent → audit_logger_agent.
|
|
289
|
+
#
|
|
290
|
+
# responder_agent:
|
|
291
|
+
# name: "responder_agent"
|
|
292
|
+
# agent_type: "llm"
|
|
293
|
+
# description: "Writes the final customer reply for routine requests"
|
|
294
|
+
# model: "gpt-4o-mini"
|
|
295
|
+
# temperature: 0.3
|
|
296
|
+
# communication_type: "chain"
|
|
297
|
+
# prompt: |
|
|
298
|
+
# Write a warm, concise reply to the customer based on the
|
|
299
|
+
# intake summary and draft.
|
|
300
|
+
# OUTPUT CONTRACT — respond with ONLY valid JSON containing
|
|
301
|
+
# exactly these keys:
|
|
302
|
+
# {"reply_text": "", "request_id": ""}
|
|
303
|
+
# enforce_yields: true
|
|
304
|
+
# yields:
|
|
305
|
+
# reply_text: "string"
|
|
306
|
+
# request_id: "string"
|
|
307
|
+
# can_call:
|
|
308
|
+
# - agent: "audit_logger_agent"
|
|
309
|
+
|
|
310
|
+
# ── PATTERN B: a CONNECTOR agent — your system of record. The mesh
|
|
311
|
+
# should NOT keep a private copy of your CRM/ERP/ticketing data.
|
|
312
|
+
# A programmatic agent with `integration:` + `connector_config:`
|
|
313
|
+
# calls YOUR system. No Python module needed.
|
|
314
|
+
#
|
|
315
|
+
# crm_lookup_agent:
|
|
316
|
+
# name: "crm_lookup_agent"
|
|
317
|
+
# agent_type: "programmatic"
|
|
318
|
+
# description: "Looks up the customer in YOUR CRM (system of record)"
|
|
319
|
+
# integration: "mcp" # or: zapier | composio | n8n
|
|
320
|
+
# connector_config:
|
|
321
|
+
# transport: "http"
|
|
322
|
+
# url: "${CRM_MCP_URL:}" # set in .env when you wire it
|
|
323
|
+
# tool_name: "get_customer"
|
|
324
|
+
# yields:
|
|
325
|
+
# customer_id: "string"
|
|
326
|
+
# tier: "string"
|
|
327
|
+
# inputs:
|
|
328
|
+
# email: "string"
|
|
329
|
+
|
|
330
|
+
# ── PATTERN C: a SCHEDULED agent (cron). `wake_up:` is a 5-field cron
|
|
331
|
+
# expression. Nobody calls it — time does. Pair it with a matching
|
|
332
|
+
# entry_point above. Keep crons commented until the agent's
|
|
333
|
+
# dependencies (e.g. a connector) are actually wired, or the
|
|
334
|
+
# schedule just fills the logs with errors.
|
|
335
|
+
#
|
|
336
|
+
# nightly_digest_agent:
|
|
337
|
+
# name: "nightly_digest_agent"
|
|
338
|
+
# agent_type: "llm"
|
|
339
|
+
# description: "Summarises the day's requests for the team"
|
|
340
|
+
# model: "gpt-4o-mini"
|
|
341
|
+
# communication_type: "chain"
|
|
342
|
+
# wake_up: "0 18 * * *" # every day at 18:00
|
|
343
|
+
# prompt: |
|
|
344
|
+
# Summarise today's requests into a short team digest.
|
|
345
|
+
# OUTPUT CONTRACT — respond with ONLY valid JSON containing
|
|
346
|
+
# exactly these keys:
|
|
347
|
+
# {"digest": "", "total_requests": 0}
|
|
348
|
+
# yields:
|
|
349
|
+
# digest: "string"
|
|
350
|
+
# total_requests: "number"
|
|
351
|
+
# can_call:
|
|
352
|
+
# - agent: "audit_logger_agent"
|