2 ) { $step = 1; } $skip_url = admin_url( 'admin.php?page=aicom' ); $skip_form_url = admin_url( 'admin-post.php' ); // Client cards. The wizard saves the chosen one to localStorage so the // key-created modal pre-selects it at the end. $clients = [ 'general' => [ 'name' => __( 'General', 'aicom' ), 'tag' => __( 'Works with any MCP-aware agent', 'aicom' ), 'recommended' => true, ], 'claude-desktop' => [ 'name' => __( 'Claude Desktop', 'aicom' ), 'tag' => __( 'A desktop chat app', 'aicom' ), ], 'claude-code' => [ 'name' => __( 'Claude Code', 'aicom' ), 'tag' => __( 'In your terminal', 'aicom' ), ], 'cursor' => [ 'name' => __( 'Cursor IDE', 'aicom' ), 'tag' => __( 'AI code editor', 'aicom' ), ], 'chatgpt' => [ 'name' => __( 'ChatGPT (Custom GPT)', 'aicom' ), 'tag' => __( 'OpenAI Actions', 'aicom' ), ], 'generic' => [ 'name' => __( 'Something else', 'aicom' ), 'tag' => __( 'Any MCP-aware client', 'aicom' ), ], ]; // Presets we offer in step 2 — only the gentle three. Power users can build // custom keys later on the Manage API Keys page. $gentle_presets = array_intersect_key( AICOM_Admin::system_presets(), array_flip( [ 'read-only', 'content-assistant', 'elementor-editor' ] ) ); ?>