$safety The safety config from the ability. * @param mixed $input Ability input. * * @return array{ pre_hash: string, snapshot_id: int|null, surfaces: array } */ public function capture( string $invocation_id, array $safety, $input ): array; /** * Capture post-invocation state and persist it on an existing snapshot row. * * @param int $snapshot_id Row id returned by capture(). * @param array $safety Safety config (same value passed to capture()). * @param mixed $input Ability input. */ public function capture_post( int $snapshot_id, array $safety, $input ): void; }