Plugin Management Abilities
Ang Gratis AI Agent v1.5.0 ay may kasamang 7 plugin management abilities na maaaring gamitin ng AI assistant habang nag-uusap. Ang mga abilities na ito ay nagbibigay ng programmatic control sa mga WordPress plugin na naka-install sa pamamagitan ng Plugin Builder & Sandbox System.
Abilities Overview
| Ability | Slug | Description |
|---|---|---|
| List Plugins | list_plugins | Nagbabalik ng listahan ng mga plugin sa sandbox store kasama ang kanilang status. |
| Get Plugin | get_plugin | Kukuha ng metadata at source code para sa isang specific na plugin gamit ang slug nito. |
| Create Plugin | create_plugin | Gumagawa ng bagong plugin mula sa isang description at iniimbak ito sa sandbox. |
| Update Plugin | update_plugin | Pinapalitan ang source code ng plugin ng bagong bersyon. |
| Delete Plugin | delete_plugin | Tinatanggal ang isang plugin mula sa sandbox store. Una itong dine-deactivate. |
| Install Plugin | install_plugin | Ipinapalabas (deploys) ang isang sandboxed plugin sa live WordPress plugin directory. |
| Activate Plugin | activate_plugin | Ina-activate ang isang sandboxed plugin sa wp-env sandbox environment. |
Plugin Installer API
Ang plugin installer naman ang humahawak sa mga operasyon sa file system kapag nagde-deploy o nagtatanggal ng mga plugin. Mga pangunahing pag-uugali nito:
- Path validation: Lahat ng plugin path ay sinusuri (validated) laban sa pinapayagang plugin directory bago mag-write ng anumang file. Hindi papayagan ang mga pagtatangka na mag-traverse ng directory.
- Multi-file install: Ang isang plugin ay maaaring binubuo ng maraming files. Ang installer ay gumagawa ng plugin directory at nagsusulat ng lahat ng files nang sabay-sabay (atomically).
- Update: Pinapalitan ang umiiral na plugin files. Dine-deactivate muna ang plugin bago magsulat para maiwasan ang mga error dahil sa partial-state.
- Delete by slug: Hinahanap ang plugin directory gamit ang slug, dine-deactivate ito sa lahat ng sites, at pagkatapos ay tinatanggal ang directory.
Registering a Custom Install Handler
Maaari kang mag-hook sa install lifecycle gamit ang gratis_ai_plugin_installer_before_install at gratis_ai_plugin_installer_after_install actions:
add_action('gratis_ai_plugin_installer_before_install', function(string $slug, array $files): void {
// $slug: the plugin's directory name
// $files: associative array of relative path => file content
error_log("Installing plugin: {$slug} with " . count($files) . " files.");
}, 10, 2);
add_action('gratis_ai_plugin_installer_after_install', function(string $slug, bool $success): void {
if ($success) {
error_log("Plugin {$slug} installed successfully.");
}
}, 10, 2);