__( 'Store Assistant Pro', 'addsynapse-store-assistant' ), 'description' => 'Call this INSTEAD of answering in text when the manager asks for a change only Store Assistant Pro (a separate add-on) makes: the text, headings, buttons, images or sections of a page (also the homepage), a post, a menu, banners or the look of the site (feature pages); many products at once (bulk); attributes or variations (attributes); creating/renaming categories, tags or brands (terms); other product settings (fields); coupons; orders; a CSV import (import); writing posts/pages or texts for many items (content); older changes (history); anything else (other). It changes nothing; the chat shows a See Pro button. Then say it in one sentence and offer what you can do now.', 'category' => AbilitiesRegistrar::CATEGORY, 'input_schema' => array( 'type' => 'object', 'additionalProperties' => false, 'required' => array( 'feature' ), 'properties' => array( 'feature' => array( 'type' => 'string', 'enum' => self::FEATURES, ), ), ), 'output_schema' => array( 'type' => 'object', 'required' => array( 'status', 'message' ), ), 'execute_callback' => array( $this, 'execute' ), 'permission_callback' => array( AbilitiesRegistrar::class, 'can_manage' ), 'meta' => Shared::readonly_meta(), ) ); } /** * Executes. * * @param array|null $input Input. * @return array */ public function execute( $input = null ): array { $feature = is_array( $input ) ? (string) ( $input['feature'] ?? 'other' ) : 'other'; return Planner::one_item_only( in_array( $feature, self::FEATURES, true ) ? $feature : 'other' ); } }