create-leafmesh 2.6.3__tar.gz → 2.6.4__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.3 → create_leafmesh-2.6.4}/PKG-INFO +1 -1
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/__init__.py +1 -1
- create_leafmesh-2.6.4/create_leafmesh/discover.py +336 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh.egg-info/PKG-INFO +1 -1
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/pyproject.toml +1 -1
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/tests/test_discover.py +30 -0
- create_leafmesh-2.6.3/create_leafmesh/discover.py +0 -269
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/MANIFEST.in +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/cli.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/create.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/deploy.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/deploy_providers/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/deploy_providers/_shared.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/deploy_providers/aws.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/deploy_providers/azure.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/deploy_providers/gcp.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/search.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/Dockerfile +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/_REFERENCE_ONLY.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/agency/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/agency/advisor_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/agency/external_agents.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/agency/fallback_researcher_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/agency/greeter_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/agency/processor_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/agency/researcher_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/agency/risk_scorer_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/agency/scheduler_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/agency/tools.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/configs/config.yaml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/docker-compose.yml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/dockerignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/env +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/gitignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/hitl_stub_receiver.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/main.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/requirements.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/skills/data-handling/SKILL.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/skills/data-handling/examples.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/skills/tone-rules.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/tests/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_inspire/validate_config.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/_registry.yaml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/Dockerfile +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/PRD.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/agency/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/agency/code_reviewer_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/agency/dev_planner_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/agency/developer_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/agency/merge_coordinator_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/agency/product_owner_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/agency/qa_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/agency/tools/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/agency/tools/tools.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/configs/config.yaml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/docker-compose.yml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/dockerignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/env +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/gitignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/main.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/pytest.ini +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/requirements.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/tests/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/tests/conftest.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/ai-dev-squad/validate_config.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/Dockerfile +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/PRD.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/_prompts.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/agency/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/agency/bid_no_bid_decisioner_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/agency/competitive_intel_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/agency/contracts_review_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/agency/precedent_research_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/agency/pricing_configurator_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/agency/proposal_assembler_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/agency/rfp_intake_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/configs/config.yaml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/docker-compose.yml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/dockerignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/env +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/examples/01_new_rfp_received.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/examples/02_win_post_mortem.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/examples/03_loss_with_competitor.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/examples/04_quarterly_win_rate.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/examples/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/gitignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/main.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/pytest.ini +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/requirements.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/tests/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/tests/conftest.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/tests/test_floors.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bd-proposals/validate_config.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/Dockerfile +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/PRD.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/_prompts.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/agency/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/agency/allocation_booker_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/agency/esat_survey_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/agency/staffing_coordinator_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/agency/talent_development_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/agency/workforce_analytics_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/configs/config.yaml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/docker-compose.yml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/dockerignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/env +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/examples/01_new_project_kickoff.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/examples/02_weekly_bench_review.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/examples/03_promotion_readiness.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/examples/04_person_rolling_off.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/examples/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/gitignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/main.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/pytest.ini +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/requirements.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/tests/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/tests/conftest.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/bench-management/validate_config.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/claude_skills/leafmesh/SKILL.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/claude_skills/leafmesh/agency-development.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/claude_skills/leafmesh/agent-config-fields.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/claude_skills/leafmesh/examples.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/claude_skills/leafmesh/reference.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/Dockerfile +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/PRD.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/_prompts.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/agency/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/agency/_shared/extract.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/agency/_shared/health_math.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/agency/account_intel_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/agency/health_score_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/agency/play_runner_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/agency/renewals_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/agency/risk_detector_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/agency/save_play_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/configs/config.yaml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/docker-compose.yml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/dockerignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/env +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/examples/01_telemetry_dau_drop.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/examples/02_billing_failed_payment.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/examples/03_renewal_window_60d.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/examples/04_executive_change.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/examples/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/gitignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/main.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/pytest.ini +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/requirements.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/tests/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/tests/conftest.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-success/validate_config.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/Dockerfile +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/PRD.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/_prompts.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/agency/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/agency/reply_dispatcher_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/configs/config.yaml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/docker-compose.yml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/dockerignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/env +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/examples/01_password_reset_routine.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/examples/02_billing_dispute_escalation.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/examples/03_security_incident.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/examples/04_kb_gap_signal.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/examples/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/gitignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/main.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/pytest.ini +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/requirements.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/tests/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/tests/conftest.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/customer-support/validate_config.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/Dockerfile +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/PRD.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/_prompts.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/agency/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/agency/_shared/compliance_screen.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/agency/_shared/dedupe.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/agency/_shared/erp_poster.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/agency/_shared/matching_math.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/agency/erp_poster_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/agency/gl_coding_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/agency/invoice_intake_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/agency/loan_origination_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/agency/loan_servicing_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/agency/matching_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/agency/payment_risk_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/agency/regulatory_monitor_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/agency/vendor_compliance_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/configs/config.yaml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/docker-compose.yml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/dockerignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/env +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/examples/01_happy_path_subscription.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/examples/02_fraud_signal_round_number.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/examples/03_po_mismatch_exception.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/examples/04_high_value_cfo_signoff.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/examples/05_vendor_inquiry.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/examples/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/gitignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/main.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/pytest.ini +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/requirements.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/tests/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/tests/conftest.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/tests/test_floors.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/finance-ops/validate_config.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/Dockerfile +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/PRD.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/_prompts.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/agency/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/agency/commitments_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/agency/cost_anomaly_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/agency/cost_tuner_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/agency/finops_governance_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/agency/iac_drift_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/agency/regulatory_monitor_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/configs/config.yaml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/docker-compose.yml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/dockerignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/env +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/examples/01_ec2_idle_anomaly.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/examples/02_savings_plan_under_utilised.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/examples/03_ri_expiry_30d.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/examples/04_iac_drift_detected.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/examples/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/gitignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/main.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/pytest.ini +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/requirements.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/tests/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/tests/conftest.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/infra-cost-ops/validate_config.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/Dockerfile +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/PRD.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/_prompts.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/agency/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/agency/brand_guardian_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/agency/campaign_strategist_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/agency/compliance_reviewer_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/agency/copywriter_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/agency/market_intelligence_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/agency/marketing_audit_logger_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/agency/publisher_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/configs/config.yaml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/docker-compose.yml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/dockerignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/env +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/examples/01_new_campaign_brief.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/examples/02_product_launch_kickoff.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/examples/03_brand_crisis.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/examples/04_competitor_pricing_move.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/examples/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/gitignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/main.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/pytest.ini +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/requirements.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/tests/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/tests/conftest.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/marketing-ops/validate_config.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/Dockerfile +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/PRD.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/agency/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/agency/campaign_launcher_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/agency/campaign_strategist_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/agency/gtm_strategist_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/agency/inbox_monitor_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/agency/meeting_scheduler_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/agency/offer_architect_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/agency/outreach_writer_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/agency/prospector_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/agency/records_keeper_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/agency/reply_triager_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/agency/tools/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/agency/tools/tools.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/configs/config.yaml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/docker-compose.yml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/dockerignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/env +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/gitignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/main.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/pytest.ini +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/requirements.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/tests/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/tests/conftest.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/outbound-sdr/validate_config.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/Dockerfile +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/PRD.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/_prompts.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/agency/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/agency/equipment_lifecycle_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/agency/failure_predictor_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/agency/safety_incident_reporter_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/agency/spare_parts_forecaster_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/agency/work_order_scheduler_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/configs/config.yaml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/docker-compose.yml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/dockerignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/env +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/examples/01_routine_sensor_reading.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/examples/02_anomaly_failure_predicted.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/examples/03_safety_critical_shutdown.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/examples/04_weekly_parts_forecast.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/examples/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/gitignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/main.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/pytest.ini +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/requirements.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/tests/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/tests/conftest.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/predictive-maintenance/validate_config.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/Dockerfile +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/PRD.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/TESTING_GUIDE.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/WORKFLOW_GUIDE.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/agency/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/agency/data_loader.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/agency/grn_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/agency/inventory_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/agency/logistics_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/agency/order_intake_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/agency/purchase_order_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/agency/supplier_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/agency/supply_report_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/agency/tariff_classifier_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/agency/tools.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/agency/trade_compliance_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/configs/config.yaml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/configs/inventory.yaml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/configs/open_pos.yaml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/configs/suppliers.yaml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/docker-compose.yml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/dockerignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/env +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/gitignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/main.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/requirements.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/tests/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/tests/test_chain_floors.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/procurement-ops/validate_config.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/Dockerfile +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/PRD.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/_prompts.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/agency/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/agency/constraint_flagger_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/agency/demand_sensor_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/agency/release_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/agency/scheduler_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/agency/supplier_signal_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/configs/config.yaml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/docker-compose.yml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/dockerignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/env +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/examples/01_demand_signal_normal.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/examples/02_supplier_delay.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/examples/03_emergency_constraint_alert.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/examples/04_supplier_capacity_change.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/examples/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/gitignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/main.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/pytest.ini +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/requirements.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/tests/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/tests/conftest.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/production-planning/validate_config.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/Dockerfile +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/PRD.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/_prompts.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/agency/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/agency/_shared/batch_release.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/agency/_shared/defect_scoring.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/agency/_shared/spc_math.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/agency/inspection_intake_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/agency/quality_engineer_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/agency/recall_traceability_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/agency/regulatory_compliance_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/agency/spc_monitor_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/configs/config.yaml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/docker-compose.yml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/dockerignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/env +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/examples/01_routine_inspection.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/examples/02_defect_cluster.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/examples/03_field_complaint_recall.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/examples/04_regulatory_audit_pull.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/examples/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/gitignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/main.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/pytest.ini +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/requirements.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/tests/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/tests/conftest.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quality-yield/validate_config.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/Dockerfile +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/PRD.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/_prompts.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/agency/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/agency/cost_calculator_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/agency/deal_compliance_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/agency/discount_policy_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/agency/quote_drafter_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/agency/quote_issuer_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/agency/rfq_ingester_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/configs/config.yaml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/docker-compose.yml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/dockerignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/env +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/examples/01_rfq_standard.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/examples/02_steep_discount_finance.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/examples/03_competitor_price_change.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/examples/04_renewal_uplift_bundle.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/examples/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/gitignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/main.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/pytest.ini +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/requirements.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/tests/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/tests/conftest.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/tests/test_floors.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/quote-to-cash/validate_config.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/Dockerfile +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/PRD.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/_prompts.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/agency/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/agency/bias_audit_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/agency/correspondence_drafter_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/agency/hiring_assistant_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/agency/interview_coordinator_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/agency/req_intake_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/agency/resume_screener_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/configs/config.yaml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/docker-compose.yml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/dockerignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/env +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/examples/01_new_req_filed.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/examples/02_candidate_rejection_letter.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/examples/03_offer_drafting.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/examples/04_ghosted_candidate_close.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/examples/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/gitignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/main.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/pytest.ini +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/requirements.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/tests/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/tests/conftest.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/recruiting-ops/validate_config.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/Dockerfile +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/PRD.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/_prompts.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/agency/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/agency/_shared/util.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/agency/lead_intake_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/agency/lead_qualification_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/agency/lead_revival_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/agency/sales_research_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/configs/config.yaml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/docker-compose.yml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/dockerignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/env +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/examples/01_inbound_demo_request.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/examples/02_cold_lead_revival.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/examples/03_competitor_steal_signal.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/examples/04_event_followup_burst.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/examples/05_enriched_inbound_lead.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/examples/06_deal_nurture_sweep.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/examples/07_abm_account_activation.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/examples/08_competitive_intel_pull.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/examples/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/gitignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/main.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/pytest.ini +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/requirements.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/tests/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/tests/conftest.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/sales-orchestration/validate_config.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/Dockerfile +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/PRD.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/_prompts.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/agency/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/agency/brief_intake_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/agency/citation_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/agency/consultant_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/agency/context_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/agency/deliverable_assembler_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/agency/engagement_controller_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/agency/engagement_status_drafter_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/agency/performance_review_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/agency/qa_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/agency/research_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/configs/config.yaml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/docker-compose.yml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/dockerignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/env +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/examples/01_new_engagement_memo.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/examples/02_friday_status_pack.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/examples/03_high_stakes_deliverable.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/examples/04_monthly_steering_pack.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/examples/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/gitignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/main.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/pytest.ini +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/requirements.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/tests/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/tests/conftest.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/services-delivery/validate_config.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/starter/Dockerfile +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/starter/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/starter/_prompts.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/starter/agency/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/starter/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/starter/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/starter/configs/config.yaml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/starter/docker-compose.yml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/starter/dockerignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/starter/env +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/starter/gitignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/starter/main.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/starter/pytest.ini +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/starter/requirements.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/starter/tests/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/starter/tests/conftest.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/starter/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/starter/validate_config.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/Dockerfile +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/PRD.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/_prompts.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/agency/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/allocation_math.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/audit_logger.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/carrier_math.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/session_stash.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/shrink_math.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/agency/_shared/store.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/agency/allocation_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/agency/carrier_selector_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/agency/exception_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/agency/humanoid_status_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/agency/inspection_humanoid.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/agency/inventory_control_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/agency/loader_humanoid.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/agency/packer_humanoid.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/agency/picker_humanoid.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/agency/supplier_relations_agent.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/configs/config.yaml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/docker-compose.yml +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/dockerignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/env +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/examples/01_routine_order.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/examples/02_short_pick_exception.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/examples/03_returns_inspection.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/examples/04_carrier_outage_failover.json +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/examples/README.md +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/examples/run_examples.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/gitignore +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/main.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/pytest.ini +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/requirements-dev.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/requirements.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/tests/__init__.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/tests/conftest.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/tests/test_agent_logic.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/tests/test_config_shape.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh/templates/warehouse-supply-chain/validate_config.py +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh.egg-info/SOURCES.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh.egg-info/dependency_links.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh.egg-info/entry_points.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh.egg-info/requires.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/create_leafmesh.egg-info/top_level.txt +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/setup.cfg +0 -0
- {create_leafmesh-2.6.3 → create_leafmesh-2.6.4}/tests/test_search.py +0 -0
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
"""Full-screen, live type-to-search template browser (the "Discover" UI).
|
|
2
|
+
|
|
3
|
+
Layout (top → bottom):
|
|
4
|
+
|
|
5
|
+
┌ search N teams (across all tabs) ─────────────────┐
|
|
6
|
+
│ ⌕ <live query> │ ← bordered box
|
|
7
|
+
└───────────────────────────────────────────────────┘
|
|
8
|
+
All · Start here · Sales & GTM · Engineering · … ← business-function tabs
|
|
9
|
+
───────────────────────────────────────────────────────
|
|
10
|
+
❯ procurement-ops Production & supply 12 agents ← list (full-row
|
|
11
|
+
Order → inventory → supplier sourcing → PO highlight on ❯)
|
|
12
|
+
───────────────────────────────────────────────────────
|
|
13
|
+
Type to search · ←/→ tabs · ↑/↓ move · Enter view · Esc
|
|
14
|
+
|
|
15
|
+
Two navigation modes that don't fight each other:
|
|
16
|
+
* ←/→ switch the active **tab** (a business function) and browse just that
|
|
17
|
+
category. Tabs are for browsing.
|
|
18
|
+
* Typing **searches across ALL tabs** — the active tab is suspended while a
|
|
19
|
+
query is present, and restored when you clear it. Search is global.
|
|
20
|
+
|
|
21
|
+
Pressing Enter opens a detail screen with a confirm-to-scaffold step.
|
|
22
|
+
|
|
23
|
+
Built on prompt_toolkit (ships via `questionary` — no new dependency). The
|
|
24
|
+
caller (cli.py) falls back to the numbered picker when there's no TTY.
|
|
25
|
+
|
|
26
|
+
Public entry point: `discover_templates(templates) -> str | None`.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
from __future__ import annotations
|
|
30
|
+
|
|
31
|
+
import textwrap
|
|
32
|
+
from typing import Any
|
|
33
|
+
|
|
34
|
+
from create_leafmesh.search import browser_filter
|
|
35
|
+
|
|
36
|
+
_ALL_TAB = "All"
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def _ordered_categories(templates: list[dict[str, Any]]) -> list[str]:
|
|
40
|
+
"""Distinct categories in registry (display) order."""
|
|
41
|
+
cats: list[str] = []
|
|
42
|
+
for t in templates:
|
|
43
|
+
c = t.get("category") or "Other"
|
|
44
|
+
if c not in cats:
|
|
45
|
+
cats.append(c)
|
|
46
|
+
return cats
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def discover_templates(
|
|
50
|
+
templates: list[dict[str, Any]],
|
|
51
|
+
*,
|
|
52
|
+
_input=None,
|
|
53
|
+
_output=None,
|
|
54
|
+
) -> str | None:
|
|
55
|
+
"""Run the full-screen Discover browser. Returns a slug or None.
|
|
56
|
+
|
|
57
|
+
Raises ImportError if prompt_toolkit isn't importable, so the caller can
|
|
58
|
+
fall back to the numbered picker.
|
|
59
|
+
|
|
60
|
+
`_input` / `_output` are test seams: pass a prompt_toolkit pipe input and
|
|
61
|
+
a DummyOutput to drive the browser headlessly.
|
|
62
|
+
"""
|
|
63
|
+
from prompt_toolkit.application import Application, get_app
|
|
64
|
+
from prompt_toolkit.buffer import Buffer
|
|
65
|
+
from prompt_toolkit.data_structures import Point
|
|
66
|
+
from prompt_toolkit.document import Document
|
|
67
|
+
from prompt_toolkit.filters import Condition
|
|
68
|
+
from prompt_toolkit.key_binding import KeyBindings
|
|
69
|
+
from prompt_toolkit.layout import Layout
|
|
70
|
+
from prompt_toolkit.layout.containers import HSplit, VSplit, Window
|
|
71
|
+
from prompt_toolkit.layout.controls import BufferControl, FormattedTextControl
|
|
72
|
+
from prompt_toolkit.layout.dimension import Dimension
|
|
73
|
+
from prompt_toolkit.styles import Style
|
|
74
|
+
from prompt_toolkit.widgets import Frame
|
|
75
|
+
|
|
76
|
+
total = len(templates)
|
|
77
|
+
tabs = [_ALL_TAB] + _ordered_categories(templates)
|
|
78
|
+
|
|
79
|
+
state = {
|
|
80
|
+
"tab": 0, # index into `tabs`
|
|
81
|
+
"filtered": list(templates),
|
|
82
|
+
"sel": 0,
|
|
83
|
+
"mode": "list", # "list" | "detail"
|
|
84
|
+
"result": None,
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
search = Buffer(multiline=False)
|
|
88
|
+
|
|
89
|
+
def _recompute() -> None:
|
|
90
|
+
q = search.text.strip()
|
|
91
|
+
if q:
|
|
92
|
+
# Global: search spans every tab, ignoring the active one.
|
|
93
|
+
state["filtered"] = browser_filter(templates, q)
|
|
94
|
+
else:
|
|
95
|
+
tab = tabs[state["tab"]]
|
|
96
|
+
if tab == _ALL_TAB:
|
|
97
|
+
state["filtered"] = list(templates)
|
|
98
|
+
else:
|
|
99
|
+
state["filtered"] = [
|
|
100
|
+
t for t in templates if (t.get("category") or "Other") == tab
|
|
101
|
+
]
|
|
102
|
+
state["sel"] = 0
|
|
103
|
+
|
|
104
|
+
search.on_text_changed += lambda _b: _recompute()
|
|
105
|
+
|
|
106
|
+
is_list = Condition(lambda: state["mode"] == "list")
|
|
107
|
+
is_detail = Condition(lambda: state["mode"] == "detail")
|
|
108
|
+
|
|
109
|
+
def _current() -> dict[str, Any] | None:
|
|
110
|
+
f = state["filtered"]
|
|
111
|
+
if not f:
|
|
112
|
+
return None
|
|
113
|
+
return f[min(state["sel"], len(f) - 1)]
|
|
114
|
+
|
|
115
|
+
def _cols() -> int:
|
|
116
|
+
try:
|
|
117
|
+
return get_app().output.get_size().columns or 80
|
|
118
|
+
except Exception:
|
|
119
|
+
return 80
|
|
120
|
+
|
|
121
|
+
def _set_tab(i: int) -> None:
|
|
122
|
+
state["tab"] = i % len(tabs)
|
|
123
|
+
# Switching tab is a browse action → drop any active query.
|
|
124
|
+
if search.text:
|
|
125
|
+
search.document = Document("") # fires on_text_changed → _recompute
|
|
126
|
+
else:
|
|
127
|
+
_recompute()
|
|
128
|
+
|
|
129
|
+
# ── Tab bar ──────────────────────────────────────────────────────
|
|
130
|
+
def tabbar_text():
|
|
131
|
+
searching = bool(search.text.strip())
|
|
132
|
+
out: list[tuple[str, str]] = [("class:dim", " ")]
|
|
133
|
+
for i, name in enumerate(tabs):
|
|
134
|
+
active = (i == state["tab"]) and not searching
|
|
135
|
+
out.append(("class:tab-active" if active else "class:tab", f" {name} "))
|
|
136
|
+
if i != len(tabs) - 1:
|
|
137
|
+
out.append(("class:dim", "·"))
|
|
138
|
+
if searching:
|
|
139
|
+
out.append(("class:hint", " ⌕ searching all tabs"))
|
|
140
|
+
return out
|
|
141
|
+
|
|
142
|
+
# ── List body ────────────────────────────────────────────────────
|
|
143
|
+
def _list_text():
|
|
144
|
+
f = state["filtered"]
|
|
145
|
+
if not f:
|
|
146
|
+
return [("class:dim",
|
|
147
|
+
"\n No matches — try fewer letters, or ←/→ to pick a tab.\n")]
|
|
148
|
+
w = _cols()
|
|
149
|
+
sel = min(state["sel"], len(f) - 1)
|
|
150
|
+
slug_w = min(max((len(t["slug"]) for t in f), default=18) + 2, 28)
|
|
151
|
+
out: list[tuple[str, str]] = []
|
|
152
|
+
for i, t in enumerate(f):
|
|
153
|
+
selected = (i == sel)
|
|
154
|
+
ptr = "❯ " if selected else " "
|
|
155
|
+
slug = t["slug"]
|
|
156
|
+
cat = t.get("category", "")
|
|
157
|
+
agents = f"{t['agent_count']} agents" if t.get("agent_count") else ""
|
|
158
|
+
left = f" {ptr}{slug.ljust(slug_w)}{cat}"
|
|
159
|
+
gap = max(2, w - len(left) - len(agents) - 1)
|
|
160
|
+
line1 = f"{left}{' ' * gap}{agents}"
|
|
161
|
+
if selected:
|
|
162
|
+
out.append(("class:sel", line1.ljust(w) + "\n"))
|
|
163
|
+
else:
|
|
164
|
+
out.append(("class:row", line1 + "\n"))
|
|
165
|
+
one = t.get("one_line", "")
|
|
166
|
+
cap = max(20, w - 8)
|
|
167
|
+
if len(one) > cap:
|
|
168
|
+
one = one[:cap - 1] + "…"
|
|
169
|
+
out.append(("class:seldim" if selected else "class:dim",
|
|
170
|
+
f" {one}\n"))
|
|
171
|
+
return out
|
|
172
|
+
|
|
173
|
+
def _detail_text():
|
|
174
|
+
t = _current()
|
|
175
|
+
if t is None:
|
|
176
|
+
return [("", "")]
|
|
177
|
+
out: list[tuple[str, str]] = []
|
|
178
|
+
out.append(("class:title", f"\n {t.get('full_name', t['slug'])}\n"))
|
|
179
|
+
out.append(("class:dim", f" {t['slug']}\n\n"))
|
|
180
|
+
meta = []
|
|
181
|
+
if t.get("agent_count"):
|
|
182
|
+
meta.append(f"{t['agent_count']} agents")
|
|
183
|
+
if t.get("cron_count") not in (None, "", "0", 0):
|
|
184
|
+
meta.append(f"{t['cron_count']} cron")
|
|
185
|
+
if t.get("complexity"):
|
|
186
|
+
meta.append(f"complexity: {t['complexity']}")
|
|
187
|
+
if meta:
|
|
188
|
+
out.append(("class:meta", " " + " · ".join(meta) + "\n\n"))
|
|
189
|
+
desc = " ".join((t.get("description", "") or "").split())
|
|
190
|
+
for line in textwrap.wrap(desc, width=72) or [""]:
|
|
191
|
+
out.append(("class:row", f" {line}\n"))
|
|
192
|
+
if t.get("trust_lead"):
|
|
193
|
+
trust = " ".join(t["trust_lead"].split())
|
|
194
|
+
wrapped = textwrap.wrap(trust, width=62) or [""]
|
|
195
|
+
out.append(("class:dim", "\n Gates: " + wrapped[0]))
|
|
196
|
+
for line in wrapped[1:]:
|
|
197
|
+
out.append(("class:dim", f"\n {line}"))
|
|
198
|
+
out.append(("", "\n"))
|
|
199
|
+
return out
|
|
200
|
+
|
|
201
|
+
def body_text():
|
|
202
|
+
return _detail_text() if state["mode"] == "detail" else _list_text()
|
|
203
|
+
|
|
204
|
+
def body_cursor():
|
|
205
|
+
# Put the (invisible) cursor on the selected row so the Window
|
|
206
|
+
# auto-scrolls to keep the selection visible in long lists.
|
|
207
|
+
if state["mode"] == "list":
|
|
208
|
+
return Point(x=0, y=state["sel"] * 2)
|
|
209
|
+
return Point(x=0, y=0)
|
|
210
|
+
|
|
211
|
+
# ── Footer ───────────────────────────────────────────────────────
|
|
212
|
+
def footer_text():
|
|
213
|
+
if state["mode"] == "detail":
|
|
214
|
+
return [("class:foot", " Enter "), ("class:dim", "scaffold "),
|
|
215
|
+
("class:foot", "Esc "), ("class:dim", "back")]
|
|
216
|
+
return [("class:dim", " Type to search · "),
|
|
217
|
+
("class:foot", "←/→ "), ("class:dim", "tabs · "),
|
|
218
|
+
("class:foot", "↑/↓ "), ("class:dim", "move · "),
|
|
219
|
+
("class:foot", "Enter "), ("class:dim", "view · "),
|
|
220
|
+
("class:foot", "Esc "), ("class:dim", "quit")]
|
|
221
|
+
|
|
222
|
+
# ── Bordered search box ──────────────────────────────────────────
|
|
223
|
+
search_win = Window(BufferControl(buffer=search), height=1)
|
|
224
|
+
search_box = Frame(
|
|
225
|
+
VSplit([
|
|
226
|
+
Window(FormattedTextControl(lambda: [("class:prompt", "⌕ ")]),
|
|
227
|
+
width=2, height=1),
|
|
228
|
+
search_win,
|
|
229
|
+
]),
|
|
230
|
+
title=f"search {total} teams (across all tabs)",
|
|
231
|
+
)
|
|
232
|
+
|
|
233
|
+
body = Window(
|
|
234
|
+
content=FormattedTextControl(body_text, get_cursor_position=body_cursor),
|
|
235
|
+
wrap_lines=False,
|
|
236
|
+
)
|
|
237
|
+
|
|
238
|
+
root = HSplit([
|
|
239
|
+
search_box,
|
|
240
|
+
Window(FormattedTextControl(tabbar_text), height=Dimension(min=1, max=2),
|
|
241
|
+
wrap_lines=True),
|
|
242
|
+
Window(height=1, char="─", style="class:rule"),
|
|
243
|
+
body,
|
|
244
|
+
Window(FormattedTextControl(footer_text), height=1),
|
|
245
|
+
])
|
|
246
|
+
|
|
247
|
+
# ── Key bindings ─────────────────────────────────────────────────
|
|
248
|
+
kb = KeyBindings()
|
|
249
|
+
|
|
250
|
+
@kb.add("up", filter=is_list, eager=True)
|
|
251
|
+
@kb.add("c-p", filter=is_list, eager=True)
|
|
252
|
+
def _up(event):
|
|
253
|
+
if state["filtered"]:
|
|
254
|
+
state["sel"] = (state["sel"] - 1) % len(state["filtered"])
|
|
255
|
+
|
|
256
|
+
@kb.add("down", filter=is_list, eager=True)
|
|
257
|
+
@kb.add("c-n", filter=is_list, eager=True)
|
|
258
|
+
def _down(event):
|
|
259
|
+
if state["filtered"]:
|
|
260
|
+
state["sel"] = (state["sel"] + 1) % len(state["filtered"])
|
|
261
|
+
|
|
262
|
+
@kb.add("right", filter=is_list, eager=True)
|
|
263
|
+
@kb.add("s-tab", filter=is_list, eager=True)
|
|
264
|
+
def _tab_next(event):
|
|
265
|
+
_set_tab(state["tab"] + 1)
|
|
266
|
+
|
|
267
|
+
@kb.add("left", filter=is_list, eager=True)
|
|
268
|
+
def _tab_prev(event):
|
|
269
|
+
_set_tab(state["tab"] - 1)
|
|
270
|
+
|
|
271
|
+
@kb.add("enter", filter=is_list, eager=True)
|
|
272
|
+
def _enter_list(event):
|
|
273
|
+
if _current() is not None:
|
|
274
|
+
state["mode"] = "detail"
|
|
275
|
+
|
|
276
|
+
@kb.add("enter", filter=is_detail, eager=True)
|
|
277
|
+
def _enter_detail(event):
|
|
278
|
+
t = _current()
|
|
279
|
+
if t is not None:
|
|
280
|
+
state["result"] = t["slug"]
|
|
281
|
+
event.app.exit()
|
|
282
|
+
|
|
283
|
+
@kb.add("escape", filter=is_detail, eager=True)
|
|
284
|
+
def _esc_detail(event):
|
|
285
|
+
state["mode"] = "list"
|
|
286
|
+
|
|
287
|
+
@kb.add("escape", filter=is_list, eager=True)
|
|
288
|
+
def _esc_list(event):
|
|
289
|
+
state["result"] = None
|
|
290
|
+
event.app.exit()
|
|
291
|
+
|
|
292
|
+
# In detail mode, swallow other keys so typing doesn't edit the query.
|
|
293
|
+
@kb.add("<any>", filter=is_detail, eager=True)
|
|
294
|
+
def _swallow(event):
|
|
295
|
+
pass
|
|
296
|
+
|
|
297
|
+
@kb.add("c-c")
|
|
298
|
+
@kb.add("c-q")
|
|
299
|
+
def _cancel(event):
|
|
300
|
+
state["result"] = None
|
|
301
|
+
event.app.exit()
|
|
302
|
+
|
|
303
|
+
style = Style([
|
|
304
|
+
("frame.border", "fg:#3a3a3a"),
|
|
305
|
+
("frame.label", "fg:#6c6c6c"),
|
|
306
|
+
("prompt", "fg:#00d7ff bold"),
|
|
307
|
+
("rule", "fg:#3a3a3a"),
|
|
308
|
+
("title", "bold"),
|
|
309
|
+
("dim", "fg:#6c6c6c"),
|
|
310
|
+
("hint", "fg:#5fafff"),
|
|
311
|
+
("row", ""),
|
|
312
|
+
("tab", "fg:#9e9e9e"),
|
|
313
|
+
("tab-active", "bg:#00d7ff fg:#000000 bold"),
|
|
314
|
+
("sel", "bg:#00d7ff fg:#000000 bold"),
|
|
315
|
+
("seldim", "fg:#5fafff"),
|
|
316
|
+
("meta", "fg:#5fafff"),
|
|
317
|
+
("foot", "fg:#5fff5f bold"),
|
|
318
|
+
])
|
|
319
|
+
|
|
320
|
+
app_kwargs = {}
|
|
321
|
+
if _input is not None:
|
|
322
|
+
app_kwargs["input"] = _input
|
|
323
|
+
if _output is not None:
|
|
324
|
+
app_kwargs["output"] = _output
|
|
325
|
+
|
|
326
|
+
app = Application(
|
|
327
|
+
layout=Layout(root, focused_element=search_win),
|
|
328
|
+
key_bindings=kb,
|
|
329
|
+
style=style,
|
|
330
|
+
full_screen=True,
|
|
331
|
+
mouse_support=False,
|
|
332
|
+
**app_kwargs,
|
|
333
|
+
)
|
|
334
|
+
_recompute()
|
|
335
|
+
app.run()
|
|
336
|
+
return state["result"]
|
|
@@ -64,3 +64,33 @@ def test_ctrl_c_cancels():
|
|
|
64
64
|
|
|
65
65
|
def test_no_match_then_cancel():
|
|
66
66
|
assert _run("zzzznope\x03") is None
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
# ── Tabs (business functions) + global search ──
|
|
70
|
+
|
|
71
|
+
_RIGHT = "\x1b[C"
|
|
72
|
+
_LEFT = "\x1b[D"
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
def test_right_switches_to_start_here_tab():
|
|
76
|
+
# tabs = [All, Start here, ...]; one Right -> 'Start here' -> only starter
|
|
77
|
+
assert _run(_RIGHT + "\r\r") == "starter"
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
def test_search_overrides_active_tab():
|
|
81
|
+
# On the 'Start here' tab, typing still searches ALL tabs (global).
|
|
82
|
+
assert _run(_RIGHT + "proc\r\r") == "procurement-ops"
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
def test_left_wraps_to_last_tab():
|
|
86
|
+
# From 'All', Left wraps to the last category (Production & supply),
|
|
87
|
+
# whose first template is production-planning.
|
|
88
|
+
assert _run(_LEFT + "\r\r") == "production-planning"
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
def test_tabs_include_all_plus_categories():
|
|
92
|
+
from create_leafmesh.create import list_templates as _lt
|
|
93
|
+
from create_leafmesh.discover import _ordered_categories
|
|
94
|
+
cats = _ordered_categories(_lt(include_planned=False))
|
|
95
|
+
assert cats[0] == "Start here"
|
|
96
|
+
assert "Production & supply" in cats
|
|
@@ -1,269 +0,0 @@
|
|
|
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"]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|