Metadata-Version: 2.4
Name: snowland-agent-core
Version: 0.1.0
Summary: Framework-agnostic agent engine shared by the snowland-aitool cloud web service and the local IDE MCP server.
Author: Snowland Co, .Ltd
License-Expression: BSD-3-Clause
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aider-chat
Requires-Dist: langgraph
Provides-Extra: mcp
Requires-Dist: mcp>=1.0; extra == "mcp"
Requires-Dist: pydantic>=2.0; extra == "mcp"
Requires-Dist: anyio; extra == "mcp"
Requires-Dist: uvicorn>=0.30; extra == "mcp"
Dynamic: license-file

# snowland-agent-core (shared engine)

This is the **framework-agnostic agent engine** extracted from the original
`snowland-aitool` Django project. It is the single source of truth for the
`snowland_agent_core.core` engine and is shared by:

- **snowland-aitool** — the pure cloud web service (frontend auth, page
  templates, multi-agent `chat_team`); it imports this package to run agents
  server-side.
- **python/snowland_mcp** — the standalone local MCP server launched by the
  IntelliJ plugin (Option C); it imports `snowland_agent_core.core` to run
  agents locally, wired with `LocalCredentialRepo` + in-memory ports (no
  Django, no DB).

## What is inside

- `snowland_agent_core/__init__.py` — package marker (`VERSION`).
- `snowland_agent_core/core/` — the engine: `AiderCore`, ports (Protocols), config, safety,
  in-memory port implementations, executor, planner, prompts, session manager,
  and the `orchestration/` subpackage.

## What is NOT inside

No Django, no ORM, no web/ASGI layer, no frontend. Everything here is pure
Python and depends only on injected ports (`snowland_agent_core.core.ports`). The engine is
assembled by the caller (cloud adapter or local MCP server) via dependency
injection, so it runs equally well inside Django or as a bare child process.

## Install

```bash
# Engine only (cloud web service):
pip install -e .

# Plus the MCP server deps (local IDE backend):
pip install -e .[mcp]
```

Runtime requirements: `aider-chat` (required) and `langgraph` (required by the
orchestration `Team`; `import snowland_agent_core.core` itself does not eagerly import it).

## Why a shared package

The IDE plugin's local backend must run the agent engine on the developer's
machine, but `snowland-aitool` is a pure cloud web service with no guarantee of
a local checkout. Vendoring a copy of the engine in two places would diverge,
so the engine lives here as one package that both projects depend on.

## License

Released under the **BSD 3-Clause License**. See the [LICENSE](./LICENSE) file
for the full text. Copyright (c) 2026 Snowland Co, .Ltd.
