init(); } /** * Adds a Settings link to the plugin row. * * @since 1.0.0 * * @param array $links Existing action links. * @return array Modified action links. */ public function plugin_action_links( array $links ): array { $settings_link = sprintf( '%s', admin_url( 'options-general.php?page=ai-provider-for-github-models' ), esc_html__( 'Settings', 'ai-provider-for-github-models' ) ); array_unshift( $links, $settings_link ); return $links; } /** * Registers the provider with the AI Client. * * @since 1.0.0 */ public function register_provider(): void { if ( ! class_exists( AiClient::class ) ) { return; } $registry = AiClient::defaultRegistry(); if ( $registry->hasProvider( GitHubModelsProvider::class ) ) { return; } $registry->registerProvider( GitHubModelsProvider::class ); } }