| @@ -98,8 +98,14 @@ | ||
| 98 | 98 | // path (server-side ability, browser-proxied REST, admin UI, |
| 99 | 99 | // WP-CLI). Idempotent + slug-map gated. |
| 100 | 100 | \ZipAI\MCP\Classes\Core\Plugin_Abilities_Toggler::init(); |
| 101 | 101 | |
| 102 | + // Abilities input normalizer — lets the chat call no-input readonly | |
| 103 | + // abilities over the browser Abilities run-route (GET can't carry a | |
| 104 | + // JSON object, so a schema without a top-level `default` — e.g. Astra's | |
| 105 | + // typography abilities — would 400 "input is not of type object"). | |
| 106 | + \ZipAI\MCP\Classes\Core\Abilities_Input_Normalizer::init(); | |
| 107 | + | |
| 102 | 108 | // Imported-chrome reader — renders imported header/footer template |
| 103 | 109 | // parts verbatim on ANY classic theme via a `template_include` |
| 104 | 110 | // canvas takeover when `zipai_chrome_mode === 'takeover'` (written |
| 105 | 111 | // by the importer) or a page carries the standalone marker meta. |
| @@ -107,8 +113,14 @@ | ||
| 107 | 113 | // sites that never imported. Registering the option doubles as the |
| 108 | 114 | // backend's capability probe. |
| 109 | 115 | \ZipAI\MCP\Classes\Core\Imported_Chrome::init(); |
| 110 | 116 | |
| 117 | + // Site blueprint — the plan the site was built from; never autoloads. | |
| 118 | + \ZipAI\MCP\Classes\Core\Site_Blueprint::init(); | |
| 119 | + | |
| 120 | + // JSON-LD — the build's schema.org blocks, printed in `<head>`. | |
| 121 | + \ZipAI\MCP\Classes\Core\Json_Ld::init(); | |
| 122 | + | |
| 111 | 123 | // Privacy policy disclosure (WordPress Guideline 7). |
| 112 | 124 | add_action( 'admin_init', array( $this, 'add_privacy_policy_content' ) ); |
| 113 | 125 | } |
| 114 | 126 | |
| @@ -198,9 +210,9 @@ | ||
| 198 | 210 | public function define_constants() { |
| 199 | 211 | define( 'ZIPAI_MCP_FILE', __DIR__ . '/zip-ai.php' ); |
| 200 | 212 | define( 'ZIPAI_MCP_DIR', plugin_dir_path( ZIPAI_MCP_FILE ) ); |
| 201 | 213 | define( 'ZIPAI_MCP_URL', plugins_url( '/', ZIPAI_MCP_FILE ) ); |
| 202 | - define( 'ZIPAI_MCP_VERSION', '0.0.8' ); | |
| 214 | + define( 'ZIPAI_MCP_VERSION', '0.0.12' ); | |
| 203 | 215 | define( 'ZIPAI_MCP_MENU_SLUG', 'zip-ai' ); |
| 204 | 216 | |
| 205 | 217 | // Base URL for ZIP AI credit server. |
| 206 | 218 | if ( ! defined( 'ZIPAI_MCP_BASE_URL' ) ) { |
| @@ -269,11 +281,8 @@ | ||
| 269 | 281 | */ |
| 270 | 282 | public function plugin_activated() { |
| 271 | 283 | // Add the required capability to administrator role. |
| 272 | 284 | $this->add_plugin_capabilities(); |
| 273 | - | |
| 274 | - // Generate and register shared secret with the server on activation. | |
| 275 | - $this->register_hmac_secret(); | |
| 276 | 285 | } |
| 277 | 286 | |
| 278 | 287 | /** |
| 279 | 288 | * Plugin deactivation callback. |
| @@ -366,26 +375,8 @@ | ||
| 366 | 375 | // Remove the capability from all roles that have it. |
| 367 | 376 | foreach ( $roles->role_objects as $role ) { |
| 368 | 377 | if ( $role->has_cap( 'manage_zip_mcp_assistant' ) ) { |
| 369 | 378 | $role->remove_cap( 'manage_zip_mcp_assistant' ); |
| 370 | - } | |
| 371 | - } | |
| 372 | - } | |
| 373 | - | |
| 374 | - /** | |
| 375 | - * Register HMAC shared secret with the server. | |
| 376 | - * | |
| 377 | - * @since 1.0.0 | |
| 378 | - * @return void | |
| 379 | - */ | |
| 380 | - private function register_hmac_secret() { | |
| 381 | - // Only register if not already registered. | |
| 382 | - if ( ! Helper::is_hmac_registered() ) { | |
| 383 | - $registration_result = Helper::register_shared_secret_with_laravel(); | |
| 384 | - | |
| 385 | - if ( isset( $registration_result['error'] ) ) { | |
| 386 | - // Note: Error logging removed for production. | |
| 387 | - unset( $registration_result ); | |
| 388 | 379 | } |
| 389 | 380 | } |
| 390 | 381 | } |
| 391 | 382 | } |