Plantern lighting commands
Adds a bounded plant conversation action for ordinary fog Adventure lawns. Players can ask Plantern to focus farther down its lane, sacrificing side coverage, or restore its original surrounding light. The game owns the fog effect, individual identity, revision, pause and save. The model returns only the supported decision or ordinary dialogue.
The request requires a living Plantern, a neutral plant conversation, fog level/terrain, both light fields, and the current wave. Other species, source scenes, conveyors, mixed capabilities and incomplete fields are rejected. Reply normalization permits only the advertised change, not a repeated order, another plant's command, a reward, or a stat change. Older clients omit the new optional fields and keep their existing behavior.
Uses the existing account provider/model settings, plant conversation identity, personality catalog and service path. No new credentials, database schema, automatic AI requests or unrelated production settings.
Local verification: all 357 game-NPC tests pass; pnpm build and pnpm typecheck pass. New tests cover both directions, ordinary dialogue, malformed/wrong-lawn requests and unauthorized decisions. packages/server/scripts/plantern-service-fixture.mts is a stdin/stdout helper for a localhost browser check using the actual service and a deterministic provider. It does not verify a paid model's interpretation or production capacity.
The matching native/client implementation lives in the PvZ game worktree. Publish that artifact only after the host accepts these fields. This change does not establish that the entire campaign or physical phone experience is launch-ready.
