Skip to main content

GravityKit\GravityMigrate\Abilities\Bundles\ResetState

Clears this site's migration state so a new migration can start.

The way out of a stuck site: an import that died holding the lock, a crashed import nobody is going to resume, an export that left residue. It discards the crashed-import record, which is the only description of data half-written into this site.

Unlike wp gk migrate reset it leaves finished export bundles in place, so clearing export residue does not destroy a bundle waiting to be imported.

Since: %ver%

Source: src/Abilities/Bundles/ResetState.php:29

Details

  • Kind: class
  • Namespace: GravityKit\GravityMigrate\Abilities\Bundles
  • Extends: Ability

Methods

MethodDescription
name()The ability name, gk-gravitymigrate/{object}-{verb}.
label()The short human label, shown in Foundation's settings list.
description()What this ability does, written for the agent that has to choose between it and the one
category()The category slug, which must be one {@see Bootstrap::categories()} declares.
input_schema()JSON Schema for the input.
output_schema()JSON Schema for the output.
annotations()WordPress's own annotation vocabulary for this ability.
execute()Does the work.
permission()Whether this caller may run it.

Method Reference

name()

public static function name(): string

The ability name, gk-gravitymigrate/{object}-{verb}.

Permanent once published: the MCP tool name is derived from it, so renaming one breaks every client already bound to it.

Returns

  • string

Since: %ver%

Source: src/Abilities/Bundles/ResetState.php:34

label()

public static function label(): string

The short human label, shown in Foundation's settings list.

Returns

  • string

Since: %ver%

Source: src/Abilities/Bundles/ResetState.php:41

description()

public static function description(): string

What this ability does, written for the agent that has to choose between it and the one

next to it. It is the only documentation an MCP client ever sees.

Returns

  • string

Since: %ver%

Source: src/Abilities/Bundles/ResetState.php:48

category()

public static function category(): string

The category slug, which must be one {@see Bootstrap::categories()} declares.

Foundation derives gk_scope from the suffix, so only a gk-gravitymigrate-{scope} slug is reachable through a cross-product scope filter.

Returns

  • string

Since: %ver%

Source: src/Abilities/Bundles/ResetState.php:59

input_schema()

public static function input_schema(): array

JSON Schema for the input.

Returns

  • array

Since: %ver%

Source: src/Abilities/Bundles/ResetState.php:66

output_schema()

public static function output_schema(): array

JSON Schema for the output.

Returns

  • array

Since: %ver%

Source: src/Abilities/Bundles/ResetState.php:83

annotations()

public static function annotations(): array

WordPress's own annotation vocabulary for this ability.

Destructive and idempotent: it throws state away, and clearing an already-clear site changes nothing. Those two make it a DELETE on the wire.

Returns

  • array{readonly:bool, — destructive:bool, idempotent:bool}

Since: %ver%

Source: src/Abilities/Bundles/ResetState.php:107

execute()

public static function execute( array $input )

Does the work.

Parameters

NameTypeDefaultDescription
$inputarrayInput as received.

Returns

  • array | \WP_Error

Since: %ver%

Source: src/Abilities/Bundles/ResetState.php:122

permission()

public static function permission( array $input=[] )

Whether this caller may run it.

Answered through \GravityKit\GravityMigrate\Migration\Permission, never a bare current_user_can(): that helper is the one gate the wizard and wp gk migrate also ask.

Parameters

NameTypeDefaultDescription
$inputarray[]Input as received.

Returns

  • bool | \WP_Error

Since: %ver%

Source: src/Abilities/Bundles/ResetState.php:154