20 lines
968 B
Markdown
20 lines
968 B
Markdown
# Architecture
|
|
|
|
YMhut Box is split into a WinUI app and a reusable Core library.
|
|
|
|
## Layers
|
|
|
|
- `YMhut.Box.WinUI`: window shell, navigation, pages, App Installer update trigger and Windows integration.
|
|
- `YMhut.Box.Core`: settings, log, HTTP/API, local data, system snapshots, tool catalog and tool execution.
|
|
- `YMhut.Box.Tests`: MSTest coverage for migration-critical services and tool behavior.
|
|
|
|
## Services
|
|
|
|
The WinUI app builds a DI container in `AppServices.Configure()` and registers settings, logging, HTTP/API, update, data, system metrics, startup, window state and tool worker services.
|
|
|
|
Tool pages call `IToolWorkerService` and `ToolExecutor`; API-backed tools go through `IApiManager`, which owns endpoint resolution, timeout behavior, logging and cache boundaries.
|
|
|
|
## Tool Contract
|
|
|
|
Every tool is registered as an `IToolModule` with stable metadata. `ToolCatalog` is a static C# registry and no longer reads a runtime tool registry from another project.
|