Skip to content
docsv0.2.0

ToolProjector

El proyector Tool→web (P5.4, ADR#11 "Projected means governed"): gradúa el dispatch ceremonial de P5.3a. El formulario valida la entrada; el registry gobierna la operación — el dispatch corre SIEMPRE por `ToolRegistry::call()` (policy, audit, rate-limit, contención), nunca invoke directo. El proyector proyecta, no navega: devuelve un {@see ProjectedToolResult} y la superficie decide (PRG hoy; otros transportes mañana). Nace host-side (Almácigo) — gradúa al skeleton cuando exista el segundo consumidor.

ToolProjector::__construct()

public function __construct(Milpa\ToolRuntime\ToolRegistry $registry, Milpa\Live\Schema\SchemaForm $schemaForm, Milpa\Admin\Projection\ToolBannerMapper $bannerMapper):

Parameters

Parameters of __construct()
NameTypeDescription
$registryMilpa\ToolRuntime\ToolRegistry
$schemaFormMilpa\Live\Schema\SchemaForm
$bannerMapperMilpa\Admin\Projection\ToolBannerMapper

ToolProjector::dispatch()

public function dispatch(string $toolName, Milpa\Live\Schema\FormDefinition $definition, array $rawBody, Milpa\ToolRuntime\Contracts\ToolContext $context): Milpa\Admin\Projection\ProjectedToolResult

Corre una herramienta gobernada y proyecta su resultado a la superficie web.

Parameters

Parameters of dispatch()
NameTypeDescription
$toolNamestring
$definitionMilpa\Live\Schema\FormDefinition
$rawBodyarray<string, mixed>
$contextMilpa\ToolRuntime\Contracts\ToolContext