暫無描述

Lukas Goldschmidt cbd740ae5a Trim garden tool surface and update docs/tests 1 月之前
examples c76d18f500 Add garden test fixture loading 1 月之前
src cbd740ae5a Trim garden tool surface and update docs/tests 1 月之前
.gitignore 30d8d9bf04 Initial garden layer package and tests 1 月之前
README.md cbd740ae5a Trim garden tool surface and update docs/tests 1 月之前
__init__.py 3b1f433306 Initial garden layer package and tests 1 月之前
config.py cbd740ae5a Trim garden tool surface and update docs/tests 1 月之前
helpers.py 9c3c1890c2 Add garden domain helpers for cycles and fixtures 1 月之前
pyproject.toml 30d8d9bf04 Initial garden layer package and tests 1 月之前
requirements.txt 3b1f433306 Initial garden layer package and tests 1 月之前
test.sh cbd740ae5a Trim garden tool surface and update docs/tests 1 月之前
test_garden_layer.py cbd740ae5a Trim garden tool surface and update docs/tests 1 月之前

README.md

Garden Layer

Garden-domain helpers and plugin tools for virtuoso_mcp.

Current role

  • Provides domain workflows (cycles, clones, seedlings).
  • Keeps domain logic separate from generic Virtuoso MCP tools.
  • Registers garden_* plugin tools into virtuoso_mcp via register_layer(...).

Current garden tool surface (trimmed)

Only domain-unique prefixed tools are exposed:

  • garden_add_seedling
  • garden_cycle_plants
  • garden_latest_cycle_by_dates
  • garden_clone_to
  • garden_cycle_list_detailed
  • garden_reassign_cycle

Redundant prefixed aliases of generic tools were intentionally removed.

Runtime coupling

  • Default endpoint for direct helper calls: GARDEN_MCP_URL=http://127.0.0.1:8501/rpc
  • This uses the compatibility router in virtuoso_mcp for simple tool invocation during migration.

Structure

  • src/garden_layer/domain_tools.py — domain-native logic
  • src/garden_layer/__init__.py — plugin registration and schemas
  • src/garden_layer/helpers.py — convenience class for direct usage
  • test_garden_layer.py — integration-style tests against running virtuoso_mcp

Tests

./test.sh

test.sh is self-contained:

  • activates local .venv when present
  • installs missing test deps if needed
  • runs pytest with PYTHONPATH=src

Expected result depends on fixture availability; current baseline is passing core domain/plugin checks with optional data-dependent skips.

Install (plugin host)

pip install --upgrade git+https://repo.home.world.eu.org/lucky/garden_layer.git

Then in virtuoso_mcp set:

DOMAIN_LAYERS=garden_layer.plugin

and restart the server.