Expand description
CronFacade - the seam between the cron MCP tools and workspace
state. The production impl (ProdCronFacade) resolves the callerβs
project and drives the direct Workspace cron methods; the mock
records calls for tool tests.
Cron-list mutations are direct Workspace methods (lock the crons
mutex + persist), NOT Command-bus dispatches - a cron entry is
workspace state, like the account-usage cache, not a session action.
Re-exportsΒ§
use std::sync::Arc;πuse std::sync::Weak;πuse std::time::SystemTime;πuse forge_primitives::cron::CronEntry;πuse forge_primitives::cron::CronId;πuse forge_primitives::cron::CronKind;πuse crate::SessionSlot;πuse crate::mcp::caller_context::caller_context;πuse crate::mcp::cron::schedule;πuse crate::workspace::Workspace;π
StructsΒ§
- Prod
Cron πFacade - Production facade over
Weak<Workspace>(weak to avoid a cycle with the MCP server the workspace owns).
EnumsΒ§
- Cron
Create πError - Why
cron__createfailed. - Cron
Delete πError - Why
cron__deletefailed. The last two are the two cases a refusal keeps apart: an id the project holds under another session reads differently from one the project never had. - Cron
List πError - Why
cron__listfailed.
TraitsΒ§
- Cron
Facade π - The cron toolsβ view of the workspace. Sync - cron-list mutations are direct state writes with no async handler to await.