create-leafmesh 2.6.2__tar.gz → 2.6.3__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.6.2 → create_leafmesh-2.6.3}/PKG-INFO +1 -1
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/__init__.py +1 -1
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/cli.py +11 -148
- create_leafmesh-2.6.3/create_leafmesh/discover.py +269 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/search.py +49 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh.egg-info/PKG-INFO +1 -1
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh.egg-info/SOURCES.txt +2 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/pyproject.toml +1 -1
- create_leafmesh-2.6.3/tests/test_discover.py +66 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/tests/test_search.py +31 -1
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/MANIFEST.in +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/create.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/deploy.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/deploy_providers/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/deploy_providers/_shared.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/deploy_providers/aws.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/deploy_providers/azure.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/deploy_providers/gcp.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/Dockerfile +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/_REFERENCE_ONLY.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/agency/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/agency/advisor_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/agency/external_agents.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/agency/fallback_researcher_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/agency/greeter_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/agency/processor_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/agency/researcher_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/agency/risk_scorer_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/agency/scheduler_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/agency/tools.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/configs/config.yaml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/docker-compose.yml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/dockerignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/env +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/gitignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/hitl_stub_receiver.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/main.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/requirements.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/skills/data-handling/SKILL.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/skills/data-handling/examples.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/skills/tone-rules.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/tests/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_inspire/validate_config.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/_registry.yaml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/Dockerfile +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/PRD.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/agency/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/agency/code_reviewer_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/agency/dev_planner_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/agency/developer_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/agency/merge_coordinator_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/agency/product_owner_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/agency/qa_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/agency/tools/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/agency/tools/tools.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/configs/config.yaml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/docker-compose.yml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/dockerignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/env +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/gitignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/main.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/pytest.ini +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/requirements.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/tests/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/tests/conftest.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/ai-dev-squad/validate_config.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/Dockerfile +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/PRD.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/_prompts.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/agency/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/agency/bid_no_bid_decisioner_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/agency/competitive_intel_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/agency/contracts_review_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/agency/precedent_research_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/agency/pricing_configurator_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/agency/proposal_assembler_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/agency/rfp_intake_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/configs/config.yaml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/docker-compose.yml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/dockerignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/env +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/examples/01_new_rfp_received.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/examples/02_win_post_mortem.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/examples/03_loss_with_competitor.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/examples/04_quarterly_win_rate.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/examples/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/gitignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/main.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/pytest.ini +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/requirements.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/tests/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/tests/conftest.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/tests/test_floors.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bd-proposals/validate_config.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/Dockerfile +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/PRD.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/_prompts.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/agency/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/agency/allocation_booker_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/agency/esat_survey_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/agency/staffing_coordinator_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/agency/talent_development_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/agency/workforce_analytics_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/configs/config.yaml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/docker-compose.yml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/dockerignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/env +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/examples/01_new_project_kickoff.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/examples/02_weekly_bench_review.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/examples/03_promotion_readiness.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/examples/04_person_rolling_off.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/examples/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/gitignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/main.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/pytest.ini +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/requirements.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/tests/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/tests/conftest.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/bench-management/validate_config.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/claude_skills/leafmesh/SKILL.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/claude_skills/leafmesh/agency-development.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/claude_skills/leafmesh/agent-config-fields.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/claude_skills/leafmesh/examples.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/claude_skills/leafmesh/reference.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/Dockerfile +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/PRD.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/_prompts.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/agency/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/agency/_shared/extract.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/agency/_shared/health_math.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/agency/account_intel_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/agency/health_score_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/agency/play_runner_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/agency/renewals_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/agency/risk_detector_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/agency/save_play_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/configs/config.yaml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/docker-compose.yml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/dockerignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/env +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/examples/01_telemetry_dau_drop.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/examples/02_billing_failed_payment.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/examples/03_renewal_window_60d.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/examples/04_executive_change.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/examples/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/gitignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/main.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/pytest.ini +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/requirements.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/tests/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/tests/conftest.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-success/validate_config.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/Dockerfile +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/PRD.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/_prompts.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/agency/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/agency/reply_dispatcher_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/configs/config.yaml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/docker-compose.yml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/dockerignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/env +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/examples/01_password_reset_routine.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/examples/02_billing_dispute_escalation.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/examples/03_security_incident.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/examples/04_kb_gap_signal.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/examples/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/gitignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/main.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/pytest.ini +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/requirements.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/tests/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/tests/conftest.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/customer-support/validate_config.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/Dockerfile +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/PRD.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/_prompts.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/agency/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/agency/_shared/compliance_screen.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/agency/_shared/dedupe.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/agency/_shared/erp_poster.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/agency/_shared/matching_math.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/agency/erp_poster_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/agency/gl_coding_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/agency/invoice_intake_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/agency/loan_origination_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/agency/loan_servicing_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/agency/matching_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/agency/payment_risk_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/agency/regulatory_monitor_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/agency/vendor_compliance_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/configs/config.yaml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/docker-compose.yml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/dockerignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/env +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/examples/01_happy_path_subscription.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/examples/02_fraud_signal_round_number.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/examples/03_po_mismatch_exception.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/examples/04_high_value_cfo_signoff.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/examples/05_vendor_inquiry.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/examples/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/gitignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/main.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/pytest.ini +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/requirements.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/tests/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/tests/conftest.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/tests/test_floors.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/finance-ops/validate_config.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/Dockerfile +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/PRD.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/_prompts.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/agency/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/agency/commitments_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/agency/cost_anomaly_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/agency/cost_tuner_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/agency/finops_governance_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/agency/iac_drift_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/agency/regulatory_monitor_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/configs/config.yaml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/docker-compose.yml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/dockerignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/env +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/examples/01_ec2_idle_anomaly.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/examples/02_savings_plan_under_utilised.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/examples/03_ri_expiry_30d.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/examples/04_iac_drift_detected.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/examples/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/gitignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/main.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/pytest.ini +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/requirements.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/tests/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/tests/conftest.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/infra-cost-ops/validate_config.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/Dockerfile +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/PRD.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/_prompts.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/agency/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/agency/brand_guardian_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/agency/campaign_strategist_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/agency/compliance_reviewer_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/agency/copywriter_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/agency/market_intelligence_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/agency/marketing_audit_logger_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/agency/publisher_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/configs/config.yaml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/docker-compose.yml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/dockerignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/env +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/examples/01_new_campaign_brief.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/examples/02_product_launch_kickoff.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/examples/03_brand_crisis.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/examples/04_competitor_pricing_move.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/examples/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/gitignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/main.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/pytest.ini +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/requirements.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/tests/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/tests/conftest.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/marketing-ops/validate_config.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/Dockerfile +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/PRD.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/agency/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/agency/campaign_launcher_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/agency/campaign_strategist_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/agency/gtm_strategist_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/agency/inbox_monitor_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/agency/meeting_scheduler_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/agency/offer_architect_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/agency/outreach_writer_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/agency/prospector_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/agency/records_keeper_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/agency/reply_triager_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/agency/tools/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/agency/tools/tools.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/configs/config.yaml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/docker-compose.yml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/dockerignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/env +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/gitignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/main.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/pytest.ini +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/requirements.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/tests/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/tests/conftest.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/outbound-sdr/validate_config.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/Dockerfile +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/PRD.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/_prompts.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/agency/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/agency/equipment_lifecycle_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/agency/failure_predictor_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/agency/safety_incident_reporter_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/agency/spare_parts_forecaster_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/agency/work_order_scheduler_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/configs/config.yaml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/docker-compose.yml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/dockerignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/env +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/examples/01_routine_sensor_reading.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/examples/02_anomaly_failure_predicted.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/examples/03_safety_critical_shutdown.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/examples/04_weekly_parts_forecast.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/examples/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/gitignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/main.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/pytest.ini +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/requirements.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/tests/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/tests/conftest.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/predictive-maintenance/validate_config.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/Dockerfile +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/PRD.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/TESTING_GUIDE.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/WORKFLOW_GUIDE.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/agency/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/agency/data_loader.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/agency/grn_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/agency/inventory_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/agency/logistics_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/agency/order_intake_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/agency/purchase_order_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/agency/supplier_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/agency/supply_report_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/agency/tariff_classifier_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/agency/tools.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/agency/trade_compliance_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/configs/config.yaml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/configs/inventory.yaml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/configs/open_pos.yaml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/configs/suppliers.yaml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/docker-compose.yml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/dockerignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/env +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/gitignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/main.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/requirements.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/tests/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/tests/test_chain_floors.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/procurement-ops/validate_config.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/Dockerfile +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/PRD.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/_prompts.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/agency/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/agency/constraint_flagger_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/agency/demand_sensor_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/agency/release_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/agency/scheduler_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/agency/supplier_signal_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/configs/config.yaml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/docker-compose.yml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/dockerignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/env +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/examples/01_demand_signal_normal.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/examples/02_supplier_delay.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/examples/03_emergency_constraint_alert.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/examples/04_supplier_capacity_change.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/examples/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/gitignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/main.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/pytest.ini +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/requirements.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/tests/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/tests/conftest.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/production-planning/validate_config.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/Dockerfile +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/PRD.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/_prompts.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/agency/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/agency/_shared/batch_release.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/agency/_shared/defect_scoring.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/agency/_shared/spc_math.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/agency/inspection_intake_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/agency/quality_engineer_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/agency/recall_traceability_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/agency/regulatory_compliance_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/agency/spc_monitor_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/configs/config.yaml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/docker-compose.yml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/dockerignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/env +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/examples/01_routine_inspection.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/examples/02_defect_cluster.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/examples/03_field_complaint_recall.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/examples/04_regulatory_audit_pull.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/examples/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/gitignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/main.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/pytest.ini +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/requirements.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/tests/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/tests/conftest.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quality-yield/validate_config.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/Dockerfile +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/PRD.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/_prompts.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/agency/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/agency/cost_calculator_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/agency/deal_compliance_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/agency/discount_policy_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/agency/quote_drafter_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/agency/quote_issuer_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/agency/rfq_ingester_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/configs/config.yaml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/docker-compose.yml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/dockerignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/env +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/examples/01_rfq_standard.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/examples/02_steep_discount_finance.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/examples/03_competitor_price_change.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/examples/04_renewal_uplift_bundle.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/examples/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/gitignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/main.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/pytest.ini +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/requirements.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/tests/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/tests/conftest.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/tests/test_floors.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/quote-to-cash/validate_config.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/Dockerfile +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/PRD.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/_prompts.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/agency/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/agency/bias_audit_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/agency/correspondence_drafter_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/agency/hiring_assistant_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/agency/interview_coordinator_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/agency/req_intake_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/agency/resume_screener_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/configs/config.yaml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/docker-compose.yml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/dockerignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/env +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/examples/01_new_req_filed.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/examples/02_candidate_rejection_letter.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/examples/03_offer_drafting.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/examples/04_ghosted_candidate_close.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/examples/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/gitignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/main.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/pytest.ini +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/requirements.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/tests/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/tests/conftest.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/recruiting-ops/validate_config.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/Dockerfile +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/PRD.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/_prompts.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/agency/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/agency/_shared/util.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/agency/lead_intake_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/agency/lead_qualification_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/agency/lead_revival_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/agency/sales_research_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/configs/config.yaml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/docker-compose.yml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/dockerignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/env +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/examples/01_inbound_demo_request.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/examples/02_cold_lead_revival.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/examples/03_competitor_steal_signal.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/examples/04_event_followup_burst.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/examples/05_enriched_inbound_lead.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/examples/06_deal_nurture_sweep.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/examples/07_abm_account_activation.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/examples/08_competitive_intel_pull.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/examples/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/gitignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/main.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/pytest.ini +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/requirements.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/tests/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/tests/conftest.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/sales-orchestration/validate_config.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/Dockerfile +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/PRD.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/_prompts.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/agency/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/agency/brief_intake_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/agency/citation_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/agency/consultant_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/agency/context_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/agency/deliverable_assembler_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/agency/engagement_controller_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/agency/engagement_status_drafter_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/agency/performance_review_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/agency/qa_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/agency/research_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/configs/config.yaml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/docker-compose.yml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/dockerignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/env +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/examples/01_new_engagement_memo.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/examples/02_friday_status_pack.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/examples/03_high_stakes_deliverable.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/examples/04_monthly_steering_pack.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/examples/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/gitignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/main.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/pytest.ini +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/requirements.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/tests/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/tests/conftest.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/services-delivery/validate_config.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/starter/Dockerfile +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/starter/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/starter/_prompts.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/starter/agency/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/starter/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/starter/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/starter/configs/config.yaml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/starter/docker-compose.yml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/starter/dockerignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/starter/env +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/starter/gitignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/starter/main.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/starter/pytest.ini +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/starter/requirements.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/starter/tests/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/starter/tests/conftest.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/starter/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/starter/validate_config.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/Dockerfile +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/PRD.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/_prompts.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/agency/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/allocation_math.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/carrier_math.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/shrink_math.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/agency/allocation_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/agency/carrier_selector_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/agency/exception_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/agency/humanoid_status_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/agency/inspection_humanoid.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/agency/inventory_control_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/agency/loader_humanoid.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/agency/packer_humanoid.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/agency/picker_humanoid.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/agency/supplier_relations_agent.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/configs/config.yaml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/docker-compose.yml +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/dockerignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/env +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/examples/01_routine_order.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/examples/02_short_pick_exception.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/examples/03_returns_inspection.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/examples/04_carrier_outage_failover.json +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/examples/README.md +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/gitignore +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/main.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/pytest.ini +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/requirements.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/tests/__init__.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/tests/conftest.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/templates/warehouse-supply-chain/validate_config.py +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh.egg-info/dependency_links.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh.egg-info/entry_points.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh.egg-info/requires.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh.egg-info/top_level.txt +0 -0
- {create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/setup.cfg +0 -0
|
@@ -196,150 +196,6 @@ def _grouped_templates() -> list[tuple[str, list[dict]]]:
|
|
|
196
196
|
return display
|
|
197
197
|
|
|
198
198
|
|
|
199
|
-
def _interactive_search(questionary, style) -> str | None:
|
|
200
|
-
"""State 1 → state 2 bridge inside the TUI picker.
|
|
201
|
-
|
|
202
|
-
Prompt for keywords, run the fuzzy search, and — if anything matches —
|
|
203
|
-
auto-switch to a template-level selection (state 2). Returns a chosen
|
|
204
|
-
slug, or None to return to the category view (state 1).
|
|
205
|
-
"""
|
|
206
|
-
ready = list_templates(include_planned=False)
|
|
207
|
-
query = questionary.text(
|
|
208
|
-
"Search templates (keywords — spelling needn't be exact):",
|
|
209
|
-
style=style,
|
|
210
|
-
).ask()
|
|
211
|
-
if not query or not query.strip():
|
|
212
|
-
return None
|
|
213
|
-
query = query.strip()
|
|
214
|
-
|
|
215
|
-
matches = search_templates(ready, query)
|
|
216
|
-
if not matches:
|
|
217
|
-
print(f"\n No templates matched '{query}'. "
|
|
218
|
-
f"Try a broader term (e.g. 'sales', 'finance', 'support').\n")
|
|
219
|
-
return None
|
|
220
|
-
|
|
221
|
-
# Auto-switch to state 2 — show the matching templates directly.
|
|
222
|
-
name_w = max((len(t.get("short_name", t["slug"])) for t, _ in matches),
|
|
223
|
-
default=12) + 2
|
|
224
|
-
tpl_choices = []
|
|
225
|
-
for t, _score in matches:
|
|
226
|
-
short = t.get("short_name", t["slug"])
|
|
227
|
-
one = t.get("one_line", "")
|
|
228
|
-
tpl_choices.append(questionary.Choice(
|
|
229
|
-
title=f"{short.ljust(name_w)} — {one}", value=t["slug"]))
|
|
230
|
-
tpl_choices.append(questionary.Separator())
|
|
231
|
-
tpl_choices.append(questionary.Choice(title="← Back / new search",
|
|
232
|
-
value="__back__"))
|
|
233
|
-
|
|
234
|
-
chosen = questionary.select(
|
|
235
|
-
f"Matches for '{query}':",
|
|
236
|
-
choices=tpl_choices,
|
|
237
|
-
style=style,
|
|
238
|
-
instruction="(↑/↓ to move, Enter to select)",
|
|
239
|
-
use_indicator=True,
|
|
240
|
-
).ask()
|
|
241
|
-
|
|
242
|
-
if chosen is None or chosen == "__back__":
|
|
243
|
-
return None
|
|
244
|
-
return chosen
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
def _prompt_template_choice_interactive() -> str:
|
|
248
|
-
"""Arrow-key TUI picker — cascading category → template selection.
|
|
249
|
-
|
|
250
|
-
Uses `questionary` for arrow-key navigation. Two stages:
|
|
251
|
-
1. Pick a business category
|
|
252
|
-
2. Pick a template within that category (with 'Back' option)
|
|
253
|
-
|
|
254
|
-
Loops until a template is chosen or user cancels.
|
|
255
|
-
"""
|
|
256
|
-
import questionary
|
|
257
|
-
from questionary import Style
|
|
258
|
-
|
|
259
|
-
style = Style([
|
|
260
|
-
("qmark", "fg:#00d7ff bold"),
|
|
261
|
-
("question", "bold"),
|
|
262
|
-
("answer", "fg:#5fff5f bold"),
|
|
263
|
-
("pointer", "fg:#00d7ff bold"),
|
|
264
|
-
("highlighted", "fg:#00d7ff bold"),
|
|
265
|
-
("selected", "fg:#5fff5f"),
|
|
266
|
-
("separator", "fg:#6c6c6c"),
|
|
267
|
-
("instruction", "fg:#6c6c6c"),
|
|
268
|
-
])
|
|
269
|
-
|
|
270
|
-
display = _grouped_templates()
|
|
271
|
-
if not display:
|
|
272
|
-
print(" No templates available. Reinstall create-leafmesh.")
|
|
273
|
-
sys.exit(2)
|
|
274
|
-
|
|
275
|
-
cat_to_items = dict(display)
|
|
276
|
-
|
|
277
|
-
while True:
|
|
278
|
-
# ── Step 1: pick a category ──────────────────────────────────
|
|
279
|
-
cat_choices = []
|
|
280
|
-
for cat, items in display:
|
|
281
|
-
n = len(items)
|
|
282
|
-
label = f"{cat} ({n} template{'s' if n != 1 else ''})"
|
|
283
|
-
cat_choices.append(questionary.Choice(title=label, value=cat))
|
|
284
|
-
cat_choices.append(questionary.Separator())
|
|
285
|
-
cat_choices.append(questionary.Choice(title="Search by keyword…",
|
|
286
|
-
value="__search__"))
|
|
287
|
-
# NOTE: `value=None` causes questionary to fall back to the title
|
|
288
|
-
# string (treats None as "unset"), which then crashes our
|
|
289
|
-
# cat_to_items lookup with KeyError: 'Quit'. Use an explicit
|
|
290
|
-
# sentinel string instead.
|
|
291
|
-
cat_choices.append(questionary.Choice(title="Quit", value="__quit__"))
|
|
292
|
-
|
|
293
|
-
chosen_cat = questionary.select(
|
|
294
|
-
"Choose a business area:",
|
|
295
|
-
choices=cat_choices,
|
|
296
|
-
style=style,
|
|
297
|
-
instruction="(↑/↓ to move, Enter to select)",
|
|
298
|
-
use_indicator=True,
|
|
299
|
-
).ask()
|
|
300
|
-
|
|
301
|
-
if chosen_cat is None or chosen_cat == "__quit__":
|
|
302
|
-
print("\n Cancelled.\n")
|
|
303
|
-
sys.exit(0)
|
|
304
|
-
|
|
305
|
-
if chosen_cat == "__search__":
|
|
306
|
-
slug = _interactive_search(questionary, style)
|
|
307
|
-
if slug:
|
|
308
|
-
return slug
|
|
309
|
-
continue # no match / backed out → back to the category view
|
|
310
|
-
|
|
311
|
-
# ── Step 2: pick a template in that category ─────────────────
|
|
312
|
-
items = cat_to_items[chosen_cat]
|
|
313
|
-
# Pad short_names so the one-liner column aligns nicely.
|
|
314
|
-
name_w = max((len(t.get("short_name", t["slug"])) for t in items), default=12) + 2
|
|
315
|
-
|
|
316
|
-
tpl_choices = []
|
|
317
|
-
for t in items:
|
|
318
|
-
short = t.get("short_name", t["slug"])
|
|
319
|
-
one = t.get("one_line", "")
|
|
320
|
-
label = f"{short.ljust(name_w)} — {one}"
|
|
321
|
-
tpl_choices.append(questionary.Choice(title=label, value=t["slug"]))
|
|
322
|
-
tpl_choices.append(questionary.Separator())
|
|
323
|
-
tpl_choices.append(questionary.Choice(title="← Back to categories",
|
|
324
|
-
value="__back__"))
|
|
325
|
-
tpl_choices.append(questionary.Choice(title="Quit", value="__quit__"))
|
|
326
|
-
|
|
327
|
-
chosen = questionary.select(
|
|
328
|
-
f"Template in {chosen_cat}:",
|
|
329
|
-
choices=tpl_choices,
|
|
330
|
-
style=style,
|
|
331
|
-
instruction="(↑/↓ to move, Enter to select)",
|
|
332
|
-
use_indicator=True,
|
|
333
|
-
).ask()
|
|
334
|
-
|
|
335
|
-
if chosen is None or chosen == "__quit__":
|
|
336
|
-
print("\n Cancelled.\n")
|
|
337
|
-
sys.exit(0)
|
|
338
|
-
if chosen == "__back__":
|
|
339
|
-
continue
|
|
340
|
-
return chosen
|
|
341
|
-
|
|
342
|
-
|
|
343
199
|
def _prompt_template_choice_fallback() -> str:
|
|
344
200
|
"""Numbered-list fallback for non-TTY terminals (CI, piped input)."""
|
|
345
201
|
display = _grouped_templates()
|
|
@@ -423,18 +279,25 @@ def _prompt_template_choice_fallback() -> str:
|
|
|
423
279
|
def prompt_template_choice() -> str:
|
|
424
280
|
"""Pick the right picker for the environment.
|
|
425
281
|
|
|
426
|
-
On a real terminal:
|
|
427
|
-
|
|
282
|
+
On a real terminal: the full-screen Discover browser (live type-to-search,
|
|
283
|
+
↑/↓ to move, Enter for a detail/confirm screen).
|
|
284
|
+
On CI / piped input / dumb terminals (or if prompt_toolkit is missing):
|
|
285
|
+
the numbered-list fallback (which has its own `/keywords` search).
|
|
428
286
|
"""
|
|
429
287
|
is_tty = sys.stdin.isatty() and sys.stdout.isatty()
|
|
430
288
|
if is_tty:
|
|
431
289
|
try:
|
|
432
|
-
|
|
290
|
+
from create_leafmesh.discover import discover_templates
|
|
291
|
+
slug = discover_templates(list_templates(include_planned=False))
|
|
292
|
+
if slug is None:
|
|
293
|
+
print("\n Cancelled.\n")
|
|
294
|
+
sys.exit(0)
|
|
295
|
+
return slug
|
|
433
296
|
except KeyboardInterrupt:
|
|
434
297
|
print("\n\n Cancelled.\n")
|
|
435
298
|
sys.exit(0)
|
|
436
299
|
except ImportError:
|
|
437
|
-
#
|
|
300
|
+
# prompt_toolkit unavailable → fall through to text picker
|
|
438
301
|
pass
|
|
439
302
|
return _prompt_template_choice_fallback()
|
|
440
303
|
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
"""Full-screen, live type-to-search template browser (the "Discover" UI).
|
|
2
|
+
|
|
3
|
+
Modelled on Claude Code's `/plugin` Discover screen: a search box at the top
|
|
4
|
+
that filters as you type, a scrollable list of templates below (name ·
|
|
5
|
+
category, with a one-line summary), and a footer of key hints. Pressing Enter
|
|
6
|
+
on a row opens a detail screen with a confirm-to-scaffold step.
|
|
7
|
+
|
|
8
|
+
Built on prompt_toolkit, which ships as a dependency of `questionary` — so
|
|
9
|
+
this adds no new requirement. Falls back (in cli.py) to the numbered-list
|
|
10
|
+
picker when there's no TTY or prompt_toolkit is unavailable.
|
|
11
|
+
|
|
12
|
+
Public entry point: `discover_templates(templates) -> str | None`
|
|
13
|
+
returns the chosen template slug, or None if the user cancelled.
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
from __future__ import annotations
|
|
17
|
+
|
|
18
|
+
import textwrap
|
|
19
|
+
from typing import Any
|
|
20
|
+
|
|
21
|
+
from create_leafmesh.search import browser_filter
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def discover_templates(
|
|
25
|
+
templates: list[dict[str, Any]],
|
|
26
|
+
*,
|
|
27
|
+
_input=None,
|
|
28
|
+
_output=None,
|
|
29
|
+
) -> str | None:
|
|
30
|
+
"""Run the full-screen Discover browser. Returns a slug or None.
|
|
31
|
+
|
|
32
|
+
Raises ImportError if prompt_toolkit isn't importable, so the caller can
|
|
33
|
+
fall back to the numbered picker.
|
|
34
|
+
|
|
35
|
+
`_input` / `_output` are test seams: pass a prompt_toolkit pipe input and
|
|
36
|
+
a DummyOutput to drive the browser headlessly.
|
|
37
|
+
"""
|
|
38
|
+
from prompt_toolkit.application import Application
|
|
39
|
+
from prompt_toolkit.buffer import Buffer
|
|
40
|
+
from prompt_toolkit.filters import Condition
|
|
41
|
+
from prompt_toolkit.key_binding import KeyBindings
|
|
42
|
+
from prompt_toolkit.layout import Layout
|
|
43
|
+
from prompt_toolkit.layout.containers import HSplit, VSplit, Window
|
|
44
|
+
from prompt_toolkit.layout.controls import (
|
|
45
|
+
BufferControl,
|
|
46
|
+
FormattedTextControl,
|
|
47
|
+
)
|
|
48
|
+
from prompt_toolkit.layout.dimension import Dimension
|
|
49
|
+
from prompt_toolkit.styles import Style
|
|
50
|
+
|
|
51
|
+
total = len(templates)
|
|
52
|
+
|
|
53
|
+
# ── Mutable UI state ─────────────────────────────────────────────
|
|
54
|
+
state = {
|
|
55
|
+
"filtered": list(templates), # current visible templates
|
|
56
|
+
"sel": 0, # selected index into filtered
|
|
57
|
+
"offset": 0, # scroll offset (top visible item)
|
|
58
|
+
"mode": "list", # "list" | "detail"
|
|
59
|
+
"result": None, # chosen slug on exit
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
search = Buffer(multiline=False)
|
|
63
|
+
|
|
64
|
+
def _refilter(_buf=None) -> None:
|
|
65
|
+
state["filtered"] = browser_filter(templates, search.text)
|
|
66
|
+
state["sel"] = 0
|
|
67
|
+
state["offset"] = 0
|
|
68
|
+
|
|
69
|
+
search.on_text_changed += _refilter
|
|
70
|
+
|
|
71
|
+
is_list = Condition(lambda: state["mode"] == "list")
|
|
72
|
+
is_detail = Condition(lambda: state["mode"] == "detail")
|
|
73
|
+
|
|
74
|
+
def _current() -> dict[str, Any] | None:
|
|
75
|
+
f = state["filtered"]
|
|
76
|
+
if not f:
|
|
77
|
+
return None
|
|
78
|
+
return f[min(state["sel"], len(f) - 1)]
|
|
79
|
+
|
|
80
|
+
def _visible_rows() -> int:
|
|
81
|
+
"""How many templates fit, given the terminal height (2 lines each)."""
|
|
82
|
+
from prompt_toolkit.application import get_app
|
|
83
|
+
try:
|
|
84
|
+
h = get_app().output.get_size().rows
|
|
85
|
+
except Exception:
|
|
86
|
+
h = 24
|
|
87
|
+
# header + spacer + search + spacer + footer ≈ 6 chrome lines
|
|
88
|
+
return max(3, (h - 6) // 2)
|
|
89
|
+
|
|
90
|
+
# ── Header ───────────────────────────────────────────────────────
|
|
91
|
+
def header_text():
|
|
92
|
+
n = len(state["filtered"])
|
|
93
|
+
count = f"{n}/{total}" if n != total else f"{total}"
|
|
94
|
+
return [("class:title", f" Discover templates "),
|
|
95
|
+
("class:dim", f"({count})")]
|
|
96
|
+
|
|
97
|
+
# ── List / detail body ───────────────────────────────────────────
|
|
98
|
+
def body_text():
|
|
99
|
+
if state["mode"] == "detail":
|
|
100
|
+
return _detail_text()
|
|
101
|
+
return _list_text()
|
|
102
|
+
|
|
103
|
+
def _list_text():
|
|
104
|
+
f = state["filtered"]
|
|
105
|
+
if not f:
|
|
106
|
+
return [("class:dim", "\n No templates match — try fewer letters.\n")]
|
|
107
|
+
|
|
108
|
+
vis = _visible_rows()
|
|
109
|
+
sel = min(state["sel"], len(f) - 1)
|
|
110
|
+
off = state["offset"]
|
|
111
|
+
if sel < off:
|
|
112
|
+
off = sel
|
|
113
|
+
elif sel >= off + vis:
|
|
114
|
+
off = sel - vis + 1
|
|
115
|
+
state["offset"] = off
|
|
116
|
+
|
|
117
|
+
out: list[tuple[str, str]] = []
|
|
118
|
+
window = f[off:off + vis]
|
|
119
|
+
slug_w = max((len(t["slug"]) for t in window), default=16) + 2
|
|
120
|
+
for i, t in enumerate(window, start=off):
|
|
121
|
+
selected = (i == sel)
|
|
122
|
+
ptr = "❯ " if selected else " "
|
|
123
|
+
row_style = "class:sel" if selected else "class:row"
|
|
124
|
+
slug = t["slug"].ljust(slug_w)
|
|
125
|
+
cat = t.get("category", "")
|
|
126
|
+
out.append((row_style, f" {ptr}{slug}"))
|
|
127
|
+
out.append(("class:sel-cat" if selected else "class:cat", f"{cat}\n"))
|
|
128
|
+
one = t.get("one_line", "")
|
|
129
|
+
if len(one) > 70:
|
|
130
|
+
one = one[:67] + "…"
|
|
131
|
+
out.append(("class:dim", f" {one}\n"))
|
|
132
|
+
if off + vis < len(f):
|
|
133
|
+
out.append(("class:dim", " ↓ more below\n"))
|
|
134
|
+
return out
|
|
135
|
+
|
|
136
|
+
def _detail_text():
|
|
137
|
+
t = _current()
|
|
138
|
+
if t is None:
|
|
139
|
+
return [("", "")]
|
|
140
|
+
out: list[tuple[str, str]] = []
|
|
141
|
+
out.append(("class:title", f"\n {t.get('full_name', t['slug'])}\n"))
|
|
142
|
+
out.append(("class:dim", f" {t['slug']}\n\n"))
|
|
143
|
+
meta = []
|
|
144
|
+
if t.get("agent_count"):
|
|
145
|
+
meta.append(f"{t['agent_count']} agents")
|
|
146
|
+
if t.get("cron_count") not in (None, "", "0", 0):
|
|
147
|
+
meta.append(f"{t['cron_count']} cron")
|
|
148
|
+
if t.get("complexity"):
|
|
149
|
+
meta.append(f"complexity: {t['complexity']}")
|
|
150
|
+
if meta:
|
|
151
|
+
out.append(("class:meta", " " + " · ".join(meta) + "\n\n"))
|
|
152
|
+
desc = " ".join((t.get("description", "") or "").split())
|
|
153
|
+
for line in textwrap.wrap(desc, width=72) or [""]:
|
|
154
|
+
out.append(("class:row", f" {line}\n"))
|
|
155
|
+
if t.get("trust_lead"):
|
|
156
|
+
out.append(("class:dim", "\n Gates: "))
|
|
157
|
+
trust = " ".join(t["trust_lead"].split())
|
|
158
|
+
wrapped = textwrap.wrap(trust, width=64) or [""]
|
|
159
|
+
out.append(("class:dim", wrapped[0]))
|
|
160
|
+
for line in wrapped[1:]:
|
|
161
|
+
out.append(("class:dim", f"\n {line}"))
|
|
162
|
+
out.append(("", "\n"))
|
|
163
|
+
return out
|
|
164
|
+
|
|
165
|
+
# ── Footer ───────────────────────────────────────────────────────
|
|
166
|
+
def footer_text():
|
|
167
|
+
if state["mode"] == "detail":
|
|
168
|
+
return [("class:foot", " Enter "), ("class:dim", "scaffold "),
|
|
169
|
+
("class:foot", "Esc "), ("class:dim", "back")]
|
|
170
|
+
return [("class:dim", " Type to search · "),
|
|
171
|
+
("class:foot", "↑/↓ "), ("class:dim", "move · "),
|
|
172
|
+
("class:foot", "Enter "), ("class:dim", "view · "),
|
|
173
|
+
("class:foot", "Esc "), ("class:dim", "cancel")]
|
|
174
|
+
|
|
175
|
+
# ── Search box (label + live buffer), shown only in list mode ─────
|
|
176
|
+
search_line = VSplit([
|
|
177
|
+
Window(FormattedTextControl(lambda: [("class:prompt", " ⌕ ")]),
|
|
178
|
+
width=5, height=1),
|
|
179
|
+
Window(BufferControl(buffer=search), height=1),
|
|
180
|
+
])
|
|
181
|
+
|
|
182
|
+
body = Window(content=FormattedTextControl(body_text), wrap_lines=True,
|
|
183
|
+
height=Dimension(min=3))
|
|
184
|
+
|
|
185
|
+
root = HSplit([
|
|
186
|
+
Window(FormattedTextControl(header_text), height=1),
|
|
187
|
+
Window(height=1, char=" "), # spacer
|
|
188
|
+
search_line,
|
|
189
|
+
Window(height=1, char=" "), # spacer
|
|
190
|
+
body,
|
|
191
|
+
Window(FormattedTextControl(footer_text), height=1),
|
|
192
|
+
])
|
|
193
|
+
|
|
194
|
+
# ── Key bindings ─────────────────────────────────────────────────
|
|
195
|
+
kb = KeyBindings()
|
|
196
|
+
|
|
197
|
+
@kb.add("up", filter=is_list, eager=True)
|
|
198
|
+
@kb.add("c-p", filter=is_list, eager=True)
|
|
199
|
+
def _up(event):
|
|
200
|
+
if state["filtered"]:
|
|
201
|
+
state["sel"] = (state["sel"] - 1) % len(state["filtered"])
|
|
202
|
+
|
|
203
|
+
@kb.add("down", filter=is_list, eager=True)
|
|
204
|
+
@kb.add("c-n", filter=is_list, eager=True)
|
|
205
|
+
def _down(event):
|
|
206
|
+
if state["filtered"]:
|
|
207
|
+
state["sel"] = (state["sel"] + 1) % len(state["filtered"])
|
|
208
|
+
|
|
209
|
+
@kb.add("enter", filter=is_list, eager=True)
|
|
210
|
+
def _enter_list(event):
|
|
211
|
+
if _current() is not None:
|
|
212
|
+
state["mode"] = "detail"
|
|
213
|
+
|
|
214
|
+
@kb.add("enter", filter=is_detail, eager=True)
|
|
215
|
+
def _enter_detail(event):
|
|
216
|
+
t = _current()
|
|
217
|
+
if t is not None:
|
|
218
|
+
state["result"] = t["slug"]
|
|
219
|
+
event.app.exit()
|
|
220
|
+
|
|
221
|
+
@kb.add("escape", filter=is_detail, eager=True)
|
|
222
|
+
def _esc_detail(event):
|
|
223
|
+
state["mode"] = "list"
|
|
224
|
+
|
|
225
|
+
@kb.add("escape", filter=is_list, eager=True)
|
|
226
|
+
def _esc_list(event):
|
|
227
|
+
state["result"] = None
|
|
228
|
+
event.app.exit()
|
|
229
|
+
|
|
230
|
+
# In detail mode, swallow any other key so typing doesn't edit the query.
|
|
231
|
+
@kb.add("<any>", filter=is_detail, eager=True)
|
|
232
|
+
def _swallow(event):
|
|
233
|
+
pass
|
|
234
|
+
|
|
235
|
+
@kb.add("c-c")
|
|
236
|
+
@kb.add("c-q")
|
|
237
|
+
def _cancel(event):
|
|
238
|
+
state["result"] = None
|
|
239
|
+
event.app.exit()
|
|
240
|
+
|
|
241
|
+
style = Style([
|
|
242
|
+
("title", "bold"),
|
|
243
|
+
("dim", "fg:#6c6c6c"),
|
|
244
|
+
("prompt", "fg:#00d7ff bold"),
|
|
245
|
+
("row", ""),
|
|
246
|
+
("cat", "fg:#6c6c6c"),
|
|
247
|
+
("sel", "fg:#00d7ff bold"),
|
|
248
|
+
("sel-cat", "fg:#00d7ff"),
|
|
249
|
+
("meta", "fg:#5fafff"),
|
|
250
|
+
("foot", "fg:#5fff5f bold"),
|
|
251
|
+
])
|
|
252
|
+
|
|
253
|
+
app_kwargs = {}
|
|
254
|
+
if _input is not None:
|
|
255
|
+
app_kwargs["input"] = _input
|
|
256
|
+
if _output is not None:
|
|
257
|
+
app_kwargs["output"] = _output
|
|
258
|
+
|
|
259
|
+
app = Application(
|
|
260
|
+
layout=Layout(root, focused_element=search_line),
|
|
261
|
+
key_bindings=kb,
|
|
262
|
+
style=style,
|
|
263
|
+
full_screen=True,
|
|
264
|
+
mouse_support=False,
|
|
265
|
+
**app_kwargs,
|
|
266
|
+
)
|
|
267
|
+
_refilter()
|
|
268
|
+
app.run()
|
|
269
|
+
return state["result"]
|
|
@@ -139,6 +139,55 @@ def score_template(t: dict[str, Any], query: str) -> float:
|
|
|
139
139
|
return score
|
|
140
140
|
|
|
141
141
|
|
|
142
|
+
def browser_filter(
|
|
143
|
+
templates: list[dict[str, Any]],
|
|
144
|
+
query: str,
|
|
145
|
+
) -> list[dict[str, Any]]:
|
|
146
|
+
"""Lenient, responsive filter for the live Discover browser.
|
|
147
|
+
|
|
148
|
+
Unlike `search_templates` (which thresholds for "best answer" intent),
|
|
149
|
+
this is for incremental typing: an empty query returns everything in the
|
|
150
|
+
given display order, and a partial query surfaces anything whose text
|
|
151
|
+
contains the typed tokens as substrings — so "proc" immediately reveals
|
|
152
|
+
procurement-ops — ranked by relevance (fuzzy still helps with typos).
|
|
153
|
+
"""
|
|
154
|
+
q = (query or "").strip().lower()
|
|
155
|
+
if not q:
|
|
156
|
+
return list(templates)
|
|
157
|
+
|
|
158
|
+
q_tokens = _tokens(q)
|
|
159
|
+
q_compact = q.replace(" ", "")
|
|
160
|
+
ranked: list[tuple[dict[str, Any], int, float, str]] = []
|
|
161
|
+
for t in templates:
|
|
162
|
+
primary_text, secondary_text, _ = _corpus(t)
|
|
163
|
+
hay = primary_text + " " + secondary_text
|
|
164
|
+
# Substring inclusion: every typed token appears somewhere.
|
|
165
|
+
substr = all(tok in hay for tok in q_tokens) if q_tokens else False
|
|
166
|
+
s = score_template(t, q)
|
|
167
|
+
if not (substr or s > 0):
|
|
168
|
+
continue
|
|
169
|
+
# Tier the result so live typing feels right. A name prefix (the query
|
|
170
|
+
# starts the slug or a name word) is the strongest signal, then a
|
|
171
|
+
# keyword/synonym prefix, then a mid-word substring, then a fuzzy-only
|
|
172
|
+
# (typo) hit. Within a tier, higher relevance score first.
|
|
173
|
+
slug = t.get("slug", "")
|
|
174
|
+
name_text = f"{slug} {t.get('short_name', '')} {t.get('full_name', '')}"
|
|
175
|
+
name_prefix = (slug.startswith(q_compact)
|
|
176
|
+
or any(tok.startswith(q) for tok in _tokens(name_text)))
|
|
177
|
+
kw_prefix = any(tok.startswith(q) for tok in _tokens(primary_text))
|
|
178
|
+
if name_prefix:
|
|
179
|
+
tier = 0
|
|
180
|
+
elif kw_prefix:
|
|
181
|
+
tier = 1
|
|
182
|
+
elif substr:
|
|
183
|
+
tier = 2
|
|
184
|
+
else:
|
|
185
|
+
tier = 3
|
|
186
|
+
ranked.append((t, tier, s, slug))
|
|
187
|
+
ranked.sort(key=lambda r: (r[1], -r[2], r[3]))
|
|
188
|
+
return [t for t, _tier, _s, _slug in ranked]
|
|
189
|
+
|
|
190
|
+
|
|
142
191
|
def search_templates(
|
|
143
192
|
templates: list[dict[str, Any]],
|
|
144
193
|
query: str,
|
|
@@ -5,6 +5,7 @@ create_leafmesh/__init__.py
|
|
|
5
5
|
create_leafmesh/cli.py
|
|
6
6
|
create_leafmesh/create.py
|
|
7
7
|
create_leafmesh/deploy.py
|
|
8
|
+
create_leafmesh/discover.py
|
|
8
9
|
create_leafmesh/search.py
|
|
9
10
|
create_leafmesh.egg-info/PKG-INFO
|
|
10
11
|
create_leafmesh.egg-info/SOURCES.txt
|
|
@@ -707,4 +708,5 @@ create_leafmesh/templates/warehouse-supply-chain/tests/__init__.py
|
|
|
707
708
|
create_leafmesh/templates/warehouse-supply-chain/tests/conftest.py
|
|
708
709
|
create_leafmesh/templates/warehouse-supply-chain/tests/test_agent_logic.py
|
|
709
710
|
create_leafmesh/templates/warehouse-supply-chain/tests/test_config_shape.py
|
|
711
|
+
tests/test_discover.py
|
|
710
712
|
tests/test_search.py
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"""Headless drive of the full-screen Discover browser (create_leafmesh.discover).
|
|
2
|
+
|
|
3
|
+
prompt_toolkit ships a pipe-input + DummyOutput test seam; discover_templates
|
|
4
|
+
accepts them via `_input`/`_output`, so we can script keystrokes and assert the
|
|
5
|
+
returned slug without a real terminal.
|
|
6
|
+
|
|
7
|
+
Key bytes: "\\r" = Enter, "\\x1b[B" = Down, "\\x1b[A" = Up, "\\x1b" = Esc,
|
|
8
|
+
"\\x03" = Ctrl-C.
|
|
9
|
+
"""
|
|
10
|
+
from __future__ import annotations
|
|
11
|
+
|
|
12
|
+
import pytest
|
|
13
|
+
|
|
14
|
+
pytest.importorskip("prompt_toolkit")
|
|
15
|
+
|
|
16
|
+
from prompt_toolkit.output import DummyOutput # noqa: E402
|
|
17
|
+
|
|
18
|
+
try:
|
|
19
|
+
from prompt_toolkit.input import create_pipe_input
|
|
20
|
+
except ImportError: # older prompt_toolkit
|
|
21
|
+
from prompt_toolkit.input.defaults import create_pipe_input
|
|
22
|
+
|
|
23
|
+
from create_leafmesh.create import list_templates # noqa: E402
|
|
24
|
+
from create_leafmesh.discover import discover_templates # noqa: E402
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def _run(keys: str):
|
|
28
|
+
templates = list_templates(include_planned=False)
|
|
29
|
+
cm = create_pipe_input()
|
|
30
|
+
if hasattr(cm, "__enter__"):
|
|
31
|
+
with cm as inp:
|
|
32
|
+
inp.send_text(keys)
|
|
33
|
+
return discover_templates(templates, _input=inp, _output=DummyOutput())
|
|
34
|
+
cm.send_text(keys)
|
|
35
|
+
return discover_templates(templates, _input=cm, _output=DummyOutput())
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def test_search_then_select():
|
|
39
|
+
# type 'proc' -> top is procurement-ops; Enter (detail), Enter (scaffold)
|
|
40
|
+
assert _run("proc\r\r") == "procurement-ops"
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def test_navigate_down_then_select():
|
|
44
|
+
# 'cust' lists customer-success then customer-support; Down picks the 2nd
|
|
45
|
+
assert _run("cust\x1b[B\r\r") == "customer-support"
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def test_exactish_query_select():
|
|
49
|
+
assert _run("warehouse\r\r") == "warehouse-supply-chain"
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def test_detail_back_then_reselect():
|
|
53
|
+
# 'fin' -> detail -> Esc back to list -> Enter detail -> Enter scaffold
|
|
54
|
+
assert _run("fin\r\x1b\r\r") == "finance-ops"
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
def test_escape_cancels():
|
|
58
|
+
assert _run("\x1b") is None
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def test_ctrl_c_cancels():
|
|
62
|
+
assert _run("proc\x03") is None
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
def test_no_match_then_cancel():
|
|
66
|
+
assert _run("zzzznope\x03") is None
|
|
@@ -10,7 +10,11 @@ from __future__ import annotations
|
|
|
10
10
|
import pytest
|
|
11
11
|
|
|
12
12
|
from create_leafmesh.create import list_templates
|
|
13
|
-
from create_leafmesh.search import
|
|
13
|
+
from create_leafmesh.search import (
|
|
14
|
+
browser_filter,
|
|
15
|
+
score_template,
|
|
16
|
+
search_templates,
|
|
17
|
+
)
|
|
14
18
|
|
|
15
19
|
|
|
16
20
|
@pytest.fixture(scope="module")
|
|
@@ -128,6 +132,32 @@ def test_score_is_monotonic_for_relevance(templates):
|
|
|
128
132
|
score_template(fin, "cold email outreach")
|
|
129
133
|
|
|
130
134
|
|
|
135
|
+
# ── Browser filter (live Discover typing) ──
|
|
136
|
+
|
|
137
|
+
def test_browser_filter_empty_returns_all(templates):
|
|
138
|
+
assert len(browser_filter(templates, "")) == len(templates)
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
@pytest.mark.parametrize("query,expected_top", [
|
|
142
|
+
("proc", "procurement-ops"),
|
|
143
|
+
("fin", "finance-ops"),
|
|
144
|
+
("ware", "warehouse-supply-chain"),
|
|
145
|
+
("mark", "marketing-ops"),
|
|
146
|
+
("recru", "recruiting-ops"),
|
|
147
|
+
("bench", "bench-management"),
|
|
148
|
+
("qual", "quality-yield"),
|
|
149
|
+
])
|
|
150
|
+
def test_browser_filter_name_prefix_ranks_first(templates, query, expected_top):
|
|
151
|
+
# A name/slug prefix must beat a keyword-prefix or fuzzy hit while typing.
|
|
152
|
+
res = browser_filter(templates, query)
|
|
153
|
+
assert res, f"{query!r} returned nothing"
|
|
154
|
+
assert res[0]["slug"] == expected_top, [t["slug"] for t in res[:3]]
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
def test_browser_filter_unknown_returns_empty(templates):
|
|
158
|
+
assert browser_filter(templates, "zzzznope") == []
|
|
159
|
+
|
|
160
|
+
|
|
131
161
|
# ── CLI surface ──
|
|
132
162
|
|
|
133
163
|
def test_cli_search_exit_codes(capsys):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{create_leafmesh-2.6.2 → create_leafmesh-2.6.3}/create_leafmesh/deploy_providers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|