Code Analysis: KimaAI | AI Chatbot, ChatGPT content writer and more 1.2.9

Function Rating Maintainability Complexity Lines of code
KimaAI\Admin\Settings::sanitizeAgainstSchema()
D
34 39 83
KimaAI\Admin\Settings::deepPruneToSchema()
B
46 20 37
KimaAI\Ai\AiService::resolveProviderCredentials()
B
37 16 77
KimaAI\Admin\Settings::sanitizeProperty()
A
45 16 41
KimaAI\Admin\Settings::splitNode()
A
44 14 47
KimaAI\Ai\AiService::saveImageResponse()
A
42 12 51
KimaAI\Admin\Settings::filterSchemaForRest()
A
45 12 43
KimaAI\Admin\Settings::getOptionFrom()
A
51 13 27
KimaAI\Admin\Settings::getOption()
A
51 12 27
KimaAI\Helper::cleanSentences()
A
41 10 57
KimaAI\Models\ImageModel::saveRemoteImage()
A
42 10 52
AISDK\AbstractClient::request()
A
42 10 49
KimaAI\Admin\Settings::buildDefaults()
A
50 11 29
KimaAI\Ai\AiService::resolveChatPayload()
A
42 9 54
KimaAI\ChatBot\ChatBot::chatbot()
A
40 8 63
KimaAI\Ai\AiService::run()
A
46 9 38
KimaAI\Admin\Settings::mergePreservingLists()
A
54 10 20
KimaAI\Admin\Settings::sanitizeOptionsGeneric()
A
50 9 28
KimaAI\Admin\Settings::getSchema()
A
46 8 37
KimaAI\Helper::ensureSessionId()
A
47 8 35
KimaAI\Models\ImageModel::saveBase64Image()
A
46 8 35
KimaAI\KimaAI::pluginsLoaded()
A
47 7 34
KimaAI\Helper::hasApiKey()
A
56 8 17
KimaAI\Admin\Settings::addNodeToExtra()
S
53 7 23
KimaAI\Admin\Settings::sanitizeOptions()
S
53 7 22
KimaAI\Admin\Settings::schemaFingerprint()
S
53 7 21
KimaAI\Logger::write()
S
53 7 21
KimaAI\Admin\Settings::aiProviderModelOptions()
S
44 5 50
KimaAI\Ai\Security::checkBannedIps()
S
55 7 19
KimaAI\Ai\AiService::singleCall()
S
50 6 28
KimaAI\Models\ImageModel::insert()
S
54 6 22
KimaAI\Ai\RestApi::testConnection()
S
48 5 36
KimaAI\Admin\Assets::enqueue()
S
45 4 47
KimaAI\Admin\Settings::upgradeOption()
S
58 6 15
KimaAI\Ai\AiService::saveChatResponse()
S
49 5 29
KimaAI\Admin\Settings::deepFillDefaults()
S
60 6 13
KimaAI\Ai\AiService::formatMessagesForReplicate()
S
52 5 25
KimaAI\Helper::buildMessageTree()
S
49 4 34
KimaAI\Logger::ensureLogFile()
S
56 5 17
KimaAI\Ai\Security::getIpAddress()
S
56 5 17
KimaAI\ChatBot\ChatBot::registerRoutes()
S
41 1 75
KimaAI\Ai\Security::checkBannedWords()
S
59 5 13
KimaAI\Admin\Settings::getAiEnvsOptions()
S
52 4 26
KimaAI\Admin\Settings::registerSettings()
S
47 3 40
OpenAI\Endpoint\Responses::mockCreate()
S
41 1 65
KimaAI\Ai\AiService::testConnection()
S
54 4 20
KimaAI\Ai\Playground::request()
S
55 4 19
KimaAI\Ai\Security::ipInRange()
S
54 4 19
KimaAI\Logger::maybeRotate()
S
56 4 18
KimaAI\Admin\Settings::sanitizeGroup()
S
60 4 13
KimaAI\ChatBot\ChatBot::enqueueAssets()
S
46 2 42
KimaAI\Models\ChatModel::addResponseAndMessage()
S
50 3 27
KimaAI\Ai\Playground::registerRoutes()
S
50 2 35
KimaAI\ChatBot\ChatBot::getChatHistory()
S
55 3 20
KimaAI\ChatBot\ChatBot::isShortcodePresent()
S
65 4 9
KimaAI\ChatBot\ChatBot::maybeEnqueueAssets()
S
67 4 8
OpenAI\Client::buildHeaders()
S
62 3 13
Replicate\Endpoint\Predictions::sanitizeInput()
S
61 3 12
KimaAI\Admin\Settings::maybeUpgradeOnSchemaChange()
S
61 3 12
KimaAI\Ai\Security::__construct()
S
61 3 11
OpenAI\Endpoint\Chat::mockCreate()
S
47 1 40
kimaai_fs()
S
54 2 22
KimaAI\Models\ChatModel::getAll()
S
58 2 17
KimaAI\Helper::isPremium()
S
77 3 3
KimaAI\Logger::init()
S
67 3 7
KimaAI\Logger::clear()
S
70 3 6
KimaAI\Logger::get_contents()
S
72 3 5
KimaAI\Models\ChatModel::insert()
S
59 2 15
KimaAI\Ai\AiService::parseResponse()
S
63 3 9
Replicate\Endpoint\Predictions::createForModel()
S
62 2 11
KimaAI\Schema::createTables()
S
63 2 11
KimaAI\Models\ChatModel::delete()
S
61 2 11
KimaAI\Admin\AdminInit::__construct()
S
56 1 24
kimaai_log()
S
69 2 7
KimaAI\ChatBot\ChatBot::generateDynamicCss()
S
58 1 15
OpenAI\Endpoint\Chat::create()
S
71 2 6
OpenAI\Endpoint\Responses::create()
S
70 2 6
KimaAI\Helper::safeStrlen()
S
67 2 8
KimaAI\Ai\OpenAi::chat()
S
64 2 10
KimaAI\KimaAI::instance()
S
69 2 7
KimaAI\Logger::debug()
S
78 2 3
KimaAI\Admin\Settings::splitSchemaBySaveKey()
S
67 2 7
KimaAI\Ai\Playground::deleteImageHistory()
S
64 2 9
AISDK\AbstractClient::__construct()
S
71 2 5
KimaAI\Ai\Security::validateIP()
S
69 2 6
KimaAI\KimaAI::adminNoticeNoApiKey()
S
59 1 14
KimaAI\Admin\AdminInit::adminMenu()
S
62 1 12
AISDK\Factory::create()
S
61 1 12
OpenAI\Client::embeddings()
S
79 1 3
OpenAI\Endpoint\Models::list()
S
79 1 3
KimaAI\Ai\OpenAi::__construct()
S
63 1 10
OpenAI\Endpoint\Responses::retrieve()
S
78 1 3
OpenAI\Client::chat()
S
79 1 3
OpenAI\Endpoint\Responses::list()
S
79 1 3
KimaAI\Logger::notice()
S
79 1 3
KimaAI\Admin\AdminInit::pluginActionLinks()
S
72 1 5
KimaAI\Schema::deactivate()
S
89 1 2
OpenAI\Endpoint\Completions::__construct()
S
81 1 3
KimaAI\ChatBot\ChatBot::clearChatHistory()
S
68 1 7
KimaAI\Admin\Assets::__construct()
S
70 1 6
Replicate\Endpoint\Predictions::create()
S
79 1 3
Replicate\Client::__construct()
S
79 1 3
OpenAI\Endpoint\Responses::__construct()
S
91 1 2
OpenAI\Endpoint\Embeddings::__construct()
S
81 1 3
KimaAI\Ai\Playground::__construct()
S
70 1 6
Replicate\Endpoint\Models::__construct()
S
81 1 3
OpenAI\Endpoint\Chat::__construct()
S
81 1 3
KimaAI\ChatBot\ChatBot::chatBotShortCode()
S
74 1 5
KimaAI\ChatBot\ChatBot::getAllChatHistories()
S
71 1 5
OpenAI\Client::vectorStores()
S
79 1 3
KimaAI\Logger::registerRestEndpoint()
S
67 1 7
KimaAI\ChatBot\ChatBot::validateNonce()
S
75 1 4
Replicate\Endpoint\Predictions::__construct()
S
81 1 3
KimaAI\Admin\Settings::flattenArray()
S
65 1 10
KimaAI\Ai\Replicate::chat()
S
72 1 5
KimaAI\Ai\Replicate::__construct()
S
72 1 5
KimaAI\Models\ImageModel::all()
S
69 1 6
OpenAI\Endpoint\Completions::create()
S
79 1 3
KimaAI\Ai\RestApi::__construct()
S
75 1 4
KimaAI\Models\ChatModel::getSessionHistory()
S
67 1 7
KimaAI\Schema::activate()
S
80 1 3
KimaAI\Admin\Settings::__construct()
S
79 1 3
KimaAI\Ai\OpenAi::image()
S
72 1 5
OpenAI\Endpoint\Images::__construct()
S
81 1 3
OpenAI\Client::completions()
S
79 1 3
OpenAI\Client::responses()
S
79 1 3
OpenAI\Client::files()
S
79 1 3
KimaAI\Logger::info()
S
79 1 3
KimaAI\Logger::error()
S
78 1 3
OpenAI\Client::models()
S
79 1 3
KimaAI\Admin\Settings::getStaticOption()
S
74 1 4
KimaAI\Models\ImageModel::__construct()
S
75 1 4
KimaAI\ChatBot\ChatBot::deleteChatHistory()
S
72 1 5
OpenAI\Client::fineTunes()
S
79 1 3
OpenAI\Client::__construct()
S
75 1 4
KimaAI\Admin\AdminInit::adminPage()
S
69 1 8
KimaAI\Logger::warn()
S
78 1 3
OpenAI\Client::images()
S
79 1 3
OpenAI\Endpoint\Responses::delete()
S
78 1 3
Replicate\Endpoint\Predictions::cancel()
S
78 1 3
KimaAI\Ai\Playground::imageHistory()
S
75 1 4
KimaAI\Ai\RestApi::registerRoutes()
S
68 1 7
OpenAI\Endpoint\Models::__construct()
S
81 1 3
KimaAI\Helper::getVersion()
S
74 1 4
KimaAI\ChatBot\ChatBot::isEnableGlobally()
S
79 1 3
Replicate\Endpoint\Models::list()
S
79 1 3
Replicate\Endpoint\Models::get()
S
78 1 3
KimaAI\Schema::uninstall()
S
89 1 2
KimaAI\KimaAI::__construct()
S
79 1 3
AISDK\AbstractClient::buildHeaders()
S
100 1 0
KimaAI\ChatBot\ChatBot::isPreviewEnable()
S
78 1 3
OpenAI\Client::assistants()
S
79 1 3
KimaAI\Models\ImageModel::delete()
S
66 1 9
OpenAI\Client::moderations()
S
79 1 3
OpenAI\Endpoint\Responses::addContent()
S
77 1 3
Replicate\Client::buildHeaders()
S
72 1 6
OpenAI\Client::audio()
S
79 1 3
KimaAI\Models\ChatModel::__construct()
S
75 1 4
KimaAI\Models\ChatModel::countChatbotMessagesByIpToday()
S
66 1 7
KimaAI\ChatBot\ChatBot::__construct()
S
63 1 10
OpenAI\Endpoint\Embeddings::create()
S
79 1 3
KimaAI\ChatBot\ChatBot::placeChatBot()
S
82 1 3
AISDK\AbstractClient::isTestMode()
S
82 1 3
KimaAI\Ai\AiService::__construct()
S
67 1 8
Replicate\Client::models()
S
79 1 3
OpenAI\Endpoint\Images::create()
S
79 1 3
KimaAI\Models\ChatModel::countChatbotMessagesBySessionId()
S
71 1 5
Replicate\Client::predictions()
S
79 1 3
Replicate\Endpoint\Predictions::get()
S
78 1 3
KimaAI\Ai\Replicate::image()
S
72 1 5
Replicate\Endpoint\Models::search()
S
78 1 3