<?php
/** Registers all Companion abilities after their definition modules are loaded. */

if ( ! defined( 'ABSPATH' ) ) {
\texit;
}

/**
 * Register all companion abilities.
 *
 * The official WordPress Abilities API (core since 6.9) fires this action.
 * includes/mcp-server.php explicitly mirrors these names into its tool list.
 */
function wpagent_companion_register_abilities(): void {
	if ( ! wpagent_companion_gate_open() ) {
		return;
	}
	wp_register_ability( 'wp-agent/create-post-from-markdown', wpagent_ability_create_post_from_markdown() );
	wp_register_ability( 'wp-agent/get-seo-meta', wpagent_ability_get_seo_meta() );
	wp_register_ability( 'wp-agent/set-seo-meta', wpagent_ability_set_seo_meta() );
	wp_register_ability( 'wp-agent/get-seo-settings', wpagent_ability_get_seo_settings() );
	wp_register_ability( 'wp-agent/set-seo-settings', wpagent_ability_set_seo_settings() );
	wp_register_ability( 'wp-agent/get-post-schema', wpagent_ability_get_post_schema() );
	wp_register_ability( 'wp-agent/set-post-schema', wpagent_ability_set_post_schema() );
	wp_register_ability( 'wp-agent/delete-post-schema', wpagent_ability_delete_post_schema() );
	wp_register_ability( 'wp-agent/get-term-seo-meta', wpagent_ability_get_term_seo_meta() );
	wp_register_ability( 'wp-agent/set-term-seo-meta', wpagent_ability_set_term_seo_meta() );
	wp_register_ability( 'wp-agent/list-seo-redirections', wpagent_ability_list_seo_redirections() );
	wp_register_ability( 'wp-agent/get-seo-redirection', wpagent_ability_get_seo_redirection() );
	wp_register_ability( 'wp-agent/create-seo-redirection', wpagent_ability_create_seo_redirection() );
	wp_register_ability( 'wp-agent/update-seo-redirection', wpagent_ability_update_seo_redirection() );
	wp_register_ability( 'wp-agent/delete-seo-redirection', wpagent_ability_delete_seo_redirection() );
	wp_register_ability( 'wp-agent/get-seopress-post-redirection', wpagent_ability_get_seopress_post_redirection() );
	wp_register_ability( 'wp-agent/set-seopress-post-redirection', wpagent_ability_set_seopress_post_redirection() );
	wp_register_ability( 'wp-agent/render-check', wpagent_ability_render_check() );
	wp_register_ability( 'wp-agent/render-verify', wpagent_ability_render_verify() );
	wp_register_ability( 'wp-agent/disable-power', wpagent_ability_disable_power() );
	wp_register_ability( 'wp-agent/upsert-pattern', wpagent_ability_upsert_pattern() );
	wp_register_ability( 'wp-agent/write-theme-file', wpagent_ability_write_theme_file() );
	wp_register_ability( 'wp-agent/get-global-styles', wpagent_ability_get_global_styles() );
	wp_register_ability( 'wp-agent/set-global-styles', wpagent_ability_set_global_styles() );
	wp_register_ability( 'wp-agent/list-global-style-variations', wpagent_ability_list_global_style_variations() );
	wp_register_ability( 'wp-agent/get-global-style-variation', wpagent_ability_get_global_style_variation() );
	wp_register_ability( 'wp-agent/apply-global-style-variation', wpagent_ability_apply_global_style_variation() );
	wp_register_ability( 'wp-agent/refresh-hooks', wpagent_ability_refresh_hooks() );
	wp_register_ability( 'wp-agent/get-post', wpagent_ability_get_post() );
	wp_register_ability( 'wp-agent/detect-builder', wpagent_ability_detect_builder() );
	wp_register_ability( 'wp-agent/refresh-builder-cache', wpagent_ability_refresh_builder_cache() );
	wp_register_ability( 'wp-agent/get-builder-compatibility', wpagent_ability_get_builder_compatibility() );
	wp_register_ability( 'wp-agent/list-block-types', wpagent_ability_list_block_types() );
	wp_register_ability( 'wp-agent/get-block-type', wpagent_ability_get_block_type() );
	wp_register_ability( 'wp-agent/get-native-block-document', wpagent_ability_get_native_block_document() );
	wp_register_ability( 'wp-agent/update-spectra-block-attributes', wpagent_ability_update_spectra_block_attributes() );
	wp_register_ability( 'wp-agent/get-spectra-blocks-provider', wpagent_ability_get_spectra_blocks_provider() );
	wp_register_ability( 'wp-agent/list-spectra-blocks-catalog', wpagent_ability_list_spectra_blocks_catalog() );
	wp_register_ability( 'wp-agent/get-spectra-blocks-settings', wpagent_ability_get_spectra_blocks_settings() );
	wp_register_ability( 'wp-agent/get-spectra-blocks-global-styles', wpagent_ability_get_spectra_blocks_global_styles() );
	wp_register_ability( 'wp-agent/get-spectra-blocks-popup', wpagent_ability_get_spectra_blocks_popup() );
	wp_register_ability( 'wp-agent/get-spectra-blocks-separator', wpagent_ability_get_spectra_blocks_separator() );
	wp_register_ability( 'wp-agent/update-spectra-blocks-separator', wpagent_ability_update_spectra_blocks_separator() );
	wp_register_ability( 'wp-agent/update-spectra-static-heading-alignment', wpagent_ability_update_spectra_static_heading_alignment() );
	wp_register_ability( 'wp-agent/update-spectra-static-heading-colors', wpagent_ability_update_spectra_static_heading_colors() );
	wp_register_ability( 'wp-agent/update-generateblocks-block-attributes', wpagent_ability_update_generateblocks_block_attributes() );
	wp_register_ability( 'wp-agent/update-kadence-block-attributes', wpagent_ability_update_kadence_block_attributes() );
	wp_register_ability( 'wp-agent/get-elementor-document', wpagent_ability_get_elementor_document() );
	wp_register_ability( 'wp-agent/preview-elementor-v3-v4-migration', wpagent_ability_preview_elementor_v3_v4_migration() );
	wp_register_ability( 'wp-agent/get-elementor-design-system', wpagent_ability_get_elementor_design_system() );
	wp_register_ability( 'wp-agent/update-elementor-design-system', wpagent_ability_update_elementor_design_system() );
	wp_register_ability( 'wp-agent/get-elementor-global-classes', wpagent_ability_get_elementor_global_classes() );
	wp_register_ability( 'wp-agent/create-elementor-global-class', wpagent_ability_create_elementor_global_class() );
	wp_register_ability( 'wp-agent/update-elementor-global-class', wpagent_ability_update_elementor_global_class() );
	wp_register_ability( 'wp-agent/delete-elementor-global-class', wpagent_ability_delete_elementor_global_class() );
	wp_register_ability( 'wp-agent/set-elementor-element-global-classes', wpagent_ability_set_elementor_element_global_classes() );
	wp_register_ability( 'wp-agent/list-elementor-widgets', wpagent_ability_list_elementor_widgets() );
	wp_register_ability( 'wp-agent/get-elementor-widget-schema', wpagent_ability_get_elementor_widget_schema() );
	wp_register_ability( 'wp-agent/get-elementor-element', wpagent_ability_get_elementor_element() );
	wp_register_ability( 'wp-agent/create-elementor-page', wpagent_ability_create_elementor_page() );
	wp_register_ability( 'wp-agent/update-elementor-document', wpagent_ability_update_elementor_document() );
	wp_register_ability( 'wp-agent/update-elementor-element', wpagent_ability_update_elementor_element() );
	wp_register_ability( 'wp-agent/create-elementor-element', wpagent_ability_create_elementor_element() );
	wp_register_ability( 'wp-agent/duplicate-elementor-element', wpagent_ability_duplicate_elementor_element() );
	wp_register_ability( 'wp-agent/move-elementor-element', wpagent_ability_move_elementor_element() );
	wp_register_ability( 'wp-agent/delete-elementor-element', wpagent_ability_delete_elementor_element() );
	wp_register_ability( 'wp-agent/restore-elementor-revision', wpagent_ability_restore_elementor_revision() );
	wp_register_ability( 'wp-agent/get-beaver-document', wpagent_ability_get_beaver_document() );
	wp_register_ability( 'wp-agent/list-beaver-modules', wpagent_ability_list_beaver_modules() );
	wp_register_ability( 'wp-agent/get-beaver-module-schema', wpagent_ability_get_beaver_module_schema() );
	wp_register_ability( 'wp-agent/create-beaver-page', wpagent_ability_create_beaver_page() );
	wp_register_ability( 'wp-agent/update-beaver-node', wpagent_ability_update_beaver_node() );
	wp_register_ability( 'wp-agent/create-beaver-column-group', wpagent_ability_create_beaver_column_group() );
	wp_register_ability( 'wp-agent/create-beaver-module', wpagent_ability_create_beaver_module() );
	wp_register_ability( 'wp-agent/duplicate-beaver-node', wpagent_ability_duplicate_beaver_node() );
	wp_register_ability( 'wp-agent/move-beaver-node', wpagent_ability_move_beaver_node() );
	wp_register_ability( 'wp-agent/delete-beaver-node', wpagent_ability_delete_beaver_node() );
	wp_register_ability( 'wp-agent/restore-beaver-revision', wpagent_ability_restore_beaver_revision() );
	wp_register_ability( 'wp-agent/list-beaver-user-templates', wpagent_ability_list_beaver_user_templates() );
	wp_register_ability( 'wp-agent/get-beaver-user-template', wpagent_ability_get_beaver_user_template() );
	wp_register_ability( 'wp-agent/save-beaver-user-template', wpagent_ability_save_beaver_user_template() );
	wp_register_ability( 'wp-agent/save-beaver-node-template', wpagent_ability_save_beaver_node_template() );
	wp_register_ability( 'wp-agent/delete-beaver-user-template', wpagent_ability_delete_beaver_user_template() );
	wp_register_ability( 'wp-agent/get-beaver-global-settings', wpagent_ability_get_beaver_global_settings() );
	wp_register_ability( 'wp-agent/save-beaver-global-settings', wpagent_ability_save_beaver_global_settings() );
	wp_register_ability( 'wp-agent/list-posts', wpagent_ability_list_posts() );
	wp_register_ability( 'wp-agent/update-post', wpagent_ability_update_post() );
	wp_register_ability( 'wp-agent/set-post-status', wpagent_ability_set_post_status() );
	wp_register_ability( 'wp-agent/trash-post', wpagent_ability_trash_post() );
	wp_register_ability( 'wp-agent/restore-post', wpagent_ability_restore_post() );
	wp_register_ability( 'wp-agent/delete-post', wpagent_ability_delete_post() );
	wp_register_ability( 'wp-agent/create-term', wpagent_ability_create_term() );
	wp_register_ability( 'wp-agent/update-term', wpagent_ability_update_term() );
	wp_register_ability( 'wp-agent/delete-term', wpagent_ability_delete_term() );
	wp_register_ability( 'wp-agent/get-term', wpagent_ability_get_term() );
	wp_register_ability( 'wp-agent/list-terms', wpagent_ability_list_terms() );
	wp_register_ability( 'wp-agent/set-post-terms', wpagent_ability_set_post_terms() );
	wp_register_ability( 'wp-agent/upload-media', wpagent_ability_upload_media() );
	wp_register_ability( 'wp-agent/create-direct-media-upload', wpagent_ability_create_direct_media_upload() );
	wp_register_ability( 'wp-agent/revoke-direct-media-upload', wpagent_ability_revoke_direct_media_upload() );
	wp_register_ability( 'wp-agent/set-alt-text', wpagent_ability_set_alt_text() );
	wp_register_ability( 'wp-agent/set-featured-image', wpagent_ability_set_featured_image() );
	wp_register_ability( 'wp-agent/delete-media', wpagent_ability_delete_media() );
	wp_register_ability( 'wp-agent/list-media', wpagent_ability_list_media() );
	wp_register_ability( 'wp-agent/create-menu', wpagent_ability_create_menu() );
	wp_register_ability( 'wp-agent/add-menu-item', wpagent_ability_add_menu_item() );
	wp_register_ability( 'wp-agent/list-menus', wpagent_ability_list_menus() );
	wp_register_ability( 'wp-agent/assign-menu-location', wpagent_ability_assign_menu_location() );
	wp_register_ability( 'wp-agent/delete-menu', wpagent_ability_delete_menu() );
	wp_register_ability( 'wp-agent/get-setting', wpagent_ability_get_setting() );
	wp_register_ability( 'wp-agent/update-setting', wpagent_ability_update_setting() );
	wp_register_ability( 'wp-agent/list-settings', wpagent_ability_list_settings() );
	wp_register_ability( 'wp-agent/list-comments', wpagent_ability_list_comments() );
	wp_register_ability( 'wp-agent/moderate-comment', wpagent_ability_moderate_comment() );
	wp_register_ability( 'wp-agent/reply-to-comment', wpagent_ability_reply_to_comment() );
	wp_register_ability( 'wp-agent/delete-comment', wpagent_ability_delete_comment() );
	wp_register_ability( 'wp-agent/list-users', wpagent_ability_list_users() );
	wp_register_ability( 'wp-agent/get-user', wpagent_ability_get_user() );
	wp_register_ability( 'wp-agent/set-user-role', wpagent_ability_set_user_role() );
	wp_register_ability( 'wp-agent/create-user', wpagent_ability_create_user() );
	wp_register_ability( 'wp-agent/delete-user', wpagent_ability_delete_user() );
	wp_register_ability( 'wp-agent/list-plugins', wpagent_ability_list_plugins() );
	wp_register_ability( 'wp-agent/activate-plugin', wpagent_ability_activate_plugin() );
	wp_register_ability( 'wp-agent/deactivate-plugin', wpagent_ability_deactivate_plugin() );
	wp_register_ability( 'wp-agent/list-themes', wpagent_ability_list_themes() );
	wp_register_ability( 'wp-agent/switch-theme', wpagent_ability_switch_theme() );
	wp_register_ability( 'wp-agent/create-reusable-block', wpagent_ability_create_reusable_block() );
	wp_register_ability( 'wp-agent/update-reusable-block', wpagent_ability_update_reusable_block() );
	wp_register_ability( 'wp-agent/list-reusable-blocks', wpagent_ability_list_reusable_blocks() );
	wp_register_ability( 'wp-agent/delete-reusable-block', wpagent_ability_delete_reusable_block() );
	wp_register_ability( 'wp-agent/list-site-templates', wpagent_ability_list_site_templates() );
	wp_register_ability( 'wp-agent/get-site-template', wpagent_ability_get_site_template() );
	wp_register_ability( 'wp-agent/create-site-template', wpagent_ability_create_site_template() );
	wp_register_ability( 'wp-agent/update-site-template', wpagent_ability_update_site_template() );
	wp_register_ability( 'wp-agent/delete-site-template', wpagent_ability_delete_site_template() );
	wp_register_ability( 'wp-agent/list-template-parts', wpagent_ability_list_template_parts() );
	wp_register_ability( 'wp-agent/get-template-part', wpagent_ability_get_template_part() );
	wp_register_ability( 'wp-agent/create-template-part', wpagent_ability_create_template_part() );
	wp_register_ability( 'wp-agent/update-template-part', wpagent_ability_update_template_part() );
	wp_register_ability( 'wp-agent/delete-template-part', wpagent_ability_delete_template_part() );
	wp_register_ability( 'wp-agent/list-block-navigations', wpagent_ability_list_block_navigations() );
	wp_register_ability( 'wp-agent/get-block-navigation', wpagent_ability_get_block_navigation() );
	wp_register_ability( 'wp-agent/create-block-navigation', wpagent_ability_create_block_navigation() );
	wp_register_ability( 'wp-agent/update-block-navigation', wpagent_ability_update_block_navigation() );
	wp_register_ability( 'wp-agent/delete-block-navigation', wpagent_ability_delete_block_navigation() );
	wp_register_ability( 'wp-agent/export-spectra-one-design-snapshot', wpagent_ability_export_spectra_one_design_snapshot() );
	wp_register_ability( 'wp-agent/import-spectra-one-design-snapshot', wpagent_ability_import_spectra_one_design_snapshot() );
	wp_register_ability( 'wp-agent/list-spectra-blocks', wpagent_ability_list_spectra_blocks() );
	wp_register_ability( 'wp-agent/get-spectra-editor-settings', wpagent_ability_get_spectra_editor_settings() );
	wp_register_ability( 'wp-agent/set-spectra-block-status', wpagent_ability_set_spectra_block_status() );
	wp_register_ability( 'wp-agent/list-spectra-popups', wpagent_ability_list_spectra_popups() );
	wp_register_ability( 'wp-agent/get-spectra-popup', wpagent_ability_get_spectra_popup() );
	wp_register_ability( 'wp-agent/create-spectra-popup', wpagent_ability_create_spectra_popup() );
	wp_register_ability( 'wp-agent/update-spectra-popup', wpagent_ability_update_spectra_popup() );
	wp_register_ability( 'wp-agent/delete-spectra-popup', wpagent_ability_delete_spectra_popup() );
	wp_register_ability( 'wp-agent/get-acf-fields', wpagent_ability_get_acf_fields() );
	wp_register_ability( 'wp-agent/update-acf-field', wpagent_ability_update_acf_field() );
	wp_register_ability( 'wp-agent/list-acf-field-groups', wpagent_ability_list_acf_field_groups() );
	wp_register_ability( 'wp-agent/get-acf-field-group', wpagent_ability_get_acf_field_group() );
	wp_register_ability( 'wp-agent/create-acf-field-group', wpagent_ability_create_acf_field_group() );
	wp_register_ability( 'wp-agent/update-acf-field-group', wpagent_ability_update_acf_field_group() );
	wp_register_ability( 'wp-agent/duplicate-acf-field-group', wpagent_ability_duplicate_acf_field_group() );
	wp_register_ability( 'wp-agent/delete-acf-field-group', wpagent_ability_delete_acf_field_group() );
	wp_register_ability( 'wp-agent/list-acf-post-types', wpagent_ability_list_acf_post_types() );
	wp_register_ability( 'wp-agent/get-acf-post-type', wpagent_ability_get_acf_post_type() );
	wp_register_ability( 'wp-agent/create-acf-post-type', wpagent_ability_create_acf_post_type() );
	wp_register_ability( 'wp-agent/update-acf-post-type', wpagent_ability_update_acf_post_type() );
	wp_register_ability( 'wp-agent/delete-acf-post-type', wpagent_ability_delete_acf_post_type() );
	wp_register_ability( 'wp-agent/list-acf-taxonomies', wpagent_ability_list_acf_taxonomies() );
	wp_register_ability( 'wp-agent/get-acf-taxonomy', wpagent_ability_get_acf_taxonomy() );
	wp_register_ability( 'wp-agent/create-acf-taxonomy', wpagent_ability_create_acf_taxonomy() );
	wp_register_ability( 'wp-agent/update-acf-taxonomy', wpagent_ability_update_acf_taxonomy() );
	wp_register_ability( 'wp-agent/delete-acf-taxonomy', wpagent_ability_delete_acf_taxonomy() );
	wp_register_ability( 'wp-agent/list-pods-models', wpagent_ability_list_pods_models() );
	wp_register_ability( 'wp-agent/get-pods-model', wpagent_ability_get_pods_model() );
	wp_register_ability( 'wp-agent/create-pods-model', wpagent_ability_create_pods_model() );
	wp_register_ability( 'wp-agent/update-pods-model', wpagent_ability_update_pods_model() );
	wp_register_ability( 'wp-agent/delete-pods-model', wpagent_ability_delete_pods_model() );
	wp_register_ability( 'wp-agent/upsert-pods-field', wpagent_ability_upsert_pods_field() );
	wp_register_ability( 'wp-agent/delete-pods-field', wpagent_ability_delete_pods_field() );
	wp_register_ability( 'wp-agent/list-pods-settings', wpagent_ability_list_pods_settings() );
	wp_register_ability( 'wp-agent/get-pods-settings', wpagent_ability_get_pods_settings() );
	wp_register_ability( 'wp-agent/list-pods-field-groups', wpagent_ability_list_pods_field_groups() );
	wp_register_ability( 'wp-agent/get-pods-field-group', wpagent_ability_get_pods_field_group() );
	wp_register_ability( 'wp-agent/list-pods-object-extensions', wpagent_ability_list_pods_object_extensions() );
	wp_register_ability( 'wp-agent/get-pods-object-extension', wpagent_ability_get_pods_object_extension() );
	wp_register_ability( 'wp-agent/list-pods-act-records', wpagent_ability_list_pods_act_records() );
	wp_register_ability( 'wp-agent/get-pods-act-record', wpagent_ability_get_pods_act_record() );
	wp_register_ability( 'wp-agent/create-pods-act-record', wpagent_ability_create_pods_act_record() );
	wp_register_ability( 'wp-agent/update-pods-act-record', wpagent_ability_update_pods_act_record() );
	wp_register_ability( 'wp-agent/delete-pods-act-record', wpagent_ability_delete_pods_act_record() );
	wp_register_ability( 'wp-agent/get-pods-field-values', wpagent_ability_get_pods_field_values() );
	wp_register_ability( 'wp-agent/update-pods-field-values', wpagent_ability_update_pods_field_values() );
	wp_register_ability( 'wp-agent/list-cptui-post-types', wpagent_ability_list_cptui_post_types() );
	wp_register_ability( 'wp-agent/get-cptui-post-type', wpagent_ability_get_cptui_post_type() );
	wp_register_ability( 'wp-agent/create-cptui-post-type', wpagent_ability_create_cptui_post_type() );
	wp_register_ability( 'wp-agent/update-cptui-post-type', wpagent_ability_update_cptui_post_type() );
	wp_register_ability( 'wp-agent/delete-cptui-post-type', wpagent_ability_delete_cptui_post_type() );
	wp_register_ability( 'wp-agent/list-cptui-taxonomies', wpagent_ability_list_cptui_taxonomies() );
	wp_register_ability( 'wp-agent/get-cptui-taxonomy', wpagent_ability_get_cptui_taxonomy() );
	wp_register_ability( 'wp-agent/create-cptui-taxonomy', wpagent_ability_create_cptui_taxonomy() );
	wp_register_ability( 'wp-agent/update-cptui-taxonomy', wpagent_ability_update_cptui_taxonomy() );
	wp_register_ability( 'wp-agent/delete-cptui-taxonomy', wpagent_ability_delete_cptui_taxonomy() );
	wp_register_ability( 'wp-agent/list-acpt-post-types', wpagent_ability_list_acpt_post_types() );
	wp_register_ability( 'wp-agent/get-acpt-post-type', wpagent_ability_get_acpt_post_type() );
	wp_register_ability( 'wp-agent/create-acpt-post-type', wpagent_ability_create_acpt_post_type() );
	wp_register_ability( 'wp-agent/update-acpt-post-type', wpagent_ability_update_acpt_post_type() );
	wp_register_ability( 'wp-agent/delete-acpt-post-type', wpagent_ability_delete_acpt_post_type() );
	wp_register_ability( 'wp-agent/list-acpt-taxonomies', wpagent_ability_list_acpt_taxonomies() );
	wp_register_ability( 'wp-agent/get-acpt-taxonomy', wpagent_ability_get_acpt_taxonomy() );
	wp_register_ability( 'wp-agent/create-acpt-taxonomy', wpagent_ability_create_acpt_taxonomy() );
	wp_register_ability( 'wp-agent/update-acpt-taxonomy', wpagent_ability_update_acpt_taxonomy() );
	wp_register_ability( 'wp-agent/delete-acpt-taxonomy', wpagent_ability_delete_acpt_taxonomy() );
	wp_register_ability( 'wp-agent/list-acpt-meta-groups', wpagent_ability_list_acpt_meta_groups() );
	wp_register_ability( 'wp-agent/get-acpt-meta-group', wpagent_ability_get_acpt_meta_group() );
	wp_register_ability( 'wp-agent/create-acpt-meta-group', wpagent_ability_create_acpt_meta_group() );
	wp_register_ability( 'wp-agent/update-acpt-meta-group', wpagent_ability_update_acpt_meta_group() );
	wp_register_ability( 'wp-agent/delete-acpt-meta-group', wpagent_ability_delete_acpt_meta_group() );
	wp_register_ability( 'wp-agent/get-acpt-field-values', wpagent_ability_get_acpt_field_values() );
	wp_register_ability( 'wp-agent/update-acpt-field-values', wpagent_ability_update_acpt_field_values() );
	wp_register_ability( 'wp-agent/list-acpt-woocommerce-product-data', wpagent_ability_list_acpt_woocommerce_product_data() );
	wp_register_ability( 'wp-agent/update-acpt-woocommerce-product-data', wpagent_ability_update_acpt_woocommerce_product_data() );
	wp_register_ability( 'wp-agent/get-meta-box-status', wpagent_ability_get_meta_box_status() );
	wp_register_ability( 'wp-agent/snapshot-content-model', wpagent_ability_snapshot_content_model() );
	wp_register_ability( 'wp-agent/compare-content-model-snapshots', wpagent_ability_compare_content_model_snapshots() );
	wp_register_ability( 'wp-agent/migrate-content-model', wpagent_ability_migrate_content_model() );
	foreach ( wpagent_metabox_operations() as $slug => $operation ) {
		wp_register_ability( 'wp-agent/' . $slug, wpagent_metabox_proxy_definition( $slug, $operation ) );
	}
	wp_register_ability( 'wp-agent/list-meta-box-relationships', wpagent_ability_list_meta_box_relationships() );
	wp_register_ability( 'wp-agent/get-meta-box-relationship', wpagent_ability_get_meta_box_relationship() );
	wp_register_ability( 'wp-agent/create-meta-box-relationship', wpagent_ability_create_meta_box_relationship() );
	wp_register_ability( 'wp-agent/update-meta-box-relationship', wpagent_ability_update_meta_box_relationship() );
	wp_register_ability( 'wp-agent/delete-meta-box-relationship', wpagent_ability_delete_meta_box_relationship() );
	wp_register_ability( 'wp-agent/list-meta-box-connections', wpagent_ability_list_meta_box_connections() );
	wp_register_ability( 'wp-agent/add-meta-box-connection', wpagent_ability_add_meta_box_connection() );
	wp_register_ability( 'wp-agent/delete-meta-box-connection', wpagent_ability_delete_meta_box_connection() );
	wp_register_ability( 'wp-agent/list-meta-box-settings-pages', wpagent_ability_list_meta_box_settings_pages() );
	wp_register_ability( 'wp-agent/get-meta-box-settings-page', wpagent_ability_get_meta_box_settings_page() );
	wp_register_ability( 'wp-agent/create-meta-box-settings-page', wpagent_ability_create_meta_box_settings_page() );
	wp_register_ability( 'wp-agent/update-meta-box-settings-page', wpagent_ability_update_meta_box_settings_page() );
	wp_register_ability( 'wp-agent/delete-meta-box-settings-page', wpagent_ability_delete_meta_box_settings_page() );
	wp_register_ability( 'wp-agent/get-product', wpagent_ability_get_product() );
	wp_register_ability( 'wp-agent/update-product', wpagent_ability_update_product() );
	wp_register_ability( 'wp-agent/get-woocommerce-store-settings', wpagent_ability_get_woocommerce_store_settings() );
	wp_register_ability( 'wp-agent/list-products', wpagent_ability_list_products() );
	wp_register_ability( 'wp-agent/preview-woocommerce-bulk-price-update', wpagent_ability_preview_woocommerce_bulk_price_update() );
	wp_register_ability( 'wp-agent/execute-woocommerce-bulk-price-update', wpagent_ability_execute_woocommerce_bulk_price_update() );
	wp_register_ability( 'wp-agent/create-product', wpagent_ability_create_product() );
	wp_register_ability( 'wp-agent/delete-product', wpagent_ability_delete_product() );
	wp_register_ability( 'wp-agent/list-product-variations', wpagent_ability_list_product_variations() );
	wp_register_ability( 'wp-agent/upsert-product-variation', wpagent_ability_upsert_product_variation() );
	wp_register_ability( 'wp-agent/delete-product-variation', wpagent_ability_delete_product_variation() );
	wp_register_ability( 'wp-agent/list-product-attributes', wpagent_ability_list_product_attributes() );
	wp_register_ability( 'wp-agent/get-product-attribute', wpagent_ability_get_product_attribute() );
	wp_register_ability( 'wp-agent/upsert-product-attribute', wpagent_ability_upsert_product_attribute() );
	wp_register_ability( 'wp-agent/delete-product-attribute', wpagent_ability_delete_product_attribute() );
	wp_register_ability( 'wp-agent/list-product-shipping-classes', wpagent_ability_list_product_shipping_classes() );
	wp_register_ability( 'wp-agent/get-product-shipping-class', wpagent_ability_get_product_shipping_class() );
	wp_register_ability( 'wp-agent/upsert-product-shipping-class', wpagent_ability_upsert_product_shipping_class() );
	wp_register_ability( 'wp-agent/list-orders', wpagent_ability_list_orders() );
	wp_register_ability( 'wp-agent/get-order', wpagent_ability_get_order() );
	wp_register_ability( 'wp-agent/list-order-notes', wpagent_ability_list_order_notes() );
	wp_register_ability( 'wp-agent/set-order-status', wpagent_ability_set_order_status() );
	wp_register_ability( 'wp-agent/add-order-note', wpagent_ability_add_order_note() );
	wp_register_ability( 'wp-agent/list-contact-forms', wpagent_ability_list_contact_forms() );
	wp_register_ability( 'wp-agent/get-contact-form', wpagent_ability_get_contact_form() );
	wp_register_ability( 'wp-agent/create-contact-form', wpagent_ability_create_contact_form() );
	wp_register_ability( 'wp-agent/update-contact-form', wpagent_ability_update_contact_form() );
	wp_register_ability( 'wp-agent/duplicate-contact-form', wpagent_ability_duplicate_contact_form() );
	wp_register_ability( 'wp-agent/delete-contact-form', wpagent_ability_delete_contact_form() );
	wp_register_ability( 'wp-agent/list-fluent-forms', wpagent_ability_list_fluent_forms() );
	wp_register_ability( 'wp-agent/get-fluent-form', wpagent_ability_get_fluent_form() );
	wp_register_ability( 'wp-agent/create-fluent-form', wpagent_ability_create_fluent_form() );
	wp_register_ability( 'wp-agent/update-fluent-form', wpagent_ability_update_fluent_form() );
	wp_register_ability( 'wp-agent/duplicate-fluent-form', wpagent_ability_duplicate_fluent_form() );
	wp_register_ability( 'wp-agent/delete-fluent-form', wpagent_ability_delete_fluent_form() );
	wp_register_ability( 'wp-agent/get-fluent-form-fields', wpagent_ability_get_fluent_form_fields() );
	wp_register_ability( 'wp-agent/upsert-fluent-form-field', wpagent_ability_upsert_fluent_form_field() );
	wp_register_ability( 'wp-agent/delete-fluent-form-field', wpagent_ability_delete_fluent_form_field() );
	wp_register_ability( 'wp-agent/get-fluent-form-delivery', wpagent_ability_get_fluent_form_delivery() );
	wp_register_ability( 'wp-agent/update-fluent-form-confirmation', wpagent_ability_update_fluent_form_confirmation() );
	wp_register_ability( 'wp-agent/upsert-fluent-form-notification', wpagent_ability_upsert_fluent_form_notification() );
	wp_register_ability( 'wp-agent/delete-fluent-form-notification', wpagent_ability_delete_fluent_form_notification() );
	wp_register_ability( 'wp-agent/get-wpforms-delivery', wpagent_ability_get_wpforms_delivery() );
	wp_register_ability( 'wp-agent/create-wpforms-confirmation', wpagent_ability_create_wpforms_confirmation() );
	wp_register_ability( 'wp-agent/update-wpforms-confirmation', wpagent_ability_update_wpforms_confirmation() );
	wp_register_ability( 'wp-agent/delete-wpforms-confirmation', wpagent_ability_delete_wpforms_confirmation() );
	wp_register_ability( 'wp-agent/create-wpforms-notification', wpagent_ability_create_wpforms_notification() );
	wp_register_ability( 'wp-agent/update-wpforms-notification', wpagent_ability_update_wpforms_notification() );
	wp_register_ability( 'wp-agent/delete-wpforms-notification', wpagent_ability_delete_wpforms_notification() );
	wp_register_ability( 'wp-agent/list-fluent-entries', wpagent_ability_list_fluent_entries() );
	wp_register_ability( 'wp-agent/get-fluent-entry', wpagent_ability_get_fluent_entry() );
	wp_register_ability( 'wp-agent/set-fluent-entry-status', wpagent_ability_set_fluent_entry_status() );
	wp_register_ability( 'wp-agent/set-fluent-entry-favorite', wpagent_ability_set_fluent_entry_favorite() );
	wp_register_ability( 'wp-agent/delete-fluent-entry', wpagent_ability_delete_fluent_entry() );
	wp_register_ability( 'wp-agent/list-gravity-forms', wpagent_ability_list_gravity_forms() );
	wp_register_ability( 'wp-agent/get-gravity-form', wpagent_ability_get_gravity_form() );
	wp_register_ability( 'wp-agent/create-gravity-form', wpagent_ability_create_gravity_form() );
	wp_register_ability( 'wp-agent/update-gravity-form', wpagent_ability_update_gravity_form() );
	wp_register_ability( 'wp-agent/duplicate-gravity-form', wpagent_ability_duplicate_gravity_form() );
	wp_register_ability( 'wp-agent/delete-gravity-form', wpagent_ability_delete_gravity_form() );
	wp_register_ability( 'wp-agent/list-gravity-entries', wpagent_ability_list_gravity_entries() );
	wp_register_ability( 'wp-agent/get-gravity-entry', wpagent_ability_get_gravity_entry() );
	wp_register_ability( 'wp-agent/update-gravity-entry', wpagent_ability_update_gravity_entry() );
	wp_register_ability( 'wp-agent/set-gravity-entry-status', wpagent_ability_set_gravity_entry_status() );
	wp_register_ability( 'wp-agent/delete-gravity-entry', wpagent_ability_delete_gravity_entry() );
	wp_register_ability( 'wp-agent/list-formidable-forms', wpagent_ability_list_formidable_forms() );
	wp_register_ability( 'wp-agent/get-formidable-form', wpagent_ability_get_formidable_form() );
	wp_register_ability( 'wp-agent/create-formidable-form', wpagent_ability_create_formidable_form() );
	wp_register_ability( 'wp-agent/update-formidable-form', wpagent_ability_update_formidable_form() );
	wp_register_ability( 'wp-agent/duplicate-formidable-form', wpagent_ability_duplicate_formidable_form() );
	wp_register_ability( 'wp-agent/delete-formidable-form', wpagent_ability_delete_formidable_form() );
	wp_register_ability( 'wp-agent/preview-form-migration', wpagent_ability_preview_form_migration() );
	wp_register_ability( 'wp-agent/migrate-form', wpagent_ability_migrate_form() );
	wp_register_ability( 'wp-agent/get-weglot-settings', wpagent_ability_get_weglot_settings() );
	wp_register_ability( 'wp-agent/update-weglot-settings', wpagent_ability_update_weglot_settings() );
	wp_register_ability( 'wp-agent/get-ase-free-generator-tag', wpagent_ability_get_ase_free_generator_tag() );
	wp_register_ability( 'wp-agent/update-ase-free-generator-tag', wpagent_ability_update_ase_free_generator_tag() );
	wp_register_ability( 'wp-agent/get-astra-design', wpagent_ability_get_astra_design() );
	wp_register_ability( 'wp-agent/update-astra-design', wpagent_ability_update_astra_design() );
	wp_register_ability( 'wp-agent/get-astra-post-design', wpagent_ability_get_astra_post_design() );
	wp_register_ability( 'wp-agent/update-astra-post-design', wpagent_ability_update_astra_post_design() );
	wp_register_ability( 'wp-agent/get-generatepress-design', wpagent_ability_get_generatepress_design() );
	wp_register_ability( 'wp-agent/update-generatepress-design', wpagent_ability_update_generatepress_design() );
	wp_register_ability( 'wp-agent/get-generatepress-post-design', wpagent_ability_get_generatepress_post_design() );
	wp_register_ability( 'wp-agent/update-generatepress-post-design', wpagent_ability_update_generatepress_post_design() );
	wp_register_ability( 'wp-agent/get-oceanwp-design', wpagent_ability_get_oceanwp_design() );
	wp_register_ability( 'wp-agent/update-oceanwp-design', wpagent_ability_update_oceanwp_design() );
	wp_register_ability( 'wp-agent/get-oceanwp-post-design', wpagent_ability_get_oceanwp_post_design() );
	wp_register_ability( 'wp-agent/update-oceanwp-post-design', wpagent_ability_update_oceanwp_post_design() );
	wp_register_ability( 'wp-agent/get-oceanwp-post-title', wpagent_ability_get_oceanwp_post_title() );
	wp_register_ability( 'wp-agent/update-oceanwp-post-title', wpagent_ability_update_oceanwp_post_title() );
	wp_register_ability( 'wp-agent/get-oceanwp-post-layout-overrides', wpagent_ability_get_oceanwp_post_layout_overrides() );
	wp_register_ability( 'wp-agent/update-oceanwp-post-layout-overrides', wpagent_ability_update_oceanwp_post_layout_overrides() );
	wp_register_ability( 'wp-agent/get-oceanwp-extra-modules', wpagent_ability_get_oceanwp_extra_modules() );
	wp_register_ability( 'wp-agent/update-oceanwp-extra-module', wpagent_ability_update_oceanwp_extra_module() );
	wp_register_ability( 'wp-agent/list-oceanwp-library-templates', wpagent_ability_list_oceanwp_library_templates() );
	wp_register_ability( 'wp-agent/get-oceanwp-post-library-templates', wpagent_ability_get_oceanwp_post_library_templates() );
	wp_register_ability( 'wp-agent/update-oceanwp-post-library-templates', wpagent_ability_update_oceanwp_post_library_templates() );
	wp_register_ability( 'wp-agent/get-oceanwp-footer-customizer', wpagent_ability_get_oceanwp_footer_customizer() );
	wp_register_ability( 'wp-agent/get-oceanwp-blog-customizer', wpagent_ability_get_oceanwp_blog_customizer() );
	wp_register_ability( 'wp-agent/get-oceanwp-woocommerce-customizer', wpagent_ability_get_oceanwp_woocommerce_customizer() );
	wp_register_ability( 'wp-agent/list-oceanwp-free-hooks', wpagent_ability_list_oceanwp_free_hooks() );
	wp_register_ability( 'wp-agent/get-oceanwp-post-free-overrides', wpagent_ability_get_oceanwp_post_free_overrides() );
	wp_register_ability( 'wp-agent/get-kadence-design', wpagent_ability_get_kadence_design() );
	wp_register_ability( 'wp-agent/update-kadence-design', wpagent_ability_update_kadence_design() );
	wp_register_ability( 'wp-agent/get-site-context', wpagent_ability_get_site_context() );
	wp_register_ability( 'wp-agent/update-site-context', wpagent_ability_update_site_context() );
	wp_register_ability( 'wp-agent/get-system-diagnostics', wpagent_ability_get_system_diagnostics() );
	wp_register_ability( 'wp-agent/list-skills', wpagent_ability_list_skills() );
	wp_register_ability( 'wp-agent/get-skill', wpagent_ability_get_skill() );
	wp_register_ability( 'wp-agent/upsert-skill', wpagent_ability_upsert_skill() );
	wp_register_ability( 'wp-agent/delete-skill', wpagent_ability_delete_skill() );
	wp_register_ability( 'wp-agent/list-memory', wpagent_ability_list_memory() );
	wp_register_ability( 'wp-agent/save-memory', wpagent_ability_save_memory() );
	wp_register_ability( 'wp-agent/delete-memory', wpagent_ability_delete_memory() );
	wp_register_ability( 'wp-agent/get-design-profile', wpagent_ability_get_design_profile() );
	wp_register_ability( 'wp-agent/set-design-profile', wpagent_ability_set_design_profile() );
	wp_register_ability( 'wp-agent/list-design-directions', wpagent_ability_list_design_directions() );
	wp_register_ability( 'wp-agent/get-design-direction', wpagent_ability_get_design_direction() );
	wp_register_ability( 'wp-agent/upsert-design-direction', wpagent_ability_upsert_design_direction() );
	wp_register_ability( 'wp-agent/activate-design-direction', wpagent_ability_activate_design_direction() );
	wp_register_ability( 'wp-agent/delete-design-direction', wpagent_ability_delete_design_direction() );
	wp_register_ability( 'wp-agent/create-browser-link', wpagent_ability_create_browser_link() );
	wp_register_ability( 'wp-agent/revoke-browser-link', wpagent_ability_revoke_browser_link() );
	wp_register_ability( 'wp-agent/search-replace-content', wpagent_ability_search_replace_content() );
	wp_register_ability( 'wp-agent/undo-content-replace', wpagent_ability_undo_content_replace() );
	wp_register_ability( 'wp-agent/get-live-editor-status', wpagent_ability_get_live_editor_status() );
	wp_register_ability( 'wp-agent/live-editor-read', wpagent_ability_live_editor_read() );
	wp_register_ability( 'wp-agent/live-editor-write', wpagent_ability_live_editor_write() );
	wp_register_ability( 'wp-agent/live-editor-elementor-write', wpagent_ability_live_editor_elementor_write() );
	wp_register_ability( 'wp-agent/get-live-editor-result', wpagent_ability_get_live_editor_result() );
	wpagent_companion_register_site_skill_prompts();
	wpagent_companion_unregister_disabled_abilities();
}
add_action( 'wp_abilities_api_init', 'wpagent_companion_register_abilities' );
